Adventshark

I did not seriously expect that it was possible to get scottfree running on a TRS-80 Model 1. I guess it partly demonstrates the efficiency of the Adventure International engine. Good work. Very impressive! :open_mouth:

Which TRS-80 emulator are you using?

Glad you like it!

This shot was taken using SDLTRS, but the binary should work on any of the others including TRS32 as well as, of course, a real TRS-80!

The game works, although i haven’t played it through to check for bugs. Also scottfree needs a bit more of a tidy up. There’s a lot of inefficient code in there that makes no odds for modern PCs, but a few tweaks would help these old 8 bitters a lot.

There’s also some dead code to remove, since it’d like it to fit in a 16K machine.

I’ll get it tidied up and put the lot on github for anyone interested.

Putting it on github sounds like a great idea. Who knows; maybe it could be tweaked to run on other Z80 platforms such as Sinclair ZX Spectrum (or the 16k ABC-80 which never had Adventure International games running on it before).

Or the BBC Micro :stuck_out_tongue:

It would require a C compiler that makes 6502 code for the BBC Micro as a target without too much fuss. Not sure which one would do that best. I’d like to know this as well, since I have a BBC Master 512 in the attic gathering dust.

1 Like

Sorry for delay, i’ve been away.

Here’s the github repo.

There’s a prebuilt version of adv05.dsk and adv05.cas which can be run under an emulator.

2 Likes

There’s a project on GitHub called “sagarework” that aims to make Scott Adams game files runnable on a BBC Micro (or perhaps only on a BBC Master), but I’m not sure that the code’s in a finished or usable state currently:

The same developer has also posted a game for the BBC Master on the CASA forum:

Here’s the developer’s diary:

With regard to C compilers for the BBC Micro, there’s been some discussion on the Stardot forum about two apparently different ones, but I’m not sure how usable either one of them actually is:

:grey_question:

1 Like

There were indeed two versions of the interpreter for the Beeb. The Mac Jukic version was bugged, and in adv05 (“The Count”) you couldn’t get back in through the window after climbing out meaning that the game was unwinnable. The Brian Howarth version was fine.

I wonder if it’s possible to isolate Howarth’s interpreter code and use that to run new games made using Adventshark?

Yes, I think that that’s essentially the aim of the GitHub project I linked to above. But the project seems to be incomplete. :slightly_frowning_face:

That’s my github account - the engine there is a total rewrite from the ground up that was designed to be as compact as possible so I could squeeze graphics onto a BBC Micro port. It is mostly finished and all the Brian Howarth games are playable with graphics. The basic Scott Adams games are playable without graphics (the graphics scheme on the Scott Adams games is quite disc space intensive - although I may be able to abuse the PC version of the graphics).

At the moment it will only work on a BBC Master - mainly because the BBC Master has a build in flood fill routine; although it should be possible to add a simple BBC Micro version.

I sort of shelved the project about eight years ago because i had other things to do.

It’s 3.5 KB of handcoded 6502 which is significantly smaller than either the Howard or Jukic engines. It may be possible to port to other 6502 machines (e.g. C64, Apple II); but it uses the BBC micro OS routines for text, so would need some conversion.

Anyway, I update my github to add a couple of pre-built disk images you can shift-break to load the game straight up.

4 Likes

Sample screen on BeebEm:

3 Likes

The “sagarework” project is impressive. Especially, in my eyes, the graphics part.

I haven’t spent time reading about the graphics encoding method involved, but could it be extended to work as a sort of platform independent graphics system as well, that would work with other platforms? Are there better ones?

The Scott Adams engine games suffer from so many different incompatible ways to show graphics that if I wanted to support graphics in Adventshark, I’d be forced to pick one. If so, I’d like to pick one that strikes a balance between being efficient and portable on lower spec platforms, while still being relevant for something like a modern smartphone or PC monitor.

There were several ways of doing graphics for the Scott Adams adventures:

  1. For Mysterious Adventures a simple line and fill technique was used
  2. For some of the US Scott Adams games a screen was encoded using run length encoding and usually loaded off disk (On PC, Atari, C64)
  3. For some of the UK Scott Adams games the screen was constructed of blocks and colours (On C64, Spectrum)
  4. There was a line drawn version for Scott Adams games on the Apple II and Atari. I haven’t decoded this yet

My notes can be found: http://aimemorial.if-legends.org/format.html and my code at https://github.com/tautology0/textadventuregraphics/tree/master/AdventureInternational (mostly C code, but I added a Python converter recently).

To be honest, if I was doing a version for a modern computer, I’d think about just storing the graphics as .PNGs.

@tautology Thanks, that’s what i was about to ask!

Also, has anyone got any Scott Adams graphic files (or where they can be found)?

1 Like

I have a load of them in various places on my computer; a lot I stole from the disk images from the original games. I will see what I can gather together and upload to my github.

Some of the converted ones can be found on the AI memorial page, if you go to the file format and then click on the sample image, it will download all the images in that game for that platform. Adventure International Memorial - Formats

(Apologies for the HTML on that page - I wrote the pages back in 1999 and have never updated them as I no longer have access to that server.)

2 Likes

Since i’ve been hacking adv05 “The Count” by Scott Adams, i had a go at putting the images i found under Atari RLE format through the XBR4 algorithm;

Original

Count_orig_028
Count_orig_070 Count_orig_010 Count_orig_106 Count_orig_142

XBR4






Obviously not fantastic, but better than simple resize.

Just need a de-stippler :slight_smile:

2 Likes

Great job! I’ve never seen these images before. That’s not at all how I imagined the layout of the bedroom. Is that the same algorithm you used on the Scrolls games?

It seems there are different versions of pictures for some of the games. Presumably for different machines.

These up-scalings were done using XBR4 one of several interesting Pixel-art scaling algorithms. XBR4 works quite well for originals with stipple patterns and halftoning. Yes, this is the same method we used on the Magnetic Scrolls remasters.

We’ve tried some other ideas too like AI-based rescaling, but this doesn’t work too well when the source is too pixelated. It’ll probably work well on either plain area drawings or photos.

I had a look at scott2zip from ifarchive.org. It lets you convert Scott Adams .dat format files to Inform 5.5, which in turn can be converted to Z-Machine, which in turn would make adventures created with adventshark easier to share online etc.

It needed a bit of cleanup to work with Perl 5 but i followed the instructions in the thread “errors when converting with scoot2zip with SAC” and created a github repo for it: https://github.com/pdxiv/scott2zip

Only after doing all this, did i realize that I couldn’t figure out how to compile Inform 5.5 to Z-Machine. Oh well :confused:

Anyone happen to know how big the difference is between Inform 5.5 and Inform 6, and how much work would be required if i wanted to update scott2zip to do Inform 6 instead?

http://ifarchive.org/indexes/if-archive/infocom/compilers/inform5/

Inform 6 is mostly backwards-compatible with 5 but you might run into annoyances. I think (haven’t looked for years) that scott2zip relies on the Inform parser, which changes a fair bit between releases.

2 Likes