Cargo Breach
Introduction
You wake suddenly. When you look out the porthole, you see that it's dark outside. It should be light. You must have overslept. Why didn't anyone wake you? Maybe they felt sorry for you after you got seasick during yesterday's storm.
As you rub the sleep from your eyes and glance around the cramped crew's quarters, you realise that you're alone. Where are the guys from the day shift? Why aren't they in bed? You jump out of your bunk and quickly get dressed. You then realise that everything is quiet. Too quiet. There's not even the familiar rumble of the ship's steam engine, only the rhythmic beat of the ocean waves against the hull.
Something is wrong. But what?
Instructions
This is a traditional text adventure that was written for PunyJam #4, which ran from 17 November 2023 to 17 December 2023. Under the rules of the jam, the player gets an indication that something is wrong at the start of the game or within the first five moves. 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 CABIN DOOR can be abbreviated to OPEN DOOR.
If the verb is followed by a preposition, this may alter its meaning. For example, GET CRATE will attempt to pick up the crate, but GET ON CRATE 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 CLIMB or ENTER. 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 ship. FORE means go forward towards the bow (or front) of the ship, AFT means go backwards towards the stern (or rear) of the ship, 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 BUNK can be abbreviated to X BUNK.
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 MASK. Use REMOVE to remove something that is already worn, e.g. REMOVE MASK.
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, 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, PUSH, PULL, CONNECT and so on. Use PUT, PLACE or INSERT to put objects into containers or on supporters, e.g. PUT LAMP IN LOCKER or PLACE BLANKET ON BUNK.
Communicating with characters
You will encounter a few characters in the game, but none of them are alive. Ordinarily, you would TALK to a character, but dead characters are unlikely to respond. You should still EXAMINE them and it may be worth SEARCHing them.
Advanced features
You can use IT or THEM to refer to the noun used in the previous command, e.g. EXAMINE FOOT LOCKER, OPEN IT, EXAMINE SHEETS, PUT THEM ON BUNK.
You can refer to multiple objects by separating the objects with AND, e.g. GET LAMP AND ALARM CLOCK. 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 alarm clock.
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 LOCKER to get everything from your locker, 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 LAMP.
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 version of the game.)
Use AGAIN (or G) to repeat the last command.
Use WAIT (or Z) to do nothing apart from pass the time. (Although not stated in the game, one move is equivalent to 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.
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 guide to common z-code interpreters is IFWiki. Another good source of downloads is 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
Parchment interpreter written by Dannii Willis et al.
Concept by Nicholas Mezza.
Game design and coding by Garry Francis.
Play testing by Deborah Sherwood, Jade J Aincioa, Larry Horsfield, Marco Innocenti and Wade Clarke.
Status | Released |
Platforms | HTML5, Windows, macOS, Linux, Android |
Rating | Rated 4.8 out of 5 stars (4 total ratings) |
Author | Garry Francis |
Genre | Interactive Fiction |
Tags | inform-6, parser, punyinform, Retro, steam-ship, text-adventure, Text based, World War I |
Average session | About an hour |
Languages | English |
Inputs | Keyboard |
Comments
Log in with itch.io to leave a comment.
It's crazy to see my old game reimagined haha. Stumbled across this while trying to find the old UMD projects page to send to my friend. Need to dig into it a bit more when I get a chance but its been good so far.
I wrote the original in a weekend for the class project and always kept in the back of my mind I'd go back and expand on it. Cool that you could give this the treatment it never received. :)
I'm glad you found this. It would have been great to swap notes.
For those that don't know, 'UMD' is University of Michigan-Dearborn. Did you find the projects page? I was looking for it a little while back and couldn't find it, so guess that it's been taken offline. Fortunately, I captured all the games when they were still available. Let me know if I can help you with those. The old UMD games were a lot of fun. Horribly buggy, but still a lot of fun. I admire what the students were able to achieve in just a week or two.
'Cargo Breach' is a complete redesign based on your idea for 'Dead in the Water'. A story was developed, the time period was changed to WWI and the layout of the ship was based on research into steamers used during this period. Room descriptions were rewritten and scenery was added. All the existing puzzles were changed and a number of new puzzles added. I tried to get everything to make sense within the context of the story. Despite all the changes, there are some elements that you may recognise: the captain and his coffee mug, the frozen ice on the steps, the magnet (that was really tricky to implement), the cargo container aft of cargo hold 2 (albeit with different contents) and the ultimate goal.
I hope you enjoy the rest of the game.
A neat and well-written game! I enjoyed it yelling at me for trying to examine the dead bodies. I think the only issue I had was that if you said to "jump" while on the platform, it didn't allow you to, but moving "aft" caused you to jump off the platform, something you needed to do to progress. This meant I was stuck for some time, and had to resort to a hint to figure it out.
Glad you enjoyed it. I just did a quick run through and it doesn't yell at you for examining any dead bodies. However, it does ask you to show a little more respect if you try attacking them, kissing them, waking them or anything like that. I guess that's what you're referring to.
JUMP and JUMP OFF <something> are two different actions. When you're on the platform JUMP OFF PLATFORM is ambiguous, as there is a choice of directions, so it will tell you to go aft or climb down the ladder. When on the platform, I'll consider making JUMP and JUMP OFF PLATFORM synonymous with going aft.
Thanks for the feedback.
Oh, I was using "yelling" euphemistically, haha - like that the game was saying "don't do that!" I enjoyed that. I always enjoy that attention to detail. (And wait, kiss was a verb??)
Ahh okay, that explains it. Thank you for the swift response, and for the game in general!