Theme Park Builder 3D The Game

Technical Design Document

User Settings

A handful of items can be set and will remain in effect unless they are changed again. Some of the items are specific to the player and should be default conditions upon the next time the game is started. Localization, Audio and messaging settings should be default conditions. Others items are specific to the particular park and should be contained within the park file. These include guest, employee and weather settings.

Localization

Initially, the game should check the user’s computer environment for information about their localization. If none is found, the game will start in English. Upon subsequent runs of the program, it will use the previous settings.

Language-
Text information within the game will be available in several languages. Only one language will be active at a time. Voice messages within the game will be in the same language. The player can select from English, German, Italian, French, Spanish, Portuguese or Dutch. Other languages will be included in the initial release if possible. New languages will be made available in the future as downloadable extensions. The player can designate custom audio files for the voice messages.
Units-
The player can choose either metric units or standard units. Colloquial hybrid metric units will be used when appropriate. For example, Kilometer per Hour will be used rather than Meter per Second. The choice of units only affects displayed values. The game will use metric units internally.
Currency-
The player can choose currency units from Dollars, Pounds, Marks, Lire, Francs, Peso, Escudos, Guilders or Euros. A downloadable language extension will include a new currency unit if needed. When changing currency, an exchange rate will be imposed based on an updatable table. A single inflation value can be used to update prices over time.

Interface

Player modifications to the operation of mice, joysticks, keyboard and video devices.

All events from input deviced are mapped through event delegates. Delegates can be created and destroyed on the fly. To change the behavior of an input device simply create the new action delegate that matches the users action then swap the current delegate with the new delegate and destroy the old delegate. This behavoir removes the switch logic logic that every click or event has to run through greatly simplifing logic in the event handlers.

Audio
Sound FX - clangs, bangs, screams
Music and background noise level control
Background Noise - birds, wind, water
Visual
Screen resolution
1.2.1.2.3 Visual The screen resolution can be set.
Guests
detail
Guests in the game behave independently. The player can set some general attributes. These attributes will affect new guests as they are generated. To change all the guests, the player will have to close the park and wait for all of the old guests to leave, then open the park so that new guests with the new settings will populate the park. This discourages changes in the guest settings for existing parks. These settings will normally be unchanged during routine play. 1.2.1.3.1 Groups The player can choose whether guests should all be independent, all be members of groups, or some combination of these two extremes. If a combination is selected, the ratio of the two types can be specified. Guests are of three ages: child, teen and adult. The player can specify the ratios of the age groups. The player can choose to eliminate one or two of the age groups. By default, grouped guests will be generated as two adults, one teen and one child. By default, ungrouped guests will be generated as equal numbers of adults, teens and children.
Preferences
detail
Guests will have ride preferences. (spinning, height, speed, interactivity, entertainment) Teens typically prefer the more intense rides. Children prefer less intense rides. Adults have a range of preferences. The player can adjust the typical preference for each age group. The guests will be generated with a range of preferences centered about the set value. The player can choose to automatically pause the game while building tracked rides. This feature can also be toggled within the construction menu.
Money
detail
Guests will be generated with an average amount of money to spend. They will be able to get more money while in the park. The player can specify how much money they start with (on average). There is also a setting for how readily guests will spend money. Miserly guests will make it difficult to make the park financially successful. Frivolous guests simplify the park’s finances. This is the chief method of implementing a difficulty setting for the game. The player can also choose to disable finances in which case the game will be inherently easy.