Saturday, August 28, 2010

Progress Report (08/28/2010)

This being final exam week, I've been extremely busy with DeVry work, so I haven't accomplished much since last week's report.  I did get a few very small things accomplished though.  Expect a much more substantial report from me next week.  There are some VERY exciting things on the horizon and I'm dying to get to them!


  • Updated the GDD with details on Trooper bonuses.
  • Updated the original concept doc with current development team information.
  • Started experimenting with isometric tile automation.
  • Began an architectural analysis of the code in preparation for a very necessary refactoring effort.
The original domain model from the project's architectural planning stage.  The actual implementation wasn't jivin' with this, so I had to refactor it.


  • The standalone server app is crashing and the UI is not being properly initialized.
  • Images from MHFramework don't load when running as a standalone executable (JAR file).
  • The game application has intermittent startup issues.

Next Steps:

High priority:

  • Add medium buttons to TLCButtonFactory class.
    • Then finish putting buttons on the lobby screen.
  • Create class for custom components.
    • Then redo login and team creation screens with custom components.

  • Diagram and analyze current architecture.
    • Then refactor it to match the architectural design
  • Fix standalone server app.

Medium priority:

  • Begin work on game state (after refactoring).
  • Begin work on team configuration screen (after refactoring).
  • Continue experiments with isometric tile generation.

Low priority:

  • Add "Spectator" option to main menu.
  • Change layout of main menu.  Put in placeholder for skyline backdrop.
  • Add sound capability to MHGUIButton class.
  • Fix MHFramework image loading
  • Create command line interface for server app so it can be launched and configured remotely.

Saturday, August 21, 2010

Progress Report (08/21/2010)

An updated main menu showing Kristen's button design.
FYI, attached is a low-quality screen shot of the latest iteration of the Main Menu, since it just got a minor face lift this week.  Mull it over and let me know how you feel about it when we critique stuff at our next meeting.  I have some ideas for how to improve it, in addition to adding Kristen's cool city skyline, of course.

And just to pat myself on the back, notice that I've accomplished almost everything in my "Next Steps" segment from last week.  Yay me!  :)


  • Finished log file integration in both client and server.
  • Put game logo on main menu.
  • Created TLCButtonFactory class for creating custom buttons.
    • Used it to add "large buttons" to main menu.
  • Reorganized TLCUI class.  Simplified access to fonts and images and created a facade for the button factory to decouple it from the screens.
  • Made a design decision regarding Troopers:  They will be given one extra, automatic AT and DF point in all combat actions against a Captain.  Combined with the MV bonus that a Trooper already receives, this creates a clear, intransitive symmetry that will give players a more tangible reason to have all three character types on their teams.
  • Wrote batch scripts for backing up project files to the Dropbox.
  • Started laying out a basic web site for the game.

Known Issues:

  • The standalone server app suddenly started crashing.  And when it does run, the UI is not being properly assembled.
  • Images from MHFramework don't load when running as a standalone executable.  (Low-priority problem that I think I know how to fix.)
  • Intermittent startup issues -- random exceptions that seem to be prevented by refreshing the JVM.
  • I was unable to reproduce the issue with player name registration.  It hasn't happened again, so maybe it's gone.

Next Steps:
High priority:

  • Update design doc with Troopers' bonuses vs. Captains
  • Update design doc with Troopers' movement bonus ('cause I don't remember if we ever added that detail after we discussed it...)
  • Finish putting buttons on the lobby screen.
  • Create a class for those cool-looking custom components.
    • ...and then redo the login and team creation screens with those components.
  • Fix standalone server app.  (I fear that the problem may point to a fundamental flaw in the architecture, so I really want to resolve this!  Plus I really need it for testing.)
