Saturday, October 23, 2010

Progress Report (10/23/2010)

Final exam week is always crazy for everyone.  To top it off, I got deathly ill early Friday morning, and so far, the condition has stuck tight into Saturday evening.  (Yeah, I feel awful right now.)  Surprisingly, despite all of that, the week wasn't a complete loss for Team Laser Combat.  Far from it.

The OCR Green font is just one of many enhancements to come in the process of making these hideous screens presentable.

Accomplishments:
  • Fixed the team creation issue when running as a JAR file.  It was failing because the server log directory was missing.  After I added that to the deployment script, it worked just fine.
  • The server now broadcasts user roles to the clients.  So now the clients also know who is a player and who is a spectator.  The enhanced client list display as well as the standalone server app will need this information.
  • Created a title banner image for the team creation screen and temporarily used it on the other screens as well.  Just until Kristen gets the real one finished.  See it in the screen shot above.
  • Simplified the data model and eliminated redundancies.  This will make the team configuration process much simpler, and has gigantic implications for the game logic.
    • This also helped to fix the issue with characters being put on the wrong team.
  • Join LAN mode is now working perfectly so far.  Last week's problem was caused by an error on the server side that has now been resolved.
  • Finished the OCR Green font and set it as the default for the data in the custom components.  See the screen shot above to see it on the login screen.
    • Also identified several other fonts that may have a place in the interface.
  • Created a TLC-specific input dialog screen.  See the screen shot above.  Now, when you enter text into a component, the rest of the screen goes dark to highlight the focused component.
  • Started designing the City Street level.  Not happy with it yet, but it's a good start.
  • Came up with a third design for the Team Configuration screen.  Here's the basic idea:  The team configuration screen will show a list of characters and their stats in a grid .  Each row of the grid will be a button that accesses a screen for configuring or retiring an individual character.  That way, the team configuration screen will remain uncluttered, plus there will be more room for help text explaining what each option does.
 Known Issues:
  • MHGUIComponent subclasses do not display image fonts correctly.  I'm currently addressing the issue.  I believe a refactoring to the Strategy Pattern is the most likely fix.
  • The team color display on the Lobby screen is not rendering properly.  It's a solid mass, rather than the parallel lines you see on the Team Configuration screen.  It's quite a mystery, since both screens are inheriting the exact same method from the TLCScreenBase class.  This may not be an issue, however, if Kristen decides to make another title banner.
  • When a player drops off, their team data is orphaned.  The server needs to recognize this and place the orphaned team under AI control.
  • Spectator modes should not have a team creation screen since spectators are not players.  They should go straight from the login screen to the lobby, or to the game screen if a match is already in progress.
  • The standalone server app is treating the user as a player instead of a spectator.
  • The server pays no attention to the number of teams selected on the Game Setup screen.  Before going into the game state, after all human players have signaled ready, the server needs to compare the number of current players with the max number of teams selected by the host, and then fill in missing teams with AI opponents.
Next Steps:
High Priority:
  • Get the controls to display image fonts correctly.
  • Get the medium buttons into the UI factory.
  • Finish selecting and creating the image fonts.
  • Add "Exit" and "Signal Ready" buttons to lobby screen.
  • Finish the team configuration screen.
    • Include a small chat client so players can talk while getting ready for the next match.
    • Design a new screen for configuring a single character.
    • Create a Recruit Team Member menu.
  • Test and fix Spectator and Standalone Host modes.
Medium Priority:
  • Enhance client list display on Lobby screen
  • Redo team creation screen with custom components.
  • Create isometric wall tile converter
  • Create command line interface for server app so it can be launched and configured remotely.
  • Replace boring buttons with image buttons.
Low Priority:
  • Change layout of main menu.  Put in placeholder for skyline backdrop.
  • In the standalone server app, the game setup screen should have an "AI Only" button that launches the game with no human players.  It should also have buttons for displaying team, character, and user data.
  • Lay out the HUD.
  • Consider designs for an effective test level.
  • Finish the level design guide.
  • Design the TLC web site.

No comments:

Post a Comment