Progress has been steady, and a plan has been set: a Prototype with basic mechanics will be finished until the 30th of November, with the sole purpose of “emulating” the old game. Even reusing assets!
This idea came about because I need a first goal to start with. The game I have planned is very ambitious, and a daunting task. So this first prototype is not a bad place to start with.
The first stage was making sure players saw, and could fire at, each other. There were some problems, as you can clearly see in my two previous posts, but they’re fixed now!
On that video above, the shots weren’t being synched to the server. Instead, a boolean was telling the server (and remaining clients) that a player was shooting bullets. As of now, that mechanism has changed, and the server knows exactly when the player shot, as well as the origin point and general direction of the shot.
With that data, the server can make assumptions about how much damage to perform, as well as compare hit-registrations when a client informs that one of his bullets hit another player. Right now, only the server performs such validations, but I intend to have a hybrid solution like I did in the previous game.
Speaking of the previous game, I had lights before. And lights attached to bullets. And shadows and stuff. That’s got to go in.
Learning how to work with Mecanim for the sprite animations, figuring out how to light up the sprite (shadows still missing) and working with UNET’s NetworkTransform component led to that pretty demo. It’s fun to play, altough I still have to figure out a way for all clients to move those cubes smoothly. The host has a speed advantage moving them right now, because he’s the one hosting all of the rigid bodies. The blocks only move when a client is overlapping them on the host’s end.
All in all, some very productive nights. Next step is adding sounds and seeing how Unity’s Audio engine behaves. Also particle effects and a simple score system.
Stay safe. And tell your loved ones you love them.