Adding an Engine Runtime (Play/Stop Buttons) | Coding a 2D Game Engine in Java #39 @GamesWithGabe
Adding an Engine Runtime (Play/Stop Buttons) | Coding a 2D Game Engine in Java #39  @GamesWithGabe
Uploaded December 2020 | Updated September 2026, 3 weeks ago
Join the Discord: discord.gg/4tHeAkxNg7

In this episode we add the play stop button to our game engine's viewport. This consists of many different steps, and I take this time to also refactor some existing code to work better. First we add the play/stop button and hook it up to the event system so that when the user presses the buttons an event is sent through the engine letting it know to play the scene. Next, we refactor the scene class to use an abstract initializer class. This means that when a user uses the game engine they can simply extend this class to use the engine without the editor. After that we create destroy methods for the scene and game objects, this allows us to remove game objects from the scene, renderer and physics engine, and to reset the entire scene so we can load another level. Finally, we hook up a runtime update loop and an editor update loop so that we can execute the correct code path when the game is playing, versus when it is in the editor.

Source Code: github.com/codingminecraft/MarioYoutube/tree/69f043f765f32e494e758b9400f732d2f0c9b004

0:00 Intro
0:38 Integrating 3rd Party Libraries
6:50 Adding the Play Stop Button
8:43 Creating the Play/Stop Game Event
11:18 Registering an Event Handler
13:48 Refactoring the Scene Classes
23:06 Handling the Play and Stop Events
23:54 Destroying the Scene
32:16 Fixing the Save/Load System
36:46 Adding the Runtime Update Loop
43:15 Creating Save Point when Playing in Editor
44:54 Starting the Physics
46:48 Adding Save/Load Menu Bar Buttons
---------------------------------------------------------------------
Website: ambrosiogabe.github.io
Github: github.com/ambrosiogabe

Here are some books I recommend if you want to learn about game engine development more thoroughly. I do not profit off any of these sales, these are just some books that have helped me out :)

My Recommended Game Engine Books:
Game Engine Architecture: gameenginebook.com
Game Physics Cookbook (Read this before the next physics book): amazon.com/Game-Physics-Cookbook-Gabor-Szauer/dp/1787123669
Game Physics (Ian Millington): amazon.com/Game-Physics-Engine-Development-Commercial-Grade/dp/0123819768
Game Programming Patterns (Free): gameprogrammingpatterns.com

My Recommended Beginning Game Programming Books:
JavaScript Game Design: apress.com/gp/book/9781430247166

My Recommended Java Books:
Data Structures/Algorithms: amazon.com/Data-Structures-Algorithms-Java-6th-ebook/dp/B00JDRQF8C
LWJGL (Free, but I haven't read this thoroughly): lwjglgamedev.gitbooks.io/3d-game-development-with-lwjgl/content
Adding an Engine Runtime (Play/Stop Buttons) | Coding a 2D Game Engine in Java #39ImGui Docking in Java LWJGL | Coding a 2D Game Engine in Java #28Why C++ Scares the Crap Out of MeFor Loops | Python For Absolute Beginners #6The Component Pattern | Coding Geometry Dash in Java #4Serialization | Coding Geometry Dash in Java #14ImGui Fonts and Scene Integration | Coding a 2D Game Engine in Java #18How OpenGL Graphics Programming Works | Coding a 2D Game Engine in Java #4Adding Multiplayer, Colored Lights, and More | Coding Minecraft Devlog #2Bitmap Generation | Font Rendering in Java #1Compiler Options & Visual Studio  | C++ For Java Devs Ep. 5Box2D Lite Walkthrough Part 2 | Coding a 2D Physics Engine in Java #17
GamesWithGabe |

Adding an Engine Runtime (Play/Stop Buttons) | Coding a 2D Game Engine in Java #39

SHARE TO X SHARE TO REDDIT SHARE TO FACEBOOK WALLPAPER