outfly/ROADMAP.md
2024-05-07 19:15:15 +02:00

13 KiB

  ▄████████▄      +        ███ +  ▄█████████ ███     +
 ███▀    ▀███ +         +  ███    ███▀  +    ███ +       +
 ███  +   ███ ███   ███ █████████ ███        ███  ███   ███
 ███     +███ ███   ███    ███    ███▐██████ ███  ███   ███
 ███ +    ███ ███+  ███   +███    ███     +  ███  ███ + ███
 ███▄    ▄███ ███▄  ███    ███ +  ███  +     ███  ███▄  ███
  ▀████████▀ + ▀███████    ███▄   ███▄       ▀████ ▀███████
      +                  +                +             ███
 +   ▀████████████████████████████████████████████████████▀

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
  • 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

Quest Ideas

  • Pizza Delivery
  • Charting the major moonlets

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

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

  • 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, by the paperclip maximizer thought experiment (which is also the source of the name), by Star Gate's Replicators, and finally, by Fallout New Vegas' "Yes Man" robot.

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 and by the orbital module of the Soyuz spacecraft.