--- title: Catalyst - gdd 2 tags: catalyst gdd, game design document --- # Nanomachine specialization Nanomachines have to be programmed into a specific job before they can be used. ## Compute memory Compute memory is used for running programs. Each program has a specified amount of memory it uses. ## Battery Batteries are used for storing energy required to use specific programs. ### Specialized batteries Batteries can be specialized to store energy that can be only used for a specific category of programs or even just a specific program. The more specialized the battery is, the more energy it can store. ### Non-rechargeable batteries Nanomachines can also be specialized as non-rechargeable batteries. Those batteries can only be recharged while in safe places, but they have the benefit of greatly expanded storage capabilities. # Energy generation Some programs require energy to be used. The energy can be stored in nanomachines specialized as batteries. Batteries by themselves do not come with any energy (other than the non-rechargeable battery nanomachines). To generate energy, energy generator programs have to be used. ## Passive Generator The Passive Generator program slowly, unconditionally generates energy over time. ### Exponential Passive Generator The Exponential Passive Generator program variant works the same as its standard Passive Generator version, but it generates exponentially more energy depending on the number of its instances running at once. :::warning Those two could potentially be consolidated. ::: ## Combo Generator The Combo Generator program generates energy while participating in combat. ## Tranquility Generator The Tranquility Generator program generates energy while not participating in combat. # Movement Due to the widespread use of nanomachines, human muscles got weaker over the years (unused muscles atrophy; evolution deemed them unnecessary). This means humans are not very mobile without their help. Gameplay-wise, this means programs are almost required for any kind of fast horizontal movement or any vertical movement. ## Universal ### Lightweight Lessens the weight burden of the user, allowing faster movement. #### `v1.0` The initial version of the program. This version allows "normal" movement. Each new save starts with this version installed and running. ### Booster Allows boosting the user in any direction. ## Vertical ### Anti-gravity Cancels the force of gravity, allowing free vertical movement with a moderate continuous energy consumption. # Hacking Nanomachines essentially turned hardware into software -- they can be programmed to take any physical form. This also means the hacking scene took interest into it. ## Minigame The hacking minigame must not be too complicated, but it should still be interesting enough. The hacking minigame in the game Iji is a good example of such a minigame. It could be extended with some extra mechanics, within reason. See the Design inspiration -> Iji section. ## Hacker programs The simplest way to hack into nanomachines is to use specialized hacker programs. Hacker programs can be detected by security systems and trigger their alarms. ## Hacking skill Hacking can also be learned, but it is much more time consuming and difficult. However, because no hacker programs are used to do so, security systems will not trigger their alarms. ## Uses ### Removing program limits Hacking can be used to remove any limits added by a program's developer. Those limits can be DRM or demo modes. Some specialized security systems may detect programs with their limits removed, but those are rare. ### Tampering with security systems Given direct access, security systems can be hacked into and disabled. # Shaders Shaders are programs which change the appearance of an item / player. In what way the appearance changes depends on the actual shader -- it can be as simple as a palette swap, but it can also add additional particle effects, reflections and such. Shaders do not use any memory. # Limiters / Inhibitors :::warning Name TBD: * "Inhibitors" makes more sense to contrast the "Catalyst" name. * "Limiters" makes more sense computing-wise, and is also used in the game Transistor. ::: Some players are looking for a challenge while playing a game. Limiters are special programs which exist for the sole reason of making the game harder. They take up memory and only hinder the player by making him weaker (or just wasting the memory for no reason). Those could be tied to Steam achievements, but other than that they would serve no other purpose. An argument against adding them would be that most of the Limiter ideas could be done by just granting the player a program as a baseline, letting them uninstall it at any point. Taking up memory also makes little sense, if the player can just proceed by not using that part of memory for anything. # Cheats "Cheat codes" are also programs, with really low memory requirements. They're marked accordingly so the player knows what's a cheat and what isn't. Upon trying to activate one, an alert will be displayed, warning the player that no statistics and achievements will be saved from this point on. Upon confirmation the character is marked as cheating. All items coming from that character will also be marked accordingly and unusable by any non-cheating character, unless they also accept the prompt. Cheats should be available somewhere early in the game but in a well-hidden place. # Knowledge Some abilities can be learned permanently, not requiring the usage of any programs. ## Anatomy Anatomy is a skill allowing to tell a lifeform's medical condition at a glance, although this information is imprecise. The information is displayed as a colored glow on the lifeforms. ## Hacking As described in the Hacking section. # Design inspiration ## [Iji](https://www.remar.se/daniel/iji.php) ![](https://i.imgur.com/CfwG1Hh.png) ## [NieR:Automata](https://store.steampowered.com/app/524220/NieRAutomata/) ![](https://i.imgur.com/1SXxAQ8.jpg) ## [Uplink](https://store.steampowered.com/app/1510/Uplink/) ![](https://i.imgur.com/g6pSiPe.png) ## [Cyberpunk 2077](https://store.steampowered.com/app/1091500/Cyberpunk_2077/) ![](https://i.imgur.com/nwAxMvq.png)