mirror of
https://github.com/jcreek/CosmicClash.git
synced 2026-09-12 00:13:42 +00:00
171cd4a840
Introduce arena_02 (Nebula) and arena_03 (Asteroid Field) alongside arena_01, listed in a new ArenaRegistry (scripts/arena_registry.gd) as the single source of truth for available arenas. Free Play lets the player pick an arena from the main menu; Match/Spectate each pick one at random per session; Training keeps its own fixed arena_01. Nebula gets an RL-style visual treatment: a near-invisible glass boundary material shared by all arenas, a baked equirect nebula sky texture, a drifting-dust particle system, and a Blender-modeled station/debris/planet decoration set. GameMode gains a _get_arena_scene_path() hook so modes can instantiate their arena in code instead of hardcoding it in the scene.
55 lines
2.0 KiB
Plaintext
55 lines
2.0 KiB
Plaintext
[gd_scene load_steps=6 format=3]
|
|
|
|
[ext_resource type="Script" path="res://scripts/arena.gd" id="1_iywne"]
|
|
[ext_resource type="PackedScene" path="res://objects/arena_boundary.tscn" id="2_bndry"]
|
|
[ext_resource type="PackedScene" uid="uid://cofdcxo5170rs" path="res://objects/goal.tscn" id="6_p57ef"]
|
|
[ext_resource type="Shader" path="res://shaders/sky_asteroid_field.gdshader" id="7_asteroid"]
|
|
|
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_asteroid"]
|
|
shader = ExtResource("7_asteroid")
|
|
|
|
[sub_resource type="Sky" id="Sky_asteroid"]
|
|
sky_material = SubResource("ShaderMaterial_asteroid")
|
|
|
|
[sub_resource type="Environment" id="Environment_asteroid"]
|
|
background_mode = 2
|
|
sky = SubResource("Sky_asteroid")
|
|
ambient_light_source = 2
|
|
ambient_light_color = Color(0.6, 0.45, 0.3, 1)
|
|
ambient_light_energy = 0.3
|
|
|
|
[node name="Arena" type="Node3D"]
|
|
script = ExtResource("1_iywne")
|
|
|
|
[node name="Boundary" parent="." instance=ExtResource("2_bndry")]
|
|
|
|
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
|
|
transform = Transform3D(0.866025, -0.383022, 0.321394, 0, 0.642788, 0.766044, -0.5, -0.663414, 0.55667, 0, 11, 0)
|
|
light_color = Color(1, 0.85, 0.65, 1)
|
|
shadow_enabled = true
|
|
|
|
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
|
environment = SubResource("Environment_asteroid")
|
|
|
|
[node name="GoalTeam0" parent="." instance=ExtResource("6_p57ef")]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.79, 18)
|
|
|
|
[node name="GoalTeam1" parent="." instance=ExtResource("6_p57ef")]
|
|
transform = Transform3D(-1, 0, 0, 0, 1, 0, 0, 0, -1, 0, 0.79, -18)
|
|
team = 1
|
|
|
|
[node name="BallSpawn" type="Marker3D" parent="."]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0)
|
|
|
|
[node name="SpawnsTeam0" type="Node3D" parent="."]
|
|
|
|
[node name="Spawn1" type="Marker3D" parent="SpawnsTeam0"]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.8, 13.5)
|
|
|
|
[node name="SpawnsTeam1" type="Node3D" parent="."]
|
|
|
|
[node name="Spawn1" type="Marker3D" parent="SpawnsTeam1"]
|
|
transform = Transform3D(-1, 0, 0, 0, 1, 0, 0, 0, -1, 0, 2.8, -13.5)
|
|
|
|
[node name="Decoration" type="Node3D" parent="."]
|