Entity Component System | Coding a 2D Game Engine in Java #10

Channel:
Subscribers:
59,400
Published on ● Video Link: https://www.youtube.com/watch?v=HkG8ZdhoXhs



Duration: 30:51
26,862 views
0


Join the Discord: https://discord.gg/4tHeAkxNg7

In this tutorial, I describe the different methods of abstracting game logic into components. Specifically, I go over the Component Pattern as described by Bob Nystrom in GameProgrammingPatterns, data-oriented design, as specified by the article below, and Entity Component System. I give a brief overview of how each of these systems are coded, and then we implement the Component Pattern.

I also describe how to handle the problem of Component communication. The method I use, uses the GameObject as a middleman, that coordinates communication between different components that it contains.

Code for this tutorial: https://github.com/codingminecraft/MarioYoutube/tree/803e66d9a2365dce9faf1a89998fa7b1c48a1e6d

ECS Articles
============
* https://medium.com/ingeniouslysimple/entities-components-and-systems-89c31464240d
* http://gameprogrammingpatterns.com/component.html
I haven't looked through these articles, but it looks like there may be some good resources.
* https://github.com/dbartolini/data-oriented-design

---------------------------------------------------------------------
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/

Outro Music: https://www.bensound.com/royalty-free-music







Tags:
gameswithgabe
games with gabe
lwjgl3
how to code game in lwjgl
ecs
entity component system
data oriented design
entity component pattern
component pattern
game programming patterns
how to code entity component system
how to code component pattern
game engine tutorial
2d game engine tutorial java
how to code game engine in java
game engine
java
tutorial
coding tutorial
game development tutorial java
how to code game in lwjgl3