Difference between revisions of "Colony Mode"

From TACWiki
Jump to: navigation, search
(Development Controls)
m (grammar)
Line 3: Line 3:
 
==Premise==
 
==Premise==
  
In the future, humans have depleted nearly all natural resources from all accessible planet. As they slowly become a nomadic species, they rely more and more on colonies that float through space looking for new planets and life forms.  
+
In the future, humans have depleted nearly all natural resources from all accessible planets. As they slowly become a nomadic species, they rely more and more on colonies that float through space looking for new planets and life forms.  
  
 
Play as a colony leader, whose job is to build and manage a city contained within a large spacecraft.
 
Play as a colony leader, whose job is to build and manage a city contained within a large spacecraft.

Revision as of 15:43, 24 July 2008

This mode refers to the bulk of the game (or more accurately "toy") which is spent placing buildings.

Premise

In the future, humans have depleted nearly all natural resources from all accessible planets. As they slowly become a nomadic species, they rely more and more on colonies that float through space looking for new planets and life forms.

Play as a colony leader, whose job is to build and manage a city contained within a large spacecraft.

Objective

This is technically a toy, so there is no clear objective. Some players may attempt to make a large city which requires efficient placement of buildings. Others may strive to build specific structures and will need to first build their target's dependencies.

Gameplay

ColonyMode Mockup.png

As of Feb 2008, this gameplay spec is very old. Stay tuned for an up-to-date version!

The main city area is divided into a grid oriented at 45 degrees (to increase visibility). Buildings and units can occupy any number of whole squares. Each grid space may only host 1 structure, but may host as many units as necessary. The game is turn based, but there are multiple turns per second thus giving the game a real-time feel. Units can only move 1 space per turn and must wait a specific number of turns before moving again.


Upon starting a new game, the player is presented with an empty city. Resources are dispersed randomly (and count as structures). If the player has enough resources, (s)he can select a building and then place it on the map to instantly construct it. If the building comes with units, they are launched. A unit has 1 destination and travels along the least-cost path to its objective. Roads lower the cost of travel. Once it arrives, a unit remains at its objective for some randomized number of turns and then returns to its home structure. Citizens travel to work or recreational areas, harvesters travel to resources, transporters travel to industrial complexes, etc.


Certain structures generate resource income upon the return of their unit(s). This accounts for the majority of the player's resources. The one exception is money, which can only be generated by playing the minigames. All structures cost some amount of money, so minigames are inevitable. With minimal effort, a minigame will also reward a special building which is stored in a "Rewards" menu until placement in the city. Some minigames reward more than a structure and money, but these less rare rewards can also be earned through the existence of specific city structures.


Each building has construction costs and operational costs measured in units of various resources and utilities. See Structures and Consumables. If a structure's operational costs cannot be met, it shuts down and ceases launching its units. Buildings with harvester or transporter units will increase the player's resource stock each time the unit returns. For example, the Lumber Mill launches a harvester that travels to the nearest forest square and after some time returns to the mill thus increasing the player's supply of wood.


Most structures require certain utilities (see Structures for the list of utility plants). A meat-packing plant requires Electricity, for example. In order to operate, this plant must be within 3 grids of a Power Line or other powered structure.


The last dependency on structures are its employees. Each structure requires some number of staff and if the city does not have enough citizens then the each new structure does not operate. As the population grows, structures become operational on a first-built first-served basis.


Some structures output products (see Consumables for a complete list). Each product requires some number of consumables. Once these consumables are delivered, the structure makes one product and sends it to the appropriate location as a delivery or transport unit. The location is determined by the type of product. Food, for example, goes to shops whereas wheels may go to a car factory.

User Interface

