I’ve been asking around, trying to find out why people avoid game engine development. There are a lot of misconceptions and concerns that can be easily addressed. So why don’t you give it a go?
Content
0:00 Introduction
1:30 Getting Into The Right Mindset
2:53 Time It Takes To Develop
4:12 Technical Knowhow Needed
5:43 Comparisons Against Pre-established Engines
source
20 comments
BTW if no one will try to develop an engine, who will maintain existing ones?
But, for the most part game devs should spend their limited time making games.
Like, do you think a painter makes any kind of gain from making their own paint and paint brushes? Or a chief farming their own food? Or what if a Youtuber had to first invent a camera?
Its meaningless unfortunately, because with limited time, one shouldn't reinvent the wheel unless doing so is necessary for a specific game concept unachievable otherwise. A unique camera for a special shot. A rare ingredient. Or some special paint or way to apply it.
Spend the time making those to get the game you need. But lotd of people just...training themselves to make the same features that already exist elsewhere but optimized doesn't serve most peoples time.
1- Make a game engine if engines are your main passion
2- Make exactly what you need for the game you can't make otherwise.
Those are the only reasons to do this as a game dev. Otherwise game devs should...dev games instead.
The biggest reasons beyond time and skill that people shouldn't do this, is necessity. People do not need to do this 99% of the time. Rare edge cases like Dwarf Fortress or Noita, or some other game designed different...require this. But most every other game can just be made in existing tools. So why learn blacksmithing to make a lesser version of the same knife you can buy at the grocery store? Just to cut a tomato?
There isn't a valid reason in almost every case. That's why they keep saying don't do it.
If game engines are just your thing though, this is a good video introducing them.
But if someone really just want to make great games, this is a bad way of going about it.
Saying that you shouldnt compare to games made in other game engines is as stupid as Godot developers saying they dont compete with Unity or Unreal. Total bs lol
There is no need for a custom game engine unless you really want to optimize or need a specific featureset, just like Scrap Mechanic or Noita.
Yeah, sometimes pre-existing codebases suck. It's only when they impede my progress enough that I think "I could do better" do I consider something else. And there's enough options out there, I always look for some other codebase. Necessity is the mother of invention, and I've just not found it necessary to write my own.
i would rather get some actual results i can play, share, and live of, compared to a open source project, which only a few people know, and which cant be profitted off.
ok, you can create your own linux from scratch, your own cpu from scratch, your own game engine from scratch, but it is really worth it?
if you enjoy spending your time on this, you're welcome.
i personally dont, i prefer getting useful results, which are indeed, worth my time.
Taken to the extreme, you could just take the game object/transform system, entity-component system, all of the convenient editor tools (hierarchy, inspector, scene/game view, etc.), and maybe the renderer, and write custom scripts for everything else. Handling all the editor tooling and file i/o for scenes from scratch, even if you're using something like ImGUI, is a pain (speaking from experience), so I can see why not everyone would want to invest that time.
Making a game engine, you can choose which features you want to add by scoping games accordingly, but you can likewise choose to be selective and exclude features that you wish to use from an existing engine if your game requires something different. In essence, you're building out your own "subengine" within the more general purpose engine that is tailored to the games that you want to make.
2D is pretty trivial. People wrote 2D games in a week with Commodore BASIC. You aren't going to get the most basic 3D features you get with Bevy—things like lighting, collisions, or rendering methods that allow your game to run at more than 3fps—unless you spend several months implementing all the 3D stuff in Bevy.
I have no interest in agriculture, farming, harvesting.etc
As a beginner, this will misguide game developers into thinking they have to do everything themselves, and instead of taking a week learning the basics of an existing engine, they'll spend a month reinventing the wheel and learning unrelated knowledge without getting any progress done on the game they want to make.
And as an experienced developer, they can just tweak the engines they already know to work their way.
A game engine is not only about its capabilities, its about its community. If you get stuck on an existing engine, there is a community you can rely on to help you get back on track.
If you want to make a game engine, by all means do so, but if you want to make a game, just use an existing engine, the feature overhead is really not that big of a deal, and even if some features look useless now, they may become really handy in the future as you learn more about the engine.
Comments are closed.
Add Comment