All Articles

Gamedev.js workshop about ECS

A few days ago, on Saturday December 21st, I’ve helped organize Gamedev.js workshop where Michał Budzyński and Staś Małolepszy did really cool intro to the Entity Component System using Breakout game’s source code as an example.

Michał Budzyński and Staś Małolepszy leading Gamedev.js workshop about ECS

We’ve met at Stacja Wiedzy in Warsaw, and spent the whole day there. The plan assumed the first edition of the workshop will be small, so we limited the number of participants to only eight people. Michał and Staś wanted to battle-test the workshop material on a smaller-than-usual group, and I think it went really smooth.

Beside being there as the co-organizer (and a photographer), I also wanted to be a participant - to code and learn. The ECS pattern was new to me, so switching from ”how to do things in Phaser” took a bit, but I think I did get the point of why it’s an interesting option to try in your own project.

The code we’ve written was simple and elegant, and straight to the point. We’ve operated on the data directly, and didn’t need many lines of code to write extra fuctionalities.

It’s interesting to mention that Backcountry, a game submitted to js13kGames 2019 by Michał and Staś, was one of their games written using the ECS pattern. Because of how it structures the code, ECS is a great fit for size-limited competitions.

Given the initial feedback, I think we can expect more editions of this particular workshop at the beginning of next year. There might be more topics from the duo too, particularly 3D and VR, since they mentioned this at the end of the day answering questions about the plans for the future.