And then Con was never heard from again.
Printable View
And then Con was never heard from again.
Hi.
lol, I don't have an interest in gs2 at the moment. Maybe in the summer, maybe not. Currently programming for minecraft.
In that case can you reupload GS source? http://www.modacity.net/forums/style...mot-ohdear.png
on the topic of minecraft programming, since java and c# are really similar, and microsoft XNA is built on c#, would minecraft benefit from being ported to XNA? i feel like it would, but ive never actually used XNA, so im not sure.
The syntax for Java and C# are similar, but the architecture for Java/JVM is definitely not the same/similar as/to .NET.
Porting Minecraft from Java/OpenGL to C#/XNA is not the key part in making it more efficient. I facepalmed my way throgh the Minecraft mechanics and saw some obvious flaws:
Chunks
Chunks contain 16x16x128 blocks. So everything from bedrock level to the top of the sky is stored in one chunk and is loaded at once. Which is obviously inefficient because one does not care about the blocks beneath the player unless he digs down. They already changed this in some snapshot version...not the official release though I think.
Map Format
The map format partially relies on text searching to find the correct place inside a map file...compared to Bungie's map format it's a QQ
List goes on and on...
http://youtu.be/7anx9_3TYvg?t=37s
http://www.youtube.com/watch?v=oXmwLkSDQL8
The version is already a tad older and relies to much on the CPU. Right now I am working on getting some HLSL going to let the GPU do all the work.
By the way Notch updated the way maps are stored and also updated the chucks (he increased height by two-fold).
Why is that inefficient? You want to decrease the amount of loading from file you need to do, as thats the killer part. What happens if player wants to place a TNT block? That has a wider range than a players dig rate.
The chunk is GZIP compressed and they did not allow any space inside the file for chunk decompression so you either IO it ouside or load it into memory (which takes a lot of time...). Second problem with that is that you surely have realized when you teleport in MC to a region which has no chunks loaded, everything from top to bottom is loaded which is stupid because the visible part should be rendered first. E.g. If you are on top of the Empire State Building you don't want every floor of the building to be loaded. You want the top floor to be loaded first.
If you are concerned about TNT you load the top floor first and then after the whole visible top floor is loaded, you can load one floor beneath.
Yes so you need to load a whole chunk at a time. You stated that if your at height 32 for example, why bother loading height 1 first? How does the chunk know where you are? It doesnt. It reads the chunk from start to finish. That is why you load bottom to top. If you were to reverse it, and have top height data at the start of file, you'd have the opposite problem if your in a cave (why load empire state building first when your in an underground cave).
So the whole chunk needs to be loaded. You also need to take into consideration sand/gravel blocks, which will fall if theres a space below. This is another reason why its loaded bottom to top.
I like the Minecraft discussion going on in this thread, but [WIP] GuiltySpark
No no...top to bottom or bottom to top doesn't matter. My point is, which they already changed as stated in an snapshot update, to divide a chunk into more pieces. Before 16x16x128 now 16x16x32. So you have 4 sub-chunks in height where before you had a whole chunk.
About the Gravel, in a voxel engine you have to save chunk states wether they are solid (in case of gravel it's not), opague etc so neighboring chunks know.
Fair enough, all I'm saying is your going to run into issues making BeautyMine :D
Na, I don't know anything about that. I'm doing a quests mod for bukkit servers.
What do you mean by this? Source is still available in the release thread:
http://www.modacity.net/forums/showt...te-your-player
http://marketplace.xbox.com/en-US/Product/Minecraft/66acd000-77fe-1000-9115-d802584111f7
Already being made, officially by Mojang.
Sorry for temporarily derailing thread Con :D