Marooned

Discussion, Reviews & High-scores

Moderator: Moderators

Post Reply
User avatar
chysn
Vic 20 Scientist
Posts: 1205
Joined: Tue Oct 22, 2019 12:36 pm
Website: http://www.beigemaze.com
Location: Michigan, USA
Occupation: Software Dev Manager

Marooned

Post by chysn »

Marooned is a miniature text adventure game for unexpanded VIC-20. It's "miniature" because it's a proof-of-concept for my sub-1K interactive fiction engine VICfiction. Once the engine has been completed, I'll use it as the basis for 8K or 16K interactive fiction titles on cartridge.

Commands are of the one- or two-word "verb item" type. The basic vocabulary is

Code: Select all

GO direction or MOVE direction
GET item or TAKE item
DROP item
LOOK (for room description)
LOOK item (for item description)
INVENTORY
Shortcuts include

Code: Select all

L for LOOK
I for INVENTORY
N,S,E,W,U,D for GO

In addition to the above, any verb or item can be abbreviated using its first and last letters. 
For example, DP can be used as a shortcut for DROP.
The unexpanded game is pretty spare, with six rooms and about a dozen items. Still, it should provide a fun few minutes in honor of this month's upcoming Talk Like a Pirate Day.

I'd appreciate any feedback, and more full-featured stories are on the way!

This will be open-source, as my stuff always is. But I'll probably make the repo available with the release of the first full-size story, Anzu. At that point, VICfiction's data format will be complete.

Screen Shot 2022-09-05 at 6.55.24 PM.png
Screen Shot 2022-09-05 at 6.58.11 PM.png
Attachments
marooned.prg.zip
(2.61 KiB) Downloaded 79 times
Last edited by chysn on Thu Sep 08, 2022 8:08 pm, edited 4 times in total.
VIC-20 Projects: wAx Assembler, TRBo: Turtle RescueBot, Helix Colony, Sub Med, Trolley Problem, Dungeon of Dance, ZEPTOPOLIS, MIDI KERNAL, The Archivist, Ed for Prophet-5

WIP: MIDIcast BASIC extension

he/him/his
User avatar
Jeff-20
Denial Founder
Posts: 5759
Joined: Wed Dec 31, 1969 6:00 pm

Re: Marooned

Post by Jeff-20 »

I'm really excited to hear about this engine. I will try this very soon.
High Scores, Links, and Jeff's Basic Games page.
User avatar
huffelduff
Vic 20 Hobbyist
Posts: 115
Joined: Sat Sep 05, 2020 9:14 am

Re: Marooned

Post by huffelduff »

chysn wrote: Mon Sep 05, 2022 6:10 pm I'd appreciate any feedback, and more full-featured stories are on the way!
Hi there Chysn,

So this is the mischief you have been up to. No wonder you've been a bit quiet.
Neat, can't wait for the engine.

Greetings

H
Arrr matey.png
Arrr matey.png (7.47 KiB) Viewed 908 times
DarwinNE
Vic 20 Devotee
Posts: 231
Joined: Tue Sep 04, 2018 2:40 am
Website: http://davbucci.chez-alice.fr
Location: Grenoble - France

Re: Marooned

Post by DarwinNE »

Very nice!
I love seeing a fun little adventure game for the unexpanded VIC!
User avatar
chysn
Vic 20 Scientist
Posts: 1205
Joined: Tue Oct 22, 2019 12:36 pm
Website: http://www.beigemaze.com
Location: Michigan, USA
Occupation: Software Dev Manager

Re: Marooned

Post by chysn »

I added about 64 bytes of additional weight to the VICfiction engine. In exchange, it now has the following features:

* Six directions (including Up and Down), which actually made the engine smaller
* Item exclude condition (e.g., the sheriff won't let you into town if you're carrying a weapon)
* "Is Global" item property to skip the in-room check (e.g., SUMMON FALCON)
* Entering a room can now trigger a specified action
* A flexible timer, which can trigger a specified action

The timer is cool, and is more of a luxury. It can be configured to count up from an offset (like a clock) or down (like a bomb). Its display can be attached to any object. It can trigger any action (something big like a game loss, or something small like an item or event) at a predetermined time. The timer can also be triggered by any other action (e.g., PUSH BUTTON) during play.

(By the way, "actions" are 9-byte data structures with three kinds of conditions: If-In-Inventory, If-In-Room, and If-Not-In-Inventory. Each condition's item id can be set to 0, meaning it doesn't factor into success or failure. After the condition is evaluated, there are several kinds of results, like moving an item to the current room, replacing an item with another, replacing an invisible placeholder with something visible, moving the player to a specified room, removing an item, ending the game, etc. Actions "cascade," and additional applicable actions can have different conditions, so fairly complex behavior can be created. Each action has a "success" or "failure" message address associated with it. Items themselves have only one state, their current room id. Interaction is done by replacement and reassignment. For example, there are two Treasure Chests in Marooned, one open and one locked. When the Chest is opened with the Key, two actions are run. One replaces the locked chest with the open chest, and another moves the Rum into the room from no-room. The open Chest has no actions, which is why you can't open the Chest twice. Concepts like "open" and "locked" (or any other state) have no inherent meaning to the engine, which makes all of this pretty powerful.)

My goal isn't to reproduce every behavior possible, but to give myself a lot of design space for 16K+ games. I keep thinking of new "recipes" for behaviors I see in other adventure games.
kokkiklhs
Vic 20 Dabbler
Posts: 78
Joined: Wed Oct 21, 2020 9:23 am

Re: Marooned

Post by kokkiklhs »

Nice, thanks for sharing this cool project!!!
8)
Thumbs up, we'll be waiting for your further progress!!!
Post Reply