Sign in to follow this  
Heaven

Minecraft Clone

Recommended Posts

Heaven    600
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
Heaven    600
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
nexekho    112
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
JTippetts    12950
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
Beyond_Repair    116
Hehe not much required to look better than Minecraft ^^

Though I suppose this statement may not be true some months from now when Minecraft creator has got his company up and running.

Share this post


Link to post
Share on other sites
jontewut    100
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
kiwibonga    183
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

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