{"guid":"6e30f5a3-c5f3-5a61-9504-cff151e9db81","title":"ECS not just for games","subtitle":null,"slug":"2025-510-ecs-not-just-for-games","link":"https://talks.mrmcd.net/2025/talk/U87GK7/","description":"Entity Component System. It's something in game engines, right?\nBut what does it actually do?\n\nI'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.\n\nWhen 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.\nI think it's because it used the ECS architecture which is pretty much unused outside of games.\n\nRecently, 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](https://codeberg.org/dcz/flooshon).\n\nECS 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.\nAt the same time, mindblowingly, it allows parallel, race-free accesses!\nBut if you're not careful, debugging can be a mess.\n\nHow does ECS do all that? Come and learn.\n\nhttps://creativecommons.org/licenses/by-sa/4.0/","original_language":"eng","persons":["DorotaC"],"view_count":182,"promoted":false,"date":"2025-09-13T19:40:00.000+02:00","release_date":"2025-09-13T00:00:00.000+02:00","updated_at":"2026-04-14T22:45:06.742+02:00","tags":["510","2025","mrmcd25","C110 - Kleine Anfrage","mrmcd25-eng","Darmstadt","mrmcd25","Day 2"],"length":1605,"duration":1605,"thumb_url":"https://static.media.ccc.de/media/conferences/mrmcd/mrmcd25/510-6e30f5a3-c5f3-5a61-9504-cff151e9db81.jpg","poster_url":"https://static.media.ccc.de/media/conferences/mrmcd/mrmcd25/510-6e30f5a3-c5f3-5a61-9504-cff151e9db81_preview.jpg","timeline_url":"https://static.media.ccc.de/media/conferences/mrmcd/mrmcd25/510-6e30f5a3-c5f3-5a61-9504-cff151e9db81.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/conferences/mrmcd/mrmcd25/510-6e30f5a3-c5f3-5a61-9504-cff151e9db81.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/2025-510-ecs-not-just-for-games","url":"https://api.media.ccc.de/public/events/6e30f5a3-c5f3-5a61-9504-cff151e9db81","conference_title":"MRMCD 2025 - Volle Transparenz","conference_url":"https://api.media.ccc.de/public/conferences/mrmcd25","related":[],"recordings":[{"size":248,"length":1605,"mime_type":"video/webm;codecs=av01","language":"eng","filename":"mrmcd25-510-eng-ECS_not_just_for_games_av1-hd.webm","state":"new","folder":"av1-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2025-09-13T23:01:56.592+02:00","recording_url":"https://cdn.media.ccc.de/events/mrmcd/mrmcd25/av1-hd/mrmcd25-510-eng-ECS_not_just_for_games_av1-hd.webm","url":"https://api.media.ccc.de/public/recordings/90987","event_url":"https://api.media.ccc.de/public/events/6e30f5a3-c5f3-5a61-9504-cff151e9db81","conference_url":"https://api.media.ccc.de/public/conferences/mrmcd25"},{"size":16,"length":1605,"mime_type":"audio/opus","language":"eng","filename":"mrmcd25-510-eng-ECS_not_just_for_games_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2025-09-13T22:33:14.844+02:00","recording_url":"https://cdn.media.ccc.de/events/mrmcd/mrmcd25/opus/mrmcd25-510-eng-ECS_not_just_for_games_opus.opus","url":"https://api.media.ccc.de/public/recordings/90983","event_url":"https://api.media.ccc.de/public/events/6e30f5a3-c5f3-5a61-9504-cff151e9db81","conference_url":"https://api.media.ccc.de/public/conferences/mrmcd25"},{"size":24,"length":1605,"mime_type":"audio/mpeg","language":"eng","filename":"mrmcd25-510-eng-ECS_not_just_for_games_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2025-09-13T22:26:55.517+02:00","recording_url":"https://cdn.media.ccc.de/events/mrmcd/mrmcd25/mp3/mrmcd25-510-eng-ECS_not_just_for_games_mp3.mp3","url":"https://api.media.ccc.de/public/recordings/90980","event_url":"https://api.media.ccc.de/public/events/6e30f5a3-c5f3-5a61-9504-cff151e9db81","conference_url":"https://api.media.ccc.de/public/conferences/mrmcd25"},{"size":307,"length":1605,"mime_type":"video/webm","language":"eng","filename":"mrmcd25-510-eng-ECS_not_just_for_games_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2025-09-13T23:23:27.102+02:00","recording_url":"https://cdn.media.ccc.de/events/mrmcd/mrmcd25/webm-hd/mrmcd25-510-eng-ECS_not_just_for_games_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/90994","event_url":"https://api.media.ccc.de/public/events/6e30f5a3-c5f3-5a61-9504-cff151e9db81","conference_url":"https://api.media.ccc.de/public/conferences/mrmcd25"},{"size":75,"length":1605,"mime_type":"video/webm","language":"eng","filename":"mrmcd25-510-eng-ECS_not_just_for_games_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2025-09-13T23:21:19.492+02:00","recording_url":"https://cdn.media.ccc.de/events/mrmcd/mrmcd25/webm-sd/mrmcd25-510-eng-ECS_not_just_for_games_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/90993","event_url":"https://api.media.ccc.de/public/events/6e30f5a3-c5f3-5a61-9504-cff151e9db81","conference_url":"https://api.media.ccc.de/public/conferences/mrmcd25"},{"size":109,"length":1605,"mime_type":"video/mp4","language":"eng","filename":"mrmcd25-510-eng-ECS_not_just_for_games_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2025-09-13T22:36:58.358+02:00","recording_url":"https://cdn.media.ccc.de/events/mrmcd/mrmcd25/h264-sd/mrmcd25-510-eng-ECS_not_just_for_games_sd.mp4","url":"https://api.media.ccc.de/public/recordings/90984","event_url":"https://api.media.ccc.de/public/events/6e30f5a3-c5f3-5a61-9504-cff151e9db81","conference_url":"https://api.media.ccc.de/public/conferences/mrmcd25"},{"size":471,"length":1605,"mime_type":"video/mp4","language":"eng","filename":"mrmcd25-510-eng-ECS_not_just_for_games_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2025-09-13T21:54:02.669+02:00","recording_url":"https://cdn.media.ccc.de/events/mrmcd/mrmcd25/h264-hd/mrmcd25-510-eng-ECS_not_just_for_games_hd.mp4","url":"https://api.media.ccc.de/public/recordings/90966","event_url":"https://api.media.ccc.de/public/events/6e30f5a3-c5f3-5a61-9504-cff151e9db81","conference_url":"https://api.media.ccc.de/public/conferences/mrmcd25"}]}