If you really want to understand game development, consider coding your own game engine.

We just published a 25-hour course on the freeCodeCamp.org YouTube channel that will teach you how to code your own 2D game engine using Java.

You will use the game engine to create a Super Mario Clone but the engine can be used to create other games as well.

super-mario-video-game

Here are all the sections in the comprehensive course:

  • Setting up the Window with LWJGL
  • Adding Event Listeners with GLFW
  • Creating a Scene Manager & Delta Time Varia
  • How OpenGL Graphics Programming Works
  • Drawing the First Square
  • Regexes and Shader Abstraction
  • Game Camera OpenGL
  • GLSL Shaders
  • Texture Loading in LWJGL3
  • Entity Component System
  • Batch Rendering in LWJGL3
  • Resource Management in LWJGL3
  • Texture Batching
  • Spritesheets
  • Dirty Flags in Rendering
  • Alpha Blending and Z-Indexing
  • Integrating ImGui
  • ImGui Fonts and Scene Integration
  • Serialization with Gson
  • Deserialization with Gson
  • Exposing Variables to the Level Editor
  • Converting Screen Coords to World Coords
  • Drag 'N Drop Level Editor
  • Debug Drawing Functions
  • Snap To Grid Tool
  • Debug Drawing Boxes and Circles
  • Framebuffers in OpenGL
  • ImGui Docking in Java LWJGL
  • Adding a Game Viewport
  • Mouse Screen Coordinates to Game Viewport C
  • Pixel PERFECT Mouse Picking
  • Enabling Mouse Picking and Code Maintenance
  • Editor Camera Controls with Lerp
  • Coding Gizmos
  • Translate and Scale Gizmo
  • Properties Panel
  • Integrating JBox2D in our Engine
  • Event System and Box2D Physics
  • Adding an Engine Runtime (Play/Stop Buttons
  • Refactoring and Physics
  • Font Rendering
  • Beginning Scene Hierarchy & ImGui Upgrade
  • Scene Panel Drag & Drop (ImGui)
  • Even More Bug Fixing
  • 2D Animations
  • Sounds with OpenAL
  • Improving the Editor
  • How to Use Box2D Physics
  • Pillbox Colliders and Player Controllers
  • Variable Length Jumps
  • Powerups
  • Goomba AI
  • Mario Pipes & Editor Improvements
  • Game Camera & Grid Lines
  • Mario Turtle AI
  • Adding Flag Poles to Mario
  • Fireballs and Bug Fixes
  • The LAST Episode and Distributing your Game

Watch the full course below or on the freeCodeCamp.org YouTube channel (25-hour watch).