add design document

This commit is contained in:
yuni 2024-04-29 17:54:57 +02:00
parent 8a6b1e6357
commit 5a58503332
3 changed files with 613 additions and 32 deletions

206
ROADMAP.md Normal file
View file

@ -0,0 +1,206 @@
```
▄████████▄ + ███ + ▄█████████ ███ +
███▀ ▀███ + + ███ ███▀ + ███ + +
███ + ███ ███ ███ █████████ ███ ███ ███ ███
███ +███ ███ ███ ███ ███▐██████ ███ ███ ███
███ + ███ ███+ ███ +███ ███ + ███ ███ + ███
███▄ ▄███ ███▄ ███ ███ + ███ + ███ ███▄ ███
▀████████▀ + ▀███████ ███▄ ███▄ ▀████ ▀███████
+ + + ███
+ ▀████████████████████████████████████████████████████▀
```
# OutFly Roadmap
This file is a place for planning and documenting the game design.
# Why I made this game
As a long-time fan of space sci-fi, I had this space itch that none of the existing games/media could scratch so far. I wanted the sense that I'm really out there in space myself, in a non-sugarcoated way. I wanted to feel the harsh reality of the vacuum. The mind-boggling scales. The emptiness, darkness, danger, loneliness. The beauty of outer space. The coziness of the self-sufficient space vehicle that provides me with all of life's necessities. The pleasure of meeting other friendly faces in the void, extending hospitality to each other. The freedom to wander the open world wherever I please (and where my vehicles are able to take me). The exploration of a frontier. Being able to carve out a little space for myself that I could call home. And sometimes simply a place where I could just chill after a long day of work, stare at the stars, and drift through nothingness. All of this in a way that respects the player: no addictive game mechanics, no microtransactions, no DRM, no excessive strains on the hardware, no time-wasting mechanics, and ideally, being free open source software, so I can truly own the game, and customize the parts I don't like.
There are many games out there that provided me with some of this: FTL, Outer Wilds, Mass Effect, Space Haven, Δv, Elite: Dangerous, ... but invariably they fail in some way to scratch my itch, and so I set out to give it a try of my own.
# Design Goals
We are not quite there yet, but this is what I'm aiming for:
- Utopia
- A depiction of the future where contemporary problems have been solved
- Depth
- Deep conversations with NPCs
- Beautiful scenery
- Detailed environment
- Detailed survival mechanics
- Curiosity-driven game progression
- A story that serves mostly as the vehicle for describing the environment, similar to Disco Elysium
- Realism
- Very few deviations from a real simulation of space
- Conserve the vast scale of space (unlike Outer Wilds)
- The rings change over time, as different parts orbit at different speeds.
- You are nobody special, no hero that saves the world, just a normal, flawed, boring person exploring space
- Freedom
- Ability to choose which aspects of the game one wants to engage with
- Ability to go anywhere (within the limits of realism)
- Cheats that are easy to enable
- Wholesomeness
- No wasting of the player's time
- No player-hostile features
- No anxiety-causing features
- No DRM
- No paid features
- Non-addictiveness
- No features that manipulate the player into neglecting their life responsibilities in favor of the game
- No artificially long game progression
- No loot boxes
- No randomness
- Effortlessness, ADHD-friendliness, Accessibility
- No requirement for Steam or any other environment
- No loading screens
- No save games
- No need to remember anything
- Simple inventory system
- Packaged for major Linux distributions and gaming environments
- Key-bound actions should be accessible via menu items, with their keybinding visible in the menu item description
- As easy to get in to as `Solitaire.exe`
- Aspects of Roguelike games
- Permadeath, with so many ways to die
- Non-modality (e.g. conversations don't "pause" the game and don't lock you into a "conversation mode")
- Emergent gameplay from a variety of interacting game systems
- Resource management for survival [though this can be disabled with cheats]
- Nethack-like "record" that tracks how players died and what they accomplished
- Still pondering if procedural generation is a good idea. I'd rather want the player to get acquainted with a hand-crafted, unchanging environment. Though one way to spice things up could be to let the planets/moons orbit in real time, and starting the game at different times (or playing for a long time) will produce a different environment according to real orbital movements.
- Minimalism
- Small game binary size
- Small git repository size
- Minimal resource usage
- Minimal dependencies
- Simple game systems, but many of these, to give rise to emergent gameplay
- Simple code
- Customizability
- Easy modding
- Any state/config files should be editable with a simple text editor
- Open Source
- The author got into programming through modifying existing open source games, and wishes to help others to be able to do the same.
- The game should only use components that don't restrict the player's ability to run the game, change it to their needs, and learn from its design.
# Intentional deviations from reality
- The player can survive higher g-forces than a contemporary human, though this can be explained through better equipment, drugs, and/or genetic engineering.
- The position of the planets/moons is the one of the present real time of the player, even though the game takes place hundreds of years in the future. I could simulate the future positions, but I think it's an extra layer of awesomeness if the positions of the celestial objects in the game mirroring the ones of reality. And nobody would ever notice the discrepancy.
# Game systems
A variety of relatively simple game systems should interact with each other to create emergent gameplay and interesting game mechanics.
- Free movement in space
- Collision with other actors
- Augmented Reality overlay
- Targeting objects
- Conversations with NPCs (short- and long-distance)
- Vehicle riding
- Map mode
- can we make it non-modal? Interweave it into regular gameplay?
- G-forces and equipment/organ damage
- Death, and survival
# Challenges
- How to be able to carve out a home for oneself in space if there is permadeath?
- The home could still be drifting in space after the player's death
- The home could be virtual, stored in the spacesuit's computer, accessible via augmented/virtual reality
- Maybe a customizable home is not really needed
# Inspiration
TODO
# Survival Mechanics
Resources/Variables:
- Oxygen
- Power
- The suit would have a nuclear reactor that slowly charges a capacitor, which can be used for short-term high power usage
- Turn off Augmented Reality to conserve power
- Water
- Fuel
- Solar energy
- Could supplement power recharge when nuclear reactor is down
- Adrenaline
- Phone reception
- Depends on proximity to communication satellites
- Allows you to call people you've met before
Damage types:
- Organ damage
- Eye damage
- Ear damage
- Brain damage
- Radiation damage
- Equipment failure
- Suit leaks oxygen
- Power reactor damage, reduced/no output
- Battery bank damaged
- Thrusters damaged
- Flashlight damaged
- Electric circuits damaged from EMP
Items:
- SuitPatch SuperGlue
- Portable Thruster
- Multitool?
- Welding torch?
- Refills for resources:
- Water bottle
- Oxygen canister
- Fuel canister
- UltraCapacitor
# Worldbuilding
## People
- Icarus
- 梓涵
- Nox
- Rudy
- Yuni
- Pizzeria Clippy
- Bus Station Clippys
## Places
![Game Map](doc/images/map.svg)
- Serenity
- Thebe
- Metis Prime
- Farview
So far, nothing on the outer (Galileian) moons is planned, but they're not as far away as it seems. A trip from Thebe to Io can be faster than to Amalthea.
## Brands
### StarTrans™ Cargo Services
The public transport company
### Clippy Convenience Companion
Clippy™ Convenience Companion is a self-assembling, self-replicating, highly modular being that emerges from the collection of individual Clippy™ cubes.
These cubes are interchangeable, solar panel plated, driven by strong reaction wheels, and connect to each other through powerful magnets along the surface. A sensor array picks up various EM frequencies and a camera image through the plating. There are no moving parts on the outside. Individual cubes are able to transfer electricity to connected cubes, as well as transmit information wirelessly.
The shape of a Clippy™ can change quickly to solve a variety of space problems. Off-the-shelf plug-and-play Clippy™ modules further enhance their agency with additional tools, such as propulsion modules, sensors, or manipulators.
A Clippy™ Convenience Companion will broadcast an Augmented Reality overlay that resembles a face, in the somewhat antiquated "kaomoji" style of the late 1900's, typically a friendly face to instill trust and kindness in viewers. How a unified persona with aligned intentions emerges from the interactions of the individual Clippy™ cubes is, as of writing, still subject to debate.
Clippy™ is inspired by [self-assembling cube robots](https://www.youtube.com/watch?v=hI5UDKaWJOo), by the [paperclip maximizer thought experiment](https://en.wikipedia.org/w/index.php?title=Instrumental_convergence&oldid=1210129297#Paperclip_maximizer) (which is also the source of the name), by [Star Gate's Replicators](https://stargate.fandom.com/wiki/Replicator), and finally, by [Fallout New Vegas' "Yes Man" robot](https://fallout.fandom.com/wiki/Yes_Man).
### MeteorAceGT™ Sports Racing Capsule
This icosahedral sports spacecraft is designed for maximum stability and maneuverability at high velocities, not only in vacuum but also in thick atmospheres. Strong reaction wheels allow perfect control of spacecraft rotation, and allow you to land the spacecraft safely on any planet or moon. Powerful nuclear-powered electromagnets shield from ionized particle radiation, allowing you to surf the clouds of Jupiter safely, with the spherical shape providing maximum structural integrity.
The excessive forward thrust will get many pilots to pass out, while using close to zero propellant thanks to the advanced ion engine array. No dedicated backward thrusters are available for structural integrity in atmospheres. This is compensated by the sideways thrusters, which are mildly inclined to the forward direction, providing a small amount of backward thrust.
The design of this racing capsule was inspired [Shotaro Kaneda's motorbike from Akira](https://akira.fandom.com/wiki/Shotaro_Kaneda%27s_Bike) and by the [orbital module of the Soyuz spacecraft](https://en.wikipedia.org/w/index.php?title=Soyuz_%28spacecraft%29&oldid=1218141107#Orbital_module).

407
doc/images/map.svg Normal file
View file

@ -0,0 +1,407 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="1280"
height="800"
viewBox="0 0 338.66666 211.66667"
version="1.1"
id="svg1"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
sodipodi:docname="map.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#000000"
bordercolor="#999999"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
inkscape:zoom="1.2748106"
inkscape:cx="499.28986"
inkscape:cy="300.829"
inkscape:window-width="2880"
inkscape:window-height="1765"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1"
showgrid="false"
showguides="false" />
<defs
id="defs1" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<rect
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect18"
width="338.66666"
height="211.66667"
x="1.0771072"
y="-0.097945131" />
<ellipse
style="font-variation-settings:'wght' 700;fill:#262626;stroke:#ffffff;stroke-width:1.35399991;stroke-linejoin:round;stroke-opacity:0.210355;fill-opacity:1;stroke-dasharray:none"
id="path2-5-2"
cx="170.38562"
cy="105.96376"
rx="70"
ry="46" />
<ellipse
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path18"
cx="170.38562"
cy="105.96376"
rx="20"
ry="14" />
<ellipse
style="font-variation-settings:'wght' 700;fill:none;stroke:#ffffff;stroke-width:0.85399983;stroke-linejoin:round;stroke-opacity:0.210355;stroke-dasharray:none"
id="path2"
cx="170.38562"
cy="105.96376"
rx="30"
ry="20" />
<ellipse
style="font-variation-settings:'wght' 700;fill:none;stroke:#ffffff;stroke-width:0.35399988;stroke-linejoin:round;stroke-opacity:0.210355;stroke-dasharray:none"
id="path2-0"
cx="170.38562"
cy="105.96376"
rx="33"
ry="23" />
<ellipse
style="font-variation-settings:'wght' 700;fill:none;stroke:#ffffff;stroke-width:1.954;stroke-linejoin:round;stroke-opacity:0.210355"
id="path2-5"
cx="170.38562"
cy="105.96376"
rx="50"
ry="33" />
<ellipse
style="font-variation-settings:'wght' 700;fill:none;stroke:#ffffff;stroke-width:1.954;stroke-linejoin:round;stroke-opacity:0.210355"
id="path2-5-2-7"
cx="170.38562"
cy="105.96376"
rx="90"
ry="60" />
<ellipse
style="font-variation-settings:'wght' 700;fill:none;stroke:#ffffff;stroke-width:1.954;stroke-linejoin:round;stroke-opacity:0.210355"
id="path2-5-2-7-1"
cx="170.38562"
cy="105.96376"
rx="110"
ry="73" />
<circle
style="font-variation-settings:'wght' 700;fill:#c7c7c7;fill-opacity:1;stroke:none;stroke-width:1.954;stroke-linejoin:round;stroke-opacity:0.489744"
id="path4"
cx="185.39006"
cy="88.787254"
r="1.2" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ffffff;fill-opacity:1;stroke-width:1.954;stroke-linejoin:round;stroke-opacity:0.489744"
x="180.11234"
y="95.389503"
id="text2"><tspan
sodipodi:role="line"
style="stroke-width:1.954"
x="180.11234"
y="95.389503"
id="tspan4">Metis</tspan></text>
<circle
style="font-variation-settings:'wght' 700;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.954;stroke-linejoin:round;stroke-opacity:0.489744"
id="path4-6"
cx="173.64723"
cy="82.991051"
r="0.60000002" />
<circle
style="font-variation-settings:'wght' 700;fill:#c7c7c7;fill-opacity:1;stroke:none;stroke-width:1.954;stroke-linejoin:round;stroke-opacity:0.489744"
id="path4-8"
cx="120.31386"
cy="103.33703"
r="3" />
<circle
style="font-variation-settings:'wght' 700;fill:#c7c7c7;fill-opacity:1;stroke:none;stroke-width:1.954;stroke-linejoin:round;stroke-opacity:0.489744"
id="path4-8-4"
cx="124.57132"
cy="141.22829"
r="1.8" />
<circle
style="font-variation-settings:'wght' 700;fill:#ffd92f;fill-opacity:1;stroke:none;stroke-width:1.954;stroke-linejoin:round;stroke-opacity:0.489744"
id="path4-8-4-9"
cx="80.468811"
cy="105.97464"
r="4" />
<circle
style="font-variation-settings:'wght' 700;fill:#e09d7d;fill-opacity:1;stroke:none;stroke-width:1.954;stroke-linejoin:round;stroke-opacity:0.489744"
id="path4-8-4-9-6"
cx="60.582966"
cy="105.94954"
r="4" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ffffff;fill-opacity:1;stroke-width:1.954;stroke-linejoin:round;stroke-opacity:0.489744"
x="111.83055"
y="112.228"
id="text5"><tspan
sodipodi:role="line"
id="tspan5"
style="stroke-width:1.954"
x="111.83055"
y="112.228">Amalthea</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ffffff;fill-opacity:1;stroke-width:1.954;stroke-linejoin:round;stroke-opacity:0.489744"
x="118.61069"
y="150.70364"
id="text6"><tspan
sodipodi:role="line"
id="tspan6"
style="stroke-width:1.954"
x="118.61069"
y="150.70364">Thebe</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ffffff;fill-opacity:1;stroke-width:1.954;stroke-linejoin:round;stroke-opacity:0.489744"
x="78.50032"
y="115.62225"
id="text7"><tspan
sodipodi:role="line"
id="tspan7"
style="stroke-width:1.954"
x="78.50032"
y="115.62225">Io</tspan></text>
<rect
style="fill:#848484;fill-opacity:0.27268547;stroke:#ffffff;stroke-width:0.2;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect17"
width="38.947754"
height="29.162609"
x="8.333292"
y="175.29178" />
<ellipse
style="font-variation-settings:'wght' 700;fill:none;stroke:#ffffff;stroke-width:1.954;stroke-linejoin:round;stroke-opacity:0.210355"
id="path2-5-2-7-0-3"
cx="170.38562"
cy="105.96376"
rx="150"
ry="100" />
<circle
style="font-variation-settings:'wght' 700;fill:#a07fb4;fill-opacity:1;stroke:none;stroke-width:1.954;stroke-linejoin:round;stroke-opacity:0.489744"
id="path4-8-4-9-6-8-4"
cx="20.448246"
cy="105.96376"
r="4" />
<ellipse
style="font-variation-settings:'wght' 700;fill:none;stroke:#ffffff;stroke-width:1.954;stroke-linejoin:round;stroke-opacity:0.210355"
id="path2-5-2-7-0"
cx="170.38562"
cy="105.96376"
rx="130"
ry="86" />
<circle
style="font-variation-settings:'wght' 700;fill:#c19346;fill-opacity:1;stroke:none;stroke-width:1.954;stroke-linejoin:round;stroke-opacity:0.489744"
id="path4-8-4-9-6-8"
cx="40.520115"
cy="105.96376"
r="4" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ffffff;fill-opacity:1;stroke-width:1.954;stroke-linejoin:round;stroke-opacity:0.489744"
x="53.462524"
y="115.30742"
id="text8"><tspan
sodipodi:role="line"
id="tspan8"
style="stroke-width:1.954"
x="53.462524"
y="115.30742">Europa</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ffffff;fill-opacity:1;stroke-width:1.954;stroke-linejoin:round;stroke-opacity:0.489744"
x="29.714542"
y="115.5135"
id="text9"><tspan
sodipodi:role="line"
id="tspan9"
style="stroke-width:1.954"
x="29.714542"
y="115.5135">Ganymede</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ffffff;fill-opacity:1;stroke-width:1.954;stroke-linejoin:round;stroke-opacity:0.489744"
x="13.211377"
y="115.65031"
id="text10"><tspan
sodipodi:role="line"
id="tspan10"
style="stroke-width:1.954"
x="13.211377"
y="115.65031">Callisto</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.954;stroke-linejoin:round;stroke-opacity:0.210355"
x="165.24077"
y="87.131989"
id="text11"><tspan
sodipodi:role="line"
id="tspan11"
style="stroke:none;stroke-width:1.954"
x="165.24077"
y="87.131989">Adrastea</tspan></text>
<path
style="fill:#eba5bc;fill-opacity:0.52941179;stroke:none;stroke-width:1.954;stroke-linejoin:round;stroke-opacity:0.210355"
d="m 113.29771,8.5661686 c -8.72068,-5.400247 -19.811493,-3.440345 -21.556733,5.6164854 -2.2782,11.822597 1.73763,19.070615 11.308063,18.12733 17.05195,-1.680681 25.40124,-14.360643 10.24867,-23.7438154 z"
id="path11"
sodipodi:nodetypes="cssc" />
<path
style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.65399993;stroke-linejoin:round;stroke-dasharray:5.23199944,2.61599972;stroke-dashoffset:0;stroke-opacity:0.453632"
d="m 104.347,32.302971 v 38.446017 l 66.08117,34.918862"
id="path12"
sodipodi:nodetypes="ccc" />
<circle
style="font-variation-settings:'wght' 700;fill:#e7bd80;stroke-width:1.954;stroke-linejoin:round;fill-opacity:1"
id="path1"
cx="170.38562"
cy="105.96376"
r="10" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.954;stroke-linejoin:round;stroke-dasharray:1.954, 1.954;stroke-dashoffset:0;stroke-opacity:0.453632"
x="108.50044"
y="35.544922"
id="text12"><tspan
sodipodi:role="line"
id="tspan12"
style="stroke-width:1.954;fill:#ffffff;fill-opacity:1;stroke:none"
x="108.50044"
y="35.544922">Farview</tspan></text>
<path
style="fill:#eba5bc;fill-opacity:0.529412;stroke:none;stroke-width:1.954;stroke-linejoin:round;stroke-dasharray:1.954, 1.954;stroke-dashoffset:0;stroke-opacity:0.453632"
d="m 144.09138,146.32514 c -2.86406,-0.4037 -7.6153,2.01203 -3.52704,3.85934 4.08825,1.84731 20.91263,5.42792 31.51819,4.77225 14.43686,-0.89253 15.75615,-7.68736 2.28628,-5.26074 -6.34959,1.14389 -24.16753,-2.50965 -30.27743,-3.37085 z"
id="path13"
sodipodi:nodetypes="sssss" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.954;stroke-linejoin:round;stroke-dasharray:1.954, 1.954;stroke-dashoffset:0;stroke-opacity:0.453632"
x="153.16678"
y="158.15582"
id="text13"><tspan
sodipodi:role="line"
id="tspan13"
style="fill:#ffffff;fill-opacity:1;stroke-width:1.954"
x="153.16678"
y="158.15582">Serenity</tspan></text>
<path
style="fill:#eba5bc;fill-opacity:0.530714;stroke:none;stroke-width:1.85032;stroke-linejoin:round;stroke-dasharray:1.85032, 1.85032;stroke-dashoffset:0;stroke-opacity:0.453632"
d="m 196.8972,91.135962 c -3.59529,0.120936 -5.1489,2.204327 -4.09438,4.207402 0.95566,1.815289 4.72696,6.804756 6.50855,7.886946 3.13704,1.90553 5.25458,-0.12614 5.36892,-3.947865 0.0858,-2.867673 -3.58327,-8.287754 -7.78309,-8.146483 z"
id="path14"
sodipodi:nodetypes="sssss" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.954;stroke-linejoin:round;stroke-dasharray:1.954, 1.954;stroke-dashoffset:0;stroke-opacity:0.453632"
x="188.58476"
y="108.46191"
id="text14"><tspan
sodipodi:role="line"
style="fill:#ffffff;fill-opacity:1;stroke-width:1.954"
x="188.58476"
y="108.46191"
id="tspan15">Metis Prime</tspan></text>
<path
style="fill:#ca2d2d;fill-opacity:1;stroke:none;stroke-width:1.954;stroke-linejoin:round;stroke-dasharray:1.954, 1.954;stroke-dashoffset:0;stroke-opacity:0.453632"
d="m 175.16271,152.80825 c -0.49944,-2.82675 -3,-7.27574 -3,-8.99188 0,-1.40076 1.59959,-2.97397 3,-2.94263 1.46621,0.0328 3,1.75174 3,3.21831 0,1.39951 -2.53297,5.92739 -3,8.7162 z"
id="path16"
sodipodi:nodetypes="csssc" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.954;stroke-linejoin:round;stroke-dasharray:1.954, 1.954;stroke-dashoffset:0;stroke-opacity:0.453632"
x="179.01958"
y="144.75677"
id="text16"><tspan
sodipodi:role="line"
id="tspan16"
style="fill:#ffffff;fill-opacity:1;stroke-width:1.954"
x="179.01958"
y="144.75677">Starting Point</tspan></text>
<path
sodipodi:type="star"
style="fill:#6dff11;fill-opacity:1;stroke:none;stroke-width:1.954;stroke-linejoin:round;stroke-dasharray:1.954, 1.954;stroke-dashoffset:0;stroke-opacity:0.453632"
id="path17"
inkscape:flatsided="false"
sodipodi:sides="4"
sodipodi:cx="108.98371"
sodipodi:cy="109.57642"
sodipodi:r1="7.8033481"
sodipodi:r2="2.3410044"
sodipodi:arg1="0.68749585"
sodipodi:arg2="1.472894"
inkscape:rounded="0.21"
inkscape:randomized="0"
d="m 115.01443,114.52846 c -0.8485,1.03333 -4.47124,-2.75293 -5.80189,-2.62224 -1.33066,0.13069 -4.14753,4.54943 -5.18086,3.70092 -1.03333,-0.8485 2.75293,-4.47123 2.62224,-5.80189 -0.1307,-1.33066 -4.54943,-4.14753 -3.70093,-5.18086 0.8485,-1.03333 4.47124,2.75293 5.8019,2.62224 1.33066,-0.13069 4.14753,-4.54943 5.18086,-3.70093 1.03333,0.84851 -2.75294,4.47124 -2.62224,5.8019 0.13069,1.33066 4.54943,4.14753 3.70092,5.18086 z"
transform="matrix(0.36642859,0,0,0.36642859,116.02088,108.37798)" />
<path
sodipodi:type="star"
style="fill:#6dff11;fill-opacity:1;stroke:none;stroke-width:1.954;stroke-linejoin:round;stroke-dasharray:1.954, 1.954;stroke-dashoffset:0;stroke-opacity:0.453632"
id="path17-7"
inkscape:flatsided="false"
sodipodi:sides="4"
sodipodi:cx="108.98371"
sodipodi:cy="109.57642"
sodipodi:r1="7.8033481"
sodipodi:r2="2.3410044"
sodipodi:arg1="0.68749585"
sodipodi:arg2="1.472894"
inkscape:rounded="0.21"
inkscape:randomized="0"
d="m 115.01443,114.52846 c -0.8485,1.03333 -4.47124,-2.75293 -5.80189,-2.62224 -1.33066,0.13069 -4.14753,4.54943 -5.18086,3.70092 -1.03333,-0.8485 2.75293,-4.47123 2.62224,-5.80189 -0.1307,-1.33066 -4.54943,-4.14753 -3.70093,-5.18086 0.8485,-1.03333 4.47124,2.75293 5.8019,2.62224 1.33066,-0.13069 4.14753,-4.54943 5.18086,-3.70093 1.03333,0.84851 -2.75294,4.47124 -2.62224,5.8019 0.13069,1.33066 4.54943,4.14753 3.70092,5.18086 z"
transform="matrix(0.36642859,0,0,0.36642859,160.63288,57.8303)" />
<path
sodipodi:type="star"
style="fill:#6dff11;fill-opacity:1;stroke:none;stroke-width:1.954;stroke-linejoin:round;stroke-dasharray:1.954, 1.954;stroke-dashoffset:0;stroke-opacity:0.453632"
id="path17-8"
inkscape:flatsided="false"
sodipodi:sides="4"
sodipodi:cx="108.98371"
sodipodi:cy="109.57642"
sodipodi:r1="7.8033481"
sodipodi:r2="2.3410044"
sodipodi:arg1="0.68749585"
sodipodi:arg2="1.472894"
inkscape:rounded="0.21"
inkscape:randomized="0"
d="m 115.01443,114.52846 c -0.8485,1.03333 -4.47124,-2.75293 -5.80189,-2.62224 -1.33066,0.13069 -4.14753,4.54943 -5.18086,3.70092 -1.03333,-0.8485 2.75293,-4.47123 2.62224,-5.80189 -0.1307,-1.33066 -4.54943,-4.14753 -3.70093,-5.18086 0.8485,-1.03333 4.47124,2.75293 5.8019,2.62224 1.33066,-0.13069 4.14753,-4.54943 5.18086,-3.70093 1.03333,0.84851 -2.75294,4.47124 -2.62224,5.8019 0.13069,1.33066 4.54943,4.14753 3.70092,5.18086 z"
transform="matrix(0.36642859,0,0,0.36642859,68.481915,-18.915716)" />
<path
sodipodi:type="star"
style="fill:#6dff11;fill-opacity:1;stroke:none;stroke-width:1.954;stroke-linejoin:round;stroke-dasharray:1.954, 1.954;stroke-dashoffset:0;stroke-opacity:0.453632"
id="path17-2"
inkscape:flatsided="false"
sodipodi:sides="4"
sodipodi:cx="108.98371"
sodipodi:cy="109.57642"
sodipodi:r1="7.8033481"
sodipodi:r2="2.3410044"
sodipodi:arg1="0.68749585"
sodipodi:arg2="1.472894"
inkscape:rounded="0.21"
inkscape:randomized="0"
d="m 115.01443,114.52846 c -0.8485,1.03333 -4.47124,-2.75293 -5.80189,-2.62224 -1.33066,0.13069 -4.14753,4.54943 -5.18086,3.70092 -1.03333,-0.8485 2.75293,-4.47123 2.62224,-5.80189 -0.1307,-1.33066 -4.54943,-4.14753 -3.70093,-5.18086 0.8485,-1.03333 4.47124,2.75293 5.8019,2.62224 1.33066,-0.13069 4.14753,-4.54943 5.18086,-3.70093 1.03333,0.84851 -2.75294,4.47124 -2.62224,5.8019 0.13069,1.33066 4.54943,4.14753 3.70092,5.18086 z"
transform="matrix(0.36642859,0,0,0.36642859,-27.648919,139.45512)" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.554;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="16.216955"
y="181.02782"
id="text17"><tspan
sodipodi:role="line"
id="tspan17"
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.554"
x="16.216955"
y="181.02782">Bus Station</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 21 KiB

View file

@ -1,32 +0,0 @@
```
▄████████▄ + ███ + ▄█████████ ███ +
███▀ ▀███ + + ███ ███▀ + ███ + +
███ + ███ ███ ███ █████████ ███ ███ ███ ███
███ +███ ███ ███ ███ ███▐██████ ███ ███ ███
███ + ███ ███+ ███ +███ ███ + ███ ███ + ███
███▄ ▄███ ███▄ ███ ███ + ███ + ███ ███▄ ███
▀████████▀ + ▀███████ ███▄ ███▄ ▀████ ▀███████
+ + + ███
+ ▀████████████████████████████████████████████████████▀
```
# Developer Commentary
## Clippy Convenience Companion
Clippy™ Convenience Companion is a self-assembling, self-replicating, highly modular being that emerges from the collection of individual Clippy™ cubes.
These cubes are interchangeable, solar panel plated, driven by strong reaction wheels, and connect to each other through powerful magnets along the surface. A sensor array picks up various EM frequencies and a camera image through the plating. There are no moving parts on the outside. Individual cubes are able to transfer electricity to connected cubes, as well as transmit information wirelessly.
The shape of a Clippy™ can change quickly to solve a variety of space problems. Off-the-shelf plug-and-play Clippy™ modules further enhance their agency with additional tools, such as propulsion modules, sensors, or manipulators.
A Clippy™ Convenience Companion will broadcast an Augmented Reality overlay that resembles a face, in the somewhat antiquated "kaomoji" style of the late 1900's, typically a friendly face to instill trust and kindness in viewers. How a unified persona with aligned intentions emerges from the interactions of the individual Clippy™ cubes is, as of writing, still subject to debate.
Clippy™ is inspired by [self-assembling cube robots](https://www.youtube.com/watch?v=hI5UDKaWJOo), by the [paperclip maximizer thought experiment](https://en.wikipedia.org/w/index.php?title=Instrumental_convergence&oldid=1210129297#Paperclip_maximizer) (which is also the source of the name), by [Star Gate's Replicators](https://stargate.fandom.com/wiki/Replicator), and finally, by [Fallout New Vegas' "Yes Man" robot](https://fallout.fandom.com/wiki/Yes_Man).
## MeteorAceGT™ Sports Racing Capsule
This icosahedral sports spacecraft is designed for maximum stability and maneuverability at high velocities, not only in vacuum but also in thick atmospheres. Strong reaction wheels allow perfect control of spacecraft rotation, and allow you to land the spacecraft safely on any planet or moon. Powerful nuclear-powered electromagnets shield from ionized particle radiation, allowing you to surf the clouds of Jupiter safely, with the spherical shape providing maximum structural integrity.
The excessive forward thrust will get many pilots to pass out, while using close to zero propellant thanks to the advanced ion engine array. No dedicated backward thrusters are available for structural integrity in atmospheres. This is compensated by the sideways thrusters, which are mildly inclined to the forward direction, providing a small amount of backward thrust.
The design of this racing capsule was inspired [Shotaro Kaneda's motorbike from Akira](https://akira.fandom.com/wiki/Shotaro_Kaneda%27s_Bike) and by the [orbital module of the Soyuz spacecraft](https://en.wikipedia.org/w/index.php?title=Soyuz_%28spacecraft%29&oldid=1218141107#Orbital_module).