Lets Make A Multiplayer Tank Game – Part 1 (Intro)

Boring Preamble

Hello everyone 🙂 It’s been a hot minute since I have written anything for this blog. In the last tutorial I did, we created a client and server using Unity, DarkRift, and PlayFab that included accounts, logins, characters, spawning, click based movement, and despawning.

Unfortunately, that project started to become a little top heavy and didn’t make it quite as far as I would have liked. While I still think there is a ton of value in the “MMO” tutorial, I want to take what I have learned since and do another tutorial with a completely different style of game

Enter “Tanks” (super original I know) – this is going to be a top down multiplayer tank shooter using PlayFab for authentication (although this time with OAuth since I already covered the Email/Password approach in the last series and in this post). Lets take it from the top with a high level overview.

The Plan

To avoid re-writing content that isn’t needed I may refer to part of the last series if it is going to be the same exact thing.

I am not planning to have any IAP or other such system in this series, though I am hoping to cover that topic in the future.

Account/Login – As mentioned we will be using PlayFab for user accounts/logins (I think having a complete system is important) and potentially for in-game items. We will use the server to intercept API requests to add a layer of security and remove the ability of a client to misbehave. This will come later in the series as I want to get some gameplay working first.

Movement – I am going to be using a different approach for movement and movement syncing as well since “click to move” isn’t really what I am going for. I want to have WASD movement with the ability to rotate the tanks turret to point at the mouse.

Combat – Players will shoot at each other with slow(ish) moving projectiles (I don’t want it to turn into a spam fest). Players will have health, when they take enough damage they will explode and respawn 5 or so seconds later.

Arena – We are going to need a place to fight in. Obviously at a certain point a single arena would get too crowded so we are going to create a simple lobby/room system to handle this (when we get to that point). The server will be keeping track of rooms and such and if enough players are in an existing room it will create a new one and add the player.

Out of scope but maybe in the future – Powerups, in game item shop (using points earned from kills), multiple tank/weapon types. Feel free to add as much as you want to your own version 🙂

In the next of this series we will setup the project and confirm things are working.

Leave a Reply

Your email address will not be published. Required fields are marked *