- check why Unity game exiting does not trigger server stream exit
- check why server stream uses 1 CPU per stream
- 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 inPosition
; 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
- 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