Showing posts with label progress. Show all posts
Showing posts with label progress. Show all posts

Saturday, April 28, 2012

Progress Report (04/28/2012)

First, happy birthday to my dear friend Genny! I'm sorry I can't celebrate with you, GM, but my love and best wishes are with you nonetheless. Have a good one!

OK, getting down to business: This entire week was sort of a micro-sabbattical/vacation to take a break from my job and other responsibilities so I could spend some time relaxing and some time focusing on my capstone. Both of those efforts were mostly successful.

The vacation aspect of this week involved exploring the American southwest in New Mexico and Arizona. I finally visited Roswell, enjoyed a lot of parks, trails, caves, and historical sites, and got to experience all kinds of great new things. As a game designer, I feel that it's vital to have a variety of real-life experiences because every single one of them has the potential to someday contribute to the design of a compelling player experience.

The sabbatical aspect involved making some tremendous progress on Milestone 2. My laptop makes my work portable, so I took advantage of the travel time in the car and quiet evenings in hotels and campgrounds to concentrate on one task at a time. Check this out:


Accomplishments:
  • Implemented Combat Tokens
    • Includes functionality for attack and defense.
    • Is usable by humans and AI alike.
  • Implemented Grenade Tokens
    • The human troopers use them perfectly.  
    • Has not yet been tested for AI troopers.
  • Implemented Power Tokens
    • All eight power tokens are now supported, but very little testing has taken place yet.
  • Fought violently with an issue where the character objects are being accidentally duplicated somewhere so that the unit being used by the player (AI or human) and the unit on the server were two separate objects.  This problem has not yet been resolved.




Known Issues:
  • Several intermittent bugs with taking turns, but all seem to be related to the same root cause -- the bug where character object references are somehow diverging onto different objects.
    • Symptoms:
      • Units sometimes do not get their action points reduced when performing actions.
      • Drawn tokens may end up in the captain's inventory no matter who drew them.
    • Proposed fix:
      • Reacquire the reference to character object on each iteration through the AI loop and on each "advance" of the actions menu.
  • Sometimes Client 0, the default name of the first network connection, appears as a player on the Lobby screen.
  • The game gets stuck in the lobby if the host is a spectator rather than a player.
  • Several bugs specific to Join LAN mode:
    • Network latency causes character upgrades to not show up right away.  The client needs to wait for the updated character to return from the server before returning to the team screen.
    • The lobby doesn't turn control over to the player until the host has signaled ready. (I believe this is the exact same bug mentioned above that traps players in the lobby.)
    • Chat messages get lost when switching between the lobby and the team/character configuration screens.
    • When a player drops off, their team data is orphaned.  The server needs to recognize this and place the orphaned team under AI control.

Next Steps:
High Priority:
  • Broadcast combat results from the server.
  • Display the Combat Results Summary screen. 
  • Implement the Combat Results toggle.
  • Fix the character reference bug listed above.
Medium Priority:
  • Implement destructible containers.
  • Add hazards and bonus spaces to the game board.
  • Fix the broken map editor. 
  • Record gameplay video.
  • Write preliminary postmortem (capstone edition).
Low Priority:
  • Investigate ways to dynamically color the team uniforms.  Experiment on the placeholders.
    • If this works, add the ability to dynamically color MHFont objects too.
  • Finish the level design guide.
  • Finish asset lists for current set of level designs.
  • Create the in-game chat component.
    • But first, fix the issue with the lost messages by making the data structure static.
  • Model the characters.
  • Animate the characters using Shaun Hager's animations.
  • Add sound effects to the actions menu buttons.
  • Implement the Heal action.
  • Finish the "whose turn" display.
  • Finish voice scripts for narration.
  • Finish the team creation screen.
    • Put in the floor image for the captains to stand on.
    • Replace plain gray buttons with captain character images.
  • Let's see if we can allow the player to change video modes dynamically from the options screen so they don't have to close the program and rerun it to change resolutions.
  • Design the web site.
  • Get coin display graphics from the former art team.
    • Add it to the team configuration screen.the character configuration screen and the recruitment screen.
  • Replace the temporary column header graphic on the character equip screen.
  • Test and troubleshoot the multiplayer modes.

Saturday, April 14, 2012

Progress Report (04/14/2012)

I haven't been doing these "traditional" progress reports lately because the project and I are now in "capstone phase." So, as you may have noticed, we're doing things a little bit differently.  The sprints are now more tightly focused and the urgency of progressing each week has multiplied exponentially.

