Changes

3,693 bytes added ,  14:04, 10 January 2010
no edit summary
Line 592: Line 592:     
More information and details regarding this feature will become available when it is in production later on this year.
 
More information and details regarding this feature will become available when it is in production later on this year.
 +
 +
 +
= Developer Dungeon Creation =
 +
 +
This work-in-progress feature allows developers to easily create custom maps using a flagged input string method into a text (.txt) document. Each dungeon is represented by a separate file. The 21 digit per room string is broken up into input flags and are labeled as follows. Also note that quotation marks “” are not used in the actual input file.
 +
In order to explain the string, it will be broken up into segments. The final string will have no indicators of these different segments and will be written as one continuous entity.
 +
 +
 +
Segment A – Door declaration: ''01234567''
 +
 +
Doors locations and conditions are declared here. They are always handled in the order of North, South, West, and East, and are defined in specific string character positions. Position 0, 2, 4, and 6 can either be a value of ‘0’ for “no door” or ‘N’, ‘S’, ‘W’, or ‘E’, respectively for “a door” at the given direction. A string with a basic door on each wall would look like “N0S0W0E0”. The flags for each door are specified to give the door special properties. These flags fill the remaining positions of the string in positions 1, 3, 5, and 7. Each flag pertains only to the door preceding it. A door must always be specified with a following flag. The flags are as follows. Use ‘u’ for an unlocked door (this is the default), ‘l’ for a locked door, ‘p’ for a puzzle door, ‘b’ for a locked puzzle door, ‘e’ for a dungeon entrance door, or ‘x’ for a dungeon exit door. A basic unlocked door on each wall would look like “NuSuWuEu”. Note that rooms must be capitalized and flags must be lower cased.
 +
 +
 +
Segment B – Special conditions: ''8''
 +
 +
Special conditions for the room are specified with this character. Use ‘M’ to have a merchant present in the room or ‘P’ for a puzzle room. Note that this character must be capitalized.
 +
 +
 +
Segment C – Enemy declaration: ''9ABC''
 +
 +
Enemies will be declared in this portion of the string using given identification numbers to represent each one. Each character represents an enemy position in the battle, with a maximum of four enemies. To have an enemy in positions A and B, the string would look like “0110”. The list of enemy identification numbers will be available in the future.
 +
 +
 +
Segment D – Item declaration: ''DEFGHIJK''
 +
 +
Item declaration is noted in the last 8 characters of the room input string. The items will also have identification numbers (like the enemies). There may be a maximum of four items in a room and they are declared in positions D, F, H, and J of the string. The remaining positions of E, G, I, and K are flags for whether or not the preceding item is visible or a hidden item. This is done with a ‘v’ for visible or a ‘h’ for hidden. Note that these flags must be lower cased. A string with two visible items and one hidden item would look like “1v1v1h00”.
 +
The full string compiles as follows: “0123456789ABCDEFGHIJK”
 +
Sample null string, also used for an empty room: “000000000000000000000”
 +
 +
The very first line of the text file is the room dimensions in the format of column x row. Each room will be listed in the text file on a separate line.
 +
 +
'''To see what a full dungeon input text file looks like, here is the input to Dungeon 1 of Fortune Hunter.'''
 +
 +
3x5
 +
Nx0000Eu000001v000000
 +
0000WuEu0110000000000
 +
00Su00Eu000001h000000
 +
00Su0000000001v000000
 +
000000000000000000000
 +
NuSb0000000001h1h0000
 +
Nu0000Eu0100000000000
 +
00SpWuEu000001v000000
 +
Nb00Wu000000000000000
 +
000000000000000000000
 +
NpSu0000000001v000000
 +
000000000000000000000
 +
000000000000000000000
 +
NuSe00000000000000000
 +
000000000000000000000
     
544

edits