I genuinely believe making games without a big “do everything” engine can be easier, more fun, and often less overhead. I am not making a “do everything” game and I do not need 90% of the features these engines provide. I am very particular about how my games feel and look, and how I interact with my tools. I often find the default feature implementations in large engines like Unity so lacking I end up writing my own anyway. Eventually, my projects end up being mostly my own tools and systems, and the engine becomes just a vehicle for a nice UI and some rendering…
At which point, why am I using this engine? What is it providing me? Why am I letting a tool potentially destroy my ability to work when they suddenly make unethical and terrible business decisions? Or push out an update that they require to run my game on consoles, that also happens to break an entire system in my game, forcing me to rewrite it? Why am I fighting this thing daily for what essentially becomes a glorified asset loader and editor UI framework, by the time I’m done working around their default systems?
↫ Noel Berry
Interesting and definitely unique perspective, as I feel most game developers just pick one of the existing big engines and work from there. I’m not saying either option is wrong, but I do feel like the dependence on the popular engines can potentially harm the game industry as a whole, as it reduced diversity, drains valuable knowledge and expertise, and leaves developers – especially smaller ones – at the mercy of a few big players.
Perhaps not every game needs to be made in Unity or Unreal.
Thom Holwerda,
I really do appreciate the home grown game engine. Developing a new game engine could be a neat project for a student or somebody working on their own time. If you have some knowledge of computer graphics, it doesn’t really take long to make simple 2d platform games without an engine. 3D gets more complicated, but nothing is really out of reach, all the components in a major game engine are achievable with enough patience. Just keep breaking problems down to their basics. You might fall into becoming a “jack of all trades and master of none”, but still it’s totally doable.
That said, I doubt most gaming companies are going to be interested. It’s not merely that they don’t want to pay to reinvent the wheel, but even if the work was done for free, a custom game engine would incur higher operating costs for themselves. Standardizing on a popular game engine helps with recruiting developers/artists/designers who are ready to go without having to train employees on new engines.
I’m not in the gaming industry, although I feel I can relate. Things like custom websites have been replaced with wordpress (to my chagrin). It’s not that there’s a lack of developers who are willing & able to build custom websites, far from it…it’s that wordpress is cheaper. I do feel this consolidation impacts creativity.
Well well well… https://www.youtube.com/watch?v=Gk4-8nPybWk
A game developer may not be good at game engine development, but better at game design.
Minecraft’s engine is “simple” enough for one coder to handle, but Crysis’ engine may not.
Kochise,
Hmm, I feel this post was meant for pikaczex below?
Anyway I did watch some of your link. I don’t necessarily think developers can’t cut it (as suggested by the video), but that reinventing the wheel may not be the best of use time. In the old days every game was built from scratch and it was normal to do so. The industry evolved away from that because there are efficiency savings to be had by reusing frameworks and writing new engines probably isn’t economical even for devs who have the skills to do it.
To the extent that we want to do it for fun, I’m in…but being able to find buyers as the underdog in a saturated market is a different matter. Thom if you want to create the “osnews game engine”, let’s get that ball rolling 🙂 Though I have to warn you that it’s probably going to involved some AI, haha.
You’re making either game or game engine. These two are completely different things and require different skillsets. Delivering working product is more complex than writing some generic library which does mostly boilerplate code for window management, resource loader and scene graph as yet another programming interface.
Chris Sawyer, Jordan Mechner, and a lot of other people want to have a word with you.
“suddenly make unethical and terrible business decisions?”… Godot FTW.
TBH I’ve written a game engine and several UI toolkits and I’ll damned if I’m doing it again. It’s all fine until you want your app to run on the lowest Android device (Fire tablets, cheapo phones etc) up to the best iPads and then desktop/laptop etc. At that point using some kinda framework (Qt/JUICE) etc becomes a no-brainer.
However, it WAS interesting – esp all the CSG code which refreshed and taught me a lot of new maths. Was it worth the time? Sure, personally it was worth it, in terms of commercial project management is was a complete waste of time!
OTOH – you’re going to spend 50%+ of your time tracking down bugs in your code and/or the framework so maybe it doesn’t matter so much. Anyhoo… now I’m rambling.
ppp,
I think I found your problem, you included bugs, don’t do that 🙂
I know what you mean. you try to write generic code that runs everywhere, but things get really finicky because there are many different versions and targets that have to be built and tested against (assuming you care about portability). While I enjoy having a raw frame buffer to work with building up your own primitives. I’ve done it before, things like drawing text needs to be solved and it’s just not worth the time. If you’re going to use another library to do it which is fine, then you may as well use that library’s other primitives. Special effects could be an exception here, but unless you’re really determined to write them as CPU algorithms, you’re probably better off doing it in OpenGL. Rolling your own is fun and educational, but I think we can agree about productivity.
No no no. Use an LLM – include MORE bugs – then use the LLM to add more, with regressions! More bugs! Bugs for dayz.
It’s a little tangental but one of the major reasons I like using open source is there’s no barrier between the readable and the indecipherable. Bugs still aren’t “shallow” but at least I can set a break point/add a printf etc and actually read the code. But yeah – should add less bugs!