Making a fast paced online multiplayer game is a very steep learning curve - From selecting best solution To Wire up logic Till Debugging.
"Are you nuts?" This is the line I heard in chorus from my indie team when I put my idea of making an online multiplayer game. Since we all know how difficult it is at times, from iterate through all available solutions to final debugging especially when it is fast paced and non-player object syncing. But they accepted the challenge and the journey began.
Racing Combat is a cross-platform online realtime multiplayer racing game with combat. It has long game play where player progress by finding & upgrading new cars & power driver cards by winning online matches. The initial releases are for iOS & Android.
"By nature humans like to compete and defeat each others." So we split & interpreted this line:
"humans" = Our Players
"like to compete" = Car racing
"defeat" = Combat
"others" = Multiplayer
When we started combining all this is in Unity, we got "Racing Combat" shaping up.
Racing Combat is a fast paced online realtime multiplayer game for mobile platform. So all these terms kept telling us to keep everything highly optimized. A flat type low poly graphics was a best choice for us since it gives a clean, light & contemporary feel to the game. Racing Combat has got 28 Cars, 17 Drivers & 5 Race Tracks. So all together in scene we managed to keep vertex count in limit to even support low end devices. We mainly used vertex color shader & for cars we used color mapping shader for player's customization.
The next tricky thing we had to achieve was a long nested complex UI structure due to long progressive game play. And to manage it with minimum draw calls. We tried different UI designs for it & after lots of experiments we optimized huge hierarchy of UI under 10 to 20 draw calls.
Characters does not have the facial elements since the overall appearance depicts the whole characteristics.
Apart from multiplayer the most difficult part is when your friend asks you after a year - "What's new?" And you have to say "Working on the same game, you remember we talked about it last December or November..may be..!" lol. Rest it was easy for us to manage in Unity.