Settings

The page will reload to apply your changes.
Theme

ASCII Art Font

ASCII Art Menu

Original Usenet message from alt.ascii-art, 5 Apr 2000.
Re: ASCII meets games

Re: ASCII meets games

Rudy Nacken Wrote:
>Hello, my name is Rudy Nacken and I'm from Holland,
> so sorry about the poor English. I do a lot of programming in >QuickBasic.
Right now, I'm working on a game, especially for the old >XT-pc's. Therefore, I
can't draw lines or set points, and I must use the >ASCII-characters for a 
substitute for gfx. Are there any guys with nice >ASCII-drawing skills who want
to help me? The graphics that I use are >horizontal 8 spaces and vertical 3
spaces. . . <snip>

Hello,

You actually have several options available. I am assuming that since your
targeted hardware are XT's that you are using text mode because you are limited
to it, although hopefully you are able to use the sixteen basic colors (i.e.
the XT's need EGA or CGA video cards). 

If you can't change the color of the characters you are pretty much limited to
rudimentary assignment graphics (that is, this here blotch represents that
there tree etc.). However with the added dimension of color your options
broaden and the effectiveness of the grfx multiplies.

 For example a moving starfield (parallex scrolling) can easily be pulled off
in TEXT MODE by defining four star planes and assigning colors and velocities
to each plane. Use only Darkgray, Gray and White for the colors, make the two
farthest planes Darkgray and with the slowest velocity (movement of say 1 space
per cycle/loop) , the next plane is Gray with a medium velocity (3 spaces per
loop), the final plane and closest plane is white with the fastest velocity(5
spaces). Now to create the moving starfield just create an array of about 150
stars and randomly assign each star to one of the four possible planes (the
plane the star is assigned to determines its color and velocity). Now give each
star an initial X,Y value (asuming text-mode resolution of 80 columns(X) by 40
rows (Y)) run a loop and plot a character at that location in the color defined
by its plane. now increment (or decrement depending on desired direction) each
stars X,Y coordinates according to its velocity (e.g if star.plane = farthest
then X = X + 1), include some errorchecking to make sure you are not trying to
plot a star out of bounds (just reset and wrap around at the edge of the
screen), repeat loop. The result is an animated text star-field that is
virtually identical to a GRAPHIC MODE one with a lot less overhead.

I only go into all that because you said Zelda-like and this algorithm can be
easily modified to emulate rain, snow, etc. You can overlay this concept onto
your (text)tiled background for an added dimension of realism (every bit counts
in text-mode).

Back to the graphics. Using 8x3 tiles obviously limits the detail one can
include but several techniques can be employed. For example to create a grass
tile set the background color to bright green and the foreground color to dark
green. Now every empty space you print will show as bright green and every
character will print as dark green. 

so the following:  "    .    "
                         " .    .   "
                         "   .     ."
should tile out as a green field (tweak it as needed to suit) with dark bits
for depth/texture. Use a similar technique for water, trees, dirt, building
tiles etc.

The sprites (player, monster, items) themselves are gonna be kinda tricky. This
is due to the fact that TEXT-MODE does not easily allow for the utilization of
a transparent color. This means that when the character walks over a
predominately green (such as grass) background you must set the sprites
background color to match, always, otherwise it will end up even chunkier than
text sprites already are. The problem arises when the player is bridging two
areas (such as walking off of the grass and onto the dirt) you'll need some
tight functions/subs to toggle the colors accordingly, otherwise you'll have a
blocky sprite with a strange hue about it. 

On the other hand collision detection should be simplified in TEXT_MODE. Say a
brown arrow is shot at a red target, just check the existing color at the next
plotted location of the fired arrow. If it is red then the target has been hit.

Another option since you mentioned elsewhere that you would be willing to go
beyond pure ASCII and use extended characters, why not go one step further and
temporarily redefine the ROM character set. This will enable you to work on a
bit level for your graphics. since each text character is actually made of of
an 8X8 array of bits (toggled either on or off) this would enable a much
greater level of resolution. In a sense (very loose) you could then work on a
pixel level in TextMode. By making your own temporary (restore original upon
exit) character set you gain an added degree of flexibility. You could then
create text characters that looked much more like a pile of cash then  "$$$"
does.

Anyhow, hope any of this helped. Good luck, it sounds like quite a project. I'd
like to see the results, it seems very interesting.

BTW Don't worry about your English, nobody would know it wasn't your native
tongue if you didn't mention it. Looks fine to me.

][ncogni']['o

Original message headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: f996b,404e16a6422c1707
X-Google-Attributes: gidf996b,public
From: ott...@aol.com (Incognito)
Subject: Re: ASCII meets games
Date: 2000/04/05
Message-ID: <200...@ng-cr1.aol.com>
X-Deja-AN: 607292507
References: <8c7ulh$gim$1...@newsspool.casema.net>
Organization: AOL http://www.aol.com
Newsgroups: alt.ascii-art
X-Admin: new...@aol.com
About this message. This message was posted publicly to the newsgroup alt.ascii-art in 2000 and is mirrored here unchanged as part of the Historic Archives – only email addresses are masked. The artwork and text belong to their original authors: if you copy a piece, keep the artist's initials or signature intact and credit them where you can. Are you the author? Contact us to get your posts attributed, connected to your artist profile, or removed.

Report this message

Help us keep the archive clean and accurate. Reports are reviewed by a person – nothing is changed automatically.

Help classify this post