MonkeyVM by abvadabra

[raw]
made by abvadabra for Ludum Dare 47 (JAM)

ezgif.com-gif-maker (1).gif

What could a team of three programmers make for a game jam with a theme Stuck in a Loop? Of course a coding puzzle about while loop!

Taking inspiration from such classics as TIS-100 and Shenzhen IO, we tried to make game which looks and feels in a same aesthetically pleasing way, and added something new to it.

The main idea is pretty simple - you have plain while-loop which ends when game character reaches the exit. Your goal is to write code which will take him to that exit.

Each level has a set of available low level instructions and a memory limit, each instruction takes 1 B in memory. Instructions are added by drag&dropping them into the code, or by simple clicking on them. You can use right mouse button to delete instructions from code.

Play online on Itch.io

monkey-vm-title-levels.png

Turns out that designing levels for such a simple mechanic can be quite a fun challenge! Over the course of three days we managed to create 16 playable levels. With a help of simple text based level editor we can make twice as much in the future.

Besides, we invite you to try making levels yourself!

Adding custom levels

Custom levels are supported only in the desktop version of the game.

To get started, copy-paste the example below to a separate .txt file in CustomLevels directory. The level will be available from main menu. Your level will be reloaded from file each time you open it.

The format is pretty self-explanatory, but you have to follow it strictly.

  • Use 'O' for empty tiles, '#' for wall tiles, 'E' for exit tile
  • PlayerPos and StarPos are specified like this: (row number starting from 0) (column number starting from 0)
  • Full list of instructions: MoveForward MoveBackward MoveLeft MoveRight PlaceWall TurnLeft TurnRight Turn180 Flip

YourName-01.txt ``` Name YourName-01 MaxInstructions 8 AllowedInstructions MoveForward MoveBackward MoveLeft MoveRight PlaceWall ScoreConditionInstructions 6 ScoreConditionInstructions 5 ScoreConditionStar 1 PlayerPos 7 0 StarPos 6 6 DefaultCodeComment // This crystal is so lonely

OOOOOOOO O#OOOOOO O#OOOOOO O#OOOOOO O#OOOOOO O#OOOOOO O#OOOOOO O#EOOOOO ```

If you will publish your level anywhere - please include your nickname in the title of a file.

We hope you'll enjoy our game!

Play online on Itch.io

Credits

Music is by Anonymous420, in public domain.

Ratings

Overall 33th 4.289⭐ 73🧑‍⚖️
Fun 52th 4.164⭐ 72🧑‍⚖️
Innovation 154th 3.972⭐ 73🧑‍⚖️
Theme 25th 4.472⭐ 73🧑‍⚖️
Graphics 149th 4.324⭐ 73🧑‍⚖️
Humor 763th 2.75⭐ 18🧑‍⚖️
Mood 313th 3.86⭐ 70🧑‍⚖️
Given 32🗳️ 30🗨️

Feedback

