FireMaze — Features & Settings

A complete reference of every feature, property, and UI control in FireMaze. Each section notes which sidebar panel it belongs to and includes exact defaults, ranges, and restrictions.

← Back to FireMaze

1. Wall Construction Modes

Maze Settings panel

Thin Wall Mode

Walls are rendered as thin box segments aligned along grid lines with customizable thickness. Ideal for classic dungeon layouts.

  • Wall Thicknesswall_thickness — 0.01–10.0 (default 0.1)
  • Double-Sided Thin Wallsthin_wall_double_sided — When enabled, a single-sided custom wall tile is duplicated on both sides of the grid line to fake thickness. Disable when your custom wall tile already has built-in thickness.
  • Clean Wall Cornersclean_wall_corners — Extends thin wall and roof faces at intersections to close gaps and eliminate visible seams. UV coordinates are adjusted proportionally so textures remain perfectly stretched. Roof faces may overlap slightly at corners.

Cube Mode

Walls are full tile-sized cubes centered on grid cells. The generated maze respects exact layout dimensions, and path cell centers are placed perfectly within the grid.

  • Instanced Pillars (Pillar Mode)cube_mode_pillar — Use whole meshes from your Wall Collection as single pillars/cubes rather than assembling them face-by-face. Roof tile generation is automatically suppressed. Clicking the top/roof area of these pillars in the interactive editor works seamlessly to toggle or cycle them.
    • Mesh alignment requirement: meshes must be centered horizontally (local X=0, Y=0) with the bottom aligned at local Z=0. If the origin is at the mesh center (like default Blender cubes), it will sink halfway into the floor.

Tiled Height

Optionally stack walls in tile-height increments for consistent UV mapping across segmented wall stacks.

  • Tiled Heightwall_height_tiled — Toggle (default off)
  • Tiles Highwall_height_tiles — 1–100 (default 1) — Only visible when Tiled Height is on.
  • Wall Heightwall_height — 0.1–100.0 (default 1.0) — Used when Tiled Height is off.

2. Grid Types

Maze Settings panel

FireMaze supports two grid layouts, each with its own generation and mesh construction logic.

Rectangular Grid

Standard width × depth cell layout. All algorithms, rooms, loops, and entrances/exits work as documented. Image masking is available.

  • Widthwidth — 3–200 cells (default 10)
  • Depthdepth — 3–200 cells (default 10)
  • Maze Shapemaze_shape — Outer boundary shape for the maze:
    • Rectangle — Standard rectangular boundary.
    • Diamond — Diamond/rhombus silhouette.
    • Triangle — Triangular silhouette.
    • Hexagon — Hexagonal silhouette.
  • Shape Rotationshape_rotation — 0°, 90°, 180°, 270°.
  • Smooth Shape Edgessmooth_shape_edges — Toggle. Clips boundary tiles to the shape contour for a smoother outline.
    • Boundary Methodsmooth_boundary_method:
      • Filler Triangles — Generates extra triangular faces to fill boundary gaps.
      • Clipped Tiles — Clips floor/roof tiles to the boundary contour.
    • Boundary Offsetsmooth_boundary_offset — 0.0–2.0 (default 0.15). Extends the shape boundary outward to clear stray corner fragments.
Full details on shape silhouettes and smooth-edge methods: see the Shape Boundaries & Image Masking guide.

Polar (Circular) Grid

Maze generated in concentric rings with radially-divided sectors. Each ring's sector count increases outward for a natural circular look.

  • Ringspolar_rings — 2–100 (default 5)
  • Custom Tile Alignmentpolar_custom_alignment — How custom tiles are aligned to wedge-shaped polar cells:
    • Procedural Only — Uses procedurally generated curved meshes (wedges, circular arcs, radial walls). Custom tiles are ignored.
    • Trapezoidal Scaling — Stretches custom tiles to fit the wedge-shaped cells (straight walls, segmented appearance).
    • Polar Bending (Warp) — Dynamically bends/warps custom tile vertices along circular arcs for a smooth organic look. Resolves the inherent left-handed Jacobian reflection of polar coordinates by applying compensating negative scales to keep normals, geometry, and texture orientations correct. Subdivision cuts are automatically capped (max 2 for detailed meshes, max 4 for simple proxy tiles) to prevent vertex explosion.
