It is currently Mon Oct 20, 2014 5:43 pm

All times are UTC [ DST ]




Post new topic Reply to topic  [ 35 posts ]  Go to page Previous  1, 2
Author Message
PostPosted: Sun Dec 05, 2010 9:28 pm 
Offline
 Profile

Joined: Sat Sep 04, 2010 5:28 pm
Posts: 92
It was for feedback on the screen layout. I'm in agreement with you - I always thought that the text should be the important thing and graphics should be complimentary (unlike, say Sorcerer of Claymorgue Castle on the Atari - where there's 4 lines for all text)!


Top
 
PostPosted: Wed Dec 08, 2010 9:40 pm 
Offline
 Profile

Joined: Sun May 02, 2010 2:07 pm
Posts: 42
Just found this article that talks about the text compression used in Colossal Cave.

http://myweb.tiscali.co.uk/themicrouser/adventures/01-12.htm


Top
 
PostPosted: Mon Dec 13, 2010 4:22 pm 
Offline
 Profile

Joined: Sat Sep 04, 2010 5:28 pm
Posts: 92
Yeah I had a dig through the source code for the level 9 interpreter and it does seem to be a trigram dictionary encoder. I did initially try this and got mixed results. I think I need to re-evaluated the text encoding, and maybe customise it a bit more for the SAGA style of games. So far I've seen the following types in "the wild":
  • Digram replacement (used in BBC Quill and my project for the moment)
  • Trigram replacement (Level 9)
  • Dictionary replacement (Robico and Acornsoft)
  • Munge 1 byte into 5 bits (Infocom)
  • Recursive digrams (From the link supplied by RichTW)

I've still got to balance code size and dictionary size against the decompressed size. Which is why I went the digram route: I get about 60% compression and a dictionary size of 254 bytes. If I increase the dictionary size I ought to be careful that I get a similar decrease in string size. Again, if the code to decompress takes an extra page, then I need to make sure I can compress more than a page from the data.


Top
 
PostPosted: Sun Feb 13, 2011 1:17 pm 
Offline
 Profile

Joined: Sat Sep 04, 2010 5:28 pm
Posts: 92
I've updated the project page to be similar to the one for Onslaught as the wiki software is telling me it's too big!

Not much to report except that it's now using text windows and some more bugs are fixed.

I'm going to port Lone Survivor across to this format and do a point release for that game only, as it should be playable now and it was never released on any Acorn platform. (I've got to revisit my SAGA ripping code, which I wrote in 1994 to do this!)


Top
 
PostPosted: Sun Feb 13, 2011 2:23 pm 
Offline
Site Admin
User avatar
 Profile

Joined: Wed Dec 19, 2007 10:46 pm
Posts: 779
If you've done that much work on it, perhaps that's also a reminder for me to ask if you want to add this to the WIP page and give you a forum of your own ... seems to me like you've made quite a bit of progress, so it seems a shame not to let ppl find it without trawling through the forums. :) Your choice, of course.

Nice to read the latest update - I think bringing Lone Survivor to the platform is a great idea - the same ethos we started the Z-Machine Interpreter with.

Good to hear you're keeping the momentum going in the new year. :lol:

Sam.


Top
 
PostPosted: Mon Feb 14, 2011 6:32 pm 
Offline
 Profile

Joined: Sat Sep 04, 2010 5:28 pm
Posts: 92
I got some programming time yesterday - though most of it was spent rewriting my code to extract the data file. So I suppose it's time to do a beta release.

Attached is the port of Lone Survivor; I've played through to the end (using the solution on CASA) and it works (though there are a couple of bugs in Gunness's solution).

The zip file contains a bootable .ssd file with a the freeware retro software loader, the data file ($.LS) and the engine ($.ENGINE). It also contains the raw .dat file if you want to play it with ScottFree.

I suppose we should make a proper project page for it on the wiki (linking to the diary). The eventual plan with be a full source code release, once the engine works with the majority of games!


Attachments:
Lone Survivor.zip [13.47 KiB]
Downloaded 12 times
Top
 
PostPosted: Mon Feb 14, 2011 9:28 pm 
Offline
User avatar
 Profile

Joined: Mon Jan 07, 2008 6:46 pm
Posts: 380
Location: Málaga, Spain
Oh dear, I can't get out the first room. Never my strong point, text adventures... Nevertheless I'm going to persevere...


Top
 
PostPosted: Mon Feb 14, 2011 10:37 pm 
Offline
 Profile

Joined: Sat Sep 04, 2010 5:28 pm
Posts: 92
I'll admit that it isn't the best one - I mainly chose it because it was never released on the Beeb.

To leave the bed, you need to get rid of the canopy, use your other senses to find something; then you need to do what you do to leave a bed.

As its a SAGA game everything will be verb noun; so don't try extra words as they won't work :-)


Top
 
PostPosted: Tue Feb 15, 2011 9:05 am 
Offline
User avatar
 Profile

