Making MineRoyale.io Part 1: Inspiration

1/7/19

Welcome to the first part of my ongoing series of posts on how I made the game MineRoyale.io! Obviously, the game was inspired by a combination of Minecraft and Battle Royale games, but there are more influences than just that. To make this series of posts, I'm going to be looking into the version history of my game, and taking screenshots of the most notable moments in development.

Minecraft Hunger Games

Many years ago now, my favorite game was the Minecraft Hunger Games. The version that I played began with 100 players, let players choose kits to give them certain advantages, and let players heal instantly by drinking mushroom stew.

I searched around for 2d Minecraft games, and was surprised to find absolutely none that were mildly interesting. There was no block-based top-down .io game that I could find either. So I decided that I would make my own! Originally, I did not want the forcefield to close in slowly, as Minecraft Hunger Games did not have that. Also, I was planning to have a main feast event, similar to Hunger Games. These ideas changed as I realized that I wanted faster gameplay which often ends with an entertaining 1v1 at the end. I also wanted my game to be understandable, and Battle Royale is one of the most easily comprehensible games for players right now.

Pocket Miner

Another influence for this game was a mobile game called Pocket Miner. Take a look at this picture:

You can see that there is a dark area that hasn't been mined yet. I thought that this was a clever idea for a 2d game, giving a sense of unsureness whenever you mine around. The difference between my game and this one is that this game had a side view, whereas my game is top-down, as most .io games are.

Other .io games

Obviously, there are already many other .io games with the Royale game mode, where a forcefield slowly pushes you towards the center of the map. However, most of my inspiration came directly from Minecraft, and I just simplified some elements like crafting, inventory, and more to make it as easy as possible to understand from the start. I looked at other .io games only for certain stylistic things like the player image and the forcefield.

First Test

When I initially started testing, all that I knew was that I wanted a game in a cave, with textures and mechanics similar to Minecraft. Here's a screenshot of my very first test!

As you can see, I was using Minecraft textures for experimentation in the background. The center image that says "Phaser" was just a placeholder for a player (I'm using a game framework called Phaser to make the game). Rather than having darkness in the areas that you can't see, I was thinking about having darkness surrounding your player at all times, making for a very spooky experience. I decided against this at the very start because I thought it would get extremely annoying to not be able to see anything.

Another element that I couldn't decide on was if I should have torches in the game to create light. I also decided against it, just to make playing easier and more fun. Later on, I was thinking that I would have a torch item that players could use to reveal a part of the darkness blocks. I also that might have been too complex. Here's an image of the torch texture that I already had prepared, in case I added it in to the game:

Building from Inspiration

Once I had these initial ideas fleshed out, I realized that darkness should work by hiding the open areas and blocks that are not in your nearby range! I struggled with what the ground should be to keep it easily distinguishable from the stone, but eventually landed on the sand texture. After all, it is very hard to play a game if you don't understand where you can walk!

After I had this greater idea for what my game would be, I built an algorithm for storing blocks on the server, then only revealing the blocks to the client that they should be seeing, leaving no room for x-ray or seeing further than you are supposed to see! The problem was that it wasn't very efficient, making the game very slow, but I worked out those kinks much later. I will talk more about this part of development and my initial prototypes in the next part!

Checkout the next part - Making MineRoyale.io Part 2: Prototype

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