Polar grids have their own detailed reference: see the Polar (Circular) Grids guide.

3. Generation Algorithms

Algorithm & Rooms panel

FireMaze supports 10 maze generation algorithms, each producing distinct corridor architectures. All algorithms work on rectangular grids; polar grids natively use DFS (others fall back to a random spanning tree / Kruskal-style equivalent).

AlgorithmIDCharacteristics
Depth-First SearchdfsRecursive backtracker. Long winding corridors, perfect maze.
Kruskal'skruskalRandom edge merging. Short corridors, many dead-ends.
Eller'sellerRow-by-row generation. Memory-efficient. Distinct row structure.
Binary Treebinary_treeSimple, fast. Bias toward north/east corridors.
Prim'sprimsRandomized MST. Balanced, highly branching.
Hunt-and-Killhunt_and_killRandom walk + scan. Long winding corridors.
SidewindersidewinderRow-by-row horizontal runs. Strong horizontal bias.
Wilson'swilsonsLoop-erased random walk. Unbiased uniform spanning tree.
Recursive Divisionrecursive_divisionRecursive subdivision with single doors. Nested chambers.
Growing Treegrowing_treeHybrid frontier. Highly customizable via selection bias.

Algorithm Bias Parameters

All bias values range from 0.0 to 1.0 with a default of 0.5. Only the parameters relevant to the selected algorithm are shown in the UI.

