🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Anybody else have aversion towards Unreal, Unity and other ready-made engines?

Started by
7 comments, last by EmilyBendsSpace 37 minutes ago

I was wondering if I'm the only one having this feelings, or is there any other people like me out there?


I strongly dislike the vector that game development acquired some years ago, and according to which it continues to move steadily at present. The overuse of mainstream, generic game engines. Yes.

I think that the “core” or “soul” of the game is its Engine. And by reusing the same generic engines in all the games, this essentially creates unoriginal clones “at the core”. Another issue lies in the fact that game designers in many cases need to adjust their design to fit concrete engine. And when you have only 1 or 2 engines, this forces same designs to manifest over and over again.

I wish gamedev industry would ditch this engines one day, and begin to foster original ideas on all the level of development.

This is hard and expensive, I get it. But I think it would be better to have less games, less often, but more unique and optimised ones.

I tried it myself, you know. Some years ago I tried to implement some primitive 2D engine, but it turned out to be TOO primitive. This year I tried to challenge myself to create DX12 engine from complete scratch. The ultimate goal was an FPS game. I managed to setup the pipeline, write some simple shaders, generate some primitives and even add some controls but I got cut down by the super complex math of collision detection system, and because of this had to freeze the project for the indeterminate time…

None

Advertisement

For whatever personal reasons, for me it's inevitable. I don't like it personally, I like it professionally, but again, it's inevitable.

In my opinion, The future is already predicted since the old Flash days because of its ease of use, and game engines like Unity + mobile devices are the ones that finally let them mesh into mainstream, as Flash couldn't. From what I know, Unity's big venture was its web player, so the Unity's transition mainly comes from web game developers, which at that time was mostly Flash before HTML5 existed. This “Flash developers" won, so the engines are here to stay for the same reason this group of developers exists (and now lead to the next generation).

I'm not saying this from imagination, but based on how game developers in my generation and region were mostly started from Flash until they get to Unity when mobile devices are here, and then followed with Steam indie phenomenon.

I got to pre-face this by saying, I personally hate Unity, for a variety of reasons (the workflows are pretty bad, and you have too little control over the foundation of the engine to optimize them). That being said, I do not belive that the engine actually limits the gameplay in any meaningful way.

For my own free-time project, a 2d action-rpg with ~30h playtime (as of now, which is~50% done), I use my own engine, that I've been developing for the last 12 years. The workflows are much better, so I can create content faster. But I do have to spend weeks, if not months at a time, sometimes, just for improving the engine. So the overall time would be faster with Unity, even though I'm very sensitive to suboptimal workflows, so I'd rather spend +50% time on developing an engine and then using the best possible workflow, then use a premade engine and have to spend extra time on the content creation.

Still though - I could absolutely do the same game in Unity, no question. I could do a 1:1 port of the gameplay, so no, I don't belive premade engines restrict you in that matter. Even at work, where we use eigther Unity or Unreal, our concepts are rarely limited by engines, but more the time we have due to budget. So having to spend extra time on developing the engine would rather limit us, that way.

So yeah, that's my takeaway. Custom engines can offer better workflows, but they are not really worth investing the time for most use-cases. My own engines main highlights are things like deterministic, lightweight replays (that I can use to both auto-test the whole game, as well as record user sessions to reproduce bugs), and a blueprint-inspired scripting language with heavy focus on coroutine-style programming (but with close to native performance and more programmer-focused) that makes creating both gameplay-systems and cutscenes very easy and fun. But if I had the discipline to just use a worse workflow, I could have probably finished the game already if using Unity/Unreal (with the same gameplay, 1:1), because I spent multiple 10s of thousands of hours on the engine already, and I'm primarily focused on 2d… I will continue doing my engine, because it gives me a lot of joy; even when starting to do 3d projects… but for the general case, one of the U-engines will be the way better choice.

ScienceDiscoverer said:
I strongly dislike the vector that game development acquired some years ago, and according to which it continues to move steadily at present. The overuse of mainstream, generic game engines. Yes.

But this trend isn't restricted to just engines. It also affects anything else - gameplay, setting, story, characters.
With that impression in mind, choice of engine seems to have the least impact on the often disappointing outcome.

ScienceDiscoverer said:
I think that the “core” or “soul” of the game is its Engine.

That's only true if your game requires certain technology which generic game engines can not do.
But if your generic game can be implemented without issues on any generic game engine, nothing wrong with using a generic engine.

Ofc. some innovative game with new mechanics, or another game not doing anything revolutionary but being just good, can also mostly be implemented using generic game engines without restrictions. In this case - again nothing wrong about using them.

