Saturday, October 9, 2010

Progress Report (10/09/2010)

As expected, my grad school project did indeed block any work dedicated to TLC.  Nevertheless, my school project (Invaders, Possibly From Space) did encourage a few changes to the MHFramework engine.  Since all changes to the engine affect TLC as well, I'm going to claim them as accomplishments.  Who's going to argue?

One major TLC-related accomplishment was made, however.  Check out this screen shot.  This, my friends, is a real-time, fully customizable, well-optimized, versatile fire effect provided my brand new MHFireEmitter class!  (Part of my new MHParticleSystem set.)  Now when a player destroys a destructible container in the game, it can burn for a while before revealing the item inside.

"Burn, baby, burn!"

Accomplishments
  • Enhanced the MHScreen class to add additional support for MHImageFont display.
  • Added more convenience methods to the MHDisplayModeChooser class to cut down on the repetition of common operations such as calculating screen dimensions.  (Need to create a new rectangle class that uses integers by default so I can stop all that casting.)
  • Added some static methods to MHGame and MHRuntimeMetrics to simplify the use of the built-in timer.  (Need to consolidate those method calls to MHGame exclusively, which can then delegate to MHRuntimeMetrics.)
  • Designed and created a general, reusable, parameterized particle framework.  Tested it out with a cellular automata fire emitter.  Check out the screen shot!
Known Issues:
  • Server IP address needs to be prominently displayed on the game host's screen, along with instructions to tell the other players of the address.  Perhaps as a scrolling marquee.
  • Player modes need to be tested for UI, functionality and server registration.
  • Single Player mode should not have a lobby screen since there is no one to chat with or "signal ready" to.  Instead, the player should be sent straight into the team configuration screen after team creation.
  • 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.
  • Need to test team color registration for multiple clients.  I think the server may be failing to remove used colors from the list of available choices.
  • The standalone server app is treating the user as a player instead of a spectator.
Next Steps:
High Priority:
  • Add buttons to lobby screen
  • Create isometric wall tile converter
  • Enhance client list display
  • Redo team creation screen with custom components.
  • Display IP prominently on host's screen
  • Test and fix team color registration
  • Test and fix player modes
Medium Priority:
  • Analyze and re-evaluate client architecture.
  • Begin building the game state.
  • Create command line interface for server app so it can be launched and configured remotely.
  • Create custom TLC input dialog screen
  • Create team configuration screen
  • Replace boring buttons with image buttons.
Low Priority:
  • Add sound capability to MHGUIButton class.
  • Change layout of main menu.  Put in placeholder for skyline backdrop.
  • Lay out the HUD
  • Consider designs for an effective test level.
  • Write a level design guide.
  • Implement player descriptor system.

    2 comments:

    1. It's so awesome to see that this project is still going! Great work dude :D

      ReplyDelete
    2. Thanks, Bentley! It's going, just a lot more slowly than I'd like. But the idea is too good not to finish, so I'm gonna stay on it for as long as I can. Stay tuned!

      ReplyDelete