Pages

Sunday, April 12, 2015

What Got Done

  • New health bars and unearth indicators.  We wanted a new type of radial health bar that would show the player how much health the unit/tower/base had relative to other units/towers/bases.  Dividing the health bar into segments based on how much health the unit/tower/base had turned out to be the best way to show that.  Unfortunately the current solution we were using for health bars would not allow for that, so I started from scratch.  I was able to get something decent with Line Renderers but they had issues when the camera moved and the edges would not line up properly.  
First draft with LineRenderers
After that didn't work out too well I looked into a procedural mesh with a procedural texture.  I was able to get a customizable torus shape fairly easily with an acceptable UV mapping.  Then I tried a few texture variations to see what would work well with that mesh.  A texture with a thin horizontal strip of white in the middle and a few very thin black vertical lines produced this result.
Procedural mesh, hand made texture

Luckily all I needed to do to add the segments was to add evenly spaced vertical black lines to the texture.  This was definitely doable via code.  After a few iterations and some polish, this was the result in game.
Procedural health bars in game

  • Lots of networking fixes based off play-testing sessions from last week and this week.  The first thing that I got working was having all of the players rejoin the lobby after the game after it ends.  What sounds like a fairly simple task actually ended up being pretty difficult because of a limitation of TNet.  When you start a game we make the game private in TNet and remove it from the master server to prevent anyone else from joining.  The problem is that once you make a game private, there is no way to make it public again.  So at the end of the game, everyone will disconnect, while the host automatically starts up a new game and all of the clients rejoin.  I also moved some of our remote function calls that get called very frequently from TCP to UDP.
  • Started working on laying more groundwork for supporting 8 players.  Originally, when you would place a tower the path would autocomplete to the nearest enemy base.  Once that endpoint was set you couldn't change it.  Now when you are editing a path, it will autocomplete to the nearest enemy base from where your mouse is.  This is a big first step for making 8 player games work but there is still much to do.  I also reconfigured how we were assigning bases at the beginning of the game to allow for testing 8 player games on 1 machine.
  • Wrote a document explaining in detail how networking works in Gygan Reign.

What's Next

  • More work on 8 player support.
  • Continuing tests on networking.
Total time:  37 hours

No comments:

Post a Comment