Post

a thing that makes game engines interesting is that the best engine for a game is one made exactly for it, but the best engine for prototyping and experimenting with a game is one that assumes as little as possible about it.

it feels like there are big game engines that make very few assumptions (unity, unreal, godot) and ones that make many large assumptions (rpg maker, adventure game studio, renpy) but it really feels like for me the sweet spot is in the middle and has little representation

and i think this is for a reason—that this type of engine is much harder to design. i don’t have time to pursue engine design for the foreseeable future but i feel like, given time and collaboration, this would be such a wonderful tool for developers

maybe somewhat surprising people: i think ECS engines might eventually be the way to accomplish this. but what i am envisioning and how i am envisioning a dev working with them is likely not what your experience using an existing one has been

a lot of (even my own) ECS criticism comes down to how difficult prototyping and iterating can be, how because of their architectural and code-first nature, the experimental phase of development is handicapped

but unlike many versions of this critic i see, i can imagine ECS overcoming this hurdle. an engine we could play with and experiment with game ideas quickly and iteratively, but was always in a state of stable, organized, error-proof, and optimal code

all the goodies ECS brings: parallelism, serializability, observability, structure—but with a comfortable way to iterate on our experimental layer and promote our early code into our release code, all the while unhindering artists and designers using it

and i mean like this is easy to say, but very hard to make. but it feels like folks believe it’s impossible and i just don’t really buy that. that’s loser thinking.

0 reposts9 likes

anyway godot and bevy are the two coolest large-scale “general” game engine projects right now by a landslide, and it’s been fun following their development