ScienceDiscoverer said:
Another issue lies in the fact that game designers in many cases need to adjust their design to fit concrete engine.

Do they? I would guess engine limitations are rarely an issue. I mean, they try to make a game which is similar to their last game usually, just bigger. And for being bigger the limit is usually content creation, so budgets, not so much engine limitations. But idk.

ScienceDiscoverer said:
I wish gamedev industry would ditch this engines one day, and begin to foster original ideas on all the level of development.

Every time some studio proudly announces to ditch their custom engine in favor of Unreal it's sad news, and it feels like a slow death of game development in favor of just content creation.

ScienceDiscoverer said:
This is hard and expensive, I get it.

I don't. I expect paying 10 programmers is nothing compared to paying 300 artists.
Idk what's the problem. Maybe it's Epic and NVidia sucking up all talented people, and studios having a hard time to find experienced expertise replacing their seniors.

ScienceDiscoverer said:
I tried it myself, you know. Some years ago I tried to implement some primitive 2D engine, but it turned out to be TOO primitive. This year I tried to challenge myself to create DX12 engine from complete scratch. The ultimate goal was an FPS game.

You could be already done with that game if you had decided to use Unreal, and it might look better and run faster.

Eventually. But maybe i'm wrong. Yep - i'm pretty sure i'm wrong. Otherwise i would not try to do the same thing myself. ; )

ScienceDiscoverer said:
but I got cut down by the super complex math of collision detection system

Personally i do a compromise. I use libraries, e.g. a physics engine.
I worked on physics sim decades ago. I could get it to work, somehow.
But likely i could not reach the robustness and performance of the open source physics engine.
So i better spend my time elsewhere. It's finite, and i can't do everything on my own.

I'm definitely not a fan of Unity at least, which is the main engine that I use at work. It's excruciating to use on larger projects and very slow overall. Just editing 1 line of script code takes 30+ seconds for unity to even become responsive again since it has to completely recompile the project every time. Heck, even launching unity hub (much less opening a project) takes 30 seconds. I'd never choose to use Unity for anything non-trivial. I spend way too much time waiting for Unity to “Hold On….”

For my personal game project there are technical reasons why Unity/Unreal could never work. I'm creating a realistic-scale space/planet simulator, and those engines are not setup at all to handle those sorts of scales. I had to integrate a multiple coordinate system architecture deeply into all engine systems (graphics, physics, etc.), so that massive scale works in single precision without any glitches or faking it. This simply wouldn't be possible in Unity, and would take ages to rewrite Unreal. Particularly physics is a problem - the physics engine needs to handle collisions between objects that are in different (neighboring) coordinate systems. An off-the-shelf solution would be impossible for what I'm doing. However, the pain is that everything must be built from scratch which takes a long time.

For the commercial world, time is money.

Unreal has about a 30 years of work and around 150B in direct technology investment, billions more through mergers and acquisitions over the decades. Unity is a decade younger and around 40B across the decades.

Sure it is still possible to build from scratch, or more typically, from libraries and SDKs that include parts of the functionality you need. But by doing so, you are also leaving behind a multi-billion-dollar technology suite that many players expect to see in games.

Doing it yourself can mean many years, and many hundred thousand dollars or more, developing the tools you get included in the major engines.

JoeJ said:
But likely i could not reach the robustness and performance of the open source physics engine.
So i better spend my time elsewhere. It's finite, and i can't do everything on my own.

Yea, this is actually the saddest part of this this reality for me. If only we could have infinite time… Then, even if it would take 100 years, we still could create the game of our dreams alone and with minimal budget!

None

ScienceDiscoverer said:
I think that the “core” or “soul” of the game is its Engine.

If the soul of your game is the engine, and not the story, or characters, or gameplay, your game is doomed. A truly great game idea should transcend the limits of the engine/platform it's build on. A better engine might make the game look or sound nicer, but the choice shouldn't make or break the game idea.

Game engines like Unreal, Unity, Godot, etc. serve a specific purpose. They provide baseline functionality and tools required for individuals and small teams to jump right into to making their game, without having to make all their tools first. Imagine if you were tasked with building your own tiny home: if you were provided a with finished lumber, power tools, and plans, you could probably get it done. Consider this statement in Juliean's post above:

Juliean said:
I use my own engine, that I've been developing for the last 12 years

12 years. That is the stone axe route, my friend. It can be a rewarding path, but it is definitely not for everyone, and certainly not for someone who wants to make a game for profit rather than their own hobby project. Creating a whole engine and development environment can consume you to the point where you never get to actually making the games. It's all too easy to become like the woodworker who is only ever crafting their own next workbench.

Advertisement