298 Followers
·
Follow

Finally some code

This post is part of a series where I’m documenting my experience building an ECS game engine from scratch. Check out the homepage for this project for more posts, information, and source code.

Image for post
Image for post
It really is that simple!

As promised, I’ve built a barebones version of the Nomad game engine to share as an example built upon the blog posts in the series. I’ve also put it up as a conan package, which should allow for easier prototyping using the entity component system engine.

I was a bit hesitant to release code in the first place — I’m worried that having code will lead to people skipping over the blog posts and just copying the code from the repo. At the end of the day people are likely doing this anyway, so for the many of you who emailed asking for snippets of source code, here it all is in full glory! …


Image for post
Image for post

If you were worried that I’d leave the topic here, fret not! I’ve still got a lot of goals with both my game engine and this series.

Fleshed-out examples

Image for post
Image for post
The first game I go over in the blog posts will likely be our space shooter

Many ECS explanations online (including mine!) tend to explain simplified concepts that make composition seem like the easiest and most logical design pattern ever. Unfortunately, when it comes to actually implementing even a simple game, the devil is often in the details and ECS design can quickly become difficult to reason about.

To try to combat this, I’m in the process of creating an open source and simplified version of Nomad to accompany this series. The goal here isn’t performance (although it might come up), but instead to conquer the more difficult conceptual challenges with game design using ECS. …


This post is part of a series where I’m documenting my experience building an ECS game engine from scratch. Check out the homepage for this project for more posts, information, and source code.

Image for post
Image for post
Current state of Nomad (debug mode)

If you’ve made it this far in the series, well done! At this point I’ve covered everything that I think is necessary to start playing around building an ECS for yourself.

As I’ve stated before, my goal with this series was to fill a perceived lack of intermediate-level explanations of how to build an ECS — while building my own. I’m sure a lot of it could be explained better, and if there’s any confusion anywhere don’t hesitate to either shoot me an email (niko@savas.ca) …

About

Niko Savas

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store