OK, getting down to business: This entire week was sort of a micro-sabbattical/vacation to take a break from my job and other responsibilities so I could spend some time relaxing and some time focusing on my capstone. Both of those efforts were mostly successful.
The vacation aspect of this week involved exploring the American southwest in New Mexico and Arizona. I finally visited Roswell, enjoyed a lot of parks, trails, caves, and historical sites, and got to experience all kinds of great new things. As a game designer, I feel that it's vital to have a variety of real-life experiences because every single one of them has the potential to someday contribute to the design of a compelling player experience.
The sabbatical aspect involved making some tremendous progress on Milestone 2. My laptop makes my work portable, so I took advantage of the travel time in the car and quiet evenings in hotels and campgrounds to concentrate on one task at a time. Check this out:
- Implemented Combat Tokens
- Includes functionality for attack and defense.
- Is usable by humans and AI alike.
- Implemented Grenade Tokens
- The human troopers use them perfectly.
- Has not yet been tested for AI troopers.
- Implemented Power Tokens
- All eight power tokens are now supported, but very little testing has taken place yet.
- Fought violently with an issue where the character objects are being accidentally duplicated somewhere so that the unit being used by the player (AI or human) and the unit on the server were two separate objects. This problem has not yet been resolved.
Known Issues:
- Several intermittent bugs with taking turns, but all seem to be related to the same root cause -- the bug where character object references are somehow diverging onto different objects.
- Symptoms:
- Units sometimes do not get their action points reduced when performing actions.
- Drawn tokens may end up in the captain's inventory no matter who drew them.
- Proposed fix:
- Reacquire the reference to character object on each iteration through the AI loop and on each "advance" of the actions menu.
- Sometimes Client 0, the default name of the first network connection, appears as a player on the Lobby screen.
- The game gets stuck in the lobby if the host is a spectator rather than a player.
- Several bugs specific to Join LAN mode:
- Network latency causes character upgrades to not show up right away. The client needs to wait for the updated character to return from the server before returning to the team screen.
- The lobby doesn't turn control over to the player until the host has signaled ready. (I believe this is the exact same bug mentioned above that traps players in the lobby.)
- Chat messages get lost when switching 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:
- Broadcast combat results from the server.
- Display the Combat Results Summary screen.
- Implement the Combat Results toggle.
- Fix the character reference bug listed above.
Medium Priority:
- Implement destructible containers.
- Add hazards and bonus spaces to the game board.
- Fix the broken map editor.
- Record gameplay video.
- Write preliminary postmortem (capstone edition).
Low Priority:
- Investigate ways to dynamically color the team uniforms. Experiment on the placeholders.
- If this works, add the ability to dynamically color MHFont objects too.
- Finish the level design guide.
- Finish asset lists for current set of level designs.
- Create the in-game chat component.
- But first, fix the issue with the lost messages by making the data structure static.
- Model the characters.
- Animate the characters using Shaun Hager's animations.
- Add sound effects to the actions menu buttons.
- Implement the Heal action.
- Finish the "whose turn" display.
- Finish voice scripts for narration.
- Finish the team creation screen.
- Put in the floor image for the captains to stand on.
- Replace plain gray buttons with captain character images.
- Let's see if we can allow the player to change video modes dynamically from the options screen so they don't have to close the program and rerun it to change resolutions.
- Design the web site.
- Get coin display graphics from the former art team.
- Add it to the team configuration screen.the character configuration screen and the recruitment screen.
- Replace the temporary column header graphic on the character equip screen.
- Test and troubleshoot the multiplayer modes.