Welcome to the Omnipresence project!
Omnipresence is an open-source, browser-based MMORPG. It is currently under development.
Game description
Introduction
The game has a well-known structure for browser-based MMORPGs, inherited from RTS games. Each player will be able to research a number of technologies. Each technology will enable the purchase of a number of items. As he/she researches further, new technologies will be made available. Actions will occur in fixed lapses of time.
The overall plot of the game is that each player represents a civilization which has a home planet. Players fight each other to conquer their planets. The ultimate goal is to discover and conquer a secret planet managed by a non-player character (NPC).
The universe
Planets are placed in solar systems; solar systems are placed in galaxies; galaxies are placed in clusters. Each one of these elements will be given a numeric identifier. Thus, each planet can be identified through a coordinates system. This coordinate system will be:
cluster:galaxy:solar system:planet
For instance:
10:2:5:1
Players will use this system to identify each other for sending messages, launching attacks, defending allies and other tasks.
Timing
Events will not happen in real time. A custom timing system will be used. A fixed ammount of real time will correspond to a unit of time in this custom system. This unit of time is called a "tick". The timing system is called the "ticker". Thus, a tick will occur every half an hour. When a tick ends, the following calculations are performed:
- Location of spacecrafts are updated.
- Battle calculations are performed.
- Any other timed-constrained action is executed.
Each universe will have its own ticker.
Research tree
The set of researches available and the dependencies between them will configure a research tree. Upon completing a given research, new researches and items will be available to the player. At some point, no further research will be possible. This set of researches and items will be configurable per-universe. That is, the research tree will not be "hardcoded" into the system, and it must be possible to modify the research tree of a universe and not affect the research tree of another.
Players will have a fleet composed of spaceships. Different spaceshifts will become available through research. The following types of spacecrafts are defined:
- Spaceshift: this spaceshift carries soldiers and attack an enemy planet, or defends an ally.
- Explorer probe: it's a spacecraft designed to discover planets and register their location. It is launched without a specific target planet, and after a period of time returns and delivers all gathered information. The better the version of this probe, the wider the range it explores. Planets will remain hidden to a player until an explorer probe discovers them.
- Spy probe: it's a spacecraft designed to spy on a known planet. The better the version of this probe, the more information it's able to gather.
- Carrier: this ship carries resources between planets.
In order to build these spacecrafts (and any other item) a player needs resources, which are produced by production facilities (mines and the like). The types of available production facilities and resources must be configurable.
Other types of items are:
- Interplanetary missiles: long range missiles which can be launched against an enemy planet to destroy defenses, soldiers and spacecrafts. They are produced in missiles factories.
- Defense missiles: short range missiles which automatically respond to incoming enemy fleets, probes
or missiles and attemp to destroy them.
- Soldiers: soldiers fly on spaceshifts and are deployed on an enemy planet to conquer it, or on an ally planet to defend it. Soldiers are trained in barracs.
Battle system
When players launch spaceshifts, they must indicate the kind of the mission to be executed upon arrival to the destination. Possible actions are:
- Attack
- Conquest
- Defense
Attack
In order to attack a planet, a player must first discover it. Explorer probes are used for this.
When a fleet attacks a planet, the properties of the attacker's fleet are compared against the defenses of the attackee. A probabilistic approach is applied to determine which and how many items will be lost by either side. The attack is kept during a given period of time. This calculations might result in the following scenarios:
- The attacker losses soldiers and/or spaceshifts, and the attackee losses soldiers and/or spaceshifts. Both players receive notification about the losses suffered by both sides. Surviving spaceshifts return home.
- The attacker losses all his soldiers and and possibly some spaceshifts. In this case, the attacker receives a notification about the losses, but no information about the attackee.
- The attackee losses all his soldiers. In this case, the attacker captures resources and brings them back to his/her planet.
- Both player lose all their soldiers. In this case, the attacker receives no further information and captures no resources.
This mission can be cancelled by the attacker at any given time.
Conquest
The goal of this mission is to keep attacking a planet until all the defenses are destroyed: soldiers, spaceshifts and missiles. Once and if this happens, the attacker gains control over the defeated planet.
This mission can be cancelled by the attacker, but in this case no resources are captured.
If a player's home planet is conquered, the player is "exiled" into an empty planet. He keeps all of the researched technologies, but no resources, facilities or items. Thus, he/she has the chance to start over, and for a period of time cannot be attacked.
Defense
A player can send a fleet at another player's planet to aid him when it's under attack. The forces of the fleet will join the forces of the planet under attack.