(This is the "Dungeon Designs" column from the March 1990 issue of the Eamon Adventurer's Guild newsletter. Copyright 1990 Eamon Adventurer's Guild, 7625 Hawkhaven Dr., Clemmons, NC 27012-9408. You may reproduce this freely as long as this credit remains attached to the article.) Designing your descriptions for 40/80 adventuring. by Tom Zuchowski It is not clearly described anywhere in the manual how to properly design for and use the 40/80 column option of version 7.0. This article will attempt to demonstrate just how this is done. THE INTRODUCTION PROGRAM: when the intro asks whether 40 or 80 columns is to be used, it POKEs either a 40 or an 80 into an unused memory location, so that this information can easily be passed to the MAIN PGM. THE MAIN PGM: the MAIN PGM PEEKs this number from memory and sets the variable CP to this value. CP is used by the line-counting routine to decide if a description will take (for example) 6 40-column lines or 3 80-column lines. Thats it! With the addition of code to turn off 80-columns at the end of the adventure, that is the entire programming for the 40/80 column option. But it's not quite that simple from the author's point of view! Each and every room, artifact, and monster description and all the effects must be carefully designed to look good in BOTH 40-column and 80-column modes. This isn't difficult to do, but can be tedious, depending on just how good you want your descriptions to look. DEFINITIONS: the following explanation refers to 'odd-numbered' lines and 'even-numbered' lines. Refer- ring to Figure 1a, the 'odd-numbered' lines begin with THIS, HIGHLIGHTS, and BREEZE, and the 'even-numbered' lines begin with POLISHED, LAMP, and ABOVE. The standard method of writing 40-column Eamon descrip- tions is to pad the end of each 40-col. line with spaces so that the text will have good line breaks and be left justified. Figure 1a gives an example of this. However, when this same description is displayed in 80-col. mode, a huge gap appears in the center of the text, as shown in Figure 1b. This looks awful and is very distracting, resulting in less player satisfaction and lower ratings for your adventure. ----------------------------------------- Figure 1a: THIS GREAT CHAMBER IS OF BLACK STONE, POLISHED AND SMOOTH AS GLASS, CASTING HIGHLIGHTS AND REFLECTIONS FROM YOUR LAMP. THE AIR FEELS FRESHER; A HINT OF A BREEZE COMES FROM THE UNSEEN HEIGHTS ABOVE. THERE IS A DOOR EAST. ----------------------------------------- Figure 2a: THIS GREAT CHAMBER IS OF BLACK STONE, POLISHED AND SMOOTH AS GLASS, CASTING HIGHLIGHTS AND REFLECTIONS FROM YOUR LAMP. THE AIR FEELS FRESHER; A HINT OF A BREEZE COMES FROM THE UNSEEN HEIGHTS ABOVE. THERE IS A DOOR EAST. ----------------------------------------- Figure 3a: THIS GREAT CHAMBER IS OF BLACK STONE, POLISHED AND SMOOTH AS GLASS, CASTING HIGHLIGHTS AND REFLECTIONS FROM YOUR LAMP. THE AIR FEELS FRESHER; A HINT OF A BREEZE COMES FROM THE UNSEEN HEIGHTS ABOVE. THERE IS A DOOR EAST. ----------------------------------------- The answer is to spread the extra spaces out along the entire line so that there is never more than a single space at the end of the line. Figures 2a and 2b give an example of this technique. Here are some guide- lines that will help you design good-looking text: 1) The extra spaces are less noticeable following punctuation and next to large words. First put spaces after punctuation before sticking them elsewhere. You can get away with 3 spaces after a comma or a period and still look good. 2) The ODD-NUMBERED lines must never have more than one space at the end of the line. These lines will be the left half of each 80-col. line. 3) If an ODD-NUMBERED line works out to exactly 40 characters so that there is no room for a space at the end, then the following EVEN-NUMBERED line must BEGIN with a space. When these two lines are combined for 80-col., there must be a space between them or else the two words in the center will be run together. 4) The FIRST line can have paragraph-like indentation at the beginning, as has been done in Figures 2a & 2b. If this indentation runs more than 3 spaces then possibly some of the spaces should be spread through the rest of the line. 5) You can treat the EVEN-NUMBERED lines as if they were 40-column only. These lines make up the right half of each 80-col. line and extra spaces at the end don't matter. However, you may want to spread some of the extra spaces into the text to keep it from looking 'heavy' on the right side of the 80-col. line if there is a lot of padding in the left half of the line. Try to balance the line so that the odd-numbered half and even-numbered half are equally dense looking. 6) Try not to put many spaces near short words. The text can get real sparse looking which is unattractive. ----------------------------------------------------------------------------- Figure 1b: THIS GREAT CHAMBER IS OF BLACK STONE, POLISHED AND SMOOTH AS GLASS, CASTING HIGHLIGHTS AND REFLECTIONS FROM YOUR LAMP. THE AIR FEELS FRESHER; A HINT OF A BREEZE COMES FROM THE UNSEEN HEIGHTS ABOVE. THERE IS A DOOR EAST. ----------------------------------------------------------------------------- Figure 2b: THIS GREAT CHAMBER IS OF BLACK STONE, POLISHED AND SMOOTH AS GLASS, CASTING HIGHLIGHTS AND REFLECTIONS FROM YOUR LAMP. THE AIR FEELS FRESHER; A HINT OF A BREEZE COMES FROM THE UNSEEN HEIGHTS ABOVE. THERE IS A DOOR EAST. ----------------------------------------------------------------------------- Figure 3b: THIS GREAT CHAMBER IS OF BLACK STONE, POLISHED AND SMOOTH AS GLASS, CASTING HIGHLIGHTS AND REFLECTIONS FROM YOUR LAMP. THE AIR FEELS FRESHER; A HINT OF A BREEZE COMES FROM THE UNSEEN HEIGHTS ABOVE. THERE IS A DOOR EAST. ----------------------------------------------------------------------------- OK, now we have filled the huge gap presented in Figure 1b, but Figure 2b still presents a 'gap-tooth' look because all of the spaces are in a straight row, giving a 'two-column' look that is not esthetic to look at. And when several descriptions are run together, as in a large special effect or the appearance of several new monsters, the two-column look becomes quite pronounced and is distracting to read. The way to fix it is by designing the text so that at least one but no more than two of these middle-of-the line spaces come at the beginning of an even-numbered line instead of at the end of an odd-numbered line. Figures 3a & 3b demonstrate this technique. Yes, the left margin is ragged using this method, but it's not that noticeable and is a lot less noticeable than a line of spaces down the center of your 80-column screen. That's all there is to it. It takes a little practice and you may have to re-edit a few times before you get it looking good. A paperback Thesaurus is absolutely essential for finding alternative words when you just CAN'T get that darn description to fit the lines right. Also, a Thesaurus is very valuable in helping you avoid overusing a given word when describing (for example) several successive rooms that are very similar. 80-COLUMNS ON THE APPLE II AND II+: The Apple II+ uses a variety of aftermarket 80-column boards, since Apple did not offer an 80-column option for this machine. The Videx board was by far the most successful, and most all other II+ 80-column boards conform to the Videx 'standard'. For the most part it will work fine when you use VTAB, HTAB, POKE 1403, and PEEK 37. However, it does not properly support the HOME command. For HOME to work on a Videx board, it must be followed by a CHR$(12), the Form-Feed character. The technique that I recommend is to set the variable FF$ = CHR$(12); and when clearing the screen use the double command PRINT FF$:HOME This will be invisible on a //e or in 40-col. mode). Try to avoid fancy CALLs that clear to end-of-line or do other things, because they won't affect the Videx screen at all. If you need to do such a thing it can be done by printing a line of spaces. INVERSE and FLASH also do nothing on a Videx. 80-COLUMN INPUT ON THE II AND II+: Since the II has no shift key, the 80-column board must be able to keep track of the case being used and convert the II's upper-case input into lower-case when required. This is done by sending keyboard input to the 80-column board before it goes to the Apple so that the character can be converted if need be. Also, the Videx uses CTRL-A for shift-key and caps-lock and must be able to intercept this keystroke. All this means is that you MUST use GET and INPUT and can't PEEK the keyboard data directly.