OpenEVA

An Extravehicular Maintenance Sim

The Game | 2017 - 04 - 23

OpenEVA will be a resource management business sim in which you play as a blue collar ExtraVehicular Activity contractor working on humanity’s frontier in the year 2120. The main mechanic will center around building and maintaining your spaceship, EVA suits, robots, computers and other equipment required to fulfill various contracts in hazardous alien environments throughout the star system. The final goal is to save money for retirement, with an array of possible outcomes based on the player’s performance. The gameplay will not be super exiting, all gameplay systems will be something which can be implemented in a spreadsheet, but that can be something extremely useful when designing a complex, data-driven game like this. I intend for the game to be highly modular and extendable. All game Resources, Parts, Equipment, Contracts, Events and more will be simple JSON definitions which will allow users to create their own content.

I want the incredible complexity of futuristic spaceships and robots to be reflected in the game; Each piece of Equipment will be constructed of a detailed array of Components, Parts and Materials which will need to be maintained and replaced as they become worn or damaged. The player will use their Equipment in order to complete Contracts, which will be the player’s main income and driver of gameplay. Players will need to manage money, power, fuel, food and many other Resources as they operate and grow their modest business. Purchasing, building, upgrading, or otherwise acquiring Equipment and Components will allow the player progress. Finally the player will be occasionally presented with Events which will add complexity and flavor to gameplay.

The core gameplay loop in OpenEVA will start with the player looking over a list of available Contracts and selecting one they wish to undertake. They will then assign Equipment required for the Contract, ensuring that each piece of Equipment is suitable for the job and in working condition. Once satisfied the user will start the Contract job making a series of decisions based on a description of the situation. Success or failure of a contract will be rewarded or penalised accordingly, Resources used during the Contract will be consumed, Equipment will become worn or damaged and the player will receive a detailed summary of the outcome of the Contract. The player will then be free to repair and maintain their Equipment, buy or sell Equipment and Resources, take and fulfill Contracts, receive Events, or pursue any other gameplay activity.

Ideally the complexity of OpenEVA will lie in the Component and Part structures, Resource chains, Event and Contract variety rather than the gameplay systems behind them. I intend to implement fairly simple set of models and interactions upon which a complex and deep structure can be built. It should be possible using simple JSON definitions to produce a total conversion of the game, completely changing the theme and content, in order to facilitate future creativity.

Resources

The core mechanic of OpenEVA will be resource management. The player will manage a wide array of Resources, each with their own value, functions and risks. Resources will be required to fabricate the Parts needed to build and maintain Equipment; Equipment needs to be powered and fueled to operate; The player must keep themselves fed and avoid running out of Oxygen or Coffee; Waste byproducts and hazardous materials will need to be safely disposed of or recycled (or not); Equipment can be used to produce, generate or grow Resources for use or sale. The player will need to efficiently manage their resources in order to be successful in game.

Cash will be the most important and powerful resource in OpenEVA. No capitalistic cosmic dystopia can function without a strong, centralised fiat currency. Money will be the main economic unit of OpenEVA, the stated goal being saving as much as you can before retirement. The game’s end state will occur when you either reach retirement age or save enough to retire early. Player success will be measured by how much they have saved and the cash value of their equipment at the end of the game. Success or failure represented by the quality of their retirement, ranging from a tiny habitation pod on a crowded space station, to ascension into some post-humanist immortality. The player will need to manage and invest their money: Buying and selling Equipment and Resources, taking out loans and paying out fees, fines, interest and taxes to keep their business running.

Time will be a central Resource in OpenEVA’s gameplay. During freeform gameplay time will tick; Equipment and Components will consume and produce Resources; Money will be earned or spent; Contracts will expire and become available; And the clock will tick ever closer to the end of the game. The player will have some control over the passage of time, allowing them to speed up to wait for Events, Contracts or Resources, or pause the game to allow breaks and contemplation. Contract jobs will take time to complete, Parts will take time to fabricate and Equipment will take time to repair. The player will need to manage their time like any other Resource in the game to be successful.

I intend to have all Resources defined through simple JSON so it will be easy to add and modify Resource chains, costs and pacing. Using the system I plan to implement, it will be possible to add an entire economy to the game with one or several new Resources, Equipment, Components, Parts, Events and Contracts with JSON definitions alone.

Equipment

Every piece of the player’s property in OpenEVA will be represented as Equipment. Contracts may require specific Equipment or Components with specific capabilities; An appropriate EVA suit will need to be chosen for different conditions and situations; The player’s ship will be an essential piece of Equipment that will have a variety of purposes and functions. The core gameplay mechanic of OpenEVA will be the construction and maintenance of your Equipment. The core progression mechanic will be acquiring and upgrading Equipment, enabling access to new Contracts, Resources, Events and abilities.

Each piece of Equipment will consist of a collection of Components which each have specific functions. Components may enable certain actions, generate power or Resources, enable fabrication of Parts and Equipment, provide storage or fulfill some other purpose. Components may also have requirements for their operation or use. Components themselves will be collections Parts and Resources, which the player will need to maintain and replace as they become worn or damaged during use or as the result of some event. Parts are themselves collections of Parts and Resources which will need to be maintained.

Examples of Equipment include the player’s spaceship, EVA suits, robots, surface vehicles, excavators and construction machinery, specialized tools, laptop computers and pretty much any tool or item that has some function in the game.

Equipment will be a container for Components which will have their own capabilities, functions and requirements. A Component is a functional item that makes up a piece of Equipment. A piece of computer Equipment might consist of a power supply Component, several circuit board Components, a processor Component, a GPU, RAM, hard drives, a cooling system, ATX case, wiring, input and display Components, an operating system and specific software. These Components are each constructed out of their own Parts and materials.

Components may produce and consume Resources, or provide some other function or utility to the player. A reactor component might slowly use Uranium-235 as fuel and produce electricity and other elements and isotopes as byproducts.

A Part is any item that has had some manufacturing or fabrication from which a Component or Part is constructed. For example: A simple bearing Part would be constructed from x2 steel bearing casing Parts and x16 brass ball bearing Parts. The bearing itself could be used as a part number of Components or other Parts.

Equipment will become worn or damaged over time through use or Events which occur during gameplay. New Equipment will need to be acquired and old equipment upgraded or sold. The player will spend time and Resources repairing, maintaining, fabricating, replacing, improving and upgrading the Components and Parts from which their Equipment is constructed; Components can be added, removed and upgraded; Parts can be fabricated, swapped and improved; The player can use their resources to construct new Equipment from raw materials. Equipment maintenance and construction will be where the player spends the majority of their time and resources, and serve as the main outlet for player creativity and ingenuity.

I am fairly confident this model will give me the sense of complexity and detail that I want to capture in OpenEVA, while being simple enough to be implemented in a robust and clean way. A nice hierarchical view of few layers of Part collections for each component should be sufficient to get my engineering neurons exited. Equipment construction and maintenance will allow players to be creative and develop some interesting things. This model should also be easy to implement in code in a way that is highly flexible, clean and defined through simple JSON.

Events

Events will be the heart of OpenEVA’s main gameplay mechanic. They will serve as the driver of gameplay, narrative and progress. The player will occasionally receive ambient Events during freeform gameplay and Events may be triggered at specific gameplay beats. Events will be one of the main delivery methods for narrative, flavor and decision making, while adding an element of action, difficulty and unpredictability to gameplay.

Events will be presented to the player as a series of text based descriptions and player choices. At each stage in an Event the player will be presented with a text description of the situation, and one or more options on how to proceed. Once an option has been selected the Event will move to the next stage. Once complete the player will be given a description of the outcome, and a summary of any rewards or penalties resulting from the Event. Event outcomes may be based on probability or player choice and the player will receive a detailed summary of the rewards or penalties.

Events will form the foundation of gameplay and narrative. Undertaking a Contract job will simply trigger some Event associated with the Contract. The player will receive Events contextual to their progression in the narrative. Certain Events may be triggered from specific gameplay beats. Event chains will enable complex narrative arcs and quest lines. The Event system will be robust enough to allow the user to define complex and interesting sequences and interactions.

Contracts

A core element of the gameplay of OpenEVA will be the concept of Contracts. Conceptually the player character is a extravehicular activity general contractor who is paid to do some job outside in space, on the surface of alien planets, or in some other hazardous alien environment. Even in the year 2120, EVAs will be dangerous and require special training and equipment to preform. The player will undertake Contracts for a variety of EVA work throughout the star system. Contracts will be core driver and delivery method of story, theme and immersion through player choice and text based flavor.

Each Contract will have a set of requirements that must be met in order for it to be completed. These include specific Equipment or Component function needed to do the job, Resources or Parts required or consumed, Contracts or Events that must be completed, or other specific requirements.

Contracts will have a reward for successful completion. Contract rewards can include almost anything from story progression and roleplay, to Resources, Equipment and cash. Contract rewards will be the main source of income and Equipment wear and tear.

The player will be presented with a list of the available Contracts in the system. Each Contract will consist of a description of the job and details on the requirements, risks and rewards associated with the Contract. The player will select a Contract and examine the details to determine if they meet the requirements to complete it. If they decide to take the Contract they will accept the terms and the Contract will be placed into a bucket of active Contracts. The player will then be able to select the Equipment that they will take to the job site and use, assigning each piece to the Contract. Once equipment has been selected the player will finally preform the Contract.

Contact jobs are simply Events and will exist as a series of flavor text and player choices. At each stage the player will be presented some text describing the situation and one or more selections representing possible actions or outcomes. Each step can have any number of outcomes based on probability or player choice. Finally the player is presented with a description of the outcome of the Contract and a summary of the success or failure of the contract, as well as any rewards, penalties or other outcomes.

I feel that this system will provide a good enough compulsion loop to serve as one of our main gameplay drivers. They will also serve as a major delivery method for the game’s narrative, theme and flavor. This will all be defined through simple JSON so it will be easy to add new Contracts to the pool.

Conclusion

These four relatively simple systems will form the foundation of OpenEVA’s gameplay. Everything in the game should flow from these systems. The complexity of the game should derive from the defined content rather than the systems themselves. And the user should be free to define their own content using simple JSON definitions.

There are plenty of specifics to work out still, but I feel what I have described here will be solid infrastructure upon which an interesting and complex experience can be built. I also feel that it is a realistically achievable design and something that may actually be some fun to play.