Making MineRoyale.io Part 2: Prototype

1/7/19

Starting from Scratch... sort of.

Instead of starting a fresh new project for my game, I decided to build this game off of one of my old games, called loons.io. This game featured hot air balloons which could shoot cacti at each other. I know, it doesn't sound anything like this game! But there were some things that I implemented in that game which could carry over well in MineRoyale.io, as I'll explain later.

First Prototype

After having a good idea of the game that I wanted to create, I started making a solid prototype of the game that I could test with others! Here's a screenshot of the very first version that I saved in history:

First of all, the character is a balloon! As I said earlier, I started by building off of my previous balloon .io game. This made it easy to handle controls and movement right from the get-go. You can still see some of the unique elements like the "Upgrade" section of that game on this screen. You can also see that I used the inventory elements from that game to make a simple inventory in this game.

At this point, I had added the darkness, where only certain things are visible to you. Blocks would break instantly at this point. It was actually quite difficult to implement block breaking that isn't instant, because there are many strange edge-cases, like two people breaking a block at the same time and other potential strange behavior like that.

There are a few other funny things that I still hadn't added at that point. I mined a little bit into the wall in that picture, but otherwise, the map was just a giant rectangle, no cave systems whatsoever. Hmmm... it looks like I have infinite wooden swords! Inventory items were just placeholders at the time, I hadn't actually added items.

Designing the Player

The next thing that I worked on was that I designed the player. It took a total of about... 30 minutes. Here's what some of the artwork looked like that I was working on. You can see the players, but also some familiar and unfamiliar blocks/items:

Progress: Added player and inventory

In the next notable revision of the game, I was able to add the player image in. I also added all the inventory visuals, although half of the inventory items do nothing, and crafting did not exist at that point, nor could you get any new items. Also, armor still had no significance, so I just put diamond armor on the player by default. I was still testing in the rectangular box, rather than real caves:

I did add building at that point. At that point, I thought it would be fun if you could build with wood, so I made it possible to infinitely right click and place wood, regardless of what item what you were holding. In the end, I decided that players would not be able to build with wood, because I thought there would be no point after people collect stone the whole game:

Another interesting feature which I had in loons.io was that you could scroll to zoom in on your character. I think it's entertaining to do that, like in this picture, but it really has no functional use where you are looking for players and trying to see as far out as you can, to be prepared for enemies:

So that's how development of the game began. Making the algorithm for hiding blocks that are not visible came surprisingly quickly, and so did the part of only sending the player the data that should be visible to them. It took much more time to add inventory management features like crafting and such, because I had to make sure there were no flaws with how players get and spend resources. I will detail more about that work in a future part!

Want to learn more? Join the MineRoyale.io Discord to chat!