Free Course Image Create a Java Tower Defence game

Free online courseCreate a Java Tower Defence game

Duration of the online course: 14 hours and 9 minutes

New course

Master Java game development with this course and learn to create a Tower Defence game from scratch with immersive hands-on lessons.

In this free course, learn about

  • Core Game Setup and Loop
  • Input Handling and Level Editing Basics
  • UI Bottom Bar and Tile Placement
  • Level Persistence and Editing Scene
  • Tile Rotation and Animation
  • Pathfinding and Enemy Movement
  • Tower Sprites and Placement Rules
  • Combat System and Projectiles
  • Advanced Projectiles, Explosions, and Status Effects
  • Freeze Effects and Wave System
  • Endless Waves and Economy
  • Game State Management and Ending Flow
  • Optimization, Pathfinding 2.0, and Deployment

Course Description

Immerse yourself in the fascinating world of game development with this comprehensive online course designed to teach you how to create a Java Tower Defence game. This 14-hour course guides you through the essentials of Java game development, equipping you with the skills needed to build a fully functional Tower Defence game from scratch.

Begin your learning journey with the initial episodes focusing on game development basics such as image integration, game loops, and input handling. Progress through intermediate topics like level editors, custom buttons, and bottom bar development. These foundational lessons are fundamental as you transition to advanced topics.

As you advance, dive deeper into crucial game development aspects such as loading, saving, and creating files, implementing edit scenes, and managing sprites. The course continues with lessons on rotation, animations, enemy creation, pathfinding, and the art of designing challenging game levels with diverse enemy types and tower placements.

Enhance your game with combat mechanics, deadly projectiles, explosions, and other exciting features that keep players engaged. Discussions on mastering matrix operations, freezing effects, and wave mechanics add depth to your game development skills, offering a thorough understanding of how to design engaging and dynamic gaming experiences.

Cap off your course experience by learning about endless wave challenges, in-game currency handling, selling, upgrading towers, pausing games, and implementing a game over state. Each lesson is crafted to provide hands-on experience and practical coding skills to bring your game ideas to life.

Whether you are a beginner starting your journey in game development or looking to expand your coding prowess, this course offers valuable insights and techniques. Explore the nuances of tower defence game mechanics and learn how to create engaging gameplay that captures and retains player interest.

