I think the problems will actually be strategic ones. Not that FF5 is harder; indeed, with the job system, there's far more opportunities for abusing the system. No, the problem is that in Final Fantasy 5, your choices for job development early on heavily influence your battle strategy throughout the game. Not so in Final Fantasy 4, where each character is strapped in to a specific set of skills. Coming up with ways to express job development and battle strategy in a way that doesn't make me rewrite half the command queue if we run into a boss fight we're not prepared for is going to be a challenge. On the other hand, I'd prefer not to just pick a bonehead strategy (e.g. everyone is a Monk for the whole game) for ease of maintenance. I'd like to tell the borg to use some of the cooler skill combinations, most of which require some up front investment in job growth.
Fun! We'll see what happens with the Cartographer this week. Here's my current development to-do list:
- Cartographer for FF5:
- Figure out enough memory keys for the Cartographer to get started. Mobility, transitions, basic cutscene detection, treasure, current map.
- Refactor isLayerCompatibleWith(). Come up with a good way to organize game-specific code and keep it as thin as possible.
- Refactor BorgMapSquare saving/loading itself.
- Try out the Cartographer. Run it until it gets stuck and implement what it needs next.
- Proper monster-in-a-box reward detection.
- Proper detection of GP in a treasure chest.
- Include cutscenes in navigation considerations.
- Is there a way to tell from memory whether a cutscene is repeatable, one time, or repeats on certain conditions? Or do we just have to record what kind they are manually?
- Repeatable cutscenes should be treated similarly to transitions.
- Don't mark a room as finished if some items of cartographical interest can be reached through transitions.
- Add a Navigator command that walks to a square on the current map, using transitions to get there if necessary.
- Move character stuff into a class.
- Add a Recovery interrupt.
- Add support for the job system.
- Rewrite battle handler to use the skills a character has instead of hard-coding the list.
No comments:
Post a Comment