Code Monkey home page Code Monkey logo

random-dungeon-generator-gms-2.3's People

Contributors

blaxun avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

random-dungeon-generator-gms-2.3's Issues

Allow for AutoWall-Corners to be closed

Right now auto-walls will only be added to the direct sides of Hallways, ChamberGround and open Connectors. However corners (top-left, top-right, bottom-left, bottom-right) are never closed.

The idea is to add another flag to control if corners should be closed.

Add a way for parts of a chamber to only be drawn when a connector inside it is used

Right now the complete chamber will be output when used in a dungeon. However, some chambers have a layout where part of it only make sense if the connector on that part is actually used. Maybe there is a way to use color-coding to detect those areas.

These areas would then only be drawn if a connector inside it has established a connection.

Add required padding

For the system to work a padding is required!
Each side of a chamber preset needs a individual padding that is based on the maximum dimension of all connectors available on that side.

Example:

Right side has 3 connectors.
Connector #1 - 2 Pixel height
Connector #2 - 4 Pixel height
Connector #3 - 5 Pixel height

Conclusion -> Right side needs Padding of 5.
With a padding of 5 the hallway can be created.

For this to work we'll have to get rid of the padding that can be set in the GeneratorOptions.
This change will also affect how the maximum grid size on the RandomDungeonGenerator is calculated

Automatically add walls around chambers and hallways

It would be extremely helpful if a ColorMeaning for "Wall" would exist. I'd like to set a switch such as "addWalls" on the Options and would then expect the final dungeon do have walls around its hallways and chambers.

This should be pretty easy to implement by looping all cells once everything was placed

Basic Hallways between Connectors

When the dungeonPreset is being populated we already decide on conenctors to use. Store that information somewhere and once the populating is done the hallways should be created.

For this to work the required padding has to be added first

Allow for chambers that are actually a dead-end

Right now the system can only create dungeons that use chambers that are chained together. Meaning a chamber must have at least two sides with connectors. For some use cases we actually want to have room such as rooms with a treasure chest which would only have a single entry.

The current system should be enhanced to allow for such rooms (branching!?)

Improve performance

Find a way to get rid of memory allocation problems.
Maybe perform chunking on grids or only use parts of a grid at a time.

Maybe get rid of the pixel grid and only use the ColorMeaning-Grid.

Where could I replaced the pixel grid?

ChamberPreset
DungeonPreset

In the end all that should matter is the ds_grid with coordinates anyway.

Add completely customizable color detecting

Implement a system where users can add custom colors with metadata. This would allow for stuff such as teleporters, chests or whatever the person wants. Maybe even add this as a new layer on top of the metadata map?

Add demo-showcase for actual dungeon

Right now the created dungeon in the demo-showcase is only drawn on a pixel-level. It would be nice if there was a way to show users what a dungeon would look like whne you can actually walk trhough it.

Callback function onEnd?

Maybe it’s possible to allow for users to assign a callback function that would be called when dungeon generating is done.

Add a list of PlacedChambers for output

Only exporting the ds_grid with ColorMeanings would be quite limited.
There should also be a ds_list with PlacedChambers, their index and position on the grid that should be exported in some way.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.