ParameterPropertyDefaultAffectsDescription
GT Selection Biasselection_bias0.5Growing Tree0.0 = always newest cell (DFS style, long corridors). 1.0 = always random cell (Prim's style, branched clusters).
Corridor Straightnessstraightness0.5DFS, Hunt-and-KillProbability of continuing in the same direction. Higher = longer, straighter corridors.
Radial Biasradial_bias0.5Polar DFS0.0 = prefer tangential (concentric) movements, ring-like pathways. 1.0 = prefer radial (in/out) movements, spoke-like pathways.
Diagonal Biasdirection_bias0.5Binary Tree0.0 = always carve North (horizontal lanes). 1.0 = always carve East (vertical lanes).
Sidewinder East Biaseast_bias0.5SidewinderHigher = longer horizontal runs. Lower = more frequent vertical exits to the North.
Split Orientation Biasorientation_bias0.5Recursive Division0.0 = bias vertical splits. 1.0 = bias horizontal splits.
Passage Location Biaspassage_bias0.5Recursive Division0.0 = push doors toward center of wall segment. 1.0 = push doors toward edges/corners.
Eller Merge Probeller_merge_prob0.5Eller'sHorizontal set merging rate. Higher = more horizontal connections within the same row.

4. Procedural Rooms

Algorithm & Rooms panel — Rectangular grids only

Pre-carve open rectangular clearings within the maze. Rooms auto-connect to the corridor network and are guaranteed to contain no stray pillars or internal walls in both Thin and Cube modes. Rooms respect the blocked mask — any placement overlapping a blocked cell is skipped, keeping image-masked layouts intact.

  • Enable Roomsrooms_enable — Toggle (default off)
  • Room Countrooms_count — 1–50 (default 3)
  • Min Room Sizemin_room_size — 2–20 cells (default 2)
  • Max Room Sizemax_room_size — 2–20 cells (default 4)

5. Loops & Isolated Obstacles

Loops & Layout panel — Rectangular grids only

  • Loop Probabilityloop_probability — 0.0–1.0 (default 0.0). Randomly removes additional walls to create alternative paths and loops. 0.0 = perfect maze (exactly one path between any two points). Higher values create more circular corridors and shortcuts.
  • Isolated Wall Probisolated_wall_prob — 0.0–1.0 (default 0.0). Places standalone wall columns or pillars in floor regions as obstacles.

6. Entrances & Exits

Entrances & Exits panel — Rectangular grids only

Completion Modes

  • Find Center (center) — Entrance on an edge leading to a goal cell in the center of the maze.
  • Find Exit (exit) — Entrance on one side, exit on the opposite side.

Settings

  • Entrance Sideentrance_side — Random/Any, North (+Y), South (−Y), East (+X), West (−X)
  • Exit Sideexit_side — Random/Any, North (+Y), South (−Y), East (+X), West (−X)
  • Entrancesnum_entrances — 1–10 (default 1)
  • Exitsnum_exits — 1–10 (default 1)
  • Emergency Exitsemergency_exits — Toggle (default off). Center mode only. Adds extra random openings on outer edges that lead out of the maze, providing multiple escape points.

7. Interactive Viewport Editor

Generation & Editing section — FireMaze root panel

Paint, modify, and customize the maze layout in real time directly from the 3D viewport.

  1. Click Interactive Edit in the sidebar.
  2. The viewport status bar displays editing shortcuts.
  3. Left-click on any cell or wall face to toggle it on/off.
  4. Shift+left-click to cycle that face's mesh from its custom collection.
  5. Press Esc or Enter (or click Exit Edit Mode) to return to normal interaction.

The editor monitors workspace and window state — switching to another workspace tab or clicking in another viewport region automatically terminates edit mode to prevent UI lockout. Clicks on the sidebar (N-panel) are ignored so you can adjust settings without leaving edit mode.

Every click action, mesh-cycling rule, and technical detail: see the Interactive Editor guide.

8. Real-Time Guide Paths

Guide Path panel

Generate and display the BFS-calculated shortest route from the entrance to the exit(s) or center.

  • Generate Guidegenerate_guide — Toggle (default off)
  • Guide Typeguide_type:
    • Curve — A simple NURBS curve object.
    • Tube (Mesh) — A solid 3D tube mesh.
    • Ribbon — A flat ribbon path.
  • Guide Widthguide_width — 0.01–10.0 (default 0.1). Thickness of the tube/ribbon.
  • Height Offsetguide_height_offset — −10.0–10.0 (default 0.1). Vertical position above the floor.
  • Wave Amplitudeguide_wave_amplitude — 0.0–5.0 (default 0.0). Sine wave amplitude for floating animation.
  • Wave Frequencyguide_wave_frequency — 0.1–20.0 (default 1.0). Sine wave frequency.

The guide path automatically loads a bright neon-green glowing emissive material (FireMaze_Guide) to visually stand out in Eevee or Cycles.

9. Custom Tiles & Collections

Custom Meshes & Collections panel

Replace standard procedural geometry with your own meshes or randomized collections.

Tile Origin

  • Tiles Centeredtiles_centered — Toggle (default on). Enable if your custom tiles have their origin at the center (like Blender primitives). Disable if tiles have their bottom-left corner at the origin.

Floors & Roofs

PropertyLabelTypeDescription
custom_floor_meshFloor MeshMeshSingle custom mesh for all floor tiles
custom_floor_collectionFloor CollectionCollectionRandomly distribute meshes from this collection as floor tiles
custom_roof_meshRoof MeshMeshSingle custom mesh for all roof tiles
custom_roof_collectionRoof CollectionCollectionRandomly distribute meshes from this collection as roof tiles
Note: When floor_thickness > 0, custom floors/roofs do not scale with thickness — they are placed as-is at the top surface.

Walls

PropertyLabelTypeDescription
custom_wall_meshWall MeshMeshSingle custom mesh for all wall segments
custom_wall_collectionWall CollectionCollectionRandomly distribute meshes from this collection as walls

Stairs & Ramps

PropertyLabelTypeDescription
custom_stair_meshStair MeshObjectCustom object to instantiate at stair cells
custom_ramp_meshRamp MeshObjectCustom object to instantiate at ramp cells

For larger footprints (1×2, 2×2), only the starting candidate cell receives the custom mesh; the other footprint cells are carved open on both floors (no floor or roof tiles) to serve as a landing or open vertical shaft.

Independent Face/Tile Swapping

In Interactive Edit Mode, Shift+left-clicking a face cycles its mesh index from the respective collection:

  • Cube Mode — Raycast hit normals detect the clicked direction, allowing independent cycling of North, South, East, and West wall faces (when not in Instanced Pillar Mode), plus floor and roof tiles.
  • Thin Wall Mode — Distance-to-edge calculations precisely target the clicked thin wall segment, floor, or roof. Shared walls between adjacent cells are automatically synchronized.

Mesh Origin Requirements

ElementX/Y (horizontal)Z (vertical)
Pillars / WallsCentered (local X=0, Y=0)Bottom at local Z=0
FloorsCentered (local X=0, Y=0)Bottom face at local Z=0
RoofsCentered (local X=0, Y=0)Top surface at local Z=0

10. Detailed Transform Offsets

Detailed Transforms panel

Add variety and organic offsets to standard or custom tiles using local matrix transforms applied relative to each individual tile segment's local center.

ElementTranslate (XYZ)Rotate (Euler degrees)Scale (XYZ)
Wall Offsetswall_translate (0,0,0)wall_rotate (0,0,0)wall_scale (1,1,1)
Floor Offsetsfloor_translate (0,0,0)floor_rotate (0,0,0)floor_scale (1,1,1)
Roof Offsetsroof_translate (0,0,0)roof_rotate (0,0,0)roof_scale (1,1,1)

Translation uses TRANSLATION subtype (LENGTH unit), rotation uses EULER subtype (ROTATION unit).

11. Image Masking

Session & Image Management panel — Rectangular grids only

Use a black-and-white image to define the walkable shape of the maze. White pixels = walkable (path), black pixels = blocked (wall).

  • Load Mask from Disk — Imports a PNG, JPG, BMP, or TGA file from disk as the mask image.
  • Mask Imagemask_image — Select an existing Blender Image datablock.
  • Invert Mask Colorsmask_invert — Toggle. Swap interpretation (black = walkable, white = blocked).

The mask image is sampled at each cell's position, making it easy to create mazes shaped like logos, text, or custom silhouettes. Masking is disabled when floors > 1.

Full mask workflow, sampling math, and combination with shape boundaries: see the Shape Boundaries & Image Masking guide.

12. Vertex Painting

Post-Processing panel

Procedurally paint vertex colors on maze meshes for shading, texturing, or game engine blending.

  • Enable Vertex Paintingvertex_paint_enable — Toggle (default off)
  • Paint Intensityvertex_paint_intensity — 0.0–1.0 (default 1.0). Controls opacity/strength of the effect.
ModeIDDescription
Ambient OcclusionaoProcedural darkening in corners, seams, and near floor/roof boundaries for a natural shadowed look.
Texture Blend WeightsblendRGBA channels encode material blends: R=Moss (near floor), G=Cracks (in corners), B=Wetness (on flat floors), A=Soot (in dead-ends).
Path HighlightpathGreens the floor tiles along the shortest path to the exit/center.
Distance GradientdistanceBlack-to-white gradient mapped by BFS distance from the entrance.
Exact per-mode formulas and pipeline order: see the Vertex Painting & Post-Processing guide.

13. Prop & Decor Spawner

Prop & Decor Spawner panel — Experimental

Automatically place decorative objects on wall faces, dead-ends, and entrances/exits. Spawned props are grouped under a scoped sub-collection (FireMaze_Props_{parent_name}), linked as a child of the maze collection, and tagged with a fire_maze_data custom property for reliable cleanup.

PropPropertyDensityPlacement
Torchesprop_torch_meshprop_torch_density — 0.0–1.0 (default 0.2)On valid wall faces bordering open space, at 60% of wall height, facing the open area.
Chestsprop_chest_meshprop_chest_density — 0.0–1.0 (default 0.5)In dead-end cells, oriented toward the only open direction. Excludes stairs, entrances, and exits.
Doorsprop_door_meshAlways spawns at valid locationsAt entrance (floor 0) and exit (top floor) openings.
Full placement rules and orientation math: see the Prop & Decor Spawner guide.

14. Post-Processing & Colliders

Post-Processing panel

Merge Options

  • Single Wall Objectsingle_wall_object — Toggle (default on). Merges all wall and cap faces into a single FireMaze_Walls object.
  • Merge Objectsmerge_objects — Toggle (default off). Combines floors, walls, roofs, and caps into one FireMaze_Merged mesh.

Geometry Optimization

  • Remove Doublesremove_doubles — Toggle (default off). Final vertex weld to merge touching corners and stacked tiled wall segments.
  • Optimize Geometry (Dissolve Planar)optimize_coplanar — Toggle (default off). Simplifies mesh by dissolving coplanar faces. Reduces poly count but may stretch seamless tiled textures.

Lightmap UVs

  • Generate Lightmap UVsgenerate_lightmap — Toggle (default off). Generates a second UV map named "Lightmap" on all final visual mesh objects.
    • Methodlightmap_method:
      • Smart UV Project — Groups adjacent/co-planar faces into contiguous UV islands (reduces seam-bleeding in game engines).
      • Lightmap Pack — Projects and packs each face individually (zero distortion, maximum packing density, but splits every face).

Colliders

  • Generate Collidersgenerate_colliders — Toggle (default off). Generates simple flat-faced helper meshes (FireMaze_Floor_Collider, FireMaze_Walls_Collider, FireMaze_Roof_Collider) matching the maze layout. Hidden in renders by default.
    • Roof colliders are generated even when Instanced Pillars mode is enabled.
  • Merge Collidersmerge_colliders — Combines all active colliders into a single FireMaze_Collider mesh.
  • Optimize Collidersoptimize_colliders_coplanar — Applies planar dissolve to collider meshes to reduce polygon count.
Detailed behavior of every post-processing step: see the Vertex Painting & Post-Processing guide.

15. Multilevel Stairs & Ramps

Maze Settings panel

Configure vertical floor transitions for multi-floor mazes.

Floor Settings

  • Floorsfloors — 1–20 (default 1). Number of vertical levels.
  • Floor Thicknessfloor_thickness — 0.0–10.0 (default 0.0). Thickness of the floor slab between levels. Adds visual depth with physical box geometry.

Stair Settings

Shown when floors > 1.

  • Stairs Per Levelstair_count — 1–50 (default 1). Number of staircases per floor transition.
  • Stair Stylestair_style:
    • Staircase — Standard stepped staircase geometry.
    • Ramp — Smooth sloped ramp geometry.
  • Stair Footprintstair_footprint — Rectangular grids only:
    • 1x1 — Single-cell spiral staircase/ramp.
    • 1x2 — Two-cell straight staircase.
    • 2x2 — Two-by-two U-turn staircase with landing.
    • Polar grids only support 1x1 footprints.
  • Stair Directionstair_direction:
    • Rectangular: North (N), East (E), South (S), West (W).
    • Polar: CCW (N), Outward (E), CW (S), Inward (W).

Custom Stair Objects

Assign custom Blender Object pointers (meshes or other object types) to instantiate at stair/ramp cells instead of procedural geometry:

  • Staircase Objectcustom_stair_mesh (Object pointer)
  • Ramp Objectcustom_ramp_mesh (Object pointer)
Footprint geometry, 3D cell expansion, and level-height math: see the Multilevel Mazes guide.

16. Property Quick Reference

All properties are stored on context.scene.fire_maze as a Blender PointerProperty.

UI PanelProperties
FireMaze (root) grid_type, maze_shape, shape_rotation, smooth_shape_edges, smooth_boundary_method, smooth_boundary_offset, width, depth, polar_rings, polar_custom_alignment, wall_height_tiled, wall_height_tiles, wall_height, wall_mode, wall_thickness, thin_wall_double_sided, clean_wall_corners, tile_size, floors, floor_thickness, stair_footprint, stair_style, stair_direction, stair_count, seed, edit_floor_level, edit_roof, edit_tool, is_editing
Algorithm & Rooms algorithm, selection_bias, straightness, radial_bias, direction_bias, east_bias, orientation_bias, passage_bias, eller_merge_prob, rooms_enable, rooms_count, min_room_size, max_room_size
Session & Image Management mask_image, mask_invert
Entrances & Exits mode, entrance_side, exit_side, num_entrances, num_exits, emergency_exits
Loops & Layout loop_probability, isolated_wall_prob
Guide Path generate_guide, guide_type, guide_width, guide_height_offset, guide_wave_amplitude, guide_wave_frequency
Custom Meshes & Collections tiles_centered, custom_floor_mesh, custom_floor_collection, custom_roof_mesh, custom_roof_collection, custom_stair_mesh, custom_ramp_mesh, custom_wall_mesh, custom_wall_collection, cube_mode_pillar
Detailed Transforms wall_translate, wall_rotate, wall_scale, floor_translate, floor_rotate, floor_scale, roof_translate, roof_rotate, roof_scale
Post-Processing single_wall_object, merge_objects, remove_doubles, generate_lightmap, lightmap_method, optimize_coplanar, vertex_paint_enable, vertex_paint_mode, vertex_paint_intensity, generate_colliders, merge_colliders, optimize_colliders_coplanar
Prop & Decor Spawner prop_torch_mesh, prop_torch_density, prop_chest_mesh, prop_chest_density, prop_door_mesh