Mission: Programmable by Jezzamon
Mission: Programmable is a game that teaches you programming!

Play here! (Web)
PS: Make sure you see the ending of the game, there's something fun there for you :)
- Play a game entirely through the browser developer console.
- Receive mysterious instructions from an entity that identifies themselves as 👑Agent KB
- Learn to call functions and write loops in JavaScript!
- See the surprise ending?
- Have fun!
How to play
To play this game, you'll need to open the developer console. On most browsers, you can do that right clicking on this game, choosing "inspect" or "inspect element", and then choosing the "console" tab. This website has detailed instructions for different browsers.
Functions
moveRight()moves the robot 1 tile to the rightmoveRight(5)moves the robot 5 tiles to the right (you can also use any other number)moveLeft()moves the robot 1 tile to the leftmoveLeft(5)moves the robot 5 tile to the left (you can also use any other number)jump()jumps onceopen()is used just once for a special purpose :)mute()toggles the sound and musicrestart()restarts the levelnextLevel()skips to the next levelskipToEnd()skips to the last level
Want some hints?
I'll put together some hints and solutions to each level soon. Stay tuned!
| Link | https://jezzamon.com/mission-programmable |
| Link | https://github.com/Jezzamonn/LD53 |
| Original URL | https://ldjam.com/events/ludum-dare/53/mission-programmable |
Ratings
| Overall | 38th | 4.074⭐ | 29🧑⚖️ |
| Fun | 84th | 3.833⭐ | 29🧑⚖️ |
| Innovation | 3th | 4.538⭐ | 28🧑⚖️ |
| Theme | 319th | 3.365⭐ | 28🧑⚖️ |
| Graphics | 133th | 3.808⭐ | 28🧑⚖️ |
| Audio | 89th | 3.7⭐ | 27🧑⚖️ |
| Humor | 62th | 3.68⭐ | 27🧑⚖️ |
| Mood | 93th | 3.731⭐ | 28🧑⚖️ |
| Given | 12🗳️ | 14🗨️ |
I wont repeat the feedback I gave on discord again, but a tiny other thing was that for a short while I was a little unsure about how to accomplish the end goal on the last level, but since it was the only option more or less, it wasn't much of a problem.

When restarting, I get a bunch of Unknown Color errors, which I presume is corrupting the levels

It would be nice to have some more possible actions and a stipulation that you can only run your code once, a bit like chu chu rocket where you have to commit up front to the whole sequence. being able to just still type things on by one just makes it theoretically a very, very slow platformer, so being able to adjust on the fly past the point where it teaches you you can do multiple things in one run, kinda detracts from it. The patrols could've been more like.. you have to up front tell it to wait for x seconds e.g. because you've trial and error figured out how long they patrol for and whatnot
but overall, very innovative, not seen this before, it's nice, it's neat, it's a jezzamon classic
On the other hand you tricked me into doing my job out of hours.
i wasn't aware "programming games" was a thing, and i found it very interesting and absolutely original and crazy to play within the inspector console! 5/5 innovation for sure!
i really liked the animations and the overall sprites art!
also i tried it first on chrome 113 for mac and it didn't work, so i went to firefox and it was flawless. i wanted to send you a screenshot of the error i got on chrome, but when i tried it again, it worked so idk :shrug:
But in-console input loops code is not so comfort and, in my opinion, better if you create some syntax sugar around it (for example: ` for 3 times: jump(), moveRight() `...some like Python on-liners).
Btw, great work and cool expirience!
I could only wish for more things to do.
Other than that was a very neat game. Graphics and concept were great! Have fun out there!
My playthrough
```
ml = x => moveLeft(x); mr = x => moveRight(x); j = () => jump()
w = t => new Promise(x => setTimeout(x, t * 1000))
r = (t, f) => { for (let i = 0; i < t; i++) f() }
(async () => {
/* Level 1 */ mr(2); await w(.75)
/* Level 2 */ mr(5); await w(1.5)
/* Level 3 */ ml(3); await w(1)
/* Level 4 */ mr(3); j(); mr(3); await w(2)
/* Level 5 (Hacky) */ mr(1); ml(-4); mr(2); await w(1.5)
/* Level 6 */ r(4, () => j()); await w(1.5)
/* Level 7 */ r(4, () => { mr(2); j() }); await w(3.5)
/* Level 8 (Hacky) */ ml(3); r(3, () => j()); ml(-3); await w(2)
/* Level 9 */ r(3, () => { r(4, () => j()); mr(4) }); await w(6.5)
/* Level 10 */ r(3, () => { r(3, () => j()); ml(4) }); await w(5.5)
/* Level 11 */ mr(2); j(); mr(2); open(); await w(2)
/* Bonus */ for (;;) { mr(7); ml(5); j(); ml(9); mr(6); j(); mr(2); await w(7); }
})()
```