Skip to content

Latest commit

 

History

History
56 lines (52 loc) · 2.15 KB

TODO.md

File metadata and controls

56 lines (52 loc) · 2.15 KB

Bugs

  • check why Unity game exiting does not trigger server stream exit
  • check why server stream uses 1 CPU per stream

Refactoring

  • change MoveRequest.Destination to Coordinate
  • replace tickID with tick for now
  • add AddClientResponse.Tick
  • add oneof curve subclass
  • make entity interface more formal
  • broadcast entities along with curves in StreamCurves
  • refactor server / executor
  • make Executor.visitors an ordered map object for easy referencing in code
  • merge Executor.isStarted and isStopped
  • add ClientID, EntityID, Tick data types
  • add server documentation
  • make maps/astar.Path take in Position; last move is to the Position offset
  • ensure client still works with refactors
  • add tests for move.Visitor
  • rename CurveCategory to EntityProperty
  • migrate to FSM Visitor model
  • migrate engine components
  • migrate instance -> action
  • add Entity Implements layer
  • add client tests
  • add generator for IDs instead of manually testing for random string
  • add server / engine documentation
  • add API documentation
  • add tests for produce.Visitor
  • add tests for chase.Visitor
  • add tests for Status
  • add tests for Entity
  • add client documentation

Feature

  • make channel send from server nonblocking
  • make channel send from server with timeout
  • support Reconnect() and share game state at specific tick
  • add Run() which iterates through Tick()
  • consider what to do with partial moves -- refactor out commandQueue with cancellation, etc.
  • add Produce() Visitor
  • add entity click-drag-select action
  • add Attack command
  • add AttackTarget curve
  • add FSM design document
  • add FSM blog entry
  • add Attack delay / targeting
  • add game state export / import
  • log to file, log non-fatal errors instead of erroring out (e.g. Run)
  • replace pathfinding with flow fields
  • parallelize move commands
  • make client load map from server (new API)
  • make map layered (terrain vs. rendering data; pathing data for size > 1x1 tiles)
  • allow reconnections in Unity client