Codingame's a-star-craft.

My first coding competition.

Language: Javascript

Scored 3,539 points.

Ranked (world) 278/2,042

Ranked (usa) 16/169

Ranked (world/javascript) 6/155

Ranked (usa/javascript) 1/15


About the project


A Link To The Past: Randomizer is a project where very clever people have randomized A Link To The Past (alttp). My favorite game of all time. Randomized in so many ways I will allow them to explain, if you're at all interested, please go look at their page.

This project makes their work available on the RetroPie, and conceivably anywhere else nodejs runs.

In my first attempts I was thinking I would use Puppeteer, to script the interaction with the site. I always new I wasn't going to re-create the experience, thats bad for everyone!

As I was learning more about how the site I realized something:

you never actually send the game to the randomizer!

Instead, the site sends back a recipe and your computer makes a copy, scrambles it, and saves it. All 100% in JavaScript and JSON!

Looking at the source, the goal shifted: I would port the patcher to node.

The final product contains the original patcher, tweaked to run on node, and use the local file system.

From there, there was some interactions that needed to be developed. The core project was to deliver the experience to a RetroPi user, using a controller, so I created a RetroPi menu item called alttr-cli.sh

Daily patches are generated by scraping the alttpr.com Daily page, retrieving current rom hash, the base patch, and the daily hash. From there we can request the daily patch.

Hans Lucky Dice

A Slack slash command, that rolls dice for you.

Runs on an AWS lambda.