Skip to content

Instantly share code, notes, and snippets.

@coderespawn
Created April 23, 2021 13:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save coderespawn/bc5905290233c4d57372d2971d3db717 to your computer and use it in GitHub Desktop.
Save coderespawn/bc5905290233c4d57372d2971d3db717 to your computer and use it in GitHub Desktop.
Change Log: Dungeon Architect for Unity

CHANGE LOG: Dungeon Architect

Version 1.17.1

  • New: Grid Flow builder's Create Main Path and Create Path nodes support position constraints. Use a script to control where the nodes are created in the flow graph. Sample added to the launchpad
  • New: Grid Flow supports static spawn / goal room positions. This allows you to blend your static level art with the procedural dungeon. Added a new sample in the launchpad demoing this
  • Fix: Module database is more fault tolerant while finding and assigning user defined connections during compilation. When your connections are off by a little, it will make a better guess of the right connection slot
  • Fix: Fixed the grid builder's paint data getting destroyed on dungeon rebuilds
  • New: New side scroller sample setup for snap grid flow builders in the Launch Pad

Version 1.17.0

  • New: A powerful new builder called SnapGridFlow. It combines the power of the Flow and Snap frameworks and lets you stitch pre-made rooms using a powerful layout graph editor. More info here: https://docs.dungeonarchitect.dev/unity/snap-grid-flow
  • New: Theme Editor marker visualizers. Click on a theme node for alignment guides. Enable it with the Marker Visualization button in the theme editor's toolbar
  • New: Visibility Graph framework lets you hide snap based prefabs that are a certain depth away from the layout graph. This is great for improving the performance
  • New: Grid flow code and it's supporting editor infrastructure has been rewritten into a reusable flow framework (without breaking your existing gridflow assets). This will allow for future extensibility and paves way for many interesting new builders (with snap-grid-flow being the first of them)
  • New: Grid Flow editor and Theme editor nodes have had their property editors redesigned so they have a a more aesthetically pleasing look in the inspector window
  • New: Redesigned the UI renderer so all editor windows are fast and responsive. This includes the theme editor, snap editor, gridflow editor and snap grid flow editor
  • New: Discord and documentation buttons added to Theme Editor, Snap Editor, Flow Editor and Dungeon actors
  • New: Theme editor's visual nodes have their "Force static" set to false by default. This is an editor only flag and doesn't affect runtime builds. Change your prefab's mobility to affect the static state instead
  • Fix: Fixed a bug in the key-lock algorithm that was causing alternate paths to bypass the main path's lock. This issue was introduced in 1.16.0
  • Fix: Fixed camera mouse sensitivity issues in the grid flow game sample
  • Fix: BSP Builder saves its room IDs in a serializable structure, correctly saving the data model

Version 1.16.2

  • Fix: Grid Flow editor's state got invalidated after opening a new scene or after playing the game in the editor
  • Fix: Removed an unused import that was causing packaging issues in 2019.x

Version 1.16.1

  • Critical Fix: Theme editor was not working due to a change in the last update

Version 1.16.0

  • Critical Fix: Theme editor's Selection rule and Transform rules were broken due to a change in the last update
  • Critical Fix: Snap Flow editor no longer hangs in Mac. Disabled drag-drop in the snap editor for mac builds. Use the context menu to create nodes
  • New: Implemented a more robust key-lock system for the GridFlow builder
  • New: Redesigned the Grid Flow editor to be extensible for future enhancements
  • Fix: Improved the rendering performance of the Snap Flow editor and the launchpad
  • Fix: Fixed null pointer issues with grid flow metadata handler with stale game objects

Version 1.15.0

  • Critical Fix: Assembly definitions introductions in the previous version were causing errors while creating standalone builds
  • Fix: Doors are created only once on the Snap builder
  • Fix: Snap builder's module collision tolerance was incorrectly calculated in some cases

