Archive for December, 2007

Unfortunate delay

Friday, December 7th, 2007

I got started with adding the new shopping system, and it became clear very quickly that I’d need to rewrite the menu system eventually. In my haste to get something that would run, I hard-coded all the menus together, which works well until you try to extend the system. But since extensibility and customizability are some of the main design goals, I’m rewriting the entire menu system as a component system based on Delphi’s form designer. It will only use hard-coded commands for the most basic common functionality (how to draw itself to the screen, how to move the cursor around, etc.); everything else will be run by the script engine, and accessible to the designers once I get an editor built.

What this means, in the immediate term, is that the update I was hoping to have ready tomorrow… won’t be. It’ll probably take me all day tomorrow to finish rewriting the menu system. Then I’ll start working on adding more features.

Next up: shopping and name changes

Monday, December 3rd, 2007

Now that I’ve got the menu system written, I’m going back to coding the event system.  The features planned for this week’s release are going to be two rather complex event commands, and in a bit of a break from tradition, neither of them will work exactly as they worked in RPG Maker 2000.

First, shopping.  The shopping event code has already been implemented as a do-nothing command in order to fix another bug.  Now that I’ve got a working menu system, I can build on that code base to build shops.  But the shopping system will include one thing that, in my opinion, is an essential feature whose absence from RPG Maker greatly hindered gameplay: the ability to access the “Equip” menu from within the shopping system.

The other event command will be the one to input hero names.  This command is badly broken in RPG Maker’s English translation, trapping the player in an input box that it’s impossible to leave, because the program was designed for the Japanese language, which for technical reasons handles letters on a computer in a different way than we’re used to.  I’m going to design this in English, but in such a way that translating it to run properly in other languages shouldn’t cause compatibility problems.