Friday, December 20, 2013

Week 1 Day 4 - CC & Platforms

There were no posts yesterday, as we hit several roadblocks in our work.  The primary issues came about when trying to create a CharacterController (CC).  The CC can only be moved by an absolute number of units (aka, has no velocity).  It also doesn't naturally implement gravity.  So when we were able to get gravity working, it was extremely high (because we increased it, due to Rigidbodies falling very slowly), to the point where you would jump up, and immediately hit the ground again.  The jumping was also not consistent, as the character would be teleported to the jump height, rather than making a smooth jump, as the Rigidbody had.  Both of those issues could be handled better by 'faking' velocity.  So that was implemented, though the velocity needed to falloff toward zero each frame, to account for fake drag, because CCs don't have physics reactions to other objects colliding with them.  Adding this falloff caused an unknown issue with the player's view spinning around for a split second while walking forward (the problem didn't exist when walking sideways or backwards).

Due to these issues, we decided to toss out the CC option for the moment, and return to networking issues.  Also, there was a CharacterMovement abstract class defined that defined a couple abstract methods for moving a character, and setting a character's rotation (amount of rotation is always determined by look scripts/cameras).

On the networking side of things, we did implement a PlatformManagerScript that would create platforms across the network.  These platforms would be instantiated by all clients that connected to the server.  Because they are not moving yet, they remain in perfect synchronization, which can't be said for the characters.

For today's (Friday's) goals:

  • Polish character movement across network
  • Start a basic ability implementation (cone push)
    • If there is time, attempt to push this over the network
We took a while and compiled a list of all the things the game will need for Alpha 1, to be a worthwhile test:

  • Creating & Joining server
  • Characters can move & cast an ability over the network
  • Main menu, settings, basic HUD, basic lobby (possibly chat), pause menu
  • Respawning after 'death'
  • Scorekeeping, win/loss condition
  • Teams

No comments:

Post a Comment