Still, I think it's important that the quality of the project management documentation is maintained if not improved.  Milestone 1 of 3 concluded last week and Milestone 2 is now being planned, so this seems like a good time to post one of my regular progress reports to mark the occasion and bridge the three-month gap between pre-capstone and post-capstone development phases.

So here's a progress report in the old, familiar style.


Accomplishments:
  • Fixed the bug where AI players would continually ask the server for movement points even when it wasn't their turn.
  • Made the inventory screen customizable for attacking and defending.
  • Added validation to the Actions menu.
  • Implemented the Attack action on the client side.  Server side support still needs to be completed and tested.
  • Implemented the Auto Attack option.
  • Uncovered several more defects for the bug list.


Known Issues:
  • AI players occasionally perform more actions than they should be allowed.
  • Sometimes Client 0, the default name of the first network connection, appears as a player on the Lobby screen.
  • The only action that appears in the Event Log for AI players is movement.  Drawing tokens and attacking are not being reported correctly to the Event Log.
  • The game gets stuck in the lobby if the host is a spectator rather than a player.
  • Several bugs specific to Join LAN mode:
    • Network latency causes character upgrades to not show up right away.  The client needs to wait for the updated character to return from the server before returning to the team screen.
    • The lobby doesn't turn control over to the player until the host has signaled ready. (I believe this is the exact same bug mentioned above that traps players in the lobby.)
    • Chat messages get lost when switching between the lobby and the team/character configuration screens.
    • When a player drops off, their team data is orphaned.  The server needs to recognize this and place the orphaned team under AI control.

Next Steps:
High Priority:
  • Implement the Defend interface.
  • Create the combat evaluator in the server.
  • Broadcast combat results from the server.
  • Make clients respond to combat results by showing indications on screen (special effects, event log updates, etc.).
  • Fix the Event Log so it shows all player actions.
Medium Priority:
  • Display the Combat Results Summary screen.
  • Implement the Combat Results toggle.
  • Implement destructible containers.
  • Add hazards and bonus spaces to the game board.
  • Fix the broken map editor. 
Low Priority:
  • Investigate ways to dynamically color the team uniforms.  Experiment on the placeholders.
    • If this works, add the ability to dynamically color MHFont objects too.
  • Finish the level design guide.
  • Finish asset lists for current set of level designs.
  • Create the in-game chat component.
    • But first, fix the issue with the lost messages by making the data structure static.
  • Model the characters.
  • Animate the characters using Shaun Hager's animations.
  • Add sound effects to the actions menu buttons.
  • Implement the Heal action.
  • Finish the "whose turn" display.
  • Finish voice scripts for narration.
  • Finish the team creation screen.
    • Put in the floor image for the captains to stand on.
    • Replace plain gray buttons with captain character images.
  • Let's see if we can allow the player to change video modes dynamically from the options screen so they don't have to close the program and rerun it to change resolutions.
  • Design the web site.
  • Get coin display graphics from the former art team.
    • Add it to the team configuration screen.the character configuration screen and the recruitment screen.
  • Replace the temporary column header graphic on the character equip screen.
  • Test and troubleshoot the multiplayer modes.

Saturday, March 3, 2012

Progress Report (03/03/2012)

I only had one evening this week to work on this project, and I shouldn't have taken even that much time.  The rest of the week was squandered in a futile effort to catch up on my job and grad school, neither of which was completely successful.  Still, the few short hours that I spent on it did bear fruit, so all was not lost.


Accomplishments:
  • The AI players wait their turn before issuing commands. 
  • The AI characters wait their turn before moving.
  • Fixed the bug where units were getting stuck in place.
  • Designed the client/server communication protocol and data structures for how the Attack command will be validated and initiated.  
    • Still to do: Decide on the best way to handle combat results. Can probably just use the combat summary data and let the clients figure out what to display/animate based on that information.


Known Issues:
  • The game gets stuck in the lobby if the host is a spectator rather than a player.
  • Several bugs specific to Join LAN mode:
    • Network latency causes character upgrades to not show up right away.  The client needs to wait for the updated character to return from the server before returning to the team screen.
    • The lobby doesn't turn control over to the player until the host has signaled ready. (I believe this is the exact same bug mentioned above that traps players in the lobby.)
    • Chat messages get lost when switching between the lobby and the team/character configuration screens.
    • When a player drops off, their team data is orphaned.  The server needs to recognize this and place the orphaned team under AI control.