Joined: Mon Jan 07, 2008 6:46 pm
Posts: 380
Location: Málaga, Spain
Thanks for the hints! Got there in the end (and now I'm stuck again...). I find the descriptions somewhat sparse in this adventure though - not much a picture being painted there!

Still, it's great to see that it actually all works!! How are you compressing the text in the end? What kind of % compression do you get?


Top
 
PostPosted: Tue Feb 15, 2011 10:20 am 
Offline
 Profile

Joined: Sat Sep 04, 2010 5:28 pm
Posts: 92
The compression I got for the various bits are:
Code:
Header: 56 -> 11
Actions: 3056 -> 1818
Words: 1050 -> 840
Rooms: 902 -> 543
Messages: 1944 -> 1439
Objects: 1514 -> 1034

Where the first number is the raw data size and the second is the compressed. Add 254 bytes for the text compression table leads to the final compressed size which is: 8522 -> 5939. So around 2K saved.

I can probably squeeze some more out of it, especially with the text itself (which is covered in rooms, messages and objects). Unfortunately the terseness of the text works against me here!


Top
 
PostPosted: Fri Feb 18, 2011 1:21 pm 
Offline
 Profile

Joined: Sat Sep 04, 2010 5:28 pm
Posts: 92
Finally, we have a Master version with graphics and text:
Attachment:
sagagraphics.png [4.51 KiB]
Downloaded 89 times

I wanted to get out a proof of concept, so I've drawn the graphics full size.

There are some differences between these graphics and those on the Spectrum/Commodore:
  • No colour artifacts between attribute blocks :-)
  • Visible distinctions between fill blocks - on the Speccy and C64 these disappear due to artifacting; so the BBC version looks better!
  • Paper and Ink colours have been locked to 0 and 7 (black and white). This is to stop the text screen background changing and may be changed later.
This isn't the final release, just to get something out!

At the moment it's reading both the data, graphics and code from memory so I'm abusing shadow memory, &E00 DFS and also I'm using the Master's line fill plot command; so it will only work on a Master at the moment.

Memory sizes (for The Golden Baton) are:
  • Code: &DC7 bytes (Just under 3.5KB)
  • Data: &11E8 bytes (Just under 4.5KB)
  • Graphics: &3161 bytes (Just over 12 KB)
Over the weekend I'll update the diary as I did use some compression on the graphics.


Top
 
PostPosted: Tue Jun 07, 2011 11:07 pm 
Offline
 Profile

Joined: Sat Sep 04, 2010 5:28 pm
Posts: 92
The project hasn't gone dead - just other things have distracted me from it (and I got bored).

But in recent days I tested all of the Mysterious Adventure games and they all work with the exception of Time Machine, where the graphics get corrupted as they're too large to fit into memory, even with shadow memory! This was made easy by the last update to BeebASM allowing me to place multiple files on the discs.

Steps to move to a final release:
  • Get SCORE working
  • Load graphics from disc (so Time Machine will work and it'll work from a bog standard Beeb)
  • Allow a way of allowing loading without graphics (so games like last survivor will work)
  • Testing, testing and more testing
  • Fix outstanding bugs
  • Shrink code if possible
  • Allow support for bitmaps/RLE encoded graphics

For the graphics, I plan to use vectors, at the moment the graphics code looks like:
Code:
.doroom        ; graphics
               lda redrawg
               beq nogfx
               lda locastore
               jsr drawscr
               lda #0
               sta redrawg
.nogfx         lda locastore
               jsr findroom
So the jsr drawscr will be replaced with jmp (graphv). I'll also need another vector, or a memory location to manipulate the text/graphic windows an force mode 7 if there are no graphics.


Top
 
PostPosted: Tue Jun 07, 2011 11:59 pm 
Offline
Site Admin
User avatar
 Profile

Joined: Wed Dec 19, 2007 10:46 pm
Posts: 779
I'm really getting keen to see this ... and I've never been a huge fan of Scott Adams games before. :lol:

I remember being driven up the wall just trying to get Bruce Banner out of that damned chair in the opening location!

Sam.


Top
 
PostPosted: Wed Jun 08, 2011 9:03 am 
Offline
 Profile

Joined: Sat Sep 04, 2010 5:28 pm
Posts: 92
As a taster, I've attached a disc containing the alpha Master only version of the engine with 10 Little Indians, Perseus and Andromeda and Waxworks. (9, 10 and 11 of the MA series.)

There's no fancy loader or anything at the moment, to run a game do:
Code:
*load g.file
*load l.file
*engine

(G.FILE is the game data file; L.FILE is the line drawn graphics).

Warning: here be bugs!


Attachments:
saga.zip [43.39 KiB]
Downloaded 13 times
Top
 
PostPosted: Wed Jun 08, 2011 5:39 pm 
Offline
Site Admin
User avatar
 Profile

Joined: Wed Dec 19, 2007 10:41 pm
Posts: 373
Very impressive Alpha version! 8-)

It's ace to see these text-only affairs being revisited/spruced up almost 30 years later.

Anyway, good luck with the bug-squashing ... this is one heck of a worthwhile project, and I can't wait to see the final disc image when complete!

If there's room on the disc, perhaps it's worth asking DaveE whether you could use the Mode 2 loading screens he created (see below) as they'd be ideal for a menu structure, whereby you cycle through each image (using left/right arrow keys) to pick the game you want to play.

Image Image

Image Image


Top
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 35 posts ]  Go to page Previous  1, 2

All times are UTC [ DST ]


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron