… | |
… | |
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 |
… | |
… | |
206 | |
209 | |
207 | exit_on_final_map The default action is to place an exit on |
210 | exit_on_final_map The default action is to place an exit on |
208 | the final map. When explicitly set to 'no' this will |
211 | the final map. When explicitly set to 'no' this will |
209 | not place a return exit on the final_map. |
212 | 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! |
213 | If you use this setting YOU MUST PROVIDE A WAY BACK IN THE FINAL MAP! |
211 | |
|
|
212 | |
214 | |
213 | =head2 Misc. Parameters |
215 | =head2 Misc. Parameters |
214 | |
216 | |
215 | decoroptions <option> Currently, ignored. Possibly in the future it |
217 | decoroptions <option> Currently, ignored. Possibly in the future it |
216 | will cause the decor to be patterned in some way, |
218 | will cause the decor to be patterned in some way, |
… | |
… | |
234 | 16 Trap the treasure. A trap from /styles/trapstyles/traps |
236 | 16 Trap the treasure. A trap from /styles/trapstyles/traps |
235 | is selected and inserted into the treasure chest. |
237 | is selected and inserted into the treasure chest. |
236 | 32 sparse treasure. 1/2 as much treasure is generated. |
238 | 32 sparse treasure. 1/2 as much treasure is generated. |
237 | 64 rich treasure. 2x as much treasure is generated. |
239 | 64 rich treasure. 2x as much treasure is generated. |
238 | |
240 | |
239 | If option 1 is not set, options 2-16 are ignored. Options |
241 | If option 1 is not set, options 2-16 are ignored. Options |
240 | may be added together: treasureoptions 3 means treasure |
242 | may be added together: treasureoptions 3 means treasure |
241 | optons 1 and 2 are set. |
243 | optons 1 and 2 are set. |
242 | |
244 | |
243 | =head2 Map Layout styles |
245 | =head2 Map Layout styles |
244 | |
246 | |
245 | =head3 Onion Maps |
247 | =head3 Onion Maps |
246 | |
248 | |
247 | Onion rooms are like this: |
249 | Onion rooms are like this: |
… | |
… | |
272 | 4 bottom "centered" |
274 | 4 bottom "centered" |
273 | 8 bottom-right centered |
275 | 8 bottom-right centered |
274 | 16 outer wall off: i.e., no outer wall. |
276 | 16 outer wall off: i.e., no outer wall. |
275 | 32 irregularly/randomly spaced layers (default: regular) |
277 | 32 irregularly/randomly spaced layers (default: regular) |
276 | |
278 | |
277 | |
|
|
278 | =head3 Maze Maps |
279 | =head3 Maze Maps |
279 | |
280 | |
280 | Maze maps are like this: |
281 | Maze maps are like this: |
281 | |
282 | |
|
|
283 | A "roomy" maze: |
|
|
284 | |
|
|
285 | ######################################## |
|
|
286 | # # |
|
|
287 | # # # # # # # # # |
|
|
288 | # ## ## # ### # # ## # |
|
|
289 | # ### # # # ## # # |
|
|
290 | # ## ## # ## # # ## # |
|
|
291 | # ## # # ## # # # # # ## ## # |
|
|
292 | # # ## # # #### # #### # # # |
|
|
293 | # ## ## ## ## # # # ## ## # # |
|
|
294 | # # # ## # # # # # |
|
|
295 | # ## ### ### ## #### ## # |
|
|
296 | # ## #### ### # # |
|
|
297 | # ## ### ### # # ## # |
|
|
298 | # ## ### # ## # # # # |
|
|
299 | # ### ### # ### # #### # |
|
|
300 | # # ## ## ##### # ## # |
|
|
301 | # # ## # # ##### ## # # |
|
|
302 | # ## ## ## # # # ## # |
|
|
303 | # ## ### # ## ## # ##### # |
|
|
304 | # #### # # # ### # # # |
|
|
305 | # # ### ## ## # # # # # |
|
|
306 | # ## ## # # ## # # |
|
|
307 | # # #### ## #### # |
|
|
308 | # ## |
|
|
309 | ######################################## |
|
|
310 | |
282 | A "sparse" maze: |
311 | A "sparse" maze: |
283 | |
312 | |
284 | ######################################## |
313 | ######################################## |
|
|
314 | # # # # # # # # # # # # # # # |
285 | # # # # # # # # # # # # # # |
315 | # # # # # # # # # # # # # # |
286 | # # # # # # # # # # # # |
316 | #### # # ## ### # # # ## ## # |
287 | #### ## ## # # ### # ## # # # ## |
317 | # # ### # ## # ## ## #### ## |
288 | # ##### # ## # # # ## ### ## ### # |
318 | ## # ## # ## # # # # |
289 | ## ### # # # # |
319 | # ## #### ## ## # ## # ## #### |
290 | # ### # # #### ### # |
320 | #### # ## ### # ## # # |
291 | # # ## ## ## # # ### |
321 | # ## ## ## ## # #### # |
292 | # ###### # ### # # ## # # |
322 | #### # ### ## ## ## ## # |
293 | # # ## #### ## # # # # # |
323 | # # ### # # # # ### |
294 | # # ## ## ## ### ## # # # # # |
324 | # ##### #### # #### ### ### # |
|
|
325 | ## # # ### # #### |
|
|
326 | # ## # ## ## ### # |
|
|
327 | ## ## ### #### ##### # # |
|
|
328 | # # # ## # # ## # |
|
|
329 | #### #### ## ### #### # # # |
|
|
330 | # # ## ## ## # # # |
|
|
331 | ### ##### # #### #### # ## # ## # |
|
|
332 | # # # ## ## # ## # # # |
295 | #### ## ## ## ## ### # ### ### |
333 | ##### ## ## # ## ## ## # ## # # # |
296 | # # ## ##### # ### # |
334 | # # # # # # ## # ## # # ### |
297 | ## ## # ### # ## ## |
|
|
298 | # ## ## ## # ## # ### # |
|
|
299 | ## # # # # # # # ## # |
|
|
300 | # ### ### ## # ## ## #### ## # # |
|
|
301 | ## # # # # # # # #### # ### |
|
|
302 | # ### ## ## # ## ## ## # ### # |
|
|
303 | ## # ## # # # # # # ## # ## |
|
|
304 | # ##### ## ## #### ## # # # ## # |
335 | # #### # # ## ### # ## # # ## ## # # |
305 | ## # # # # ## # ### # |
|
|
306 | # # # # # # # # # # # # # # |
336 | # # # # # # # # # # # # # |
307 | ######################################## |
337 | ######################################## |
|
|
338 | |
|
|
339 | A "braided" maze: |
|
|
340 | |
|
|
341 | ######################################## |
|
|
342 | # # # # # # # # # # # # # # # |
|
|
343 | # # # # # # # # # # ## |
|
|
344 | # ## # # ## # # # |
|
|
345 | # ## ## # ## # ## # ## ####### |
|
|
346 | # ### # # # # # # ## # # |
|
|
347 | # # # # # # ### ### #### ## # |
|
|
348 | ### #### ## ### # # # ## ## |
|
|
349 | # # # # # ## # # |
|
|
350 | # ## ## ###### ## ### ## #### #### |
|
|
351 | #### # ### # ## # # # |
|
|
352 | # ## # # # ## # ####### ## #### |
|
|
353 | #### # # ### # # # # # |
|
|
354 | # ## ### # ## # ## ### # ## |
|
|
355 | # # ## ##### # # ### ## # # # |
|
|
356 | ## # # ## ### ## ## # |
|
|
357 | # # # # # #### # ### ### |
|
|
358 | # # # ## ##### # # # ## # # # |
|
|
359 | # ## ## # # ## ## # ### # # |
|
|
360 | # # ### ###### # # # # # # |
|
|
361 | ## # ## # # # ## ## # ### # |
|
|
362 | # # ### # ##### # # # ## # # |
|
|
363 | # ## ## ### # ## # # # # ### # |
|
|
364 | # # # # # # # # # # # # |
|
|
365 | ######################################## |
308 | |
366 | |
309 | A "full" maze: |
367 | A "full" maze: |
310 | |
368 | |
311 | ######################################## |
369 | ######################################## |
312 | # # # # # # # |
370 | # # # # # # # # # # # # |
313 | # # # # # # # # # # # # # # # |
|
|
314 | ### ## ## ######## ### ### ### # # |
|
|
315 | # # # ## # ### ### # ### ## |
|
|
316 | # ##### ### ##### ## ## ## # # |
|
|
317 | # # # ## # # ## #### # # # ## |
|
|
318 | # #### ## ### #### # ## ## ### # # # |
|
|
319 | # # # # # ### # # # # |
|
|
320 | # ### ## ## ### #### #### ## # ### |
|
|
321 | # # # # # # #### ## # # ## # # |
|
|
322 | # # ## #### ## # ## # ## # # |
|
|
323 | # #### ## # ### #### # ### # #### # |
|
|
324 | # # # # # # # # ## #### # # |
|
|
325 | # ##### #### ## ### # # ## # |
|
|
326 | # ## ## # ## ## ## ##### # # # |
|
|
327 | # # # # ## # # # ## # # ### # # |
|
|
328 | ## ### # ## # # #### ### # # # ## # |
|
|
329 | # # # # ## # # # ## ### # # |
|
|
330 | ## # #### ## # # ###### # # #### # |
|
|
331 | # # #### # ###### ## ### # # |
|
|
332 | ### # ## ## # # # ## # |
|
|
333 | # # # # # # # # # # # # # |
371 | # # # # # # # # # # # # # # # |
|
|
372 | ## #### ### #### #### #### ## ### # # |
|
|
373 | # ## # # # # ### ### # |
|
|
374 | #### ##### #### ## # # #### # # |
|
|
375 | # ## # # ## # ## # ### ## ## # |
|
|
376 | # ### ## ## # # # # # # |
|
|
377 | # ### ## ## # ### # ##### ## |
|
|
378 | # ## ## ###### ## # ## #### # # # |
|
|
379 | ### # # # # ## # # ######## |
|
|
380 | # ####### # ## # ### #### # # |
|
|
381 | # # # # #### ## # ### ## |
|
|
382 | #### # # # ## ## #### #### # # # |
|
|
383 | # ### # ## ## # ### ### ## |
|
|
384 | # # ## ### # ### ### # # # |
|
|
385 | #### #### #### # ## # # # ### # |
|
|
386 | # ## # ## # # # ## ## # ## # |
|
|
387 | # #### #### # ## ### # # ## # ### |
|
|
388 | # ### ## # # # #### ##### # |
|
|
389 | # #### #### ### ### # # # # |
|
|
390 | # ## # # ### # # ##### # |
|
|
391 | # ### #### ###### ##### ####### # # |
|
|
392 | # # # # # # # # # |
334 | ######################################## |
393 | ######################################## |
335 | |
394 | |
|
|
395 | =head3 Cave Maps |
|
|
396 | |
|
|
397 | Type 0, rough: |
|
|
398 | |
|
|
399 | ######################################## |
|
|
400 | ################################# #### |
|
|
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 | Type 1: corridors |
|
|
452 | |
|
|
453 | ######################################## |
|
|
454 | ############################ # |
|
|
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 | Type 2: somewhat open |
|
|
506 | |
|
|
507 | ######################################## |
|
|
508 | #################### ##### ### |
|
|
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 | Type 3: wide open |
|
|
534 | |
|
|
535 | ######################################## |
|
|
536 | # ######## ####### # |
|
|
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 | =head2 Castle layouts |
|
|
562 | |
|
|
563 | Castles are similar to caves, except they generate very straight dungeon |
|
|
564 | features (not unlike roguelike layouts). |
|
|
565 | |
|
|
566 | ######################################## |
|
|
567 | #### #################### ## |
|
|
568 | #### ###### ######### ## |
|
|
569 | #### ### ####### # ######### ## |
|
|
570 | #### D D ## ##### ## |
|
|
571 | #####D## ##### D ## |
|
|
572 | ##### # # # ## ## |
|
|
573 | ##### # #### # ########## |
|
|
574 | ##### # # # # D # |
|
|
575 | ##### # # # ######## #D# # |
|
|
576 | ##### # #D# # ######### ######## |
|
|
577 | ##### ######### # D ####### |
|
|
578 | ##### ########## D ##D######## |
|
|
579 | ###### ### #### ###### #D# # ##### |
|
|
580 | ##### #D# ## ### D # ##### |
|
|
581 | ##### # # ## ###### ##### |
|
|
582 | ##### # # ### ###### ##### |
|
|
583 | #######D###D### ### ## # ## |
|
|
584 | ###### #### ### ## # ## |
|
|
585 | ###### # ##### ## ## |
|
|
586 | ###### # ####### ## # ## |
|
|
587 | ###### D ############# # ## |
|
|
588 | ########### ############# # ## |
|
|
589 | ########### ################## ## |
|
|
590 | ######################################## |
336 | |
591 | |
337 | =head3 Spiral Maps |
592 | =head3 Spiral Maps |
338 | |
593 | |
339 | A Spiral Map:: |
594 | A Spiral Map: |
340 | |
595 | |
341 | ########################### |
596 | ########################### |
342 | ########################### |
597 | ########################### |
343 | ########### D ########## |
598 | ########### D ########## |
344 | ######### #### ######## |
599 | ######### #### ######## |
… | |
… | |
366 | |
621 | |
367 | 0 pick random options |
622 | 0 pick random options |
368 | 1 Regular spiral: distance increases constantly with angle |
623 | 1 Regular spiral: distance increases constantly with angle |
369 | 2 Fine spiral: most coils possible are fit in |
624 | 2 Fine spiral: most coils possible are fit in |
370 | 4 Fit Spiral: scale spiral to fit rectanglar region |
625 | 4 Fit Spiral: scale spiral to fit rectanglar region |
371 | (i.e., the spiral will look elliptical) |
626 | (i.e., the spiral will look elliptical) |
372 | |
627 | |
373 | =head3 Rogue-like Maps: |
628 | =head3 Rogue-like Maps |
374 | |
629 | |
375 | A Rogue-like Map: |
630 | A Rogue-like Map: |
376 | |
631 | |
377 | ############################### |
632 | ############################### |
378 | ############# ########### |
633 | ############# ########### |
… | |
… | |
513 | # # # ####D#### # # # |
768 | # # # ####D#### # # # |
514 | ##D##########D# #D##########D## |
769 | ##D##########D# #D##########D## |
515 | # # < # # |
770 | # # < # # |
516 | ##################################### |
771 | ##################################### |
517 | |
772 | |
|
|
773 | =head2 Multiple layouts |
|
|
774 | |
|
|
775 | The layoutstyle "multiple" divides the map into many areas |
|
|
776 | and uses random layout styles in each area. Works best with |
|
|
777 | very high or wide maps and fewer levels. |
518 | |
778 | |
519 | =head2 An example input file |
779 | =head2 An example input file |
520 | |
780 | |
521 | layoutstyle onion |
781 | layoutstyle onion |
522 | monsterstyle humanoid |
782 | monsterstyle humanoid |
… | |
… | |
528 | decorstyle furniture |
788 | decorstyle furniture |
529 | floorstyle dirt |
789 | floorstyle dirt |
530 | wallstyle wooden |
790 | wallstyle wooden |
531 | symmetry 1 |
791 | symmetry 1 |
532 | |
792 | |
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 |
793 | =head2 AUTHORS |
670 | |
794 | |
671 | The original document was taken from Crossfire and subsequently modified by Marc Lehmann. |
795 | The original document was taken from Crossfire and subsequently modified by Marc Lehmann. |