home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Amiga Game Guide
/
AmigaGameGuide_CD.iso
/
Amiga
/
Tools
/
dbib
/
docs
/
docs.txt
< prev
Wrap
Text File
|
1977-12-31
|
22KB
|
590 lines
THE 3D GAME CREATOR
-------------------
Contents---------------------------------------------------------------------
1.0 Introduction
1.1 System requirements
1.2 Specifications
1.3 Playing the demo levels
2.0 Using the Editor
3.0 Designing Graphics
3.1 Graphic types
3.2 Palette conventions
3.3 Texture graphics
3.4 Object graphics
3.5 Characters
1.0 Introduction-------------------------------------------------------------
1.1 System requirements
-----------------------
An AGA Amiga with 4Mb fast RAM. 030 or better recommended.
1.2 Specifications
------------------
The Cold Blood 3D system is designed for creating 3D shoot-em-up games. It
features:
- 1*1 resolution using fast c2p
- floor and ceiling texture mapping
- variable floor and ceiling height
- non-orthogonal walls
- bitmapped enemies and objects
- advanced lighting effects (moving light sources, smoke and halo effects)
A single easy to use editor is provided for creating new levels and changing
game parameters.
1.3 Playing the demo levels
---------------------------
To play any level just click on the icon. When the level is finished it may
link to another one.
Game controls:
m - mouse
k - keys
v - vertical mouse options (locked/normal/reverse)
mouse mode:
move mouse to look
cursor keys to move
left mouse - shoot
right mouse - operate
keys mode:
left/right cursor to turn
up/down cursor to move
right amiga to force sidestep
right alt - shoot
space - operate
general:
keypad 1 - look down
keypad 7 - look up
keypad 4 - re-centre
shift - run
keypad 0 - jump
keypad . - crouch
t - torch
s - gun sight (in four different flavours)
1-9 - change weapon
screen mode:
keypad + - increase screen size
keypad - - reduce screen size
keypad ( - vertical resolution
keypad ) - horizontal resolution
Enter - toggle full/quarter screen
Playing hints:
There are two ways to play this: either go through the level stealthily
using the silenced pistol, shooting out lights and drawing the enemies
into traps, or just wade in with the assault rifle and send them all
straight to hell. In practice you need to do a bit of both.
You must remember that the enemies can both see and hear you. You can
creep up behind one if you move very slowly, otherwise he will hear your
footsteps. Use the assault rifle and enemies from all around will
converge on your position. They are smart enough to plan a route to get
to you even from the other end of the level (though they probably wouldn't
hear you from that distance). They can hear other enemies firing on you
as well as explosions, doors opening, lights breaking and in fact any
other sound that you can hear in the game.
Shooting out the lights has two effects. First of all the enemies can't
see very well in the dark - you can go undetected more easily. Also, their
shots lose accuracy as the light level goes down. Be careful with the
torch, it makes it easy for the enemies to see you. They can also see the
torch light even if they are not looking in your direction.
Catching enemies in chain reaction barrel explosions is a very satisfying
way to kill them, although difficult to do. Don't stand by a barrel
yourself during a gunfight: the enemies' shots can set them off too (and
they can shoot each other, which can be helpful when you're being
attacked from two directions at once).
Use the gunsight for better targeting and the vertical mouse option for
a faster response to attacks from above and below. Use a good stereo
system or headphones, then you can hear where sounds are coming from.
2.0 Using the Editor---------------------------------------------------------
2.1 Introduction
----------------
The editor allows you to:
- Create entirely new levels with your own layouts
- Import graphics for textures and objects from iff files
- Define new weapons and enemy types
2.2 Explanation of the file system
----------------------------------
The main game executable is player.exe. To start a game: from the CLI, type
player.exe levelname
Or click on the level's icon.
File types used by the program are:
- map files, created using the editor (see section)
- textures, converted from iff pictures using the editor (see section)
- images, grabbed from iff pictures using the editor (see section)
- enemies, which are a collection of image files (see section)
- sounds, which are raw samples. No sound editing facilities are provided.
All textures, objects, enemies and sounds refered to by the level must be
contained in their respective drawers in the same directory as the player.
There are a number of other files that are not refered to in the map file
but must be present. These are stored in the 'game' drawer. By replacing
these files you can change certain aspects of the games not covered in the
editor, such as the weapon graphics and sounds, title screen and panel.
Also needed is the font 'dbib' which must be in the main fonts directory.
2.3 Editor screen layout
------------------------
The title bar
-------------
As you perform functions within the program, instructions often appear here,
such as 'select section' or 'select wall'. You can either do what it says or
cancel by clicking the right mouse button.
Windows
-------
Map window This shows a top down view of the current level.
Useful keyboard controls are:
arrow keys scroll map
+/- magnification
keypad 7 raise eye level
keypad 1 lower eye level
To select an item in the map window, left click on it.
To select multiple items, left click on each while holding
down shift.
Sections are shown plain (usually black), selected (usually
white) or ghosted (some other colour). Objects are shown as
small circles, enemies as little men and lights as stars.
Button bank This contains a number of buttons for manipulating the map.
See below for details.
Detail window Once opened from the menu, this window shows some
information on whatever item you click on in the map window.
Menus
-----
Project
/New Allows you to either start an entirely new level or clear
just the map and keep the definitions for textures, objects
etc.
/open Loads a level from disk.
/save
/save as Save the current level.
/crunch Redundant since files are crunched automatically.
/about Information about the program.
/quit Quit the program. Will prompt if not saved.
View
/detail Opens the detail window.
/grid Toggles the map grid.
/zoom Choose zoom factor.
/eye level Enter a new eye level. (see section)
/eye level check Toggles eye level checking. (see section)
Off by default.
Textures
/Convert texture Converts an iff picture to a texture file.
/Add texture Adds a texture to the list for the level.
You should miss off the extension '.chk'
when naming the texture.
/Remove texture Removes a texture from the list.
Objects
/Grab image Grab an image from an iff picture.
/Add image Adds an image to the list for the level.
You should miss off the extension '.chk'
when naming the object.
/Remove image Removes an image from the list.
/Select picture Changes the picture to grab images from.
/One point grabbing Toggles the grab method. One-point means that images
will be grabbed with a single click. In this case the
image must be drawn with a crosshair in colour 2
around it, pointing at the handle, i.e.
| image with handle at centre
/ of crosshair
~~~ |/
/ \ -
- | . | - <--- crosshair in colour 2
\ /
~~~
|
The alternative is rectangular grabbing which does not
need a crosshair but takes a click and drag movement
to draw a rectangle around the area to grab, plus an
extra click to place the handle.
One point grabbing is off by default.
Enemies
/Add enemy Adds an enemy to the list for the level.
/Remove enemy Removes an enemy from the list.
/Properties Sets a number of parameters that govern the
enemy's behavior.
Weapons
/Add weapon Adds a weapon to the list for the level.
/Remove weapon Removes a weapon from the list.
Sounds
/Add sound Adds a sound to the list for the level.
/Remove sound Removes a sound from the list.
Buttons:
Add section Delete section
Raise floor * Lower floor *
Raise ceiling * Lower ceiling *
Raise all ceilings Lower all ceilings
Set floor texture * Set ceiling texture *
Set wall texture Set all wall textures *
Add light Delete light
Set start point Section effect
Add object Delete object
Add enemy Delete enemy
Object damage Object pick-up
Add door Delete door
Add lift Delete lift
Add switch Delete switch
* works on all currently selected sections
2.3 Creating sections
---------------------
All levels, however complex they may appear, are built from simple builing
blocks called sections. The player will be able to walk around inside the
sections. There are a few rules governing how you may define sections,
which are as follows:
- A section is a closed polygon made up of up to 10 walls.
- Sections are drawn clockwise.
- No internal angle between two adjacent walls in a section may be more than
180 degrees. Put another way, no wall can ever obscure any part of another
wall in the same section.
You can add a section by clicking on the 'new section' button and clicking the
left mouse button to draw the walls. Clicking the right mouse button cancels,
and the space bar comletes the section. You can also complete the section by
drawing a wall that completes the shape. If the section disappears after
completion, it did not follow the above rules.
To join two sections together to make a larger area, just draw the second so
that it shares a wall with the first. The player will then be able to walk
between them. Again, there are rules for joining sections:
- Two sections may share one, and only one wall. They cannot share part of
a wall.
- The sections must not overlap. Sections inside sections are illegal.
- A wall can be joined to only one other wall.
- Ghosted sections cannot be joined if eye level checking is on
(see section).
If the first wall that you draw is shared with another section, the new section
will take on the characteristics of the old one, such as floor and ceiling height
and textures. This saves you the trouble of setting these things later.
Steps can be created by changing floor and ceiling heights (using the buttons).
One click produces a small step, two clicks a larger one. More than two clicks
and the player will have to jump. The default height of sections is 16
clicks. This corresponds to textures 128 pixels high.
Changing textures
-----------------
Any texture in the texture list can be applied to any wall, floor or ceiling.
Textures will be stretched horizontally to fit walls, but tiled vertically.
Walls can have an upper and lower texture in the case of steps in both floor
and ceiling.
To change a wall texture, click on either 'set wall texture' or 'set all wall
textures'. The latter will set every wall texture in all selected sections,
the former a single wall texture which must be chosen with the mouse. Walls
are selected with a single mouse click on the furthest clockwise point of that
wall.
Floor and ceiling textures must be 128*128 pixels, and are tiled. One grid
square corresponds to one tile. Note that the placement of floor and ceiling
tiles is independent of the walls. The 'set floor texture' and 'set ceiling'
texture buttons work on all currently selected sections.
Lights
------
If you create a level with a few sections, some steps and a few textures, then
test it out, you will find that you can't see anything. With no lights,
everything is dark (just like life, really). The torch is one light source,
but it is not very powerful. To add lights to the level, first select all
the sections you want to be affected by the light, then click on the 'add light'
button, place the light and finally, set its brightness. You can add a number
of lights and have bright areas and dark areas.
Some tips when adding lights:
- Add lights last, and be prepared to keep changing them until the level looks
right.
- Lights fade with distance, but shadows are not calculated. You can make your
own shadow effects by choosing which sections are lit up by a particular light.
- Having a visible object such as a light bulb at the same position as a light
source can be very effective.
- Lights can be as bright as you want, but if a wall is fully lit up, it cannot
get any brighter. All that happens is that the light reaches further.
Objects
-------
2D bitmaps are used to show objects in the game environment. Objects use the same
bitmap for all angles, so there are some things that they can't be used for. Some
examples of things that work well are barrels, plants, light bulbs and wine
glasses. These things have cylindrical symmetry. Flat objects like plates don't
work well because they change too much with vertical viewing angle.
Players can interact with objects by shooting them or picking them up. This allows
for things like ammo boxes and lights that can be shot out.
To add an object, click on the 'add object' button and follow the prompts. You will
set the objects position and choose the image and draw mode. You can add an object
on top of another object in a different draw mode to achieve such effects as halos
around lights.
To change an object's damage effect, click on the 'object damage' button. The
object will always vanish when shot, but it can also turn a light off or explode.
To change an object's pick-up effect, click on the 'object pick-up' button.
The object can be a pass, a gun, ammo or a health or shield bonus.
Doors and lifts
---------------
Adding doors and lifts could not be simpler. Just press the button and choose the
section. If you are adding a lift you also have the option to a wall that
activates it, and whether to have a switch on the lift itself. For a door you
choose which pass (if any) is needed to open it.
To get textures to move correctly when a door or lift is activated, do this:
For a lift, nothing. Textures will move up with the lift automatically.
For a door, either use a blank texture for the inside of the door frame or add
a new section on either side of the door frame with the ceiling moved all the
way down to the floor. A diagram might make this clearer.
| |
/|--------------|\
/ | | \
| | DOOR | | <-- sections with ceiling at floor level
\ | | / |
\|--------------|/ |
| | |
/\ |
-------------------------
To the player, the two smaller sections are invisible. All they do is force the
texture to be drawn correctly.
If you are interested in the details of this, textures are always fixed to the
edge of a floor or ceiling step. If there is no step they are attached to the
ceiling. What the trick with the door does is make the whole wall become a
step, fixing the texture to the 'floor' instead.
Switches
--------
Switches can open doors, move lifts or turn lights on and off. They can be
once-only switches, on/off types or reset after a short time. To add a switch,
click on the 'add switch' button and follow the prompts.
Graphically, there is a small trick used with switches. When pressed, they swap
the upper and lower textures of a wall. This means that you can't have switches
on steps.
Section effects
---------------
Events can be triggered when the player walks into a section. Doors can open, lifts
can start, sound effects can be played or the level can end. The 'section effect'
button handles this. Click and follow the prompts.
3.0 Designing Graphics-------------------------------------------------------
3.1 Graphic types
-----------------
There are two kinds of graphic files, textures and objects. Objects are
drawn flat and scaled. Enemies, barrels and lights are all objects. So are
the player's guns. There are four drawing modes for objects: colour,
brighten, darken and tint. Colour is the standard mode. Brighten can be seen
in gun barrel flashes and could be used for halos around bright lights.
Darken could be used for smoke effects. Tint changes the colour of pixels
without changing their brightness. It could be used for transparent liquid
containers and possibly explosions or fire. Different modes can also be
superimposed, e.g. a colour object with tint applied to it. Textures have
only the colour drawing mode.
3.2 Palette conventions
-----------------------
For colour mode graphics, the standard palette (palette.iff) should be used.
The palette is divided into two parts. The first 32 colours are deemed
'bright'. Bright colours are not affected by lighting effects. Hence sparks,
explosions and lights are drawn in these colours. The rest of the palette
contains seven 32 colour ranges. Anything drawn with these colours is
subject to lighting effects. Colour zero is transparent for objects but not
for textures.
Brighten and darken modes use only the first 32 colours. Colour zero means
no effect. Colour 1 means Brighten/darken by one shade, and so on.
Tint mode uses only the first colour of each of the seven ranges. Tinted
pixels will be transported directly across into the corresponding range,
without changing brightness.
Because it is possible to include some of the first 32 colours by mistake
when using certain drawing tools in art packages, it is useful to work
with the palette remap.iff and add bright colours later.
3.3 Texture graphics
--------------------
Wall textures must be 128 pixels wide and a power of 2 pixels high, e.g.
128*16
128*64
128*128
128*256
They should be placed at the top left corner of an iff picture.
If a texture is shorter than the wall it is placed on, it will be tiled.
If this is the case, it will be necessary for the top and bottom to match.
Floor textures must be 128*128 pixels in size. It is important for them to
tile properly.
3.4 Object graphics
-------------------
Objects can be any size. A useful hint when drawing objects is to keep
in mind the angle that they will be seen from. Anything that is normally
below the player's viewpoint should be drawn slightly from above. However,
the player can move and look up and down, so don't overdo the angle. Keep
things almost level, to minimise the distortion when the object is seen
from a different angle.
3.5 Characters
--------------
There are currently two types of character: walkers and floaters. They require
different numbers of animation frames.
Walkers require the following frames:
standing
walking (4)
hit by player
attacks player
fall over (7)
dead
All frames except the dying animation are needed in eight directions, making
64 frames in total.
Floaters only need:
floating
hit by player
attacks player
dead
Again in eight directions, except for the dead frame.
The size of individual frames is not important, just keep the handle in the
same relative position in each frame.
-----------------------------------------------------------------------------
4.0 Bugs and future enhancement ---------------------------------------------
4.1 Known bugs
--------------
The editor lists:
The editor uses lists of textures, objects etc so that it knows what files to
load. Getting these to work in Blitz was a nightmare. There are still
occasional problems when selecting items from lists. Generally quitting and
reloading will solve them.
Removing items from lists:
This is safe as long as you have not started using items in the list yet. If
you have, later objects will be messed up when removing items from the list.
It is always safe to remove the last object.
Phantom walls:
These 2 dimensional features can appear if two adjacent sections did not join
correctly. They should be rare and easily corrected be deleting one or both of
the sections and redefining them.
Invisible walls:
The opposite to the above; a wall that should be there is not drawn. No idea
why this sometimes happens, but it is easily fixed by deleting and redrawing
the section.
Wobbly textures:
When doors and lifts move, there can be a one pixel error in drawing the textures.
The result is a strange rippling effect. Probably a days work on the code to fix,
but in the meantime the effect can be minimised by using textures that are quite
smooth in the vertical direction.
-----------------------------------------------------------------------------
Edmund Clay
44 Finstall Rd
Aston Fields
Bromsgrove
Worcs
B60 2EA
email: ec@hep.ucl.ac.uk