Skip to content
0:00 / 0:00

#bobnystrom#entitycomponentsystem#ecs

Bob Nystrom - Is There More to Game Architecture than ECS?

Roguelike Celebration

16K subscribers • 2 videos on Hallway

YouTube
  • Recommended by 4 people: 3 on Hacker News and 1 curated list.
  • A classic. People kept recommending it from 2020 to 2026.
  • Presented by Bob Nystrom
  • May be out of date. Uploaded 8 years ago, in an area where tools change fast.
  • An opinion. It argues one side of a question engineers disagree on.

Intermediate. Assumes working knowledge.

301K views8 years ago4 recommendations

Game developmentSoftware designGame programmingSoftware architectureDesign patterns

Bob Nystrom explores alternative software architectures for games, questioning whether Entity Component Systems are always the right choice.

Talk from the Roguelike Celebration 2018 - roguelike.club

Why it's here

4 people recommend this

What people say. Recommended as a thoughtful critique of ECS and a guide to alternative architectures for turn-based games like roguelikes.

programming-talkscurated list on GitHubRecommends

Under “Game Development”

Is There More to Game Architecture than ECS? 00:23:05 by **Bob Nystrom** (2018)

hu3on Hacker News • Recommends

On “An Introduction to Data Oriented Design with Rust”

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: link to this video

halvnykteriston Hacker News • Recommends

On “Hands-On Rust: Effective Learning Through 2D Game Development and Play”

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: link to this video

marcingason Hacker News • Recommends

On “Xs of Y – roguelike that names itself every run. Written in 4kLoC”

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: link to this video Tbh the whole channel is a gold mine of inspiration. Also check: link

u/Squee-zin r/gameenginedevs • Mentions

Game engine architectures I know of a couple of architectures, with varying implementations, but I want to know if y'all have some other ones that are pretty niche Here the ones I know of: ECS: a classic entity component system in which you have objects which contain components that have varying behaviours. Node and Scene Architecture: Like how it's in the Godot engine you can use nodes to make your games and scenes to group those nodes together. Each node can be something like a node that controls animation, a node that renders a mesh, or a scene that shows a bunch of nodes that makes up your player UI. Entity action based architecture: this was talked about in [Bob nystrom's video on…

Rd6n6on Hacker News • Mentions

On “Unity patents ECS”

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 link to this video Edit: letsInvalid in another thread above linked to an article from 2013: link

illiarianon Hacker News • Mentions

On “Flecs – A fast entity component system for C and C++”

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": link to this video (Yes, Robert Nystrom of Game Programming Patterns and Crafting Interpreters )

Xeamekon Hacker News • Mentions

On “Murder is a pixel art ECS game engine in C#”

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: link to this video

sunrunneron Hacker News • Mentions

On “Langjam Gamejam: Build a programming language then make a game with it”

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 link to this video

u/balheruin r/compsci • Mentions

On “What is Object Oriented programming actually used for?”

link to this video link to this video I mean, you can program in a data driven design in c++ if you feel like it. As was discussed in other threads, you can do ECS. Edit: I don't know it seems to me that the general consensus from. The state of the art is that, OOP is just not well suited for video games.

u/gurugeek42in r/C_Programming • Mentions

On “Best game framework/engine for c (or c++)”

I'll second others saying Raylib but also add Flecs as an ECS framework (if your game becomes complex enough to warrant the extra fuss of using ECS).

u/Timberfistin r/C_Programming • Mentions

On “What to get into after C?”

Robert Nystrom is always good for inspiration. How about an interpreter (https://craftinginterpreters.com/), a game (https://gameprogrammingpatterns.com/), or a rogue-like (link to this video