feat: added naturalisation and walls

This commit is contained in:
Sara Gerretsen 2026-04-01 13:45:29 +02:00
parent d675596958
commit 8e7aff213b
2 changed files with 141 additions and 94 deletions

View file

@ -0,0 +1,9 @@
[gd_scene format=3 uid="uid://dgfja2ji86rp7"]
[node name="Wall" type="Node3D" unique_id=1022045952]
[node name="CSGBox3D" type="CSGBox3D" parent="." unique_id=1599165395]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.97627914, 0)
autosmooth = true
use_collision = true
size = Vector3(1, 2.0471954, 1)

View file

@ -3,6 +3,7 @@
[ext_resource type="PackedScene" uid="uid://bn7d8n5mbabu3" path="res://objects/tiles/path.tscn" id="1_wail4"]
[ext_resource type="PackedScene" uid="uid://cts1ix6iw1jpc" path="res://objects/tiles/start.tscn" id="2_srduu"]
[ext_resource type="PackedScene" uid="uid://cgg86120wb367" path="res://objects/tiles/room.tscn" id="3_s5a2w"]
[ext_resource type="PackedScene" uid="uid://dgfja2ji86rp7" path="res://objects/tiles/wall.tscn" id="4_yc5ro"]
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_wail4"]
sky_horizon_color = Color(0.66224277, 0.6717428, 0.6867428, 1)
@ -17,111 +18,132 @@ sky = SubResource("Sky_srduu")
glow_enabled = true
[sub_resource type="Sentence" id="Sentence_bb2w7"]
size = Vector2i(20, 20)
symbols_string = "uuuuuuuuuuuuuuuuuuuu
uuuuuuuuuuuuuuuuuuuu
uuuuuuuuuuuuuuuuuuuu
uuuuuuuuuuuuuuuuuuuu
uuuuuuuuuuuuuuuuuuuu
uuuuuuuuuuuuuuuuuuuu
uuuuuuuuuuuuuuuuuuuu
uuuuuuuuuuuuuuuuuuuu
uuuuuuuuuuuuuuuuuuuu
uuuuuuuuuuuuuuuuuuuu
uuuuuuuuuuuuuuuuuuuu
uuuuuuuuuuuuuuuuuuuu
uuuuuuuuuuuuuuuuuuuu
uuuuuuuuuuuuuuuuuuuu
uuuuuuuuuuuuuuuuuuuu
uuuuuuuuuuuuuuuuuuuu
uuuuuuuuuuuuuuuuuuuu
uuuuuuuuuuuuuuuuuuuu
uuuuuuuuuuuuuuuuuuuu
uuuuuuuuuuuuuuuuuuuu"
size = Vector2i(15, 15)
symbols_string = "uuuuuuuuuuuuuuu
uuuuuuuuuuuuuuu
uuuuuuuuuuuuuuu
uuuuuuuuuuuuuuu
uuuuuuuuuuuuuuu
uuuuuuuuuuuuuuu
uuuuuuuuuuuuuuu
uuuuuuuuuuuuuuu
uuuuuuuuuuuuuuu
uuuuuuuuuuuuuuu
uuuuuuuuuuuuuuu
uuuuuuuuuuuuuuu
uuuuuuuuuuuuuuu
uuuuuuuuuuuuuuu
uuuuuuuuuuuuuuu"
[sub_resource type="Sentence" id="Sentence_s5a2w"]
size = Vector2i(5, 3)
symbols_string = "uuuuu
uuuuu
*###*"
*#*#*"
[sub_resource type="Sentence" id="Sentence_yc5ro"]
size = Vector2i(5, 3)
symbols_string = "uuuuu
uxpxu
uxppu
*pup*"
[sub_resource type="Sentence" id="Sentence_wyxho"]
size = Vector2i(5, 5)
[sub_resource type="Sentence" id="Sentence_qw2yk"]
size = Vector2i(5, 3)
symbols_string = "uuuuu
uuuuu
#p#p#
uuuuu
uuuuu"
upppu
*pux*"
[sub_resource type="Sentence" id="Sentence_q0ye3"]
size = Vector2i(5, 5)
symbols_string = "uuuuu
uppxu
#pup#
uxppu
uuuuu"
[sub_resource type="Sentence" id="Sentence_pbld3"]
size = Vector2i(5, 4)
symbols_string = "####*
u#u#*
u####
uuu*u"
[sub_resource type="Sentence" id="Sentence_06kf8"]
size = Vector2i(5, 4)
symbols_string = "####*
uuu#*
uuu##
uuu*u"
[sub_resource type="Sentence" id="Sentence_7f72c"]
size = Vector2i(5, 3)
symbols_string = "u#u#u
u#u#u
u#u#u"
symbols_string = "**#**
uuuuu
**#**"
[sub_resource type="Sentence" id="Sentence_w0mg0"]
size = Vector2i(5, 3)
symbols_string = "u#p#u
uuu#u
u#p#u"
symbols_string = "**p**
uupuu
**p**"
[sub_resource type="Sentence" id="Sentence_pbld3"]
size = Vector2i(5, 5)
symbols_string = "u#u#u
*###*
uu#uu
*###*
u#u#u"
[sub_resource type="Sentence" id="Sentence_wyxho"]
size = Vector2i(3, 3)
symbols_string = "*u*
u#u
###"
[sub_resource type="Sentence" id="Sentence_06kf8"]
size = Vector2i(5, 5)
symbols_string = "u#u#u
*#u#*
upupu
*#u#*
u#u#u"
[sub_resource type="Sentence" id="Sentence_q0ye3"]
size = Vector2i(3, 3)
symbols_string = "*u*
uuu
###"
[sub_resource type="Sentence" id="Sentence_c7dwr"]
size = Vector2i(5, 5)
symbols_string = "u#u#u
*###*
upuuu
*###*
u#u#u"
size = Vector2i(3, 3)
symbols_string = "###
#s#
###"
[sub_resource type="Sentence" id="Sentence_ohg4i"]
size = Vector2i(6, 4)
symbols_string = "uuuuuu
u###uu
u#u#uu
*#u#u*"
size = Vector2i(3, 3)
symbols_string = "ppp
psp
ppp"
[sub_resource type="Sentence" id="Sentence_b4io3"]
size = Vector2i(6, 4)
symbols_string = "uuuuuu
u###pu
u#uupu
*#upp*"
size = Vector2i(4, 4)
symbols_string = "#uuu
#uuu
#uuu
####"
[sub_resource type="Sentence" id="Sentence_cygrb"]
size = Vector2i(4, 4)
symbols_string = "#puu
#ppu
#ppp
####"
[sub_resource type="Sentence" id="Sentence_cxvmb"]
size = Vector2i(4, 4)
symbols_string = "#uuu
#puu
#ppu
####"
[sub_resource type="Sentence" id="Sentence_45kae"]
size = Vector2i(4, 4)
symbols_string = "pppu
pppu
pppu
uuuu"
[sub_resource type="Sentence" id="Sentence_eijdf"]
size = Vector2i(4, 3)
symbols_string = "####
uu#u
###*"
size = Vector2i(4, 4)
symbols_string = "pppu
ppuu
puuu
uuuu"
[sub_resource type="Sentence" id="Sentence_5lcvo"]
size = Vector2i(4, 4)
symbols_string = "pppu
pppu
ppuu
uuuu"
[node name="Dungeon" type="Node3D" unique_id=719313039]
@ -137,44 +159,60 @@ state = SubResource("Sentence_bb2w7")
tiles_dict = {
"p": ExtResource("1_wail4"),
"s": ExtResource("2_srduu"),
"u": ExtResource("4_yc5ro"),
"x": ExtResource("3_s5a2w")
}
[node name="RepeatRuleUntilFailure" type="RepeatRuleUntilFailure" parent="Generator" unique_id=407316032]
[node name="Generate" type="CompositeRule" parent="Generator" unique_id=474042789]
[node name="InitialLayout" type="CompositeRule" parent="Generator/RepeatRuleUntilFailure" unique_id=117678547]
random_order = true
[node name="InitialLayout" type="RepeatRuleUntilFailure" parent="Generator/Generate" unique_id=612040827]
[node name="ZigUp" type="ReplaceRule" parent="Generator/RepeatRuleUntilFailure/InitialLayout" unique_id=1073931523]
[node name="ZigUp" type="ReplaceRule" parent="Generator/Generate/InitialLayout" unique_id=1073931523]
pattern = SubResource("Sentence_s5a2w")
results_dict = {
SubResource("Sentence_yc5ro"): 1.0
SubResource("Sentence_yc5ro"): 1.0,
SubResource("Sentence_qw2yk"): 1.0
}
[node name="Split" type="ReplaceRule" parent="Generator/RepeatRuleUntilFailure/InitialLayout" unique_id=222066055]
pattern = SubResource("Sentence_wyxho")
[node name="L" type="ReplaceRule" parent="Generator/Generate/InitialLayout" unique_id=129040074]
pattern = SubResource("Sentence_pbld3")
results_dict = {
SubResource("Sentence_q0ye3"): 1.0
SubResource("Sentence_06kf8"): 1.0
}
[node name="Bridge" type="ReplaceRule" parent="Generator/RepeatRuleUntilFailure/InitialLayout" unique_id=233403765]
[node name="CloseLines" type="ReplaceRule" parent="Generator/Generate/InitialLayout" unique_id=1610319319]
pattern = SubResource("Sentence_7f72c")
results_dict = {
SubResource("Sentence_w0mg0"): 1.0
}
[node name="ConnectLoops" type="ReplaceRule" parent="Generator/RepeatRuleUntilFailure/InitialLayout" unique_id=874341993]
pattern = SubResource("Sentence_pbld3")
[node name="EraseNubs" type="ReplaceRule" parent="Generator/Generate/InitialLayout" unique_id=354387695]
pattern = SubResource("Sentence_wyxho")
results_dict = {
SubResource("Sentence_06kf8"): 1.0,
SubResource("Sentence_c7dwr"): 1.0
SubResource("Sentence_q0ye3"): 1.0
}
[node name="WidenLoops" type="ReplaceRule" parent="Generator/RepeatRuleUntilFailure/InitialLayout" unique_id=2024540398]
pattern = SubResource("Sentence_ohg4i")
[node name="ResizeRule" type="ResizeRule" parent="Generator/Generate" unique_id=630306379]
factor = 3
[node name="SingleStart" type="ReplaceRule" parent="Generator/Generate" unique_id=80625713]
pattern = SubResource("Sentence_c7dwr")
results_dict = {
SubResource("Sentence_b4io3"): 0.0
SubResource("Sentence_ohg4i"): 1.0
}
[node name="CloseGaps" type="ReplaceRule" parent="Generator/RepeatRuleUntilFailure/InitialLayout" unique_id=370907114]
pattern = SubResource("Sentence_eijdf")
[node name="Naturalise" type="RepeatRuleUntilFailure" parent="Generator/Generate" unique_id=945333249]
[node name="InnerCorner" type="ReplaceRule" parent="Generator/Generate/Naturalise" unique_id=1294874606]
pattern = SubResource("Sentence_b4io3")
results_dict = {
SubResource("Sentence_cygrb"): 1.0,
SubResource("Sentence_cxvmb"): 1.0
}
[node name="OuterCorner" type="ReplaceRule" parent="Generator/Generate/Naturalise" unique_id=1858990914]
pattern = SubResource("Sentence_45kae")
results_dict = {
SubResource("Sentence_eijdf"): 1.0,
SubResource("Sentence_5lcvo"): 1.0
}