Merge commit '687604fc054965ceb81bf5299befc599e0bb90ed'

Conflicts:
	src/game/player.tscn
This commit is contained in:
Metzkermeister 2023-10-01 21:41:46 +02:00
commit e3c677376d
14 changed files with 181 additions and 35 deletions

3
.gitattributes vendored
View file

@ -1,9 +1,8 @@
# Normalize EOL for all files that Git considers text files. # Normalize EOL for all files that Git considers text files.
* text=auto eol=lf * text=auto eol=lf
# Track files for Git LFS # Track files for Git LFS
assets/**/*.wav filter=lfs diff=lfs merge=lfs -text assets/**/*.wav filter=lfs diff=lfs merge=lfs -text
assets/**/*.ogg filter=lfs diff=lfs merge=lfs -text
assets/**/*.psd filter=lfs diff=lfs merge=lfs -text assets/**/*.psd filter=lfs diff=lfs merge=lfs -text
assets/**/*.png filter=lfs diff=lfs merge=lfs -text
assets/**/*.otf filter=lfs diff=lfs merge=lfs -text assets/**/*.otf filter=lfs diff=lfs merge=lfs -text
assets/**/*.ttf filter=lfs diff=lfs merge=lfs -text assets/**/*.ttf filter=lfs diff=lfs merge=lfs -text

