Sign in to follow this  

Minecraft Clone

This topic is 2522 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Shamelessly, I recently began work on a game influenced by Minecraft. I'd be interested in feedback from anyone who has the time to check out my work.

Forum

Direct link to the file:

test.zip

Got word that it doesn't run on a Vista machine, and another that it works on XP (my dev platform). Shoot me a comment on the forum if it does/doesn't work and tell me as much as you can.

Thanks in advance!

Take care.

[edit]Not much to screenshot yet, heh. Here's one though:



[Edited by - Heaven on November 15, 2010 5:31:43 PM]

Share this post


Link to post
Share on other sites
Drathis wrote:
I think you need to optimize this a little bit :P

Yeah, no doubt. It's using brute force for rendering right now. It actually draws every block in a cube surrounding the player out to RANGE. Heh. That's one of the very next things I'm going to work on.

Thanks for the feedback Drathis!

Take care.

Share this post


Link to post
Share on other sites
I've actually worked on a number of small Minecraft clones (some before Minecraft existed, heheh) and so I've got some optimisation tips:

Split your terrain into cells roughly 32x32x32, and frustrum cull/occlusion cull those
If you plan on using shaders, overdraw is killer so reduce the impact using deferred rendering
You can use a technique similar to run-length-encoding to find cuboids made of the same stuff and optimise them into a single block
Wasted draw time can be reduced by factoring face visibility into this and chopping out polygon data that touches another block
Multithread your blocks-to-faces system, it'll reduce slowdown and hangs
If applicable, try and build few large draw calls, it'll run much faster on iOS in particular
(additional:) use GLints for position data/UVs and GLbytes for normal data, no point in wasting memory/performance using GLfloats and you should get dead on accuracy.

I'll post some screenshots of my Interactive Media final major project (yes, I was stupid enough to try and make a full working game, it didn't work very well but I got top grade for effort and method) which used such a system.





All three screenshots easily kicking out a solid 60fps on a Athlon64 single core @2.7gHz and a nVidia9500GT with 512Mb of VRAM.

Share this post


Link to post
Share on other sites
It works on my Vista laptop (draws, anyway; I can't seem to move using the arrow keys, though). But so far, it looks good!

In case you might be interested, I've done a journal post about some of my experiments in generating Minecraftian levels using chained noise functions.

@nexekho: That looks really good.

Share this post


Link to post
Share on other sites
It looks very nice. I'm about to try this out myself and I have a question.
How do you store the maps in real-time?
I was thinking about a 3D array in a class but it doesn't work to have a changeable size of the map then.

Thanks in advance!

Share this post


Link to post
Share on other sites
Minecraft cuts up the maps into "chunks" -- large cube-shaped subsets of the world grid. Those are saved to file, and loaded/unloaded as the player travels around, so that only those chunks that are close to the player are ever stored in memory. Level data is procedurally generated on the fly, hence why save files keep growing and growing as the player discovers new places.

EDIT: (To answer the question: yes, it's a bunch of 3D arrays)

Share this post


Link to post
Share on other sites

This topic is 2522 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this