The month is just about over and my attempt at creating a multiplayer game has yielded some interesting results. First of all, I did make a multiplayer game where players can host and join a server and then fly space ships around and blow each other up. I haven’t tested it too excessively, but I know it works on multiple computers over my home wifi. I am not sure how many servers can be created or how many players can join!? Here is a link to the networked Space Wars Online – you will need a friend to join you to make it fun…
Game controls:
WASD – Move and Rotate
Space – Fire weapon
-+ Zoom in and out
I couldn’t get points or multiple hits working in time. Every change you make to a networked game seems to break it and require lots of debugging. I hope to refine it in the future and make it more fun. I’d like to be able to show who you are targeting, have ships that can take more than one hit. Selectable types of weapons to use.
The start page has a place for players to enter their names and also customize their ship color. While not mind blowing, since I am still learning, it took forever just to get these two simple pieces of information to be shared across the multiple players. Colors would not show up for the longest time. I think I am getting the hang of it, the names are an attempt at a larger player management system with a shared scoring system but I need to wrap my head around handling collisions of projectiles and giving credit to the player who shot them. One day!
I used a lot of references to make this thing work –
Paladin Studios Unity Networking Tutorial – helped me figure out RPCs the best…
Palladium Games Unity Networking Tutorial
Unity Cookie networking tutorial -its in Javascript though so I had to change it to C#
Unity Multiplayer Games book by Alan Stagner
Unity Networking book by Lawrence Grant
Thanks to all of you for doing your best to explain a super complicated topic. After going through all that stuff, I can see the need for a few more tutorials. Perhaps if I ever understand it well enough I will give it a try.