Course content

  • Video class: Java Game Development TUTORIAL - Episode #01 18m
  • Exercise: Which method must you override in a JPanel to render shapes or sprites for a Java Tower Defence game?
  • Video class: Java Game Development TUTORIAL - Episode #02 - IMAGES 27m
  • Exercise: What window size should you set to display a 20 by 20 grid when each sprite is 32 by 32 pixels?
  • Video class: Java Game Development TUTORIAL - Episode #03 - the GAME LOOP 32m
  • Exercise: In the tower defense game's loop setup, what target Updates Per Second (UPS) ensured consistent game speed?
  • Video class: Java Game Development TUTORIAL - Episode #04 - INPUTS 32m
  • Exercise: How should the game manage and render Menu, Playing, and Settings scenes?
  • Video class: Java Game Development TUTORIAL - Episode #05 - LEVEL EDITOR 20m
  • Exercise: Which component provides the 2D grid of tile IDs used to render the level?
  • Video class: Java Game Development TUTORIAL - Episode #06 - Custom Buttons! 30m
  • Exercise: Fixing inaccurate mouse coordinates in the Swing game menu
  • Video class: Java Game Development TUTORIAL - Episode #07 - Bottom Bar PART 1/2 23m
  • Exercise: Routing mouse events to the bottom bar in the Java Tower Defense UI
  • Video class: Java Game Development TUTORIAL - Episode #07 - PART 2/2 26m
  • Exercise: How do you make the selected tile preview snap to the 32x32 grid while moving the mouse in the Java Tower Defense editor?
  • Video class: Java Game Development TUTORIAL - Episode #08 - LOAD, SAVE and CREATE files - PART 1 / 2 16m
  • Exercise: What is the correct length of the 1D int array to save a 20x20 tile level?
  • Video class: Java Game Development TUTORIAL - Episode #08 - LOAD, SAVE and CREATE files - PART 2 / 2 19m
  • Exercise: Why switch from sc.nextInt to Integer.parseInt(sc.nextLine) when reading level tile IDs?
  • Video class: Java Game Development TUTORIAL - Episode #09 - The EDIT Scene 29m
  • Exercise: Displaying the level in the Editing scene
  • Video class: Java Game Development TUTORIAL - Episode #10 MORE SPRITES 25m
  • Exercise: How do you rotate only the second layer when building a composite sprite from two images?
  • Video class: Java Game Development TUTORIAL - Episode #11 - ROTATION! 32m
  • Exercise: Which UI approach was implemented to handle rotated tiles in the level editor?
  • Video class: Java Game Development TUTORIAL - Episode #12 - ANIMATIONS 24m
  • Exercise: Which approach adds water tile animation with minimal code changes and no tile list bloat?
  • Video class: Java Game Development TUTORIAL - Episode #13 - ENEMY 18m
  • Exercise: Why are enemy positions stored as floats in the Java Tower Defence game?
  • Video class: Java Game Development TUTORIAL - Episode #14 - Pathfinding 37m
  • Exercise: In the Java Tower Defence pathfinding, what change ensured correct turns at corners when the enemy hit a grass edge?
  • Video class: Java Game Development TUTORIAL - Episode #15 - More Enemies 23m
  • Exercise: Handling enemy initial direction for pathfinding
  • Video class: Java Game Development TUTORIAL - Episode #16 - Finishing Pathfinding 20m
  • Exercise: Where can you place the start and end path points in the editor?
  • Video class: Java Game Development TUTORIAL - Episode #17 - Towers - Part #1 13m
  • Exercise: Where should tower sprite images be stored and loaded in the game's architecture?
  • Video class: Java Game Development TUTORIAL - Episode #18 - Towers - Part #2 18m
  • Exercise: How is tower placement restricted to valid tiles in the Java Tower Defence game?
  • Video class: Java Game Development TUTORIAL - Episode #19 - Towers - Part #3 16m
  • Exercise: How is tower placement blocked on an occupied tile?
  • Video class: Java Game Development TUTORIAL - Episode #20 - Combat - Part #1 14m
  • Exercise: Which properties should each tower define to enable basic combat functionality?
  • Video class: Java Game Development TUTORIAL - Episode #21 - Combat - Part #2 13m
  • Exercise: In a Java Tower Defense game, how should you compute the enemy health bar width so it shrinks with damage?
  • Video class: Java Game Development TUTORIAL - Episode #22 - Combat - Part #3 15m
  • Exercise: Why should the tower range circle be drawn with width and height doubled?
  • Video class: Java Game Development TUTORIAL - Episode #23 - Deadly Projectiles! 26m
  • Exercise: How are projectile xSpeed and ySpeed calculated to aim toward an enemy at any angle?
  • Video class: Java Game Development TUTORIAL - Episode #24 - Mastering the Matrix! 13m
  • Video class: Java Game Development TUTORIAL - Episode #25 - Explosions! 25m
  • Exercise: Implementing AOE bomb damage and explosion handling
  • Video class: Java Game Development TUTORIAL - Episode #26 - Freeze! 09m
  • Exercise: How is a temporary slow effect and its visual indicator best implemented for enemies in a Java Tower Defense game?
  • Video class: Java Game Development TUTORIAL - Episode #27 - Waves! 19m
  • Exercise: In the wave system, what is the simplest way to represent a wave's enemies for spawning?
  • Video class: LEARN HOW TO make a GAME - TOWER DEFENCE in JAVA - 2021 00m
  • Exercise: What is typically the first step when starting the Java tower defense game project?
  • Video class: Java Game Development TUTORIAL - Episode #28 - ENDLESS of WAVES 28m
  • Exercise: Transitioning to the next wave in a Java Tower Defense game
  • Video class: Java Game Development TUTORIAL - Episode #29 - MONEY! 27m
  • Exercise: How is passive gold generation implemented in the Java tower defense economy
  • Video class: Java Game Development TUTORIAL - Episode #30 - SELL and UPGRADE towers! 30m
  • Exercise: When selling an upgraded tower, how is the gold refund calculated?
  • Video class: Java Game Development TUTORIAL - Episode #31 - Game Paused! 12m
  • Exercise: How should the Pause button toggle the game state in the Java Tower Defense game?
  • Video class: Java Game Development TUTORIAL - Episode #32 - GAME OVER! 29m
  • Exercise: What is the correct way to implement Replay after Game Over in a Java Tower Defense game
  • Video class: Java Game Development TUTORIAL - THE END! 06m
  • Exercise: Preventing Immediate Wave Spawn in Java Tower Defense
  • Video class: Java Game Development TUTORIAL - BONUS #01 06m
  • Exercise: Reusing Projectiles to Prevent List Growth
  • Video class: Pathfinding 2.0 - BONUS Episode #02 - Java Game Development 47m
  • Exercise: In a Java tower defense game, what is the main advantage of precomputing a road direction array for pathfinding?
  • Video class: How To Make a Runnable Jar in Eclipse for Java - Bonus #3 14m
  • Exercise: Running the Tower Defence game outside the IDE: how should you handle the level file path?

This free course includes:

14 hours and 9 minutes of online video course

Digital certificate of course completion (Free)

Exercises to train your knowledge

100% free, from content to certificate

Ready to get started?Download the app and get started today.

Install the app now

to access the course
Icon representing technology and business courses

Over 5,000 free courses

Programming, English, Digital Marketing and much more! Learn whatever you want, for free.

Calendar icon with target representing study planning

Study plan with AI

Our app's Artificial Intelligence can create a study schedule for the course you choose.

Professional icon representing career and business

From zero to professional success

Improve your resume with our free Certificate and then use our Artificial Intelligence to find your dream job.

You can also use the QR Code or the links below.

QR Code - Download Cursa - Online Courses

More free courses at Game development

Download the App now to have access to + 3300 free courses, exercises, certificates and lots of content without paying anything!

  • 100% free online courses from start to finish

    Thousands of online courses in video, ebooks and audiobooks.

  • More than 48 thousand free exercises

    To test your knowledge during online courses

  • Valid free Digital Certificate with QR Code

    Generated directly from your cell phone's photo gallery and sent to your email

Cursa app on the ebook screen, the video course screen and the course exercises screen, plus the course completion certificate

+ 9 million
students

Free and Valid
Certificate

60 thousand free
exercises

4.8/5 rating in
app stores

Free courses in
video and ebooks