Skip to content

Environment

Maarten Billemont edited this page Aug 15, 2013 · 12 revisions

The Omnicron gameplay occurs on a world's moons where several factions are battling it out for control of the newly discovered resources.

Editing note

When you edit a section that has a completion tag, make sure to update the tag to reflect the degree in which the section's text has been implemented in the code.

Game world (completion: done)

A single game takes place on one of the moons. The playable area is defined as "the game world".

The game world consists of:

  • a ground level
  • a sky level
  • a space level

The game world is defined by a 2-dimensional fixed-size grid of hexagonal tiles at each of these levels, which wrap at the world's boundaries.

Game environment

The game world's tiles initial content depends on the level.

Ground level environment (completion: partial)

The tiles are mostly either liquid or solid. These can be traversed only by units fit for transportation over either or both of these types of terrain.

Debris and vegetation (on certain moons) is distributed across the game world.

Certain tiles provide resources when mined. See the section on Resources for more.

Randomly, asteroids crash into the ground, destroying any non-liquid or solid in a 2 tile radius. Asteroid crashes leave resources in random tiles that were affected by the blast. These resources can be of any type supported by the space level.

Ruins are randomly distributed throughout the world. They are abandoned buildings that belong to no faction. Ruined buildings can be reclaimed by repairing them.

Sky level environment (completion: done)

The sky tiles are initially all empty.

Space level environment (completion: partial)

The space tiles are initially mostly empty except for a few pockets of space debris.

Randomly, new asteroids enter the space level as debris.

Space debris can be mined. See the section on Resources for more.

Resources (completion: partial)

Certain tiles in the game provide the ability to mine resources. Tiles that provide resources are allocated in the beginning of the game. Certain events throughout the game can introduce new resources, such as asteroids collisions.

Mining buildings have a reach of three tiles, including their own. All minable tiles in the building's reach have their available resource counts decreased over time as these resources are extracted and stored in the building. When the resource count of a tile reaches zero, it can no longer be mined. Space debris slowly disappears as it is mined until it is completely gone as soon as the resource availability reaches zero.

The game provides the following minable resources:

  • Fuel (Fu)
  • Silicon (Si)
  • Metals (Mt)
  • Rare Elements (Re)

Resources are available from tiles in the following levels:

  • Ground Level: Fu, Si, Mt
  • Space Level: Fu, Si, Mt, Re

Fu: Fuel (completion: partial)

The fuel resource (Fu) is an abstraction of resources that can provide energy to machines. Throughout the game, Fu is used for the following purposes:

  • Power generation
  • Vehicle running cost

This makes Fu the most important resource for keeping a live and healthy economy.

Si: Silicone (completion: partial)

High-tech machinery in the game operates on silicone-based circuitry. The silicone resource (Si) is required for the construction of circuitry. Throughout the game, Si is used for the following purposes:

  • Construction of high-tech buildings and vehicles

Si's importance is therefore mainly in the fact that it provides the faction with much more evolved technology. An abundance of Si allows for more powerful or efficiently operating equipment.

Mt: Metals (completion: partial)

The metals (Mt) resource is an abstraction of resources that provide construction and framing capabilities. Throughout the game, Mt is used for the following purposes:

  • Base construction cost
  • Re-enforcement

As a result, Mt is the most important resource for an expanding faction. A shortage of Mt will halt all construction and starve a faction of its ability to expand.

Re: Rare Elements (completion: partial)

The rare elements (Re) resource is an abstraction of rare resources that do not naturally occur on the surface. They are foreign elements introduced through space objects entering orbit or colliding with the ground level. Throughout the game, Re is used for the following purposes:

  • Special equipment with extraordinary properties

Re allows a faction to get a unique edge or surprise other factions with a rare display of power. Re is of special strategic importance, both to control and to prevent others from controlling.

Victory Conditions (completion: none)

A game of Omnicron involves multiple factions (2+) battling it out until the first faction reaches one of the victory conditions. Victory conditions cause the conflict to end by a re-balancing.

The following victory conditions exist, each of which may be individually enabled when a game is initiated:

  • Supremacy: All other factions have surrendered or been destroyed.
  • Migration: A faction has successfully completed mass exodus to Omnicron.
  • Might: A faction has become a super-power by obtaining a score that is 10k greater than that of their second.
  • Capture: 30 turns after a faction has obtained and activated a global insurgency device, it will trigger a revolt with all factions, converting them into the activating faction.

Supremacy (completion: done)

The most basic victory condition is supremacy. Supremacy is reached when a faction is the last standing in the game.

To assure victory through supremacy, a faction must destroy all units of the other factions and not be destroyed itself.

Migration (completion: none)

The planet of Omnicron is distant yet wonderfully rich planet in a neighbouring solar system that can be discovered by space observation. In comparison to the desolate conditions of the moons and the constant conflict between the factions, Omnicron is a paradise waiting to be colonized.

When the first faction learns about the existence of Omnicron, its location becomes known immediately to all other factions. This generally triggers a space race or otherwise accelerates the gameplay toward one of the victory conditions.

To colonize Omnicron and trigger this victory condition, a faction needs to:

  • Build a colonization spacecraft.
  • Prepare for mass exodus by populating the craft with 1 million passengers.
  • Launch the colonization craft into space.
  • Defend the craft on its way out from attacks by rivaling factions.

A faction's attempt at migration can be sabotaged by other factions. They can:

  • Destroy the construction site of the craft.
  • Destroy the craft as it is being populated.
  • Destroy the craft on its way into space.

While ascending, a colonization craft travels from the ground level through the sky level into the space level. At any of these levels, the craft may be assaulted by rivaling factions in an attempt to sabotage the migrating faction's victory.

Might (completion: done)

