• Hey Guest! Ever feel like entering a Game Jam, but the time limit is always too much pressure? We get it... You lead a hectic life and dedicating 3 whole days to make a game just doesn't work for you! So, why not enter the GMC SLOW JAM? Take your time! Kick back and make your game over 4 months! Interested? Then just click here!

3D Minecraft Clone how to?

M

Mckaos

Guest
Hello all, i was looking to make a Minecraft clone in Game Maker mainly because: 1, i know my way around in gamemaker the most over any other program, 2, it's much easier to create terrain and 2D sprites from game maker (in my opinion), 3, i can import pseudo 3D models from MagicaVoxel for objects.

If anyone has tutorials or guides on how to make a Minecraft clone, as in the 3D world generation and digging, picking up and placing items etc. It would be very much appreciated. :)

This video is an example of what i'd like to accomplish, tthough also would like to make the land much larger and have biomes:


Thanks in advance for any help.
 

Yal

🐧 *penguin noises*
GMC Elder
The hardest part with this is going to get it to run at a decent speed, GM is notoriously slow in 3D and you'll render a ton of objects if you don't optimize properly. You should probably look into some way of combining blocks into bigger chunks, Antichamber does this and one of the secret rooms lets you see that in action. Whenever a block is placed or removed, the game reshuffles the optimization.
upload_2017-8-4_10-1-6.png
 

Roa

Member
@Yal honestly the draw speed is fine. The problem comes in with memory management and lack of ability to build chunks asynchronously. When you have thousands of potential vertex per chunk, no removal of repeat indexes, and it supports all properties, you run out of room fast in 32 bit applications.

@Mckaos You're going to want to read up on buffers and vertex buffers as they are fast to build and required to leave as small of a memory footprint possible. Youll also need to know ds_grids as they should be what you check collisions against and what you store your closest chunks in. Farther chunks can be loaded as buffers or vertex buffers once you generate them.
 
M

Mckaos

Guest
The hardest part with this is going to get it to run at a decent speed, GM is notoriously slow in 3D and you'll render a ton of objects if you don't optimize properly. You should probably look into some way of combining blocks into bigger chunks, Antichamber does this and one of the secret rooms lets you see that in action. Whenever a block is placed or removed, the game reshuffles the optimization.
View attachment 11579
@Yal honestly the draw speed is fine. The problem comes in with memory management and lack of ability to build chunks asynchronously. When you have thousands of potential vertex per chunk, no removal of repeat indexes, and it supports all properties, you run out of room fast in 32 bit applications.

@Mckaos You're going to want to read up on buffers and vertex buffers as they are fast to build and required to leave as small of a memory footprint possible. Youll also need to know ds_grids as they should be what you check collisions against and what you store your closest chunks in. Farther chunks can be loaded as buffers or vertex buffers once you generate them.
Thanks both, i will definitely look into this, after some further research i may end up just making a 3D game in Unity, though this will definitely be a cool challenge for future projects
 

Yal

🐧 *penguin noises*
GMC Elder
Kids these days are all about GMS2, though. GMS1 stopped being in fashion about the time it stopped being supported.
 

Yal

🐧 *penguin noises*
GMC Elder
I still use 1.4 for everything, but that's mostly because I'm an old hipster that hates change :p
 

Yal

🐧 *penguin noises*
GMC Elder
Did you check that site chamaelon dug up 3 years ago? You can't always find a bulleted list telling you what to do, sometimes you need to read through swathes of existing code and figure out what pieces to steal get inspired by in your own engine.
 
Top