Making a Minecraft clone.

Started by
2 comments, last by Simon Musy 6 years, 10 months ago

Well, not really. What I want to do is make a game with infinite terrain generation like in Minecraft or Creativerse, but I don't quite understand the infinite generation part... I have read several articles on perlin and simplex noise, but I don't quite understand how to use it to create terrain generation. I have experience in several languages (Ruby, Java, Javascript) but this would be my first fully fledged game. Everything else I have made was just experimental.

What I aim to create:

Exploration/survival game that is everything that I hoped Minecraft would live up to but didn't. This includes, but is not limited to:

Infinite world generation with caves, ores, biomes, underground structures, above ground structures to explore, even floating structures. (Way more than the current Minecraft.)

Crafting system, including an equivalent to the crafting table, furnace and then more advanced versions of said items. An equivalent to redstone, but instead of being so limited, the wires would be able to travel up walls and around blocks. Also craft-able items that allow for automation of early game actions such as farming.

Several dimensions, including, but not limited to hell (which will be much more exciting than the nether because of the plans that I have with it.)

I am hoping that creating this game will be a wonderful learning experience. I know how to add objects such as blocks, but like I said, I just do not know how to make them randomly generate in a world. Along with that I understand that a specific rendering technique must be used to not lag the oblivion out of the game. If someone could please link me to some material such as an up to date video of someone creating world generation that would be awesome. If anyone could help it would be appreciated. :)

Edit: I don't mind learning a new language in order to get this done, although my preference is java.

Advertisement

Perlin Noise is just pseudo randomness. You would basically (mostly) just generate a heightmap using a Noise algorithm which describes Caves, Flatland or Mountains.

This is probably one of the best minecraft-like tutorials out there:
https://forum.unity3d.com/threads/tutorial-c-voxel-terrain-with-infinite-terrain-saving-and-loading.293340/

For infinite terrain look up guides to noise functions and fractals. Search for terms like "heightmap noise" or "map noise functions". Perlin noise is a commonly mentioned one for the past few years, but there have been many used with varying results.

The crafting system in Minecraft is not particularly complex from a game systems perspective. You put some things in, if they match a known pattern you get something out. The key to their system is the data.

Another thing about Minecraft, many people hear stories about the early days and think it still applies. Minecraft is an enormous product that has reached thousands of work-years behind it. The original version in 2009 and 2010 it was a single person project. It grew rapidly after that, and most of the game was rewritten by larger teams. By about 2014 when Microsoft bought it the game had more than 500 work-years on it, and after Microsoft bought it they added several large teams to bring the game to multiple platforms and essentially rewrite it. An individual working hard could create their own Minecraft game as the game looked in 2009 or 2010 within a few years. Ten people working together could not create the game you see in 2017 even if they worked their entire lifetime on it with today's tools.

Holistic3d has a Youtube channel where he explains how to generate a Minecraft like terrain. He also goes into details about how merging the blocks together to avoid performance issues. Worth having a look:

This topic is closed to new replies.

Advertisement