Showing posts with label graphics. Show all posts
Showing posts with label graphics. Show all posts

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.

    Friday, October 1, 2010

    Graphical Fonts Are Back!

    Graphical font capability has once again returned to MHFramework.  This benefits not only TLC, but potentially every future project.  To test the system, I created a custom font using characters from the old NES system font.


    Nostalgia indeed -- for the NES as well as my old MHImageFont class.

    Saturday, September 18, 2010

    Progress Report (09/18/2010)

    Again, work and school (plus a family reunion) crushed my hopes of making great progress this week.  And again, a few small things were accomplished anyway.  The Force is with us!

    See those green leafy tiles?  Those are JPEGs that have been transformed dynamically by MHFramework!
    Accomplishments:
    • Added support for JPG and PNG file extensions for game world asset images.  Each tile to be loaded causes a call to a function that constructs the expected base file name, and then looks for all three extensions until it finds a match and loads it, or doesn't find a match and assumes that all tiles have been loaded for the current layer.
    • Started this development blog and posted the old progress reports to it.
    • Created issue tracking spreadsheet.  Not sure where, how, or whether to post it online.
    • Began to gather and organize notes for the level design guide.  In the process, I started considering a new structure for the game world.  Questioning my sanity now, and wondering if I'm brilliant or just sleep deprived.  Maybe both -- time will tell.
    Issues:
    • Images from MHFramework don't load when running as a standalone executable. 
    • Player modes need to be tested.
    • Standalone server app does not properly register a player  name.  
    • Standalone server app does not display the appropriate UI at some points.
    • Status bar says, "Connected to null" instead of displaying server IP address.
    • Tech design issue:  When we automate the creation of isometric walls, how does the numbering system work when turning one image into three?
    Next Steps:
    High Priority:
    • Add buttons to lobby screen
    • Create isometric wall tile converter
    • Define TLC screen base class
    • Enhance client list display
    • Redo team creation screen with custom components.
    • Test and fix standalone server app.
    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.
    • Fix MHFramework image loading bug.
    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.