All Projects → halftheopposite → dungeon

halftheopposite / dungeon

Licence: MIT license
A configurable and editable dungeon generator using Binary-Space Partitioning and hand-made rooms.

Programming Languages

typescript
32286 projects
HTML
75241 projects

Projects that are alternatives of or similar to dungeon

Godot-ProcGen-Dungeon-Generator
A simple Dungeon Procedural Generator using Godot.
Stars: ✭ 24 (-51.02%)
Mutual labels:  procedural-generation, dungeon
TaurusDungeonGenerator
A graph based procedural dungeon generator for Unity
Stars: ✭ 25 (-48.98%)
Mutual labels:  procedural-generation, dungeon
gameplate
🎮 Boilerplate for creating game with WebGL & Redux 🎲
Stars: ✭ 39 (-20.41%)
Mutual labels:  pixijs
camp
Building generative VR worlds on the Web
Stars: ✭ 16 (-67.35%)
Mutual labels:  procedural-generation
WaveCollapseFunction
Unity project that uses Wave Collapse Function to procedurally generate buildings
Stars: ✭ 20 (-59.18%)
Mutual labels:  procedural-generation
wfc
Go port of the Wave Function Collapse algorithm
Stars: ✭ 47 (-4.08%)
Mutual labels:  procedural-generation
parcel-pixijs-quickstarter
Example App using pixiJS and Typescript bundled with parcel
Stars: ✭ 48 (-2.04%)
Mutual labels:  pixijs
world
This is a fantasy world generation API and set of Go packages for the same.
Stars: ✭ 42 (-14.29%)
Mutual labels:  procedural-generation
spacestation
A procedural spacestation generator
Stars: ✭ 22 (-55.1%)
Mutual labels:  procedural-generation
procedural-art
🌌 Procedural art with vanilla JavaScript
Stars: ✭ 83 (+69.39%)
Mutual labels:  procedural-generation
gemini
Sci-Fi galaxy simulation with heavy procedural generation focus
Stars: ✭ 25 (-48.98%)
Mutual labels:  procedural-generation
calder
Interactive constraints for controlling the growth of procedural models.
Stars: ✭ 17 (-65.31%)
Mutual labels:  procedural-generation
pixi-live2d-display
A PixiJS plugin to display Live2D models of any kind.
Stars: ✭ 254 (+418.37%)
Mutual labels:  pixijs
flowing-terrain
Algorithm for creating 3 dimensional terrain maps and their likely watercourses.
Stars: ✭ 27 (-44.9%)
Mutual labels:  procedural-generation
pixijs-ts-boilerplate
Just another PixiJS Typescript Boilerplate with some basic functionalities
Stars: ✭ 54 (+10.2%)
Mutual labels:  pixijs
convchain
Javascript port of https://github.com/mxgmn/ConvChain
Stars: ✭ 44 (-10.2%)
Mutual labels:  procedural-generation
blackout
Procedurally generated blackout poetry
Stars: ✭ 56 (+14.29%)
Mutual labels:  procedural-generation
nep-live2d
Live2D wallpaper for Neptune, running on Wallpaper Engine.
Stars: ✭ 45 (-8.16%)
Mutual labels:  pixijs
SimpleErosion
Simple C++ implementatoin of particle-based hydraulic erosion on a square grid
Stars: ✭ 64 (+30.61%)
Mutual labels:  procedural-generation
random-art-generator
Command-line application to produce generative art based on a target image
Stars: ✭ 32 (-34.69%)
Mutual labels:  procedural-generation

dungeon

A configurable and editable dungeon generator using Binary-Space Partitioning and hand-made rooms running in the browser.

Screenshot of a generated dungeon

🕹️ Testing

A demo is available here https://halftheopposite.github.io/dungeon.

💻 Running

If you want to run the development mode to generate dungeons or edit rooms you can run the yarn start command.

This will launch the development server where you will be able to:

📕 Features

Editor

Using the edit mode you can: create, edit, or remove the rooms that are used for generating dungeons. The current editing session is saved to the local storage which makes it possible to continue editing later on.

  • You can load a rooms.json file to start with.
  • You can save a rooms.json to use in your own project.

editor

Generator

In the generate mode, you can render dungeons by tuning some key parameters.

  • You can download a JSON representation of the dungeon.
  • You can right click and save the generated image.

generate

⚙️ Package (NPM)

The project also comes with a published package on NPM @halftheopposite/dungeon, which bundles the generator's code only. The interactive editor and generator are excluded for package's weight reasons.

How to use the generator's code in your own project:

import { generate } from '@halftheopposite/dungeon';

const dungeon = generate({
  rooms: [...], // A list of templates (e.g. you can download the `rooms.json` from the online editor)
  mapWidth: 96,
  mapHeight: 56,
  mapGutterWidth: 1,
  iterations: 5,
  containerSplitRetries: 20,
  containerMinimumRatio: 0.45,
  containerMinimumSize: 4,
  corridorWidth: 2,
  seed: "dungeon",
});

This will return:

const result = {
    width: number;
    height: number;
    tree: TreeNode<Container>;
    layers: {
        tiles: TileMap;
        props: TileMap;
        monsters: TileMap;
    };
}

Assets

Thanks to @pixel_poem for the art package he published on https://pixel-poem.itch.io/dungeon-assetpuck.

Licenses

This project is under the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].