0.9.6 • Published 2 years ago
simpledungeongenerator v0.9.6
Simple Dungeon Generator
A simple dungeon generator for javascript (typed) and the browser with only one dependency (for seeded random numbers).
Highly configurable, but with sensible defaults.
Demo: https://purukitto.github.io/SDGdemo/
See the latest changelog here
Installation
npm
npm install simpledungeongeneratoryarn
yarn add simpledungeongeneratorUsage
Simplest dungeon with:
// ESM
import simpleDungeon from "simpledungeongenerator";
const dungeon = new simpleDungeon();
dungeon.drawToConsole();// CJS
const simpleDungeon = require("simpledungeongenerator").default;
const dungeon = new simpleDungeon();
dungeon.drawToConsole();<!-- Browser -->
<!-- path to bundle -->
<script src="./node_modules//simpledungeongenerator/dist/bundle.js"></script>
<script>
const dungeon = simpleDungeon();
const svgContainer = document.getElementById("svg-container"); // SVG container
dungeon.drawToSVG(svgContainer, 5, {
withIndex: true,
withColour: true,
});
</script>Options
| Option | Type | Default | Description |
|---|---|---|---|
| seed | string | "purukitto" | Seed for the random number generator |
| maxH | number | 50 | Maximum height of the dungeon |
| maxW | number | 50 | Maximum width of the dungeon |
| type | string | "Base" | Type of the dungeon to generate (Currently has no effect) |
| roomTries | number | 150 | Number of times to try to generate a room |
| extraRoomSize | number | 0 | Extra size to add to the room |
| windingPercent | number | 50 | Percentage of the dungeon to be winding |
| tiles | Object | defaultTiles | Tiles to use for the dungeon |
| startIndex | number | 1 | Index to start the dungeon from |
Properties
| Property | Type | Description |
|---|---|---|
| map | object | A 2D array representing the dungeon map. |
| rooms | Room[] | An array of rooms in the dungeon |
| tiles | Object | The tiles used for the dungeon |
Methods
| Method | Description |
|---|---|
| drawToConsole() | Draws the dungeon to the console |
| drawToSVG() | Draws the dungeon to an SVG |
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
License
Acknowledgements
- seedrandom - Seedable random number generator
- Article - Fabulous article on dungeon generation
- changesets - Used for managing changelogs and releases
- Rollup - Used for bundling the library
0.9.6
2 years ago
0.9.5
2 years ago
0.9.4
2 years ago
0.9.3
2 years ago
0.9.2
2 years ago
0.9.1
2 years ago
0.9.0
2 years ago
0.8.0
2 years ago
0.7.3
2 years ago
0.7.2
2 years ago
0.7.1
2 years ago
0.7.0
2 years ago
0.6.4
2 years ago
0.6.3
2 years ago
0.6.2
2 years ago
0.6.1
2 years ago
0.6.0
2 years ago
0.5.0
2 years ago
0.4.0
2 years ago
0.3.2
2 years ago
0.3.0
2 years ago
0.1.1
2 years ago
0.1.0
2 years ago