Introduction

You are currently serving aboard the USS Ibis, the first of the US Navy's top-secret Puny class submarines. The Puny class is an attack submarine that packs maximum firepower into a minimum-sized hull. It relies on speed and stealth to surprise the enemy.

The USS Ibis is currently on a training exercise in the North Atlantic, just off the coast of Newfoundland. You were doing some routine maintenance at the aft end of the submarine when the sirens sounded. You thought this might have been a training exercise until you noticed a whitish-coloured gas approaching you from the aft bulkhead. Training and instinct took over. You couldn't get to a gas mask in time, so you dived into the nearby airlock and closed the air-tight hatch behind you.

You are now alone and have no idea what is happening throughout the rest of the sub. You can't leave the airlock through the inner hatch (the one you entered by), or you'll get gassed, and you can't leave through the outer hatch, or you'll drown. What can you do?

Instructions

This is a traditional text adventure that was written for PunyJam #3, which ran from 2-26 February 2023. Under the rules of the jam, the game had to start at or in an airlock. See the jam page for the other 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, OPEN THE BULKHEAD DOOR can be abbreviated to OPEN DOOR.

If the verb is followed by a preposition, this may alter its meaning. For example, GET CHAIR will attempt to pick up the chair, but GET ON CHAIR will attempt to climb onto 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, DIG GRAVE will attempt to dig a grave with your hands (as you didn't specify a second noun phrase), but DIG GRAVE WITH SHOVEL will attempt to dig a grave with the shovel. 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 FORE and GO AFT. You can move in any of the four nautical directions (FORE, AFT, PORT and STARBOARD), as well as UP and DOWN. To save typing, movement commands can be abbreviated to F, A, P, S, U and D. You can sometimes use other movement commands such as GET ON, STAND ON or GET OFF. These will be reasonably obvious when the time comes.

Note: In case you are not familiar with nautical directions, imagine you are facing the front of the submarine. FORE means go forward towards the bow (or front) of the sub, AFT means go backwards towards the stern (or rear) of the sub, PORT means go left and STARBOARD means go right.

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 WATCH can be abbreviated to X WATCH.

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, so don't feel obligated to use them.

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 KEY. Use commands like DROP or DISCARD to drop an object, e.g. DROP KEY. Use WEAR to wear something, e.g. WEAR WATCH. Use REMOVE to remove something that is already worn, e.g. REMOVE WATCH.

To see what you're currently carrying and wearing, use INVENTORY (or I). As you are not a pack horse, you can only carry ten items at a time, not including items that you are wearing.

There are many other verbs that can be used to manipulate objects. These will be fairly obvious when the time comes. Common verbs include OPEN, CLOSE, LOCK, UNLOCK, EAT, PUSH, PULL, CUT and so on. Use PUT, PLACE or INSERT to put objects into containers or on supporters, e.g. PUT FOOD IN FRIDGE or PLACE SOAP ON TABLE.

Communicating with characters

You will encounter a few characters in the game, not necessarily alive. When you first meet a new character that is alive, in addition to examining them, you should try talking to them, e.g. TALK TO DUTCHY. To get further information from them, try asking them about something relevant, e.g. ASK DUTCHY ABOUT GAS. You can also try showing them something or giving them something, e.g. GIVE PEAS TO DUTCHY.

Advanced features

You can use IT or THEM to refer to the noun used in the previous command, e.g. EXAMINE INNER HATCH, OPEN IT, EXAMINE INSTRUCTIONS, PUT THEM ON BUNK.

You can refer to multiple objects by separating the objects with AND, e.g. GET SCREWDRIVER AND CAN. 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 can.

You can use ALL to refer to all the appropriate objects with GET and DROP, e.g. GET ALL to get everything in the current location, GET ALL FROM TABLE to get everything on the table, DROP ALL to drop everything you're holding.

When using ALL, you can use EXCEPT or BUT to exclude some objects, e.g. DROP ALL EXCEPT KEY.

Finally, you can enter multiple commands on the same line by separating them with a period, e.g. UNLOCK DOOR. OPEN IT.

Scoring

There is no score in this game. Your objective is to...well, that will become evident as the story unfolds.

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, make a mistake or get killed. (UNDO is not available with the z3 file.)

Use AGAIN (or G) to repeat the last command.

Use WAIT (or Z) to do nothing apart from pass one minute of game time.

Use HELP to get a brief reminder of how to play the game or HINT to get a context-sensitive hint related to the current location.

Use RESTART to restart the game from the beginning. Use QUIT (or Q) to quit without restarting.

Most importantly, have fun and enjoy the game.

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 (coming soon).

  • Download the z5 file (recommended) or z3 file (for old 8-bit platforms) 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. The best source of downloads is probably the Interactive Fiction Archive. Navigate to infocom/interpreters for z-code interpreters or 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.

Parchment interpreter written by Dannii Willis et al.

Concept by Tony Longworth.

Game design and coding by Garry Francis.

Play testing by Dee Cooke, Francesco Ariis, Gianluca Girelli, Jonathan, Larry Horsfield, Max Fog and Rovarsson.

Background image adapted from a computer-generated image of Astute class submarine, source unknown.

Download

Download
submarine-sabotage.z5 67 kB
Download
submarine-sabotage.z3 64 kB

Development log

Leave a comment

Log in with itch.io to leave a comment.