Galactica/TODO.md

5.1 KiB

Specific Jobs

  • Start documenting

  • Check for handle leaks

  • Rename and crtl-f comments

    • gameobject and world
    • behavior and personality
    • ship (content) / ship (data) / ship (world)
  • Don't allocate each frame

  • UI: text arranger

  • Sound system

  • Ship death debris

  • Sprite reels

    • random start frame
    • ship leaks
  • Passive engine glow

  • Ship death damage and force events

  • Gun fire effect

  • Sprite color variation

  • Multi-particle effects

  • Better loading

    • incremental?
    • Higher texture limit (16 x 8096 x 8096 isn't enough)
    • GPU limits? (texture size, texture number, particle/sprite limits)
  • Particles when a ship is damaged (events)

  • Sticky radar

  • Fix gun points

  • Arbitrary size resource names


Game & Story

  • 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
    • loading screen, menus
    • Indicators (planet names, enemy ship stats)
  • Landable planets
  • Back arrow: reverse thruster or reverse ship
  • 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
  • Advanced particle physics (must move to cpu. Maybe both?)
  • Background simulation (two modes: physics-what's visible, data-everything else)

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?
  • Actions against one faction affect another

Internal

  • Logging/warning system
  • Frame timings (compute/render/physics/etc)
  • Elegantly handle lost focus
  • Pause game
  • 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.
  • Better error when run outside of directory
  • Documentation site & front page
  • Random animation delay/fps?
  • Better WGSL preprocessor

Content

  • Angled engines
  • Angled guns
  • Turn engine flares
  • Reverse engine & flares
  • Better ship colliders (need a tool or an algorithm)
  • Turrets
  • Weapons with ammunition
  • Enable/disable weapons
  • Cargo space
  • Display name != internal key
  • Conversations
  • Trade
  • Missions
  • Procedural suns
  • Heat and energy
  • Non-removable outfits
  • Space-converting outfits
  • Damage struct and debuffs

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

  • Dynamic lighting (planets & ships)
  • Motion blur
  • Zoom parallax (?)
  • Background haze
  • Nova dust parallax
  • Engine flare ease in/out
  • Lens flare
  • Clustered starfield
  • Redesign UI

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
  • How packer and optimizations work, and why
  • How big should sprite resolutions be? How about frame rate?
  • Naming: atlas, sprite, image, frame, texture
  • Outfits may not change unless you've landed. They might not change ever for CC ships!

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.
    • 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
  • Soft and highly armored ship points
  • Repair your own ship