þ DEVELOPER INFO þ
(Note: Developing tools are on the Dink cd-rom only and have not been
packaged with this archive)
This game was designed from the ground up to be used as an 'engine' for
other scenarios.
Virtually everything in the game is done by DinkC scripts.
Check out DINK\STORY\*.C - these are all DinkC scripts. Go ahead and
view a few, maybe even try editing one or two...
The *.D files are the same thing, but 'compiled'. These are not
editable. The majority are compiled so gamers can't cheat and see what
everyone is going to say.
The whole theory here is that someone could put together a 50K zip that
has a quest that has a neat little 20 screen world that could take days
to finish -
OR:
Someone could offer a 15 meg addon that COMPLETELY changes much of the
graphics/tiles and make the game COMPLETELY different. The player could
control a frog or something.
Or anywhere between the two. How? When Dink is run with a -game
parm, it reads the DINK.INI, MAP.DAT and DINK.DAT from this dir.
That is ALL that is required.
Next, Dink checks this 'new' dir for ALL other files - if they DON'T exist,
it gets them from the default 'dink' dir.
This means you could change ONE frame of ONE animation, and the blanks
would be filled in from the main game dir.
All of Dink's graphics are in .BMP format. Nearly any graphics program
(like Photoshop(tm) ) can read and write this format.
Dink also uses standard .WAV and .MID formats for sounds.
DINKEDIT.EXE (not included, it's on the CD) is the program that allows
you to do the following:
* Create, copy and edit maps. (768 maps can exist in one world)
* Cut and paste tiles from over 41 screens of tiles
* Cut and paste sprites, and edit the following attributes:
* Hard or not
* Brain
* Attach dinkc file
* Hitpoints
* Strength
* Size
* Clipping
* Animation
* Sound
* Much more
* Generate a 'world map' - a tiny version of the ENTIRE map, helpful for
seeing if rivers connect, etc
* Smartmatch technologies - Paste a tree on one screen, and it will be
added to the adjoining screens. When the screen scrolls to the next
one, it will effortlessly line up every time
* Visual sprite database - select from scaled thumbnails, then select
from that particular animation. You can place and access ANY graphic
in the game
* Graphics can be added at any time by editing the DINK.INI
* Internal sprite depthdot/hardbox editor
* Ability to start a new map from scratch, or import certain screens
from another map
* Assign up to 99 sprites per screen.
* Windowed and fullscreen modes, possible to run Dinkedit and Dink at
the same time
* Movie2000 sprite movie maker can assist your dinkc by adding commands
directly to the .c file
* Mouse interface for picking up/moving/stamping sprites
DINKEDIT controls the graphical end of it - but dinkc controls the other
part. Behavior, brains and programming can be done easily.
Many aspects of dinkc and Dinkedit overlap - for instance, from within
a dinkc script you can create a sprite and change ANY of the attributes
that Dinkedit.exe can, and more.
Dinkc follows standard C syntax is most areas.
Features:
* Dynamic local and global variable creation
* Globals are automatically saved with the players save games
* Up to 64K in size, each
* Dynamically allocates RAM for each instance needed
* Blazingly fast!
* Compileable (for encryption, actually gets smaller too)
* Dink can also run uncompiled (.C txt files) too
* You can edit WHILE playing Dink and see changes without quitting the
game
* Internal multithread support, can run 300 dinkc scripts AT THE SAME TIME!
* Every WEAPON, ITEM and MAGIC in the game is done with dinkc
* Every conversation is done with dinkc
* Sound, midi & redbook can be can be completely controlled
* Play sounds at different speeds, with real-time mixing of up to 30
* The entire Dink intro (logo, arrows that pop out and the buttons) was
done in dinkc, you could add a button, etc, easily.
* Pushing rocks, burning trees and barrels were done by hooking up the
desired sprite to a dinkc script
* Easily mark items to 'not show up again' for this player. (for instance,
any sprite attached to sfood.c will cause the sprite to shrink when
touched, play a sound, give dink 3 life and 'never come back')
* Dink knows that if a Push(), talk(), hit(), damage(), main(), die()
exists in a .c file, to run that procedure at the correct time