Lenophie
05. Oct 2020 · 21:39 UTC
so fun, polished and good looking, congrats <3
Simpl
05. Oct 2020 · 21:42 UTC
wow, awesome game, guys! gj
Rhythm
05. Oct 2020 · 21:46 UTC
This game is so cool.
Baran
05. Oct 2020 · 21:56 UTC
It is really polished! From sounds to game play and graphics!!
130N35
05. Oct 2020 · 22:43 UTC
Great art and it really has that Zachtronics vibe ! Well done
azsteak
05. Oct 2020 · 22:47 UTC
Amazing art ! I love the mood of it, and the theme is on point!
spikedog
05. Oct 2020 · 23:21 UTC
The graphics are really impressive! Nice work!
LelulaGames
06. Oct 2020 · 01:35 UTC
I would love a sound slider, but otherwise this was a great game. good graphics, nice and glowy, and the music suited the game. Really challenging, but easy to understand.
YoungBlade
06. Oct 2020 · 01:40 UTC
Great aesthetics, interesting puzzles, fitting with the theme. Overall, a really solid entry. Thanks for sharing it with us on stream!
ytrewq
06. Oct 2020 · 01:48 UTC
Very polished, puzzles are just challenging enough, really good man
lectvs
06. Oct 2020 · 03:17 UTC
This is a top-tier programming game - and it's so polished I could honestly see it being a full-release game with just some more levels! The puzzles were engaging and didn't feel random - I felt like my planning and strategy actually paid off. Had to play the rest of it after I finished my stream. My favorite level is 3-4, where I just popped in a few commands and watched my dude run around the whole level until somehow reaching the goal. Also, I noticed there are two level 4-2s :)
Raz3LL
06. Oct 2020 · 12:44 UTC
This game is fun !! Have a great time to play it, and try to find the best way to get the 3 stars !
Artyom Volkov
06. Oct 2020 · 15:56 UTC
A lovely game about programming with excellent visuals. Nice work.
walpolea
06. Oct 2020 · 15:57 UTC
Great game, as a dev, I really enjoyed it!
Sven Lowry
06. Oct 2020 · 16:07 UTC
Great graphics, fun gameplay. Enjoyed it alot!
Wendel Scardua
06. Oct 2020 · 16:17 UTC
I loved both the puzzle and the aesthetics - and it reminds me that I still haven't played Shenzhen IO
🎤 abvadabra
06. Oct 2020 · 16:20 UTC
@tricky-fat-cat nice to see a familiar face, thanks!
Bauke Regnerus
06. Oct 2020 · 16:22 UTC
The simplest of puzzles are most time the best. The visuals are minimal but with enough flare. I dig it!
sepee67
06. Oct 2020 · 16:42 UTC
very interesting mechanic, more challenging than i expected, i found the wall placing a bit confusing though. overall very nice effort.
Mekuri
06. Oct 2020 · 16:50 UTC
What a fun game. Got me going for quite a while. Some interesting puzzles, especially once you get to place the walls things gets interesting. Well done on getting so much done in so little time. I didn't get to try out the custom map feature, but maybe I'll get back to that later- Seems very interesting!
Thanks for sharing and good job :-)
Jake Marks
06. Oct 2020 · 17:13 UTC
This game has BIG MOOD. It is very satisfying and quick to pick up and play. Great entry! Played it on my stream, here's the VOD: https://www.twitch.tv/videos/762084579
🎤 abvadabra
06. Oct 2020 · 17:28 UTC
@jake-marks Thanks for streaming our game, that was awesome!
SharkWithLasers
06. Oct 2020 · 19:00 UTC
Great Zach-like! Who knew that while loops could be so hard to debug? (perhaps I don't have what it takes to be a programmer :sweat_smile: :sweat_smile: ).

This was a lovely showcase of simple mechanics, and the polish in this game was awesome (from UI, to VFX, to audio). It even stored my save file hahah.
Sarah Shigley
06. Oct 2020 · 21:03 UTC
Great game. Had to put my puzzle hat on for this XD. I really liked the use of theme with the layout and design.
Odyze
06. Oct 2020 · 21:39 UTC
Holy Cow, this is awesome <3 Live the style, love The Pace and the possibilities are infinite :)
Skyeward
06. Oct 2020 · 22:16 UTC
Fantastic game, I always love to see a well-executed puzzle game during LD, I think it's one of the hardest genres to make in such a short time-crunch. Puzzle design and insanely limited time do not go together well. Glad to find this game early in this LD, we've started strong!

The stream VOD can be found here: https://www.twitch.tv/videos/762553836?t=00h06m00s
🎤 abvadabra
06. Oct 2020 · 22:18 UTC
@skyeward I loved how you played it on stream, thank you!
PROJECTaroid
06. Oct 2020 · 22:52 UTC
Great game. The art, audio, and game play are really good. The game fits the jam's theme very well and feels really polished. Nice work.
almost
07. Oct 2020 · 05:24 UTC
Completed!
I struggled on 3-4, but I eventually just focused on getting out of the start and it worked :D
2-4 I am missing a star, but I got 3 stars for every other level.
The game is fun, though sometimes it is confusing to think about what will happen, so trial and error or brute force (within reason - for example I can be sure that I need a certain set of commands but not sure of the order)

