• Register

Mine Blocks 2 is a 2D block-based adventure game. While it can be compared to games such as Terraria and Minecraft, it has its own premise and gameplay. In this game, you are in a vast (infinite) world, forced to conquer nature in order to live. Gather the resources hidden within the planet to create and do anything out of the unlimited possibilities. The game modes will include survival, creative, and multiplayer.

Post news Report RSS Infinite worlds, dynamic lighting, and multiplayer

I've been making significant progress with the back-end code of Mine Blocks 2, adding procedurally generated terrain, dynamic smooth (and block) lighting, and successful multiplayer tests!

Posted by on

Before I talk about the goodies, I must thank you all for the support! The more you guys are excited for it, the quicker I develop the game.

I've been working hard on the backend coding of Mine Blocks 2. Here are 3 of the biggest improvements to the code since the April Fool's update: lighting, infinite worlds, and multiplayer

Dynamic lighting


I knew that when I designed the new render engine, I needed to make the lighting near-spectacular. That's no easy feat, especially when accounting for lag and procedural generation. But I did it anyway!

The lighting engine I created for Mine Blocks 2 is capable of some pretty nice things. My favorite being the angle of the sun and the interaction between the colors of multiple light sources.

Sun angleLight source coloring

It's not perfect yet. Entities (like the player) turn very dark when next to blocks, due to how the lighting system is estimated to save FPS. That shouldn't be too hard to tweak though. Also, when an area is updating, several light sources (a pool of lava, for example) can drastically slow down the game. I DO NOT want to be accused of having a laggy game, so to all of my abilities, I will make sure it's not bad when I release the next alpha build.

Check out more of the pictures on lighting.

Here's a video demonstrating the lighting:


Also, with lighting, I added a day/night cycle that features a sun and moons. I'll soon be planning clouds and weather. :)

Procedurally generated seeded terrain


When Mine Blocks 2 was initially created, the world was a fixed size, with ugly tall borders at the ends of the terrain. With infinite terrain, the game is much more dynamic and interesting. Plus, now I can make items extremely rare, without worrying about the chance that they wont show up.

How it stands now, the procedural generation is uncapped, meaning you can walk on forever. In order for me to release the next version, I must either cap it, or make a caching system so it doesn't eat up too much RAM. Flash goes crazy when that happens. :)

Video demonstrating the infinite worlds:


Multiplayer


Multiplayer is a very tricky option for me. For now, I'm using PlayerIO to host multiplayer, which is fine; it works! But the cost of multiplayer will become outrageous if I don't figure something else out.

Anyway, a few friends and I tested out multiplayer last week! It was amazing to see it working with infinite worlds and an unlimited build limit... but there are a lot of hilarious issues to address before I can make much more progress.

Infinite mutliplayer testInfinite mutliplayer test

There are currently no name tags or chat; this is a very minimally featured test.


There will be much more to come in the near future! I can't wait to release the next alpha version!
Thanks so much for reading, playing, and watching!

You can play the really old version here: Zanzlanz.com

- Zanzlanz

Post comment Comments
perceptionist
perceptionist - - 34 comments

Hey, I'm an actionscript programmer myself, and this is impressive work you have so far! Keep it up, and I'm watching to see when it's released :D

Reply Good karma Bad karma+2 votes
Zanzlanz Author
Zanzlanz - - 37 comments

Thanks so much Perceptionist! Programming stuff like dynamic lighting in Actionscript is such a difficult task due to the poor performance of Flash. Hopefully I can pull it off well enough! And thanks for watching!

Reply Good karma+1 vote
perceptionist
perceptionist - - 34 comments

Poor performance?? As2 or 3? And it looks to me like you're using bitmaps, so unless you haven't been cleaning up all your listeners or the script is waaaay overly sloppy it should be doing fine! Also, are you culling off-screen map tiles?

Reply Good karma Bad karma+1 vote
Zanzlanz Author
Zanzlanz - - 37 comments

Hahaha I appreciate the help!
But yeah, the rendering is cached, runs on chunks, and only shows as needed. (AS3 with bitmapdata, 6 listeners total) It runs at 50 fps, normally, but when an on-screen area is updated, it shoots down as it calculates the changes.
The main problem is Flash's slow handling with transparency when dealing with lighting.
I'm planning to learn Stage3D and going from there.

Reply Good karma+1 vote
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: