Return to “Games”


Generation Ship

Several years ago I sketched out a few concepts for a "generation ship" game: you manage ~50 generations of crew on board a starship traveling to a new world. You control genetics and breeding, fix broken ship systems, and generally try to keep the ship and crew functional long enough to land safely. Pretty much a roguelike, albeit without some of the hardcore stuff (though maybe that could be optional).

So why do I mention this? Well, I've come to conclude that having coded for nearly 40 years doesn't make me a good programmer. I think I'm a pretty good designer, but I just don't have the toolset to turn my ideas into working games in less than three years. (Or maybe I just don't know what tools exist today.)

Here's my question, then: anybody want to see the design doc I've been working on for this game idea? Bonus points if you're a pro game developer looking for something to do in your copious free time. :D (And note while I'm not a stud programmer, I'm at least marginally competent and would be able to do some useful support/feature coding once the core framework is in place.)

If nobody's much interested in this, that's cool. Or if people just are curious about this game idea, and might be inspired by it to make their own game, that's also fine. At this point I'm less interested in ownership of general ideas than that somebody make an actual game to partially fill the hole left by Limit Theory's demise....

Re: Generation Ship

Drop past the IRC, explain the thing in detail.
If you can manage to excite either myself or Tal with the idea (or ideally both) you may just get your wish.
WebGL Spaceships and Trails
<Cuisinart8> apparently without the demon driving him around Silver has the intelligence of a botched lobotomy patient ~ Mar 04 2020
console.log(`What's all ${this} ${}`);

Re: Generation Ship

"Before the development of the WS Thru-Space drive, in all its various forms, interstellar travel occurred in large, self-sustaining environment ships - Generation Ships - most of which have now been logged and their progress monitored. There are more than seventy thousand of these immense vessels ploughing their way through the galaxy, some of them into their 30th generation. The penalty for interference with such a vessel is marooning." (Webster's Space Dictionary, 324th ed)
Oolite Naval Attaché

Re: Generation Ship

On that topic:
researchers calculated, that the minimum viable population would be around 160. (with normal procreation) ... alculated/

-> but that would generate a lot of social conflict. There certainly would be no "love marriages" allowed, if the survival of the species depends on executing a precise breeding plan.
.. unless they have stored enough frozen samples at the start.

The other thing: how does the ship handle resources, its likely never having the chance to collect anything else than some dim starlight, and the occasional dust particle.
So it must be completely self-contained for hundreds of years (using fusion power i suppose).

addendum: related to storing supplies for a long time, check out that channel
where a guy is testing out old military rations, often more than 60 years old.. yummy.

Re: Generation Ship

So here's the design doc so far. Still a WIP.


Idea: Manage the systems and crew of a starship as it carries multiple generations of humans to a new world.

  • Roguelike ship management sim
  • Player plays as AI "captain"
  • (Optional pre-launch ship design mode)
  • Select target planet
  • Launch to space (animation)
  • Tutorials:
    • Ship systems management
    • Genetic profiling and breeding management
    • Research
  • NPCs have physical needs, have motivations and abilities based on their genes, and are allocated to ship roles by the player
  • NPCs will move and act with some autonomy based on needs, roles, and abilities, overridden by player commands
  • Typical game might last 2-4 continuous real-time hours total (but player can save/load anytime)
  • Set crew lifespans so that ~50 generations pass, requiring breeding assignment choices
  • Allow research to improve systems, skills, and genetic accuracy
  • Game covers three phases, counted by crew generations (with a little random variation):
    • Gen 0 - 30: simple events, plus one or two serious events
    • Gen 30 - 45: serious (and a few simple) events
    • Gen 45 - 50: 2-3 simple events, followed by a final catastrophic event
  • Events will occur that require the player to make choices:
    • Ship events: various kinds of damage (or, rarely, improvement options)
    • Crew events: genetic errors accumulate over time, degrading the crew's ability to maintain ship functions
  • Game Over evaluation (outcome driven by ship system status + crew status for colonization)

Core gameplay loops:
  • Immediate: crew role/task allocation (incl. ship system repair), genetic analysis and breeding assignments
  • Medium: Special events, minor moral choices, crew education (role-setting), research goals, defrosting
  • Overall: Key plot points (major moral choice), Crew Council evaluations and votes

  • Splash
  • Game Management:
    • Main Menu
    • Options
    • Credits
    • Help
    • Save
    • Load
  • Target Planet Selection
  • Course Status / Navigation
  • Ship Schematic (main screen, view/control modes overlaid, can zoom in to a specific space)
  • Ship Status (system status details + event monitor)
  • Crew Actions:
    • Task Allocation
    • Breeding Assignment
    • Education/Role Assignment
  • Crew Member's Genetic Profile
  • Research Goals
  • Crew Council
  • Game Over Evaluation
  • Past Games History

Animated cutscenes:
  • Launch
  • Space: AI Captain expulsion
  • Space: Explosion
  • Space: Everybody dead
  • Landing: Destructive
  • Landing: Crash
  • Landing: Successful

  • Startup/theme
  • Music for Flying Through Space
  • Key events
  • Game Over variations

View/Control modes:
  • Structural (Hull + Drives + Shield + Sensors)
  • Circulatory (Power + Air + Water + Food + Data)
  • Crew (Command + Medical + Psychological + Security)

Systems/services to manage (can be impacted individually by events):
  • Ship Systems
    • Hull
      • Exterior skin
      • Structural support (decking & bulkheads)
      • Heat radiators
    • Power
      • Fusion generator
      • Power distribution
    • Computer
      • Core Processing
      • Data Storage
      • Optical Lines
      • Active Software
      • AI Director
    • Fusion drive
      • Drive chamber, port
      • Drive chamber, starboard
    • FTL drive
      • Entunement matrix (web just inside outer hull)
      • Energizing sequencers (nodes connected to entunement matrix)
    • Shields
      • Shield emitters
    • Sensors
      • Sensor array
  • Crew Systems
    • Air
      • Electrolysis plant
      • Liquid gas storage
        • O2
        • N2
      • Circulation
        • ducts
        • fans
      • CO2 extraction
      • Humidifiers
    • Water
      • Storage tanks
      • Liquid distribution
        • pipes
        • pumps
      • Filters
      • Purifier
    • Food
      • Hydroponics
      • Galley
      • Biomatter conversion
    • Health
      • Genetics
      • Breeding assignment
      • Medical services
      • Psychological services
      • Education/role assignment
      • Recreation (happiness)
      • Frozen crew
      • Frozen biostocks (for colonizing planet [contributes to final score], but can be consumed in emergency)
    • Engineering
      • Maintenance (ship system status & repair task allocation)
      • Transfacturing (magically converting fusion power into ship components)
      • Logistics
    • Science
      • System analysis
      • Research goal selection
    • Security
      • Passageway locks
      • Monitors
    • Command
      • Navigation
      • System/event monitoring
      • Event response selection (prioritization)

Ship Spaces (main screen):
  • Bridge
  • Engineering
    • Power
    • Life support
      • Air
      • Water
      • Food
    • FTL drive
    • Manufacturing
    • Storage bays
      • Materials
      • Freezers
  • Health
    • Sick Bay
    • Population Planning
    • Classroom
    • Laboratories
    • Recreation
  • Security
    • Brig
    • Armory
  • Crew quarters
  • Passageways

  • System degradation -- repair existing component
  • System failure -- replace one component
  • System destruction -- rebuild multiple components
  • Ship system failure consequences (FTL, decompression, asphyxiation, dehydration, starvation, etc.)
  • Collision
    • Rocks
    • Minefield
  • Radiation field
    • Lethal radiation
    • Sterilizing
    • Increase mutation rate
    • Space... Madness!!
  • Monsters
    • Space Dragon
    • Space Barnacles
  • Other ships
    • Filthy interstellar pirates
    • Nice interstellar traders
    • Derelict alien ship
      • Advanced system-specific technology
      • Face-eating monster
      • Random disease
      • Nanobots start rebuilding gen ship... or repair/enhance a system
  • Computer problems
    • Coding bug
    • Software virus
    • Processing node failure
    • Database crash (specific lost knowledge or reduced education speed)
  • Food/water contamination
  • Crew member death/incapacitation (who will fill that role?)
  • Disease
    • Physical (plague)
    • Genetic (increased chance of mutation)
  • Mutation (any newborn may have one or [very rarely] two of these)
    • Individual (sterile)
      • Extraordinary Specialist
      • Charismatic Evil Genius (appears as Extraordinary Specialist until Revolution)
      • Immortal
      • Two Heads
      • Empath
    • Heritable
      • Idiocy
      • Weakness
      • Hyperaggression
      • Gestation rate (longer or shorter)
      • Telepathy
      • Photosynthetic
      • Fast-aging
      • Slow-aging
      • Vampirism
  • Brawl
  • Mutiny
    • Random mobs
    • Ship's security force
    • Revolution (requires Charismatic Evil Genius)
  • Crew council vote regarding AI captain's competence ("no confidence" = game over)

Research (most of these are boring/placeholder and need improvement):
  • Structure: 1) more resistant to damage, 2) reconfiguration (add new spaces)
  • Power: 1) damage resistance, 2) increased output
  • FTL drive: 1) efficiency (uses less power), 2) speed (shortens journey)
  • Sensors: 1) reduced chance of physical hazards, 2) increased chance of detecting derelicts
  • Computer: 1) ^ processing (faster research), 2) ethical prohibitions lifted from AI captain
  • Transfacturing: 1) improved component layout (^ efficiency), 2) self-healing (can be destroyed, but won't break)
  • Farming: 1) increased yield, 2) healthier
  • Genetics: 1) more detail, 2) gene correction (remove one bad gene), 3) gene modification (improve one gene)
  • Psychology: 1) ^ crew happiness, 2) more Crew Council options

Design notes:
  • Game is real-time, not turn-based, but can be paused to allow study, planning, and control
  • The Research feature is secondary -- nice to have, but v1 could work without it
  • Moddability not in core design, but if events/systems can be defined in an easily extended framework, OK
  • Having more crew active (defrosting, breeding) is safer genetically but increases consumption (power, air, water, food, recreation)
  • In addition to physical & technological crises, consider giving choices a moral edge (e.g., "cull" carriers of undesirable genes?)
  • What should players remember about this game a long time after playing it?
  • How should players describe this game when talking about it to other gamers?

Re: Generation Ship

To make the journey be some more dynamic, and not just contained within that one ship, I would have the trip have planned stops at stellar bodies along the way.
(rogue cold planets, solar systems, comets)

Here the crew can mine resources, depending on a gained mining-tech level. Explore the location, discover tech. And also have a plausible scenario to meet alien antagonists.

The gameloop would then give the player a choice to prepare for planned stops, or skipping them (as they require fuel to decelerate and accelerate again, and also make the journey take longer).

A meta gameplay system could be the job to invest into scanning/observing the nearby stellar bodies and plan/replan the route of the trip.

-> The starmap/planetinteraction could be realized with a visually simplified 2D version and text/decision dialogs. "You have found an abandoned alien structure, Do you want to spend 150 resources to excavate it? (+50 days, -150 R)"
Last edited by Damocles on Sun Feb 10, 2019 10:36 pm, edited 1 time in total.

Re: Generation Ship

I like the idea of a crew drifting in the dark for a thousand years.

Personally, I would give the players a budget, from which they design a starship.
This makes the starship "yours" in a way that a generic ship wouldn't be.
Provide some premade options to allow for new players.

The ship design gives the player control over how they want to play too.
More embryo chambers for extra embryos, more food storage rather than food growth capabilities, more nuclear power, or more solar power...
More engines to make the journey faster, more fueltanks to fuel those engines.
All sorts of fun decisions that help to make a game more replayable.

Remove Cyrosleep, and all long term deepsleep options.
Instead allow the player banks of fertilized embryos and implantation options.
This makes the focus on the characters and their interactions more than on just keeping a frozen bank of people alive.
(Although cryrosleep pods would be fun as an option, you could rotate crew in and out of sleep, so they all take a small shift, and all get to arrive at the planet)

Provide libraries that grow skills very slowly, and a teaching skill to impart skills much faster.
This allows for you to train your generational crew, and forces you to try to keep high skilled characters alive to train low skilled children in particular.
Add an apprentice system, so that the children could work with their parents to learn their job on the job.

The primary gameplay loop then goes something like:
  • Assign crew to jobs.
  • Pick breeding partners and attempt to prevent bad genetic matches. (although you cannot force two partners together, you can generally force them apart)
    • OR: Pick genetics from storage and artificially impregnate crew.
  • Maintain the systems of your ship.
  • Maintain the morale and technical skills of your crew.
  • Train new crew as they are born and grow up.
You have events that occur, events have a danger rating, and a value rating.
An asteroid collision for instance, has high danger and high value. Once it's collided pieces remain that you can collect and refine and then use to repair your ship.

We compress time down a little, so that a year is say, 28 in game "days", 1 week per season.
This fits most expectations of time compressed games. And, depending on game speed, allows for the player to pass quiet times very quickly.

You score based on;
  • total adult crew upon arrival
  • total skills of the crew
  • maximum of each skill the crew has
  • total resources remaining (if you were to fully dismantle the ship)
  • total genetic variance in the crew
  • total number of embryos left

This means that about 20 years out from planetfall, the player will want to start spamming all the crew they can.
Since they need to be born from living females, you will want to be growing female crew as much as possible in the years leading up.
WebGL Spaceships and Trails
<Cuisinart8> apparently without the demon driving him around Silver has the intelligence of a botched lobotomy patient ~ Mar 04 2020
console.log(`What's all ${this} ${}`);

Re: Generation Ship

Some very nice suggestions. I particularly like the idea that embryos would be frozen, rather than adult humans -- that makes a lot of sense.

So if one were to seriously consider building this as a game, what would be a good (simple / powerful / inexpensive) development system for it?

HTML5/CSS/JavaScript? My last few game projects used this (and I mean just this; no weird jQuery or node.js stuff), so I'm pretty familiar with its quirks now. It's simple/powerful/inexpensive, but it's certainly slower than a compiled executable and I don't have much in the way of the kind of generalized toolkit routines that Josh liked to build.

Java? It's not as terrible for games as some people claim, but again there's no toolkit of routines you can easily connect to quick make a playable game. (Or is there?)

C? Ack. I don't relish the idea of spending 60% of my time hunting obscure pointer bugs. It's pretty fast, though, if that's needed for a project like this.

Unity/Unreal/CryEngine? Slight overkill, I think. :D

Something else?

Re: Generation Ship

I'll always suggest JS + PIXI.js,
It's super easy to learn, super fast to prototype in, and produces reasonably fast 2D graphics using a canvas like API for WebGL.
With fallback to canvas if WebGL isn't supported.
WebGL Spaceships and Trails
<Cuisinart8> apparently without the demon driving him around Silver has the intelligence of a botched lobotomy patient ~ Mar 04 2020
console.log(`What's all ${this} ${}`);

Online Now

Users browsing this forum: No registered users and 2 guests