drmelon

all chosters chost chosts

gamedev (snolf romhack) πŸ‰ music πŸ‰ interactive fiction πŸ‰ pyjama elemental πŸ‰ nonbinary pan πŸ‰ πŸ’œ @leafcodes

@drmelon@mastodon.gamedev.place


superfunc
@superfunc

Thinking on what causes a disconnect between the framework (sdl2, love2d, monogame) enjoyers and the big-box engine enjoyers, specifically when talking about making your own "engine" is this:

Most people I know rolling their own engine (myself included) do so in a super vertical way, building out just the pieces they need in a style that fits the way they want to program. From the big box users perspective, they see this huge monolith program, impossible to recreate, which is true! But that's not what most of us are doing. When things are written with 1% of the constraints+features, and .00001% of the userbase, they are significantly easier to write and maintain. Moreover, the need for being aesthetically pleasing, or even particularly intuitive to the general user can go out the window, further speeding up time to build.

Additionally, many of the framework enjoyers will not build everything from scratch, they'll grab a collision system from here (box2d), a model importer from here (tinygltf), an ecs from here (tinyecs), and so on, stringing them together under one umbrella.

Platform layer things are also typically handled by frameworks like SDL2/Love2d/FNA, so while an input system is probably being written by these devs, its a much thinner shim library than you might be imagining.

I think using a big-box engine like Unreal is reasonable, so in no way am I telling you not to, this is just trying to lend a little perspective from the other side of the fence and maybe make us seem slightly less insane.


You must log in to comment.

in reply to @superfunc's post:

One of the best things about doing your own thing is not bothering with anything you're not going to use right then.
When I was first trying to figure out game stuff, everyone kept saying you needed an engine and I kept thinking "but how is that different than the files it needs to run, which I know how to write?" (I'm autistic, sometimes it takes me a bit to figure out where a conceptual mismatch has occurred.) And the answer is, that's all it is! Plus any tools that make your personal workflow easier or more pleasant. An engine is a concept, not necessarily an entity.