C# | Unity | Networking | Hobby Project
BossBros was my summer project 2018. I was inspired after a game session of PathFinder when discussing with a mate. It would be fun to have a game like World of Warcrafts dungeons, but instead of having to do the boring part of trash, there would only be bosses after bosses. Somewhat like The Game Bakers' Furi.
I had never coded networking before, but I was eager to try it. And as I was quite experienced with Unity and since Unity has lots of tutorials, I decided to use their engine. Unfortunately, Unity decided to deprecate their old uNet system and the project was halted. Also, lots of school... TGA...
I started of with some capsules, but got quickly tired of it and asked Olof if he wanted to model something to me, and we agreed on creating gnomes. I always played gnomes in World of Warcraft. Master Race.
Unity's system was easy to start with, but having to use if-statements for isServer, isLocalPlayer and hasAuthority quickly became difficult to wrap my head around. I got to the point where I could have multiple clients connected to a host server, and they could heal each other and attack a "boss", that didn't do much but run towards the players and hit. I started of with a shockwave effect for the boss, but never finished it.
Now that Unity's current networking system is deprecated, I lost some motivation to continue on the project. It would be fun to try starting it from scratch again with my new knowledge, especially now that I have had the networking course in school. Unity is currently in alpha (April 2019) with their current networking system and there is very little documentation. Perhaps I would try Unreal Engine again and try networking there instead.
Below are two functions that the players' characters used to cast spells. There were a lot of if-statements to ensure that it was possible to spawn spells. Also when I started out with this project I wasn't too concerned about making it reliable against hackers. So I let the players, only myself (:(), do the if-checks if it was possible to spawn spells. Then I used Unity's Command system to spawn a spell on the server for all other clients, letting it do a final sanity check on whom the spell should be cast upon.