Medium priority:

  • MAJOR DECISION:  Decide if team objects maintain character objects (as in the current design), or if character objects have their own data structure.  Both?  (One problem with that: We'd have to be sure to remove both references to the character if that character is retired.)
  • Diagram and analyze current architecture.  Identify candidates for refactoring before creating new screens.
  • Begin work on game state (after refactoring).
  • Begin work on team configuration screen (after refactoring).
Low priority:

  • Experiment with the idea of automating the creation of isometric floor and wall tiles.
  • Add "Spectator" option to Main Menu.
  • Change layout of main menu.  Put in placeholder for skyline backdrop.
  • Add sound capability to MHGUIButton class.
  • Update color cycle control with new buttons.
  • Add colors, icons, or both to the client list on the Lobby screen.
  • Fix MHFramework image loading bug.

Sunday, August 15, 2010

Progress Report (08/14/2010)

Team Laser Combat
Progress Report
 for the Week of
08/08/2010 - 08/14/2010

I didn't get much time to work on the project this week because I'm totally drowning in stuff to grade for my classes, but I accomplished a couple of simple things.  I'm sending this on Wednesday because I'm pretty sure I won't get any more time to work on it for the rest of this week.  If I do, I'll throw it onto next week's report.  (I'm gonna try to do this every week from now on.)

Recent Accomplishments:

  • Implemented the log file system that I mentioned in my last report.  Still need to add timestamps and client information; and also create individual server-side logs for each team, but those things are all very easy.
  • Tried unsuccessfully to recreate a bug in registering the player's name with the server.  When I want it to break, it doesn't!
  • Resized Kristen's new logo to prepare it for use on main menu screen.  Pasted it onto a mockup just to see how it'll look.  (And it looks great, BTW.)  Still need to modify the main menu code to actually display it.
  • Captured screen shots of current screens to aid in planning and demonstrating.

Next Steps:
In this exact order, probably:

  • Finish incorporating the log file system into the game server.
  • Add the game logo to the main menu.
  • TLCButtonFactory class for creating custom button objects.  (BTW, I love the new designs that have the hexagons centered instead of at the corners.  Big improvement!  This is exactly why I need real artists like you two!)
  • Finish putting the buttons on the lobby screen
  • Fix the program that runs the server as a standalone application.  I broke it a long time ago!

Next Meeting Agenda:
Here are some things I'd like to do at our next meeting...whenever that may be.

High Priority:

  • Critique of main menu screen, including star field component.
  • Preview of your custom component designs.
  • Prioritization of project phases -- game state vs. lobby screen vs. team configuration screen.
  • Testing issues (like where and how).
  • Project management -- should we be tracking our progress better?
Medium Priority:

  • Review the design for the team configuration interface.
  • Discuss button media -- Mouse-over effects?  Lights?  Animation?  Sounds?
  • Critique custom mouse cursor and discuss other possible uses (in-game commands, for example)
  • Discuss the practicality of automating the creation of isometric floor and wall tiles.  (I may have a great idea.  Experimentation is required.)
Low Priority:

  • Level design:  Should we ask for help when the time comes?
  • Discuss the feasibility of a fully graphical image font.
  • If possible, I would LOVE to hear Justin's music for the menus.

Saturday, August 7, 2010

Progress Report (08/06/2010)

Here's a quick progress report of what I've done since we last met:

  • I wrote some scripts to generate an executable JAR file for the program.  It works except for one thing:  images that come from the engine don't load properly, but other images do.  I think I know how to fix it but haven't tried yet.
  • I upgraded the engine so we can use custom mouse cursors now.  I made a mouse cursor shaped like the laser gun to test it out.  Works great, and is super easy to customize.
  • I created a utility in the engine that generates, maintains, and animates star fields with twinkling stars, appropriate for night skies or space scenes.  It's beautiful, but it needs some tweaking.
  • I did a lot more testing and uncovered a few issues to address.  Sometimes the server fails to register the player name, and on some computers, the program freezes when it tries to load the main menu.
  • To help test and troubleshoot these things, I started designing a simple log file system.  Haven't coded it yet though.

Friday, August 6, 2010

A better, more structured project blog

This blog will serve as an archive of the various communications and status reports that arise during the development of the Team Laser Combat game.  I'm going to start by posting the status reports from the last several weeks, and then post a new one almost every week.  Other important project related communications will be posted here as well.