Live data from Hacker News

So, you want to make a game engine (2023)

lisyarus.github.io

41–50 of 50 posts

Re: So, you want to make a game engine (2023)

#41
post #39

I guess the really hard part about game engineers isn't writing them, it's making them portable to more than platform, which is the really boring, tedious, expensive part. this is why I'll never write a game engine.

My first pro job in gaming was in porting. In my experience, while it does require knowledge in OS and rendering APIs, the platform/RHI-specific code is quite small compared to most other subsystems of a moderately-sized game.

Unless there is absolutely no abstraction, e.g.: with OpenGL being called from random parts of the game, porting is a matter of mostly gluing two interfaces together.

Re: So, you want to make a game engine (2023)

#43
post #10

For me, the interest in engine-making is to give myself a toolkit that is suited for the kinds of games I want to make, rather than an engine that is trying to be everything to everyone. Also to avoid the Unreal Engine monoculture.

All game engines eventually become an OS. All OS's eventually become game engines.

Re: So, you want to make a game engine (2023)

#44
post #10

For me, the interest in engine-making is to give myself a toolkit that is suited for the kinds of games I want to make, rather than an engine that is trying to be everything to everyone. Also to avoid the Unreal Engine monoculture.

All game engines eventually become an OS. All OS's eventually become game engines.

Name a game engine that became an OS, and name an OS that became a game engine.

Re: So, you want to make a game engine (2023)

#45
post #44

Earlier quoted context omitted.

All game engines eventually become an OS. All OS's eventually become game engines.

Name a game engine that became an OS, and name an OS that became a game engine.

Unreal Engine. Microsoft Windows.

Re: So, you want to make a game engine (2023)

#46
post #44

Earlier quoted context omitted.

Name a game engine that became an OS, and name an OS that became a game engine.

Unreal Engine. Microsoft Windows.

Unreal engine isn't an OS. It is installed and run on a computer already running an OS.

Windows is not a game engine. Being able to play games on Windows doesn't make it a game engine.

Re: So, you want to make a game engine (2023)

#47
I want to differentiate between "game engine" and "framework" here, even knowing the distinction is subjective.

To me a game engine includes UI elements that package the entire process of game development into a coherent application. Sprite editors, code editors, asset management, physics, all in a neat package. Bonus points I guess for coming up with a quirky bespoke internal scripting language that only gets used with that engine. You can wind up with a utility library that makes writing games easier but to me that still isn't a "game engine" per se.

And I think that's the really difficult part. Everyone probably just uses DearImGUI anyway but that's still an entire layer of abstraction and difficulty on top of writing the game utility code itself, and it encompasses things most developers won't find fun or interesting or even may not know how to do. How do you support multiple platforms? How do you deal with data files? How do you import and export a project? Handle input? Sound? You got a triangle on screen? Great! Now you have to implement the rest of the universe - textures, lighting, UV mapping, shaders, models, skeletons, rigging, animations. Now do physics. Every single aspect of engine design is an entire discipline unto itself.

Of course it also matters how specifically tailored and non-general you want to make an engine. Engines exist just for making RPGs or visual novels. But even then, to me, it isn't an "engine" unless it's packaged into a GUI with coherent design principles.

Re: So, you want to make a game engine (2023)

#48
post #46

Earlier quoted context omitted.

Unreal Engine. Microsoft Windows.

Unreal engine isn't an OS. It is installed and run on a computer already running an OS. Windows is not a game engine. Being able to play games on Windows doesn't make it a game engine.

Unreal Engine allows the widespread deployment of applications catering to a tightly bound framework - a system, upon which standard operations can be completed. It functions standardly, independently of any OS upon which it is hosted. There is no distinction between an OS hosted on another OS, nor is there a requirement that for an OS to be considered an operating system, no other operating system can be involved.

Windows is a game engine because you can write standard games for it, standardly, and its base SDK’s support game development, natively - it also of course supports other game engines, which eventually become capable of hosting applications (and are thus OS’s), because: Windows is an OS and it is a game engine…

Re: So, you want to make a game engine (2023)

#49
post #46

Earlier quoted context omitted.

Unreal engine isn't an OS. It is installed and run on a computer already running an OS. Windows is not a game engine. Being able to play games on Windows doesn't make it a game engine.

Unreal Engine allows the widespread deployment of applications catering to a tightly bound framework - a system, upon which standard operations can be completed. It functions standardly, independently of any OS upon which it is hosted. There is no distinction between an OS hosted on another OS, nor is there a requirement that for an OS to be considered an operating system, no other operating system can be involved. W…

>Unreal Engine allows the widespread deployment of applications catering to a tightly bound framework - a system, upon which standard operations can be completed.

This isn't the definition of an OS, it's the definition of literally all software - a "system" upon which "operations" are performed.

But the purpose of Unreal Engine isn't to manage a computer's hardware and software resources, user access, etc. It isn't an operating system. It doesn't operate the system. An operating system hosted by an OS still serves the purpose of an operating system. The actual purpose of the software matters.

>Windows is a game engine because you can write standard games for it, standardly, and its base SDK’s support game development, natively - it also of course supports other game engines, which eventually become capable of hosting applications (and are thus OS’s), because: Windows is an OS and it is a game engine…

Windows is not a game engine because its purpose is not creating games. The fact that it can run applications, some of which may happen to be game engines, does not make it a game engine. The fact that it has graphics and sound APIs that game engines can access doesn't make it a game engine.

Sorry, I don't find this profound or interesting. Windows has not become a game engine, and Unreal has not become an operating system. Your argument basically boils down to semantics and only makes sense if you ignore the actual context and purpose of what we're talking about and why the distinctions matter.

Re: So, you want to make a game engine (2023)

#50
post #49

Earlier quoted context omitted.

Unreal Engine allows the widespread deployment of applications catering to a tightly bound framework - a system, upon which standard operations can be completed. It functions standardly, independently of any OS upon which it is hosted. There is no distinction between an OS hosted on another OS, nor is there a requirement that for an OS to be considered an operating system, no other operating system can be involved. W…

>Unreal Engine allows the widespread deployment of applications catering to a tightly bound framework - a system, upon which standard operations can be completed. This isn't the definition of an OS, it's the definition of literally all software - a "system" upon which "operations" are performed. But the purpose of Unreal Engine isn't to manage a computer's hardware and software resources, user access, etc. It isn't a…

>a "system" upon which "operations" are performed.

Indeed, that is the point entirely. The distinction is arbitrary.

> But the purpose of Unreal Engine isn't to manage a computer's hardware and software resources, user access, etc.

Oh no, that is absolutely the purpose of Unreal Engine - to manager the computers available hardware, software resources, user permissions in such a way that - across a very wide variety of different hardware configurations - the hosted applications run standardly and consistently.

That it fulfills this purpose as a system of operating hardware resources in order to provide standard game applications their own hosting surface, across a wider variety of host OS’s, demonstrates that in fact, an OS does not become an OS just because it is the first thing to boot the hardware.

By that reasoning, the BIOS is an operating system and Windows is just an application which runs on it, with a very large percentage of users doing so only to play games …

> Windows is not a game engine because its purpose is not creating games.

I think there is a billion dollar department at Microsoft with is at odds with your view entirely. Microsoft has spent a lot of resources making Windows into a game engine which can fulfill the purpose.

> Sorry, I don't find this profound or interesting

Give it time. You will see the fallacy in your arbitrary definitions.

> Semantics

Actually, I’m arguing from a great deal of experience as a systems analyst.

Post reply on HN