outfly/doc/gamedesign.md

375 lines
19 KiB
Markdown

```
▄████████▄ + ███ + ▄█████████ ███ +
███▀ ▀███ + + ███ ███▀ + ███ + +
███ + ███ ███ ███ █████████ ███ ███ ███ ███
███ +███ ███ ███ ███ ███▐██████ ███ ███ ███
███ + ███ ███+ ███ +███ ███ + ███ ███ + ███
███▄ ▄███ ███▄ ███ ███ + ███ + ███ ███▄ ███
▀████████▀ + ▀███████ ███▄ ███▄ ▀████ ▀███████
+ + + ███
+ ▀████████████████████████████████████████████████████▀
```
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
- All source code and assets are ["free" as defined by the FSF](https://www.gnu.org/licenses/license-list.html)
- Obviously, space as a whole is not exactly wholesome. Space is a death trap. This should still be felt by the player, it's a space simulation after all.
- 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
- This one is really tough though, because a lot of fun comes from being able to unlock things like suit upgrades, radio stations, phone numbers to call NPCs, etc.
- Maybe just a minimal savegameoid which is just a list of things that have been unlocked, which can be reset from the menu easily?
- 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
- Short-term viability
- At any point in the game development process, the game should be polished enough to provide a smooth, enjoyable gaming experience for the target audience.
- Branching off the main branch to add more complex features is fine of course.
- If game development would end right now, it should be plausible to claim that the game is finished and the planned features were simply out of scope.
- 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.
- P.S. First I have to find a way to actually calculate the current real positions of the moons...
# 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
- Everything orbits around Planets/Sun
- 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
- Spacesuit energy distribution into:
- [X] Residual Light Amplification
- [X] Augmented Reality
- [X] Flashlight intensity
- [ ] AI assistance systems
- [X] Thruster boost
- [ ] G-force dampeners
- [ ] Life support, material recyclers (air, water, etc)
- [ ] High energy particle shield?
- [ ] Micrometeorite shield?
# Quest Ideas
- Pizza Delivery
- Charting the major moonlets
- Killing somebody (perhaps one of the cultists)
- Some overarching quest for which you need the support/friendship of everybody else
# Challenges
- How to tell a deep story with permadeath without getting repetitive?
- To be solved...
- How to travel to far places without wasting player's time?
- Skipping in-game time, with bus stations and cryofreeze
- Incredibly high speeds through unrealistic g-force tolerance (rather not)
- "half-cycling" the brain of the astronaut: entering a sleep state where the player unconscious 99% of the time, only experiencing 1% of the moments consciously, giving a perception of time lapse. The suit computer could take over the controls during the time when the player is unconscious
- Continue simulation after the game exits, so if the player wants to travel far, they have to stop playing for a couple hours, to resume playing at the destination. (rather not)
- 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
- The home could be added through modding, outside of the game
- Maybe a customizable home is not really needed
# Inspiration
- Outer Wilds (not Outer Worlds)
- Kerbal Space Program
- Fallout New Vegas
- Anathem
- Baldur's Gate 3
- Citizen Sleeper
- Delta V: Rings of Saturn
- Disco Elysium
- Elite: Dangerous
- Endless Sky
- Firefly (2002 series)
- Mass Effect
- Nethack
- Planescape: Torment
- Prey (2017 game)
- Primer (2004 film)
- Project Hail Mary
- RimWorld
- Risk of Rain
- Robot and Monk series
- Shadowrun Returns: Dragonfall, Hong Kong
- Stardew Valley
- Stray (2022 game)
- Synthwave (music genre)
- System Shock 2
- The Expanse
- The Forgotten City
- The Red Strings Club
# 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
# People
There are relatively few people in the game due to Jupiter's rings not being
extensively settled. The rings are more of a niche thing for adventurers and
visionaries at the time of the game.
Those few people should have maximally fleshed out conversations though, making
the player happy to see a friendly face when they do appear.
Each character should have an interesting, unique personality that sets them
apart from the other characters. Let's outline the personalities/backstories:
[THIS IS JUST BRAINSTORMING FOR NOW, ONLY PARTLY IMPLEMENTED IN THE GAME]
1. Icarus @ starting area:
- "Tutorial character"
- Very chill, nonchalant
- Goes out of its way to help you
- Touristy, sightseer
- Very absorbed by his VR headset
- Grew up on a space ship where VR was the best way to see interesting things
- Travels the solar system to find beauty
- Not interested in creating anything
- Rides a Cruiser
2. Nox @ pizzeria:
- Wholesome, easy-going
- Wanted to get away from civilization to have some peace and quiet
- Built a pizzeria into an asteroid
- Doesn't seem to care that so few people visit his restaurant, just keeps doing his thing
- Fascinated with the old times of the 1980s, he called his pizzeria "Old Earth Pizza"
- Wants to take care of people and impress people with his hospitality
- Reliable, people in the area look up to him as sort of a "governor"/"sheriff"
- Biotech/brewery nerd, grows his own algae for the pizza ingredients
3. ??? @ pizzeria:
- Thrill-seeker, racer
- Cheeky, teasing
- Frequent guest at the Pizzeria to refuel and rest
- Good for some small talk
- Nerd about engineering, propulsion, rocket science
- Rides a MeteorAceGT
4. Sus @ pizzeria:
- A pig. ("Sus" is the genus of wild and domesticated pigs)
- Can communicate via neural implants and space suit
- Can manipulate the world through arms controlled by brain implants
- Grew up on earth. Misses the mud.
- Trained geologist (sparked by a love for mud and dirt)
- Came to space to study space rocks but is now way more excited about just flying around
- Some people still haven't quite accepted non-human animals among them
- Sus is easily annoyed/offended/angry if he suspects that you view him as a non-person
- Is not connected to the game Among Us, despite his appearance :D
5. ??? @ pizzeria or workshop:
- Engineer
- ADHD
- Deploys communications infrastructure across the rings
- Just passing through
- Grew up on Earth, is way too excited about being in space
- Totally a furry
- Has big plans for this area, but not enough time to implement everything
- Nerd about high energy communications technology
6. Luna @ workshop:
- Mechanic
- Operates a workshop to craft and mod space vehicles
- Nerd about space suits and vehicles
- Just wants to get away from it all
- Attempts to reach the end of space and time through special relativity
7. Ash @ hideout:
- Monk master of a cult of Buddhist origins
- Uptight, self-disciplined, driven, wise
- Not very agreeable
- Operates a construction site for a meditation retreat in a hollowed-out asteroid
- Deep distrust of AIs, wants to construct the hideout by hand
- Not interested in small talk, but up for deep philosophical debates
8. River @ hideout:
- Monk apprentice
- Open-minded
- Had everything in her life on one of the planets
- But ached for profoundness, desperate for a meaning of life
- Frustrated by the rigidity of Ash, she thinks she knows better how to run the place
9. Rain @ hideout:
- Engineer, tinkerer
- Very shy, unsocial
- Helps the monks to construct the hideout
- Totally insecure about her job, since she has no formal education as architect, she's just winging it, but the monks will need a 100% functioning home to survive
- IT Security nerd
- Operates a synthwave radio station, piggybacking on the communications infrastructure
Minor characters:
- Yuni @ secret location:
- Easter egg character
- Meta, breaking the 3rd wall
- 梓涵 @ near starting area:
- Is dead from the start. Or can you save her?
- Rudy @ serenity bus station:
- Is unconscious, frozen, waiting for the bus
- Clippy @ various locations:
- AIs which could get personalities as well
# Worldbuilding
## People
- Icarus [it]
- 梓涵 [she]
- Nox [he]
- Rudy [he]
- Yuni [no pronoun]
- Sus [he]
- Ash [they]
- River [she]
- Rain [she]
- Pizzeria Clippy [it]
- Bus Station Clippys [it]
## Other life forms
- Space dogs + cats. Definitely space dogs + cats.
- Life forms that have adapted to the vacuum of space, perhaps some gigantic space-radiation-eating monsters with light-eating leaf-like appendages that move slowly
## Places
![Game Map](images/map.svg)
- Serenity
- On the leading side ("in front of") of Thebe, as the trailing ("back") side of Thebe is full of whirls and micrometeorites
- 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).