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]
Minecraft Clone
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.
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.
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.
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.
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.
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.
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.
Though I suppose this statement may not be true some months from now when Minecraft creator has got his company up and running.
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!
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!
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement