Add race condition loop track

soundtrack
Ensar Sarajčić 2021-11-22 18:36:13 +01:00
parent f7897ab9e7
commit f5e273440b
7 changed files with 265 additions and 11 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 476 KiB

View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="StreamTexture"
path.s3tc="res://.import/roadtexture.png-f1b1ad8f7882e3d1a4409d2c23babb77.s3tc.stex"
path.etc2="res://.import/roadtexture.png-f1b1ad8f7882e3d1a4409d2c23babb77.etc2.stex"
metadata={
"imported_formats": [ "s3tc", "etc2" ],
"vram_texture": true
}
[deps]
source_file="res://assets/roadtexture.png"
dest_files=[ "res://.import/roadtexture.png-f1b1ad8f7882e3d1a4409d2c23babb77.s3tc.stex", "res://.import/roadtexture.png-f1b1ad8f7882e3d1a4409d2c23babb77.etc2.stex" ]
[params]
compress/mode=2
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=true
flags/filter=true
flags/mipmaps=true
flags/anisotropic=false
flags/srgb=1
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=false
svg/scale=1.0

View File

@ -2,28 +2,30 @@
importer="texture" importer="texture"
type="StreamTexture" type="StreamTexture"
path="res://.import/tyretexture.png-815a19f346dc8bb593f48a3a9b625018.stex" path.s3tc="res://.import/tyretexture.png-815a19f346dc8bb593f48a3a9b625018.s3tc.stex"
path.etc2="res://.import/tyretexture.png-815a19f346dc8bb593f48a3a9b625018.etc2.stex"
metadata={ metadata={
"vram_texture": false "imported_formats": [ "s3tc", "etc2" ],
"vram_texture": true
} }
[deps] [deps]
source_file="res://assets/tyretexture.png" source_file="res://assets/tyretexture.png"
dest_files=[ "res://.import/tyretexture.png-815a19f346dc8bb593f48a3a9b625018.stex" ] dest_files=[ "res://.import/tyretexture.png-815a19f346dc8bb593f48a3a9b625018.s3tc.stex", "res://.import/tyretexture.png-815a19f346dc8bb593f48a3a9b625018.etc2.stex" ]
[params] [params]
compress/mode=0 compress/mode=2
compress/lossy_quality=0.7 compress/lossy_quality=0.7
compress/hdr_mode=0 compress/hdr_mode=0
compress/bptc_ldr=0 compress/bptc_ldr=0
compress/normal_map=0 compress/normal_map=0
flags/repeat=0 flags/repeat=true
flags/filter=true flags/filter=true
flags/mipmaps=false flags/mipmaps=true
flags/anisotropic=false flags/anisotropic=false
flags/srgb=2 flags/srgb=1
process/fix_alpha_border=true process/fix_alpha_border=true
process/premult_alpha=false process/premult_alpha=false
process/HDR_as_SRGB=false process/HDR_as_SRGB=false
@ -31,5 +33,5 @@ process/invert_color=false
process/normal_map_invert_y=false process/normal_map_invert_y=false
stream=false stream=false
size_limit=0 size_limit=0
detect_3d=true detect_3d=false
svg/scale=1.0 svg/scale=1.0

View File

@ -7,10 +7,11 @@ const TEST_SCENE = preload("res://scenes/test_level.tscn")
const INFINITE_LOOP_SCENE = preload("res://scenes/infinite_loop_track_level.tscn") const INFINITE_LOOP_SCENE = preload("res://scenes/infinite_loop_track_level.tscn")
const ROUNDING_ERROR = preload("res://scenes/rounding_error_track_level.tscn") const ROUNDING_ERROR = preload("res://scenes/rounding_error_track_level.tscn")
const SCARAB = preload("res://scenes/scarab_track_level.tscn") const SCARAB = preload("res://scenes/scarab_track_level.tscn")
const RACE_CONDITION = preload("res://scenes/race_condition_track_level.tscn")
const GUI_SCENE = preload("res://player/gui.tscn") const GUI_SCENE = preload("res://player/gui.tscn")
var vehicles = [BEETLE, BUGGY, BUGMOBILE] var vehicles = [BEETLE, BUGGY, BUGMOBILE]
var tracks = [INFINITE_LOOP_SCENE, ROUNDING_ERROR, SCARAB, TEST_SCENE] var tracks = [INFINITE_LOOP_SCENE, ROUNDING_ERROR, RACE_CONDITION, SCARAB, TEST_SCENE]
# gdlint: ignore=max-line-length # gdlint: ignore=max-line-length
onready var vehicle_selector = $MarginContainer/VSplitContainer/CenterContainer/VBoxContainer/VehicleSelector onready var vehicle_selector = $MarginContainer/VSplitContainer/CenterContainer/VBoxContainer/VehicleSelector
@ -26,6 +27,7 @@ func _ready() -> void:
track_selector.add_item("Infinite Loop") track_selector.add_item("Infinite Loop")
track_selector.add_item("Rounding Error") track_selector.add_item("Rounding Error")
track_selector.add_item("Race Condition")
track_selector.add_item("Scarab") track_selector.add_item("Scarab")
track_selector.add_item("Testing grounds") track_selector.add_item("Testing grounds")

