bea08d54f1
Add description to rove documentation
2020-06-13 13:38:12 +01:00
187a0a6165
Finish HTTP tests and adjust APIs to allow them to pass
2020-06-13 13:18:22 +01:00
a4a04a15fb
Remove empty proto i/o structs in favor of placeholders
2020-06-13 11:57:27 +01:00
dc9eb8cf2e
Fix filtering 's from babble names for rovers
2020-06-13 11:42:28 +01:00
856771dac7
Rename the RoveServer proto to Rove
2020-06-13 10:43:35 +01:00
51030ac162
Fix swagger gen path
2020-06-13 10:42:40 +01:00
8c6230ca20
Implement a reverse proxy using grpc-gateway
2020-06-13 00:23:21 +01:00
7ababb79f6
Migrate to gRPC rather than REST with swagger
...
Will also be adding in a RESTful endpoint to the server as well so it can consume both types
2020-06-12 22:51:18 +01:00
6cfc9444f3
Simplify the APIs to return http status codes
2020-06-12 19:05:26 +01:00
6342d9dc4d
Add TODO notes about hack with rovers in the atlas
2020-06-11 20:47:45 +01:00
faaa556ad0
Move the Atlas code into it's own package
2020-06-11 20:42:59 +01:00
8cd7b06c0c
Privatise Atlas functions that should only be internal
2020-06-11 20:34:30 +01:00
de3c2b9134
Fix printing the tile grid
2020-06-11 20:26:06 +01:00
2f5863b17a
Use log instead of fmt for logging
...
Also fix up a few errors to lower case
2020-06-11 19:04:53 +01:00
223c50228e
Add comments to the accounts proto file
2020-06-11 18:38:34 +01:00
99da6c5d67
Move accountant to it's own deployment using gRCP
2020-06-11 13:24:42 +01:00
8f25f55658
Refactor accounts to store a data map rather than just a rover ID
2020-06-10 22:48:45 +01:00
7749854eb7
Remove account IDs in favor of just account names
...
These were a "security" feature but pre-emptive and just add complications when we can implement secrets later
2020-06-10 18:57:43 +01:00
b3b369f608
Remove /spawn POST endpoint
...
This was increasing complexity for no added benefit
/register now performs the spawn in 4 lines of code
2020-06-10 18:48:56 +01:00
6fb7ee598d
Move server package out into rove-server
2020-06-10 18:20:05 +01:00
62d6213c1a
Change GET and SET to CamelCase
2020-06-10 17:27:55 +01:00
14c4e61660
Fix up gocritic issues
2020-06-10 12:34:04 +01:00
2ee68e74ac
Enqueue the incoming commands at the next tick
...
This sync commands for all users and in the future will let you view which moves and commands are currently being executed
2020-06-09 20:44:25 +01:00
6a868d3e41
Fix up TODOs and comments that have now been done
2020-06-09 18:33:30 +01:00
a784b06c2a
Fix error messages that still talk about direction
2020-06-09 18:33:05 +01:00
4558e8a9b0
Rename Direction -> Bearing
2020-06-09 18:09:51 +01:00
51fe918090
Split out maths functions into maths, vector and bearing
2020-06-09 18:08:07 +01:00
aae668fb57
Fix instabilities caused by random rocks
2020-06-09 00:16:49 +01:00
520f78b5c3
Stop spawning rovers outside the chunks or warping into other rovers
2020-06-09 00:07:25 +01:00
ae2cb6598a
Fix WarpRover when warping onto itself
2020-06-08 23:41:33 +01:00
de94b39a50
Fix TestCommand_Move instability by increasing the size of the atlas
2020-06-08 23:39:13 +01:00
066df58705
Fix the names including apostrophes
2020-06-08 23:37:03 +01:00
43588c0e4b
Fix world spawning and radar
...
Also expand test coverage a little to ensure it's correct
2020-06-08 23:32:52 +01:00
b0e076ac1a
Refactor radar to return a full set of the tiles within rover range
2020-06-08 18:14:24 +01:00
175c66cddf
Remove tests on spawn world for empty tiles
2020-06-07 23:19:57 +01:00
35806576f9
Add a bunch of TODOs
2020-06-07 23:17:56 +01:00
65818ed0e1
Renamethe spawn world function
2020-06-07 23:05:55 +01:00
de0ccbaa6e
Fix the random rock spawns
2020-06-07 23:05:36 +01:00
e82fb3dbfe
Pepper the world with rocks
2020-06-07 22:36:11 +01:00
43648926ca
Large refactor to properly implement radar
...
/radar now returns a set of non-empty tile blips
2020-06-07 22:30:03 +01:00
fc54775df9
Stop movement into non-empty tiles
2020-06-07 19:03:16 +01:00
3781a4d10d
Spawn a border around the world atlas for now
...
Also spawn the rover within a single chunk in the middle
2020-06-07 18:57:44 +01:00
cb725c96d2
Rename Kind -> Tile
2020-06-07 18:38:46 +01:00
289bab2a7a
Refactor atlas creation and growth
...
Pass in the real size and grow itself rather than return a new one
2020-06-07 18:36:00 +01:00
aa4df38ead
Swap kind to bytes and reduce chunk size
2020-06-07 18:21:44 +01:00
ceca4eb7fa
Refactor the Tile to a full Atlas
...
This atlas is a set of chunks and supports resizing
2020-06-07 18:08:34 +01:00
8586bdabd7
Fix duplicate saving on quit
...
Slight refactor to split server stop and close functions
Quit function explicitly sends SIGTERM
SIGTERM doesn't trigger an os.Exit
Bonus: Properly save the world on spawning the rover
2020-06-07 18:06:34 +01:00
141827fa57
Add a blank atlas to the world
2020-06-07 13:33:44 +01:00
77be28f913
Rename geom to math
2020-06-07 13:33:18 +01:00
ca17d89f6e
Fix logging of rover spawn
2020-06-07 13:32:37 +01:00