Editing the Online Game Database

This page will be updated with more information.

Basic Concepts

The database is large driven by a key-value system, where a game configuration is defined by a set of key-value pairs. Though changes are done through a user interface (web interface initially), an understanding of how it works will help you.

For example, a game like Pinball Dreams could be specified like this:

game_name:    Pinball Dreams
hol_url:      http://hol.abime.net/1054
platform:     Amiga
file_list:    [{"name": "Pinball Dreams (1992)(21st Century   ...
variant_name: ADF, 21st Century

You can see this in action by visiting the database page for Pinball Dreams.

But the database also supports in inheritance system where a game is a child of another game, and inherits the parents values. In practice, the system is used like this:

  • There is a game entry for the game itself, for example Pinball Dreams.
  • There is one additional entry for each specific variant of Pinball Dreams, for example the ADF version cracked by Fairlight (FLT), or the WHDLoad version.
  • The “variant versions” has the main game entry set as parent and inherits values from the parent, for example a link to HallOfLight or screenshots.
  • All variants are listed in the same page along with the parent game, so only the parent game gets its own web page in the online database system.

So to continue with the previous example, Pinball Dreams has several game entries in the database:

Main entry (46b0b013-7d97-5044-bd69-a137b4bba2af):

game_name:    Pinball Dreams
hol_url:      http://hol.abime.net/1054
platform:     Amiga

Child entry for the “Cracked by Fairlight” version:

file_list:    [{"name": "Pinball Dreams (1992)(21st Century ...
parent_uuid:  46b0b013-7d97-5044-bd69-a137b4bba2af
platform:     Amiga
variant_name: ADF, 21st Century

Notice the parent_uuid linking it to the parent game. Several more Pinball Dreams configurations are available in the database.

Editing Example: Pinball Dreams

Pinball Dreams works well on the default Amiga 500 setup (512 KB chip RAM + 512 KB slow RAM), so not much needs to be done. However, the default behavior is to insert a joystick into port 1 – using keyboard emulation with cursor keys if necessary. But since Pinball Dreams uses the down array to shoot out the ball, the use of keyboard emulation will interfere with the game play.

We correct the problem by adding the following key-value pair to Pinball Dreams in the web interface:

joystick_port_1_mode: nothing

We could have added this to each and every Pinball Dreams variant. But since this key-value pair is something we would like to have for all Pinball Dreams variant, we can simply add it once to the main game entry (at the top) and it will apply for all child variants.

Note: adding the key to a child game configuration will override the value from the parent game.

Moderation System

A moderation system is implemented where a change you do may be held for approval (it depends on your user rights). If the value is held for moderation, it will show up on the game page but in orange color, and will not be synchronized to FS-UAE Launcher until it is approved.

Available Keys

Now follows documentation for keys you can specify values for. More keys will be added as necessary, so if a game has a requirement which can not be well specified with the existing keys, please contact game-database@fengestad.no.

amiga_model

This can be used, but the usage is discouraged. Please consider the chipset or kickstart option instead! Valid values include A1000, A500, A500+, A600, A1200, A1200/020, A4000/040, and CD32/FMV.

A valid reason to use amiga_model = A1200 is when the game works fine on the default Amiga model, but runs much better on Amiga 1200 (without it being a requirement).

amigamemo_url

URL to AmigaMemo entry for the game, for example: http://www.amigamemo.com/swordofsodan.

chip_memory

If a game needs a specidifc (higher) amount of chip memory than usual for the Amiga model used (for example 1 MB for an A500), you can specify it with this key. You must specify this in KB, for example 1024 for 1 MB.

chipset

By default, a default Amiga 500 is used to play a game. chipset can be set to the following values to override this:

  • ECS – Use an Amiga 600 instead, so the ECS chipset is available
  • AGA – Use an Amiga 1200 instead, so the AGA chipset is available

cracktro_action

If a variant has a cracktro (or more than one), you can specify which keys are needed to end the cracktro. Naturally this key should only be used for game variants.

For example if you need to press the left mouse button to end a cracktro it would be:

cracktro_action =  joy_0_fire_button

If there is more than one cracktro just seperate the necessary buttons/keys them with a comma.

Common values for this entry are:

  • joy_0_fire_button = Left mouse button
  • joy_0_2nd_button = Right mouse button
  • key_esc = Escape
  • key_return = Return

dongle_type

If the game variant requires an emulated hardware dongle, set dongle_type to one of these values:

  • robocop 3
  • leaderboard
  • b.a.t. ii
  • italy’90 soccer
  • dames grand maitre
  • rugby coach
  • cricket captain
  • leviathan

fast_memory

By default, the Amigas used don’t have any fast_memory added. Use this option if the game needs (or benefits from) fast memory. You must specify this in KB, for example 4096 for 4 MB.

If a game, for example a WHDLoad game needs more than 8 MB (fast) memory, you can specify more than that with this key. If fast_memory > 8192, then clients (FS-UAE Launcher) will switch to an A1200/020 model instead, and use Zorro III fast memory instead of regular fast memory.

floppy_drive_count

By default, FS-UAE Launcher will try to use as many floppy drives as possible in order to automatically insert as many disks of a game as possible. There are situations where this is not desirable:

  • The game may not support more than one floppy drive anyway, so inserting disks in other drives will only confuse users.
  • The game may not work with more than X floppy drives (where X sometimes is 1).

game_name

Usually you shouldn’t edit this entry except you want to introduce an extended name or fix a typo. Main name and extended name are separated by a dash: Dune II – The Battle for Arrakis Refer to this page about how to capitalize the title: Rules for Capitalization in Titles (except “Sentence case” which is listed as an alternative).

game_notice

This key can be used to leave a general notice about a game. A notice should inform about problems or things that need to be known in order to play the game in question. Please consider to use the key variant_notice instead if you aren’t sure if the notice applies to all variants.

joystick_port_0_mode

The default value here is mouse. You use key if you want to override this default with one of the following values:

  • joystick
  • mouse
  • cd32 gamepad
  • nothing

joystick_port_1_mode

(Requires FS-UAE Launcher 2.1.6). The default value here is “joystick” for Amiga/CDTV games and “cd32 gamepad” for CD32 games. You use key if you want to override this default with one of the following values:

  • joystick
  • mouse
  • cd32 gamepad
  • nothing

joystick_port_2_mode and joystick_port_3_mode

(Requires FS-UAE Launcher 2.1.6). The default value is nothing. You can use this to specify that joysticks should be added to these ports. Valid values are:

  • joystick
  • nothing

kickstart

A common use of this key is to specify that kickstart 2.0 or later (2.0+) is required to play the game.

  • 2.0 – An Amiga 600 model will be used (unless amiga_model is also specified)
  • 2.0+ – An Amiga 600 model will be used (unless amiga_model is also specified)
  • 3.0+ – An Amiga 1200 model will be used (unless amiga_model is also specified)
  • 3.1 – An Amiga 1200 model will be used (unless amiga_model is also specified)
  • 3.1+ – An Amiga 1200 model will be used (unless amiga_model is also specified)

languages

This key can be used to specity what language(s) a game variant includes. This key should not be used on main game entries, since often there are variants in different language(s). The language information can be used to pre-select a good default variant based on user preferences.

Use ISO 2-letter language codes in lower case, separated with comma and space. While the ordering of the languages does not matter, I recommend using the following common standard: specify en first (if available) followed by other language codes in alphabetical order:

Example:

languages = en, de, fr

Also, remember that this is language codes, not country codes. For example, Danish is da, not DK.

Common language codes:

Language Code
Danish da
Dutch nl
English en
French fr
German de
Italian it
Spanish es
Swedish sv

lemon_url

URL to LemonAmiga entry for the game, for example: http://www.lemonamiga.com/?game_id=702. Use the “direct link” found at the bottom of the LemonAmiga game pages.

longplay_url

URL to the longplay for this game on YouTube (or another video hosting site), for example: http://www.youtube.com/watch?v=GPpMYBDEgAQ.

mobygames_url

URL to MobyGames entry for the game, for example: http://www.mobygames.com/game/amiga/lotus-turbo-challenge-2. Remember to use the platform-specific link.

players

Number of players that can play a game. For a game that only one player can play just 1 is used. The format for multiplayer games is:

[minimal players] - [maximal players] ([simultaneous players])

Examples:

Maniac Mansion: players = 1
Pinball Dreams: players = 1 - 8 (1)
Chaos Engine:   players = 1 - 2 (2)
Biplane Duel:   players = 2

Explanation: Maniac Mansion can only be played by one player. Pinball Dreams allows 1 to 8 players to play the game, but only 1 at a time while Chaos Engine allows up to 2 players to play the game, but both at the same time. Biplane Duel has to be played by 2 players since there is no computer opponent, so the minimum number of players is 2 for this game.

protection

Specify the type of (user-visible) copy protection in the game, This means protections such as code wheels, or looking up info in the manual – not technical on-disk copy protection systems.

Valid values include:

  • None
  • Code Wheel
  • Code Sheet
  • Manual

This key should only be used for game variants, since for the same game, some variants may have protection while others do not.

slow_memory

The default Amiga 500 used has 512 KB chip RAM and 512 KB slow RAM. This key can be used to override the amount of slow RAM. This is especially useful if the game only works with 512 KB chip RAM, in which case you set the value to 0.

variant_notice

This key can be used to leave a general notice about a variant. A notice should inform about problems or things that need to be known in order to play the game in question.

An example for a variant notice could look like this:

When the screen flashes blue (after the trainer), insert disk 2 and press fire.

video_standard

The value for video_standard can be set to NTSC if the game variant is meant to be run on NTSC Amigas.

whdload_args

This is used for WHDLoad games. It contains the name of the slave to be used as well as the slave arguments be used with WHDLoad. Example:

whdload_args: Lotus2.slave PRELOAD

Additional Keys

The following keys are also used, but is mostly set by the system itself:

  • file_list – This contains all the information about the files needed for this game configuration. This value is commonly generated by external programs. Don’t edit this unless you know what you’re doing.
  • front_sha1 – This is a reference to the front cover image
  • parent_uuid – A reference to the parent game. Main game entries do not have parent_uuid set.
  • screen1_sha1 – This is a reference to the first screenshot
  • screen2_sha1 – This is a reference to the second screenshot
  • screen3_sha1 – This is a reference to the third screenshot
  • screen4_sha1 – This is a reference to the fourth screenshot
  • screen5_sha1 – This is a reference to the fifth screenshot
  • title_sha1 – This is a reference to the title screenshot

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.