Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

freeCodeCamp

Code a 2D Game Engine using Java - Full Course for Beginners

via freeCodeCamp

Overview

Learn to program a 2D game engine using Java from scratch. By the end of the course, you will be able to create a Super Mario Clone and other games. The course covers setting up the window, event handling, graphics programming, shaders, texture loading, entity component system, batch rendering, resource management, serialization, and more. The teaching method includes hands-on coding sessions and practical examples. This course is designed for beginners who are interested in game development and programming in Java.

Syllabus

) Introduction.
) Setting up the Window with LWJGL.
) Adding Event Listeners with GLFW.
) Creating a Scene Manager & Delta Time Variable.
) 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 Coordinates.
) 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.

Taught by

freeCodeCamp.org

Reviews

Start your review of Code a 2D Game Engine using Java - Full Course for Beginners

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.