## Specific Jobs - UI: health, shield, fuel, heat, energy bars - UI: text arranger - Sound system - Particles, impact effects - Debris on ship death - Radar: dynamic colors, size, planets and suns ---------------------------------- ## 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.) - 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