
The Organ Grinder's Monkey
Introduction
There's a carnival in town and your young son has been pestering you to go. You know that if you do, you'll spend all your money on stupid frivolous things, like candy and fairy floss. The household budget can't afford that and you have a mortgage to pay off.
On the flip side, if you don't go, your son will think you're the worst father in the world.
So, you consult the missus. She says, "If you take Tommy to the carnival, then I'll make it worth your while", and gives you a little wink. That's all the incentive you need.
"Tommy!" you shout at the top of your voice. "Get dressed, we're going to the carnival!"
Instructions
This is a traditional text adventure that was written in 6.5 hours for PunyComp 2025. The theme required the player to interact with an animal in order to complete the game. See the jam page for the competition rules.
A text adventure is a form of computer game that presents you with a story. You take on the role of the main character in the story and control that character's actions. The story has a goal and you will need to solve puzzles in order to achieve that goal. The computer tells you where you are, what you can see and what's happening around you. You can then move around, examine the things you find and manipulate those things by telling the computer what to do using simple English commands.
Commands consist of a verb phrase, optionally followed by a noun phrase. Most commands can be abbreviated to a verb followed by a noun. For example, GET THE RAINBOW-COLOURED BALLOON can be abbreviated to GET BALLOON.
If the verb is followed by a preposition, this may alter its meaning. For example, GET FOUNTAIN will attempt to pick up the fountain, but GET IN FOUNTAIN will attempt to enter it.
In some cases, the verb phrase and first noun phrase may be followed by a second noun phrase. The two noun phrases are usually separated by a preposition. For example, HIT MAN will attempt to hit the man with your hands (as you didn't specify a second noun phrase), but HIT MAN WITH FAIRY FLOSS will attempt to hit the man with the fairy floss. If you only use a verb and a noun, the game will generally tell you if it needs an extra phrase or implicitly try to deduce what is needed for the second phrase.
Don't panic! It's not as complicated as it sounds. Just use simple English sentences starting with a verb and it will all feel quite natural.
Movement
To move around, use commands like GO NORTH and GO SOUTH. You can move in any of the four cardinal compass directions. To save typing, movement commands can be abbreviated to N, S, E and W. You can sometimes use other movement commands such as CLIMB. These will be reasonably obvious when the time comes.
Examining things
Make sure you EXAMINE everything you come across, even insignificant things like scenery and objects mentioned in room descriptions, as subtle hints and clues are scattered everywhere. To save typing, EXAMINE can be abbreviated to X. For example, EXAMINE FOUNTAIN can be abbreviated to X FOUNTAIN.
If there are multiple objects in the same room that use the same adjective or noun, just use one or two extra words to distinguish between them. For example, X RED will ask you which one you mean, as there are at least two things that are red. In this case, just use X RED VEST, X RED FEZ.
You can also try your other senses when it seems appropriate, e.g. SMELL, TOUCH or LISTEN. Unlike EXAMINE, these actions aren't necessary to solve any puzzles, but may provide a little more atmosphere to the game.
Manipulating objects
Apart from examining things, most of your time will be spent manipulating objects. Use commands like GET or TAKE to pick up an object, e.g. GET COIN. Use commands like DROP or DISCARD to drop an object, e.g. DROP COIN. Use WEAR to wear something, e.g. WEAR HAT. Use REMOVE to remove something that is already worn, e.g. REMOVE HAT.
To see what you're currently carrying and wearing, use INVENTORY (or I). As you're not a pack horse, you can only carry ten items at a time.
There are many other verbs that can be used to manipulate objects. These will be fairly obvious when the time comes. Common verbs include BUY, EAT, DRINK, POINT and so on. Use PUT, PLACE or INSERT to put objects into containers or on supporters, e.g. PUT COIN IN TIN.
Communicating with characters
There are quite a few non-player characters in this game. When you first meet new characters, in addition to examining them, you should try talking to them, e.g. TALK TO TOMMY. Asking characters about things has not been implemented in this version due to lack of time.
You can also try showing things to characters and giving them things, e.g. GIVE COIN TO MONKEY. They'll probably only accept something if it's useful to them, but it never hurts to try.
Non-player characters will automatically follow you if you've befriended them, hence your son, Tommy, will always follow you.
Advanced features
You can use IT or THEM to refer to the noun used in the previous command, e.g. GET COIN, EXAMINE IT (for a singular object) or EXAMINE BALLOONS, GET THEM (for plural objects). You can also use HIM and HER to refer to male and female characters used in the previous command, e.g. EXAMINE BALLOON VENDOR, TALK TO HIM.
You can refer to multiple objects by separating the objects with AND, e.g. GET BREAD AND BUTTER. Using IT and THEM in the next command will only refer to the last of those objects, e.g. EXAMINE IT will refer to the butter.
You can use ALL to refer to all the appropriate objects with GET, DROP, WEAR and REMOVE, e.g. GET ALL to get everything in the current location, GET ALL FROM FOUNTAIN to get everything in the fountain, DROP ALL to drop everything you're holding, but not wearing, WEAR ALL to wear everything in your inventory that's wearable and REMOVE ALL to remove everything that's currently worn.
When using ALL, you can use EXCEPT or BUT to exclude some objects, e.g. DROP ALL EXCEPT WALLET.
Finally, you can enter multiple commands on the same line by separating them with a period, e.g. BUY CANDY. EAT IT.
Other commands
Use LOOK (or L) to refresh the display.
Use VERSION to get the game version. Use ABOUT or INFO to get background information and credits for the game. Use CREDITS to get the credits only.
Use SAVE to save your progress. Use RESTORE to restore a saved game.
Use UNDO to undo the last move. This is handy if you change your mind or make a mistake. You can't get killed in this game.
Use AGAIN (or G) to repeat the last command.
Use WAIT (or Z) to do nothing apart from pass the time.
Use HELP to get a brief reminder of how to play the game. Use HINT to get a generic hint. There wasn't enough time to implement context-sensitive hints, but you shouldn't need them.
Use RESTART to restart the game from the beginning. Use QUIT (or Q) to quit without restarting. (Don't use QUIT with the online version of the game, as the game will appear to be locked up. In this case, press the Back button in your browser.)
Keyboard shortcuts
Some interpreters have keyboard shortcuts. If you are using an interpreter on a computer with a conventional keyboard, most will allow you to press the up and down arrow keys to cycle through your past commands. This is handy if you want to repeat the previous command or correct a typo.
Playing the game
There are two ways to play the game:
Click the 'Run game' button (above) to play the game in a browser.
Download the z5 file and play the game using a z-code interpreter (see below).
Finding a z-code interpreter
There are a variety of z-code interpreters for all the major platforms, as well as many minor and retro platforms. There are far too many to list here. A good source of information on z-code interpreters is the IFWiki page.
The best source of downloads is probably the Interactive Fiction Archive. Navigate to infocom/interpreters for z-code interpreters and interpreters-multi for interpreters that interpret both z-code games and other formats.
Common z-code interpreters
Android: I recommend Hunky Punk from Google Play. (There are others, as well.)
iOS: I recommend Frotz from the Apple App Store. (There are others, as well.)
Linux: See the links above.
Mac: See the links above.
Windows: I recommend Windows Frotz from the infocom/interpreters link above. (There are others, as well.)
Credits
Inform 6 compiler, language and library originally written by Graham Nelson and now maintained by David Griffith, David Kinder, Andrew Plotkin et al.
PunyInform library written by Johan Berntsson and Fredrik Ramsberg based on the Inform 6 library.
ZAbbrev written by Henrik Åsman.
Parchment interpreter written by Dannii Willis et al.
Game design and coding by Garry Francis.
Testing by no one, as I didn't have time. (Sorry about that.)
The monkey in the cover image was drawn by dedMazay. The organ grinder was adapted from some clip art, but I wasn't able to find the original artist.
| Status | Released |
| Platforms | HTML5, Windows, macOS, Linux, Android |
| Rating | Rated 5.0 out of 5 stars (2 total ratings) |
| Author | Garry Francis |
| Genre | Interactive Fiction |
| Tags | inform-6, monkey, punyinform, Retro, text-adventure, Text based |
| Average session | A few minutes |
| Languages | English |
| Inputs | Keyboard |
| Content | No generative AI was used |
Download
Install instructions
Download the z5 file and play in your favourite Z-code interpreter.



Comments
Log in with itch.io to leave a comment.
A short but fun game, thank you for making it, the little monkey was a fun character.
Thanks.
A short, but cute, little adventure. Also, I always look forward to the humor you manage to put inside your games. The part about why one wouldn't want to drink the fountain's water depite it being crystal-clear cracked me up.
Thank you. It's nice to know that these little touches get noticed.
I always look forward to your creative and well-written games. Thank you.
Thank you. If you find any bugs or have any suggestions, please let me know, as I'll probably do a post-comp version.