MRMCD 2025

ECS not just for games
13.09.2025 , C110 - Kleine Anfrage
Language: English

Entity Component System. It's something in game engines, right?
But what does it actually do?

I'll explain what Entities, Components, and Systems are good for, and I'll show with the Bevy ECS how to use it outside of games.


When I first used Bevy, everything clicked into place. All the game engines I fiddled with before - I felt like I was fighting them. Bevy worked with me.
I think it's because it used the ECS architecture which is pretty much unused outside of games.

Recently, I've been working on Wayland again, and I felt a similar frustration as with game engines. Could an ECS help writing software that is not a game? As of filing the proposal, the jury is still out.

ECS differs from object-oriented coding in that it makes all state global. Say goodbye to trying to find the right getter. The data is yours to manipulate.
At the same time, mindblowingly, it allows parallel, race-free accesses!
But if you're not careful, debugging can be a mess.

How does ECS do all that? Come and learn.

Currently working to make Wayland work for mobile typing and CJK languages (input methods).
A hundred personal projects always going on.

My website: dorotac.eu

Mastodon: @dcz@fosstodon.org