Saturday, March 19, 2011

Progress Report (03/19/2011)

Once again, I've surprised myself by accomplishing several things by just working for a few minutes at a time. I haven't had longer than about thirty minutes at any one time to work on this project, and yet those scattered little moments throughout the week have enabled several small steps to be taken. There are lessons to be learned in this! It's unfortunate that so many of the tasks in this project are far too large and complex to be completed in such a tight space.

Still, even small accomplishments bring great hope. At the very least, they keep hope alive.

Here's the game in one of the new widescreen modes.  The old mode is still available, of course, but now there are three more from which to choose your optimal experience.
Accomplishments:
  • Fixed the team config, character config, and character recruitment screens so they display correctly at all supported resolutions.  (If I'd known it was going to be that quick and easy, I would have done it last week!)
  • Corrected an issue with the MHFramework Wall Tile Transformer utility so the right-facing walls have no gaps and line up properly with the left-facing walls.
  • Created some new maps just for testing.  
    • Also created a basic blocked-out version of the Mansion level.
  • Pseudocoded some classes for decoupling the characters, laser beams, and other dynamic actors from the map.  
    • Really, really, really wanted to have time to implement the code, but no luck there.
  • Spent too much time considering a complete redesign of the user interface for player commands to make it more intuitive and help it flow better.  
    • After prototyping it through a few different scenarios on paper, I decided against it because there would be too much ambiguity, which could make it prone to errors and frustrate the players. I won't completely abandon the idea until I bounce if off of some brilliant game designers that I know, but for now, I'm going to stick with the original design.
  • Readjusted some of the priorities in the project plan to postpone some of the art-related tasks.  Since I can't be sure who will be doing my art, those tasks need to be put on hold while I do what I can from a functionality perspective.
    • However, just to help me visualize the player command UI, I started designing buttons for selecting a firing direction when attacking. Probably gonna throw them out when I finally have another UI artist.
Known Issues:
  • 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 color cycle control on the team creation screen throws an exception when there is only one color remaining to choose from.  This is only an issue when setting up a game with eight human players.
  • Chat messages get lost when a user in multiplayer mode switches 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 and handle the "whose turn" message..
    • Create the "whose turn" display to show it.
  • Implement the Move action.  This will involve:
    1. Decoupling the characters from the map structure.
    2. Implementing network messages for the Move command.
    3. Implementing the UI for selecting a destination.
    4. Done:  Implementing a pathfinding algorithm.
    5. Implementing path following behavior.
Medium Priority:
  • Sometimes network errors will cause an AI to be disconnected immediately after it connects.  This causes the lobby screen to wait indefinitely for a player who will never arrive.  The server should detect this and try again to create the AI player.
  • Investigate ways to dynamically color the team uniforms.  Experiment on the placeholders.
    • If this works, add the ability to dynamically color MHFont objects too.
  • Create the in-game chat component.
    • But first, fix the issue with the lost messages by making the data structure static.
  • Fix the team color selection for the eighth human player.
  • Create the HUD's event log display.
  • Finish voice scripts for narration.
  • Finish asset lists for current set of level designs.
  • Formalize the flowchart for the AI logic.
Low Priority:
  • I have a plan for optimizing the AI character initialization routine.  Gotta try it.
  • Create the token factory and displays.
  • Implement the Draw Token action.
  • Implement the Heal action.
  • Implement the Attack action.
  • Finish the team creation screen.
    • Put in the floor image for the captains to stand on.
    • Replace plain gray buttons with captain character images.
  • Finish the level design guide.
  • 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.
  • Make the AI players taunt each other in the lobby chat, just for fun.
  • Design the web site.
  • Get coin display graphics from the 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.

No comments:

Post a Comment