The visual polish was great too, which made it fun to watch triangle man fly around
exopunk
07. Oct 2020 · 13:54 UTC
Really fun puzzle game, the puzzles are very well executed and the overall game is very polished, awesome work!
Arad HamidSamiee
07. Oct 2020 · 16:14 UTC
Brain twisting, loved the style and noise/grain, bloom and curvature shaders. It got really hard tho :thumbsup:
Tino
08. Oct 2020 · 10:06 UTC
Just amazing. I'll continue the levels later got to 2-3 (skipped the 1-4, anyone succeeded?).
Just to make my comment useful I will say maybe try to make the instructions ordering with the mouse more comfortable. But everything is well done, that's good grades in all categories. Impressive.
Arthurds
08. Oct 2020 · 13:40 UTC
You really did make everything work on this, gameplay is fun and works, puzzles are thought but fair, graphics are awesome and the level editor is the cherry on top. Great game and great entry! Thanks for submitting it! - PomoTheDog
Corbak
08. Oct 2020 · 15:03 UTC
really cool game! Loved the aesthetic and the design. Really nice and polished. Well done! :)
Vivien Fargette
08. Oct 2020 · 15:32 UTC
GIVE ME THE SOLUTION FOR 3-4 :'( otherwise really great: puzzle are well designed and mechanics easy to understand. Letting the user know that you can delete a single instruction with right click might have saved me a lot of time instead of resetting every time but I am being picky. Congrats on this game, can't wait for more puzzles :p
panoramix360
08. Oct 2020 · 15:35 UTC
Really cool game! interesting concept!
ZnW
08. Oct 2020 · 15:37 UTC
@vivien-fargette try to go for the most simple solution to get out of the start in this one, eventually it should click :)
Vivien Fargette
08. Oct 2020 · 15:46 UTC
@znw Thank you so much!! It was the only one I was missing :p once again congrats on your great job
X_Pilot
08. Oct 2020 · 17:13 UTC
As a programmer I really enjoyed this game! I can imagine it being a tad confusing for non-programmers, but I can see this being very useful for teaching people how code logic works! Well done!
🎤 abvadabra
08. Oct 2020 · 18:13 UTC
@arthurds your stream was rad, had a blast watching you solving puzzles, thank you!
marcusnystrand
08. Oct 2020 · 18:41 UTC
I thought it was gonna be super hard since it is about code, but it was actually on a perfect level. Starting out easy and increasing in difficulty.

Overall it feels well polished; graphics are suiting, audio is on point and gameplay feels tight!

Congratulations on a clever execution on the theme :)

Well done!
MikoziQ
08. Oct 2020 · 21:34 UTC
The game is a gem on it's own, it was a pleasure of mine to stream it live and try some of the levels. I will keep it on my disk! Please make it on Switch or other platform as well!
SpawnCampGames
09. Oct 2020 · 05:05 UTC
Such a great game! I watched a streamer play so I know most of the solutions but I found out it has a level editor? Gonna totally check that out.. The Step function is such a neat function. I guess it's almost essential actually. Solid game man!
Earlybard
09. Oct 2020 · 07:44 UTC
Cool spin on TIS-100 - I'm going to get sucked in and I don't like it!
Quackqack
09. Oct 2020 · 07:52 UTC
Good level design and great idea.

Also a fan of Zachtronics games and you nailed the theming and simplicity.
ZnW
09. Oct 2020 · 11:25 UTC
@mikoziq it was very nice to talk to you and your chat on stream, many thanks for streaming our game live!
MS ANNOTATION X
09. Oct 2020 · 15:21 UTC
**Very challenging puzzle game! Well polished!**


**Here is my feedback:**


**What I liked?**
- Nice music.
- I liked the level selection.
- Nice console.
- I liked the visuals.
- Excellent level design.
- I enjoyed the mechanics and the gameplay of the game.


---


**What I disliked?**
- Didn't like it when it shows "..." when you remove the instructions, instead of nothing.


**To fix:**
- When you drag a method by mouse to the while loop, moving it doesn't feel right. [1]
- After finishing a level, the "Next Level" button navigation is not set to none.
- Maybe, I should able to replace an instruction, after placing a new one over it.
- If the highlighted instructions is the current instruction, so, it is incorrect, but if it is for showing what will be played next, so, it is correct.


---


**Suggestion:**
- Add a main menu.
- Maybe give runtime errors.
- Maybe, show until the player tries to edit.
- Maybe give feedback, by SFX.
- Maybe if I tried to edit the console at runtime, highlight the instruction with red then unhighlight it.


---


Endnotes:


[1]


![2020-10-09 17_16_41-MonkeyVM.png](///raw/28a/33/z/39d23.png)
invader
09. Oct 2020 · 15:44 UTC
Nice puzzle game. And I like your creative take on the theme. Good job!

As for the improvements, I feel the UI can be improved a bit. Drag and drop worked weird for me - sometimes the cursor ends up way out of the game area, but the text is hardly moved. It is like drag&drop just skips 80% of mouse move events (I'm running a web version on Chrome/macOS).
Drop also lacks consistency - sometimes it works fine and sometimes it just rejects for no obvious reason - I feel like I've dropped in the code area and I still has memory slots available. Some additional feedback on the drop area would be nice and will remove that ambiguity (maybe highlight the text when the mouse is over the drop area just to show that the drop is allowed there).
JUSTCAMH
10. Oct 2020 · 14:25 UTC
Heyo, I played your game on stream! Here's the vod if you wanna rewatch; https://www.twitch.tv/videos/765804766

Thanks for submitting your game!
ColeSlaughter
10. Oct 2020 · 20:41 UTC
[Y'all really bent my brain with this one](https://www.twitch.tv/videos/765835341?t=00h37m44s)

I have to say, this game is really sharp-lookin! And it's super impressive that y'all were able to make so many levels. Cheers to your team for finding a way to genericize the process to maximize your efficiency!

I *do* think that the difficulty ramps up a bit fast, but I generally don't fault that in a jam game since you don't really have time to playtest.

Regardless, this one gives you a lotta satisfaction when you solve a puzzle, and I love it. :)
Angela He
10. Oct 2020 · 22:59 UTC
I think this is hands down my favorite entry. Not only is the idea incredibly smart, but the execution is so well-done; I'm surprised at the amount of levels and visual/audio polish that was put into this game. My friend and I spent quite a bit of time pondering over each level. Super fun! Thanks for a fantastic entry!
rodobodolfo
11. Oct 2020 · 04:09 UTC
Wow! Great game!!! I love the art style
elysiagriffin
11. Oct 2020 · 20:56 UTC
Thanks for submitting your game for me to play on my livestream!

If you’d like to rewatch the playthrough, you can find it here:

https://www.twitch.tv/videos/767497194?t=4h47m22s

Good luck on your ratings, see you next LD! :D

💜 Elysia Griffin AKA Button Feedback Lady

https://www.twitch.tv/elysiagriffin
Jvdwijk
12. Oct 2020 · 00:45 UTC
This was really well done! The level design was nicely balanced and has been alot of time into! it would be cool to see stuff like if-statements into the game!
josephdevelops
12. Oct 2020 · 01:18 UTC
Great game. I with I was a smarter person.

https://www.twitch.tv/josephdevelops
coderTrevor
13. Oct 2020 · 06:22 UTC
Ha, you're really wearing the Zachtronics influence on you sleeves. :laughing:
As far as I'm concerned, this game doesn't lose any points from any of the categories you opted into. It's just freakin' awesome! You could definitely expand this and put it on Steam. I probably wouldn't be upset if I dropped a couple of bucks on it in its current state. I really hope you keep working on it so I can play more. Awesome job!!
pee-thief
13. Oct 2020 · 23:44 UTC
I am a big dum dum
Jenny Bourke
14. Oct 2020 · 00:59 UTC
Super fun game, wish we were better at it!!
ursagames
14. Oct 2020 · 05:09 UTC
Your game was played on my stream ( https://www.twitch.tv/ursagames/videos ) on 10/13. Thank you for sharing your game with us! You can find the timestamp of when your game was played here: https://tinyurl.com/yy4oycvv
The queue was empty, so I moved on to the games marked "only play when present"
ZnW
14. Oct 2020 · 12:43 UTC
@ursagames this stream was FIRE! You even solved 2-3 with a most optimal solution known and got a crystal :O
Majadroid
14. Oct 2020 · 19:25 UTC
Great game, so "simple", but fun to play. I also liked the visual style.
ProdigalSon
19. Oct 2020 · 14:08 UTC
Very clever and I love the "stuck in a while loop" interpretation of the theme (being a programmer myself I enjoy that kind of thinking). I know that ya'll explained the inspirations for the aesthetics but I kept getting vibes of Metal Gear Solid VR Missions instead. :D Unique and enjoyable. Nicely done :D
Trexxak
23. Oct 2020 · 22:03 UTC
So... I'm very bad at these kind of games and I'm extremely new to programming, as such I couldn't really appreciate the game to its full extent I feel. But what I can say is that the visual style you went for looks distinctively slick and captivating!