The Dink Network

Reply to Re: Are there any Dmods in production that we might see soon?

If you don't have an account, just leave the password field blank.
Username:
Password:
Subject:
Antispam: Enter Dink Smallwood's last name (surname) below.
Formatting: :) :( ;( :P ;) :D >( : :s :O evil cat blood
Bold font Italic font hyperlink Code tags
Message:
 
 
June 28th 2017, 03:11 PM
spike.gif
SlipDink
Peasant He/Him United States bloop rumble
2nd generation. No easy way to be free. 
Okay, I tell you what... let's see how things go here.

Since you stated you wanted the player to be able to "choose from a set of characters from the start, each with it's own backstory and personality, so when you encounter a certain situation or quest, every character would react differently and every quest would play differently" and that you wanted "A range of characters from good guys, to bad guys, each with their own intro.", I'm assuming that you want at least 2 characters of each of the classic D&D alignments of Good, Neutral and Evil, so that there are at least 6 total to pick from.

Personally, I think that the effort to make 6 interesting stories out of 1 dmod will not work very well, unless you are just looking to start each character out in a simple "hack and slash your way to success mode" with little in the way of an active story once the back story has been provided. Two maybe, but six seems nutty to me. Also, I think that the burden of producing all these graphic file replacements seems onerous, but I am not much of an artist, so what do I know about that? However, I'm willing to try to keep an open mind if you are willing to do all the initial graphics and background text for each character.

So, once you will provide all of the graphics needed for the 6 or so characters, and the preliminary text for each character's back story, plus a few more graphic elements, I will verify your work and then I will start work on the scripts needed to support a start for the game that allows the player to select one of the 6 and get them ready for game play.

For each character, we need a series of graphic files, all the same dimensions in pixels to allow for movements of various types, plus movement carrying weapons and using them and/or magic, plus a death sequence. 86x128 is the size that is used for most of the NPC type characters that I have checked, so I originally assumed that the same size should be used for Dink replacement files, but lately I am not so certain. Please feel free to verify that size as correct before you get started. I have also seen 64x105 used (for example) for the Dink jumping animations, so maybe this is the correct size for Dink. From what I can tell (see the example [Dink Zorro] download), you might be able to get away with different size bmp files in each animation sequence too, but I suspect that things will be easier to keep smoother if they are all the same size in every sequence and the same size as the original graphics used for Dink.

Download the [Dink Smallwood BMP Graphics] bitmap pack and look at the PEOPLE/KNIGHT/BLUE and PEOPLE/KNIGHT/BLUE/ATTACK BMP files with C[a]-W[b]-[cc].BMP files so you can get an idea of what you will need to do.

Of course, you will need to produce set of BMP files of your own, in DINKREPL/XXXXXXXX/ where XXXXXXXX is an 8 char name of the character class like GOOD0001. Note the file name patterns in the graphic pack for the Blue Night.

Now let's look at all the graphics files that each character that replaces Dink will need. In DINK.INI below we see the following lines for the Dink character.

================================================================================
;dink .ini file, be sure to back it up before you change it!
;NOTE: This file is rarely directly editted - the DINKEDIT.EXE program can make changes to
;it directly, allowing you to graphically set 'depth dots' and hardboxes.

//outdated starting commands, not used anymore (scripts couldn't do as much then)
starting_dink_x 334
starting_dink_y 161
starting_dink_map 1

//load dink
load_sequence_now tiles\s 10 BLACK

//dinks idle
//special moves to make the idle play backwards

set_frame_frame 12 5 12 3
set_frame_frame 12 6 12 2
set_frame_delay 12 5 250
set_frame_delay 12 6 250

set_frame_frame 14 5 14 3
set_frame_frame 14 6 14 2
set_frame_delay 14 5 250
set_frame_delay 14 6 250

set_frame_frame 16 5 16 3
set_frame_frame 16 6 16 2
set_frame_delay 16 5 250
set_frame_delay 16 6 250

set_frame_frame 18 5 18 3
set_frame_frame 18 6 18 2
set_frame_delay 18 5 250
set_frame_delay 18 6 250

//dink hit
load_sequence_now graphics\dink\walk\ds-w1- 71 43 38 72 -14 -9 14 9
load_sequence_now graphics\dink\walk\ds-w2- 72 43 37 69 -13 -9 13 9
load_sequence_now graphics\dink\walk\ds-w3- 73 43 38 72 -14 -9 14 9
load_sequence_now graphics\dink\walk\ds-w4- 74 43 38 72 -12 -9 12 9

load_sequence_now graphics\dink\walk\ds-w6- 76 43 38 72 -13 -9 13 9
load_sequence_now graphics\dink\walk\ds-w7- 77 43 38 72 -12 -10 12 10
load_sequence_now graphics\dink\walk\ds-w8- 78 43 37 69 -13 -9 13 9
load_sequence_now graphics\dink\walk\ds-w9- 79 43 38 72 -14 -9 14 9

load_sequence_now graphics\dink\idle\ds-i2- 12 250 33 70 -12 -9 12 9
load_sequence_now graphics\dink\idle\ds-i4- 14 250 30 71 -11 -9 11 9
load_sequence_now graphics\dink\idle\ds-i6- 16 250 36 70 -11 -9 11 9
load_sequence_now graphics\dink\idle\ds-i8- 18 250 32 68 -12 -9 12 9

//this is here for reasons to complex to explain. j/k! This sequence
//is one that is going to be replaced, so I'm loading the one with the most
//frames first, because max frame count is initted only the first time we
//load into a certain seq #.

load_sequence_now graphics\dink\sword\hit\d-sa2- 102 75 52 92 -23 -12 24 11
load_sequence_now graphics\dink\sword\hit\d-sa4- 104 75 74 90 -23 -13 23 14
load_sequence_now graphics\dink\sword\hit\d-sa6- 106 75 33 92 -18 -14 18 10
load_sequence_now graphics\dink\sword\hit\d-sa8- 108 75 46 109 -17 -16 17 10

load_sequence_now graphics\dink\hit\normal\ds-h2- 102 75 60 72 -19 -9 19 9
load_sequence_now graphics\dink\hit\normal\ds-h4- 104 75 61 73 -19 -10 19 10
load_sequence_now graphics\dink\hit\normal\ds-h6- 106 75 58 71 -18 -10 18 10
load_sequence_now graphics\dink\hit\normal\ds-h8- 108 75 61 71 -19 -10 19 10

//bow weapon diags
load_sequence_now graphics\dink\bow\hit\d-ba1- 101 75 57 84 -20 -12 20 12
load_sequence_now graphics\dink\bow\hit\d-ba3- 103 75 33 86 -19 -13 19 13
load_sequence_now graphics\dink\bow\hit\d-ba7- 107 75 54 82 -19 -11 19 11
load_sequence_now graphics\dink\bow\hit\d-ba9- 109 75 37 78 -21 -10 21 10

//set which frame can 'hit'
set_frame_special 102 3 1
set_frame_special 104 3 1
set_frame_special 106 3 1
set_frame_special 108 3 1
//make it delay on the third sprite for longer than 75

set_frame_delay 102 2 100
set_frame_delay 104 2 100
set_frame_delay 106 2 100
set_frame_delay 108 2 100

//dinks push sprites
load_sequence_now graphics\dink\push\ds-p2- 312 75 45 79 -7 -21 13 -7
load_sequence_now graphics\dink\push\ds-p4- 314 75 36 69 3 -9 45 9
load_sequence_now graphics\dink\push\ds-p6- 316 75 67 71 -21 -12 21
load_sequence_now graphics\dink\push\ds-p8- 318 75 46 59 -9 5 12 24

//dink magic
load_sequence_now graphics\dink\hit\magic\ds-m2- 322 30 60 84 -15 -9 16 7
load_sequence_now graphics\dink\hit\magic\ds-m4- 324 30 61 86 -13 -7 15 8
load_sequence_now graphics\dink\hit\magic\ds-m6- 326 30 60 86 -11 -8 13 9
load_sequence_now graphics\dink\hit\magic\ds-m8- 328 30 61 83 -15 -4 15 14

// BLUEDY, THESE TWO ARE SOME OTHER ESSENTIAL DINK ANIMATIONS.
load_sequence_now graphics\dink\die\ds-x3- 436 75 30 67 -10 -9 10 9
load_sequence graphics\dink\crawl\ds-cr- 452 100

// THIS SECTION IS OPTIONAL BLUEDY.
load_sequence graphics\dink\seed\ds-s2- 522 150 49 74 -14 -9 16 10
load_sequence graphics\dink\seed\ds-s4- 524 150 47 73 -16 -10 14 10
load_sequence graphics\dink\seed\ds-s6- 526 150 53 71 -16 -10 16 10
load_sequence graphics\dink\seed\ds-s8- 528 150 50 70 -16 -9 16 9
================================================================================

Now load up WinDinkEdit2 and load the original Dink Smallwood game into the editor. Press [R] and then [E]. For each "load_sequence_now" and "load_sequence command" in DINK.INI, we now see a set of graphics that are specified. Move your mouse cursor over the little tiles and notice down in the lower right of the window, as you move the cursor, the next to last number changes while the last number consistently shows 01 (this means the 1st graphics image in each of the series of tiles is always shown in this view). Move until the numbers look like "072 01" and then click on that tile. Now move your mouse cursor over the various images of Dink and then notice that the display in the lower right corner of the window changes from "072 01" to "072 08" for each of the images of Dink walking. Now you see that these are the 8 graphics files loaded from graphics\dink\walk\ that represent Dink walking in a particular direction.

load_sequence_now graphics\dink\walk\ds-w1- 71 43 38 72 -14 -9 14 9

So, for each of the load_sequence_now and load_sequence commands in my Dink.ini file excerpt shown above, you will need to make a matching set of files for every one of your 6 characters. These Dink sequences seem to be typically 6 or 8 in length, though some are 5 and at least one is 10. Assuming an average of about 7 per sequence, that is a total of about 40 sequences with about 7 per sequence or about 280 per character. Assuming 6 characters, that means 6 times 280 is about 1680 images in total.

Below is a quick list of each sequence needed (I actually count only 39) for each Dink Replacement character.

12
14
16
18
71
71
72
73
74
76
77
78
79
101
102
102
103
104
104
106
106
107
108
108
109
312
314
316
318
322
324
326
328
436
452
522
524
526
528

Make sure that the BMP files that you generate use the GIMP compatibility option of "[x] Do not write color space information" and save as 24bit images with a white background and a shadow for each image.

Please let me know if you have any questions. Have fun!