Rough draft of O'Neill Cylinder level

This commit is contained in:
Rob Kelly 2024-12-18 14:56:30 -07:00
parent 6fad9af2a2
commit 05f259405b
18 changed files with 776 additions and 39 deletions

BIN
asset_dev/levels/oneill.blend (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,31 @@
[gd_resource type="ShaderMaterial" load_steps=5 format=3 uid="uid://drxnue0xsen13"]
[ext_resource type="Shader" path="res://src/shaders/psx_water.gdshader" id="1_sat73"]
[ext_resource type="Texture2D" uid="uid://con5a36t6n6sq" path="res://assets/textures/clear_sea_water_2048x2048.png" id="2_iub32"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_mgjj0"]
fractal_type = 2
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_0xqld"]
in_3d_space = true
seamless = true
noise = SubResource("FastNoiseLite_mgjj0")
[resource]
render_priority = 0
shader = ExtResource("1_sat73")
shader_parameter/albedo = Color(0.427451, 0.917647, 1, 1)
shader_parameter/scroll_speed1 = Vector2(0.04, 0)
shader_parameter/scroll_speed2 = Vector2(-0.02, 0)
shader_parameter/blend_factor = 0.5
shader_parameter/scale1 = Vector2(128, 128)
shader_parameter/scale2 = Vector2(256, 256)
shader_parameter/wave_strength = 0.4
shader_parameter/wave_scale = 0.02
shader_parameter/pixelation_level = 128
shader_parameter/FoamSize = 3.0
shader_parameter/WaterOpacity = 0.9
shader_parameter/FoamGlowIntensity = 0.6
shader_parameter/water_texture1 = ExtResource("2_iub32")
shader_parameter/water_texture2 = ExtResource("2_iub32")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_0xqld")

View File

@ -135,6 +135,7 @@ BALL_BEACH,"Beach Ball"
BALL_POWER,Powerball BALL_POWER,Powerball
, ,
MAP_DEBUG,"Debug Island" MAP_DEBUG,"Debug Island"
MAP_ONEILL,"O'Neill Ring"
, ,
CHARACTER_DEBUG,"Debug Girl" CHARACTER_DEBUG,"Debug Girl"
, ,

1 keys en
135 BALL_POWER Powerball
136
137 MAP_DEBUG Debug Island
138 MAP_ONEILL O'Neill Ring
139
140 CHARACTER_DEBUG Debug Girl
141

View File

@ -21,7 +21,7 @@ compress/lossy_quality=0.7
compress/hdr_compression=1 compress/hdr_compression=1
compress/normal_map=0 compress/normal_map=0
compress/channel_pack=0 compress/channel_pack=0
mipmaps/generate=false mipmaps/generate=true
mipmaps/limit=-1 mipmaps/limit=-1
roughness/mode=0 roughness/mode=0
roughness/src_normal="" roughness/src_normal=""
@ -31,4 +31,4 @@ process/normal_map_invert_y=false
process/hdr_as_srgb=false process/hdr_as_srgb=false
process/hdr_clamp_exposure=false process/hdr_clamp_exposure=false
process/size_limit=0 process/size_limit=0
detect_3d/compress_to=1 detect_3d/compress_to=0

View File

@ -1,9 +1,8 @@
[gd_scene load_steps=68 format=3 uid="uid://bm2o3mex10v11"] [gd_scene load_steps=64 format=3 uid="uid://bm2o3mex10v11"]
[ext_resource type="Terrain3DAssets" uid="uid://cwl34gstabgrx" path="res://levels/debug_level/terrain_assets.res" id="1_5smdk"] [ext_resource type="Terrain3DAssets" uid="uid://cwl34gstabgrx" path="res://levels/debug_level/terrain_assets.res" id="1_5smdk"]
[ext_resource type="Shader" path="res://src/shaders/psx_water.gdshader" id="6_0efu4"] [ext_resource type="Material" uid="uid://drxnue0xsen13" path="res://assets/materials/tropical_water.tres" id="4_bwkbv"]
[ext_resource type="Texture2D" uid="uid://c47ern0l2d50r" path="res://assets/vista_2.png" id="6_ectru"] [ext_resource type="Texture2D" uid="uid://c47ern0l2d50r" path="res://assets/vista_2.png" id="6_ectru"]
[ext_resource type="Texture2D" uid="uid://con5a36t6n6sq" path="res://assets/textures/clear_sea_water_2048x2048.png" id="7_t86h2"]
[ext_resource type="PackedScene" uid="uid://cupmlp44bsfrj" path="res://src/items/extra_ball/beach_ball_item.tscn" id="8_3jmdx"] [ext_resource type="PackedScene" uid="uid://cupmlp44bsfrj" path="res://src/items/extra_ball/beach_ball_item.tscn" id="8_3jmdx"]
[ext_resource type="Script" path="res://src/items/item_spawner.gd" id="8_5kaye"] [ext_resource type="Script" path="res://src/items/item_spawner.gd" id="8_5kaye"]
[ext_resource type="Script" path="res://src/world/ball_zone/ball_zone.gd" id="9_jwlau"] [ext_resource type="Script" path="res://src/world/ball_zone/ball_zone.gd" id="9_jwlau"]
@ -68,12 +67,12 @@ auto_shader = true
[sub_resource type="PanoramaSkyMaterial" id="PanoramaSkyMaterial_h8tes"] [sub_resource type="PanoramaSkyMaterial" id="PanoramaSkyMaterial_h8tes"]
panorama = ExtResource("6_ectru") panorama = ExtResource("6_ectru")
[sub_resource type="Sky" id="Sky_2xshh"] [sub_resource type="Sky" id="Sky_3yoab"]
sky_material = SubResource("PanoramaSkyMaterial_h8tes") sky_material = SubResource("PanoramaSkyMaterial_h8tes")
[sub_resource type="Environment" id="Environment_k6wwx"] [sub_resource type="Environment" id="Environment_k6wwx"]
background_mode = 2 background_mode = 2
sky = SubResource("Sky_2xshh") sky = SubResource("Sky_3yoab")
ambient_light_source = 2 ambient_light_source = 2
ambient_light_color = Color(0.78, 0.78, 0.78, 1) ambient_light_color = Color(0.78, 0.78, 0.78, 1)
ssao_enabled = true ssao_enabled = true
@ -93,35 +92,8 @@ dof_blur_near_enabled = true
dof_blur_near_distance = 1.0 dof_blur_near_distance = 1.0
dof_blur_near_transition = 0.5 dof_blur_near_transition = 0.5
[sub_resource type="FastNoiseLite" id="FastNoiseLite_mgjj0"]
fractal_type = 2
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_0xqld"]
in_3d_space = true
seamless = true
noise = SubResource("FastNoiseLite_mgjj0")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_dkdxa"]
render_priority = 0
shader = ExtResource("6_0efu4")
shader_parameter/albedo = Color(0.427451, 0.917647, 1, 1)
shader_parameter/scroll_speed1 = Vector2(0.04, 0)
shader_parameter/scroll_speed2 = Vector2(-0.02, 0)
shader_parameter/blend_factor = 0.5
shader_parameter/scale1 = Vector2(128, 128)
shader_parameter/scale2 = Vector2(256, 256)
shader_parameter/wave_strength = 0.4
shader_parameter/wave_scale = 0.02
shader_parameter/pixelation_level = 128
shader_parameter/FoamSize = 3.0
shader_parameter/WaterOpacity = 0.9
shader_parameter/FoamGlowIntensity = 0.6
shader_parameter/water_texture1 = ExtResource("7_t86h2")
shader_parameter/water_texture2 = ExtResource("7_t86h2")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_0xqld")
[sub_resource type="PlaneMesh" id="PlaneMesh_2ywhk"] [sub_resource type="PlaneMesh" id="PlaneMesh_2ywhk"]
material = SubResource("ShaderMaterial_dkdxa") material = ExtResource("4_bwkbv")
size = Vector2(16384, 16384) size = Vector2(16384, 16384)
subdivide_width = 1024 subdivide_width = 1024
subdivide_depth = 1024 subdivide_depth = 1024

BIN
levels/oneill/geometry.bin Normal file

Binary file not shown.

374
levels/oneill/geometry.gltf Normal file
View File

@ -0,0 +1,374 @@
{
"asset":{
"generator":"Khronos glTF Blender I/O v4.2.60",
"version":"2.0"
},
"scene":0,
"scenes":[
{
"name":"Scene",
"nodes":[
0,
1
]
}
],
"nodes":[
{
"mesh":0,
"name":"Toroid"
},
{
"mesh":1,
"name":"Water"
}
],
"materials":[
{
"doubleSided":true,
"name":"Grass",
"pbrMetallicRoughness":{
"baseColorFactor":[
0.3161464333534241,
0.8002588152885437,
0.2223183959722519,
1
],
"metallicFactor":0,
"roughnessFactor":0.5
}
},
{
"doubleSided":true,
"name":"Sand",
"pbrMetallicRoughness":{
"baseColorFactor":[
0.8006381988525391,
0.7524848580360413,
0.36821886897087097,
1
],
"metallicFactor":0,
"roughnessFactor":0.5
}
},
{
"doubleSided":true,
"name":"Water",
"pbrMetallicRoughness":{
"baseColorFactor":[
0.028725162148475647,
0.3729885220527649,
0.8004578351974487,
1
],
"metallicFactor":0,
"roughnessFactor":0.5
}
},
{
"doubleSided":true,
"name":"Unused",
"pbrMetallicRoughness":{
"baseColorFactor":[
0.7795374393463135,
0,
0.8001965880393982,
1
],
"metallicFactor":0,
"roughnessFactor":0.5
}
}
],
"meshes":[
{
"name":"Sphere",
"primitives":[
{
"attributes":{
"POSITION":0,
"NORMAL":1,
"TEXCOORD_0":2
},
"indices":3,
"material":0
},
{
"attributes":{
"POSITION":4,
"NORMAL":5,
"TEXCOORD_0":6
},
"indices":7,
"material":1
}
]
},
{
"name":"Sphere.001",
"primitives":[
{
"attributes":{
"POSITION":8,
"NORMAL":9,
"TEXCOORD_0":10
},
"indices":11,
"material":2
},
{
"attributes":{
"POSITION":12,
"NORMAL":13,
"TEXCOORD_0":14
},
"indices":15,
"material":3
}
]
}
],
"accessors":[
{
"bufferView":0,
"componentType":5126,
"count":2709,
"max":[
79.99998474121094,
37.71173858642578,
79.99996948242188
],
"min":[
-79.99996185302734,
-37.71173858642578,
-80
],
"type":"VEC3"
},
{
"bufferView":1,
"componentType":5126,
"count":2709,
"type":"VEC3"
},
{
"bufferView":2,
"componentType":5126,
"count":2709,
"type":"VEC2"
},
{
"bufferView":3,
"componentType":5123,
"count":15360,
"type":"SCALAR"
},
{
"bufferView":4,
"componentType":5126,
"count":1677,
"max":[
82.53833770751953,
37.79914474487305,
82.53833770751953
],
"min":[
-82.53833770751953,
-37.79914474487305,
-82.53833770751953
],
"type":"VEC3"
},
{
"bufferView":5,
"componentType":5126,
"count":1677,
"type":"VEC3"
},
{
"bufferView":6,
"componentType":5126,
"count":1677,
"type":"VEC2"
},
{
"bufferView":7,
"componentType":5123,
"count":7680,
"type":"SCALAR"
},
{
"bufferView":8,
"componentType":5126,
"count":2064,
"max":[
87.81309509277344,
32.626365661621094,
87.81385040283203
],
"min":[
-87.81309509277344,
-32.626373291015625,
-87.81383514404297
],
"type":"VEC3"
},
{
"bufferView":9,
"componentType":5126,
"count":2064,
"type":"VEC3"
},
{
"bufferView":10,
"componentType":5126,
"count":2064,
"type":"VEC2"
},
{
"bufferView":11,
"componentType":5123,
"count":11520,
"type":"SCALAR"
},
{
"bufferView":12,
"componentType":5126,
"count":774,
"max":[
82.04900360107422,
32.626365661621094,
82.04967498779297
],
"min":[
-82.04901885986328,
-32.626373291015625,
-82.0496597290039
],
"type":"VEC3"
},
{
"bufferView":13,
"componentType":5126,
"count":774,
"type":"VEC3"
},
{
"bufferView":14,
"componentType":5126,
"count":774,
"type":"VEC2"
},
{
"bufferView":15,
"componentType":5123,
"count":3072,
"type":"SCALAR"
}
],
"bufferViews":[
{
"buffer":0,
"byteLength":32508,
"byteOffset":0,
"target":34962
},
{
"buffer":0,
"byteLength":32508,
"byteOffset":32508,
"target":34962
},
{
"buffer":0,
"byteLength":21672,
"byteOffset":65016,
"target":34962
},
{
"buffer":0,
"byteLength":30720,
"byteOffset":86688,
"target":34963
},
{
"buffer":0,
"byteLength":20124,
"byteOffset":117408,
"target":34962
},
{
"buffer":0,
"byteLength":20124,
"byteOffset":137532,
"target":34962
},
{
"buffer":0,
"byteLength":13416,
"byteOffset":157656,
"target":34962
},
{
"buffer":0,
"byteLength":15360,
"byteOffset":171072,
"target":34963
},
{
"buffer":0,
"byteLength":24768,
"byteOffset":186432,
"target":34962
},
{
"buffer":0,
"byteLength":24768,
"byteOffset":211200,
"target":34962
},
{
"buffer":0,
"byteLength":16512,
"byteOffset":235968,
"target":34962
},
{
"buffer":0,
"byteLength":23040,
"byteOffset":252480,
"target":34963
},
{
"buffer":0,
"byteLength":9288,
"byteOffset":275520,
"target":34962
},
{
"buffer":0,
"byteLength":9288,
"byteOffset":284808,
"target":34962
},
{
"buffer":0,
"byteLength":6192,
"byteOffset":294096,
"target":34962
},
{
"buffer":0,
"byteLength":6144,
"byteOffset":300288,
"target":34963
}
],
"buffers":[
{
"byteLength":306432,
"uri":"geometry.bin"
}
]
}

View File

@ -0,0 +1,36 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://df0kdle8ntguo"
path="res://.godot/imported/geometry.gltf-874d08c9d8ed47bf6c3fe03bb6cbd333.scn"
[deps]
source_file="res://levels/oneill/geometry.gltf"
dest_files=["res://.godot/imported/geometry.gltf-874d08c9d8ed47bf6c3fe03bb6cbd333.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={}
gltf/naming_version=1
gltf/embedded_image_handling=1

View File

@ -0,0 +1,8 @@
[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://d3lgbjycfpbuj"]
[ext_resource type="Texture2D" path="res://assets/textures/grass_green/grass_green_albedo.dds" id="1_fcjn2"]
[resource]
albedo_texture = ExtResource("1_fcjn2")
uv1_scale = Vector3(8, 4, 8)
texture_filter = 4

View File

@ -0,0 +1,8 @@
[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://d16vojvxfn2c5"]
[ext_resource type="Texture2D" path="res://assets/textures/sand_trap/sand_trap_albedo.dds" id="1_gp4sx"]
[resource]
albedo_texture = ExtResource("1_gp4sx")
uv1_scale = Vector3(16, 8, 8)
texture_filter = 4

View File

@ -0,0 +1,31 @@
[gd_resource type="ShaderMaterial" load_steps=5 format=3 uid="uid://dcfr31mu17yat"]
[ext_resource type="Shader" path="res://src/shaders/psx_water.gdshader" id="1_sxfaq"]
[ext_resource type="Texture2D" uid="uid://con5a36t6n6sq" path="res://assets/textures/clear_sea_water_2048x2048.png" id="2_3g5s1"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_mgjj0"]
fractal_type = 2
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_0xqld"]
in_3d_space = true
seamless = true
noise = SubResource("FastNoiseLite_mgjj0")
[resource]
render_priority = 0
shader = ExtResource("1_sxfaq")
shader_parameter/albedo = Color(0.427451, 0.917647, 1, 1)
shader_parameter/scroll_speed1 = Vector2(0.04, 0)
shader_parameter/scroll_speed2 = Vector2(-0.02, 0)
shader_parameter/blend_factor = 0.5
shader_parameter/scale1 = Vector2(10, 10)
shader_parameter/scale2 = Vector2(30, 30)
shader_parameter/wave_strength = 0.4
shader_parameter/wave_scale = 0.02
shader_parameter/pixelation_level = 128
shader_parameter/FoamSize = 1.0
shader_parameter/WaterOpacity = 0.9
shader_parameter/FoamGlowIntensity = 0.6
shader_parameter/water_texture1 = ExtResource("2_3g5s1")
shader_parameter/water_texture2 = ExtResource("2_3g5s1")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_0xqld")

View File

@ -0,0 +1,9 @@
[gd_resource type="Resource" script_class="Level" load_steps=3 format=3 uid="uid://cfsy1nlfo4inx"]
[ext_resource type="PackedScene" uid="uid://x2bqqlrnno28" path="res://levels/oneill/oneill.tscn" id="1_431yv"]
[ext_resource type="Script" path="res://src/world/level/level.gd" id="2_fnj1e"]
[resource]
script = ExtResource("2_fnj1e")
scene = ExtResource("1_431yv")
level_name = "MAP_ONEILL"

260
levels/oneill/oneill.tscn Normal file

File diff suppressed because one or more lines are too long

View File

@ -116,6 +116,7 @@ _data = {
[node name="Game" type="Node" groups=["GameGroup"]] [node name="Game" type="Node" groups=["GameGroup"]]
process_mode = 3 process_mode = 3
script = ExtResource("1_4qa87") script = ExtResource("1_4qa87")
start_scene = "res://src/world/world.tscn"
[node name="RootControl" type="Control" parent="."] [node name="RootControl" type="Control" parent="."]
unique_name_in_owner = true unique_name_in_owner = true

View File

@ -49,9 +49,11 @@ func cancel() -> void:
## Start with the current game configuration. ## Start with the current game configuration.
func start() -> void: func start() -> void:
var player_list := players() var player_list := players()
var level := selected_level()
var init_world := func(world: World) -> void: var init_world := func(world: World) -> void:
world.manager = RoundRobinManager.new() world.manager = RoundRobinManager.new()
world.manager.players = player_list world.manager.players = player_list
world.initial_level = level.scene
game.queue_scene(WORLD_SCENE_PATH).then(init_world) game.queue_scene(WORLD_SCENE_PATH).then(init_world)

View File

@ -1,9 +1,10 @@
[gd_scene load_steps=4 format=3 uid="uid://cdtdvka0bssgy"] [gd_scene load_steps=5 format=3 uid="uid://cdtdvka0bssgy"]
[ext_resource type="Script" path="res://src/world/level/level_catalog.gd" id="1_wjjeu"] [ext_resource type="Script" path="res://src/world/level/level_catalog.gd" id="1_wjjeu"]
[ext_resource type="Resource" uid="uid://chewry1b1a28j" path="res://levels/debug_level/debug_island.tres" id="3_3eqbc"] [ext_resource type="Resource" uid="uid://chewry1b1a28j" path="res://levels/debug_level/debug_island.tres" id="3_3eqbc"]
[ext_resource type="Script" path="res://src/world/level/level.gd" id="3_8lfqu"] [ext_resource type="Script" path="res://src/world/level/level.gd" id="3_8lfqu"]
[ext_resource type="Resource" uid="uid://cfsy1nlfo4inx" path="res://levels/oneill/oneill.tres" id="4_8547s"]
[node name="LevelCatalog" type="Node"] [node name="LevelCatalog" type="Node"]
script = ExtResource("1_wjjeu") script = ExtResource("1_wjjeu")
levels = Array[ExtResource("3_8lfqu")]([ExtResource("3_3eqbc")]) levels = Array[ExtResource("3_8lfqu")]([ExtResource("3_3eqbc"), ExtResource("4_8547s")])

View File

@ -1,9 +1,9 @@
[gd_scene load_steps=8 format=3 uid="uid://cwnwcd8kushl3"] [gd_scene load_steps=8 format=3 uid="uid://cwnwcd8kushl3"]
[ext_resource type="Script" path="res://src/world/world.gd" id="1_ybjyx"] [ext_resource type="Script" path="res://src/world/world.gd" id="1_ybjyx"]
[ext_resource type="PackedScene" uid="uid://bm2o3mex10v11" path="res://levels/debug_level/debug_level.tscn" id="2_0xu5a"]
[ext_resource type="Script" path="res://src/player/world_player.gd" id="2_e743i"] [ext_resource type="Script" path="res://src/player/world_player.gd" id="2_e743i"]
[ext_resource type="Script" path="res://src/ui/world_ui.gd" id="2_imewa"] [ext_resource type="Script" path="res://src/ui/world_ui.gd" id="2_imewa"]
[ext_resource type="PackedScene" uid="uid://x2bqqlrnno28" path="res://levels/oneill/oneill.tscn" id="2_w576d"]
[ext_resource type="Resource" uid="uid://crock3revdn73" path="res://src/player/debug_player.tres" id="3_pyw81"] [ext_resource type="Resource" uid="uid://crock3revdn73" path="res://src/player/debug_player.tres" id="3_pyw81"]
[ext_resource type="Script" path="res://src/world/play_manager/round_robin_manager.gd" id="5_h6mje"] [ext_resource type="Script" path="res://src/world/play_manager/round_robin_manager.gd" id="5_h6mje"]
@ -13,7 +13,7 @@ players = Array[ExtResource("2_e743i")]([ExtResource("3_pyw81")])
[node name="World" type="Node" groups=["WorldGroup"]] [node name="World" type="Node" groups=["WorldGroup"]]
script = ExtResource("1_ybjyx") script = ExtResource("1_ybjyx")
initial_level = ExtResource("2_0xu5a") initial_level = ExtResource("2_w576d")
manager = SubResource("Resource_rdjhi") manager = SubResource("Resource_rdjhi")
[node name="Level" type="Node3D" parent="."] [node name="Level" type="Node3D" parent="."]