Next Steps:
High Priority:
  • Make the inventory screen customizable for attacking and defending.
  • Implement the Attack action.
  • Implement destructible containers.
  • Add validation to the actions menu so that unavailable actions have a different appearance.
Medium Priority:
  • Investigate ways to dynamically color the team uniforms.  Experiment on the placeholders.
    • If this works, add the ability to dynamically color MHFont objects too.
  • Add hazards and bonus spaces to the game board.
  • Finish the level design guide.
  • Finish asset lists for current set of level designs.
Low Priority:
  • Create the in-game chat component.
    • But first, fix the issue with the lost messages by making the data structure static.
  • Implement the Defend interface.
  • Model the characters.
  • Animate the characters using Shaun Hager's animations.
  • Add sound effects to the actions menu buttons.
  • Implement the Heal action.
  • Finish the "whose turn" display.
  • Finish voice scripts for narration.
  • Finish the team creation screen.
    • Put in the floor image for the captains to stand on.
    • Replace plain gray buttons with captain character images.
  • Let's see if we can allow the player to change video modes dynamically from the options screen so they don't have to close the program and rerun it to change resolutions.
  • Design the web site.
  • Get coin display graphics from the former art team.
    • Add it to the team configuration screen.the character configuration screen and the recruitment screen.
  • Replace the temporary column header graphic on the character equip screen.
  • Test and troubleshoot the multiplayer modes.

Saturday, February 25, 2012

Progress Report (02/25/2012)


Now we're getting somewhere!  The bugs discovered in the last report have already been tracked down and eliminated.  And so far, only one new bug has surfaced in the process.  Granted, it's a pretty bad one, but at least there's only been one.
 
There may be a lot of issues, but look at how much stuff is working now!

Accomplishments:
  • Fixed the bug where the AI players got two turns at a time.
  • Fixed the bug where units couldn't move twice in a row.
  • Fixed the bug where drawing tokens failed to advance to the next player's turn.
  • Discovered a bug with the AI:  Occasionally a unit will get stuck in an infinite loop where it repeatedly tries to move to the space that it's already in.  I'm not sure, but I think this may be happening when two units try to move to the same space at the same time.
    • At the very least, the AI manager needs to wait until a unit has stopped moving before moving the next one.  
    • This will cause huge problems when more game elements factor into the AI, like items and combat.


Known Issues:
  • Occasionally a unit will get stuck in an infinite loop where it repeatedly tries to move to the space that it's already in.
  • The game gets stuck in the lobby if the host is a spectator rather than a player.
  • Several bugs specific to Join LAN mode:
    • Network latency causes character upgrades to not show up right away.  The client needs to wait for the updated character to return from the server before returning to the team screen.
    • The lobby doesn't turn control over to the player until the host has signaled ready. (I believe this is the exact same bug mentioned above that traps players in the lobby.)
    • Chat messages get lost when switching between the lobby and the team/character configuration screens.
    • When a player drops off, their team data is orphaned.  The server needs to recognize this and place the orphaned team under AI control.

Next Steps:
High Priority:
  • Force the AI manager to wait until a unit is finished moving before moving the next one.
  • Make the inventory screen customizable for attacking and defending.
  • Implement the Attack action.
  • Implement destructible containers.
  • Add validation to the actions menu so that unavailable actions have a different appearance.
Medium Priority:
  • Investigate ways to dynamically color the team uniforms.  Experiment on the placeholders.
    • If this works, add the ability to dynamically color MHFont objects too.
  • Add hazards and bonus spaces to the game board.
  • Finish the level design guide.
  • Finish asset lists for current set of level designs.
Low Priority:
  • Create the in-game chat component.
    • But first, fix the issue with the lost messages by making the data structure static.
  • Implement the Defend interface.
  • Model the characters.
  • Animate the characters using Shaun Hager's animations.
  • Add sound effects to the actions menu buttons.
  • Implement the Heal action.
  • Finish the "whose turn" display.
  • Finish voice scripts for narration.
  • Finish the team creation screen.
    • Put in the floor image for the captains to stand on.
    • Replace plain gray buttons with captain character images.
  • Let's see if we can allow the player to change video modes dynamically from the options screen so they don't have to close the program and rerun it to change resolutions.
  • Design the web site.
  • Get coin display graphics from the former art team.
    • Add it to the team configuration screen.the character configuration screen and the recruitment screen.
  • Replace the temporary column header graphic on the character equip screen.
  • Test and troubleshoot the multiplayer modes.