BIN
assets/sounds/music/death_by_waveshaper.wav (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://dh5jxxwim7ra8"
path="res://.godot/imported/death_by_waveshaper.wav-567c957cfc006d82d2a62bba8a331108.sample"
[deps]
source_file="res://assets/sounds/music/death_by_waveshaper.wav"
dest_files=["res://.godot/imported/death_by_waveshaper.wav-567c957cfc006d82d2a62bba8a331108.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=2
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0

BIN
assets/sounds/sfx/damage.wav (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://c7laud048l1is"
path="res://.godot/imported/damage.wav-8c4919c614aee00fc00121daa2bc247e.sample"
[deps]
source_file="res://assets/sounds/sfx/damage.wav"
dest_files=["res://.godot/imported/damage.wav-8c4919c614aee00fc00121daa2bc247e.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0

BIN
assets/sounds/sfx/death_sound.wav (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://c6dy6nea6vaa4"
path="res://.godot/imported/death_sound.wav-74c3ac4e551e080446bef315f79faff8.sample"
[deps]
source_file="res://assets/sounds/sfx/death_sound.wav"
dest_files=["res://.godot/imported/death_sound.wav-74c3ac4e551e080446bef315f79faff8.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=1
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0

BIN
assets/sounds/sfx/engine_loop.wav (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://cc4ffx6b0xjvk"
path="res://.godot/imported/engine_loop.wav-259955cdefdf44f318b80661126b8c7f.sample"
[deps]
source_file="res://assets/sounds/sfx/engine_loop.wav"
dest_files=["res://.godot/imported/engine_loop.wav-259955cdefdf44f318b80661126b8c7f.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0

View file

@ -16,9 +16,9 @@ dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.cte
[params] [params]
compress/mode=0 compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7 compress/lossy_quality=0.7
compress/hdr_compression=1 compress/hdr_compression=1
compress/bptc_ldr=0
compress/normal_map=0 compress/normal_map=0
compress/channel_pack=0 compress/channel_pack=0
mipmaps/generate=false mipmaps/generate=false

View file

@ -96,5 +96,10 @@ func get_total_distance():
return lap_distance + last_offset return lap_distance + last_offset
func game_over(): func game_over():
running = false
player.dead = true
$player/death_sound.play()
print_debug("final score: ", get_total_distance()) print_debug("final score: ", get_total_distance())
await get_tree().create_timer(3).timeout
get_tree().reload_current_scene() #temp get_tree().reload_current_scene() #temp

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=9 format=3 uid="uid://c77xk0mywwt5f"] [gd_scene load_steps=10 format=3 uid="uid://c77xk0mywwt5f"]
[ext_resource type="Script" path="res://src/game/level.gd" id="1_hv75i"] [ext_resource type="Script" path="res://src/game/level.gd" id="1_hv75i"]
[ext_resource type="PackedScene" uid="uid://ckau5s2tsb3oc" path="res://src/game/player.tscn" id="2_5nf51"] [ext_resource type="PackedScene" uid="uid://ckau5s2tsb3oc" path="res://src/game/player.tscn" id="2_5nf51"]
@ -7,6 +7,7 @@
[ext_resource type="Texture2D" uid="uid://ds0un04pocx6i" path="res://assets/track90.png" id="3_jtw40"] [ext_resource type="Texture2D" uid="uid://ds0un04pocx6i" path="res://assets/track90.png" id="3_jtw40"]
[ext_resource type="Texture2D" uid="uid://dmcrms0qu0mtt" path="res://assets/finish2.png" id="4_rxurh"] [ext_resource type="Texture2D" uid="uid://dmcrms0qu0mtt" path="res://assets/finish2.png" id="4_rxurh"]
[ext_resource type="Texture2D" uid="uid://bq151lkkfdlf4" path="res://assets/sign.png" id="7_g24mp"] [ext_resource type="Texture2D" uid="uid://bq151lkkfdlf4" path="res://assets/sign.png" id="7_g24mp"]
[ext_resource type="AudioStream" uid="uid://dh5jxxwim7ra8" path="res://assets/sounds/music/death_by_waveshaper.wav" id="8_ppkte"]
[sub_resource type="Curve2D" id="Curve2D_ll8bj"] [sub_resource type="Curve2D" id="Curve2D_ll8bj"]
_data = { _data = {
@ -76,5 +77,10 @@ color = Color(1, 0.0627451, 0.694118, 1)
energy = 20.0 energy = 20.0
texture = ExtResource("7_g24mp") texture = ExtResource("7_g24mp")
[node name="level_music" type="AudioStreamPlayer" parent="."]
stream = ExtResource("8_ppkte")
volume_db = -29.953
autoplay = true
[connection signal="distance_changed" from="." to="CanvasLayer/hud" method="_on_level_distance_changed"] [connection signal="distance_changed" from="." to="CanvasLayer/hud" method="_on_level_distance_changed"]
[connection signal="speed_changed" from="player" to="CanvasLayer/hud" method="_on_player_speed_changed"] [connection signal="speed_changed" from="player" to="CanvasLayer/hud" method="_on_player_speed_changed"]

View file

@ -1,9 +1,16 @@
<<<<<<< HEAD
[gd_scene load_steps=6 format=3 uid="uid://ckau5s2tsb3oc"] [gd_scene load_steps=6 format=3 uid="uid://ckau5s2tsb3oc"]
=======
[gd_scene load_steps=8 format=3 uid="uid://ckau5s2tsb3oc"]
>>>>>>> 687604fc054965ceb81bf5299befc599e0bb90ed
[ext_resource type="Script" path="res://src/game/player_controller.gd" id="1_g4ij8"] [ext_resource type="Script" path="res://src/game/player_controller.gd" id="1_g4ij8"]
[ext_resource type="Texture2D" uid="uid://bx4nammvn7hea" path="res://assets/vehicle2.png" id="2_ifw0w"] [ext_resource type="Texture2D" uid="uid://bx4nammvn7hea" path="res://assets/vehicle2.png" id="2_ifw0w"]
[ext_resource type="Texture2D" uid="uid://c2ldu662bhlhh" path="res://assets/v_light2.png" id="2_velje"] [ext_resource type="Texture2D" uid="uid://c2ldu662bhlhh" path="res://assets/v_light2.png" id="2_velje"]
[ext_resource type="Texture2D" uid="uid://ceqcsof04vhqs" path="res://assets/light.png" id="3_qosw5"] [ext_resource type="Texture2D" uid="uid://ceqcsof04vhqs" path="res://assets/light.png" id="3_qosw5"]
[ext_resource type="AudioStream" uid="uid://cc4ffx6b0xjvk" path="res://assets/sounds/sfx/engine_loop.wav" id="4_4ajo8"]
[ext_resource type="AudioStream" uid="uid://c7laud048l1is" path="res://assets/sounds/sfx/damage.wav" id="5_rvolc"]
[ext_resource type="AudioStream" uid="uid://c6dy6nea6vaa4" path="res://assets/sounds/sfx/death_sound.wav" id="6_i0vg5"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_w2nj7"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_w2nj7"]
size = Vector2(36, 20) size = Vector2(36, 20)
@ -49,3 +56,16 @@ rotation = 1.5708
ignore_rotation = false ignore_rotation = false
rotation_smoothing_enabled = true rotation_smoothing_enabled = true
rotation_smoothing_speed = 10.0 rotation_smoothing_speed = 10.0
[node name="engine_sounds" type="AudioStreamPlayer" parent="."]
stream = ExtResource("4_4ajo8")
volume_db = -40.467
autoplay = true
[node name="damage_sounds" type="AudioStreamPlayer" parent="."]
stream = ExtResource("5_rvolc")
volume_db = -25.297
[node name="death_sound" type="AudioStreamPlayer" parent="."]
stream = ExtResource("6_i0vg5")
volume_db = -25.297

View file

@ -25,6 +25,7 @@ extends StaticBody2D
# variables # variables
var momentum: Vector2 var momentum: Vector2
#var direction = 0 # 1 for forward, 0 for standing still, -1 for reverse #var direction = 0 # 1 for forward, 0 for standing still, -1 for reverse
var dead = false
signal speed_changed(new_speed) signal speed_changed(new_speed)
@ -35,45 +36,52 @@ func _ready():
# Called every frame. 'delta' is the elapsed time since the previous frame. # Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta): func _process(delta):
var acc_d = acc * delta
var dec_d = dec * delta var dec_d = dec * delta
var rev_d = rev * delta
var turn_d = turn_speed * delta
var brake_d = brake_strength * delta
var turn_factor = 1
if momentum.length() > dec_d: if momentum.length() > dec_d:
momentum -= momentum.normalized()*dec_d momentum -= momentum.normalized()*dec_d
else: else:
momentum = Vector2(0,0) momentum = Vector2(0,0)
if Input.is_action_pressed("accelerate"): if !dead:
momentum += acc_d * Vector2(1,0).rotated(rotation) var acc_d = acc * delta
var rev_d = rev * delta
# if Input.is_action_pressed("reverse"): var turn_d = turn_speed * delta
# print_debug("reverse vector: ", rev_d * Vector2(-1,0).rotated(rotation)) var brake_d = brake_strength * delta
# momentum += rev_d * Vector2(-1,0).rotated(rotation) var turn_factor = 1
# print_debug("momentum vector = ", momentum)
if Input.is_action_pressed("brake"):
turn_factor = drift_factor
if momentum.length() > brake_d:
momentum -= momentum.normalized() * brake_d
else:
momentum = Vector2(0,0)
if Input.is_action_pressed("left"):
rotate(turn_d*turn_factor*-1)
if Input.is_action_pressed("right"):
rotate(turn_d*turn_factor)
if !Input.is_action_pressed("brake"): if Input.is_action_pressed("accelerate"):
momentum = Vector2(1,0).rotated(rotation) * momentum.length() momentum += acc_d * Vector2(1,0).rotated(rotation)
camera.position = Vector2((momentum.length() / max_speed) * camera_offset, 0) # if Input.is_action_pressed("reverse"):
camera.rotation_degrees = momentum.angle() + 90 # print_debug("reverse vector: ", rev_d * Vector2(-1,0).rotated(rotation))
# momentum += rev_d * Vector2(-1,0).rotated(rotation)
# print_debug("momentum vector = ", momentum)
if Input.is_action_pressed("brake"):
turn_factor = drift_factor
if momentum.length() > brake_d:
momentum -= momentum.normalized() * brake_d
else:
momentum = Vector2(0,0)
if Input.is_action_pressed("left"):
rotate(turn_d*turn_factor*-1)
if Input.is_action_pressed("right"):
rotate(turn_d*turn_factor)
if !Input.is_action_pressed("brake"):
momentum = Vector2(1,0).rotated(rotation) * momentum.length()
camera.position = Vector2(get_speed_proportion() * camera_offset, 0)
camera.rotation_degrees = momentum.angle() + 90
$engine_sounds.pitch_scale = get_speed_proportion() + .2
else:
rotate(PI*delta * get_speed_proportion())
if momentum.length() > max_speed: if momentum.length() > max_speed:
momentum = momentum.normalized() * max_speed momentum = momentum.normalized() * max_speed
speed_changed.emit(momentum.length()) speed_changed.emit(momentum.length())
move_and_collide(momentum * delta) move_and_collide(momentum * delta)
func get_speed_proportion():
return (momentum.length() / max_speed)