Commit graph

155 commits

Author SHA1 Message Date
062f9cfec8 Split Atlas chunks into tiles and objects 2020-07-03 17:00:04 +01:00
b5707ab71c Fix all go vet issues 2020-07-01 00:01:20 +01:00
abcebcebb6 Simplify - remove rove-accountant
This was a fun little gRPC experiment but it's simply not needed
2020-06-30 23:34:49 +01:00
e5ee0eaece Rename a couple of Atlas variables
Sometimes names can be too long
2020-06-28 11:01:01 +01:00
9bb91920c9 Make Atlas grow in X and Y dimensions independently
Fixes exponential growth
2020-06-28 00:18:39 +01:00
b116cdf291 Convert Atlas to infinite lazy growth
The atlas will now expand as needed for any query, but only initialise the chunk tile memory when requested

	While this may still be a pre-mature optimisation, it does simplify some code and ensures that our memory footprint stays small, for the most part
2020-06-27 14:48:21 +01:00
5b5f80be7d Clean up logging a little 2020-06-27 02:02:18 +01:00
693b8a54f1 Add repair command to repair using inventory item 2020-06-27 01:39:10 +01:00
7957454ec1 Add rover integrity
Rovers are damaged by bumping into solid objects
2020-06-27 01:18:18 +01:00
1ed1c60de0 Simplify - remove RoverAttributes and rover UUIDs 2020-06-27 00:32:27 +01:00
e6a25a5310 Add the rover inventory to the "rover" response 2020-06-26 23:44:52 +01:00
e1bff92a56 Remove Item type in favor of just byte 2020-06-26 23:41:36 +01:00
d08a15e201 De-scope - Remove unused rover capacity 2020-06-26 23:39:07 +01:00
71c2c09270 Write test to check rover has item in inventory 2020-06-26 23:37:10 +01:00
6c09ee3826 Refactor main to accept commands and arguments 2020-06-26 23:31:06 +01:00
d624a3ca21 Add verification for "stash" command 2020-06-26 23:30:42 +01:00
2f6465987d More de-scope - remove duration on move command
This isn't even needed, as commands can just be queued up
2020-06-26 22:26:27 +01:00
383e834cef Add RoverStash test 2020-06-26 20:14:00 +01:00
00bdad6b40 Fix stashing
Now checks if object is stashable and clears the tile
2020-06-26 19:47:01 +01:00
2846ed796e Refactor tiles to objects to be re-used 2020-06-26 19:45:24 +01:00
8b1eca0aee Implement basic stash command 2020-06-26 18:59:12 +01:00
db3c2c2c2e De-scope, remove rover speed 2020-06-26 18:48:07 +01:00
a84709564c Minor refactor to move name to top of attributes class 2020-06-26 18:24:03 +01:00
7ee340e976 Move Rover position into main class 2020-06-26 18:22:37 +01:00
8019ea4e25 Add an inventory to the rover 2020-06-26 18:13:23 +01:00
93b99b7989 Fix tests after rover change 2020-06-25 23:51:31 +01:00
5c12fabb63 Refactor so Rover's aren't in the atlas 2020-06-25 23:27:07 +01:00
58f9d8baf2 Reformat to use a words file rather than babble 2020-06-25 22:02:11 +01:00
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