As factions expand, a score metric keeps track of how well they're progressing. Factions with a larger score are generally farther advanced and more of a danger to factions that lag behind in score.

When a faction develops a very large score-gap from the other factions, it may develop into a super-power. Becoming a super-power immediately triggers a victory, since super-powers have become powerful enough to be no more match for the other factions.

To assure victory through might, a faction must reach a score that is at least 10k larger than that of any other faction and maintain it for at least 10 turns.

To prevent a faction's victory through might, other factions need to either boost their own scores and/or decrease the mighty faction's score as fast as possible in an attempt to close the gap between their scores to lower than 10k.

Score is allocated for certain buildings and vehicles. The destruction or deactivation of these units causes their score bonus to disappear from the faction's total score.

Capture (completion: none)

While exploring the surface of the moon, factions will encounter ruins of different sorts. Some ruins will contain Global Insurgency Devices. These devices, when captured, become active and initiate a world-wide insurgency attempt. The preparation for this insurgency takes 30 days.

As soon as the insurgency preparation begins, all factions immediately learn that a global insurgency is being prepared in favor of a certain race. They do not learn the race that is preparing the insurgency, however they do learn the location of the insurgency device. This generally triggers a race to obliterate the insurgency device or otherwise accelerates the gameplay toward one of the victory conditions.

To assure victory through capture, a faction must:

  • Find a Global Insurgency Device
  • Repair it to capture the device, which triggers its activation
  • Defend the device for 30 days from assaults by rivaling factions

The only way to prevent a faction's victory through insurgency once it has activated a device is by destroying the active device. An active device cannot be captured by another faction. The insurgency cannot be halted in any way other than by the destruction of the device that triggered it. Multiple insurgencies may be in progress at any one time, only the insurgency that first completes its cycle (and the first that was activated, if multiple devices complete a cycle on the same turn) assures a victory.

Units (completion: partial)

Game units can be buildings, vehicles or satellites and are defined by a set of modules that implement behavioral traits. Each module specifies a capability and units implement modules by a unique set of module properties.

The game features the following modules:

  • Base: Implemented by all units and defines a set of base properties.
  • Mobility: Unit is automotive.
  • Constructor: Unit can construct other units.
  • Container: Unit can hold resources.
  • Loader: Unit can hold other units.
  • Weapon: Unit can cause damage to other units.
  • Extractor: Unit can extract resources.
  • Building: Unit is a fixed structure.

Base Module 1Mt (completion: done)

The base module provides a basic set of properties that all units implement.

  • Maximum Health: Determines how much damage a completely healthy unit can take before it is destroyed.
  • Armor: Determines how well a unit is protected from incoming damage.
  • Damage: Determines how much damage the unit has so far incurred.
  • View Range: Determines how far the unit can get a visual on his surroundings, provided his view is unobstructed.
  • Supported Layers: A set of layers the unit supports. The unit can only exist in one of these game layers.

Mobility Module 1Mt (completion: done)

The mobility module gives a unit the capability to move around in the level on its own.

  • Movement Speed: A factor that determines how far this unit can move per turn.
  • Level Multiplier: Per level type, a multiplier that defines how well it is able to move within a level of that type.

Constructor Module 2Mt (completion: done)

The constructor module gives a unit the capability to construct other units.

  • Builds Module: The type of module that this constructor can build.
  • Build Speed: A number that determines how much of a module's work this constructor can complete in a turn.
  • Remaining Speed: A number that indicates how much work this constructor can still complete this turn.
  • Build Target: The object that this module will work on. Can be either a construction site or another unit that's constructing something.

When a constructor module targets a site, its remaining speed will automatically go to completing work on that site that it supports. When targeting another unit, this module will effectively assist that other unit in whatever its constructor module targets (the target will effectively become the targeted unit's target).

Work will only happen when the module has a target and that target is adjacent to this module's unit.

To complete a unit of work, a constructor needs resources. The amount of resources required per unit of work on a module are defined by the module being built. The constructor needs a link to a container that can provide the required resources from stock and will deplete its stock as it completes work.

Container Module 1Mt (completion: done)

The container module gives a unit the ability to hold and store resources.

  • Resource Type: The type of resource that this container can hold.
  • Capacity: The maximum amount of the resource that this container can hold.

Extractor Module 1Mt (completion: done)

The extractor module allows a unit to extract resources present in tiles.

  • Resource Type: The type of resource that this extractor is able to extract.
  • Speed: The amount of resources this extractor is able to extract at once.

Loader Module 1Mt (completion: none)

The loader module allows units to dock or hold other units.

  • Supported Module: Allows loading of units that support this module.
  • Capacity: The maximum amount of supported units that this loader can hold.

Weapon Module 2Mt (completion: done)

The weapon module gives the unit the ability to perform offensive action.

  • Fire Power: The average attack strength this weapon.
  • Variance: The amount of random deviation applied to the weapon's fire power when fired.
  • Type: The type of attack this weapon performs.
  • Supported Layers: A set of layers on which the weapon is able to strike units.
  • Range: Determines how far a target unit can be for the weapon to be able to strike it.
  • Repeat: The amount of times a weapon can fire per turn.
  • Ammunition Load: The amount of ammunition this weapon has when it is fully loaded.

Building Module 3Mt (completion: none)

The building module defines units that are fixed structures.

  • Sub-Building Type: The type of sub-building this building requires.
  • Sub-Building Count: The amount of sub-buildings this building supports.

Formulas

These equations determine how properties relate to each other.

Movement

  • [movement speed] * [level multiplier] = [max movement tiles per turn]

Weapon

  • [damage] += [fire power] + [variance] * {rnd} - [armor]
  • [remaining health] = [max health] - [damage]