Text/Graphic adventures

Discuss the games, programs, utilities... and vaporware!
User avatar
carlsson
Posts: 505
Joined: Fri Jun 13, 2008 7:39 am
Location: Västerås, Sweden

Text/Graphic adventures

Post by carlsson » Wed Mar 20, 2013 3:49 pm

Has anyone seen something resembling a text adventure? I saw there is a Basic program to generate your own story, it might be the closest thing archived.

Is it a desirable genre to explore, utilizing the keyboard of the computer? For a game without graphics, I suppose one could use the 40x24 mode although 32x24 will work fine too, making it possible to add graphics. I suppose there is no raster line counter that can be used to switch modes halfway across the screen, but in worst case one might develop a text plotting routine for high resolution mode, or just switch between full screen graphics and then back to text mode. Frankly I know a number of Commodore text adventures used character graphics which would be doable here as well, with properly defined character set.

I'm not saying it is on my priority list, just wondering if text adventures would be appreciated additions to the still somewhat small library of games.

(Honestly I've never written an adventure driver in machine code, just Basic and/or C but I don't think it would prevent me if I had the desire)
User avatar
MADrigal
Site Admin
Posts: 1021
Joined: Sun Sep 15, 2013 1:00 pm
Contact:

Re: Text/Graphic adventures

Post by MADrigal » Thu Mar 21, 2013 2:34 pm

I recently thought ot text adventures too, not sure how many people would got interest into them it they had no appealing graphics.

As for the graphics, I fear that the limits of the TMS9928 would be a problem to get nice "bitmap-style" pictures. :-/

I dont think there's need of a rasterline counter, you "simply" have to code the game in order to plot graphics chars on the top of the screen, and text on the bottom. I mean: keeping the picture on the top, and "refreshing" the text part only, until you need to change location.

Not sure if 32K would be enough for all the needed graphics. I remember very nice graphics adventures like Gremlins on the C64, they fit 64K more or less. More complex adventures, like The Pawn, stood on entire floppy disks.
User avatar
carlsson
Posts: 505
Joined: Fri Jun 13, 2008 7:39 am
Location: Västerås, Sweden

Re: Text/Graphic adventures

Post by carlsson » Thu Mar 21, 2013 2:46 pm

The VIC-20 versions of Scott Adams' text adventures fit into 16K including interpreter, although those might be slightly downscaled from the TRS-80 etc versions.

Regarding graphics, plotting graphic chars equals the character graphics I mentioned. See C64 games like Aztec Tomb, Ninja or more recent The Cave. Actually there are well over 100 games in the category "Adventure - Graphic(Charset)/Text". I suppose all those C64 games use the default mode with one background colour and one unique foreground for each character.
User avatar
Mobsie
Posts: 495
Joined: Fri Jun 13, 2008 10:38 am
Location: Weinheim, Germany

Re: Text/Graphic adventures

Post by Mobsie » Thu Mar 21, 2013 9:34 pm

in this post on Atariage you can see nice TMS9928 graphics.
http://www.atariage.com/forums/topic/80 ... try1459999
User avatar
MADrigal
Site Admin
Posts: 1021
Joined: Sun Sep 15, 2013 1:00 pm
Contact:

Re: Text/Graphic adventures

Post by MADrigal » Thu Mar 21, 2013 10:19 pm

I read the (old) post. I noticed there's some posts by Kurt Woloch, that's the man who made the very first homebrew demo for the CreatiVision.

Well they all say the same: the problem is with colours. 2 colours per 8x8 pixels block is a major problem.

As for the "bitmap mode", it's clearly stated that it's very much RAM consuming, it's not good for a graphics adventure.

I like the idea of standard ASCII graphics, or I would prefer a full monochrome hi-res graphics. Would be nice and very "old style" :-)
User avatar
carlsson
Posts: 505
Joined: Fri Jun 13, 2008 7:39 am
Location: Västerås, Sweden

Re: Text/Graphic adventures

Post by carlsson » Thu Mar 21, 2013 11:30 pm

Some text/graphic adventures drew the graphics on screen instead of displaying ready made pictures. I'm sure with some clever line drawing routines, one could draw images using "commands" on the hires screen. However like I wrote, one would probably want to push a button to switch back to either text mode to handle all the text input and output. Actually one could use line drawing routines on a fake bitmap screen too. For example if the text portion of the font can be fit into 40 characters: 26 for alphabet, 10 for numbers, space and three punctuation symbols, it leaves 216 characters for a fake bitmap. It could be arranged as 24 columns x 9 rows for a bitmap picture of 192x72 pixels, or 16 columns x 13 rows = 128x104 pixels.

However I'd rather try the character graphics approach. We also should remember there are 32 sprites, four per line that could spice up the graphics.
User avatar
MADrigal
Site Admin
Posts: 1021
Joined: Sun Sep 15, 2013 1:00 pm
Contact:

Re: Text/Graphic adventures

Post by MADrigal » Fri Mar 22, 2013 3:23 pm

