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

Channel:
Subscribers:
59,500
Published on ● Video Link: https://www.youtube.com/watch?v=R-s37P5iBo4



Duration: 51:20
3,334 views
0


Join the Discord: https://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: https://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: https://ambrosiogabe.github.io/
Github: https://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: https://www.gameenginebook.com/
Game Physics Cookbook (Read this before the next physics book): https://www.amazon.com/Game-Physics-Cookbook-Gabor-Szauer/dp/1787123669
Game Physics (Ian Millington): https://www.amazon.com/Game-Physics-Engine-Development-Commercial-Grade/dp/0123819768
Game Programming Patterns (Free): https://gameprogrammingpatterns.com/

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

My Recommended Java Books:
Data Structures/Algorithms: https://www.amazon.com/Data-Structures-Algorithms-Java-6th-ebook/dp/B00JDRQF8C
LWJGL (Free, but I haven't read this thoroughly): https://lwjglgamedev.gitbooks.io/3d-game-development-with-lwjgl/content/







Tags:
gameswithgabe
games with gabe
lwjgl3
jbox2d
box 2d
event system
game engine runtime
how to code editor game engine
editor vs runtime game engine
coding event system
how to use box2d java
hello box2d java
coding an editor in java
game development
how to code a game engine
java game engine
level editor in java
coding a level editor with lwjgl
game engine
how to make a level editor
imgui
lwjgl
java
mario