Hello everyone,
I'm excited to share this update with you today as I have wrapped up the basic features of a my multiplayer game.
Don't get me wrong, there is still a lot to do and I'm sure we'll discover bugs along the way but the most important thing is that you can now face a real life opponent in the game!
So don't hesitate to hop on to the site and try it out.
I finally took the time to create a trello board and add some of my ideas.
It helped a lot with this latest feature, so I could take one step at a time and not feel too ovewhelmed.
As you can see I have placed a lot of the multiplayer related tasks (the yellow labels) in the "Done" section. Still have timers to set up. But that does not prevent from completing a game.
Last time, I shared my progress, I was still doing the Army Builder as I call it. Additionally I set up the settings button that allow you to quit the game at any point. A system of reputation might be needed in the future to avoid players quitting an on-going game to often.
Then I worked on the page for the initiative roll.
On this page, each player rolls a die. The highest number gets to choose who starts first.
Later you would be able to position your miniatures in your zone at the beginning and you might want the opponent to start moving towards you. However, it is an automatic set up for now, so it makes more sense to start first at this point.
Please note that all of this is persistent. You can browse to the homepage, even quit the browser all together, when you're back you'll find a banner linking to the on-going game. All the data is saved on the server and deleted once the game is over or the table intentionally deleted.
And so, you finally get to the game!
That's the view from the first player's perspective.
From the second player's screen, the camera is reversed, and of course the actions take place a the same time.
You can see the dice roll on both screens from this shot.
Both session communicate with each other, going through the server identified by what they call a "socket". Each player has joined a room that has a unique number.
If the page is reloaded, the app goes check if the player is still in the room. Otherwise it adds him back.
I'd love to add a feature to enable spectators. That could be fun to see others' strategy and how specific miniatures play out.
Now, it looks like the Outer-ring troop got diced out. Those damn bots are pretty good at long range. You better not get in their sights.
As previously, the server sends the information to the other player and the miniature is removed from the board.
The game continues and we are reaching the final confrontation.
Looked like the teams were skewed at first, but we are down to a duel. That conforts me in the idea that it is pretty balanced.
Also I did all the stats before starting the development of the game, so I know it'd be balanced eventually. Outer-ring savages are just better at close range.
When a player is out of miniatures, the battle report pop appears, showing the winner and the results. You might me wondering how the score is calculated. The decision is not final but I do want to have a comparable score between small games and larger games so here is how it goes.
Score = ( Cost of enemy miniatures killed + Cost of player miniatures saved / Maximum army value ) * 100.
That returns a score between 100 and 200 for any size of game.
We can imaging different type of rules like area control, a coop survival mode, a deathmatch with respawn, etc... All of these would give a different score between 0 and 200.
Eventually the score would be added to your profile to get rewards back. This is still in the works so I might change later.
So there you have it. A live multiplayer!
I know some of the layout is not very exciting, especially the lobby but my goal was to finish the implementation, have a working product and move back to design..
So what is next...
- Get the timer feature done, so that games don't drag too long.
- Improve design for the lobby.
- Have at least one miniature per team.
- Set some miniatures as NFTs for players to support the site.
I think I'll leave those first miniatures free for all players, and add some more that would be minted. That would allow the game to remain playable while you accumulate some rewards.
For now, this game has nothing to do with Hive or crypto currency but I'm excited to implement this into the game and allow players to get crypto back with their battles.
I spent so much time on this. I'm glad I reached this point. Let's keep going!
I'd love to have your feedback with the game so far. Don't hesitate to drop me a line below.
You can go try out the game here https://miniaturena.com.
You can log in with your hive account, used only for name and avatar for now.
See you on the other side,
Jrej