Thursday, April 17, 2008

Current To-Do list

Right now, there's a handful of things that still need to be done with the game.

High Priority
  1. Translate the Game Over screen, and replace the graphics just like in the intro.
  2. Finalize names for demons, items and spells.
  3. Fix name display for status screens, combat and fusion menu.
  4. Fix demon names in MT2.
  5. Replace graphics for Strength, Vitality, etc. in status screen.
  6. Work on further compressing text in dialogue.
  7. Change map name in MT1 (Honoo-no-Fukai).
Low Priority
  1. Change the font used in the intro and title screen.
  2. Fix the flickering when drawing 8x8 text.
  3. Figure out what to do with decidedly Japanese names (Jakyou Manor, demon class names).

Some of these things might not be self-explanatory.

For High #3, the game sometimes uses a shortcut method to display names with 8x8 text. When it loads a name into the party window at the bottom of the screen, it looks up the spelling from your save data or from the ROM (for human names or demon names). A name like "Yumiko" would be loaded as "54 6A 62 5E 60 64" in hexadecimal.

These letters each take up a single byte and a single tile. What my VWF routine does is redraw each letter and makes a new set of tiles. These are then uploaded back into memory and are assigned numbers like "3C 3D 3E 3F". These tiles are sequenced, and will display a nice flowing name like this.

The trouble comes when a status screen is loaded. In the first example, the player's name is loaded from save data. But on the status screen, it looks at what tiles were saved in the party menu. It's kind of like that game where you keep passing a message down between people and see what you end up with. You can probably tell that this creates a problem. "Yumiko" is not spelled with 4 tiles, and the game gets confused.

You can also see here that the problem even exists in the transition from 8x8 text to 12x12.

So I'll have to add in some routines at each point to check what the name is really supposed to say, and make the game use that instead. I already have an idea of how to fix this, but I'm just feeling lazy right now. :)

No comments: