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

Published: 03 January 2022
on channel: freeCodeCamp.org
560,405
17k

Learn how to program a 2D game engine from scratch using the Java Programming Language. You will use the game engine to create a Super Mario Clone but the engine can be used to create other games as well.

💻 Code: https://github.com/codingminecraft/Ma...

✏️ Course created by GamesWithGabe. Check out his channel:    / @gameswithgabe  

🎥 Part 2 (final hour of this course):    • Code a 2D Game Engine using Java [Par...  

⭐️ Course Contents ⭐️
⌨️ (00:00:06) Introduction
⌨️ (00:07:54) Setting up the Window with LWJGL
⌨️ (00:25:20) Adding Event Listeners with GLFW
⌨️ (00:51:42) Creating a Scene Manager & Delta Time Variable
⌨️ (01:11:26) How OpenGL Graphics Programming Works
⌨️ (01:32:53) Drawing the First Square
⌨️ (02:02:56) Regexes and Shader Abstraction
⌨️ (02:24:25) Game Camera OpenGL
⌨️ (02:47:47) GLSL Shaders
⌨️ (03:08:45) Texture Loading in LWJGL3
⌨️ (03:36:02) Entity Component System
⌨️ (04:06:25) Batch Rendering in LWJGL3
⌨️ (04:50:00) Resource Management in LWJGL3
⌨️ (05:05:30) Texture Batching
⌨️ (05:38:48) Spritesheets
⌨️ (06:01:12) Dirty Flags in Rendering
⌨️ (06:23:17) Alpha Blending and Z-Indexing
⌨️ (06:38:56) Integrating ImGui
⌨️ (07:01:56) ImGui Fonts and Scene Integration
⌨️ (07:19:43) Serialization with Gson
⌨️ (07:42:48) Deserialization with Gson
⌨️ (08:06:03) Exposing Variables to the Level Editor
⌨️ (08:25:29) Converting Screen Coords to World Coords
⌨️ (08:49:27) Drag 'N Drop Level Editor
⌨️ (09:15:25) Debug Drawing Functions
⌨️ (09:47:35) Snap To Grid Tool
⌨️ (10:10:25) Debug Drawing Boxes and Circles
⌨️ (10:28:58) Framebuffers in OpenGL
⌨️ (10:52:56) ImGui Docking in Java LWJGL
⌨️ (11:11:55) Adding a Game Viewport
⌨️ (11:34:51) Mouse Screen Coordinates to Game Viewport Coordinates
⌨️ (11:50:01) Pixel PERFECT Mouse Picking
⌨️ (12:23:39) Enabling Mouse Picking and Code Maintenance
⌨️ (12:35:16) Editor Camera Controls with Lerp
⌨️ (13:01:48) Coding Gizmos
⌨️ (13:31:03) Translate and Scale Gizmo
⌨️ (14:04:29) Properties Panel
⌨️ (14:33:53) Integrating JBox2D in our Engine
⌨️ (14:54:53) Event System and Box2D Physics
⌨️ (15:19:09) Adding an Engine Runtime (Play/Stop Buttons)
⌨️ (16:10:10) Refactoring and Physics
⌨️ (16:40:28) Font Rendering
⌨️ (16:43:34) Beginning Scene Hierarchy & ImGui Upgrade
⌨️ (17:00:38) Scene Panel Drag & Drop (ImGui)
⌨️ (17:18:31) Even More Bug Fixing
⌨️ (17:44:51) 2D Animations
⌨️ (18:18:29) Sounds with OpenAL
⌨️ (18:44:27) Improving the Editor
⌨️ (19:21:24) How to Use Box2D Physics
⌨️ (20:06:12) Pillbox Colliders and Player Controllers
⌨️ (20:45:32) Variable Length Jumps
⌨️ (21:25:28) Powerups
⌨️ (21:51:52) Goomba AI
⌨️ (22:29:59) Mario Pipes & Editor Improvements
⌨️ (23:01:59) Game Camera & Grid Lines
⌨️ (23:28:28) Mario Turtle AI
⌨️ (   • Code a 2D Game Engine using Java [Par...  ) Adding Flag Poles to Mario
⌨️ (   • Code a 2D Game Engine using Java [Par...  ) Fireballs and Bug Fixes
⌨️ (   • Code a 2D Game Engine using Java [Par...  ) The LAST Episode and Distributing your Game

🎉 Thanks to our Champion and Sponsor supporters:
👾 Raymond Odero
👾 Agustín Kussrow
👾 aldo ferretti
👾 Otis Morgan
👾 DeezMaster

--

Learn to code for free and get a developer job: https://www.freecodecamp.org

Read hundreds of articles on programming: https://freecodecamp.org/news


Watch video Code a 2D Game Engine using Java - Full Course for Beginners online without registration, duration hours minute second in high quality. This video was added by user freeCodeCamp.org 03 January 2022, don't forget to share it with your friends and acquaintances, it has been viewed on our site 560,405 once and liked it 17 thousand people.