Initial commit — Station 0 vertical slice in progress
Includes full design documentation (ARCHITECTURE, DESIGN_NOTES, CONTENT_SPEC, PRODUCTION_NOTES) and active Godot 4 / GDScript codebase. Core systems built: player, floor generation, room system, enemy base, body part upgrades, run manager, save system, HUD, EventBus.
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
[gd_scene load_steps=4 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/enemies/anchor.gd" id="1"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="1"]
|
||||
radius = 13.0
|
||||
|
||||
[sub_resource type="CircleShape2D" id="2"]
|
||||
radius = 15.0
|
||||
|
||||
[node name="Anchor" type="CharacterBody2D"]
|
||||
collision_layer = 8
|
||||
collision_mask = 1
|
||||
script = ExtResource("1")
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("1")
|
||||
|
||||
[node name="Visual" type="Node2D" parent="."]
|
||||
|
||||
[node name="Body" type="Polygon2D" parent="Visual"]
|
||||
polygon = PackedVector2Array(0, -16, 14, 0, 0, 16, -14, 0)
|
||||
color = Color(0.1, 0.45, 0.28, 1)
|
||||
|
||||
[node name="Eye" type="Polygon2D" parent="Visual"]
|
||||
polygon = PackedVector2Array(-3, -7, 3, -7, 3, -2, -3, -2)
|
||||
color = Color(0.3, 0.95, 0.6, 1)
|
||||
|
||||
[node name="ContactArea" type="Area2D" parent="."]
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
|
||||
[node name="ContactCollision" type="CollisionShape2D" parent="ContactArea"]
|
||||
shape = SubResource("2")
|
||||
@@ -0,0 +1,14 @@
|
||||
[gd_scene load_steps=3 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/enemies/currency_orb.gd" id="1"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="1"]
|
||||
radius = 8.0
|
||||
|
||||
[node name="CurrencyOrb" type="Area2D"]
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
script = ExtResource("1")
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("1")
|
||||
@@ -0,0 +1,34 @@
|
||||
[gd_scene load_steps=4 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/enemies/drifter.gd" id="1"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="1"]
|
||||
radius = 10.0
|
||||
|
||||
[sub_resource type="CircleShape2D" id="2"]
|
||||
radius = 12.0
|
||||
|
||||
[node name="Drifter" type="CharacterBody2D"]
|
||||
collision_layer = 8
|
||||
collision_mask = 1
|
||||
script = ExtResource("1")
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("1")
|
||||
|
||||
[node name="Visual" type="Node2D" parent="."]
|
||||
|
||||
[node name="Body" type="Polygon2D" parent="Visual"]
|
||||
polygon = PackedVector2Array(0, -14, 12, 0, 0, 14, -12, 0)
|
||||
color = Color(0.65, 0.12, 0.42, 1)
|
||||
|
||||
[node name="Eye" type="Polygon2D" parent="Visual"]
|
||||
polygon = PackedVector2Array(-3, -6, 3, -6, 3, -2, -3, -2)
|
||||
color = Color(0.9, 0.5, 0.8, 1)
|
||||
|
||||
[node name="ContactArea" type="Area2D" parent="."]
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
|
||||
[node name="ContactCollision" type="CollisionShape2D" parent="ContactArea"]
|
||||
shape = SubResource("2")
|
||||
@@ -0,0 +1,34 @@
|
||||
[gd_scene load_steps=4 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/enemies/enemy_base.gd" id="1"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="1"]
|
||||
radius = 10.0
|
||||
|
||||
[sub_resource type="CircleShape2D" id="2"]
|
||||
radius = 12.0
|
||||
|
||||
[node name="Enemy" type="CharacterBody2D"]
|
||||
collision_layer = 8
|
||||
collision_mask = 1
|
||||
script = ExtResource("1")
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("1")
|
||||
|
||||
[node name="Visual" type="Node2D" parent="."]
|
||||
|
||||
[node name="Body" type="Polygon2D" parent="Visual"]
|
||||
polygon = PackedVector2Array(0, -14, 12, 0, 0, 14, -12, 0)
|
||||
color = Color(0.75, 0.15, 0.15, 1)
|
||||
|
||||
[node name="Eye" type="Polygon2D" parent="Visual"]
|
||||
polygon = PackedVector2Array(-3, -6, 3, -6, 3, -2, -3, -2)
|
||||
color = Color(1.0, 0.7, 0.0, 1)
|
||||
|
||||
[node name="ContactArea" type="Area2D" parent="."]
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
|
||||
[node name="ContactCollision" type="CollisionShape2D" parent="ContactArea"]
|
||||
shape = SubResource("2")
|
||||
@@ -0,0 +1,14 @@
|
||||
[gd_scene load_steps=3 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/enemies/enemy_projectile.gd" id="1"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="1"]
|
||||
radius = 4.0
|
||||
|
||||
[node name="EnemyProjectile" type="Area2D"]
|
||||
collision_layer = 0
|
||||
collision_mask = 3
|
||||
script = ExtResource("1")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("1")
|
||||
@@ -0,0 +1,34 @@
|
||||
[gd_scene load_steps=4 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/enemies/repeater.gd" id="1"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="1"]
|
||||
radius = 10.0
|
||||
|
||||
[sub_resource type="CircleShape2D" id="2"]
|
||||
radius = 12.0
|
||||
|
||||
[node name="Repeater" type="CharacterBody2D"]
|
||||
collision_layer = 8
|
||||
collision_mask = 1
|
||||
script = ExtResource("1")
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("1")
|
||||
|
||||
[node name="Visual" type="Node2D" parent="."]
|
||||
|
||||
[node name="Body" type="Polygon2D" parent="Visual"]
|
||||
polygon = PackedVector2Array(0, -14, 12, 0, 0, 14, -12, 0)
|
||||
color = Color(0.8, 0.35, 0.05, 1)
|
||||
|
||||
[node name="Eye" type="Polygon2D" parent="Visual"]
|
||||
polygon = PackedVector2Array(-3, -6, 3, -6, 3, -2, -3, -2)
|
||||
color = Color(1.0, 0.85, 0.3, 1)
|
||||
|
||||
[node name="ContactArea" type="Area2D" parent="."]
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
|
||||
[node name="ContactCollision" type="CollisionShape2D" parent="ContactArea"]
|
||||
shape = SubResource("2")
|
||||
@@ -0,0 +1,34 @@
|
||||
[gd_scene load_steps=5 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/enemies/supervisor.gd" id="1"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="1"]
|
||||
radius = 22.0
|
||||
|
||||
[sub_resource type="CircleShape2D" id="2"]
|
||||
radius = 26.0
|
||||
|
||||
[node name="Supervisor" type="CharacterBody2D"]
|
||||
collision_layer = 8
|
||||
collision_mask = 1
|
||||
script = ExtResource("1")
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("1")
|
||||
|
||||
[node name="Visual" type="Node2D" parent="."]
|
||||
|
||||
[node name="Body" type="Polygon2D" parent="Visual"]
|
||||
polygon = PackedVector2Array(22, 0, 11, -19, -11, -19, -22, 0, -11, 19, 11, 19)
|
||||
color = Color(0.2, 0.25, 0.45, 1)
|
||||
|
||||
[node name="Eye" type="Polygon2D" parent="Visual"]
|
||||
polygon = PackedVector2Array(12, -5, 22, -5, 22, 5, 12, 5)
|
||||
color = Color(1.0, 0.7, 0.1, 1)
|
||||
|
||||
[node name="ContactArea" type="Area2D" parent="."]
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
|
||||
[node name="ContactCollision" type="CollisionShape2D" parent="ContactArea"]
|
||||
shape = SubResource("2")
|
||||
Reference in New Issue
Block a user