"6 Months of Mine Blocks Beta Updates!"

Hey!

It's time for a status update on Mine Blocks Beta - the HTML5 remake of the original Mine Blocks Flash game!

It's been 6 months since the first early access version of Mine Blocks Beta was put online, which means there have been 27 Friday updates in a row! Holy moly.

And the progress is pretty clear. The remake is over 80% done - we're in the final stretch!

In this post, I'll talk about how the progress has been going the past 3 months since the last post about Mine Blocks Beta. I'll also talk about what you should expect to be added next.

You can play Mine Blocks Beta here: mineblocks.com/beta

Overview
Things have been holding strong since the last post. There has been a slight increase in weekly views as the game becomes more and more stable, however without players being able to save their creations yet, I'm not expecting or hoping for Mine Blocks Beta to receive too much attention quite yet. But we're not too far from that!

In total, Beta surpassed its first quarter million plays! Sounds crazy when put that way, especially considering that technically, more people are playing Mine Blocks Beta than Mine Blocks Classic now that Flash is gone. The last day Mine Blocks Classic had more plays than Beta was March 20, but as you can see in the chart below, Beta became more "popular" than Classic as far back as update 12. RIP Flash ;(



The completion percentage as of writing this post is 81.4%, which is 12.7% higher than where it was at in the last post. With 13 Friday updates released in that time, it seems I averaged almost 1% of progress per update.

The remaining 18.6% is made up of under 100 tasks! Every week, that number gets smaller and smaller. It's satisfying to cross off items!

Entities
Since most of core game mechanics have been implemented already, the big focus of the past 3 months has been about porting "entities" in general. Entities are any interactable moving objects in the game. 3 months ago the game only had 3 types of entities, and now it has over 26!

The bulk of these entities are mobs (animals and monsters). A month and a half in, I posted the first mob: skeletons, and now there are already 14! Mobs interact with the game in a lot of ways, from intercepting projectiles and explosions to triggering pressure plates and carrying balloons, so the game was really put to the test as all of these systems started interacting fully for the first time. It was one of those moments where I felt that Mine Blocks Beta was really coming together!

At one point though, I accidentally overwrote my port of all mob data, so I had to redo work on over 2000 lines of code. It was easier the second time for sure, but lesson learned: definitely don't hard reset git without double checking unpushed code lol

All of the game's projectiles were ported in the past 3 months as well. This includes arrows, spears, shurikens, snowballs, ender pearls, and some more. An exception is the Henry Stickmin Mine Blocks Easter egg - I didn't originally add those assets yet, since the Easter egg was not discovered when I first started releasing Beta updates.

The transportation entities were added too: rafts and minecarts. And pigs, of course. Porting minecarts went surprisingly smoothly despite the complexity - this is definitely evidence that I'm getting better and more efficient at porting. That's great news longterm, because it means once the game is ported, it should feel natural and easy for me to make more Mine Blocks updates!

Particles
Particles are like entities, but way simpler! I was able to add all particles in the game, except for the purple beams that emit from the ender dragon when you defeat her - but I'll add them when they can be triggered.

I even added the lava bubble particles, which were actually broken in Mine Blocks Classic for like, almost forever. They were on the big list though, and I thought, why not resurrect them. Welcome back, lava bubbles!

Lighting
The final lighting tasks were also completed. Between fixing an issue with darkness levels to adding the player glow, sleeping dim, and jack-o'-lantern layers, finally the game's lighting system could be fully checked off.

There are some optimizations I would still like to make to the lighting system at some point, but so far it hasn't been an issue. It's great there's room for improvement though!

Player Animations
All player animations have now been added, including sleeping, dying, and riding rafts and minecarts. Projectile drawback animations were also ported, bringing all of the 1.29 animations into Beta.

There are still a couple player-related features left to do. The big one is to implement armor! But that feature is a strangely difficult one to add:

A Tangent About Armor

Armor and held items (like endermen picking up blocks) are challenging because the game needs to be able to reuse the code for how items display, particularly for mob heads. Item rendering has been optimized in many ways, so overriding its position, size and rotation in the world means essentially hijacking its behavior a bit. That part is okay; I already came up with a solution for that.

But on top of that, there's the requirement that the game should be able to sandwich armor between multiple layers of the mob, like between the body and the stretched out arm of zombies. That's a bit trickier, but I can keep track of how many layers each item has, and if that changes, reset the mob so that all of its pieces can fit in one place.

After working on those additions, I realized one final gotcha: what about coloration? When a mob gets damaged or dies, it turns red, for example. That should be applied to the armor and items as well. I could make a similar hijack for that, but it's actually more complicated than just changing the item's color - sometimes items already have a color, or partially have a color. Dyed leather armor is one common example of this. The colors will have to multiply properly in order to work as intended, and that requires hacks ontop of hacks.

Surely I will get there with armor, but you can probably see how complicated it seems!

What's Next?
The current focus is to continue adding the rest of the in-game features, to complete the "game" part of the game.

The first goal is to finish porting all of the mobs. Some of them have particularly unique visuals, which makes them more difficult to add. For example, spawnskins will be challenging to add properly, because I have to optimize how their textures load. And the ender dragon has a lot of pieces to get just right.

Alongside that, there are some gameplay features that need attention soon, like enchanting, brewing, and fishing. These shouldn't pose many challenges, thankfully!

One thing that does pose a challenge is text editing. It's something you take for granted in any game and application, but is actually a really complicated task, especially if you want it to feel right when you're typing or selecting text. I will have to spend some good time to make a simple text editing system, and expand on it later. This will allow features like item search, commands, sign editing, and renaming in anvils. And of course, it'll eventually be used throughout the menus, like naming your world.

Speaking of menus, after most of the game is complete, all that will be left is to add all of the menus and interfaces in the game. This includes the world saving and world loading menus! And with settings, skins, pause menus, and more, there are a lot of UIs to make.

2021 Project Video
In other news, in case you missed it, I finally finished the 2021 Projects video! It's the yearly video where I talk about all my projects. :)

10 Years!
And last thing - the 10 year anniversary of the first version of Mine Blocks is June 27! How amazing is that?!

Alrighty, have a great day!
- Zanz

Posted 1 month ago.
Return to posts page
Posts around this time
Comments on this post
To keep comments relevant, commenting on old posts is disabled.
Please use a different way to contact me. Try Ask.fm or Twitter. Thank you!
Previous page
Page of
Next page
This site uses cookies to save games and logins, and to hide this dialog lol. Third parties use them for social buttons, targetted ads, and analytics.
Yay, thank you for all the cookies.
Cookie/Privacy Policy