Saturday, December 4, 2010

Progress Report (12/04/2010)

This week's accomplishments were not numerous, but they were of vital importance.  The project is in a new phase now where the focus has shifted to game play initialization, which involves fairly significant effort in the user interface, the network client modules, and most of all, the game server.

This is the very first screen shot of the actual game screen, though it's still missing the UI.  Those red balls won't be visible in the final game -- they're just spawn point markers that the server will process and then filter out.
Accomplishments:
  • Decided that the simplest way to organize the level assets, at least during development, is to superimpose LIME's directory structure onto the game's directory structure.  Overall, it's a messy approach, but it will save a lot of time and be less error prone than constantly copying files around whenever changes are made.  I may return to this issue and reorganize things once most of the levels have been completed.
  • The game screen is here!  It's not very interactive yet, but the loading screen loads it and then the game screen appears with an actual level loaded into the main viewport!  (Screen shot above.)  That's one small step for a programmer, one giant leap for Team Laser Combat.
  • Encountered a problem in regression testing.  A couple of months ago, when I added the new layers, I did not test the map renderer adequately.  As a result the rendering order was causing a problem when an obstacle was placed too close to a wall.  So I fixed the rendering algorithm, and actually optimized it quite a bit in the process!  (Yay!)  Unfortunately, there will now be issues when animating sprites from one map cell to another, and visual glitches when a tall object has a ceiling in front of it, but I already have a fix in mind just in case it ends up being a real problem.
  • Started experimenting with palette manipulation and image processing so that the characters' uniforms can be colored according to their team color.  I hope to have a working prototype soon.
Known Issues:
  • Intermittently, the captain will not show up on the team roster the first time the team screen is opened.  It works almost all the time, but not always.  This issue is caused by network latency, and all attempts to correct it have failed so far.  
    • However, there is an easy workaround -- opening the Help dialog (or any other screen) and closing it again triggers a full refresh of the screen.
  • 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:
  • Create the AI for the lobby state.
    • Needs to be able to create a team, spend coins at random, and then signal ready to the game server.
  • Create the team status viewer.  (Dependent upon lobby state AI.)
  • Create the event log.
  • Create the "whose turn" display.
  • Create the character data viewer.
  • Create the HUD button menu.
  • Create the action button menu.
  • Create an in-game options screen.
Medium Priority:
  • Finish voice scripts for narration.
  • Investigate ways to dynamically color the team uniforms.
  • Finish asset lists for current set of level designs.
    • Evaluate Sarah's level designs, too.
  • Formalize the flowchart for the AI logic.  (Due January 3, 2011.)
Low Priority:
  • Create the token factory and displays.
  • Finish the team creation screen.
    • Put in the floor image for the captains to stand on.
    • Replace plain gray buttons with captain character images.
  • Create command line interface for server so it can be launched and configured remotely.
  • Finish the level design guide.
  • Design the TLC 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.

No comments:

Post a Comment