/untrusted

A meta-JavaScript adventure game by Alex Nisnevich and Greg Shuflin.

Primary LanguageJavaScript

Untrusted —or— the Continuing Adventures of Dr. Eval is an exciting Meta-Javascript Adventure Game wherein you guide the dashing, steadfast Dr. Eval through a mysterious MACHINE CONTINUUM, wherein, using only his trusty computer and the TURING-COMPLETE power of Javascript, he must literally ALTER HIS REALITY in order to find his freedom! You must literally edit and re-execute the very Javascript running the game in your browser to save Dr. Eval from this dark and confusing reality!

Overview

The game presents you with a roguelike-like playing environment and a console window with the JavaScript code generating each level. As loaded, each level is unbeatable, and most of the JavaScript is blocked from editing. The challenge is to open a path to the next level using only the limited tools left open to you.

Development

Run

make

to merge the JavaScript files into scripts/build/untrusted.js (and enables debug features).

make release

merges and minifies the JavaScript files into scripts/build/untrusted.min.js (and disables debug features).

To run the game locally, you need to set up a local server to serve index.html (this step is necessary due to Access-Control-Allow-Origin restrictions).

First install http-server if you haven't already:

sudo npm install http-server

Then run:

make runlocal

Acknowledgements

Untrusted is a game by Alex Nisnevich and Greg Shuflin.

We'd like to thank:

  • Dmitry Mazin for design assistance and for the implementation of multiline editing
  • Jordan Arnesen for playtesting and design of lvl17
  • Natasha Hull-Richter for extensive playtesting and assistance in level design
  • Alex Bolotov, Colin Curtin, Conrad Irwin, Devin C-R, Eugene Evans, Gilbert Hsyu, Jacob Nisnevich, James Silvey, Jason Jiang, Jimmy Hack, Philip Shao, Ryan Fitzgerald, Stephen Liu, Yayoi Ukai, and Yuval Gnessin for playtesting and feedback
  • Ondřej Žára for his rot.js library
  • Marijn Haverbeke for his CodeMirror library
  • Brian Harvey for allowing us to use his likeness in lvl19

Soundtrack

You can listen to the full soundtrack here.

The music that appears in Untrusted, in order, is:

License

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.