Skip to content

Features & Settings

FireRat edited this page Jun 27, 2026 · 3 revisions

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.


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.

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.

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).

Algorithm ID Characteristics
Depth-First Search dfs Recursive backtracker. Long winding corridors, perfect maze.
Kruskal's kruskal Random edge merging. Short corridors, many dead-ends.
Eller's eller Row-by-row generation. Memory-efficient. Distinct row structure.
Binary Tree binary_tree Simple, fast. Bias toward north/east corridors.
Prim's prims Randomized MST. Balanced, highly branching.
Hunt-and-Kill hunt_and_kill Random walk + scan. Long winding corridors.
Sidewinder sidewinder Row-by-row horizontal runs. Strong horizontal bias.
Wilson's wilsons Loop-erased random walk. Unbiased uniform spanning tree.
Recursive Division recursive_division Recursive subdivision with single doors. Nested chambers.
Growing Tree growing_tree Hybrid 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.

Parameter Property Default Affects Description
GT Selection Bias selection_bias 0.5 Growing Tree 0.0 = always newest cell (DFS style, long corridors). 1.0 = always random cell (Prim's style, branched clusters).
Corridor Straightness straightness 0.5 DFS, Hunt-and-Kill Probability of continuing in the same direction. Higher = longer, straighter corridors.
Radial Bias radial_bias 0.5 Polar DFS 0.0 = prefer tangential (concentric) movements, ring-like pathways. 1.0 = prefer radial (in/out) movements, spoke-like pathways.
Diagonal Bias direction_bias 0.5 Binary Tree 0.0 = always carve North (horizontal lanes). 1.0 = always carve East (vertical lanes).
Sidewinder East Bias east_bias 0.5 Sidewinder Higher = longer horizontal runs. Lower = more frequent vertical exits to the North.
Split Orientation Bias orientation_bias 0.5 Recursive Division 0.0 = bias vertical splits. 1.0 = bias horizontal splits.
Passage Location Bias passage_bias 0.5 Recursive Division 0.0 = push doors toward center of wall segment. 1.0 = push doors toward edges/corners.
Eller Merge Prob eller_merge_prob 0.5 Eller's Horizontal 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.

How to Use

  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.

Edit Tools (Multilevel Mazes)

When floors > 1, a tool selector appears:

Tool Left-click Shift+left-click
Toggle Walls (wall) Add/remove wall cell or boundary Cycle custom collection asset on that face
Toggle Stairs (stair) Place stair/ramp connecting current floor to the level above (or remove existing) Cycle stair orientation (N→E→S→W for rect; CCW→Out→CW→In for polar)

Floor Level Selection

  • Floor Leveledit_floor_level — 0–19. Selects which floor the editor targets.
  • Edit Roofedit_roof — Toggle (polar thin mode only). Edit roof faces instead of walls.

Technical Details

  • A hidden helper mesh (_FireMaze_Edit_Helper) is temporarily generated for precise raycasting, making face classification 100% mathematically exact even on complex custom meshes.
  • Heavy post-processing (lightmap UV, vertex painting, planar dissolve, prop spawning, colliders) is automatically bypassed during editing for instant response. Exiting edit mode triggers a single full rebuild with all post-processing applied.
  • Changes are tracked via dirty cells — only the clicked cell and its Moore neighborhood are rebuilt incrementally.

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

Property Label Type Description
custom_floor_mesh Floor Mesh Mesh Single custom mesh for all floor tiles
custom_floor_collection Floor Collection Collection Randomly distribute meshes from this collection as floor tiles
custom_roof_mesh Roof Mesh Mesh Single custom mesh for all roof tiles
custom_roof_collection Roof Collection Collection Randomly 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

Property Label Type Description
custom_wall_mesh Wall Mesh Mesh Single custom mesh for all wall segments
custom_wall_collection Wall Collection Collection Randomly distribute meshes from this collection as walls

Stairs & Ramps

Property Label Type Description
custom_stair_mesh Stair Mesh Object Custom object to instantiate at stair cells
custom_ramp_mesh Ramp Mesh Object Custom 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 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

Element X/Y (horizontal) Z (vertical)
Pillars / Walls Centered (local X=0, Y=0) Bottom at local Z=0
Floors Centered (local X=0, Y=0) Bottom face at local Z=0
Roofs Centered (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.

Element Translate (XYZ) Rotate (Euler degrees) Scale (XYZ)
Wall Offsets wall_translate (0,0,0) wall_rotate (0,0,0) wall_scale (1,1,1)
Floor Offsets floor_translate (0,0,0) floor_rotate (0,0,0) floor_scale (1,1,1)
Roof Offsets roof_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.


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.

Paint Modes

Mode ID Description
Ambient Occlusion ao Procedural darkening in corners, seams, and near floor/roof boundaries for a natural shadowed look.
Texture Blend Weights blend RGBA channels encode material blends: R=Moss (near floor), G=Cracks (in corners), B=Wetness (on flat floors), A=Soot (in dead-ends).
Path Highlight path Greens the floor tiles along the shortest path to the exit/center.
Distance Gradient distance Black-to-white gradient mapped by BFS distance from the entrance.

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.

Torches

  • Torch Objectprop_torch_mesh — Pointer to any Blender Object (mesh, light, etc.)
  • Torch Densityprop_torch_density — 0.0–1.0 (default 0.2). Probability of spawning on any valid wall face.
  • Torches orient toward the open space and are placed at 60% of wall height.

Chests

  • Chest Objectprop_chest_mesh — Pointer to any Blender Object.
  • Chest Densityprop_chest_density — 0.0–1.0 (default 0.5). Probability of spawning in any dead-end cell.
  • Chests orient toward the only open direction of the dead-end.

Doors

  • Door Objectprop_door_mesh — Pointer to any Blender Object.
  • Doors spawn at entrance and exit openings on the boundary.

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).

Vertex Painting

(See Vertex Painting section above.)

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.

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)

Property Quick Reference

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

UI Panel Properties
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

Clone this wiki locally