Blog

2021 Progress Report

Aaron Dalton
It has been a long time; I thought I’d touch base. First of all, Paul (fritzd at SDG) has been helping move this project forward. I am very grateful. I have been working on the renderer and just released v0.2.0. There is still work to do, but it’s remarkably close to where it needs to be. There’s no “playground” yet, but any interested developer can install the project and use the built-in tester locally.

February 2019 Progress Report

Aaron Dalton
Rendering Library The rendering library reached a minimally viable state this month, resulting in a v0.1.0 release! To minimize network traffic and storage space, and to afford maximum flexibility, the back end produces representations of game state in JSON, which must follow a specific schema. Here’s an initial Ithaka board, for example: { "board": { "style": "squares-checkered", "width": 4, "height": 4 }, "legend": { "B": { "name": "piece", "colour": 2 }, "G": { "name": "piece", "colour": 3 }, "R": { "name": "piece", "colour": 1 }, "Y": { "name": "piece", "colour": 4 } }, "pieces": "BBGG\nB--G\nY--R\nYYRR" } The front end can then render that based on individual user preferences.

January 2018 Progress Report

Aaron Dalton
I’ve gotten a fair bit done, though there’s nothing to see yet. The renderer library is well underway. The scaffolding is up and I can render simple images. Now it’s time to actually render game boards. Once it’s able to do that, then I’ll move on to the actual gameplay front end, which will be more challenging, but that’s the last step to being able to actually play games and test things!

December 2018 Progress Report

Aaron Dalton
Work has been extremely busy, so I’m afraid I didn’t make much progress in September and October, but I ended up with the month of December off. I still didn’t have as much time as I had hoped, but I still got lots done. Games/AI Server Because of how AWS is structured and billed, I’m having to give up on supporting third-party games and AIs for now. To communicate with the database (Serverless Aurora), my code needs to be in a VPC (virtual private cloud).

August 2018 Progress Report

Aaron Dalton
Multiple family visits and a chest cold made August a slow month, but progress was still made. I found a workaround for that vexing EFCore bug. But I also ran into another AWS constraint that is really throwing a wrench in things. The new Serverless Aurora service is supposed to be released sometime this year, which will fix the problem, but who knows when it will actually happen. So for now I’ve decided to focus on the game board rendering code.

July 2018 Progress Report

Aaron Dalton
July was a huge success. I’m quite excited about things. I’ve moved to a GraphQL structure. This will reduce latency and network transfer volume. Many types are now exposed, including user information, games data and metadata, and challenges. I’m slowly adding the mutators. You can currently create/modify profiles and issue and respond to challenges. There’s some back end stuff happening too (game pinging and status updates). As mentioned last month, an open games API (so that others can code games independently of my code base) is really important to me.

June 2018 Progress Report

Aaron Dalton
Short month for me because I have to do some travelling for work, but I did get some stuff done. Got the database issues worked out, so profile creation is fully working. The way AWS lambdas and databases talk to each other imposes some limitations I did not expect. But the openness of the games API that I have designed is really important to me. I’m not giving up on that.

May 2018 Progress Report

Aaron Dalton
Had some days off over the long weekend. I had some motivation issues, but ultimately I got a fair bit done. I am just continually reminded how much I hate front-end development. JavaScript is such a hideous language! And the front-end space is just always moving forward and breaking things. After this weekend’s frustrations, I’ve decided to leave the front end for a while yet. I’ll focus on the API and get that working first.