Version 1.14.0

  • New: Assembly definitions added to Dungeon Architect code. This will compile the DA code in a separate module and will not recompile everything when you modify your game code, speeding up the code iteration cycle
  • New: Spatial Constraints support added to Mario Builder
  • New: FloorPlan builder has tooling for controlling the corridor placement. Demo
  • Fix: Painting or moving platform volumes generates valid prefabs (instead of prefab clones, which don't link to the original prefab)
  • Fix: Fixed a null pointer issue with stale link pointers in the theme graph asset

Version 1.13.0

  • New: Mirror Volume allows you to create symmetric dungeons.
  • New: Added a mirror volume sample in the Launch Pad window
  • Fix: Fixed a null pointer issue when grid flow item markers had empty nodes
  • Fix: FindLongestPath function produces correct result
  • Fix: Snap builder was not generating correct bounds for some prefab types, which was causing overlaps

Version 1.12.0

  • New: Added support for Unity 2D tilemaps with the snap builder. This allows you to create rooms in a tilemap and stitch them together
  • New: Added Snap builder query interface. This allows you to query the rooms, doors and other snap dungeon attributes
  • Fix: Fixed tool window rendering (theme editor, snap editor, grid flow editor etc) when dark unity editor theme was selected
  • Fix: Fixed rendering performance issues in the tool windows (theme editor, snap editor etc)
  • Fix: Disabling corridors in the grid flow builder will correctly promote chunks to caves instead of rooms
  • Fix: In the grid flow builder, some of the cave tiles were leaking through the corners letting the player bypass the locks
  • New: Launchpad Sample - Snap 2D sample
  • New: Launchpad Sample - Grid Flow 2D sample
  • New: Launchpad Sample - Snap Query Interface. Given a world position, find information about the room (bounds of the room, number of attached doors, their positions etc)
  • New: Launchpad Sample - Spatial Constraints Gable Roofs sample

Version 1.11.0

  • New: Grid Flow builder supports Edge Walls. This allows you to place your walls on the edge of the tile, instead of the wall taking up the entire tile. This mode will emit a WallSeparator marker as well and will allow you to reuse the grid builder's theme with the gridflow builder
  • New: Grid Flow builder supports Fence and Fence Separator markers. They are emitted around the caves
  • New: Disable Caves and Corridor generation in the grid flow builder
  • New: Grid Flow's tilemap room size is changed from a number to a size value (width, height). This allows rectangular room creation instead of square rooms
  • Fix: Fixed a gridflow minimap error which was causing the gridflow dungeon generation to fail from the editor when the tilemap exec nodes were not created yet
  • New: Launchpad Sample - Grid Flow Edge Walls: Demos the new 'Walls as Edge' feature
  • New: Launchpad Sample - Grid Flow Game Edge Wall: Game demo using a theme that has walls as edge
  • New: Launchpad Sample - Grid Flow Simple Candy: A simple gridflow scene using the candy theme
  • New: Launchpad Sample - Grid Flow Game Edge Wall: Game demo using the simple candy theme
  • New: Launchpad Sample - Isaac Room Emitter: Demos a marker emitter used with the Isaac builder. It emits RoomCenter and RoomCorner markers
  • New: Launchpad GridFlow Template - No Caves: A template that has caves and corridors disabled
  • New: Launchpad GridFlow Template - Walls as Edge: Walls are placed on the edge of tiles, instead of taking up a full tile space
  • New: Launchpad GridFlow Template - Edge Simple: A simpler version of the grid flow graph, with all the overlays and backgrounds removed
  • New: Launchpad GridFlow Template - Isaac: Generates a level like in the game Binding of Isaac

Version 1.10.1

  • Fix: Fixed a critical error what was causing standalone build creation to fail
  • Fix: Removed 'unused variable warnings' from a sample while creating standalone builds

Version 1.10.0

  • A powerful new dungeon builder named GridFlow with a rich set to toolsets to design your dungeons (refer docs below)
  • Complete tutorial rewrite: https://docs.dungeonarchitect.dev/unity
  • Launch Pad window allows you to browse and access all the samples, a theme template library, scene template library and a lot more
  • New Marios Builder
  • New Infinity Caves builder
  • Snap Flow Editor graph panels can be resized
  • Rewrote and improved the UI library that power the various editor windows
  • Landscape transformers are non destructive. Destroying a dungeon restores the original heightmap / paint and foliage data
  • Landscape transformers no long wipe out the entire terrain data and only modify the relavant terrain data
  • Improved the landscape transformer blending algorithm
  • Fixed the city build's CityWall offset issue
  • Added a new Snap Side Scroller builder. This uses the dungeon flow graph for assembling side scrolling levels

Version 1.9.1

  • Fixed a copy paste issue with the grammar task node
  • Fixed a bug in the maze builer's start location which was causing it to be blocked off from the rest of the dungeon

Version 1.9.0

  • New: Dungeon Flow Editor - A powerful new feature that gives you complete control on designing the layout of your dungeons.
    This system allows you to build color coded key-lock systems, multi-key systems, shops, secret rooms, level exits guarded by boss rooms and much room It uses Graph Grammar so you can design complex layouts with simple rules https://www.youtube.com/watch?v=IKUw_EcHYyc
  • New: The Snap Builder uses the new Dungeon Flow Layout system to build the dungeon
  • New: Removed Corridor Padding config parameter and replaced it with Corridor Width in the grid dungeon configuration
  • New: Improved the quality of the corridor connection algorithm
  • New: Added grid dungeon builder query model (query doors, cell positions, random cells etc)
  • New: Dungeon layout builders can add custom metadata to spawned objects. This allows querying doors owned by a room: https://www.youtube.com/watch?v=IHNhLA72bOA
  • Fix: Fixed a null pointer error in the grid builder
  • Fix: Fixed mesh merge null pointer issues
  • Fix: Fixed an issue where unity editor resources (like textures in the theme editor) were not reloaded if they were lost
  • Experimental: Added a new wall generation strategy for thick walls where a wall takes up an entire tile, instead of an edge. This also help with 2D levels and generates a clean layout

Version 1.8.1

  • Handled an error when building dungeons when no parent game object was specified for hosting the spawned dungeon items
  • Fixed a bug in the snap builder which was incorrectly placing "end modules" instead of "branch end modules"

Version 1.8.0

  • Made compatible with .NET 4
  • Fixed physics issues with 2018.2
  • Mesh Combining framework
  • Async Build Support
  • Infinite dungeon building framework
  • Infinite Cave Builder (with Async Building)
  • Maze builder (Experimental)
  • Room designer framework (Early WIP)
  • Theming engine code is isolated to a separate reusable library
  • Changed the underlying datastructures that store the markers, to allow for custom filter passes on the stored markers
  • Fixed a GUI style bug that was changing the font colors of the rest of the unity UI system
  • Theme Override volumes can fallback to base theme for missing markers

Version 1.7.0

  • Added a powerful node based Spatial Constraints system that opens up new possibilities for theming. More info here: https://goo.gl/FvUgt9
  • Performance improvements on the theme editor
  • Added samples to demonstrate spatial constraints
  • Added a new comment node in the theme graph editor and the spatial graph editor
  • Fixed a theme graph camera issue when no nodes were preset in the graph
  • Major refactoring of the graph editor framework to make it easily extensible with other types of graphs
  • Large houses in the simple city builder spawn only when they have road access
  • Added terrain support on the navigation builder. This allows navigation mesh to be built on terrains that host the dungeons
  • Added a PreDungeonBuilt and PreDungeonDestroy events to the event listener interface
  • Added a new layout algorithm for building circular cities (Circular City Builder). Added a new demo in the samples folder (DungeonArchitect_Samples\DemoBuilder_CircularCity\Scenes)
  • Added a road framework to create a road mesh around an arbitrary road network. This is used in the new CircularCityBuilder
  • Added a rasterization framework to draw dungeon layout in a bitmap to influence the layout

Version 1.6.0

  • Added a new experimental Spatial Partitioning Builder. More Info: https://goo.gl/csGpQ4
  • Added a new experimental builder for side scroller games (Mario Builder). More Info: https://goo.gl/bSV7wm
  • Added Start / End Module support in the Snap Builder
  • Fixed various bugs in the Snap Builder with the room connections and growth
  • Added a door category in the snap builder so different types of door connections can be used
  • All game objects that belong to a room / corridor can be grouped together into a single object. This helps with level streaming
  • Floorplan data is now available in the model object so it can be queries
  • Updated the default values of the grid configuration. Moved the Door Proximity Steps variable out of experimental and into the Misc category
  • Fixed a door creation bug where door where not being created in some cases
  • Fixed a bug with the stairs sometimes now showing up next to doors due to DoorProximitySteps removal
  • Added a new experimental non-iterative cell distribution method in the grid builder which is much faster
  • Randomly flip the width / length of the cells in the grid builder as they were being stretched along the X-axis too often
  • Fixed an issue with the grid builder's paint cursor while the mouse was being moved
  • Various Bug fixes in spatial constraints
  • Changed the Zoom In/Out of the Theme editor's graph window to be in sync with Unity Editor's UX standards
  • Theme Editor's Theme graph can be scrolled (panned) using the middle mouse button
  • Fixed a bug with the Theme Editor that was causing it to hang while loading the asset thumbnails

Version 1.5.0

  • Snap Builder: Added a new builder that lets you stitch together existing room prefabs. This gives the artist a lot of control on designing the rooms
  • Theme Editor now supports zooming. Zoom in and out on the theme graph using the mouse scroll wheel. This is useful when dealing with a large theme file
  • Added a new Game Object Array Node. This works similar to the game object node, however it takes in multiple prefabs and selects one in random. This is useful if you have a lot of prefabs and don't want to clutter your theme file with lots of game object nodes.
  • City Builder: Buildings of different sizes can be placed (2x3, 4x5 etc). This is useful for placing larger structures that are not 1x1 in size (e.g. stadiums, parking logs, larger buildings etc)
  • City Builder: Added a new road layout that randomly removes certain road connections based on a probability to create a more natural looking road network
  • Grid Builder: Fixed a bug with platform volumes where they are applied only to dungeons they belong to. This fixes issues with using platform volumes with multiple dungeons in the scene
  • Fixed an hang issue with the floor plan builder when the max room size value is less than the min
  • Tweaked the stair connection weights for slightly better result
  • Added a Bulk Replace Prefab tool in the Theme editor to quickly change the prefabs of all the nodes in the theme editor with similar named prefabs on another directory. This is useful if you want to create different variations of your themes from similarly named assets in different folders.
  • Fixed editor warnings where multiple nodes were selected in the theme editor
  • Converted the samples to "Force Text" format to avoid binary import serialization issues if your project's serialization was set to "Force Text"
  • Sample: Added a new skyscraper city sample
  • Sample: Added a new city sample with larger custom building sizes
  • Sample: Added a new multi-dungeon layout example that uses three procedural dungeons that connect to one central area
  • Sample: Added a new sample to demostrate the new Game Object Array Node

Version 1.4.0

  • Procedural Terrain painting support on the City builder. You city can be built on a terrain with roads, parks and houses painted with custom textures
  • Procedural Foliage support on the City builder. Add multiple foliage types automatically on various tiles with blending. This can be used to add grass / flowers on parks, house and road tiles
  • The city builder promotes house tiles to parks if they are not accessible by nearby road tiles
  • Created a Survival Shooter demo variant that runs on a city dungeon created using the city builder
  • Added a Navigation prefab for dungeons created using the city dungeons. Refer the CityShooter sample demo
  • Updated the sample way point generator code to generate waypoints for city dungeons created using the city builder
  • Refactored the namespaces to better organize the code in each builder. This changes now requires you to add (using DungeonArchitect.Builders.Grid) in your custom code if you used the grid builder
  • Added an example demonstrating theme override volumes with the city builder. This enables you to assign different looks on various blocks of your city
  • Fixed all compiler warnings
  • Added tooling support on the theme editor. You can now create your own tools and they would automatically show up in the theme editor's tool menu (Example: DungeonArchitect/Editor/ThemeEditor/Tools/CommonThemeEditorTools.cs)
  • You can now create default markers in your theme file for various builder types (e.g. grid, city, floorplan etc) from the Tool menu of the theme editor
  • Added a Marker Replacement Volume. This volume gives you a lot of low level control on the generated dungeon. You can use this to replace walls with doors at selected places. Refer the user guide for more details
  • Added three new third party demos to create beautiful procedural maps using the City builder (Graveyard, Desert and Cartoon Town). Refer the quickstart guide for more details
  • Moved the Stronghold Wall emitter code into the main city builder itself and the marker emitter is no longer need and should be removed from the dungeon actor to avoid redundant markers

Version 1.3.2

  • Fixed a critical stair bug that was introduced in the earlier version
  • Fixed an issue with room connections in some rare cases
  • Added improvements to the city builder. Houses face the streets. Tile inaccessible to the roads are promoted to Gardens
  • Added 5x5 and 7x7 spatial constraints for for selective control while decorating your themes
  • Added a sample to query the adjacent rooms and corrdiors

Version 1.3.1

  • Fixed adjacent door issue with the grid builder. Added a DoorProximityStep parameter in the dungeon grid config
  • Added a new demo that shows how to query connected rooms and corridors (DungeonArchitect_Samples\Misc_Examples\Scenes\ConnectedCorridors)
  • Added a new type of builder for creating indoor building floor plans (experimental)

Version 1.3.0

  • Fixed spatial constraints for 3D
  • Removed overlapping fence / walls
  • Optimized the nav mesh agent to update at customizable timesteps
  • Added a callback on the navigation build complete event
  • Added an experimental floor plan builder
  • Added spatial constraint sample scene
  • Fixed landscape transformer not painting the room ground textures properly
  • Added tooltips to the Grid configuration fields

Version 1.2.0

  • Spatial constraints allow you to specify meshes selectively based on nearby constraints
  • Added better 2D support with custom 2D markers and spatial constraint support
  • Added a new builder to create levels like Binding of Isaac (check third party demos for more details)
  • Fixed various bugs

Version 1.1.0

  • Added a new builder algorithm for generating simple cities. This also serves as a simple example reference to your own builders
  • Refactored the directory structure to make the builders more modular
  • Added new demo theme files (Outdoor Cliff, Medieval Stronghold etc).
  • Updated survival shooter demo to use these new theme files
  • Added various city builder samples
  • Added an example demonstrating the use of dungeon event listeners and dynamic volume spawning
  • Added various samples that work with third-party assets (Gaia, 3DForge Village Interior / Exterior kit etc). Created an alternate version of the landscape transformer script to beautify Gaia generated terrains

Version 1.0.2

  • Added Indoor demos and Volumes demo for the Candy Theme
  • Fixed System.IO class name clash issues with beta preview version of Unity 5.3.x
  • Added notification in the 2D demo game to disable anti-aliasing to get rid of sprite dark edge artifacts
  • Removed dependecies on custom tags from the 2D and 3D game demos to avoid import issues due to missing tags. The sample games work without tags now

Version 1.0.1

Initial Version

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment