Added TODO
parent
0de278cb03
commit
b48f5e71df
|
@ -0,0 +1,133 @@
|
|||
## 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
|
||||
- Config file
|
||||
|
||||
## 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
|
||||
|
||||
|
||||
## 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)
|
|
@ -2,7 +2,7 @@ use crate::consts;
|
|||
use cgmath::Matrix4;
|
||||
|
||||
// We can draw at most this many sprites on the screen.
|
||||
// TODO: compile-time option
|
||||
// TODO: compile-time option or config file
|
||||
pub const SPRITE_INSTANCE_LIMIT: u64 = 500;
|
||||
|
||||
// Must be small enough to fit in an i32
|
||||
|
|
|
@ -81,7 +81,7 @@ impl VertexBuffer {
|
|||
|
||||
/// Set the buffers defined here as buffers in a RenderPass.
|
||||
pub fn set_in_pass<'a, 'b: 'a>(&'b self, render_pass: &'a mut wgpu::RenderPass<'b>) {
|
||||
// TODO: why do these lifetimes work? Write an article!
|
||||
// TODO: why do these lifetimes work?
|
||||
let mut v_slot = 0u32;
|
||||
if let Some(vertices) = &self.vertices {
|
||||
render_pass.set_vertex_buffer(v_slot, vertices.slice(..));
|
||||
|
|
Loading…
Reference in New Issue