The screen is divided into two major sections. The main area displays the city (with approximately 20x20 tiles visible). A menu bar sits on the right of the screen, approximately 2 inches wide. The menu bar contains buttons that are labeled graphically. When the user hovers over them, the name will appear over the cursor. The buttons are as follows: Build Structure, Build Line, Build Path, Place Reward, Budget, Sell, and Options. If a button is clicked, then a submenu pops out to the left of the main menu bar. This submenu contains a scrollable list of all placeable buildings within the selected category. Clicking on one of these brings up the building information in the bottom area of the main menu. With a specific building selected, the cursor is replaced by a transparent image of the building if the user mouses over the main city area. Clicking on a suitable location places that building in the colony.


When no building is selected in the submenu, the user can click on any placed structure to display its information in the bottom of the main menu. This information contains a picture of the building, and displays (with words and symbols) the build costs, operational costs, output, and units.

Scoring

Since there is no explicit victory, a player's score is essentially the various metrics such as colony asset value, resources, population (both human and android), approval rating, crime, etc. The player may also consider the colony's products to be their score, as some of the coolest products are very hard to obtain.

Under the Bonnet

This section outlines the algorithms/systems used in the colony mode. Part of the fun of this game is learning the interactions between all the game's systems and figuring out how to use them to get the kind of colony the user desires.

Time

There are two types of time: Game and Visual. Both of them are directly proportional to real time * game speed. Visual time is used to make the colony look like it is going through day and night, and should move at the speed that looks the best. Game time determines how fast the colony's denizens act. The standard unit is 1 day.

Pathfinding

This is probably one of the colony's biggest technical hurdles. If thousands of units are allowed to wander around all willy-nilly the game may come to a screeching halt. Obviously, there will need to be a sophisticated searching algorithm that the units use (like IDA*) but that will be transparent to the user.

Fortunately, the game can place some constraints on unit movement to both lessen the burden of pathing AND make the placement of transportation buidlings/paths in the game more interesting!

Paths

The obvious first constraint: units are only allowed to move on paths placed by user. There may be some exceptions for gathering and/or service units, but they would use the paths to get as close to their destination as possible before moving onto open ground. The standard path is a simple road with sidewalks. Vehicles and pedestrians can use them simultaneously.

Express Paths

Just as most real people wouldn't be willing to take side-streets for very long distances, the colony's units will only use the standard roads for a certain distance before deeming the destination "too far" and deciding to go somewhere else (like another colony that's laid-out better!). Units will use standard roads to get to Express Paths (Freeways or Tubes (like the opening scene from Futurama)) and then when they leave the express paths (at user-placed exits) they will travel up to their willingness-to-travel-on-standard-paths distance.

This helps from a programming standpoint because the game can calculate paths from each express path exit to all of the buildings within some manhattan distance and store that as a graph for units to use when calculating travel routes.

Hubs

Public transportation can also help. Units may travel to a station (bus stop, train stop, teleporter?) and then travel from another station to their final destination. Note that using a hub means they will leave their vehicles behind and their willingness-to-travel-on-standard-paths distance may be much less once they leave the hub and must walk the rest of the way.

The coding benefit from hubs is very similar to Express Paths, but may require a unit to remember where it left its vehicle and then get back in it when returning to that hub.

Development Controls

Note: These Controls are strictly for testing and debugging and are no reflection of what the controls will be in the final game.

C Key: Switch Between CONSTRUCT and CONNECT mode

Numpad 0: Select Square to be built (must be in CONSTRUCT mode to place)

Numpad 1: Select Sphere to be built (must be in CONSTRUCT mode to place)

+ and - (non-numpad): zoom the camera in and out

[ and ] : rotate the camera

; and ' : tilt the camera

The camera will scroll when the mouse cursor is moved to the edges of the screen.

When in CONNECT mode, left click and drag between two buildings to place a connection between them.


F1: Queue Tech1 for research

F2: Queue Tech2 for research

F3: Queue Tech2-1 for research, Tech2-1 cannot queued until Tech1 and Tech2 have been completed, as they are prerequisites for it

F12: Increment Research on all queued Techs, Techs take either 10 or 20 increments to complete


Spacebar: Recenter camera on build area