> Some text/graphic adventures drew the graphics on screen instead of displaying
> ready made pictures. I'm sure with some clever line drawing routines, one could
> draw images using "commands" on the hires screen.

Ooooh you're absolutely right, I forgot about those wonderful adventures on my C64!

> However like I wrote, one would probably want to push a button to switch back
> to either text mode to handle all the text input and output. Actually one could
> use line drawing routines on a fake bitmap screen too. For example if the text
> portion of the font can be fit into 40 characters: 26 for alphabet, 10 for numbers,
> space and three punctuation symbols, it leaves 216 characters for a fake bitmap.
> It could be arranged as 24 columns x 9 rows for a bitmap picture of 192x72 pixels,
> or 16 columns x 13 rows = 128x104 pixels.

I really love the idea! I'd go for a 16x13 + coloured sprites. I'm guessing how much ROM space it would require.

Assuming there's 3-8K for the "engine" and parser, 2-3K for bgmusic, there should be around 21K for graphics, that's 2688 characters, that's circa 12 graphics screens of 16x13 chars... Not very much... And if you add the sprites, the graphics screens would be even less.

32K is definately too short for graphics adventures :-(
User avatar
Scouter3d
Posts: 371
Joined: Mon Jun 28, 2010 7:02 am
Location: Wien
Contact:

Re: Text/Graphic adventures

Post by Scouter3d » Fri Mar 22, 2013 4:18 pm

Hi,

I think "The Hobbit" on the ZX Spectrum draws most (if not all) of its graphics in vectors and fills areas with color...
So only a few bytes for the vector-coordinates would be needed... but one would need to code a linedrawing and a fill routine...

Greetings TOM:-)
You do not have the required permissions to view the files attached to this post.
User avatar
carlsson
Posts: 505
Joined: Fri Jun 13, 2008 7:39 am
Location: Västerås, Sweden

Re: Text/Graphic adventures

Post by carlsson » Fri Mar 22, 2013 5:31 pm

Yes, graphics could be stored like this:

L 0 0 150 100 = draw line from 0,0 to 150,100
C 100 100 50 = draw circle with center point 100,100 and radius 50
F 75 75 = flood fill at 75,75 until a border is reached
O 5 = set drawing colour to 5 (could of course cause some colour clashes)

Actually we could set up the VDP so we have two character sets of 2K each + two colour address tables of 32 bytes each. In each character set, the lower 48 characters = 384 bytes would be an actual font and fixed. The remaining 208 characters would be our fake bitmap canvas to be drawn upon.

For each second location, we could use the line drawing commands to draw the graphics on the character set currently not visible. Once we're done, we tell the VDP to switch to this other character set and VOILA! we have a somewhat high resolution picture ready. For the next location, we do the same but work on the other character set. This would not take awfully much ROM space. Location data can also rather nicely be compressed.

I've seen similar routines for drawing lines and flood filling that are within 1.5K of code, so it wouldn't have to bloat the code that badly.

Using my player, you can get code + reasonably long music within 1K, perhaps a little more than that if needed.

If we instead use fixed character graphics, we still could set up a few different character sets in the VDP to switch between for more variation. Rough calculation:

Parser: 7.5K
Music w/ player: 1.25K
3 character sets: 5.25K (2048 + 1664 + 1664) copied to VDP memory
40 locations: graphics 23x11 ~= 256 bytes * 40 = 10K

It would leave 8K for the actual room and object descriptions. Not terribly much, but it probably would do. Indeed an adventure game with a mere 40 locations needs to have some rather good puzzles to be fun to play, but if we sacrifice two alternative character sets, we'd get another 3K.

Well, now I'm almost tempted to see if this is possible, but I'll finish my ongoing projects first and perhaps convert a couple more arcade style games before doing it. At least it seems like a game that could use up 32K.
User avatar
MADrigal
Site Admin
Posts: 1021
Joined: Sun Sep 15, 2013 1:00 pm
Contact:

Re: Text/Graphic adventures

Post by MADrigal » Sat Mar 23, 2013 8:53 am

[quote="carlsson"]Yes, graphics could be stored like this:

> L 0 0 150 100 = draw line from 0,0 to 150,100
> C 100 100 50 = draw circle with center point 100,100 and radius 50
> F 75 75 = flood fill at 75,75 until a border is reached
> O 5 = set drawing colour to 5 (could of course cause some colour clashes)

I think an "arc" command would also be needed.

[...]

> If we instead use fixed character graphics, we still could set up a few
> different character sets in the VDP to switch between for more variation.

So you intend to use the same characters sets on several locations? Not a sort of "bitmap mode" for each location - which is what I intended?

> 3 character sets: 5.25K (2048 + 1664 + 1664) copied to VDP memory
> 40 locations: graphics 23x11 ~= 256 bytes * 40 = 10K

3 charsets only mean that you mean to "recycle" always the same characters... almost like the Commodore 64 charset? Well this lets you save a lot of RAM space, but well... the graphics would have so little details...

[...]

> I'll finish my ongoing projects first

C'mon, the Reversi game is almost done, there's so little work to complete it, and it's oh so nice! :-)
Post Reply