Hey, we have forums!

Author Topic: Suggestions  (Read 11970 times)

0 Members and 1 Guest are viewing this topic.

Offline RobertWalker

  • Extra Bit
  • *****
  • Posts: 154
    • View Profile
    • My Blog
Suggestions
« on: August 21, 2008, 06:39:51 pm »
For Alec and Derek: I realize that this is coming rather late in the development cycle for the next update to Aquaria, but I have some suggestions that I haven't seen mentioned elsewhere. Do with them as you see fit.

Idea #1: After the player has beaten the final boss, cause a new option to appear on the main menu which will allow them to view the ending cinematic and credits without having to load up their saved game and beat the boss again. Never mind. Bad idea.

Idea #2: Give modders the ability to display text at a world coordinate. I would presume that this ability is already supported in the game (since the Arnassi seahorse race appears to use it to display the record time on a rock) but the modding wiki doesn't appear to document any such function.

Idea #3: Give modders the ability to end the mod and go back to the title screen without displaying a confirmation dialog. This would be useful in cases where there is no progress to lose, and therefore no reason for the dialog (such as the Jukebox mod).

Idea #4: This is the big one. It's clearly going to be a lot more involved than the others. I've been thinking a lot about the internationalization issue, and I came up with an idea that might resolve some of the problems with it. You may have already considered it, and given that I'm not intimately familiar with the inner workings of the Aquaria engine, there may be reasons why this might not work or might be difficult, but here goes:

  • Provide a /locales folder as a drop site for language packs.
  • Language packs would be named using a code that identifies the locale (such as ISO 639-1).
  • The language packs would be compressed archives (simply ZIPped would likely work fine) which would contain a folder structure parallel to that found in Aquaria's default data archive.
  • They would contain replacement assets that Aquaria should use instead of the default asset when that locale is selected. The most obvious application of this is the subtitles and string bank, but it would also support replacing bitmapped fonts or even the voice files! (You may want to limit the types of assets that will be permitted to be replaced by a language pack. You don't want language pack authors replacing just anything, I'd imagine.)
  • The root folder inside each archive would contain a descriptor file that would give metadata about the language pack, such as the name of the locale in both English and the target language, a version number, the names of the individuals who created the language pack, etc.
  • The game configuration application would check the /locales folder so that it can produce the list of supported locales and allow the user to select the desired locale.
  • The game configuration application could simplify the installation of new language packs by providing an "Install Language Pack" button, which would allow the user to browse their machine to find a downloaded language pack, at which point the application would copy it to the /locales folder. This would remove the requirement that the user dig through their hard drive folder structure to find the /locales folder and would head off a bunch of "How do I install a language pack?" questions (in a variety of languages) on the forums. Judicious use of icons can make this feature more usable for non-English speaking users.
  • The installer could even warn the user if they're installing an older version of a language pack over a newer one and ask them to confirm!
  • For handling international characters, each bitmapped font would be broken off into its own file, separate from this one. The language pack could then replace the font files with ones that have the needed characters for that language.
  • Each font file would be accompanied by a descriptor file that would tell the game how to extract the characters from the PNG. It would look something like this: First, it would give the font's line height in pixels, the relative position of the baseline along that height, and the text direction (left-to-right vs. right-to-left). Next, it would provide the Y-coordinates for each line of characters in the PNG. Finally, it would provide a list of Unicode code points, and for each code point give the line number and starting and ending X-coordinates for that character in the PNG. This would describe an exact rectangle for each character.
  • When loading a font, the game would load the graphic from the correct locale, then parse the descriptor file. For each code point described, it would extract the appropriate rectangle from the PNG and store it in a map structure, keyed by its code point.
  • If you wanted to simplify things for people creating language packs, you could keep the game's original fonts and only require that language packs define code points that aren't included in the default set that comes with the game (those required for English). The downside to this approach is that if the font doesn't exactly match, the difference would be noticeable.
  • Either way, you'd probably want to provide instructions to language pack builders that would explain how to use their favorite graphics program to duplicate the font style in the game.
  • An alternative approach would be to have the game dynamically generate the characters in the appropriate style from a font that supports lots of Unicode characters. Obviously, that might be tricky and involve licensing issues.
  • When the game wishes to display some text (a subtitle, for example), it would first retrieve the text from the language pack. It would then break it down into code points, and look up each code point in the character map to retrieve the corresponding bitmap.

Whew! Hope you find these ideas useful.
« Last Edit: August 27, 2008, 06:29:53 pm by RobertWalker »

Offline Alec

  • Administrator
  • Dream Bit
  • **********
  • Posts: 2211
    • View Profile
Re: Suggestions
« Reply #1 on: August 21, 2008, 07:16:39 pm »
Hey man, I'll try to respond to some of these when I have time...

Idea #1: After the player has beaten the final boss, cause a new option to appear on the main menu which will allow them to view the ending cinematic and credits without having to load up their saved game and beat the boss again.

Definite no on this one. I want players to have to play the whole ending. :D

Offline RobertWalker

  • Extra Bit
  • *****
  • Posts: 154
    • View Profile
    • My Blog
Re: Suggestions
« Reply #2 on: August 21, 2008, 07:33:54 pm »
Hey man, I'll try to respond to some of these when I have time...

Idea #1: After the player has beaten the final boss, cause a new option to appear on the main menu which will allow them to view the ending cinematic and credits without having to load up their saved game and beat the boss again.

Definite no on this one. I want players to have to play the whole ending. :D

That's cool. I actually feel the same way as you, but I figured I'd suggest it, thinking that others might like it. Hope you find the other ideas useful. EDIT: Actually, it would have been more accurate to say that part of me felt the same way as you. But I replayed the ending recently, and having gone through it before, I found it to be less difficult than the first time around. So now I'm pretty much entirely convinced that idea #1 should not be implemented. :)
« Last Edit: August 22, 2008, 08:14:27 pm by RobertWalker »

Offline RobertWalker

  • Extra Bit
  • *****
  • Posts: 154
    • View Profile
    • My Blog
Re: Suggestions
« Reply #3 on: August 22, 2008, 08:11:54 pm »
Had a couple more ideas:

Idea #5: Allow mod authors to adjust Naija's maximum health with a function call. I don't see anything in the current API that allows this.

Idea #6: It occurs to me that the Aquaria engine would make a schweet screen saver! I'm thinking some nice, slow panning shots of aquatic scenes full of fish, plants and such, interspersed with occasional scripted events to provide additional interest.

Offline Danger Mouse

  • Hero Bit
  • *********
  • Posts: 624
  • Shush.
    • View Profile
    • Danger Mouse
Re: Suggestions
« Reply #4 on: August 23, 2008, 03:24:16 am »
The only thing that I currently would suggest is working on an update for the editor, I've posted those things many times in the forums, so I won't re-iterate all of it over again. I'm sure Alec knows what I think needs work as far as animation editor, particle effects section and selection method of tiles with the mouse wheel in the editor. I still say the game itself is flawless and really doesn't need any additions. :)

I really hope that the editor gets worked on, as it would help modders produce expansions, and mods a whole lot faster with less problems.

Offline RobertWalker

  • Extra Bit
  • *****
  • Posts: 154
    • View Profile
    • My Blog
Re: Suggestions
« Reply #5 on: August 27, 2008, 06:52:08 pm »
Yeah, as can be seen from taking a gander in the modding forum, there are a few things in the editor experience than can be smoothed over.

Most of the items I've mentioned above directly relate to some things I'm doing (translation) or would like to do at some point (boss arena mod, vox playback mod) with Aquaria. The vox playback mod is, of course, doable without any of the changes suggested above, but writing text at world locations would improve the interface by allowing me to provide a paginated list of the voice clips without having to create graphics for the text. Not having to confirm exit would also be good, as there's no progress to lose.

*** SOME SPOILERS FOLLOW ***

The boss arena mod is an idea that's been tossed around once or twice in the forums, and that I've been pondering for a while. It would basically allow the player to "configure" Naija, then dive straight into any boss fight from the game. This would be handy for trying out different boss strategies, for example. The map would have a central "hub," with tunnels that branch off of it, each leading to a different boss. The hub would also have three items in it: 1) a "food maker" to allow Naija to load up with any food item in the game, 2) a health adjuster which would set her maximum health at any level, allowing the player to "handicap" themselves however they feel is appropriate, and 3) a place to leave Li. Naija would have access to all forms, costumes and pets immediately from the start, but as you can turn these on or off at will, there's no need to do anything in the hub that would enable/disable these.

Issues with making such a mod, as far as I can tell: 1) the interface for the food maker in particular would be simplified considerably with the ability to write text at specific world locations; 2) the health adjuster would require the ability to change Naija's max health with a method call, which doesn't appear to exist currently; 3) the difficulty in closely reproducing the boss chambers; and 4) the need to accurately reproduce the bosses' scripted behavior.

Offline Danger Mouse

  • Hero Bit
  • *********
  • Posts: 624
  • Shush.
    • View Profile
    • Danger Mouse
Re: Suggestions
« Reply #6 on: September 05, 2008, 08:12:42 pm »
The boss arena mod is an idea that's been tossed around once or twice in the forums, and that I've been pondering for a while. It would basically allow the player to "configure" Naija, then dive straight into any boss fight from the game. This would be handy for trying out different boss strategies, for example. The map would have a central "hub," with tunnels that branch off of it, each leading to a different boss. The hub would also have three items in it: 1) a "food maker" to allow Naija to load up with any food item in the game, 2) a health adjuster which would set her maximum health at any level, allowing the player to "handicap" themselves however they feel is appropriate, and 3) a place to leave Li. Naija would have access to all forms, costumes and pets immediately from the start, but as you can turn these on or off at will, there's no need to do anything in the hub that would enable/disable these.

Yeah, I've been thinking a lot about having an arena, not particularly a boss arena only, but a progressive arena where you fight one creature after the other and try to get as far as you can until defeated. Once defeated you don't die, you just leave the arena and the highest you've progressed through the arena is posted on a sign. Obviously this would be useful for attaining items as well. Possibly even powerups at certain bosses. :) If you have ever played Star Ocean 2 for the regular Playstation or have an emulator to be able to test it, then you would see exactly what I'm trying to aim for. Yes it's been done before in that game, but it's something I really enjoyed and liked. It's like a nice mini-game that isn't too mini. :) And has rewards for the regular game.

I'm seriously going to try to have this in my mod.

Offline RobertWalker

  • Extra Bit
  • *****
  • Posts: 154
    • View Profile
    • My Blog
Re: Suggestions
« Reply #7 on: September 30, 2008, 08:43:58 pm »
@Alec: Just wondering if you've given any more thought to the other suggestions for modding enhancements:

  • Expose API calls for:
    • Exiting a mod without a confirmation dialog
    • Displaying text at a world coordinate
    • Adjusting Naija's max health
  • Language pack strategy (detailed above)