Hacker News new | ask | show | jobs
by Tadpole9181 59 days ago
You technically can, but you really shouldn't. The general knowledge is that you can make a game or you can make an engine - not both.

There's just so much you don't know until you do, and there's a reason even all those "render engine" libraries have fallen kinda defunct (Ogre, Irlicht, etc). It's hard and distracts from the real goal.

Just grab an engine and get started on the game day 1 with a tool that can guarantee any game can be made with studio-quality tooling and compatibility.

It's the same reason you grab a date time library. It sure seems totally doable to "just handle times" right up until you try.

If making an engine was really that easy, studios wouldn't pay tens of millions to avoid doing it. Godot 3D would be solved by now.

1 comments

- interesting

- i was under the opinion that we may have enough libraries in c++ for just about everything from load assets to handling physics to handling graphics , networking, rendering etc

- isn't that the case given 20+ yrs of development on C++

Just plugging in a networking library isn't going to get you a what you need for a CS like game. The players here expect perfection.

You will also need to figure out client/server side prediction, rollback/reconciliation, lag compensation and make this perform well.

And then you need an anticheat and skill-based matchmaking and ...

what you suggest by gluing libs together is more like a framework. Engines have cohesive asset systems that tie into engine and gameplay systems, networking has to work with the gameplay layer, etc. Also, tooling is like 90% of what makes an engine worth using. You need asset importers, level editors, scripting solutions (often visual these days), data editors