Main
Introduction
Storyboard
Release Information
Awards
Starting a Game
About A. Crowther
Interface
Monitors
Movements
Droid Status
Disk
Group Display
Hands
Sleep & Pause
Remote Control
Preferences
Droids
Skills
Inventory
Tools
Weapons
Droid Parts
The Camera
Items
Dev-Scapes
Optics
Environment
Walls
Doors
Shops
Encounters
Miscellaneous
Miscellaneous
FAQ
Tips & Tricks
Pre-Captive
Bugs
Did You Know?
Tools
Technical
The Map Generator
Sounds
Disk Directory
Drawing Encounters
Flying Items
Internal Graphics
Holamap
Fire Hydrants
View Rendering
Website
History
Acknowledgments
Links/Contact

Drawing Encounters

As shown in the "Encounters" page, there are 40 different foes that the droids can meet during their missions. With today's technology, everything is created as 3D models that can be viewed from any imaginable angle, but back then, every moving object was created as a bitmap, also known as a sprite. For the illusion to be effective in a 3D environment, each angle of the object had to be drawn in a bitmap.

In the case of Captive, the graphic artist had to create a bitmap for each encounter, multiplied by the number of angles and depth. Captive works with 4 viewing angles and has a depth of 3 cells, which means 12 graphics for each encounter.

Having 40 different encounters, Captive requires theorically to have 480 different graphics just for the encounters. The word "theorically" is used because some encounters, such as the Dragon and Spinner, are always seen from the front angle and require less graphics. Still, it's a lot of graphics and storing all of these on floppy disks is simply unimaginable on such a relatively small storage media.

One of the most obvious method to help resolve this issue is to create a routine that draws a bitmap that is vertically or horizontally flipped. With such a method, it wouldn't be hard to use the exact same bitmaps of an encounter seen from its side to draw it facing the other side. As demonstrated in the image above, both the second and fourth row could be merged to use the same set of bitmaps just by vertically flipping them.

The programmer went even further by splitting up each part of an encounter's anatomy into individual bitmaps. With the possibility of flipping bitmaps, the graphic of the encounter ED209 when facing close to the droids can be completely drawn using only 4 bitmaps.

Each time an encounter needs to be drawn, tables are read to determine how to draw it. The information indicates in which file to get the bitmap, at which coordinates to get it, where to draw it, if it needs flipping, etc. Still with the example of ED209, the tables will use the 4 bitmaps above to draw the encounter in 6 pieces.

To create the illusion of movement, the table will specify if a piece will shake. When drawing the piece, the engine will consider that parameter to apply a random offset to the position of the piece to draw. Each encounter has a master piece and the offset will be based on the position of that master piece which is always the first piece to be drawn. In the case of ED209, the master piece is the head (top-center part). Only its arms have are set to be shaking.

Only the master piece can shake horizontally, vertically or both. Slave pieces can only shake vertically. With the encounter being drawn with separated pieces, it is possible to reuse these bitmaps for other drawings. In this example, notice that the head (or, in this case, the master piece) is the same bitmap whether the encounter is seen from its front, side or back.

When drawing the side of the ED209, the arm is drawn right over the eye. When drawing the back, a small plate reading "R91K" covers the eye.

The programmer went even further by sharing bitmaps amoung encounters. This is how the Floater becomes a Battle Ball, and the Tank becomes a U-Tank.