View Single Post
Posts: 2,225 | Thanked: 3,822 times | Joined on Jun 2010 @ Florida
#26
Originally Posted by zdanee View Post
Calculated the 128^3 size from the 2MB map size. I myself rarely play minecraft (because it is highly addictive and I have a life to live )
A wonderful choice. The main reason I'm barely on this forum as of late? Minecraft. F'ing game just demands to be played.

Originally Posted by zdanee View Post
I think the main problem with Minecraft is the fact that it is written in JAVA. I imagine (again I don't know for sure) that each block is an object w private data of its position, orientation, texture, whatever, so it is waaay more than 1byte / block, hence the big memory consumption. Also, easy to write the code, but horrible to render the graphics. Last time I checked JAVA was awful with memory handling. I also guess that there is no 3D-acceleration in the game. Fact is that my Core i5 machine while does not lag, uses 100% CPU while running the free beta, that should never happen with a game. A C++ rewrite and the use of 3D accelerators should make this game run smooth on any machine.
So again, I admit I'm not the hardcore Minecraft fan, but given what I see this is the problem with the game and is why I said it should run on an i486.
Yeah, I'm with you on the Java thing. Honestly, if you ask me everything should be coded in C (though not C++ or other derivative Cs - I mean hardcore C where you don't get to have a string variable because char arrays are sufficient and have to consciously pay attention to where every single byte of memory you're using goes, and OOP doesn't happen).

Anyway, yes, Java's probably to blame largely.

On the other hand, given the way the game works, I think it has to keep track of the position of every single block. And I believe you guessed right - every block has position data, at least some (I suspect all) have facing data, and a block-ID (and then that's how they determine textures and other block properties. So at least that's not stored for every single block individually).
 

The Following User Says Thank You to Mentalist Traceur For This Useful Post: