Contents of the ACK3D.TXT file
( Animation Construction Kit 3-D )
Welcome to ACK3D! This contruction kit is part of a project created to
allow you, the user, to design your own 3D games and applications. While
still in its infancy the hope is to present enough of a kit to give you the
idea of what is still to come. With ACK3D you can create your own maps and
link them together together to form a 3D world of adventure. A variety of
objects can populate this world, both stationary and moving, to add realism
to the environment.
Please feel free to experiment with the sample files provided, they are
included for your enjoyment. Any comments regarding the kit will be greatly
appreciated. Address your comments to:
76004,1574 (CompuServe account)
5 Jacob street
Ballston Lake, NY 12019
The Game Design library of the Gamers forum is a good place to check on
CompuServe for latest versions, discussions, etc.
The author, Lary Myers, and any other persons referred to
in this documentation or in the computer programs ACK3D and MAPEDIT
accept no responsibility for any loss of time, money or productivity,
or damage to any person(s) or computer hardware or software, as a
result of using the programs ACK3D and MAPEDIT, even if the above
mentioned had knowledge or had been notified of the possibilities
of such events.
The programs ACK3D and MAPEDIT along with any associated files, are
being released into the public domain as "PUBLICWARE" and may be freely
copied and modified providing the disclaimer mentioned above is maintained
in effect for any released versions.
The Master Description file:
This is the master file read into ACK3D at startup. It contains information
used to create the map and images. Both ACK3D and MAPEDIT use this file.
ACK3D will first look for the file called ACK3D.L01 to load. This is
always the level one starting place for the program. Levels are named
starting with ACK3D as the filename and L## as the extent where ## is a
two digit number for the level (ie L01, L02, ... L99). Thus, 99 levels
are possible with this naming convention.
A semi-colon (;) as the first character of a line indicates a comment.
The following sections are available;
- Begins the section that list all of the wall bitmaps used in the map.
Start with a Files: command then list the walls with the syntax,
If no extent is given then .IMG is assumed. If the extent is .BBM then
a Deluxe Paint II brush is loaded, all other extents load in the
original IMG format.
The following wall numbers are special,
58 - Secret door (either X or Y).
60 - Door on a vertical (X) wall.
61 - Side panel for doors.
62 - Door on a horizontal (Y) wall.
End the files section with EndFiles:
End the Walls section with EndWalls: (This will allow other info to
be placed in here besides walls).
- Begin the files section with the Files: command then list objects with
the same syntax as the Walls ( #,objectfile[.ext] )
End the files section with a EndFiles: command.
Next comes the object description section, the following commands apply
to every object,
Number: Object number from 1 to 100 identifying the object
Bitmaps: Numbers from the object files section identifying which
bitmaps to display for this object. A single number here says
the object has only 1 bitmap to display. Multiple numbers
separated by commas indicate the object has multiple views
Direction: Number from 0 to 10 where 0-7 are movement directions using,
\ | /
6 - + - 2
/ | \
Direction 8 is move up, 9 is move down, and 10 is stay
in one place and cycle through the multiple views. This
will allow objects to animate in one place.
Speed: Number from 0 to 255 (Higher than 48 seems to be way too fast
and may not be reliable yet). A value of 0 means the object
Continue listing objects with the above commands.
End the objects section with the EndObjects: command.
- Initial X coordinate of player. Should be greater than 64 (since the
map needs walls all around its borders) and less than 4032.
- Initial Y coordinate of player, from 65 to 4031.
- Initial angle player is facing. For now this number is based on a
circle that is 1920 units around, so...
(225 deg) 1200 1440 1680 (315 deg)
\ | /
(180 deg) 960 - + - 0 (0 or 360 deg)
/ | \
(135 deg) 720 480 240 (45 deg)
- Color from 0 to 255 to use on the top half of screen
- Color from 0 to 255 to use on the bottom half of screen
- Color from 0 to 255 to use with random lightning flashes
- Number from 1 to 255 to use when opening the door, 2 is the
default, 4 seems to work pretty well.
- Filename of map to load (default is xgrid.dat)
- Filename of palette file to load
- Filename of screen to load when goal is reached. (May be either an
IMG file or a LBM Deluxe Paint file).
- Filename of palette file to load when goal reached. Only needed if
an IMG screen is used (LBM files have embedded palettes).
Controls when running ACK3D:
Use the mouse or keyboard arrows to move around the map. When coming upon
a door, click the right button of the mouse to open it (it will close by
itself after a brief interval).
Use ESCAPE to exit ACK3D.
The mapedit program supplied (don't laugh, it was a quick and dirty program
to avoid using a hex editor to edit the maps!) allows the MapFile to be edited
for use with ACK3D. To use type MAPEDIT followed by the name of the description
file (NOT THE MAP FILE!). MapEdit will use the information in the description
file to load the object bitmaps and the map codes.
A mouse is required to use MapEdit.
Use the left mouse button to select a wall or object and to place it on
Use the right mouse button to place a blank square on the map (The same as
selecting the blank square and using the left button).
Select Exit or press ESCAPE to exit MapEdit.
9 5 10
Load Save New Exit 11 12
1 - Map display area, use the scrollbar arrows on the sides to scroll
around the map.
2 - Current selected wall or object.
3 - Pass checkbox. When selected any objects placed on the map will allow
the player to walk/pass through the object. A small dot to the left
of the number in the map (area 1) will indicate the object is passable.
The pass option is good for things like lights, etc.
4 - Blank square. This square can be selected to erase any walls or objects
on the map.
5 - Start square. Only ONE allowed per level. When used the start square
will override the StartX and StartY commands in the master description
file (but not the StartAngle).
6 - Up square. Causes the player to move back up one level until level one
7 - Down square. Causes the player to move down one level.
8 - Goal square. Only one of these should be in the entire game. Presents
the screen specified in the master description file and then ends the
program. If no goal screen is found then a simple YOU WON is displayed.
9 - Walls. Select the current wall to use. The bitmap will appear in area
7 when selected.
10 - Objects. Select the current object to use. The FIRST bitmap for the
object will appear in area 8. NOTE: The object numbers in area 5 are
the identifiers that appear in the Objects: section of the description
file, NOT the bitmap numbers. Only one occurance of an object can
appear on the map. A warning box will display if the same object is
being placed more than once.
11 - Bitmap of current wall.
12 - Bitmap of current object.
Load - Not functional yet. Will eventually allow other maps to be loaded.
Save - Saves the current map to the MapFile specified in the description
New - Will give a warning box and then clear the entire map to blank
Exit - Will warn if the map has been modified and then exit to DOS.
MapEdit has a pretty dull screen. This was done so that the actual bitmaps
and palette file could be loaded and viewed while still allowing the user to
see the edit screen. In order to do this the colors 0,11, and 15 are forced to
thier default palette color by MapEdit. This may cause some of the bitmaps to
show speckles of the wrong color if they happen to use any of these 3 colors.