diff --git a/design/src/SUMMARY.md b/design/src/SUMMARY.md index 7a8b6ac08..40a6ce56e 100644 --- a/design/src/SUMMARY.md +++ b/design/src/SUMMARY.md @@ -12,3 +12,7 @@ - [Creative Automation: Case Studies](./high-level/creative-automation-case-studies.md) - [Production Chains](./production-chains/index.md) - [Raw Resources](./production-chains/raw-resources.md) +- [Research](./research/index.md) + - [Assimilation](./research/assimilation.md) + - [Genetics](./research/genetics.md) + - [Hive Mind Upgrades](./research/hive-mind-upgrades.md) diff --git a/design/src/glossary.md b/design/src/glossary.md index c7c2ed478..97e910141 100644 --- a/design/src/glossary.md +++ b/design/src/glossary.md @@ -11,14 +11,26 @@ Key concepts and terms from game design. ### Accessibility +### Achievements + ### Automation ### Challenge +### Constraint + ### Design-by-stumble ### Depth and complexity +### Diagetic + +### Double-edged + +### Early game, mid game and late game + +### Flavor text + ### Fun ### Genre @@ -27,18 +39,34 @@ Key concepts and terms from game design. ### Loop +### Ludotography + ### Mechanic +### Plausibility and realism + ### Progression +### Quality of life + +### Randomness + +There are two kinds of randomness: input randomness and output randomness. + ### Tuning levers ### Tutorialization +### Upgrade + +### World generation + ## Factory Builders Terms defined here are standard elements of the factory builder genre. +### Alert + ### Belt A belt is a simple logistic entity which transports goods in a single direction. @@ -94,6 +122,8 @@ Previously copied layouts are simply overwritten. - [Factorio: Controls/Tools](https://wiki.factorio.com/Controls#Tools) (copy/paste/cut) - [Dyson Sphere Program: Mass Construction (Lv1)]() (enables copy/paste functionality) +### Encyclopedia + ### Filter Filters allow only one set of goods to pass through. @@ -137,6 +167,10 @@ The consumers in the network (e.g. logistic bots) can access the producers in th - [Factorio: Logistic network](https://wiki.factorio.com/Logistic_network) +### Map + +### Notes + ### Overlay Overlays are UI elements which allow the player to view additional information about entities or processes. @@ -166,6 +200,10 @@ The distribution of power is usually separated from the distribution of other re - [Satisfactory: Power](https://satisfactory.fandom.com/wiki/Power) - [Dyson Sphere Program: Power](https://dyson-sphere-program.fandom.com/wiki/Category:Power) +### Production statistics + +### Recipe + ### Research Research is the main means of progression. @@ -189,6 +227,8 @@ There are different types of resources: It's an intermediate set towards the production of end products. - **End product**: A resource that can be used directly for some in-game benefit. +### Sandbox + ### Science pack An intermediate resource that can be used to research technologies in the _lab_. @@ -213,6 +253,8 @@ In some games there are also many other entities to guide the behavior of large - [Factorio: Railway](https://wiki.factorio.com/Railway) - [Satisfactory: Electric Locomotive](https://satisfactory.fandom.com/wiki/Electric_Locomotive) +### Undo + ## Ecology These terms come from the science of ecology and its related fields. diff --git a/design/src/research/assimilation.md b/design/src/research/assimilation.md new file mode 100644 index 000000000..64677d1ca --- /dev/null +++ b/design/src/research/assimilation.md @@ -0,0 +1,39 @@ +# Assimilation + +When the player **assimilates** a species, they domesticate it, learning how to care for and reproduce it, and bringing it into the broader multi-species hive. + +Assimilation serves several gameplay purposes: + +1. Gate wildly different technology in a visually distinctive way. +2. Tutorialize the process of caring for a new species. +3. Give players a reason to care about and get excited by the flora and fauna they see around them. +4. Encourage players to explore new areas. + +In order to assimilate a species you must: + +1. Study the species in the wild for a time. + 1. You must observe key life cycle events, which unlocks that section of their encyclopedia entry. +2. Capture a number of specimens of a species. +3. Keep that population alive for several life cycles. + +Once you have assimilated a new species, you unlock control over [genetics](genetics.md) for that species, and can build reproductive structures for that species. + +## Implied Constraints + +- players should be able to tame almost anything they meet +- players must be able to clearly differentiate between tamed and wild organisms of the same type +- species must be mechanically and visually distinct + - you cannot have 3 species of dragonflies! + - this is because players must be able to clearly tell when an encountered species is new to them +- there must be a moderate number of species in the game + - with too few species, players will get bored + - with too many species, finding and understanding each species will explode complexity and development costs +- exploration becomes an important game mechanic + - map cannot start fully visible + - different species must live in different regions +- each species must have an interesting life cycle that players must learn about and master + - survival, feeding and reproduction are the obvious choices + - unique / interesting / challenging behavior is also a good option +- progression must be robust: there must be many paths to the same resources and comparable tools + - each pathway should feel meaningfully distinct: this plays well with unique life cycles + - [_Against the Storm_](https://store.steampowered.com/app/1336490/Against_the_Storm/) and [_Oxygen Not Included_](https://store.steampowered.com/app/457140/Oxygen_Not_Included/) do a fantastic job of this diff --git a/design/src/research/genetics.md b/design/src/research/genetics.md new file mode 100644 index 000000000..1311dcead --- /dev/null +++ b/design/src/research/genetics.md @@ -0,0 +1,68 @@ +# Genetics + +**Genetics** allows the player to modify species that are [part of their hive](assimilation.md). +In this menu, players can: + +1. Unlock **mutations** for a species. + 1. These can add new options for the species. + 2. These can also dramatically improve the species in some axis to open up a new role for it. +2. Create a new **strain** of a species. + 1. Strains are part of the same species, and share an unlocked upgrade pool. + 2. Each strain can select a different set of mutations. +3. Assign mutations to a specific strain. + 1. Choices are not locked in, but changing them comes with a cost. +4. Configure other strain-level settings, such as signal responses. + +The mechanics for assigning mutations are fairly simple: + +1. There are some number of slots for each species, typically corresponding to some visible part of their body. +2. Each strain may select up to 1 mutation for each slot. + +To unlock mutations, you must accquire resources, and perform research at a dedicated species-specific facility. + +Creating strains and changing strain-level settings (other than to select the first mutation for each slot) comes with some cost to avoid thoughtless twiddling. + +## Realism + +This, unsurprisingly, is a wildly "unrealistic" model of genetics and crop / livestock breeding. +It is, however [plausible](../glossary.md#plausibility-and-realism), as it *feels* like genetics and synergizes with the game's aesthetics. + +Very briefly, there are some key facts about real genetics, and why they make bad game mechanics: + +- genetics involves random mutation + - yes, and [output randomness](../glossary.md#randomness) is generally frustrating +- most mutations have no effect + - wow, so exciting +- strains aren't genetically homogenous + - this is extremely hard to convey to players + - this is very frustrating at a scale of hundreds to thousands of organisms + - this is likely to have a significant performance cost +- not all functional mutations are visible + - yes, but players need to be able to tell what's going on +- cross-breeding is complicated and involves carefully selecting lines and genetic analysis + - yes, and that's not what this game is about +- traits typically show complex genetic patterns of dominance and recession and polygenetic origins + - yes, and that's not what this game is about +- eusocial insects have really complicated chromosomes! + - yes, I know: if it adds gameplay value we can make a nod to that +- eugenics is Very Bad + - yes! + - plant and animal breeding is generally accepted as ethical however + - don't capture people and subjugate them to the hivemind and force them to breed, okay? + - ~~unless they're into that~~ + +Again, this game is [*inspired* by biology, not a model of it](../high-level/game-thesis.md). + +## Implied Constraints + +- each upgrade must be visually distinguishable + - this follows from the [key design constraints](../high-level/game-thesis.md#key-design-constraints) +- strains must be visually distinguishable +- this should be done via player-driven color selection +- all combinations of mutations across different slots should be compatible +- incompatible mutations must belong to the same slot +- mutations should typically represent an increase in power over their base version +- unlocking new mutations should be exciting and worth the resource investment +- every upgrade slot should have at least one "generally good" upgrade +- mutations within the same slot should have clear tradeoffs between them + - [double-edged](../glossary.md#double-edged) upgrades are particularly good for this diff --git a/design/src/research/hive-mind-upgrades.md b/design/src/research/hive-mind-upgrades.md new file mode 100644 index 000000000..016139a6c --- /dev/null +++ b/design/src/research/hive-mind-upgrades.md @@ -0,0 +1,78 @@ +# Hive Mind Upgrades + +High-level play of factory builders involves understanding a *tremendous* amount of information and using an enormous number of [quality of life](../glossary.md#quality-of-life) tools. +This can be overwhelming, and detracts from the new player experience. +However, simply excluding these tools makes managing late-game factories effectively very hard, and will frustrate genre veterans. + +To deal with this tension, many of these tools are traditionally buried in menu settings, hidden behind keybinds or relegated to mods. +However, there's a better approach: enable them slowly over time in a [diagetic](../glossary.md#diagetic) way. + +In *Emergence*, the player controls the hive as a whole. +We can play into this theme by framing quality of life and information upgrades as the hive mind getting smarter. + +To differentiate these further from [genetics](genetics.md) research, these upgrades don't cost resources. +Instead, they unlock as various milestones are completed for each playthrough. + +These upgrades are arranged in a tree structure: both for complexity management and because many of these upgrades are logically locked behind earlier ones. + +Each upgrade can be toggled on-and-off freely in the same menu, so players can control the information they're viewing. +When unlocked, these begin in the off state, but an alert notifies the player that they've unlocked a new hive mind upgrade. + +## Upgrade options + +Several categories of [upgrade](../glossary.md#upgrade) belong here: + +- basic upgrades + - these are too important to [early game](../glossary.md#early-game-mid-game-and-late-game) [quality of life](../glossary.md#quality-of-life) and [tutorialization](../glossary.md#tutorialization) to be gated behind all but the most basic achievements + - [alerts](../glossary.md#alert) + - [undo/redo](../glossary.md#undo) + - [pipette](../glossary.md#pipette) + - [clipboard](../glossary.md#clipboard) + - basic [encyclopedia](../glossary.md#encyclopedia) + - zoning strength + - pheromones + - terraforming + - [map](../glossary.md#map) +- informational upgrades + - local, regional and global [production statistics](../glossary.md#production-statistics) + - [recipe](../glossary.md#recipe) lookups + - organism statistics + - soil and water statistics + - signal [overlays](../glossary.md#overlay) + - geographical status [overlays](../glossary.md#overlay) + - organism intent and actions + - expanded [encyclopedia](../glossary.md#encyclopedia) entries +- simulation [sandbox](../glossary.md#sandbox) upgrades + - this is a special creative mode, used to test designs quickly and at no cost + - time is paused while in this mode + - further upgrades unlock the ability to further modify environmental conditions, speed up time, get more space and so on + - production planner capabilties belong in this tree +- [quality-of-life](../glossary.md#quality-of-life) upgrades + - [blueprints](../glossary.md#blueprint) + - customizable [alerts](../glossary.md#alert) + - map [notes](../glossary.md#notes) +- [complexity](../glossary.md#depth-and-complexity) upgrades + - [assimilation](assimilation.md) + - [genetics](genetics.md) research + - maximum number of strains of each species + - tame and perform genetics research on multiple species at once + - complex game mechanics unlocked via genetics research + - [research](../glossary.md#research) queues + +Players can choose to opt out of this system during [world generation](../glossary.md#world-generation), allowing them to access all of the complexity at the very beginning. +This is mostly useful for genre veterans and experienced players. + +## Implied constraints + +- *Emergence* must have an achievement system +- unlocking milestones for the first time should grant an achievement +- achievements must be tracked on a per-playthrough basis +- achievements used in this system should be achievable in every playthrough by every player +- achievements should show progress towards the goal +- achievements should be conceptually tied to the type of tool they unlock + - informational upgrades should come when you need that new information for example +- we must have a handful of very basic achievements to unlock the key early-game tools and introduce these systems to players ASAP +- this system of upgrades is one of the main forms of [tutorialization](../glossary.md#tutorialization) +- achievements must be shared between players in a multiplayer game +- each achievement should have a run-specific in-game reward +- intelligence, and the development of intelligence, becomes a theme of the game diff --git a/design/src/research/index.md b/design/src/research/index.md new file mode 100644 index 000000000..5b97554c2 --- /dev/null +++ b/design/src/research/index.md @@ -0,0 +1,18 @@ +# Research + +[Research](../glossary.md#research) is the primary mechanism of progression in the [factory builder genre](../high-level/genre-analysis.md). +Raw resources are transformed and then consumed to unlock new options and receive permanent boosts to effectiveness. + +Research serves many goals: + +1. Provide a meaningful, nearly limitless sink for raw resources. + 1. Most other resource sinks ultimately *improve* the rate of resource extraction and refinement! +2. Gate [complexity](../glossary.md#depth-and-complexity), by slowly unfolding options throughout the game. + 1. This feels more meaningful and is less patronizing as players can choose the order, and control the rate of unlocks. +3. Provides a sense of [progression](../glossary.md#progression) and rewards players for their successes. +4. Provide players with an outlet for mechanical [creativity](../high-level/creative-automation.md), by allowing players to choose how their playthrough unfolds. + 1. In most games, this effect is quite limited, as you are steadily unlocking a fixed tree with limited actual freedom. +5. Showcases late-game mechanics to let players plan and get them excited about how cool it's going to be. + +In *Emergence*, there are three distinct forms of research: [assimilation](assimilation.md) (capturing new species), [genetics](genetics.md) (refining and branching existing species) and [hive mind upgrades](hive-mind-upgrades.md) (increasing information and direct player upgrades). +These are primarily split for thematic cohesion, but that choice also serves to increase system richness and add more interesting and distinct end goals.