The Cathedral of Attnam

Changes

Jump to navigation Jump to search
659 bytes added ,  14:29, 23 October 2019
no edit summary
''This section is all about dungeon building. If you would like to learn about adding dungeons to the world map, see [[Adding Cities and Dungeons to the IVAN World Map]].''
 
__TOC__
== Introduction ==
=== A suitable text editor and font ===
When editing the dungeon file, it pays to have a good text editor. A nice program in Windows might be, for example, Programmer’s Notepad 2, but any program with suitable syntax highlighting will do. The script file text is based on C/C++ syntax, so you can set the syntax highlighting to this language. It is also highly prudent to select a mono-space typeface. A mono-space typeface means each character has the same horizontal length in the editor. Because we are also going to “draw” with ASCII characters in the script files, it would be good if the characters can properly align in a grid-like fashion, making it easy to identify the geometrical patterns. This is indispensable when it comes to laying out large rooms and even particular dungeons, helping to avoid confusion along the way. Suitable typefaces to consider for this purpose might include [https://en.wikipedia.org/wiki/ConsolasConsolas], [https://en.wikipedia.org/wiki/Courier_%28typeface%29#Courier_New Courier New ] or [https://en.wikipedia.org/wiki/Lucida#Lucida_Console Lucida Console ] fonts, or any [https://fonts.google.com/?category=Monospace other suitable monospace font].
=== Backing up your work ===
Next we can fill the room with characters. We can place each character in a precise way, by writing a little ascii ASCII map showing where everyone will go. The map - a character map - has a size, a position relative to the room's origin (the top-left corner is <code>x = 0; y = 0;</code>), and a key showing all the character types to be found on the character map. The character map can be thought of as a little sub-map belonging to the room. We need to show where the character map is positioned relative to the room it is in. We see the top-left corner of the room <code>Pos = 0, 0;</code> is occupied by a wall. We want to have a map that covers the floor area. The total floor area available in the shop is 3 tiles wide by 7 tiles tall, so this will be the size of or character map. The top-left tile in the character map will be the top-left tile in the room's available floor space. Therefore we will position the character map at <code>Pos = 1, 1;</code>, relative to the co-ordinates of the room's total space.
We need a shop keeper, and some strong guards to protect the fine wares. Therefore we will add the types <code>g</code> for a <code>guard</code> character with the config <code>SHOP</code>, and <code>s</code> for a <code>shopkeeper</code> with the config <code>ELPURI_CAVE</code>. We'll put them both on the same team, and we'll make the shopkeeper the room's master, which is relevant to the room type being a shop. So when the player character wishes to make a trade in the shop, the person he will deal with is the shopkeeper.
We then lay the types out in a 3x7 ascii ASCII map. White spaces are ignored, full-stops represent no character, and g and s represent the guard and the shop keeper. We can place the guard in the shop many times over, and we will place one of them in each corner. We probably only want one shop keeper, and so he is placed in the middle of the map.
{| class="wikitable"
! Description
|-
| <div id="DungeonControlVariable"><code>Dungeon</code></div>
| 0, 1, 2, ... , 64
| This is the dungeon enumerator variable. Enumerations 0 to 4 are occupied by the original dungeons with predefined variables like ATTNAM or ELPURI_CAVE.
=== Square, BoundedRandom; ===
 
== Dungeon balancing ==
 
=== Monster net population ===
 
=== Monster generation net interval ===
 
=== Net difficulty ===
 
=== Item price ===
 
=== Item enchantment ===
 
 
[[Category:Modding]]
Moderator
1,400

edits

Navigation menu