Bob Nystrom - Is There More to Game Architecture than ECS?
Roguelike Celebration3 HN recommenders · recommended in 3 months, 2020–2026
talk · intermediate · evergreen · 2020–2026 on HN
Bob Nystrom, author of Game Programming Patterns, gives a Roguelike Celebration 2018 talk questioning whether entity component systems are the only way to structure a game. He walks through alternative architectures drawn from roguelike development.
HN commenters cite it as a level-headed counterpoint to ECS zealotry and a good intro to game architecture beyond ECS.
Up next
12 mo on HNLexical Scanning in Go - Rob Pike
GoogleFOSSSydney
13 HN recommender · 2012–2025
8 mo on HNFailing to Fail: The Spiderweb Software Way
GDC Festival of Gaming
11 HN recommender · 2018–2025
10 mo on HNOverwatch Gameplay Architecture and Netcode
GDC Festival of Gaming
16 HN recommender · 2019–2025
9 mo on HNRustConf 2018 - Closing Keynote - Using Rust For Game Development by Catherine West
Rust Programming Language
9 HN recommender · 2018–2023
9 mo on HNA Deep Dive into Nanite Virtualized Geometry
SIGGRAPH Advances in Real-Time Rendering
7 HN recommender · 2021–2026
9 mo on HNHow Crash Bandicoot Hacked The Original Playstation | War Stories | Ars Technica
Ars Technica
13 HN recommender · 2020–2026
9 mo on HNJonathan Blow - How to program independent games - CSUA Speech
Alexandre Franco
9 HN recommender · 2015–2026
9 mo on HNIdeas about a new programming language for games.
Jonathan Blow
7 HN recommender · 2014–2025
7 mo on HNExploring the Tech and Design of Noita
GDC Festival of Gaming
7 HN recommender · 2020–2026
8 mo on HNCasey Muratori – The Big OOPs: Anatomy of a Thirty-five-year Mistake – BSC 2025
Better Software Conference
11 HN recommender · 2025–2026
7 mo on HNMiguel de Icaza: Swift Godot: Fixing the Multi-million dollar mistake #GodotCon2023
Godot Engine
6 HN recommender · 2023–2026
7 mo on HNQuakeCon 2012 - John Carmack Keynote
QuakeCon Official
6 HN recommender · 2012–2018
7 comments from Hacker News
I'd say don't immediately go into making an ECS and don't sweat about perf too much. You can totally do this in any programming language. This is a good talk about roguelike software design in general: ▶ this video Tbh the whole channel is a gold mine of inspiration. Also check: link
I can't help but be heavily skeptical of approaches to a (traditional) roguelike that use ECS. The idea is very entrenched in the rust gamedev community, but for a turn based tile based game there's extremely little benefit and a lot of added complexity. Bob Nystrom has an excellent talk on roguelike architecture [0] and rust as a language itself doesn't prevent any of these approaches. If anything, the existence of sum types as enums make many of them all the more powerful. [0]: ▶ this video
This is known and heavily used by the game industry for a long time now. Ultimately it comes down to data locality and there's no silver bullet. Performance varies with your data access pattern and code must be adapted to keep caches as warm as possible. There are also maintainability trade-offs. In general I'd advise this kind of optimization only for performance-critical code like games. For more information on how game development approaches this, read about Entity Component Systems. Here's a good start: ▶ this video
The crossover of language design/implementation and game development made me assume this was either a Jonathon Blow (Jai, Braid, The Witness) or Bob Nystrom project (Game Programming Patterns, Crafting Interpreters, 'Is There More to Game Architecture than ECS?' [1]). Either way, given the time constraints and requirements I'm expecting a lot of text adventures and rogue-likes. [1] ▶ this video
Since engine is targetting pixel art, isn't ECS a bit of an overkill...? And yes, technically artstyle has nothing to do with game architecture. But in practice, most games of this style are pretty small, and thus don't really have any real performance requirements, so ecs'ing everything is overengineering compared to oop-style, coupled architecture, no? Also related: ▶ this video
I've also seen a few game devs saying ECS are useless in quite a few situations (or, at least, a very zealous adherence to ECS). I guess it's one of those things that you don't know until you try (and hit the limits of using or not-using one). I'm also reminded of Robert Nystrom's "Is There More to Game Architecture Than ECS": ▶ this video (Yes, Robert Nystrom of Game Programming Patterns and Crafting Interpreters )
Isn’t there a ton of prior art? I’ve seen tech talks about ecs implementations for years. From the top of my head, here’s a great tech talk about overwatch. link Here’s a tech talk by Bob Nystrom (the game programming patterns guy) that mentions ecs from years ago ▶ this video Edit: letsInvalid in another thread above linked to an article from 2013: link