1834 lines
60 KiB
Plaintext
1834 lines
60 KiB
Plaintext
Introduction 1
|
||
|
||
A Note from the Author 1
|
||
|
||
General Information 3
|
||
|
||
Hardware Requirements 4
|
||
|
||
Shareware 5
|
||
|
||
Getting Started 6
|
||
|
||
Basic Building Blocks 6
|
||
|
||
The Graphics System 6
|
||
|
||
Creating a new game 7
|
||
|
||
F1 - Save 10
|
||
|
||
F2 - Parameters 10
|
||
|
||
F3 - Copy World 10
|
||
|
||
F4 - Full Landscaping Palette 10
|
||
|
||
F5/F6 Previous/Next World 10
|
||
|
||
F7 - Doors 10
|
||
|
||
F8 - Save Screen 11
|
||
|
||
Flood Landscape (F9) 11
|
||
|
||
C)opy 11
|
||
|
||
D)rop 11
|
||
|
||
P)ut 11
|
||
|
||
G)et 11
|
||
|
||
J)ump 11
|
||
|
||
R)esize 12
|
||
|
||
W)orld 12
|
||
|
||
World Information 13
|
||
|
||
Creating Doors 15
|
||
|
||
Creating Objects 16
|
||
|
||
Type 18
|
||
|
||
Class 18
|
||
|
||
Graphics Block 18
|
||
|
||
Description 18
|
||
|
||
Script 18
|
||
|
||
PCX File 19
|
||
|
||
Value 19
|
||
|
||
Count 19
|
||
|
||
Weight 19
|
||
|
||
Other Attributes 20
|
||
|
||
End Game 20
|
||
|
||
Text 20
|
||
|
||
Creating Characters 21
|
||
|
||
Type 21
|
||
|
||
Class 22
|
||
|
||
Graphics Blocks 22
|
||
|
||
Name 22
|
||
|
||
PCX File 22
|
||
|
||
RSC File 22
|
||
|
||
Script 23
|
||
|
||
Count 23
|
||
|
||
Treasure 23
|
||
|
||
Text 23
|
||
|
||
Statistics 23
|
||
|
||
Predefined Object Types 25
|
||
|
||
Food 25
|
||
|
||
Weapons 25
|
||
|
||
Ammunition 25
|
||
|
||
Armor 25
|
||
|
||
Shield 26
|
||
|
||
Amulets and Rings 26
|
||
|
||
Potions 26
|
||
|
||
Scrolls 27
|
||
|
||
Staffs 27
|
||
|
||
Chests 27
|
||
|
||
Keys 28
|
||
|
||
Gems 28
|
||
|
||
Books 28
|
||
|
||
Gold Sack 28
|
||
|
||
Torches and Lanterns 28
|
||
|
||
Rope and Hooks 28
|
||
|
||
Mirrors 28
|
||
|
||
Signs 28
|
||
|
||
Vehicles 29
|
||
|
||
Predefined Character Types 30
|
||
|
||
Regular 30
|
||
|
||
Civilian 30
|
||
|
||
Hostile 30
|
||
|
||
Merchant 30
|
||
|
||
Healer 31
|
||
|
||
Teller 31
|
||
|
||
Questor 31
|
||
|
||
Prisoner 31
|
||
|
||
Beggar 31
|
||
|
||
Trainer 32
|
||
|
||
Guard 32
|
||
|
||
Predefined World Types 33
|
||
|
||
Outdoors 33
|
||
|
||
Big City, Small Town 33
|
||
|
||
Dungeon 33
|
||
|
||
Hideout 33
|
||
|
||
Houses and Castles 34
|
||
|
||
Arena 34
|
||
|
||
End Game 34
|
||
|
||
The Magic System 35
|
||
|
||
Personal Magic 35
|
||
|
||
External Magic (Spells) 36
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
D C G A M E S
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Version 4.0
|
||
|
||
|
||
|
||
WORLD BUILDER USER'S GUIDE
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
August 1995
|
||
|
||
|
||
|
||
|
||
|
||
(c) DC Software, 1989-1995
|
||
|
||
7908 Kettlewood Court
|
||
|
||
Plano TX 75025
|
||
|
||
(214)-491-1579Introduction
|
||
|
||
A Note from the Author
|
||
|
||
I've been working on version 4.0 of DCGAMES for almost 2 years,
|
||
with a big break in continuity due to a 14 month stay overseas
|
||
during which I made little progress. I hope that the new
|
||
features make it worth your while.
|
||
|
||
The DCGAMES system gives you, the game author, the ability to
|
||
write a complete adventure/role playing game without having to
|
||
write a line of code, draw any graphics, create music or sound
|
||
effects, etc.
|
||
|
||
It also gives you all the ability to do all of the above,
|
||
allowing you to trim, modify, extend or replace any part of the
|
||
system that you want. This is accomplished by several means:
|
||
|
||
The game system gives you a complete set of landscaping,
|
||
character and object graphics tiles, which you can use to create
|
||
your adventure without having to draw any yourself.
|
||
|
||
|
||
|
||
Registered users can use the graphics block editor to trim,
|
||
modify, extend or replace the tiles to your specific needs.
|
||
|
||
The game system supports generic Sound Blaster and AdLib sound
|
||
and music cards, and includes a good set of pre-recorded sound
|
||
effects for you to use,
|
||
|
||
|
||
|
||
And, you can trim, modify, extend or replace the sound effects,
|
||
as well as add recorded voices for your characters and mood
|
||
seting music.
|
||
|
||
|
||
|
||
The game system supports just about any VGA or SuperVGA graphics
|
||
card, and does not tie you to any specific graphics mode. You
|
||
decide what resolution you want to use. Your game can be run in
|
||
any of the supported resolutions, regardless of what resolution
|
||
you created it in!
|
||
|
||
The game provides a complete set of rules (scripts) implementing
|
||
character classes, object types, magic, different types of
|
||
worlds, etc.
|
||
|
||
|
||
|
||
The script language enables you to change just about every
|
||
aspect of the game. You have complete control over every
|
||
character, object and world in the game. Almost every single
|
||
aspect of game play is controlled from a script that you can
|
||
modify to fit any requirement you can think of.
|
||
|
||
The main benefit of the DCGAMES system is that you have complete
|
||
control over the game. You no longer have to wait for me to add
|
||
a new feature, you can do it yourself! Or, if you choose to
|
||
wait, you'll have to wait a lot less, since the new feature you
|
||
have in mind can most likely be implemented using scripts.
|
||
|
||
I am already working on additional enhancements, like:
|
||
|
||
File I/O to allow you to read and write data files under script
|
||
control.
|
||
|
||
Container objects, to be able to put multiple things into a
|
||
container and carry the container (for example, chests, bags,
|
||
magic books!, etc.)
|
||
|
||
Line-Of-Sight testing to implement dark areas (that you can't
|
||
see) as well as prevent the player from seeing things that are
|
||
behind a wall, for example.
|
||
|
||
Light and darkness (as in night and day as well as in places
|
||
where you need a light source to see in, like caves).
|
||
|
||
Animation, where each character moves according to his/her own
|
||
schedule, even when you are not around.
|
||
|
||
Animation of an individual character in the form of moving
|
||
figures. When you move from one place to another, the character
|
||
'walks' instead of must jumping from one square to another (Most
|
||
likely this will be through the use of sprites or a set of
|
||
graphics blocks that are displayed one after the other in
|
||
sequence).
|
||
|
||
Add your own ideas to the list!
|
||
|
||
Many of the ideas above were sent in by users that are actively
|
||
creating adventures and role-playing games. The one rule that
|
||
you must always remember is that there are no rules. Feel free
|
||
to try something new. Don't stick to the current definition of
|
||
adventure or role playing game, and by all means, if you can't
|
||
figure out how to do something, no matter how strange, give me a
|
||
call. The worst thing that can happen is that I'll tell you it
|
||
can't be done, the best thing is that it might be easy, and if
|
||
it isn't, I might add your idea to my list and maybe one day it
|
||
WILL be easy!
|
||
|
||
I want to thank all of you who have sent in your registration
|
||
(HINT!) and specially those that took the time to send in their
|
||
ideas, constructive criticism and just plain kudos. You are the
|
||
reason I keep working into the wee hours of the morning.
|
||
|
||
I hope you enjoy creating adventure and role-playing games, and
|
||
please send me a copy of any games you write!
|
||
|
||
Sincerely,
|
||
|
||
|
||
|
||
|
||
|
||
David A. Hernandez
|
||
|
||
DBA, DC SoftwareGeneral Information
|
||
|
||
The DC Software Graphics Adventure Game Builder is a tool that
|
||
will allow you to create graphics based adventure and role
|
||
playing games with a minimum effort and no programming knowledge.
|
||
|
||
The basic premise in DCGAMES is that you are an artist and you
|
||
have a story to tell. You want to create a world in which your
|
||
story takes place, and have all the pieces of a complex puzzle
|
||
that the game player must unravel.
|
||
|
||
Catering to both the casual user as well as the serious game
|
||
developer, the system provides maximum flexibility by providing
|
||
a complete set of world, character and object elements that you
|
||
can configure and combine with ease. The serious developer can
|
||
modify the predefined elements, changing the rules of the
|
||
universe to fit his/her particular needs, and can create totally
|
||
new types of worlds, characters and objects, as well as control
|
||
almost every aspect of game play.
|
||
|
||
Each world, character and object in your adventure can be
|
||
customized in many different ways to provide that uniqueness
|
||
that is the essence of your creation. There are 5 increasingly
|
||
more complex ways to customize your game:
|
||
|
||
You can configure each world, character and object through the
|
||
extensive set of attributes that each of them has. For example,
|
||
there is a big difference between a Battle-Axe, which causes 8
|
||
points of damage, has a reach of 1 square, requires 2 hands to
|
||
wield and weights 15 pounds, and a Laser Gun which causes 40
|
||
points of damage, has a reach of 10 squares, requires 1 hand to
|
||
wield, weights 2 pounds and an Energy-Pak to operate (as
|
||
ammunition), yet these two objects are different only in their
|
||
attributes, which are set when you create the object using the
|
||
DCWORLD program or from a script.
|
||
|
||
If you need something to work just a little bit different, you
|
||
can modify the default scripts as much as you want. For
|
||
example, the default scripts do not allow wizards to use weapons
|
||
that weight more than 5 pounds, or need more than one hand. You
|
||
could change this to allow wizards to use only edged weapons
|
||
that weight less than 2 pounds.
|
||
|
||
You can add new classes of an existing object, character or
|
||
world type. For example, there are 3 classes of weapons
|
||
currently defined, blunt, edged and missile. You could create a
|
||
new weapon laser which is like a missile weapon, but only
|
||
reflective armor will work against it. You would also add a
|
||
reflectiveness attribute to the armor type.
|
||
|
||
You can also extend the default scripts to add new types. You
|
||
could create a new character type that is a thief; they get a
|
||
better chance at detecting hidden traps, don't wear heavy armor
|
||
and can usually get a better price when you bargain. Or you can
|
||
create a bomb type, which will cause extensive damage to objects
|
||
and characters in the area where it explodes.
|
||
|
||
The ultimate customization is to create a brand new script which
|
||
handles the needs of a single world, character or object.
|
||
These specialized scripts are what allows you to create truly
|
||
professional games. Only the main characters in a story would
|
||
have personalized scripts.
|
||
|
||
As you can see, it's probably a good idea to learn about
|
||
scripts, but it is NOT indispensable, nor do you need to learn
|
||
how to write scripts right away. Let's first look at each of
|
||
the building blocks provided and their default attributes and
|
||
behaviors, and you will see that you can probably write the game
|
||
without writing a single line of script.
|
||
|
||
In fact, I strongly suggest that you put off writing any scripts
|
||
until you have most of the game in place. When you've done
|
||
most of the work, go back and determine which parts of the game
|
||
could use some specialized handling.
|
||
|
||
Hardware Requirements
|
||
|
||
DCGAMES 4.0 requires at least a VGA card. While it's possible to
|
||
run the system on lesser graphics devices, it creates a logistic
|
||
nightmare to support all of them. Almost all registered users
|
||
have a VGA card by now, so it shouldn't cause a big problem.
|
||
|
||
It also supports SuperVGA cards, with resolutions up to
|
||
1024x768x256, but the best practical mode is 640x480 with 256
|
||
colors on SVGA cards and 640x480 with 16 colors on regular VGA
|
||
cards.
|
||
|
||
The system will run with 640KB of memory, but it does a lot
|
||
better if you have extended or expanded memory available. It
|
||
currently uses this memory to cache the graphics tiles, but a
|
||
future version will probably run in protected mode to get direct
|
||
access to that memory.
|
||
|
||
If you have a SoundBlaster or compatible sound card, the system
|
||
supports voice (.VOC) and music (.CFM) playback. Voice files can
|
||
also be played over the PC speaker, but sound quality suffers
|
||
significantly.
|
||
|
||
Shareware
|
||
|
||
This software is distributed as shareware. You may copy and
|
||
distribute this game to other people in accordance with standard
|
||
shareware practice, including that you don't distribute partial
|
||
copies of the system and that you may charge a reasonable fee
|
||
for your distribution service.
|
||
|
||
If you find that this game system meets your needs and continue
|
||
to use it beyond a reasonable trial period, you should register
|
||
it with DCSOFTWARE by filling in the registration form.
|
||
|
||
Note: The graphics block editor (DCBLOCK.EXE) is NOT part of the
|
||
shareware product. It is available only to registered users.
|
||
|
||
Upon registration you will recieve the latest copy of the
|
||
system, including free updates for at least 1 year, printed
|
||
documentation, example games, etc.
|
||
|
||
The complete product does NOT fit into a single diskette, and is
|
||
usually packaged using PK-Ware's PKZIP product or some other
|
||
archiving program.
|
||
|
||
You can find this product in CompuServ in the GAMERS forum,
|
||
Library 9 (CRPG). Look for file DCGTXT.LST which contains a
|
||
complete list of all DCGAME component files.
|
||
|
||
You may also find on the Internet. Use 'archie' to find DCG400
|
||
or DCGAMES4, or visit my wave page at
|
||
'http://www.iadfw.net/davidh1/index.html' for more info.
|
||
|
||
Getting Started
|
||
|
||
Basic Building Blocks
|
||
|
||
Your adventure consists of a set of worlds, characters, objects
|
||
and scripts that together create a story that the game player
|
||
will be a part of.
|
||
|
||
The DCWORLD program is used to create your worlds and populate
|
||
them with characters and objects. It also allows you to
|
||
configure each of these elements by specifying values for their
|
||
most important attributes, and assigning scripts to be used by
|
||
each of the elements.
|
||
|
||
Should you need to modify, extend or write a script, you will
|
||
need to see the Script Language User's Guide, which contains a
|
||
complete explanation of how to do these things.
|
||
|
||
The Graphics System
|
||
|
||
The DCGAMES system includes a rich set of predefined
|
||
landscaping, character and object graphics for a variety of
|
||
graphics modes. In general, the more colors or the higher the
|
||
resolution, the more disk space is needed to hold the graphics
|
||
files. You will only need to have the graphics files for the one
|
||
mode that you intend to use to develop or play your games. Your
|
||
adventure will be created independent of the graphics mode, so
|
||
other people can play it at other resolutions by using a
|
||
different set of files.
|
||
|
||
Colors Resolution Description Mode
|
||
|
||
256 320x200 VGA low resolution VLO
|
||
|
||
16 640x480 VGA high resolution VHI
|
||
|
||
256 640x480 SuperVGA VH1
|
||
|
||
256 800x600 SuperVGA VH2
|
||
|
||
256 1024x768 SuperVGA VH3
|
||
|
||
|
||
|
||
Note: CGA, EGA and Tandy-1000 graphics modes are no longer
|
||
supported. There was no demand for them and they were difficult
|
||
to support.Creating a new game
|
||
|
||
You should install DCGAMES according to the installation
|
||
instructions. This documentation assumes that you have done so
|
||
and have the following setup:
|
||
|
||
The directory C:\DCHOME contains the system files, such as
|
||
executable programs, graphics tiles, etc.
|
||
|
||
The DOS environment PATH includes C:\DCHOME
|
||
|
||
The EXAMPLE game has been installed in C:\EXAMPLE
|
||
|
||
To start creating your game, you would type:
|
||
|
||
C:\> mkdir \mygame
|
||
|
||
C:\> cd \mygame
|
||
|
||
C:\mygame> dcworld 1
|
||
|
||
|
||
|
||
However, for the purposes of this exercise, we will use the
|
||
example game as a starting point, so instead type:
|
||
|
||
C:\> cd \example
|
||
|
||
C:\example> dcworld
|
||
|
||
The world editor will go to world # 0, and position the cursor
|
||
over door # 0.
|
||
|
||
|
||
|
||
The text area (at the bottom) shows information on the world you
|
||
are currently working on (World 000, name Medan, Horizontal
|
||
(Width) 100, Vertical (Height) 76, Number of objects 15), and
|
||
the current mode (Move) and drawing coordinates (25,70), all in
|
||
the first line. The rest of the text area shows the commands
|
||
and function keys you can use to create your world.
|
||
|
||
The second area is the large window, which shows the as much of
|
||
the current world as possible. When you create a new world,
|
||
it's default size is 18 blocks wide by 11 blocks tall, and the
|
||
entire world is covered with the first landscaping block in the
|
||
graphics file, which happens to be grass.
|
||
|
||
The third and last area of the screen is the column on the right
|
||
hand side, which shows the palette of landscaping graphics
|
||
blocks.
|
||
|
||
You can use the mouse to select a landscaping block by clicking
|
||
on the tile in the palette. Since more blocks are available than
|
||
can be shown on screen, you can click on the triangles at the
|
||
top and bottom of the palette to scroll through it. You can
|
||
also click with the LEFT mouse on the palette to display a
|
||
larger palette including additional information on each of the
|
||
tiles:
|
||
|
||
|
||
|
||
You are now looking at a full page of graphics landscaping
|
||
blocks. You can select a tile using the mouse or move the cursor
|
||
with the arrow keys and and press Enter (or Return) to select.
|
||
|
||
You can also see the other pages using the PgDn and PgUp keys to
|
||
move from one page to the other.
|
||
|
||
The text to the right of each block indicates the density of the
|
||
block. During game play, the CONTROL script will use the land
|
||
density to determine where the player can go, taking into
|
||
account the type of terrain and any vehicles the player may be
|
||
using.
|
||
|
||
Now go back to the main screen by selecting any landscape tile
|
||
or pressing the ESCape key to cancel the operatoin. We are going
|
||
to make some changes to the landscaping.
|
||
|
||
Selecting different landscaping blocks, build a small island
|
||
just of the coast. If you want to shift your view of the world,
|
||
you can use the Ctrl-Left and Ctrl-Right arrows to shift it left
|
||
or right, and use the Ctrl-PgDn and Ctrl-PgUp to shift it down
|
||
or up.
|
||
|
||
You can use the mouse to select tiles and click in the desired
|
||
location to drop that tile into the world, or you can use the
|
||
keyboard to move the cursor and press the Insert key to drop it.
|
||
Note: you can also press the Space key to toggle the keyboard
|
||
drawing mode from MOVE to DRAW and viceversa. When the mode is
|
||
DRAW, moving with the cursor keys will drop the currently
|
||
selected tile on top of the new cursor position.
|
||
|
||
If you have a numeric keypad, make sure NumLock is not selected
|
||
(most keyboards have a light indicating if it is or not). The
|
||
keys in the keypad double as arrow keys when the NumLock is not
|
||
selected (8 is up, 6 is right, 2 is down, 4 is left). To make
|
||
it easier to work, the other numeric keys, which double as Home,
|
||
PgDn, End and PgDn also work as arrow keys for diagonal
|
||
movement. Try to move around and explore the world you are now
|
||
looking at.
|
||
|
||
Note: If you press the Esc key, all changes you have made to the
|
||
current world's landscaping, objects and characters are
|
||
discarded and a new copy is reloaded.
|
||
|
||
The following commands can be useful when creating the worlds:
|
||
|
||
F1 - Save
|
||
|
||
Saves the changes you have made to disk. A save is automatically
|
||
done when you either exit the program or go to edit another
|
||
world. If you press the Esc key, all changes you have made to
|
||
the current world since the last save are discarded.
|
||
|
||
F2 - Parameters
|
||
|
||
Allows you to change some of the configuration parameters for
|
||
the game. This includes how time flows in the game system as
|
||
well as the images used for random monsters of progresively
|
||
larger (tougher) size.
|
||
|
||
F3 - Copy World
|
||
|
||
Makes an exact duplicate of another world, replacing the current
|
||
world. For example, if you want to have 2 houses that look the
|
||
same, you can create one, then edit the other world and just
|
||
duplicate the one you already created. You can then modify the
|
||
copy. Again, if you have not saved, pressing Esc will discard
|
||
the changes and revert to the original.
|
||
|
||
F4 - Full Landscaping Palette
|
||
|
||
Displays the landscaping blocks. Same as clicking on the
|
||
landscaping palette with the left mouse button.
|
||
|
||
F5/F6 Previous/Next World
|
||
|
||
Takes you to the previous or the next world respectively in
|
||
numerical order (not through a door). If you press F5 when you
|
||
are in world 0, or F6 when you are in the last world (highest
|
||
number), you will be taken to the next world above the last one
|
||
and given a chance to create it. Changes to the current world
|
||
are saved to disk whenever you move to another world.
|
||
|
||
F7 - Doors
|
||
|
||
Highlights the "doors" in the current world that are visible on
|
||
the viewport using the FRAME block from the DCSYSTEM tiles.
|
||
|
||
F8 - Save Screen
|
||
|
||
This "undocumented" feature saves the current screen to a file
|
||
in PCX format. I used it screen-capture the images in this
|
||
document. It creates a file named WSCRNnnn.PCX, where nnn starts
|
||
with 000 and is incremented every time you press F8 during a
|
||
single execution of DCWORLD.
|
||
|
||
Flood Landscape (F9)
|
||
|
||
Fills the entire world with the current graphics block. You
|
||
might want to use this command when you are creating a world
|
||
where most of the landscaping is of a single type. For example,
|
||
the outdoor world would usually be flooded with a graphics block
|
||
representing an ocean. The continents and islands can then be
|
||
manually created.
|
||
|
||
C)opy
|
||
|
||
Remember the object or character that you are highlighting,
|
||
because you want to create a similar one later.
|
||
|
||
D)rop
|
||
|
||
Create an identical copy of the currently remembered object or
|
||
character, without editing the object or character to change it.
|
||
|
||
P)ut
|
||
|
||
Create an object or a character. You are asked what type you
|
||
want to create. If the object or character being created is of
|
||
the same type as the one being remembered, the object editor
|
||
presents you with that object as a starting point for your new
|
||
on.
|
||
|
||
G)et
|
||
|
||
Remove an object from the world, but remember it so you can
|
||
D)rop it somewhere else or P)ut it down with modifications.
|
||
|
||
J)ump
|
||
|
||
Pressing the letter J will allow you to jump directly to another
|
||
world by providing the world's number.
|
||
|
||
R)esize
|
||
|
||
Pressing the letter R will allow you to change the size of the
|
||
current world without destroying your current design. If the
|
||
new world is larger, you are allowed to specify if you want to
|
||
center the old landscaping over the new world, or whether it
|
||
should be left or right justified within the new world. If the
|
||
new world is smaller, the old world is truncated, and again you
|
||
can specify whether the old world should be centered on the new
|
||
one (i.e. truncated on both sides) or justified (truncated on
|
||
one side only).
|
||
|
||
W)orld
|
||
|
||
Pressing the letter W will bring up a screen in which you can
|
||
see the extended information about the world, and you can modify
|
||
the world's name, type and other attributes.World Information
|
||
|
||
Now that you know how to paint a world, let's take a look at the
|
||
first screen that allows you to modify the world's attributes.
|
||
To display the screen, press the letter W.
|
||
|
||
The screen should look something like this:
|
||
|
||
|
||
|
||
You can use the arrow keys to move from one field to another on
|
||
the screen. The field you are currently on is displayed in
|
||
reverse mode. You can type in a value for any field that you
|
||
can get to (some fields, like the world's number, cannot be
|
||
modified).
|
||
|
||
In this screen, you can set the world's name (up to 15
|
||
characters), select a type, change the world's size (but it
|
||
destroys the current world; see the R)esize command on the main
|
||
screen to change the size without loosing the world's
|
||
landscaping or contents).
|
||
|
||
For a complete list of world types and a description of the
|
||
differences between them, see the section Standard World Types
|
||
later in this document.
|
||
|
||
The level field allows you to specify the minimum level that the
|
||
playing character must have before it is allowed to enter this
|
||
world. It usually applies only to special purpose worlds, such
|
||
as dungeons, or places that you don't want an inexperienced
|
||
character going to.
|
||
|
||
The edge field is used to indicate which door (each world has 32
|
||
doors) will be taken when the player walks off the edge of the
|
||
world. The edge door will usually be the same door through
|
||
which you entered the world in which you are. Door 0 is the
|
||
default edge door.
|
||
|
||
Note that worlds of type outdoors are different in that when the
|
||
player reaches the edge he/she just wraps around to the other
|
||
side of the world. The world is round!
|
||
|
||
The long table shows every door in the current world (in two
|
||
pages), the location of the door in the world, an indication of
|
||
whether the door is automatic (the player enters the door by
|
||
just walking over it) or not (the player must specifically enter
|
||
the door), the destination world, destination door or X, Y
|
||
location in the destination world, as well as the # of the text
|
||
record that will be displayed when you enter or exit the current
|
||
world through the specific door, and whether the text is
|
||
displayed every time or just once.
|
||
|
||
Note that door 0 is located at 25, 70; it is an automatic door
|
||
(Auto=Yes) and leads to a world called "your home," door 0.
|
||
Since the door leads to another door, no X/Y location is given
|
||
for the destination. If the door leads to a location
|
||
independent of a door in the destination world, the door # would
|
||
be n/a and the X/Y fields would have numbers.
|
||
|
||
The last 4 columns indicate, for each door, whether a specific
|
||
text record is to be displayed when the player enters or exits
|
||
through the given door, and whether it is to be displayed only
|
||
the first time or every time that the door is used for that
|
||
purpose.
|
||
|
||
On this screen, you can press Esc to throw away any changes you
|
||
have made, and F10 to save the changes and return to the main
|
||
screen.Creating Doors
|
||
|
||
Back on the main screen, move the character to location 25, 70
|
||
(which is right where the game started). At this location,
|
||
press E (for Enter), and the current world will be saved and the
|
||
door over which the cursor is positioned will take you to its
|
||
destination.
|
||
|
||
You should see the following screen:
|
||
|
||
|
||
|
||
You are looking at the world that represents the adventurer's
|
||
home. Notice that landscaping blocks have been used to create
|
||
walls, windows, doors, and furniture. Some of the furniture
|
||
(the bed, a large table with chairs and a chest of drawers) is
|
||
actually created by multiple blocks. When the adventurer is
|
||
playing the game, the density of the landscaping block will tell
|
||
the game driver where the adventurer can walk, and where not.
|
||
|
||
Now, if you press W, you will be able to see the information on
|
||
this world. You may notice that door 0 leads back to the main
|
||
world (Medan), and to the same door which leads to the door we
|
||
came in from. The doors in each world are independent of the
|
||
doors in the other worlds, but you will normally want the doors
|
||
to exist in both directions, so that pressing E (for Enter)
|
||
multiple times will just take you from one world to the other
|
||
again and again.
|
||
|
||
Door number 0 in this world is located exactly outside the door
|
||
graphics block. When the player enters the door in the main
|
||
world, the party is transferred to this world and positioned
|
||
over the destination door. To exit this world, the character
|
||
may enter the door or may just walk of the edge of the world,
|
||
which for every type of world except outdoors means that the
|
||
character leaves the world through the Edge door (the last field
|
||
in the second line on the world information screen.
|
||
|
||
To create a door, you should move the graphics cursor to the
|
||
location over which you want the door to exist, then use the
|
||
O)pen command to create the door. You can also enter the
|
||
information in the W)orld information screen.
|
||
|
||
Press F10 to return to the main screen. You may experiment
|
||
opening multiple doors in this world that lead back to the same
|
||
world. For example, position the cursor somewhere in the house,
|
||
and O)pen a door (say door # 1) to destination door 0 in world #
|
||
1 (the current world). Moving the cursor over the position that
|
||
hold the new door will and pressing E will transfer you through
|
||
that door to door 0. Pressing E over door 0 will not, however,
|
||
transfer you back to door 1, instead it takes you back to the
|
||
main world, since that is where that door leads to).
|
||
|
||
Creating Objects
|
||
|
||
Now that you know how to create a worlds and how to open doors
|
||
between them, it is time to create a few objects that may be
|
||
used during the game. To create an object, you use the P)ut
|
||
command and select O)bject. You should see the following screen:
|
||
|
||
|
||
|
||
If you have not created objects before, you are asked to select
|
||
a graphics block to represent the object. The above screen
|
||
shows the first page of the default graphics blocks for objects
|
||
that are included in DCGAMES. The names by each object are the
|
||
names of the graphics blocks, and indicate what the object was
|
||
intended for. Note that the object type show is a recomended
|
||
type. You can use any object tile for any type of object, but
|
||
you shouldn't do thing sthat don't make sense. For example,
|
||
don't take the image of the turkey (which represents food) and
|
||
use it to create a weapon!
|
||
|
||
Once you select a graphics block you are presented with the real
|
||
Create Object screen. This screen allows you to specify the
|
||
object's attributes (like Name, Type, Class, Weight, etc). You
|
||
can also change the image you originally selected for that
|
||
object.
|
||
|
||
The sample screen below shows an object for which the attributes
|
||
have been set:
|
||
|
||
|
||
|
||
The following is a quick discussion of the main object
|
||
attributes and what they are used for. The complete set of
|
||
attributes is listed in the Script Reference Guide, where you
|
||
can see how to manipulate objects and set their attributes from
|
||
within a script program.
|
||
|
||
Remember that many of the attributes and their use are set by
|
||
the scripts, which can be modified. This is a description of
|
||
the default behavior as implemented by the predefined scripts
|
||
that are included with the game system.
|
||
|
||
Type
|
||
|
||
The type attribute is used to determine what the object can be
|
||
used for. Food can be consumed, weapons can be wielded, armor
|
||
can be worn, vehicles can be ridden. The DCGAMES system
|
||
includes the following predefined types: Food, Weapon, Ammo,
|
||
Armor, Shield, Amulet, Ring, Potion, Scroll, Staff, Chest, Key,
|
||
Gem, Book, Gold Sack, Torch, Lantern, Rope, Hooks, Mirror, Signs
|
||
and Vehicle.
|
||
|
||
You can use the +/- signs to scroll through the list of valid
|
||
types. You can, of course, create your own object types using
|
||
the Script language to modify the OBJECT.SCR file, which
|
||
controls the behavior of all object types.
|
||
|
||
Class
|
||
|
||
Within each type of object, the class attribute allows you to
|
||
further differentiate between objects of the same type. For
|
||
example, a Weapon may be a Blunt, Edged or Missile weapon, and
|
||
an Amulet's class indicates the type of spell that the amulet
|
||
has.
|
||
|
||
Once again, you can create new classes or modify the existing
|
||
ones if they don't fit your needs.
|
||
|
||
Graphics Block
|
||
|
||
You have already chosen the graphics block you will use, but you
|
||
can change the block by using the +/- keys or pressing F2 and
|
||
choosing another graphics block from the list of blocks shown.
|
||
|
||
Registered users can create new graphics blocks by using the
|
||
DCBLOCK graphics block editor.
|
||
|
||
Description
|
||
|
||
This field holds the name of the object. Up to 15 characters
|
||
may be used. This name will be used to describe the object.
|
||
The object in the example is called "Long Bow".
|
||
|
||
Script
|
||
|
||
The behavior of all objects is controlled by the OBJECT script.
|
||
This script handles all generic objects, such as food, weapons,
|
||
armor, etc. The script can be extended to handle new types of
|
||
objects, or classes of any given type. In some rare cases you
|
||
may want to create an object that has a behavior that is
|
||
different from the generic objects in some particular way. In
|
||
that case, you will write a script to handle that object, and
|
||
give the name of the script in this field. Whenever the object
|
||
is used or referenced in the game, your script will be allowed
|
||
to control the object's behavior. If your script does not
|
||
handle the specific behavior, the OBJECT script will be used
|
||
instead.
|
||
|
||
PCX File
|
||
|
||
Each object can have a PCX graphics file associated with it,
|
||
which is displayed when you look at the object. Specify a value
|
||
between 1 and 999. The PCX file should be called OPICT###.PCX,
|
||
where ### is the 3 digit number (001 through 999).
|
||
|
||
Value
|
||
|
||
The value of an object is the amount that you would be expected
|
||
to pay for it if you bought it at a local store. If you SELL the
|
||
object, you will usually get about 1/2 of the value. For a CHEST
|
||
or GOLD SACK, the value indicates the amount of gold found in it.
|
||
|
||
The value field is entered in silver pieces (SP), and 10sp is
|
||
equal to 1 gold piece (GP).
|
||
|
||
Count
|
||
|
||
When you create an object, you may want to specify that the
|
||
graphics block represents more than a single object. For
|
||
example, ammunition (such as arrows) would be represented by a
|
||
quarrel full of arrows. In that case, the count would be the
|
||
number of arrows being represented.
|
||
|
||
Weight
|
||
|
||
When you create an object, you may specify it's weight. An
|
||
object with a weight of 1 is considered to be weight-less. A
|
||
weight of 0 is not valid.
|
||
|
||
A character's ability to carry objects varies depending on the
|
||
character's type and strength. Objects with a weight between 1
|
||
and 255 may be carried. Objects with weight higher that 255 are
|
||
considered to be too heavy to be moved. This is, of course,
|
||
customizable in the OBJECT script.
|
||
|
||
Weigh Text displayed if you try to move the object
|
||
|
||
999 The <object> is much too heavy
|
||
|
||
998 The <object> can't be moved
|
||
|
||
997 Why would you want to take the <object> with you?
|
||
|
||
256+ You can't move it.
|
||
|
||
|
||
|
||
Other Attributes
|
||
|
||
Each object may have up to 5 different variable attributes.
|
||
These attributes are used for different purposes depending on
|
||
the object's type. For weapons, the 5 attributes are: hands
|
||
(the number of hands needed to wield the weapon), range (how far
|
||
away from the player can the weapon reach), damage (approximate
|
||
damage done with the weapon) and ammo code (if the weapon is a
|
||
missile class weapon, then it uses ammunition of class ammo code.
|
||
|
||
End Game
|
||
|
||
This field is a number that can be used to indicate that the
|
||
game should finish under special conditions, such as when
|
||
someone GETs the object, or GIVEs it to someone else. There are
|
||
much better ways of controlling the end of the story. This
|
||
field is retained for compatibility with games written with
|
||
older versions of DCGAMES, in which the number of ways to end a
|
||
game were pretty limited.
|
||
|
||
Text
|
||
|
||
Some objects (such as books and signs) may have some text
|
||
written on them. The text field allows you to specify a text
|
||
record which contains the object's text. Each text record can
|
||
contain up to 16 lines of text. At the bottom of the screen you
|
||
will see the first six lines of the text record. Pressing F4
|
||
will allow you to access all 16 lines.
|
||
|
||
Creating Characters
|
||
|
||
You can populate your worlds with all kinds of characters. Each
|
||
character created has it's own unique characteristics, which
|
||
vary depending on the character's type, class and statistics.
|
||
|
||
To create a character, you press 'C' and fill in the form. Like
|
||
you did with objects, you can 'G'et a character and then
|
||
'C'reate it somewhere else, or you can 'D'uplicate a character
|
||
and 'C'reate a new one based on the old one.
|
||
|
||
|
||
|
||
Type
|
||
|
||
The character type indicates the normal behavior of the
|
||
character. Unlike object types, each character type has it's
|
||
own script that handles the character's behavior. By default, a
|
||
character's script has the same name as the character type.
|
||
|
||
DCGAMES includes the following predefined character types:
|
||
Regular, Hostile, Merchant, Healer, Civilian, Teller, Quester,
|
||
Beggar, Trainer, Guard, Prisoner.
|
||
|
||
The section Predefined Character Types contains a more detailed
|
||
description of each character type as implemented by the
|
||
corresponding script. You are welcome to modify the defined
|
||
types or invent new ones.
|
||
|
||
Class
|
||
|
||
Where the character type was used to indicate the profession of
|
||
the character, it's class is used to indicate the capabilities
|
||
of the same. Currently defined classes are: Human, Elf, Dwarf,
|
||
Archer, Wizard and Guard.
|
||
|
||
Graphics Blocks
|
||
|
||
A character may have two graphics blocks associated with it. The
|
||
first one is the one that is used to represent the character in
|
||
the adventure. The second one is only used under certain
|
||
conditions: For Hostile characters, the second graphics is used
|
||
to represent the followers or members of the band. For Prisoner
|
||
characters, the first graphics represents the character as a
|
||
prisoner, while the second one represents the character once
|
||
the prisoner has been rescued. Of course, under script control
|
||
you may use the second graphics block for any purpose.
|
||
|
||
A large number of graphics blocks are available to select from,
|
||
and you can create additional ones. Any graphics block can be
|
||
used to represent any character type. For example, a bartender
|
||
can be a massive troll, and a little girl can be the leader of a
|
||
band of monsters ravaging the country side. Your common sense is
|
||
the only restriction. Be consistent.
|
||
|
||
Name
|
||
|
||
A character can have a name of up to 15 characters.
|
||
|
||
PCX File
|
||
|
||
A graphics PCX file named CPICT###.PCX can be associated with
|
||
the character, where ### is a number between 000 and 999. A -1
|
||
indicates that NO graphics file is associated with the character.
|
||
|
||
RSC File
|
||
|
||
If you have a Sound Blastertm or compatible card, characters can
|
||
handle speech in full voice. An .RSC file may contain any
|
||
number of voice files in .VOC format. You can use the
|
||
"voice"script command to play it.
|
||
|
||
An RSC file is formed using the PACK utility, and has name
|
||
VOICE###.RSC, where ### is a number between 000 and 999. Again,
|
||
-1 indicates that no voice file is associated with the character.
|
||
|
||
Note that version 3.0 voice files were called .VFL. Use the
|
||
UNMKVFL utility to unpack old VFL files and then use the PACK
|
||
utility to re-pack them as RSC files.
|
||
|
||
Script
|
||
|
||
As mentioned before, each character type has a unique script
|
||
associated with it. The default script for a character has the
|
||
same name as the character's type. In some special cases, you
|
||
may want to create a unique script for a special character.
|
||
Such is the case of JIMMY, a character that is supposed to be
|
||
the player's best friend in the example adventure game. A
|
||
special script file (JIMMY.SCR) is needed to handle interaction
|
||
between the player and the Jimmy character.
|
||
|
||
Count
|
||
|
||
The count field is used to indicate the number of characters
|
||
represented by a single character block. It is used mostly for
|
||
Hostile and Guard types, which represent multiple enemies during
|
||
a battle.
|
||
|
||
Treasure
|
||
|
||
Each character can carry an amount of money. The amount is
|
||
given in silver pieces (where 10sp = 1gp). For some character
|
||
types, this field is used for specific purposes. See Predefined
|
||
Character Types for more details.
|
||
|
||
Text
|
||
|
||
All characters except those with hostile intentions can have a
|
||
block of 16 lines of text associated with them. On each line,
|
||
the first 8 characters are a topic of conversation, and the rest
|
||
of the line is their response if you mention the topic.
|
||
|
||
Some topics have predefined answers in case none has been
|
||
provided by the designer. In such a case a standard answer is
|
||
given, such as NAME, JOB, HELLO, BYE. A DEFAULT keyword is used
|
||
to respond when an unknown topic is mentioned.
|
||
|
||
Note that all text records are all stored in the TEXT.DTA file
|
||
(both object and character text). To modify the text records
|
||
directly, use the T)ext command from the main window.
|
||
|
||
Statistics
|
||
|
||
Each character has a statistics record associated with it. The
|
||
statistics record is created with the S)tats command and is
|
||
stored separately from the characters. Multiple characters can
|
||
share a single statistics record.
|
||
|
||
A statistics record holds the following character attributes:
|
||
Level, Strength, Speed, Aim, Dexterity, Hit Points, Intelligence
|
||
(IQ) and Power. Both current and normal values are given. For
|
||
example, a magician's Power points are consumed casting a spell,
|
||
and are slowly restored back to their normal value. The current
|
||
value is how many power points are still available for casting
|
||
other spells.
|
||
|
||
In addition to these attributes, each statistics record can hold
|
||
up to 16 objects in a backpack, as well as the 6 items that can
|
||
be worn by a player (Weapon, Armor, Shield, Ring, Amulet and
|
||
Staff). Since the statistics records can be shared, you can
|
||
create a single record to represent all characters of a given
|
||
type (for example the guards of a castle), and all would carry
|
||
the same equipment and have the same attributes. If the record
|
||
is updated during game play, the update affects all characters
|
||
sharing it.
|
||
|
||
Some character types may use the statistics backpack for
|
||
different purposes. For example, a hostile character may leave
|
||
it's backpack's contents as treasure when killed, and a merchant
|
||
sells and buys the contents of it's backpack. For more details,
|
||
see Predefined Character Types.
|
||
|
||
While the game includes many predefined statistics records, you
|
||
will probably want to define custom ones for all your main
|
||
characters.
|
||
|
||
|
||
|
||
The Type, Class, Block and Name attributes are given mostly help
|
||
the game builder to remember why the record was created in the
|
||
first place.Predefined Object Types
|
||
|
||
The following is a list of object TYPES, and a description of
|
||
their basic nature and attributes which you can manipulate to
|
||
create your own unique objects. Again, remember that these
|
||
types of objects are implemented through scripts. You can
|
||
modify the way they work, add new classes to the existing types
|
||
and even create new types of your own. Most of the object
|
||
behavior is controlled by a large script called OBJECT.SCR. You
|
||
might want to print that script file and compare it with the
|
||
description shown here.
|
||
|
||
Food
|
||
|
||
A single unit of food will feed one person, and last about 500
|
||
steps. This is usually quite enough, as food is cheap and can be
|
||
carried in quantity without penalty.
|
||
|
||
Food can have a personal magic effect (cure, heal, poison,
|
||
etc..), in which case it will be kept separate from the regular
|
||
food. When creating magical food, you can specify the number of
|
||
units that will be affected, as well as whether the effect is
|
||
temporary or permanent.
|
||
|
||
Weapons
|
||
|
||
Weapons can be BLUNT, EDGED, MISSILE or MAGICAL. You specify the
|
||
number of hands needed (1 or 2), the range (in squares), the
|
||
damage done (in HP units) and the type of ammunition needed (if
|
||
any).
|
||
|
||
Some player types are restricted in the types of weapons they
|
||
can use, either by weight, or type. See the player's guide
|
||
(DCPLAY.DOC) for additional information.
|
||
|
||
Ammunition
|
||
|
||
A weapon may need some kind of ammunition. The Ammo_Code for the
|
||
weapon should match the Ammo_Type. The count is the number of
|
||
rounds available. The ammunition may have poison, or do extra
|
||
damage above the normal damage caused by the weapon. For
|
||
example, poison arrows, or explosive bullets, as opposed to
|
||
normal arrows or bullets.
|
||
|
||
Armor
|
||
|
||
Armor can increase a character's "Armor Class". The higher this
|
||
number, the better protected you will be against hits. Some
|
||
characters can't use armor, while others have a limit on the
|
||
weight of the armor they can use.
|
||
|
||
See the player's guide for restrictions on the type of armor
|
||
that can be used by the different character classes.
|
||
|
||
Shield
|
||
|
||
A shield works just like armor, but it requires a free hand.
|
||
Some characters can't use shields at all.
|
||
|
||
See the player's guide for restrictions on the type of shields
|
||
that can be used by the different character classes.
|
||
|
||
Amulets and Rings
|
||
|
||
Magical amulets and rings can be worn by anyone. They have a
|
||
limited number of charges (uses), and may have a personal magic
|
||
effect (see The Magic System elsewhere in this manual) that can
|
||
be temporary or permanent.
|
||
|
||
The amulets and rings provided with the game system associate
|
||
the color and material that the amulet or ring is made of with
|
||
the magical effect it has. When creating an amulet or ring with
|
||
the DCWORLD program (Put-object command) press F3 to see a list
|
||
of 'example' rings and amulets. The associations in these
|
||
examples are as follows:
|
||
|
||
Effect Color Stone
|
||
|
||
CURE White Pearl
|
||
|
||
HEAL Yellow Topaz
|
||
|
||
POISON Cloudy Stone
|
||
|
||
RESTORE Purple Amethyst
|
||
|
||
STRENGTH Red Ruby
|
||
|
||
DEXERITY Blue Sapphire
|
||
|
||
SPEED Brown Amber
|
||
|
||
AIM Pink Garnet
|
||
|
||
HIT POINTS Green Emerald
|
||
|
||
ARMOR CLASS Grey Granite
|
||
|
||
IQ Clear Crystal
|
||
|
||
POWER Black Onyx
|
||
|
||
|
||
|
||
Potions
|
||
|
||
Magical potions can have personal magical effects. They can be
|
||
used only once, and may have temporary or permanent effect.
|
||
Their effect is associated with the color of the potion from the
|
||
same table used for rings and amulets.
|
||
|
||
The potency of the potion is indicated by it's color. For
|
||
example, a Red Potion increases strength, but a Deep Red Potion
|
||
would be expected to either be more powerful or have permanent
|
||
effect.
|
||
|
||
Scrolls
|
||
|
||
Magical scrolls can be invoked only once. They have magical
|
||
spells that be invoked by almost anyone. The attributes vary
|
||
depending on the spell they contain.
|
||
|
||
Staffs
|
||
|
||
A magical staff requires a free hand to wield, but can cast a
|
||
magical spell. You can specify the number of charges (between 0
|
||
and 255). 255 means it never runs out and 0 means there are no
|
||
charges left.
|
||
|
||
Just like potions, rings and amulets, the Staff's effect is
|
||
associated with it's description. In this case, the material
|
||
that the staff is made of, or just it's description. Again,
|
||
these are just examples. You may use them as they are given or
|
||
create your own.
|
||
|
||
Effect Material
|
||
|
||
DESTROY Charcoal
|
||
|
||
DUPLICATE Two Sided
|
||
|
||
LEAVE Winged
|
||
|
||
RESURRECT Greenwood
|
||
|
||
INFORM Worn
|
||
|
||
LOCATE Magnetic
|
||
|
||
KILL Sharp
|
||
|
||
CONFUSE Twisted
|
||
|
||
SCARE Bone
|
||
|
||
DAMAGE Heavy
|
||
|
||
PARALYZE Hardwood
|
||
|
||
RECHARGE Energy
|
||
|
||
FLOAT Light
|
||
|
||
ANALYZE Crystal
|
||
|
||
VIEW Feather
|
||
|
||
|
||
|
||
Chests
|
||
|
||
A chest can contain gold (it's value). If the value is 0, then
|
||
the chest will contain a random number of gold pieces that is
|
||
related to the player's current hit points. Chests can be
|
||
locked, and the locks can be trapped. The traps can be poison or
|
||
bombs.
|
||
|
||
If the Lock Code of a chest is non-zero, then the chest is
|
||
locked, and must be opened using a key with a matching Key Code.
|
||
The lock can also be broken, but you run the risk of setting off
|
||
a trap (if any).
|
||
|
||
Keys
|
||
|
||
A key can open a locked chest or door. The Key_Code should match
|
||
the Lock_Code in the chest. Doors always use a Key_Code of 0.
|
||
|
||
Gems
|
||
|
||
A Gem can be invoked for type 1 magical effect. It's effect may
|
||
be temporary or permanent. A gem has a limited number of charges
|
||
(uses). It's description is that of the stone associated with
|
||
the ring or amulet.
|
||
|
||
Books
|
||
|
||
A book may have up to 16 lines of text, or have a PCX picture
|
||
associated with it. Either is shown when you LOOK at it.
|
||
|
||
Gold Sack
|
||
|
||
A gold sack will contain an amount of gold.
|
||
|
||
Torches and Lanterns
|
||
|
||
Torches and Lanterns are meant to be used in dark places. Since
|
||
light and darkness is not currently implemented, there is no
|
||
real need for torches and lanterns. In the future, there will
|
||
be, so plan to make these available (say by a local merchant in
|
||
some small town).
|
||
|
||
Rope and Hooks
|
||
|
||
Needed for climbing. (Not currently implemented)
|
||
|
||
Mirrors
|
||
|
||
Doesn't do anything usually.
|
||
|
||
Signs
|
||
|
||
Signs can have up to 16 lines of text painted on them. Signs can
|
||
hang from a wall or stand on the floor. A sign's text is
|
||
displayed when the player looks at it, unless it has a PCX file
|
||
associated with it!
|
||
|
||
Vehicles
|
||
|
||
Vehicles can be used to travel faster and easier. This is one of
|
||
the few object types that have been implemented in code rather
|
||
than in a script. The vehicle class tells the program what kind
|
||
of terrain it can be used on. This means that you can't create
|
||
new classes of vehicles, but you can certainly change the
|
||
interaction of the vehicle with the player. For example, you
|
||
might require a deed of ownership document to be in the
|
||
possession of the player before he/she is allowed to use the
|
||
vehicle, or you might require some type of fuel which is
|
||
consumed when the vehicle is in use. The fuel would be a new
|
||
object type, and the class of fuel would probably match an
|
||
attribute in the vehicle itself.
|
||
|
||
You could even write a special script for handling a vehicle.
|
||
Example: When you board a hot-air balloon you could move the
|
||
character randomly based on some 'air current' until the
|
||
character chose to land.
|
||
|
||
The following are the vehicle classes and the type of terrain
|
||
they can be used in. Note that each landscaping graphics block
|
||
(in the graphics file DCBLOCKS.mde) has an associated terrain
|
||
type which can be changed only with the Graphics Block Editor.
|
||
|
||
Vehicle Class Examples Terrain Type
|
||
|
||
None Walking Flat terrain. Rough with difficulty.
|
||
|
||
Mounted Horse Only flat and rough, but faster
|
||
|
||
All-Terrain Vehicle Car Over small obstacles (trees, etc)
|
||
|
||
Low Flyer Flying Carpet Over small obstacles and low water
|
||
|
||
Mid Flyer Helicopter, Hot Air Balloon Over water, but not high
|
||
mountains
|
||
|
||
High Flyer Air Plane Over mountains and water
|
||
|
||
Raft Raft Low Water, Rivers, Lakes
|
||
|
||
Boat Boat, S hip Deep Water (Ocean)
|
||
|
||
|
||
|
||
You cannot take a vehicle out of the world it is in, unless you
|
||
can carry it with you (weight < 256).
|
||
|
||
It is a good idea to limit the types of vehicles that can be
|
||
carried in the adventure. A good example of such a vehicle would
|
||
be a flying carpet.Predefined Character Types
|
||
|
||
Regular
|
||
|
||
This individual will talk to you about topics in it's text
|
||
record, and will JOIN the party if asked. The script
|
||
REGULAR.SCR handles this type of character.
|
||
|
||
Civilian
|
||
|
||
Similar to a regular character, but this individual is not
|
||
interested in Joining the party. The default script is
|
||
CIVILIAN.SCR
|
||
|
||
Hostile
|
||
|
||
This individual will attack on sight. Hostile characters are
|
||
the only ones that don't have a script. They are handled by the
|
||
game driver since they are animated. At a later time, when
|
||
animation is done in scripts, hostile characters may have
|
||
scripts.
|
||
|
||
In the statistics file there are 4 statistics records dedicated
|
||
to hostile characters. These records represent Small, Medium,
|
||
Large and Pirate hostiles. The main differences between the
|
||
first 3 lies in the attributes (strength, etc), weapons (damage)
|
||
and treasure (the backpack!). The 4th record is used for pirate
|
||
ships, in that it is assumed that the backpack contains a boat.
|
||
Thus, when you 'defeat' the 'pirate ship' monster, the boat
|
||
remains behind!
|
||
|
||
Merchant
|
||
|
||
This character buys and sells items. The character's backpack
|
||
contains the objects that it will sell. A merchant will only
|
||
buy items of the same type as the ones in it's backpack. For
|
||
example, if the merchant sells weapons and armor, it will also
|
||
buy any kind of weapon and armor, but will not buy shields or
|
||
rings or any other type of object.
|
||
|
||
In the statistics file there are 3 statistics records dedicated
|
||
to merchants (Magic Potions, Magic Rings & Amulets and Magic
|
||
Staffs). These statistics records are also used by the game
|
||
system to generate treasures for random monsters. The
|
||
P)arameters command can be used to change the 3 records that
|
||
will be used for this purpose.
|
||
|
||
The merchant's script is called MERCHANT.SCR.
|
||
|
||
Healer
|
||
|
||
A healer will Cure poisoning, Heal wounds, Remove cursed items
|
||
and Resurrect dead players. All of this for a price, of course.
|
||
The healer script is HEALER.SCR. Prices for services are based
|
||
on the amount of gold that the healer character is carrying.
|
||
|
||
Teller
|
||
|
||
A teller will talk to the player and (for a price) will deliver
|
||
some cryptic message. The message is stored in the teller's
|
||
text record. The entire record is displayed. No keywords are
|
||
used. Note that the teller's gold amount is the price that is
|
||
requested.
|
||
|
||
Questor
|
||
|
||
A quester will ask the player to bring him some item or rescue a
|
||
person. The backpack of the quester holds the items that are
|
||
being requested. The quest is finished when the player delivers
|
||
to the quester an object with the same Name and Type as the one
|
||
in the quester's backpack. The quester is the only character
|
||
allowed to have a character in it's backpack. This character is
|
||
not real, it is just a place holder that let's the quester
|
||
identify a person that was meant to be rescued. (See Prisoner
|
||
below).
|
||
|
||
Prisoner
|
||
|
||
A prisoner is someone that needs to be rescued. The prisoner
|
||
will join the party to escape from wherever it is being held.
|
||
When a quester character finds the prisoner to be a member of
|
||
the party, it removes the prisoner and considers the quest to
|
||
rescue the prisoner to be complete.
|
||
|
||
The PRISONER and the QUESTER script complement each other. For
|
||
example, when the player finishes a quest by returning to the
|
||
quester with the person they were looking for in the player's
|
||
party, the quester removes the person from the party and
|
||
increments that person's TEXT VOICE and PICTURE attributes. In
|
||
effect, each prisoner is expected to have two consecutive text,
|
||
voice and/or picture entries, one used while still a prisoner,
|
||
and one used when rescued.
|
||
|
||
Beggar
|
||
|
||
A beggar asks for money. If any is given, it might give a good
|
||
hint, if not, it might try to steal some money. The hints are
|
||
stored in the beggar's TEXT record, and no keywords are used.
|
||
The first line of the text record contains the beggar's opening
|
||
line or greeting, and the other 15 lines are assumed to contain
|
||
hints.
|
||
|
||
Trainer
|
||
|
||
A trainer will charge a fee to train one character in the party,
|
||
providing an expensive but quick way of increasing the
|
||
character's attributes.
|
||
|
||
The amount of gold being carried by the trainer is used as a
|
||
basis for calculating the fees that will be charged for training
|
||
in the different areas. See the TRAINER script for more
|
||
information.
|
||
|
||
Guard
|
||
|
||
The player's party is prevented from approaching a guard. This
|
||
allows the guard to prevent access to a door or a passage. When
|
||
the player talks to the guard, he/she will be given the
|
||
opportunity to provide a password or try to bribe the guard.
|
||
Once this has been done, the guard will allow the player to pass
|
||
through the guarded spot.
|
||
|
||
The amount of money being carried by the guard is assumed to be
|
||
the amount that it would take to bribe him/her. See the GUARD
|
||
script for how this is implemented.
|
||
|
||
Also, the PASSWORD is assumed to be contained in the 4th line of
|
||
the guard's TEXT block. Before scripts existed, this is where
|
||
the password was stored, and it is retained for compatibility
|
||
with previous releases. You can, of course, modify the script
|
||
to do anything you want.
|
||
|
||
Predefined World Types
|
||
|
||
When the party enters or exists a world, the world's script is
|
||
executed. If the world does not have a script, the script
|
||
WORLDDEF.SCR is executed. This script handles the features of
|
||
the following world types:
|
||
|
||
Outdoors
|
||
|
||
This is a true WORLD. If you travel long enough in any
|
||
direction, you will return to your original point of departure.
|
||
(i.e. you wrap around at the edges).
|
||
|
||
In all other world types, walking of the edge of the world takes
|
||
you out of the world through the Edge Door of that world.
|
||
|
||
In an outdoor world, random monsters may appear. When a random
|
||
monster is created, it's statistics are chosen from a group of 4
|
||
statistics records that are configured in the P)arameters
|
||
screen. The graphics used for the monsters are also configured
|
||
in the parameters screen. Outdoor worlds use Land and Water
|
||
based monster graphics.
|
||
|
||
Big City, Small Town
|
||
|
||
Walking to the edge of this world will take you out of it
|
||
through the Edge Door. This is normally the door that you
|
||
entered from. No random monsters appear inside a city or town.
|
||
Right now there is no difference between a SMALL TOWN and a BIG
|
||
CITY. In the future, there might be some.
|
||
|
||
While there is currently no penalty for taking objects
|
||
(stealing) in a town or city, it is easy to add such a feature,
|
||
and it probably will be added to the scripts soon, so don't
|
||
place loose objects that the adventurer is supposed to get in
|
||
towns or cities.
|
||
|
||
Dungeon
|
||
|
||
This is an underground cavern. Random monsters are created from
|
||
the Cave Monsters parameter graphics. If you reach the edge of
|
||
the dungeon, you will "wrap" in the same way that you do
|
||
OUTSIDE. If you wish to prevent from happening, make sure the
|
||
EDGE of the dungeon is not reachable by having solid walls
|
||
around the world.
|
||
|
||
Hideout
|
||
|
||
Currently no different than a CITY or TOWN. However, it may
|
||
later have special features that distinguish it from a normal
|
||
place.
|
||
|
||
This is a good place to put "specialty" stores. No random
|
||
monsters will appear. Walking of the edge is the same as for
|
||
CITIES and TOWNS.
|
||
|
||
Houses and Castles
|
||
|
||
No random monsters will appear in a HOUSE or CASTLE. Walking of
|
||
the edge is the same as for CITIES, TOWNS and HIDEOUTS. There
|
||
are no other special features.
|
||
|
||
In houses and castles you are allowed to take anything that's
|
||
loose. To prevent an object from being taken, make it very heavy
|
||
and the player will be unable to carry it!
|
||
|
||
Arena
|
||
|
||
This is a special world in which a monster will be created every
|
||
time you enter, as well as periodically while you are in it. It
|
||
is intended as a place where you can fight random monsters to
|
||
build up your party. The monsters have no treasure since they
|
||
are assumed to be caught and brought to the arena, rather than
|
||
free.
|
||
|
||
End Game
|
||
|
||
When the character enters this world, the game ends. This way
|
||
of ending a game was used before scripts were available. Now,
|
||
you can end the game from within a script, but this is retained
|
||
for compatibility with previous systems.The Magic System
|
||
|
||
The magic system is explained in the Game Player's Guide
|
||
(DCPLAY.DOC) in more detail. This section introduces the magic
|
||
system so you can create objects that have magical properties.
|
||
|
||
Two types of magic are implemented in the scripts. One is
|
||
personal, affecting the individual and another is external,
|
||
affecting others. Remember that this is all implemented in the
|
||
scripts, so you can change it any way you want to. You can even
|
||
remove magic altogether if it doesn't fit in with your game.
|
||
|
||
Magic is implemented throughout various scripts. The CURRITEM
|
||
script implements magical items that you wear (like rings,
|
||
amulets) or eat (food, potions, etc.). The CASTING script
|
||
implements magic for spell users. And the CONTROL script takes
|
||
care of items that get invoked (like reading a scroll or zaping
|
||
with a staff).
|
||
|
||
Personal Magic
|
||
|
||
Personal magic operates on an individual, and is usually
|
||
channeled through potions or artifacts that can be worn close to
|
||
your body such as rings, amulets and gems. The known effects
|
||
are listed in the following table:
|
||
|
||
Effect Description
|
||
|
||
CURE Cures poisoning and disease
|
||
|
||
HEAL Speeds up the healing process
|
||
|
||
POISON Causes poisoning
|
||
|
||
RESTORE Cures all wounds completely
|
||
|
||
STRENGTH Increases a subject's strength
|
||
|
||
DEXERITY Increases a subject's dexterity
|
||
|
||
SPEED Increases a subject's speed
|
||
|
||
AIM Increases a subject's aim
|
||
|
||
HIT POINTS Increases a subject's hit points
|
||
|
||
ARMOR CLASS Protects against damage
|
||
|
||
IQ Increases intelligence
|
||
|
||
POWER Increases magical power
|
||
|
||
|
||
|
||
When you create a magical object, you specify the type of magic,
|
||
the units affected and whether the effect is permanent or
|
||
temporary. For example, you might create a ring of might, which
|
||
increases hit points by 80. Rings can be used multiple times, so
|
||
you can set the number of charges to 5 and make it a temporary
|
||
effect.
|
||
|
||
In order to make the game more enjoyable, make sure your magical
|
||
tems make sense. Permanent effects and large number of charges
|
||
should result in a higher price (for example). Also, items with
|
||
permanent effect should be rare.
|
||
|
||
In the example adventure, there is a merchant in one of the
|
||
cities that sells potions. A 'red' potion (which increases
|
||
strength) is available for a relatively small amount of money,
|
||
but a 'deep red' potion (which is supposed to reflect it's
|
||
potency) costs a LOT more.
|
||
|
||
External Magic (Spells)
|
||
|
||
The second type of magic is much more powerful, and can only be
|
||
invoked by a wielder of magical power. Invoking a magical spell
|
||
consumes energy which must be replenished through rest and
|
||
meditation. Sometimes, a mage can infuse a spell into a conduit
|
||
that will hold that spell until it is released by another
|
||
subject. Example of such conduits are magical scrolls, or staffs
|
||
made of the rarest woods.
|
||
|
||
Some magical spells require concentration and meditation, and
|
||
are not suited for use during a battle, while others (marked
|
||
with *) are meant to be used in a battle only.
|
||
|
||
Effect Description
|
||
|
||
DESTROY Destroy one object
|
||
|
||
DUPLICATE Duplicate an object
|
||
|
||
LEAVE Exit a cave through teleportation
|
||
|
||
RESURRECT Bring a dead person back to life
|
||
|
||
LISTEN Bring far-away conversations to your ears
|
||
|
||
LOCATE Find all exits/entrances in the immediate area.
|
||
|
||
RECHARGE Recharge a magical object (Ring, Amulet, Gem or Staff)
|
||
|
||
FLOAT Reduce an object's weight
|
||
|
||
ANALYZE Provide detailed information about an object
|
||
|
||
VIEW Provide an eagle-eye view of the area.
|
||
|
||
KILL* Causes massive damage to a single foe, usually resulting
|
||
in it's dead.
|
||
|
||
CONFUSE* Confuses your foe, causing it to attack it's own kind.
|
||
|
||
PARALYZE* Paralyzes a foe for a small amount of time.
|
||
|
||
SCARE* Scares a foe, causing it to flee.
|
||
|
||
DAMAGE* Causes massive damage to a single foe, usually
|
||
resulting in it's dead.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
1 The game system will look in the local directory and then in
|
||
the directory where DCWORLD is located to find the graphics
|
||
tiles to use. If more than one set of tiles is found, it
|
||
selects in the following order: VHI, VLO, VH1, VH2, VH3. You
|
||
can aso override the mode by specifying it as a parameter.
|
||
|
||
|