DesertTanks is a Real-Time Strategy multiplayer project based on multiplayer course by Gamedev.TV.
So you might be wondering:
What more can be found here that is not in the GameDev.Tv repo?
Good question. I have followed the course closely all the way to the end, so you should be able to find everything from the course somehow represented in my code. However, there were things I did not like or spots that I felt like doing a little differently. On top of that, I added a few features that were not present in the course at all. These changes include but are not limited to:
- Fully implementing new InputSystem including LeftClick and RightClick mapped actions.
- Utility classes which help either write cleaner code or ease work in the inspector.
- Thinner classes. I have separated many components into multiple ones to better respect the single responsibility principle. The original RTSPlayer.cs class has 275 lines and handles everything from registering spawned units and buildings, over choosing player color to validating and executing new building placement. In my solution this class is split into RTSPlayer.cs, PartyMember.cs, BuilderBehaviour.cs, ResourceHandler.cs, each with less than 100 lines of code.
- The separation and abstraction mentioned above lead to easy implementation of additional features such as:
- Destructible terrain
- Player can build more bases
- Buildings can be placed with chosen orientation
- More customizable team colors for objects
Sadly, no. I mean, yes, kind of, but not really...
What I am trying to say is that you can definitely download it and play it, but it will probably not be that much fun. Throughout the course I have focused mostly on the core code and thus there is very little content and it is not balanced in any way. Hopefully, I will be able to build up on it and make it into a real proper game some time in the future!