On the brighter side, I finally finished my A* pathfinding implementation that I started all the way back in 2004, when I first designed and implemented the first version of the map data structure. Well, it's not completely finished -- I still need to parameterize it with a way to specify the searchable directions.
Tomorrow I'm heading to GDC 2011, so I'm in for a busy week. Still, I hope to spend a little time with this beloved project at some point.
- Finally, after seven years, I have finished implementing the A* pathfinding algorithm for the tile maps in MHFramework.
- Established a simple geometric pattern for giving an illusion of thickness to floors and platforms. Tested it successfully, but then discovered the problem mentioned above with the floor details in LIME.
- Wrote some more thorough algorithms for fixing a few of the ongoing annoyances, such as:
- Optimizing the character data broadcasts.
- Fixing the problem with chat messages getting lost between screen transitions.
- Correcting the issue with the server randomly rejecting a connection after it has been accepted.
- Correcting a tiling issue on the right-facing wall tiles generated by the MHFramework Wall Tile Transformer. (They're one pixel off from mirroring the left-facing walls and now I know why.)
- Jotted down some notes and plans for moving forward as well. For example:
- The client and server responsibilities and requirements for handling the Move command have been established and pseudocoded.
- Expanding the Wall Tile Transformer to output a greater variety of wall tile shapes, such as thin walls and walls that are perpendicular to the camera.
- Expanding the Floor Tile Transformer to automatically generate "side" tiles compliant with the geometric patterns that I established this week.
- Changing the background color on the LIME viewport to adapt to different tile sets.
- Fix the problems with the floor detail layer.
- Investigate ways to dynamically color the team uniforms. Experiment on the placeholders.
- If this works, add the ability to dynamically color MHFont objects too.
- Broadcast and handle the "whose turn" message..
- Create the "whose turn" display to show it.
- Implement the Move action. This will involve:
- Decoupling the characters from the map structure.
- Implementing network messages for the Move command.
- Implementing the UI for selecting a destination.
- Implementing a pathfinding algorithm.
- Implementing path following behavior.
- Finish voice scripts for narration.
- Formalize the flowchart for the AI logic.
- Create the token factory and displays.
- Implement the Draw Token action.
- Implement the Heal action.
- Implement the Attack action.