Minecraft

Started by
32 comments, last by Amaz1ng 12 years, 10 months ago
How many people here have played this game? I personally admire the fact that it doesn't necessarily require tons of fancy graphics to become incredibly addicting, definately a good inspiration for indie developers. In a nutshell its a sandbox game. You can mine out various collectable "blocks" and "craft" them into items to use in your buildings and so forth. The website is minecraft.net, I believe they have the beta out for $15.

Here's an example of one of the most awesome map seeds "Glacier":

glacier_2.png

Not all the maps are as epic as this, but... its still possible to play just by typing "Glacier" in the seed box when creating a new world.

One thing I'm extremely curious about is how the map generation works exactly. I suppose what Notch (head creator of game) did was start small with a 2D map generator, and expand upon that. One other thing that I like about the maps is that they are INFINITE. You can build in any set of unique areas. Somehow that was a quality I always wanted in a game.

Has anyone here maintained a minecraft server? I'm only curious as to how likely compromisation is for these servers (considering port forwarding is required, and minecraft is still in beta). Would anyone recommend using a dedicated server (possibly cloud) over a normal PC?

Alright, end of rant. xD Hope to see some builds and opinions on this game.
Advertisement

One thing I'm extremely curious about is how the map generation works exactly. I suppose what Notch (head creator of game) did was start small with a 2D map generator, and expand upon that. One other thing that I like about the maps is that they are INFINITE. You can build in any set of unique areas. Somehow that was a quality I always wanted in a game.

I hate to say that this is "easy" but it is really just basic math. Here's an example using basic value noise. Gradient noise like perlin noise works better. Then you have things like fractal noise. Read this.

Essentially noise can be generated in any dimension you want. You can even generate 3D noise and use the 3rd axis as time for animation. The trick is finding and combining noise functions and normalize and smooth in a sane way. Some of it is simply magic numbers.
This was one of the most famous games of the year. It's won all kinds of awards. There have been articles about this game everywhere, including one in Game Developer Magazine going over how to do this kind of terrain generation.

I think it's safe to say everyone knows about this game. I heard about another game called Super Mario Bros. that's supposed to be pretty good.. =P

This was one of the most famous games of the year. It's won all kinds of awards. There have been articles about this game everywhere, including one in Game Developer Magazine going over how to do this kind of terrain generation.

I think it's safe to say everyone knows about this game. I heard about another game called Super Mario Bros. that's supposed to be pretty good.. =P


Did you even read the OPs post? He wasn't saying "hey check out this awesome new game", he was asking about map generation and server maintenance.
if you think programming is like sex, you probably haven't done much of either.-------------- - capn_midnight

How many people here have played this game? I personally admire the fact that it doesn't necessarily require tons of fancy graphics to become incredibly addicting, definately a good inspiration for indie developers. In a nutshell its a sandbox game. You can mine out various collectable "blocks" and "craft" them into items to use in your buildings and so forth. The website is minecraft.net, I believe they have the beta out for $15.

Here's an example of one of the most awesome map seeds "Glacier":

glacier_2.png

Not all the maps are as epic as this, but... its still possible to play just by typing "Glacier" in the seed box when creating a new world.

One thing I'm extremely curious about is how the map generation works exactly. I suppose what Notch (head creator of game) did was start small with a 2D map generator, and expand upon that. One other thing that I like about the maps is that they are INFINITE. You can build in any set of unique areas. Somehow that was a quality I always wanted in a game.

Has anyone here maintained a minecraft server? I'm only curious as to how likely compromisation is for these servers (considering port forwarding is required, and minecraft is still in beta). Would anyone recommend using a dedicated server (possibly cloud) over a normal PC?

Alright, end of rant. xD Hope to see some builds and opinions on this game.


**NOTE**
In no way do I mean this as a bashing, nor do I mean this as a way to put down any developer. I understand 100% the complexities of working on a game. I also 100% support any developer, big or small making a pong game over and over and reselling it from a major corperation. My comment is more geared towards what Minecraft was, and what it has become.
*************

I am going to give you a very short and skinny on the Minecraft topic. I want to first point out that Minecraft is not a unique concept. In fact is a clone of a clone of a clone 4th generation. This just happens to be the one that took of and became viral into what it is today. Minecraft was based off a game made in Java where players would go "mine" resources in a death match team style game play. That game while in BETA before it hit BETA PLAY PHASE I as they called it, was essentially Minecraft with lasers. How it worked was simple, you would gather resources and you would then build your base and try to gather as many as you could. Due to server limitations (which still plagues minecraft to this day) tile generation and saving spread on a single hubbed database and non p2p sharing gameplay causes a small bt of render error or chunk loading errors.

After this game did not become popular, a developer known as Notch decided to pick it up and play with it, changing small parts of the game and releasing his changes. This is where it kinda gets bitter for me, mainly because of the way he handled the way the code worked. I get salty talking to him in real life, and even more when I have chatted with him a few times via a messanging program. Honestly the developer is full of himself because his version of the game took off. I give him credit though, he was the Facebook when there was a Myspace.

-Mayple

(Personal opinions)

Now for the random generation, its a very simple concept of math. Using fractals as stated before the game assumes -5 or -6 as the lowest possible high point. What it basically means is that 0 is sealevel with -1 going one block below. -175 is the absolute lowest that most servers allow and map data allows. When the generator kicks on, it starts building -175 to rand(-5 ~ +25) doing so also allows a small dither effect to happen which makes 1x1x2 blocks either happen or 1x1x1 as long as there is no sudden void of space, unless between -5~-175 or using special passed commands like -arch -stone -overhang which then grabs random generated chunks that are prebuilt.

