https://challenge.synacor.com/
JavaScript Implementation, browser+node
- See
read.js
.
- Self-navigating TDD.
- Simple stuff, watch for the incidental fuzziness in arch-spec regarding mainly the
rmem
andwmem
instructions. - see
Computer.js
.
- Built UI for playing the text game. Deployed here.
- Solved the Grue-heavy part manually by moving through the dungeon, realizing that it occupies some non-Euclidean space (
A -> south -> B -> north -> !A
).
- Permutation of 5 numbers fitting the equation.
- See
solveRuins
inscript.js
.
- Built the transpiler to asm, see
challenge.asm
. - Hacked the teleporter to get a code rejected by the website, ouch.
- By stack-tracing found the problematic method. Spent some number of hours, interrupted, trying to simulate/optimize it. Got to an ugly method that produced a solution after some hours.
- Later, found out about https://en.wikipedia.org/wiki/Ackermann_function and produced a proper solver.
- By far the most difficult part of the challenge.
- See
teleporter.js
.
- Manually traced down the map.
- Built a simple recursive solver - BFS graph traverse.
- See
beach.js
.
Overall great stuff, really enjoyed it!