Galactica/TODO.md

4.3 KiB

Specific Jobs

  • UI: health, shield, fuel, heat, energy bars
  • UI: text arranger
  • Sound system
  • Particles, impact effects
  • Debris on ship death

Game & Story

  • Landmarks to determine speed?
  • How to keep player in system bounds, what to do if they fly far away
    • Max chase distance, physics-enforced area?
    • (Soft limits, you shouldn't go too far unless you decide to.)
    • Enforce: silently teleport to the other end
  • How to handle death -- save scum should not be the norm (hollow knight?)
  • Jumping between systems -- how?
  • Locks and keys -> variation?
  • Active abilities
  • Hard to get outfits you've lost (hollow knight's charms do this very well)
  • Missions: hunt scary targets
  • The world exists outside of the system you're in
    • (large-scale dynamics)
  • How does information travel?
  • Communication timer: destroy a ship fast, nobody needs to know
  • Do we want to pay crew?
  • How should ship capturing work?
  • Enemy motivations
  • Where does money come from?
  • Changing map paths? How?

Features

  • Music (user-configurable)
  • Sound effects
  • Debris (ship death, destructible, physics)
  • Orbiting debris (asteroids)
  • Collectibles (flotsam)
  • UI
  • Landable planets
  • Back arrow: reverse thruster or reverse ship
  • Loading screen, incremental texturearray loading
  • Indicators (planet names, enemy ship stats)
  • Multiplayer? (how does that fit into gameplay?)
  • On-screen text
  • Controller input & key bindings
  • Save games
  • Date system -> planet position
  • AI fleets
  • More ship behaviors
  • Jump between systems
  • Government color, ship tint
  • Different kinds of ship behaviors:
    • who to target
    • how to target them
    • where to go
    • etc, extra flags

Faction interaction

  • Targeting overrides hitscan rules (only for player)
  • Static and dynamic faction relationships (change with player actions/game events?)
  • Dynamic relationships only for player? Other governments may be hard-coded
  • Opinion towards player -> how to handle well?
  • Player faction is special
  • Actions against one faction affect another

Internal

  • Logging/warning system
  • Frame timings (compute/render/physics/etc)
  • Elegantly handle lost focus
  • Pause game
  • Better player controller? (only one shipbehavior needs inputs)
  • Clear all // TODO: comments littered in the source
  • CLI options (debug, save location, content location, check content)
  • Config file and compile options, remove all those consts.
  • Engine flares shouldn't be centered
  • Sprite optimization: do we need to allocate a new Vec every frame? Probably not.
  • Better error when run outside of directory

Content

  • Angled engines
  • Angled guns
  • Turn engine flares
  • Reverse engine & flares
  • Better ship colliders (need a tool or an algorithm)
  • Better projectile colliders (box/ball/etc -- shared syntax)
  • Turrets
  • Weapons with ammunition
  • Enable/disable weapons
  • Cargo space
  • List of ES content--which to implement?
    • Ship stats
    • Weapon stats
  • Display name != internal key
  • Conversations
  • Trade
  • Missions

Camera

  • Shake/wobble on heavy hits?
  • Camera effects on low health?
  • (or are ship particles better?)
  • Lookahead -> position or direction?
  • Damping?
  • Important objects affect camera

Visuals

  • Particles
  • Dynamic lighting (planets & ships)
  • Motion blur
  • Zoom parallax (?)
  • Background haze
  • Nova dust parallax
  • Ship outlines in radar
  • Engine flare ease in/out

Write and Document

  • Parallax
  • Starfield & tiling
  • How the game is drawn
    • transforming game coordinates to screen
    • how angles work
  • Computation flow
    • Physics pipeline
    • Outfit pipeline
    • Collision detection
    • Ship AI
    • Handles
  • Content specification and pipeline

Ideas

  • Improvements over ES
    • Better visuals
    • More interesting combat
    • More interesting missions
    • Big fleets shouldn't be broken (should the player even have a fleet?)
    • ES Enemies don't have a real motivation.
    • ES story is a bit basic
    • Death matters - save-scumming shouldn't be normal
    • More interesting trading?
  • Death penalty
    • Find your wreckage when you die (dark souls/HK)
    • Lose some outfits, lose ship? Real risk for going out! (HK does this well)
  • Damage to ship subsystems