Galactica/TODO.md

239 lines
6.7 KiB
Markdown
Raw Normal View History

2024-01-14 12:57:21 -08:00
# Specific projects
## Currently working on:
2024-01-23 15:54:31 -08:00
- first: remove object array
- first: sticky particles
2024-01-20 12:42:57 -08:00
- clickable buttons
2024-01-14 12:57:21 -08:00
- planet outfitter
## Small jobs
2024-01-20 12:42:57 -08:00
- 🌟 clean up and document short sprite sections
2024-01-17 10:24:18 -08:00
- 🌟 Better planet desc formatting
2024-01-14 12:57:21 -08:00
- 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
2024-01-20 09:36:25 -08:00
- Fix effect interaction with sprite sections
2024-01-14 12:57:21 -08:00
## 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)
2024-01-17 10:24:18 -08:00
- Better error when sprite is missing from atlas
2024-01-14 12:57:21 -08:00
## 🌟 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?)
2024-01-01 22:25:16 -08:00
## Specific Jobs
2024-01-14 12:57:21 -08:00
- Correct depth order
2024-01-13 19:10:24 -08:00
- Land from farther away
2024-01-14 11:14:09 -08:00
- Prevent collisions on unlanding
2024-01-10 22:44:30 -08:00
- UI: text arranger
2024-01-14 11:14:09 -08:00
- loading screen, menus
- Indicators (planet names, enemy ship stats)
2024-01-09 21:15:03 -08:00
- Start documenting
2024-01-09 18:02:11 -08:00
- Check for handle leaks
- Don't allocate each frame
2024-01-01 22:25:16 -08:00
- Sound system
2024-01-05 18:14:00 -08:00
- Ship death debris
- Sprite reels
2024-01-07 12:23:08 -08:00
- random start frame
- ship leaks
2024-01-05 19:56:37 -08:00
- Ship death damage and force events
2024-01-07 12:23:08 -08:00
- Gun fire effect
- Sprite color variation
- Multi-particle effects
- Better loading
- incremental?
- Higher texture limit (16 x 8096 x 8096 isn't enough)
2024-01-08 21:02:02 -08:00
- GPU limits? (texture size, texture number, particle/sprite limits)
2024-01-07 12:23:08 -08:00
- Particles when a ship is damaged (events)
2024-01-08 17:57:21 -08:00
- Sticky radar
2024-01-08 23:10:30 -08:00
- Arbitrary size resource names
2024-01-01 22:25:16 -08:00
2024-01-14 12:57:21 -08:00
----------------------------------------------------
----------------------------------------------------
# Ideas and long-term goals
2024-01-13 19:10:24 -08:00
2024-01-14 12:57:21 -08:00
## 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
- 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?)
- Locks and keys -> variation?
- 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?
- Actions against one faction affect another, dynamic relationships
2023-12-31 11:19:39 -08:00
## Write and Document
- Parallax
- Starfield & tiling
2024-01-09 21:15:03 -08:00
- How the game is drawn
2023-12-31 11:19:39 -08:00
- transforming game coordinates to screen
- how angles work
- Computation flow
- Physics pipeline
- Outfit pipeline
- Collision detection
- Ship AI
- Handles
- Content specification and pipeline
2024-01-03 19:48:53 -08:00
- How packer and optimizations work, and why
2024-01-08 21:02:02 -08:00
- How big should sprite resolutions be? How about frame rate?
2024-01-04 17:20:41 -08:00
- Naming: atlas, sprite, image, frame, texture
2024-01-08 23:10:30 -08:00
- Outfits may not change unless you've landed. They might not change ever for CC ships!
2024-01-14 11:14:09 -08:00
- All angle adjustments happen in content & shaders
2024-01-21 12:41:31 -08:00
- Reserved texture: index zero
2023-12-31 11:19:39 -08:00
## 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)
2023-12-31 17:57:32 -08:00
- Lose some outfits, lose ship? Real risk for going out! (HK does this well)
2024-01-06 13:58:01 -08:00
- Damage to ship subsystems
2024-01-08 21:02:02 -08:00
- Soft and highly armored ship points
2024-01-09 21:15:03 -08:00
- Repair your own ship