New retro game: "Tristam Island"

I’ve been working in the last few months on “Tristam Island”, an Infocom-style retro text adventure for the Z-Machine version 3 (using PunyInform).

Thanks to the versatility of the Z-Machine, I will be releasing it on 34 retro platforms! This includes the C64, the TI-99/4A, the Apple II, the Atari 8-bit, and many more (like the GameBoy and the Dreamcast).

The game comes out on November 20th (gotta wait after the IFComp, of course). In the meantime, you can try the free demo that I just released on itch.io (hlabrande.itch.io/tristam-island-demo); it’s about a quarter of the game, or around 90 minutes of gameplay.
If you liked the demo, the full game is also available for digital preorder at hlabrande.itch.io/tristam-island. (I promised extra digital feelies for preorders!)

I hope you enjoy the game! Let me know if you have any questions :slight_smile:

8 Likes

This is awesome. What are you using for the Z3 terp on Z80?

Can i make a trs-80 version?

2 Likes

Thank you!
There is ZXZVM for the Spectrum +3 and the CPC and PCW, which is free software; Infocom also had a CP/M interpreter that can be found online, and that can be used to play on various CP/M machines. Someone on Twitter managed to run my game this way on an Intertec Superbrain, and there’s a detailed blog post about the Osborne I here[https://www.richardloxley.com/2018/04/28/osborne-restoration-part-17-text-adventure-games/].
And yes, you’re welcome to try on a TRS-80! Would that be with Infocom’s interpreter? If so, it might run the demo, but maybe not the full game; I seem to remember that Infocom stopped supporting it at some point (1983?), which means it’s never been tested on z3 files that are the full 128kb (which the full game probably will be).
But let me know and send a picture, I’d love to see it :slight_smile:

Has anyone got a “C” Z3 interpreter? It’s going to need to be quite small to stand a chance of working.

Thanks for the link to ZXZVM; I looked at that, and it’s a bunch of Z80 assembler for the Spectrum (which is what i expected really). This would be a lot of work to get working on the TRS-80 or other Z80 system, mainly because, as you said, a number of tricks would have to be made to get it all to fit in memory.

That’s why I favour attempting a “C” interpreter conversion.

Regarding 128k, that’s probably why Infocom abandoned the idea, because for business reasons they’d want it to work on most of the TRS-80s out there, not just the top end ones (if there could be such a thing as a top-end TRS-80 !!).

I guess there’s frotz. Does anyone know what kind of memory footprint it needs. Perhaps there’s a really old version i can work with? There’s no space for any mallocs, only pre-allocated static space.

Would indeed be a challenge!

1 Like

I would think targeting Model IIIs and/or Model IVs would be reasonable.

I still have a couple of operational Model 100s. They support MS Basic and assembler but are quite constrained.

@fos1 Yes, it might be only the M4 has enough memory.

Certainly that would be the plan at first.

1 Like

You can get Infocom’s interpreter from one of their releases (http://www.classiccmp.org/cpmarchives/trs80/mirrors/pilot.ucdavis.edu/davidk/trs80/software/disk_game.htm) and combine it with my file, too. I’d take the one from Cutthroats, since it’s one of the last releases and the largest story file (112000 bytes). And fingers crossed for the full release :smiley:

I tried that, but couldn’t get it to work.

Here’s what i did;

took CTHROATS.DSK and replaced CUTTHROA/DAT with your Z3 file and renamed it as CUTTHROA/DAT

But it did’t work. Do i need a SAV file for the initial setup? or is a Z3 not the same as the DAT file?

The .DAT and the .z3 should be more-or-less the same, but I’d recommend inspecting CUTTHROA/DAT to see if it’s been padded at the end in some way to reach that nice round file size. I’m pretty sure some of the original interpreters liked that kind of thing.

2 Likes

Oh yeah, that’s a good idea. If you’re working with the version on the webpage above, compare your .DAT with this file ; if it’s not exactly the same, then that means there’s a special thing to do for the TRS-80.

I imagine that if I padded my game with 0s so it reached the exact size of CUTTHROA/DAT, it still wouldn’t work because the header of the Z-Machine (length and checksum) would not match? Or would it just overwrite CUTTHROA/DAT fully, then the length in the header would tell the terp when to stop looking, and the checksum computed over that length would still match?

1 Like

Infocom’s interpreters didn’t check the checksum unless specifically requested (ie with the $VERIFY command, in games that supported it). At least, I don’t think they did on the 8-bit machines – it was a slow operation, after all.

I don’t know what the requirements were for the length field.

1 Like

OK,

your Z3 Cutthroats 112558 was not padded, the version on the disk was, at 112640. But, it turned out also your tristam.z3 is already padded, at 56320. Whether the padding is 256 or 512 not sure. Probably only 256 is ok.

So the padding wasn’t the problem;

The problem was, i was taking the cthroats.dsk disk image and replacing cutthtroa/dat with your Z3, suitably renamed.

But;

The original Infocom disk is bootable, so it must have some hidden stuff on it. What i had to do is take a virtual blank disk image and put onto it:

  • cutthroa/cmd
  • cutthroa/dat

Then boot into DOS with the new disk as a second drive. Then i can run the game

so;

to try;

unzip
see go.bat
at the prompt type: CUTTHROA

trs80.zip (1.2 MB)

1 Like

Ho ho! Even better.

Looks like the Infocom interpreter used its own name to determine the game. Nice!

so;

unzip
go.bat
at the prompt: TRISTAM

:slight_smile:

trs80.zip (1.2 MB)

1 Like

Congratulations, that is a great demo! :+1:

I put a review on IFDB: Review

I mention a single issue. It isn’t critical but it can make the player get stuck, because an action only works under some circumstances and if the circumstances are not met, a misleading response is given. Still, a very good demo. I look forward to the full game! :slightly_smiling_face:

2 Likes

@jkj_yuio that’s awesome! Thanks for the explanation and for the file; I will link to it in the future! Enjoy the game :smiley:
@Denk thank you so much for posting the review! It’s great and I hope it’ll make even more people interested in the game. I’m glad you enjoyed it, and I’ll do my best to earn that 5th star :wink:

1 Like