Play Home Contribute GitHub Join Us Discourse Staff Members GitHub Contribution Guides Team

Feature requests/does feature exist

  1. Is there a way to stop the code from running/compiling while I do major edits. I haven noticed the tabs seem to crash the most while I am defining and/or modifying sub- functions/procedures deep.

  2. As discussed on another thread, error trapping (at least historically) was a very important concept in many languages. It also can be very powerful in debugging. (Try/ on error do/ other variations…)

  3. Speaking of debugging, some kind of “watch” command would be a good thing. It would pop up a window that would show the value of the watched variable as the code executes.

  4. Is there a way to expand just the code window and/or make other changes to improve readability? I must admit, as I have gotten older, anything on my laptop screen below an 11 point font or so feels hostile.

  5. Ability to easily save and load code to a txt file or equivalent. I am aware I could cut and paste, but while trying to do so, I have lost a level worth of code before. Also, having the code outside the program makes it easier to build on what I have already done …

  6. This is related to 5 but different: the ability to compile function/procedure libraries and subsequently load just the compiled functions in a new level.

Thanks for listening and my apologies if I have missed functionality which was already implemented.

  1. Press the Play/Pause button at the bottom left corner of the screen.

  2. What are you asking about here? I’m not quite sure.

  3. You can use self.say(variable) to watch it.

  4. There is no way I know of besides zooming in.


you can def functions when you go further levels.


2. try...catch works in JavaScript, not sure about the other languages.

try {
   // some code
} catch (e) {
  // some other code


Old levels used to have this mechanism where the user could hover over a variable and “hover debug”; it would be nice but from playing some of the older levels it gave me more headaches than not. Better to use debug() or say() (or if lazy like me throw for single use) for now. (Would be cool to have it it worked better though!)

4. Ctrl/Cmd+Shift+M to increase editor space is one option.

5. …It’s probably easier to just manually copy/paste for now; import/export might be a bit overkill. If you are worried about losing your code (or changing your mind when editing) you could look into a version control system like git. (That being said, it would be cool if someone hooked up user code with a backend like Github Gists.)

6. #19 #2878
Maybe just copy/paste for now? If you’re on your computer and you have multiple files (such as utils.js and main.js) one could just do cat utils.js main.js > solution.js. It’s not ideal though…


Best. Thing. Ever.

But why haven’t I heard about it earlier?

  1. Pressing pause only stops the playback, not the execution of code.

  2. I am looking for the ability to trap out an error so the code does not crash when div by zero or .isPathClear comes back as undefined. In Python standard, I believe that is done via the “try” command. “On error” is my vague recollection of a similar functionality in pascal I believe. What can I say, lots of time spent in now mostly dead languages. Very interesting to hear JavaScript version supports it!

  3. self.say will get your hero killed. It stops the hero’s actions … slowing down execution of other commands. Given the stuttering nature of it executing, sometimes I do not get to even see that. Being able to see variable values by hovering would work, but I realize that is far more of a pita to implement…

  4. Thank you!

  5. Agreed on overkill … but it would still be on my wish list. Was hoping it would be easy …

  6. I find the tab becomes very unstable right after I paste a number of functions in.