Hey everyone, so i need help on creating an infinite terrain in Unity3D. I am creating a survival game and everything is going good except for my terrain, right now i just have a basic 2000x2000 terrain, but it isn’t nearly big enough for a survival world, so i was wondering if anyone knew of some good software’s to create infinite terrain in, or just know an easy way of creating large quantities of land, kind of like rust how it goes on for basically forever. Also i am very sorry if this is not right place to be posting this, i am very very new to unity, i have been using it for about 2 weeks now, and i am even newer to the forums. If this isn’t the right place to ask for help on something like this please let me know so i don’t make this mistake again
New in unity here as well, but from what I know from my general knowledge, probably the easiest way would be to use voxels. Can’t give you any specific code as I never used them before but judging from games like minecraft this is the way to go probably. It doesn’t have to be cubic as the minecraft is (well, it does probably but it doesn’t have to show like that). People did it in 7 days to die as well, infinite random voxel terrain that looks quite good until you start to mine.
Another way could possibly be a huge tileset with a good algorithm to randomly place the tiles on runtime (what I’ll be trying to do soon as well once I fix some camera issues I have). It kinda depends on how you want the game to look to be honest.
There are a couple more options that come to mind here but not sure even if they will work even on a theoretical level so I’m not going to post them here.
For large quantities of premade land you could use World Machine to create the land however big you want and however detailed you want and/or Terragen. Or go the way most people do and create the very basic land in a program like maya/3ds etc and then detail it in zbrush.
I’ll keep my eye on this thread however as it might prove valuable for me as well…
Hey guys! Welcome to the community!
I think I can give you both some info.
To start, Minecraft does not use Voxels. You will find many people under that assumption, but it’s still not quite accurate. Voxels are a combination of Pixel and Volume. They are pixels that store crude height map information to make crude 3d objects and they haven’t really been used in commercial games since the 90’s in games like Blood:
Minecraft has polygon boxes that are loaded and rendered based on a grid map (I’m almost possitive).
Now if you are looking to do that you can also look at “Marching Cubes”.
Marching cubes work like Minecraft to get the layout of the map, but then makes them organic based on surrounding cubes. This has actually been around FOREVER but has only recently been allowed to be used in games since the original patent was held by an MRI company and it has recently expired.
Marching cubes have the benifit that they can make holes, caves, cliffs, and overhangs and are completely dynamic (destructable). The draw back is that they are not out of the box and you would need to buy a tool for them in the asset store. Also, most marching cube tools do not have the polish to the code necissary to make it look natural.
Now then, to do a map that is above 2km x 2km you need to “stitch” multiple terrains together. Basically you need to make multiple terrain that fit next to one another, then get a tool that will make sure there are no seams (you can find some in the asset store). With that you can make terrains go on as long as you’d like.
To make a random map that is pre-baked you can use World Machine:
www.world-machine.com
There’s a lot to do with WM and a lot you can learn, but it is also easy to get into and it is fairly cheap.
Finally, if you are talking about making random maps on the fly… well sir, that one’s a bit above me.
But really, it sounds like you’re new and ambitious so I would say your best start is right here:
You’ve really got to learn the basics before you start trying to make a game that normally takes teams of experienced developers years to make.
Also, you’ll get a chance to figure out if you like making games for real, or just like thinking about games you’d like to make.
It doesn’t, it only triangulates visible faces, retriangulating small terrain sectors as you are diggin. Otherwise the polygon count would be utterly insane, even with frustum and depth culling… There are several re-implementations of the technique around the forums.
That depends on your definition of voxel. Wikipedia’s definition, which is also the definition I was exposed to in academia, unrelated to games:
Minecraft’s implementation, triangulating visible faces of boxes based on a 3D density function fit that.
I was pretty sure Minecraft used voxels to be honest. And yes I know what voxels are. But I might be wrong on that one. The example I gave about 7 days to die still holds tho’. The developers themselves said they use voxels. As for that marching cubes picture you posted, that’s impressive and it’s the first time I read the term, I’ll have to do some reading on it.
Sorry, but voxels was coined long before Minecraft existed as VOlumetirc piXELS. Just because people keep missusing it and edit wikipedia does not change that.
Sure it did, but you seem to be misunderstanding what I am saying. “Misusing it and edit wikipedia” doesn have anything to do with it, the original Marching Cubes paper by Lorensen in 1987 describes an algorithm for triangulating voxel data for biomedical use and Minecraft’s crude approach is not conceptually dissimilar, it just does not bother to actually follow the contours of the underlying volume, rather quantizing them into cubes existing or not. What you are actually referring to with the Build engine, Delta Force and all those games from the 90s is a direct volume rendering of voxels via ray casting, which is what became known as a “voxel engine” at the time. It doesn’t mean that other ways of visualising voxels are not voxel engines on its own.