The slim chance of finishing my degree earlier than anticipated has raised the priority of reaching the alpha stage on this project, so I've been forcing it into any free moment I can find lately!
Accomplishments:
- The players take turns correctly now. That bug is dead and gone.
- Investigated the bug with the actions menu, but the problem still remains. Something is keeping the human players' characters from performing two actions back-to-back unless the actions menu is artificially refreshed.
- I put over three hours into troubleshooting this problem and still haven't found a solution. Fortunately, as I mentioned in my previous post, there is an easy workaround by either trying again or refreshing the menu.
- Discovered a bug that's only possible when you have multiple characters on your team. As long as you leave one of your characters stationary, then your other characters can move an unlimited number of times until you move your stationary character and use up his action points. Should be an easy fix, but I haven't tackled that one yet.
- Gave the design doc an overhaul to update it with the recent requirement changes and fill in some of the "to do" items. The new game design document is version 2.3.
Known Issues:
- Something is keeping the human players' characters from performing two actions back-to-back unless the actions menu is artificially refreshed.
- The game gets stuck in the lobby if the host is a spectator rather than a player.
- As long as you leave one of your characters stationary, then your other characters can move an unlimited number of times until you move your stationary character and use up his action points.
- Sometimes network errors will cause an AI to be disconnected immediately after it connects.
- 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 in multiplayer mode doesn't turn control over to the player until the host has signaled ready.
- 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:
- Fix the action menu bugs mentioned above.
- Create the token factory.
- Create the token inventory system.
- Create the token display GUI.
- Implement the Draw Token action.
Medium Priority:
- Sometimes network errors will cause an AI to be disconnected immediately after it connects. This causes the lobby screen to wait indefinitely for a player who will never arrive. The server should detect this and try again to create the AI player.
- Solution: Refactor the engine's networking modules to use the Observer Pattern. This will also correct the "Known Issue" mentioned above with abandoned team data.
- Investigate ways to dynamically color the team uniforms. Experiment on the placeholders.
- If this works, add the ability to dynamically color MHFont objects too.
- Create the in-game chat component.
- But first, fix the issue with the lost messages by making the data structure static.
- Create the HUD's event log display.
- Finish the level design guide.
- Finish asset lists for current set of level designs.
Low Priority:
- Implement the Heal action.
- Implement the Attack 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.
- Make the AI players taunt each other in the lobby chat, just for fun.
- Design the 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.
- Replace the temporary column header graphic on the character equip screen.