It’s been a goal of mine for a while to make a Minecraft clone. I just want to do it for fun and to learn about game design.
This lead me to wonder, what engine should I build my clone on? Should I make my own voxel engine to make sure it’s fast? Or does Unity have a low enough overhead that I could build a fast voxel engine inside Unity’s engine?
Various community members dissected the workings on Minecraft a while back. The process for rendering cube-style worlds is fairly straightforward and discussed in the thread. You can definitely use Unity, but it is more involved than simply throwing one GameObject into the scene for each cube. I’d recommend starting with the thread itself.
Alternatively there are pre-made frameworks for cube-style worlds in Unity. One that I’ve considered picking up but haven’t gotten around to doing is IronVoxel. I don’t know if it has been made ready for Unity 5, but it comes with the complete source code so it wouldn’t be too difficult to migrate.
Thank you!
And if I do make my engine in Unity, will it be noticeably slower than if I would have made it from scratch?
Does Unity’s base engine require many resources?
That is very circumstantial - every language/rendering engine/game engine/whatever will have pros and cons, and speed benefits or burdons.
Maybe a really well done C++ engine built from the ground up with voxels in mind would be faster, but it all depends on your skill in a given language/engine/whatever. And maybe whatever renderer, or physics engine, or sound engine etc. you were to use with that C++ version would turn out to be painfully slow and unity may have been faster… there are too many variables in the question you ask to provide a real answer.
A custom built ground up engine will always out perform a generic engine. However you are likely to spend months or years building the engine before you get to actual game play. And you will be solely responsible for maintaining and updating the engine. And this all assumes you actually have the skill to build the custom engine.
Generics won’t ever fit your purpose exactly. But they will save you a huge amount of development time in the long run.
Fair enough, I’ve never actually built a game engine. I’m wrong from time to time.
In my defence the principe works well enough in chemical engineering. Custom stuff built fit for purpose always performs better then generic stuff. Despite this custom stuff is hardly ever used. The cost in terms of capital, maintenance, time, training and the like almost always outweighs the performance benefits of custom kit.
But as we are discussing building game engines, not pesticides plants, my advice defaults to listen to @zombiegorilla .