View File

@ -4,7 +4,7 @@
[node name="camera" type="Camera"] [node name="camera" type="Camera"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5.88022, 23.0639 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5.88022, 23.0639 )
far = 457.7 far = 450.0
script = ExtResource( 1 ) script = ExtResource( 1 )
target_distance = 12.0 target_distance = 12.0
target_height = 6.0 target_height = 6.0

View File

@ -0,0 +1,213 @@
[gd_scene load_steps=18 format=2]
[ext_resource path="res://scenes/base_track_level.tscn" type="PackedScene" id=1]
[ext_resource path="res://assets/tyretexture.png" type="Texture" id=2]
[ext_resource path="res://assets/roadtexture.png" type="Texture" id=3]
[sub_resource type="SpatialMaterial" id=11]
albedo_color = Color( 0.0980392, 0.247059, 0.00392157, 1 )
[sub_resource type="PlaneMesh" id=12]
material = SubResource( 11 )
size = Vector2( 600, 600 )
[sub_resource type="ConvexPolygonShape" id=3]
points = PoolVector3Array( -300, 0, -300, -300, 0, 300, 300, 0, -300, 300, 0, 300 )
[sub_resource type="SpatialMaterial" id=1]
albedo_texture = ExtResource( 2 )
uv1_scale = Vector3( 0.15, 10, 1 )
[sub_resource type="PlaneMesh" id=2]
material = SubResource( 1 )
size = Vector2( 600, 600 )
[sub_resource type="BoxShape" id=4]
extents = Vector3( 290.122, 2.1347, 299.772 )
[sub_resource type="Curve3D" id=5]
_data = {
"points": PoolVector3Array( 0, 0, 0, 0, 0, 0, 1, 0, 128, -128, 0, -0.2, 128, 0, 0.2, 129, 0, 128, 0, 0, 64.3, 0, 0, -64.3, 256, 0, 1, 127.8, 0, -0.4, -127.8, 0, 0.4, 128.388, 0, -127.842, 0, 0, 0, 0, 0, 0, 0.565611, 0, -127.842, 128.1, 0, -0.4, -128.1, 0, 0.4, -127.658, 0, -127.842, 0, 0, -63.9, 0, 0, 63.9, -255.882, 0, -0.422239, -128.7, 0, 0.4, 128.7, 0, -0.4, -127.658, 0, 128.204, 0, 0, 0, 0, 0, 0, 1, 0, 128 ),
"tilts": PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0 )
}
[sub_resource type="Shader" id=9]
code = "shader_type spatial;
uniform sampler2D road_texture;
void fragment() {
vec2 road_uv = vec2(UV.y * 5.0, UV.x * 0.02);
vec4 color = texture(road_texture, road_uv);
ALBEDO = color.rgb;
METALLIC = 0.0;
ROUGHNESS = 0.8;
}"
[sub_resource type="ShaderMaterial" id=10]
shader = SubResource( 9 )
shader_param/road_texture = ExtResource( 3 )
[sub_resource type="SpatialMaterial" id=7]
flags_transparent = true
albedo_color = Color( 0.67451, 0.992157, 1, 0.168627 )
[sub_resource type="SpatialMaterial" id=8]
albedo_color = Color( 0.584314, 0.584314, 0.584314, 1 )
metallic = 1.0
roughness = 0.63
[sub_resource type="SpatialMaterial" id=13]
albedo_color = Color( 0.192157, 0.192157, 0.192157, 1 )
[sub_resource type="SpatialMaterial" id=14]
albedo_color = Color( 0.294118, 0.243137, 0, 1 )
[sub_resource type="SpatialMaterial" id=15]
albedo_color = Color( 0.203922, 0.203922, 0.203922, 1 )
[node name="Spatial" instance=ExtResource( 1 )]
[node name="Track" parent="." index="1"]
track_path = NodePath("../Path")
checkpoint_polygon = PoolVector2Array( -20, -4, -20, 10, 20, 10, 20, -4 )
[node name="Grass" type="StaticBody" parent="." index="2"]
transform = Transform( 0.8, 0, 0, 0, 1, 0, 0, 0, 0.4, 0, 5, 0 )
[node name="MeshInstance" type="MeshInstance" parent="Grass" index="0"]
mesh = SubResource( 12 )
material/0 = null
[node name="CollisionShape" type="CollisionShape" parent="Grass" index="1"]
shape = SubResource( 3 )
[node name="StaticBody" type="StaticBody" parent="." index="3"]
[node name="MeshInstance" type="MeshInstance" parent="StaticBody" index="0"]
mesh = SubResource( 2 )
material/0 = null
[node name="CollisionShape" type="CollisionShape" parent="StaticBody" index="1"]
shape = SubResource( 3 )
[node name="ResetArea" type="Area" parent="." index="4"]
[node name="CollisionShape" type="CollisionShape" parent="ResetArea" index="0"]
shape = SubResource( 4 )
[node name="Path" type="Path" parent="." index="5"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 9, 0 )
curve = SubResource( 5 )
[node name="Track" type="CSGPolygon" parent="Path" index="0"]
use_collision = true
polygon = PoolVector2Array( -20, -4, 20, 4, -19, -4 )
mode = 2
path_node = NodePath("..")
path_interval_type = 0
path_interval = 1.0
path_simplify_angle = 1.0
path_rotation = 2
path_local = true
path_continuous_u = true
path_u_distance = 1.0
path_joined = true
material = SubResource( 10 )
[node name="LeftRail" type="CSGPolygon" parent="Path" index="1"]
use_collision = true
polygon = PoolVector2Array( -21, 3, -20, 3, -20, -4, -21, -4 )
mode = 2
path_node = NodePath("..")
path_interval_type = 0
path_interval = 1.0
path_simplify_angle = 0.0
path_rotation = 2
path_local = true
path_continuous_u = true
path_u_distance = 1.0
path_joined = true
material = SubResource( 7 )
[node name="LeftRailTop" type="CSGPolygon" parent="Path" index="2"]
use_collision = true
polygon = PoolVector2Array( -21, 4, -20, 4, -20, 3, -21, 3 )
mode = 2
path_node = NodePath("..")
path_interval_type = 0
path_interval = 1.0
path_simplify_angle = 0.0
path_rotation = 2
path_local = true
path_continuous_u = true
path_u_distance = 1.0
path_joined = true
material = SubResource( 8 )
[node name="RightRail" type="CSGPolygon" parent="Path" index="3"]
use_collision = true
polygon = PoolVector2Array( 20, 4, 20, 7, 22, 7, 22, 4 )
mode = 2
path_node = NodePath("..")
path_interval_type = 0
path_interval = 1.0
path_simplify_angle = 0.0
path_rotation = 2
path_local = true
path_continuous_u = true
path_u_distance = 1.0
path_joined = true
material = SubResource( 13 )
[node name="Seats" type="CSGPolygon" parent="Path" index="4"]
use_collision = true
polygon = PoolVector2Array( 40, 4, 60, 20, 22, 7, 22, 4 )
mode = 2
path_node = NodePath("..")
path_interval_type = 0
path_interval = 20.0
path_simplify_angle = 0.0
path_rotation = 2
path_local = true
path_continuous_u = true
path_u_distance = 1.0
path_joined = true
material = SubResource( 14 )
[node name="Walls" type="CSGPolygon" parent="Path" index="5"]
use_collision = true
polygon = PoolVector2Array( 40, 4, 60, 20, 70, 7, 70, 50, 60, 40, 40, 4 )
mode = 2
path_node = NodePath("..")
path_interval_type = 0
path_interval = 20.0
path_simplify_angle = 0.0
path_rotation = 2
path_local = true
path_continuous_u = true
path_u_distance = 1.0
path_joined = true
material = SubResource( 15 )
[node name="Roof" type="CSGPolygon" parent="Path" index="6"]
use_collision = true
polygon = PoolVector2Array( 70, 50, -50, 70, 20, 68 )
mode = 2
path_node = NodePath("..")
path_interval_type = 0
path_interval = 20.0
path_simplify_angle = 0.0
path_rotation = 2
path_local = true
path_continuous_u = true
path_u_distance = 1.0
path_joined = true
[node name="DirectionalLight" type="DirectionalLight" parent="." index="6"]
transform = Transform( 1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 69, 0 )
shadow_enabled = true
directional_shadow_max_distance = 1000.0
[connection signal="body_entered" from="ResetArea" to="." method="_on_ResetArea_body_entered"]

View File

@ -52,7 +52,7 @@ max_brake_force = 80.0
throttle_power = 10000.0 throttle_power = 10000.0
max_rpm_loss_ps = 4000.0 max_rpm_loss_ps = 4000.0
base_engine_pitch = 0.45 base_engine_pitch = 0.45
gear_ratios = [ 3.4, 2.5, 2.0, 1.5, 1.25, 1.0 ] gear_ratios = [ 3.8, 2.7, 2.2, 1.75, 1.4, 1.2 ]
power_curve = SubResource( 2 ) power_curve = SubResource( 2 )
sound_curve = SubResource( 4 ) sound_curve = SubResource( 4 )
automatic_gear_up_threshold = 0.85 automatic_gear_up_threshold = 0.85