The maps are not INFINITE, you actually can run out of room, but the grid is 19,999 blocks long x 19,999 blocks wide with 275 high and -175 low on most servers. A file that large equates to about 12GB of chunk data.

As for running a server, its not worth it in my opinion unless you have a group of friends that are playing it over and over with you. I would reccomend having a place like servercraft.co host you unless you are savy with command line and setting up Jar files. You also need to play around with mods/plugins to prevent and add additional features. It gets a little tricky. See Bukkit for Minecraft.

Alternatly, you can make your own Minecraft since were on a game development forum. Google Maniac Digger, and you can see someone has taken the time to make a clone of a clone of a clone of Minecraft using C++ and its turning out quite well. I have a feeling though Maniac Digger will be changing paths soon though.

-Mayple
I usually just give my 2 cents, but since most of the people I meet are stubborn I give a 1$ so my advice isn't lost via exchange rate.


[quote name='AutoBot' timestamp='1308600394' post='4825623']
One thing I'm extremely curious about is how the map generation works exactly. I suppose what Notch (head creator of game) did was start small with a 2D map generator, and expand upon that. One other thing that I like about the maps is that they are INFINITE. You can build in any set of unique areas. Somehow that was a quality I always wanted in a game.

I hate to say that this is "easy" but it is really just basic math. Here's an example using basic value noise. Gradient noise like perlin noise works better. Then you have things like fractal noise. Read this.

Essentially noise can be generated in any dimension you want. You can even generate 3D noise and use the 3rd axis as time for animation. The trick is finding and combining noise functions and normalize and smooth in a sane way. Some of it is simply magic numbers.
[/quote]

Your opinion is rather wrong. Of course generating a fractal isnt any kind of rocket science (although making them do anything that doesnt seem terribly boring after the initial amazement isnt that easy either). But after the minecraft terrain is generated, its freely manipulable, as a frigging volume. All terrain that has even been manipulated (which tends to happen a lot in minecraft) also needs to be stored in memory from that point on. Actually I think youd even need to store all terain that has ever been seen, considering there is a lot of dynamic stuff like tree growth and monster spawning going on, even when these areas are nothing even remotely resembling being in view.

I myself am pretty amazed at how well minecraft handles this. These worlds are not just infinite in theory; there are videos in which people actually build insanely long roads for instance, without showing any signs of slowing down. I havnt seen its equal yet
Minecraft only keeps chunks closer than 300 meters (blocks) or was it 150... in memory at a time and only those chunks can have stuff going on in them.

o3o

I get salty talking to him in real life, and even more when I have chatted with him a few times via a messanging program. Honestly the developer is full of himself because his version of the game took off.[/quote]

Now what I'm curious about is WHY the game took off. The concepts of it are similar to various other games that never really were successful, after all. This is interesting, though, I suppose Minecraft isn't as original as I thought it was.

It's interesting how the noise maps work, never knew it was quite so easy to generate terrains like that. I'll have to try to implement my own sometime. xD

As to Manic Digger... I do understand the fact that everyone's a little annoyed at it being a "clone" to minecraft, but the guy should at least get some credit for it. After all its great that he's actually making the game in C++.

And I will look into servercraft, it might actually be most convenient for me.

I get salty talking to him in real life, and even more when I have chatted with him a few times via a messanging program. Honestly the developer is full of himself because his version of the game took off.


Now what I'm curious about is WHY the game took off. The concepts of it are similar to various other games that never really were successful, after all. This is interesting, though, I suppose Minecraft isn't as original as I thought it was.

It's interesting how the noise maps work, never knew it was quite so easy to generate terrains like that. I'll have to try to implement my own sometime. xD

As to Manic Digger... I do understand the fact that everyone's a little annoyed at it being a "clone" to minecraft, but the guy should at least get some credit for it. After all its great that he's actually making the game in C++.

And I will look into servercraft, it might actually be most convenient for me.
[/quote]

Its actually the other way around, minecraft is the "clone" to manic digger, and as far as who came first is concerned. In my opinion is not as much of who came first, but who ran with it the best, For all anyone knows, some guy might of came up with the photoelectric effect but never published it, While Eistein won the noble prize for it, There are no real "original ideas" anymore, everything is a derivitive of another.

Edit - @Mayple - From what I've seen Notch seems to be a cool person

But after the minecraft terrain is generated, its freely manipulable, as a frigging volume. All terrain that has even been manipulated (which tends to happen a lot in minecraft) also needs to be stored in memory from that point on. Actually I think youd even need to store all terain that has ever been seen, considering there is a lot of dynamic stuff like tree growth and monster spawning going on, even when these areas are nothing even remotely resembling being in view.

I myself am pretty amazed at how well minecraft handles this. These worlds are not just infinite in theory; there are videos in which people actually build insanely long roads for instance, without showing any signs of slowing down. I havnt seen its equal yet


Store the Seed Data for a chunk, then a 'mask' that contains the difference between the seed and what the current state of the chunk/subchuck is.

When you then go back to the area the computer takes the seed value and regenerates the land 100% the same as it was the first time, then applies the masks to make up for the changes. Most chunks will have next to no mask data, some chunks will have more. Additionally you can apply some basic compression methods to your masks to reduce the data needed to actually store the mask.


How you implement the mask would then depend on how the world is generated and what you expect to be done with it.
Old Username: Talroth
If your signature on a web forum takes up more space than your average post, then you are doing things wrong.

This topic is closed to new replies.

Advertisement