… | |
… | |
37 | directory etc.). |
37 | directory etc.). |
38 | |
38 | |
39 | =head2 Style Parameters |
39 | =head2 Style Parameters |
40 | |
40 | |
41 | layoutstyle <style> (special!) Pick the layout style for the map. |
41 | layoutstyle <style> (special!) Pick the layout style for the map. |
42 | Currently, "rogue", "spiral", "maze", "snake", |
42 | Currently, "rogue", "spiral", "maze", "cave", |
43 | "onion", and "squarespiral" are allowed. See |
43 | "castle", "snake", "onion", "squarespiral" and |
|
|
44 | "multiple" are allowed. See below for more |
44 | below for more detail. |
45 | detail. |
45 | |
46 | |
46 | floorstyle <style> Load /styles/floorstyles/<style> and pick a random |
47 | floorstyle <style> Load /styles/floorstyles/<style> and pick a random |
47 | floortype from that style map for the random map. |
48 | floortype from that style map for the random map. |
48 | The entire map will be tiled with the floortype. |
49 | The entire map will be tiled with the floortype. |
49 | |
50 | |
… | |
… | |
91 | /styles/treasurestyle/<style>, and pick random |
92 | /styles/treasurestyle/<style>, and pick random |
92 | treasures from there. If <style> matches neither |
93 | treasures from there. If <style> matches neither |
93 | of these, it will generate treasures using the |
94 | of these, it will generate treasures using the |
94 | "chest" treasurelist. A style of "none" causes no |
95 | "chest" treasurelist. A style of "none" causes no |
95 | treasures to be placed. |
96 | treasures to be placed. |
96 | |
|
|
97 | |
|
|
98 | |
97 | |
99 | =head2 Layout Parameters |
98 | =head2 Layout Parameters |
100 | |
99 | |
101 | |
100 | |
102 | xsize <int> size of the map: if not set, random from 10 to 70 |
101 | xsize <int> size of the map: if not set, random from 10 to 70 |
… | |
… | |
120 | |
119 | |
121 | |
120 | |
122 | Layout Style: Parameter: Effect: |
121 | Layout Style: Parameter: Effect: |
123 | |
122 | |
124 | |
123 | |
125 | maze maze_type 0: rooms (open space with some walls) |
124 | maze maze_type 0: roomy (open space with some walls) |
126 | 1: sparse (maze with some larger open spaces) |
125 | 1: sparse (maze with some larger open spaces) |
127 | 2: braided (few dead ends) |
126 | 2: braided (few dead ends) |
128 | 3: closed (complete maze) |
127 | 3: closed (complete maze) |
129 | default: random |
128 | default: random |
130 | |
129 | |
|
|
130 | cave cave_type 0: very rough, mazelike |
|
|
131 | 1: round 1-2 space corridors, often elliptic |
|
|
132 | 2: more open, roundish |
|
|
133 | 3: wide open areas, roundish |
|
|
134 | |
131 | 50% of the time a maze layout will be "doorified", meaning that doors |
135 | 50% of the time a maze layout will be "doorified", meaning that doors |
132 | will be placed at random in the maze. |
136 | will be placed at random in the maze. |
133 | |
137 | |
134 | onion layoutoptions1 0 (default) Pick random options |
138 | onion layoutoptions1 0 (default) Pick random options |
135 | See "Onion Rooms" below for |
139 | See "Onion Rooms" below for |
136 | the rest of the options. |
140 | the rest of the options. |
137 | |
141 | |
138 | onion layoutoptions2 0 (default) Pick a random number of |
142 | onion layoutoptions2 0 (default) Pick a random number of |
139 | "onion layers" |
143 | "onion layers" |
140 | |
|
|
141 | |
144 | |
142 | =head2 Map generation parameters |
145 | =head2 Map generation parameters |
143 | |
146 | |
144 | |
147 | |
145 | difficulty Set the map difficulty. Has no relation to the |
148 | difficulty Set the map difficulty. Has no relation to the |
… | |
… | |
187 | 2 reverse of 1 |
190 | 2 reverse of 1 |
188 | 3-6 exits are horizontal. In the future |
191 | 3-6 exits are horizontal. In the future |
189 | these will be made to make exits to |
192 | these will be made to make exits to |
190 | rightward, leftward, north and south. |
193 | rightward, leftward, north and south. |
191 | |
194 | |
|
|
195 | rotate 0 do not randomly rotate the map |
|
|
196 | 1 randomly rotate by 90, 180, 270° (default) |
|
|
197 | |
192 | origin_x <You shouldn't need to set this> The exit which |
198 | origin_x <You shouldn't need to set this> The exit which |
193 | leads back from this map will go to this x. |
199 | leads back from this map will go to this x. |
194 | |
200 | |
195 | origin_y Like origin_x |
201 | origin_y Like origin_x |
196 | |
202 | |
… | |
… | |
206 | |
212 | |
207 | exit_on_final_map The default action is to place an exit on |
213 | exit_on_final_map The default action is to place an exit on |
208 | the final map. When explicitly set to 'no' this will |
214 | the final map. When explicitly set to 'no' this will |
209 | not place a return exit on the final_map. |
215 | not place a return exit on the final_map. |
210 | If you use this setting YOU MUST PROVIDE A WAY BACK IN THE FINAL MAP! |
216 | If you use this setting YOU MUST PROVIDE A WAY BACK IN THE FINAL MAP! |
211 | |
|
|
212 | |
217 | |
213 | =head2 Misc. Parameters |
218 | =head2 Misc. Parameters |
214 | |
219 | |
215 | decoroptions <option> Currently, ignored. Possibly in the future it |
220 | decoroptions <option> Currently, ignored. Possibly in the future it |
216 | will cause the decor to be patterned in some way, |
221 | will cause the decor to be patterned in some way, |
… | |
… | |
234 | 16 Trap the treasure. A trap from /styles/trapstyles/traps |
239 | 16 Trap the treasure. A trap from /styles/trapstyles/traps |
235 | is selected and inserted into the treasure chest. |
240 | is selected and inserted into the treasure chest. |
236 | 32 sparse treasure. 1/2 as much treasure is generated. |
241 | 32 sparse treasure. 1/2 as much treasure is generated. |
237 | 64 rich treasure. 2x as much treasure is generated. |
242 | 64 rich treasure. 2x as much treasure is generated. |
238 | |
243 | |
239 | If option 1 is not set, options 2-16 are ignored. Options |
244 | If option 1 is not set, options 2-16 are ignored. Options |
240 | may be added together: treasureoptions 3 means treasure |
245 | may be added together: treasureoptions 3 means treasure |
241 | optons 1 and 2 are set. |
246 | optons 1 and 2 are set. |
242 | |
247 | |
243 | =head2 Map Layout styles |
248 | =head2 Map Layout styles |
244 | |
249 | |
245 | =head3 Onion Maps |
250 | =head3 Onion Maps |
246 | |
251 | |
247 | Onion rooms are like this: |
252 | Onion rooms are like this: |
… | |
… | |
272 | 4 bottom "centered" |
277 | 4 bottom "centered" |
273 | 8 bottom-right centered |
278 | 8 bottom-right centered |
274 | 16 outer wall off: i.e., no outer wall. |
279 | 16 outer wall off: i.e., no outer wall. |
275 | 32 irregularly/randomly spaced layers (default: regular) |
280 | 32 irregularly/randomly spaced layers (default: regular) |
276 | |
281 | |
277 | |
|
|
278 | =head3 Maze Maps |
282 | =head3 Maze Maps |
279 | |
283 | |
280 | Maze maps are like this: |
284 | Maze maps are like this: |
281 | |
285 | |
|
|
286 | A "roomy" maze: |
|
|
287 | |
|
|
288 | ######################################## |
|
|
289 | # # |
|
|
290 | # # # # # # # # # |
|
|
291 | # ## ## # ### # # ## # |
|
|
292 | # ### # # # ## # # |
|
|
293 | # ## ## # ## # # ## # |
|
|
294 | # ## # # ## # # # # # ## ## # |
|
|
295 | # # ## # # #### # #### # # # |
|
|
296 | # ## ## ## ## # # # ## ## # # |
|
|
297 | # # # ## # # # # # |
|
|
298 | # ## ### ### ## #### ## # |
|
|
299 | # ## #### ### # # |
|
|
300 | # ## ### ### # # ## # |
|
|
301 | # ## ### # ## # # # # |
|
|
302 | # ### ### # ### # #### # |
|
|
303 | # # ## ## ##### # ## # |
|
|
304 | # # ## # # ##### ## # # |
|
|
305 | # ## ## ## # # # ## # |
|
|
306 | # ## ### # ## ## # ##### # |
|
|
307 | # #### # # # ### # # # |
|
|
308 | # # ### ## ## # # # # # |
|
|
309 | # ## ## # # ## # # |
|
|
310 | # # #### ## #### # |
|
|
311 | # ## |
|
|
312 | ######################################## |
|
|
313 | |
282 | A "sparse" maze: |
314 | A "sparse" maze: |
283 | |
315 | |
284 | ######################################## |
316 | ######################################## |
|
|
317 | # # # # # # # # # # # # # # # |
285 | # # # # # # # # # # # # # # |
318 | # # # # # # # # # # # # # # |
286 | # # # # # # # # # # # # |
319 | #### # # ## ### # # # ## ## # |
287 | #### ## ## # # ### # ## # # # ## |
320 | # # ### # ## # ## ## #### ## |
288 | # ##### # ## # # # ## ### ## ### # |
321 | ## # ## # ## # # # # |
289 | ## ### # # # # |
322 | # ## #### ## ## # ## # ## #### |
290 | # ### # # #### ### # |
323 | #### # ## ### # ## # # |
291 | # # ## ## ## # # ### |
324 | # ## ## ## ## # #### # |
292 | # ###### # ### # # ## # # |
325 | #### # ### ## ## ## ## # |
293 | # # ## #### ## # # # # # |
326 | # # ### # # # # ### |
294 | # # ## ## ## ### ## # # # # # |
327 | # ##### #### # #### ### ### # |
|
|
328 | ## # # ### # #### |
|
|
329 | # ## # ## ## ### # |
|
|
330 | ## ## ### #### ##### # # |
|
|
331 | # # # ## # # ## # |
|
|
332 | #### #### ## ### #### # # # |
|
|
333 | # # ## ## ## # # # |
|
|
334 | ### ##### # #### #### # ## # ## # |
|
|
335 | # # # ## ## # ## # # # |
295 | #### ## ## ## ## ### # ### ### |
336 | ##### ## ## # ## ## ## # ## # # # |
296 | # # ## ##### # ### # |
337 | # # # # # # ## # ## # # ### |
297 | ## ## # ### # ## ## |
|
|
298 | # ## ## ## # ## # ### # |
|
|
299 | ## # # # # # # # ## # |
|
|
300 | # ### ### ## # ## ## #### ## # # |
|
|
301 | ## # # # # # # # #### # ### |
|
|
302 | # ### ## ## # ## ## ## # ### # |
|
|
303 | ## # ## # # # # # # ## # ## |
|
|
304 | # ##### ## ## #### ## # # # ## # |
338 | # #### # # ## ### # ## # # ## ## # # |
305 | ## # # # # ## # ### # |
|
|
306 | # # # # # # # # # # # # # # |
339 | # # # # # # # # # # # # # |
307 | ######################################## |
340 | ######################################## |
|
|
341 | |
|
|
342 | A "braided" maze: |
|
|
343 | |
|
|
344 | ######################################## |
|
|
345 | # # # # # # # # # # # # # # # |
|
|
346 | # # # # # # # # # # ## |
|
|
347 | # ## # # ## # # # |
|
|
348 | # ## ## # ## # ## # ## ####### |
|
|
349 | # ### # # # # # # ## # # |
|
|
350 | # # # # # # ### ### #### ## # |
|
|
351 | ### #### ## ### # # # ## ## |
|
|
352 | # # # # # ## # # |
|
|
353 | # ## ## ###### ## ### ## #### #### |
|
|
354 | #### # ### # ## # # # |
|
|
355 | # ## # # # ## # ####### ## #### |
|
|
356 | #### # # ### # # # # # |
|
|
357 | # ## ### # ## # ## ### # ## |
|
|
358 | # # ## ##### # # ### ## # # # |
|
|
359 | ## # # ## ### ## ## # |
|
|
360 | # # # # # #### # ### ### |
|
|
361 | # # # ## ##### # # # ## # # # |
|
|
362 | # ## ## # # ## ## # ### # # |
|
|
363 | # # ### ###### # # # # # # |
|
|
364 | ## # ## # # # ## ## # ### # |
|
|
365 | # # ### # ##### # # # ## # # |
|
|
366 | # ## ## ### # ## # # # # ### # |
|
|
367 | # # # # # # # # # # # # |
|
|
368 | ######################################## |
308 | |
369 | |
309 | A "full" maze: |
370 | A "full" maze: |
310 | |
371 | |
311 | ######################################## |
372 | ######################################## |
312 | # # # # # # # |
373 | # # # # # # # # # # # # |
313 | # # # # # # # # # # # # # # # |
|
|
314 | ### ## ## ######## ### ### ### # # |
|
|
315 | # # # ## # ### ### # ### ## |
|
|
316 | # ##### ### ##### ## ## ## # # |
|
|
317 | # # # ## # # ## #### # # # ## |
|
|
318 | # #### ## ### #### # ## ## ### # # # |
|
|
319 | # # # # # ### # # # # |
|
|
320 | # ### ## ## ### #### #### ## # ### |
|
|
321 | # # # # # # #### ## # # ## # # |
|
|
322 | # # ## #### ## # ## # ## # # |
|
|
323 | # #### ## # ### #### # ### # #### # |
|
|
324 | # # # # # # # # ## #### # # |
|
|
325 | # ##### #### ## ### # # ## # |
|
|
326 | # ## ## # ## ## ## ##### # # # |
|
|
327 | # # # # ## # # # ## # # ### # # |
|
|
328 | ## ### # ## # # #### ### # # # ## # |
|
|
329 | # # # # ## # # # ## ### # # |
|
|
330 | ## # #### ## # # ###### # # #### # |
|
|
331 | # # #### # ###### ## ### # # |
|
|
332 | ### # ## ## # # # ## # |
|
|
333 | # # # # # # # # # # # # # |
374 | # # # # # # # # # # # # # # # |
|
|
375 | ## #### ### #### #### #### ## ### # # |
|
|
376 | # ## # # # # ### ### # |
|
|
377 | #### ##### #### ## # # #### # # |
|
|
378 | # ## # # ## # ## # ### ## ## # |
|
|
379 | # ### ## ## # # # # # # |
|
|
380 | # ### ## ## # ### # ##### ## |
|
|
381 | # ## ## ###### ## # ## #### # # # |
|
|
382 | ### # # # # ## # # ######## |
|
|
383 | # ####### # ## # ### #### # # |
|
|
384 | # # # # #### ## # ### ## |
|
|
385 | #### # # # ## ## #### #### # # # |
|
|
386 | # ### # ## ## # ### ### ## |
|
|
387 | # # ## ### # ### ### # # # |
|
|
388 | #### #### #### # ## # # # ### # |
|
|
389 | # ## # ## # # # ## ## # ## # |
|
|
390 | # #### #### # ## ### # # ## # ### |
|
|
391 | # ### ## # # # #### ##### # |
|
|
392 | # #### #### ### ### # # # # |
|
|
393 | # ## # # ### # # ##### # |
|
|
394 | # ### #### ###### ##### ####### # # |
|
|
395 | # # # # # # # # # |
334 | ######################################## |
396 | ######################################## |
335 | |
397 | |
|
|
398 | =head3 Cave Maps |
|
|
399 | |
|
|
400 | Type 0, rough: |
|
|
401 | |
|
|
402 | ######################################## |
|
|
403 | ################################# #### |
|
|
404 | ############# ######## # #### |
|
|
405 | ############# ######## ### ## #### |
|
|
406 | ############# #### ######### #### |
|
|
407 | ############# #### ############# #### |
|
|
408 | ########## ## ############ #### |
|
|
409 | ########## ### #################### |
|
|
410 | ######## ## ######################### |
|
|
411 | ### ## ### ######################### |
|
|
412 | ### ## ### ######################### |
|
|
413 | ### ## ## ### ##################### |
|
|
414 | ### # ### ################### |
|
|
415 | ### ### ### ###### ################### |
|
|
416 | ######## # ###### # ############ |
|
|
417 | ####### ## ######### # ####### |
|
|
418 | ####### # ######## # ##### |
|
|
419 | ####### ##### ######### ### ### ### |
|
|
420 | ####### ###### #### ### ######### |
|
|
421 | ### ### ## ### #### ###### |
|
|
422 | ## # # ### ###### ### ####### ###### |
|
|
423 | # ## ### ################### ##### |
|
|
424 | # ################################ # |
|
|
425 | # #################################### # |
|
|
426 | ######################################## |
|
|
427 | |
|
|
428 | ######################################## |
|
|
429 | ## #### ########## ######### # ### |
|
|
430 | ## ##### ####### ###### # # |
|
|
431 | ## ## # ## ### # |
|
|
432 | ### ####### # #### # ##### |
|
|
433 | ##### # ##### ## # # ### |
|
|
434 | ## ## ### ## # # # |
|
|
435 | ## # #### ## ## ## # # |
|
|
436 | ## ##### ### ## # # ### |
|
|
437 | ### ###### # ## # ### |
|
|
438 | ### ### # ### |
|
|
439 | ## ##### # ### |
|
|
440 | ###### ### #### |
|
|
441 | #### # #### #### |
|
|
442 | ## # ### # ## # #### |
|
|
443 | # ## ### ## ## ## # |
|
|
444 | # # # # # # #### # ## # |
|
|
445 | ### ### ##### #### # # ## # |
|
|
446 | # ## ## ## ## ## # |
|
|
447 | # ### ## ### # ## # # ## # |
|
|
448 | # ## # ## ## ### ### #### # |
|
|
449 | # ## # ### #### ## #### # |
|
|
450 | # ## ## ####### ## ###### |
|
|
451 | # # ###### ###### #### ## ###### |
|
|
452 | ######################################## |
|
|
453 | |
|
|
454 | Type 1: corridors |
|
|
455 | |
|
|
456 | ######################################## |
|
|
457 | ############################ # |
|
|
458 | #### #### ################ ## ## # |
|
|
459 | ### ## ######## #### ## #### # |
|
|
460 | # ## ###### ### ## #### # |
|
|
461 | # ####### ## ## ## ## # |
|
|
462 | # ####### #### # ## # # |
|
|
463 | # ###### ###### ### ### ### # |
|
|
464 | # ###### ######## ### #### ### # |
|
|
465 | # #### ########## ### ###### ## # |
|
|
466 | ### ### ############### ###### # |
|
|
467 | #### ## ## ######### # ###### ### |
|
|
468 | ##### ### ######### # ########## |
|
|
469 | # ### ### ## ##### ## ######### |
|
|
470 | # ## #### #### ## # ######### |
|
|
471 | # ## #### ## ## ########## |
|
|
472 | # ### ###### ## ########### |
|
|
473 | # ############## ##### ### ######## |
|
|
474 | # ## #### ##### #### ####### ###### |
|
|
475 | ### ## #### #### ####### ##### |
|
|
476 | ## ## # ## ##### ###### #### |
|
|
477 | ## ## ###### ##### ### |
|
|
478 | ### #### #### ######### ##### ## # |
|
|
479 | ######### #### # |
|
|
480 | ######################################## |
|
|
481 | |
|
|
482 | ######################################## |
|
|
483 | ######################################## |
|
|
484 | ### ### ####### |
|
|
485 | ## ##### |
|
|
486 | # # ############# ########### #### |
|
|
487 | # ### ########################## ### |
|
|
488 | # ### # ###### ## |
|
|
489 | # ## #### ## |
|
|
490 | # ## ###################### ### ## |
|
|
491 | # ## ######################## ### ## |
|
|
492 | # ## ### #### ## ### |
|
|
493 | # ## ## ### # ### |
|
|
494 | # ## ## ############### ### ## ### |
|
|
495 | # ## ## #### ## ## |
|
|
496 | # ## ### ##### ## ## |
|
|
497 | # ## #### ################### # ## |
|
|
498 | # ## ### #################### ## |
|
|
499 | # ## ###################### ## |
|
|
500 | # ### ####################### ## |
|
|
501 | # ####################### ##### ## |
|
|
502 | # ################### ## ## |
|
|
503 | ## ##### ## |
|
|
504 | ### ######### ### |
|
|
505 | ######################################## |
|
|
506 | ######################################## |
|
|
507 | |
|
|
508 | Type 2: somewhat open |
|
|
509 | |
|
|
510 | ######################################## |
|
|
511 | #################### ##### ### |
|
|
512 | ############# ##### #### ## |
|
|
513 | #### ##### #### ## # |
|
|
514 | ### ### ##### ## # |
|
|
515 | # # ##### # ## #### # |
|
|
516 | # # ### ### ######## #### # |
|
|
517 | # # # ## # ### ## # # |
|
|
518 | # # # ## # |
|
|
519 | ## ### ## ## # |
|
|
520 | ### ####### ### ## ### |
|
|
521 | ############## ### #### #### |
|
|
522 | ############### ## #### #### |
|
|
523 | ### ######## ## ### # ### |
|
|
524 | ## ########## ## ## ### ## |
|
|
525 | ### ### ### ## ##### # |
|
|
526 | ## ### ## # ## ######## # |
|
|
527 | ## ##### ### # ## ######### # |
|
|
528 | # #### ### ## ### ####### # |
|
|
529 | # ## ### ##### ## ## |
|
|
530 | ## #### ## # ###### # ### |
|
|
531 | ### ### #### # ## ##### #### |
|
|
532 | #### # ##### ### ############## |
|
|
533 | #### ##### ################### |
|
|
534 | ######################################## |
|
|
535 | |
|
|
536 | Type 3: wide open |
|
|
537 | |
|
|
538 | ######################################## |
|
|
539 | # ######## ####### # |
|
|
540 | # ######## ######## # |
|
|
541 | # ##### ######### ### |
|
|
542 | ### ##### ## ### ########## ### |
|
|
543 | ## ##### ### #### ### ### ### |
|
|
544 | ### ###### ### #### ## # |
|
|
545 | ### ##### ## ######## ## # |
|
|
546 | ## ## ## ########## # |
|
|
547 | ## ## ## ########## # |
|
|
548 | # ### ######### ## # |
|
|
549 | # ####### ######## #### # |
|
|
550 | # ## ######## ##### ##### # |
|
|
551 | # #### ##### ### ##### # |
|
|
552 | # #### ### #### # |
|
|
553 | # #### ### #### #### # |
|
|
554 | # ### ### ##### ##### # |
|
|
555 | # ### #### ## ########### #### # |
|
|
556 | # ## #### ## ########## ##### |
|
|
557 | # ## ####### ##### #### |
|
|
558 | # ### ####### ###### # # |
|
|
559 | # ### ######### # ### # |
|
|
560 | # # ##### ## ######## # |
|
|
561 | # #### ####### # |
|
|
562 | ######################################## |
|
|
563 | |
|
|
564 | =head3 Castle layouts |
|
|
565 | |
|
|
566 | Castles are similar to caves, except they generate very straight dungeon |
|
|
567 | features (not unlike roguelike layouts). |
|
|
568 | |
|
|
569 | ######################################## |
|
|
570 | #### #################### ## |
|
|
571 | #### ###### ######### ## |
|
|
572 | #### ### ####### # ######### ## |
|
|
573 | #### D D ## ##### ## |
|
|
574 | #####D## ##### D ## |
|
|
575 | ##### # # # ## ## |
|
|
576 | ##### # #### # ########## |
|
|
577 | ##### # # # # D # |
|
|
578 | ##### # # # ######## #D# # |
|
|
579 | ##### # #D# # ######### ######## |
|
|
580 | ##### ######### # D ####### |
|
|
581 | ##### ########## D ##D######## |
|
|
582 | ###### ### #### ###### #D# # ##### |
|
|
583 | ##### #D# ## ### D # ##### |
|
|
584 | ##### # # ## ###### ##### |
|
|
585 | ##### # # ### ###### ##### |
|
|
586 | #######D###D### ### ## # ## |
|
|
587 | ###### #### ### ## # ## |
|
|
588 | ###### # ##### ## ## |
|
|
589 | ###### # ####### ## # ## |
|
|
590 | ###### D ############# # ## |
|
|
591 | ########### ############# # ## |
|
|
592 | ########### ################## ## |
|
|
593 | ######################################## |
336 | |
594 | |
337 | =head3 Spiral Maps |
595 | =head3 Spiral Maps |
338 | |
596 | |
339 | A Spiral Map:: |
597 | A Spiral Map: |
340 | |
598 | |
341 | ########################### |
599 | ########################### |
342 | ########################### |
600 | ########################### |
343 | ########### D ########## |
601 | ########### D ########## |
344 | ######### #### ######## |
602 | ######### #### ######## |
… | |
… | |
366 | |
624 | |
367 | 0 pick random options |
625 | 0 pick random options |
368 | 1 Regular spiral: distance increases constantly with angle |
626 | 1 Regular spiral: distance increases constantly with angle |
369 | 2 Fine spiral: most coils possible are fit in |
627 | 2 Fine spiral: most coils possible are fit in |
370 | 4 Fit Spiral: scale spiral to fit rectanglar region |
628 | 4 Fit Spiral: scale spiral to fit rectanglar region |
371 | (i.e., the spiral will look elliptical) |
629 | (i.e., the spiral will look elliptical) |
372 | |
630 | |
373 | =head3 Rogue-like Maps: |
631 | =head3 Rogue-like Maps |
374 | |
632 | |
375 | A Rogue-like Map: |
633 | A Rogue-like Map: |
376 | |
634 | |
377 | ############################### |
635 | ############################### |
378 | ############# ########### |
636 | ############# ########### |
… | |
… | |
513 | # # # ####D#### # # # |
771 | # # # ####D#### # # # |
514 | ##D##########D# #D##########D## |
772 | ##D##########D# #D##########D## |
515 | # # < # # |
773 | # # < # # |
516 | ##################################### |
774 | ##################################### |
517 | |
775 | |
|
|
776 | =head2 Multiple layouts |
|
|
777 | |
|
|
778 | The layoutstyle "multiple" divides the map into many areas |
|
|
779 | and uses random layout styles in each area. Works best with |
|
|
780 | very high or wide maps and fewer levels. |
518 | |
781 | |
519 | =head2 An example input file |
782 | =head2 An example input file |
520 | |
783 | |
521 | layoutstyle onion |
784 | layoutstyle onion |
522 | monsterstyle humanoid |
785 | monsterstyle humanoid |
… | |
… | |
528 | decorstyle furniture |
791 | decorstyle furniture |
529 | floorstyle dirt |
792 | floorstyle dirt |
530 | wallstyle wooden |
793 | wallstyle wooden |
531 | symmetry 1 |
794 | symmetry 1 |
532 | |
795 | |
533 | |
|
|
534 | =head2 Below is the original proposal |
|
|
535 | |
|
|
536 | Random Maps |
|
|
537 | |
|
|
538 | The major thing still missing from Crossfire, I think, is a good facility |
|
|
539 | for generating random maps: |
|
|
540 | |
|
|
541 | 1. They can be used by map creators to create a basic layout for his |
|
|
542 | quest or whatever, so that he need not start from a blank canvas. |
|
|
543 | |
|
|
544 | 2. Buildings with nothing else in them can have a random map in them. |
|
|
545 | In fact, we could have the same random map generated every time someone |
|
|
546 | enters a particular building (pick the seed off of the parent map name |
|
|
547 | and the entrance location!) This would transform the world from finite |
|
|
548 | to infinite. |
|
|
549 | |
|
|
550 | Needed Features: |
|
|
551 | |
|
|
552 | Styles: |
|
|
553 | |
|
|
554 | Random maps would need to be "styled": walls, doors, monsters, and other |
|
|
555 | decor should be picked from certain subsets of the total object set. An inn |
|
|
556 | has a very different style than a castle, and from a dungeon, in both walls, |
|
|
557 | decor, and monsters. |
|
|
558 | |
|
|
559 | Ubiquity: (map configurable: unspecified==no random maps) |
|
|
560 | |
|
|
561 | Any exit which does not have a destination specified should lead to |
|
|
562 | a random map, but WITH a sign saying "this is a random map". |
|
|
563 | |
|
|
564 | Identifiability: (configurable) |
|
|
565 | |
|
|
566 | Random maps includes a sign |
|
|
567 | which states that the map is random. |
|
|
568 | |
|
|
569 | Recursion: |
|
|
570 | |
|
|
571 | Random maps should optionally have another entrance to a random map of |
|
|
572 | the same style. The depth of recursion should be specifiable. |
|
|
573 | |
|
|
574 | Difficulty: |
|
|
575 | |
|
|
576 | Difficulty should be specifiable. Also, whether the map advances in |
|
|
577 | difficult with recursion should be specified. |
|
|
578 | |
|
|
579 | Quests: |
|
|
580 | |
|
|
581 | It would be cool if random quests could be implemented, too. I won't |
|
|
582 | put this in immediately. |
|
|
583 | |
|
|
584 | Standalone operation: |
|
|
585 | |
|
|
586 | It'd be cool if the random map generator operated standalone, so that |
|
|
587 | map designers could use it easily as well as the server could at exits. |
|
|
588 | |
|
|
589 | Size: |
|
|
590 | |
|
|
591 | Random maps should be sized. A big, multi-square exit should have a bigger |
|
|
592 | random map to it, while a small house should have a small interior. |
|
|
593 | |
|
|
594 | Inheritance: |
|
|
595 | |
|
|
596 | The type and location of the exit should imply something about its random |
|
|
597 | interior. A shop exit should have a shop interior, a house should have a |
|
|
598 | home interior, etc, a difficult map should have difficult sub-maps. |
|
|
599 | |
|
|
600 | Directedness: |
|
|
601 | |
|
|
602 | Buildings should have random maps with stairs up to the next random map, |
|
|
603 | dungeons with stairs down, etc. |
|
|
604 | |
|
|
605 | What does everyone think? Anyone willing to help? Has anyone already |
|
|
606 | made so much progress on this that I should just help them instead of |
|
|
607 | starting one myself? |
|
|
608 | |
|
|
609 | |
|
|
610 | Algorithms: |
|
|
611 | |
|
|
612 | Maze algorithm: start from a wall point, move forward left or right |
|
|
613 | or start from a new wall point, at random, recursively. If blocked, |
|
|
614 | pop the stack until you can walk again. If you return all the way, |
|
|
615 | a maze is generated. |
|
|
616 | |
|
|
617 | |
|
|
618 | Specs for a room algorithm: |
|
|
619 | Can you write for a function: |
|
|
620 | |
|
|
621 | char **room_gen_corridored(int xsize, int ysize, int option); |
|
|
622 | |
|
|
623 | which allocates and returns a char[xsize][ysize], with # being a wall |
|
|
624 | and a char value of 0 indicating nothing. |
|
|
625 | like:: |
|
|
626 | |
|
|
627 | ###################### |
|
|
628 | # # # # |
|
|
629 | # # # # |
|
|
630 | # # |
|
|
631 | # # # # |
|
|
632 | ######### ########## |
|
|
633 | # # # # |
|
|
634 | # # |
|
|
635 | # # # # |
|
|
636 | # # # # |
|
|
637 | ######### ########## |
|
|
638 | # # # # |
|
|
639 | # # |
|
|
640 | # # # # |
|
|
641 | ###################### |
|
|
642 | |
|
|
643 | Some suggested options: |
|
|
644 | option: |
|
|
645 | 0 random choice of one of the other options below * |
|
|
646 | 1 vertical centered corridor * |
|
|
647 | 2 horizontal centered corridor * |
|
|
648 | 4 vertical corridor on the right-hand wall * |
|
|
649 | 8 vertical corridor on the left-hand wall |
|
|
650 | 16 horizontal corridor on the bottom wall * |
|
|
651 | 32 horizontal corridor on the top wall |
|
|
652 | |
|
|
653 | The *'d ones are the important ones. |
|
|
654 | |
|
|
655 | Options 4 and 16 are important so I can easily create reasonable |
|
|
656 | bilaterally and 4-way symmetric maps, as in a castle. |
|
|
657 | |
|
|
658 | If you're really ambitious, you could make it so you could ADD the |
|
|
659 | options to get something like 10: centered vertical corridor and right-hand |
|
|
660 | corridor. |
|
|
661 | |
|
|
662 | One restriction you must satisfy, however, is that every place on the map |
|
|
663 | be accessible from everywhere else. |
|
|
664 | |
|
|
665 | Feel free to contact me with any questons. |
|
|
666 | |
|
|
667 | peterm@langmuir.eecs.berkeley.edu |
|
|
668 | |
|
|
669 | =head1 AUTHORS |
796 | =head2 AUTHORS |
670 | |
797 | |
671 | The original document was taken from Crossfire and subsequently modified by Marc Lehmann. |
798 | The original document was taken from Crossfire and subsequently modified by Marc Lehmann. |