💾 Archived View for tlalice.cities.yesterweb.org › thoughts › enginelessgamedev.gmi captured on 2024-12-17 at 09:35:05. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
whenever the topic of game engines and not using them comes up in game dev spaces im in i always a few talking points rising up that, as someone who has been developing games without use of game engines for over two years and used to use godot before then, i heavily disagree with. so here's my arguments against them. but first:
i am not trying to argue that no one should use a game engine or that game engines are bad. the main thing i believe in is that these are just different workflows that are going to work differently for different people, and everyone should use whatever workflow and tooling they feel like using. i just feel like the engineless workflow specifically is one that a lot of people fearmonger about as being bad or not worth it. i imagine it's just a matter of a "if it doesn't work for me then it should not work for anyone else" mindset. there's definitely also a lot of bad takes of the "you should NEVER use a game engine" variety, but those are far less common in my experience.
i think of game development tools in 4 levels of abstraction:
when i refer to engineless game development, i am exclusively talking about not using engines as defined above. if you think of it as making games 'entirely from scratch', with no use of anything beyond what your computer and operating system can give you, then yeah i think a lot of my arguments hold *less* weight, but still not none.
now that my definitions of what is or isn't an engine and engineless are hopefully clear, onto the arguments:
this is technically true, but the reason why it's true is that making games in general takes a long time, in my experience both of making my games and of observing other people's game-making, most of the time spent on a game project is on writing the systems that are specific to your game regardless of your pre-existing tools. and for most indie games, structuring your game around the way those systems expect you to work can be just as, if not more time-consuming than building those systems from scratch in a way thats tailor-suited for your specific needs and your specific game.
the first half is, again, technically true, due to the fact that making games in general is hard. but i do not see any reason to think that making them without an engine is any harder than with one. like in the previous argument, i believe that the actual hard parts of game development are the ones that are going to be very specific to your game. i.e. your player controller, weapon system, trading interface, level handling, etc....
the core concept of game engines is generalization. while sure, Unity might have a faster general physics engine capable of handling whatever collision shapes and materials you throw at it, does your game need any of that? for most games, spheres, capsules or aabbs (2D or 3D) with simple collision detection, implicit euler integration and specific collision detection methods for your chosen shape will already do what you need (possibly even better than the full physics engine since you have tighter control over the parameters of the system) with better perfomance since you do not need it to fully generalize to any possible situation. the same is true of most systems. the more specific they are, the less work they need to do, and since the purpose of general-purpose engines is to generalise, they do a lot more work than is needed for most games.
(i see this one quoted in almost this exact way so often that i think it's probably a quote from someone, no idea who tho?)
this one is kinda really annoying to me because it is good advice but not in the way that the anti-engineless people use it. when i make games without an engine, i am just making a game, not making an engine. the engine arises naturally from the systems i need and create with time. to me the core of the quote is that. if you want to make a game you should create the systems that you need as you need them for your game, instead of building systems and only then attempting to build a game on top of those systems. and that advice is good both for engineless and engineful development. and i think that that quote is a good example of what i think is the core falsehood that people who don't do engineless dev is:
hyperbolized because funnies, but that's kinda the core idea i see from a lot of people who mock and scorn the idea of engineless development. i think it comes from just having a really limited idea of how game dev workflows can be. that because their workflow is limited to what their engine of choice provides, then that must be [the] workflow, and doing gamedev engineless then sounds like, instead of just an alternate way of making games, just adding one massive step before you're capable of following [the] workflow.
the only valid reason for using a game engine is if you want to use a game engine
the only valid reason for not using a game engine is if you don't want to use a game engine
do whichever one you feel like doing and don't let people discourage you from doing it over fearmongering about efficiency and difficulty.