Reorganized TODO
parent
5815bb9f9f
commit
2a7d4a7688
|
@ -6,4 +6,8 @@ indent_size = 4
|
||||||
end_of_line = lf
|
end_of_line = lf
|
||||||
charset = utf-8
|
charset = utf-8
|
||||||
trim_trailing_whitespace = false
|
trim_trailing_whitespace = false
|
||||||
insert_final_newline = false
|
insert_final_newline = false
|
||||||
|
|
||||||
|
[*.md]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
282
TODO.md
282
TODO.md
|
@ -1,7 +1,129 @@
|
||||||
|
# Specific projects
|
||||||
|
|
||||||
|
## Currently working on:
|
||||||
|
- player selection
|
||||||
|
- planet outfitter
|
||||||
|
|
||||||
|
|
||||||
|
## Small jobs
|
||||||
|
- Procedural suns
|
||||||
|
- 🌟 Back arrow -> reverse
|
||||||
|
- No wobble for ai ships & autopilot
|
||||||
|
- 🌟 User-configurable outfit space types
|
||||||
|
- 🌟 Sticky radar
|
||||||
|
- Configurable radar
|
||||||
|
- 🌟 Ship damage events, unify spawners
|
||||||
|
- Better landing animation (slow down)
|
||||||
|
- Land from farther away
|
||||||
|
- Ship collapse: damage + force events
|
||||||
|
- Redesign UI elements
|
||||||
|
- Background haze: 3d perlin?
|
||||||
|
- nova dust parallax
|
||||||
|
- Motion blur
|
||||||
|
- 🌟 Generate outlines and colliders
|
||||||
|
- Then: outline self in status
|
||||||
|
- Reverse engines + flares
|
||||||
|
- Turn flares (physics by location?)
|
||||||
|
- Angled engines & guns
|
||||||
|
|
||||||
|
## Misc fixes & Optimizations
|
||||||
|
- 🌟 Better errors when content/asset dirs don't exist
|
||||||
|
- Clear `// TODO:` comments
|
||||||
|
- Correct drawing order (player on top, landing ships)
|
||||||
|
- Faster handles (better than a hashmap?)
|
||||||
|
- Check for handle leaks
|
||||||
|
- 🌟 Log/warning system
|
||||||
|
- Clean up & faster frame timings
|
||||||
|
- 🌟 Handle lost focus
|
||||||
|
- User config file
|
||||||
|
- 🌟 Document content
|
||||||
|
- 🌟 Clean up content: one ship per file, autodetect
|
||||||
|
- CLI: pack sprites(?), check content, content location, logs, etc
|
||||||
|
- Better WGSL preprocessor?
|
||||||
|
- Projectile performance
|
||||||
|
- Starfield clusters, shader instead of an array?
|
||||||
|
- Collider groups for factions? (projectile optimization)
|
||||||
|
|
||||||
|
## 🌟 Player selection
|
||||||
|
- Planet name, ring, and distance
|
||||||
|
- Selection UI (around game object)
|
||||||
|
- Selection UI (radar arrow)
|
||||||
|
- Selection keys
|
||||||
|
- Select ships
|
||||||
|
- Selection UI (HUD)
|
||||||
|
- attack selected ship, even if friendly
|
||||||
|
|
||||||
|
## 🌟 Planet outfitter
|
||||||
|
- UI, show ship on land
|
||||||
|
- Money
|
||||||
|
- Display name != key
|
||||||
|
- then: non-removable outfits
|
||||||
|
- then: cargo space
|
||||||
|
- then: collectible flotsam
|
||||||
|
- then: mass from cargo and outfits
|
||||||
|
- then: space conversion
|
||||||
|
- then: heat + energy stats
|
||||||
|
- then: damage type (heat, energy, disrupt, etc)
|
||||||
|
- then: debuffs
|
||||||
|
- then: assign guns to points
|
||||||
|
- then: guns with consumable ammunition
|
||||||
|
- then: enable/disable weapons
|
||||||
|
|
||||||
|
|
||||||
|
## Ship Spawning
|
||||||
|
- requires: Basic ship AI (disable collision for now?)
|
||||||
|
- requires: Fleets
|
||||||
|
- Spawn ships from planets
|
||||||
|
- Land ships on planets (destroy)
|
||||||
|
- Start with player on planet, respawn
|
||||||
|
|
||||||
|
|
||||||
|
## Debris (requires: flotsam)
|
||||||
|
- Destroyed ships leave debris
|
||||||
|
- Destructible & floatingdebris
|
||||||
|
- Orbiting debris: asteroids
|
||||||
|
- ES-style asteroid field (how should we do this?)
|
||||||
|
|
||||||
|
|
||||||
|
## Camera physics
|
||||||
|
- lookahead
|
||||||
|
- damping
|
||||||
|
- Don't jump when landing/taking off
|
||||||
|
- wobble / ship thrown when hit?
|
||||||
|
- UI/effects when damaged?
|
||||||
|
- Focus important objects
|
||||||
|
|
||||||
|
## Sprite reels
|
||||||
|
- Sprite reels in content
|
||||||
|
- Trigger sprite reel during collapse sequence
|
||||||
|
- Trigger sprite reel when firing (requires: non-removable outfits)
|
||||||
|
- then: ship tint
|
||||||
|
- then: frame timing randomness
|
||||||
|
- then: leaks during collapse (needs particle physics)
|
||||||
|
- then: passive engine glow, ease in/out
|
||||||
|
- Sprite color variation
|
||||||
|
|
||||||
|
## Texture loading
|
||||||
|
- loading screen & menu
|
||||||
|
- GPU limits?
|
||||||
|
- Cache direcory
|
||||||
|
- How to pack?
|
||||||
|
|
||||||
|
## Particle physics
|
||||||
|
- Particles should stick to their ships. How?
|
||||||
|
- Particle compute shader
|
||||||
|
- Land and unland particles
|
||||||
|
- Effect on fire gun
|
||||||
|
- Particle / sprite color variation
|
||||||
|
|
||||||
|
## Sound effects
|
||||||
|
- Sound effects
|
||||||
|
- User-configurable music (?, game config or user config?)
|
||||||
|
|
||||||
|
|
||||||
## Specific Jobs
|
## Specific Jobs
|
||||||
- Fix angles (point, land)
|
- Correct depth order
|
||||||
- Land from farther away
|
- Land from farther away
|
||||||
- Take off
|
|
||||||
- Prevent collisions on unlanding
|
- Prevent collisions on unlanding
|
||||||
- UI: text arranger
|
- UI: text arranger
|
||||||
- loading screen, menus
|
- loading screen, menus
|
||||||
|
@ -27,122 +149,50 @@
|
||||||
- Arbitrary size resource names
|
- Arbitrary size resource names
|
||||||
|
|
||||||
|
|
||||||
----------------------------------
|
|
||||||
|
----------------------------------------------------
|
||||||
|
----------------------------------------------------
|
||||||
|
|
||||||
|
# Ideas and long-term goals
|
||||||
|
|
||||||
|
|
||||||
|
## Features (not soon)
|
||||||
|
- Multiplayer
|
||||||
|
- Configure key bindings, controller support
|
||||||
|
- Save game state
|
||||||
|
- Dynamic relationships (get angry when attacked)
|
||||||
|
- Jump between systems
|
||||||
|
- Story: how?
|
||||||
|
- Conversations, trade, missions
|
||||||
|
- Lightweight whole-universe simulation
|
||||||
|
- Documentation site & front page
|
||||||
|
- Dynamic lighting (planets & ships)
|
||||||
|
- Lens flare?
|
||||||
|
- Active abilities
|
||||||
|
- Galaxy date system, slowly orbiting planets
|
||||||
|
- Parallelize frame computations
|
||||||
|
- Advanced AI: avoid collisions
|
||||||
|
|
||||||
|
|
||||||
## Game & Story
|
## Game & Story
|
||||||
- How to keep player in system bounds, what to do if they fly far away
|
- How to keep player in system bounds, what to do if they fly far away
|
||||||
- Max chase distance, physics-enforced area?
|
- Max chase distance, physics-enforced area?
|
||||||
- (Soft limits, you shouldn't go too far unless you decide to.)
|
- (Soft limits, you shouldn't go too far unless you decide to.)
|
||||||
- Enforce: silently teleport to the other end
|
- Enforce: silently teleport to the other end
|
||||||
- How to handle death -- save scum should not be the norm (hollow knight?)
|
- How to handle death -- save scum should not be the norm (hollow knight?)
|
||||||
- Jumping between systems -- how?
|
- Locks and keys -> variation?
|
||||||
- Locks and keys -> variation?
|
- Hard to get outfits you've lost (hollow knight's charms do this very well)
|
||||||
- Active abilities
|
- Missions: hunt scary targets
|
||||||
- Hard to get outfits you've lost (hollow knight's charms do this very well)
|
- The world exists outside of the system you're in
|
||||||
- Missions: hunt scary targets
|
- (large-scale dynamics)
|
||||||
- The world exists outside of the system you're in
|
- How does information travel?
|
||||||
- (large-scale dynamics)
|
- Communication timer: destroy a ship fast, nobody needs to know
|
||||||
- How does information travel?
|
- Do we want to pay crew?
|
||||||
- Communication timer: destroy a ship fast, nobody needs to know
|
- How should ship capturing work?
|
||||||
- Do we want to pay crew?
|
- Enemy motivations
|
||||||
- How should ship capturing work?
|
- Where does money come from?
|
||||||
- Enemy motivations
|
- Changing map paths? How?
|
||||||
- Where does money come from?
|
- Actions against one faction affect another, dynamic relationships
|
||||||
- Changing map paths? How?
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Features
|
|
||||||
- Music (user-configurable)
|
|
||||||
- Sound effects
|
|
||||||
- Debris (ship death, destructible, physics)
|
|
||||||
- Orbiting debris (asteroids)
|
|
||||||
- Collectibles (flotsam)
|
|
||||||
- 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, improved ai
|
|
||||||
- Collision avoidance
|
|
||||||
- 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)
|
|
||||||
|
|
||||||
## 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
|
|
||||||
- Only compute timings when necessary
|
|
||||||
- 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
|
|
||||||
- Depth buffer (z-axis when landing!)
|
|
||||||
- Compute shader for particles
|
|
||||||
- Better performance for projectiles
|
|
||||||
|
|
||||||
## Content
|
|
||||||
- Angled engines
|
|
||||||
- Angled guns
|
|
||||||
- Turn engine flares
|
|
||||||
- Turn engine physics?
|
|
||||||
- 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
|
|
||||||
- Passive engine glow
|
|
||||||
- Landing atmosphere burn
|
|
||||||
|
|
||||||
|
|
||||||
## Write and Document
|
## Write and Document
|
||||||
- Parallax
|
- Parallax
|
||||||
|
|
Loading…
Reference in New Issue