Initial Commit, Gamejam build with slight modifications

This commit is contained in:
imk jet 2023-12-07 18:56:49 +01:00
commit 33dfde62e0
85 changed files with 6250 additions and 0 deletions

2
.gitattributes vendored Normal file
View File

@ -0,0 +1,2 @@
# Normalize EOL for all files that Git considers text files.
* text=auto eol=lf

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# Godot 4+ specific ignores
.godot/

5
CheckPointsHandler.gd Normal file
View File

@ -0,0 +1,5 @@
extends Node2D
@export var current : CharacterBody2D

BIN
HackerBasic.ttf Normal file

Binary file not shown.

38
HackerBasic.ttf.import Normal file
View File

@ -0,0 +1,38 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://3pvmifrm3xhh"
path="res://.godot/imported/HackerBasic.ttf-aa7eb7cf3d0776599b28827728f98419.fontdata"
[deps]
source_file="res://HackerBasic.ttf"
dest_files=["res://.godot/imported/HackerBasic.ttf-aa7eb7cf3d0776599b28827728f98419.fontdata"]
[params]
Rendering=null
antialiasing=0
generate_mipmaps=false
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
hinting=1
subpixel_positioning=1
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[{
"chars": [],
"glyphs": [],
"name": "New Configuration",
"size": Vector2i(16, 0)
}]
language_support={}
script_support={}
opentype_features={}

42
MovingPlatform.gd Normal file
View File

@ -0,0 +1,42 @@
@tool
extends Node2D
@export var pos1 : Vector2 = Vector2(0,0)
@export var pos2 : Vector2 = Vector2(2,9)
@export var debugging : bool = false
# Called when the node enters the scene tree for the first time.
@export var speed : int = 1
var cur = 0
func _ready():
if not Engine.is_editor_hint():
$start.global_position = pos1
$end.global_position = pos2
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
if Engine.is_editor_hint():
$start.global_position = pos1
$end.global_position = pos2
if not debugging:
return
var tweener = get_tree().create_tween()
if cur == 0:
tweener.tween_property($Platform,"global_position",pos1,speed)
await tweener.finished
$Platform.queue_redraw()
$Platform.global_position = pos1
await get_tree().create_timer(3).timeout
cur = 1
elif cur == 1:
tweener.tween_property($Platform,"global_position",pos2,speed)
await tweener.finished
$Platform.queue_redraw()
$Platform.global_position = pos2
await get_tree().create_timer(3).timeout
cur = 0

49
Node2D.gd Normal file
View File

@ -0,0 +1,49 @@
extends Node2D
var can_move = true
# Called when the node enters the scene tree for the first time.
func _ready():
if SaveHandler.settings["checkpoint"] == "":
$continue.modulate = Color("747474")
can_move = false
$"new game".text = "[u][center]new game"
var switch = false
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
if Input.is_action_just_pressed("ui_down") and can_move:
if switch == false:
switch = true
$"new game".text = "[center]new game"
$continue.text = "[u][center]continue"
else:
switch = false
$"new game".text = "[u][center]new game"
$continue.text = "[center]continue"
if Input.is_action_just_pressed("ui_up") and can_move:
if switch == false:
switch = true
$"new game".text = "[center]new game"
$continue.text = "[u][center]continue"
else:
switch = false
$"new game".text = "[u][center]new game"
$continue.text = "[center]continue"
if Input.is_action_just_pressed("interact") or Input.is_action_just_pressed("ui_accept"):
if switch == false:
SaveHandler.set_setting("LoadSave",false)
else:
SaveHandler.set_setting("LoadSave",true)
var tweener = get_tree().create_tween()
var tweener2 = get_tree().create_tween()
tweener2.tween_property(get_parent().get_node("AudioStreamPlayer2D"),"volume_db",-100,3)
var recter = get_parent().get_node("CanvasLayer/ColorRect")
tweener.set_ease(Tween.EASE_IN)
tweener.set_trans(Tween.TRANS_CUBIC)
tweener.tween_property(recter,"size",Vector2(1152,648),2)
await tweener.finished
await get_tree().create_timer(1).timeout
get_tree().change_scene_to_file("res://node_2d.tscn")

24
SaveHandler.gd Normal file
View File

@ -0,0 +1,24 @@
extends Node2D
@export var settings : Dictionary = {"checkpoint"="","LoadSave"=false}
# Called when the node enters the scene tree for the first time.
func _ready():
if FileAccess.file_exists("user://settings"):
var filer = FileAccess.open("user://settings",FileAccess.READ)
var tempson = JSON.new()
tempson.parse(filer.get_as_text())
settings = tempson.get_data()
else:
writesave()
func writesave():
var filer = FileAccess.open("user://settings", FileAccess.WRITE)
filer.store_string(JSON.stringify(settings))
func set_setting(namer,value):
settings[namer] = value
writesave()
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass

6
SaveHandler.tscn Normal file
View File

@ -0,0 +1,6 @@
[gd_scene load_steps=2 format=3 uid="uid://0r1xemftuteu"]
[ext_resource type="Script" path="res://SaveHandler.gd" id="1_j7ngb"]
[node name="SaveHandler" type="Node2D"]
script = ExtResource("1_j7ngb")

394
TILES.tres Normal file
View File

@ -0,0 +1,394 @@
[gd_resource type="TileSet" load_steps=3 format=3 uid="uid://caxx0q7nei3h7"]
[ext_resource type="Texture2D" uid="uid://45fgpfmo6jpm" path="res://sheet1.png" id="1_oi8tv"]
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_37hlk"]
texture = ExtResource("1_oi8tv")
10:13/0 = 0
10:13/0/terrain_set = 0
10:13/0/terrain = 5
10:13/0/physics_layer_0/linear_velocity = Vector2(0, 0)
10:13/0/physics_layer_0/angular_velocity = 0.0
10:13/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
10:14/0 = 0
10:14/0/terrain_set = 0
10:14/0/terrain = 5
10:14/0/physics_layer_0/linear_velocity = Vector2(0, 0)
10:14/0/physics_layer_0/angular_velocity = 0.0
10:14/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
11:14/0 = 0
11:14/0/terrain_set = 0
11:14/0/terrain = 5
11:14/0/physics_layer_0/linear_velocity = Vector2(0, 0)
11:14/0/physics_layer_0/angular_velocity = 0.0
11:14/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
12:14/0 = 0
12:14/0/terrain_set = 0
12:14/0/terrain = 5
12:14/0/physics_layer_0/linear_velocity = Vector2(0, 0)
12:14/0/physics_layer_0/angular_velocity = 0.0
12:14/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
12:13/0 = 0
12:13/0/terrain_set = 0
12:13/0/terrain = 5
12:13/0/physics_layer_0/linear_velocity = Vector2(0, 0)
12:13/0/physics_layer_0/angular_velocity = 0.0
12:13/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
11:13/0 = 0
11:13/0/terrain_set = 0
11:13/0/terrain = 5
11:13/0/physics_layer_0/linear_velocity = Vector2(0, 0)
11:13/0/physics_layer_0/angular_velocity = 0.0
11:13/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
13:13/0 = 0
13:13/0/terrain_set = 0
13:13/0/terrain = 5
13:13/0/physics_layer_0/linear_velocity = Vector2(0, 0)
13:13/0/physics_layer_0/angular_velocity = 0.0
13:13/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
13:14/0 = 0
13:14/0/terrain_set = 0
13:14/0/terrain = 5
13:14/0/physics_layer_0/linear_velocity = Vector2(0, 0)
13:14/0/physics_layer_0/angular_velocity = 0.0
13:14/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
14:12/0 = 0
14:12/0/terrain_set = 0
14:12/0/terrain = 1
14:12/0/physics_layer_0/linear_velocity = Vector2(0, 0)
14:12/0/physics_layer_0/angular_velocity = 0.0
14:12/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
14:11/0 = 0
14:11/0/terrain_set = 0
14:11/0/terrain = 1
14:11/0/physics_layer_0/linear_velocity = Vector2(0, 0)
14:11/0/physics_layer_0/angular_velocity = 0.0
14:11/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
15:11/0 = 0
15:11/0/terrain_set = 0
15:11/0/terrain = 1
15:11/0/physics_layer_0/linear_velocity = Vector2(0, 0)
15:11/0/physics_layer_0/angular_velocity = 0.0
15:11/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
16:11/0 = 0
16:11/0/terrain_set = 0
16:11/0/terrain = 1
16:11/0/physics_layer_0/linear_velocity = Vector2(0, 0)
16:11/0/physics_layer_0/angular_velocity = 0.0
16:11/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
17:11/0 = 0
17:11/0/terrain_set = 0
17:11/0/terrain = 1
17:11/0/physics_layer_0/linear_velocity = Vector2(0, 0)
17:11/0/physics_layer_0/angular_velocity = 0.0
17:11/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
17:12/0 = 0
17:12/0/terrain_set = 0
17:12/0/terrain = 1
17:12/0/physics_layer_0/linear_velocity = Vector2(0, 0)
17:12/0/physics_layer_0/angular_velocity = 0.0
17:12/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
17:13/0 = 0
17:13/0/terrain_set = 0
17:13/0/terrain = 1
17:13/0/physics_layer_0/linear_velocity = Vector2(0, 0)
17:13/0/physics_layer_0/angular_velocity = 0.0
17:13/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
16:12/0 = 0
16:12/0/terrain_set = 0
16:12/0/terrain = 1
16:12/0/physics_layer_0/linear_velocity = Vector2(0, 0)
16:12/0/physics_layer_0/angular_velocity = 0.0
16:12/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
15:12/0 = 0
15:12/0/terrain_set = 0
15:12/0/terrain = 1
15:12/0/physics_layer_0/linear_velocity = Vector2(0, 0)
15:12/0/physics_layer_0/angular_velocity = 0.0
15:12/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
2:4/0 = 0
2:4/0/terrain_set = 0
2:4/0/terrain = 3
2:4/0/physics_layer_0/linear_velocity = Vector2(0, 0)
2:4/0/physics_layer_0/angular_velocity = 0.0
2:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
1:4/0 = 0
1:4/0/terrain_set = 0
1:4/0/terrain = 3
1:4/0/physics_layer_0/linear_velocity = Vector2(0, 0)
1:4/0/physics_layer_0/angular_velocity = 0.0
1:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
0:4/0 = 0
0:4/0/terrain_set = 0
0:4/0/terrain = 3
0:4/0/physics_layer_0/linear_velocity = Vector2(0, 0)
0:4/0/physics_layer_0/angular_velocity = 0.0
0:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
0:3/0 = 0
0:3/0/terrain_set = 0
0:3/0/terrain = 4
0:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
0:3/0/physics_layer_0/angular_velocity = 0.0
0:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
1:3/0 = 0
1:3/0/terrain_set = 0
1:3/0/terrain = 4
1:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
1:3/0/physics_layer_0/angular_velocity = 0.0
1:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
2:3/0 = 0
2:3/0/terrain_set = 0
2:3/0/terrain = 4
2:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
2:3/0/physics_layer_0/angular_velocity = 0.0
2:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
4:2/0 = 0
4:2/0/terrain_set = 0
4:2/0/terrain = 1
4:2/0/physics_layer_0/linear_velocity = Vector2(0, 0)
4:2/0/physics_layer_0/angular_velocity = 0.0
4:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
4:1/0 = 0
4:1/0/terrain_set = 0
4:1/0/terrain = 1
4:1/0/physics_layer_0/linear_velocity = Vector2(0, 0)
4:1/0/physics_layer_0/angular_velocity = 0.0
4:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
3:1/0 = 0
3:1/0/terrain_set = 0
3:1/0/terrain = 0
3:1/0/physics_layer_0/linear_velocity = Vector2(0, 0)
3:1/0/physics_layer_0/angular_velocity = 0.0
3:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
3:1/0/terrains_peering_bit/left_side = 0
2:1/0 = 0
2:1/0/terrain_set = 0
2:1/0/terrain = 0
2:1/0/physics_layer_0/linear_velocity = Vector2(0, 0)
2:1/0/physics_layer_0/angular_velocity = 0.0
2:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
2:1/0/terrains_peering_bit/right_side = 0
2:1/0/terrains_peering_bit/left_side = 0
1:1/next_alternative_id = 3
1:1/0 = 0
1:1/0/terrain_set = 0
1:1/0/terrain = 0
1:1/0/physics_layer_0/linear_velocity = Vector2(0, 0)
1:1/0/physics_layer_0/angular_velocity = 0.0
1:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
1:1/0/terrains_peering_bit/right_side = 0
1:1/0/terrains_peering_bit/left_side = 0
1:1/1 = 1
1:1/1/transpose = true
1:1/1/physics_layer_0/linear_velocity = Vector2(0, 0)
1:1/1/physics_layer_0/angular_velocity = 0.0
1:1/1/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
1:1/2 = 2
1:1/2/flip_h = true
1:1/2/transpose = true
1:1/2/physics_layer_0/linear_velocity = Vector2(0, 0)
1:1/2/physics_layer_0/angular_velocity = 0.0
1:1/2/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
0:1/0 = 0
0:1/0/terrain_set = 0
0:1/0/terrain = 0
0:1/0/physics_layer_0/linear_velocity = Vector2(0, 0)
0:1/0/physics_layer_0/angular_velocity = 0.0
0:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
0:1/0/terrains_peering_bit/right_side = 0
0:2/0 = 0
0:2/0/terrain_set = 0
0:2/0/terrain = 0
0:2/0/physics_layer_0/linear_velocity = Vector2(0, 0)
0:2/0/physics_layer_0/angular_velocity = 0.0
0:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
0:2/0/terrains_peering_bit/right_side = 0
0:2/0/terrains_peering_bit/top_side = 0
0:2/0/terrains_peering_bit/top_right_corner = 0
1:2/0 = 0
1:2/0/terrain_set = 0
1:2/0/terrain = 0
1:2/0/physics_layer_0/linear_velocity = Vector2(0, 0)
1:2/0/physics_layer_0/angular_velocity = 0.0
1:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
1:2/0/terrains_peering_bit/right_side = 0
1:2/0/terrains_peering_bit/left_side = 0
1:2/0/terrains_peering_bit/top_left_corner = 0
1:2/0/terrains_peering_bit/top_side = 0
1:2/0/terrains_peering_bit/top_right_corner = 0
2:2/0 = 0
2:2/0/terrain_set = 0
2:2/0/terrain = 0
2:2/0/physics_layer_0/linear_velocity = Vector2(0, 0)
2:2/0/physics_layer_0/angular_velocity = 0.0
2:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
2:2/0/terrains_peering_bit/right_side = 0
2:2/0/terrains_peering_bit/left_side = 0
2:2/0/terrains_peering_bit/top_left_corner = 0
2:2/0/terrains_peering_bit/top_side = 0
2:2/0/terrains_peering_bit/top_right_corner = 0
3:2/0 = 0
3:2/0/terrain_set = 0
3:2/0/terrain = 0
3:2/0/physics_layer_0/linear_velocity = Vector2(0, 0)
3:2/0/physics_layer_0/angular_velocity = 0.0
3:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
3:2/0/terrains_peering_bit/left_side = 0
3:2/0/terrains_peering_bit/top_left_corner = 0
3:2/0/terrains_peering_bit/top_side = 0
4:3/0 = 0
4:3/0/terrain_set = 0
4:3/0/terrain = 2
4:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
4:3/0/physics_layer_0/angular_velocity = 0.0
4:3/0/terrains_peering_bit/top_side = 1
5:2/next_alternative_id = 2
5:2/0 = 0
5:2/0/terrain_set = 0
5:2/0/terrain = 2
5:2/0/physics_layer_0/linear_velocity = Vector2(0, 0)
5:2/0/physics_layer_0/angular_velocity = 0.0
5:2/0/terrains_peering_bit/left_side = 1
5:2/1 = 1
5:2/1/physics_layer_0/linear_velocity = Vector2(0, 0)
5:2/1/physics_layer_0/angular_velocity = 0.0
5:1/0 = 0
5:1/0/terrain_set = 0
5:1/0/terrain = 2
5:1/0/physics_layer_0/linear_velocity = Vector2(0, 0)
5:1/0/physics_layer_0/angular_velocity = 0.0
5:1/0/terrains_peering_bit/left_side = 1
4:0/0 = 0
4:0/0/terrain_set = 0
4:0/0/terrain = 2
4:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
4:0/0/physics_layer_0/angular_velocity = 0.0
4:0/0/terrains_peering_bit/bottom_side = 1
3:0/0 = 0
3:0/0/terrain_set = 0
3:0/0/terrain = 2
3:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
3:0/0/physics_layer_0/angular_velocity = 0.0
3:0/0/terrains_peering_bit/bottom_side = 0
2:0/0 = 0
2:0/0/terrain_set = 0
2:0/0/terrain = 2
2:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
2:0/0/physics_layer_0/angular_velocity = 0.0
2:0/0/terrains_peering_bit/bottom_side = 0
1:0/0 = 0
1:0/0/terrain_set = 0
1:0/0/terrain = 2
1:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
1:0/0/physics_layer_0/angular_velocity = 0.0
1:0/0/terrains_peering_bit/bottom_side = 0
0:0/0 = 0
0:0/0/terrain_set = 0
0:0/0/terrain = 2
0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
0:0/0/physics_layer_0/angular_velocity = 0.0
0:0/0/terrains_peering_bit/bottom_side = 0
18:18/0 = 0
18:18/0/physics_layer_0/linear_velocity = Vector2(0, 0)
18:18/0/physics_layer_0/angular_velocity = 0.0
18:18/0/physics_layer_0/polygon_0/points = PackedVector2Array(0, -8, 0, 8, -8, 8, -8, -8)
18:17/0 = 0
18:17/0/physics_layer_0/linear_velocity = Vector2(0, 0)
18:17/0/physics_layer_0/angular_velocity = 0.0
18:17/0/physics_layer_0/polygon_0/points = PackedVector2Array(0, -8, 0, 8, -8, 8, -8, -8)
18:16/0 = 0
18:16/0/physics_layer_0/linear_velocity = Vector2(0, 0)
18:16/0/physics_layer_0/angular_velocity = 0.0
18:16/0/physics_layer_0/polygon_0/points = PackedVector2Array(0, -8, 0, 8, -8, 8, -8, -8)
19:16/next_alternative_id = 2
19:16/0 = 0
19:16/0/physics_layer_0/linear_velocity = Vector2(0, 0)
19:16/0/physics_layer_0/angular_velocity = 0.0
19:16/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
19:16/1 = 1
19:16/1/transpose = true
19:16/1/physics_layer_0/linear_velocity = Vector2(0, 0)
19:16/1/physics_layer_0/angular_velocity = 0.0
19:16/1/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
19:17/next_alternative_id = 2
19:17/0 = 0
19:17/0/physics_layer_0/linear_velocity = Vector2(0, 0)
19:17/0/physics_layer_0/angular_velocity = 0.0
19:17/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
19:17/1 = 1
19:17/1/transpose = true
19:17/1/physics_layer_0/linear_velocity = Vector2(0, 0)
19:17/1/physics_layer_0/angular_velocity = 0.0
19:17/1/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
19:18/next_alternative_id = 2
19:18/0 = 0
19:18/0/physics_layer_0/linear_velocity = Vector2(0, 0)
19:18/0/physics_layer_0/angular_velocity = 0.0
19:18/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
19:18/1 = 1
19:18/1/transpose = true
19:18/1/physics_layer_0/linear_velocity = Vector2(0, 0)
19:18/1/physics_layer_0/angular_velocity = 0.0
19:18/1/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8)
12:11/0 = 0
12:11/0/physics_layer_0/linear_velocity = Vector2(0, 0)
12:11/0/physics_layer_0/angular_velocity = 0.0
12:11/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 8, -4.5, 5.5, -2, 3, 3, -1, 6, -4.5, 8, -8, -8, -8)
12:12/0 = 0
12:12/0/physics_layer_0/linear_velocity = Vector2(0, 0)
12:12/0/physics_layer_0/angular_velocity = 0.0
12:12/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, 8, -8, 8)
13:12/0 = 0
13:12/0/physics_layer_0/linear_velocity = Vector2(0, 0)
13:12/0/physics_layer_0/angular_velocity = 0.0
13:12/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 8, 8, -8, 8, 8)
13:11/0 = 0
13:11/0/physics_layer_0/linear_velocity = Vector2(0, 0)
13:11/0/physics_layer_0/angular_velocity = 0.0
13:11/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, 8, 8, -8)
11:12/0 = 0
11:12/0/physics_layer_0/linear_velocity = Vector2(0, 0)
11:12/0/physics_layer_0/angular_velocity = 0.0
11:12/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 6, 8, -8, 8)
14:13/0 = 0
14:13/0/physics_layer_0/linear_velocity = Vector2(0, 0)
14:13/0/physics_layer_0/angular_velocity = 0.0
14:13/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 8, -2.5, 0.5, 3.5, -6, 8, -8, 8, 8)
7:15/0 = 0
7:15/0/physics_layer_0/linear_velocity = Vector2(0, 0)
7:15/0/physics_layer_0/angular_velocity = 0.0
9:14/0 = 0
9:14/0/physics_layer_0/linear_velocity = Vector2(0, 0)
9:14/0/physics_layer_0/angular_velocity = 0.0
9:13/0 = 0
9:13/0/physics_layer_0/linear_velocity = Vector2(0, 0)
9:13/0/physics_layer_0/angular_velocity = 0.0
1:15/0 = 0
1:15/0/physics_layer_0/linear_velocity = Vector2(0, 0)
1:15/0/physics_layer_0/angular_velocity = 0.0
1:15/0/physics_layer_0/polygon_0/points = PackedVector2Array(-3, -8, -3, 8, -8, 8, -8, -8)
1:14/0 = 0
1:14/0/physics_layer_0/linear_velocity = Vector2(0, 0)
1:14/0/physics_layer_0/angular_velocity = 0.0
1:14/0/physics_layer_0/polygon_0/points = PackedVector2Array(-3, -8, -3, 8, -8, 8, -8, -8)
1:13/0 = 0
1:13/0/physics_layer_0/linear_velocity = Vector2(0, 0)
1:13/0/physics_layer_0/angular_velocity = 0.0
1:13/0/physics_layer_0/polygon_0/points = PackedVector2Array(-3, -8, -3, 8, -8, 8, -8, -8)
[resource]
physics_layer_0/collision_layer = 3
terrain_set_0/mode = 0
terrain_set_0/terrain_0/name = "yah"
terrain_set_0/terrain_0/color = Color(0.5, 0.34375, 0.25, 1)
terrain_set_0/terrain_1/name = "rocks"
terrain_set_0/terrain_1/color = Color(0.5, 0.4375, 0.25, 1)
terrain_set_0/terrain_2/name = "nature"
terrain_set_0/terrain_2/color = Color(0.46875, 0.5, 0.25, 1)
terrain_set_0/terrain_3/name = "rocky path"
terrain_set_0/terrain_3/color = Color(0.375, 0.5, 0.25, 1)
terrain_set_0/terrain_4/name = "broken path"
terrain_set_0/terrain_4/color = Color(0.28125, 0.5, 0.25, 1)
terrain_set_0/terrain_5/name = "dirt"
terrain_set_0/terrain_5/color = Color(0.25, 0.5, 0.3125, 1)
sources/1 = SubResource("TileSetAtlasSource_37hlk")

BIN
Wicked Depths.exe Normal file

Binary file not shown.

BIN
Wicked Depths.pck Normal file

Binary file not shown.

BIN
beep.wav Normal file

Binary file not shown.

24
beep.wav.import Normal file
View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://bdpql7v8x0ajy"
path="res://.godot/imported/beep.wav-bc4655fdf7ad7a97d3e9727a4f4dc437.sample"
[deps]
source_file="res://beep.wav"
dest_files=["res://.godot/imported/beep.wav-bc4655fdf7ad7a97d3e9727a4f4dc437.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

23
bigspike.tscn Normal file
View File

@ -0,0 +1,23 @@
[gd_scene load_steps=3 format=3 uid="uid://odpq23pduo6y"]
[ext_resource type="Script" path="res://spikes.gd" id="1_lgxat"]
[ext_resource type="Texture2D" uid="uid://45fgpfmo6jpm" path="res://sheet1.png" id="2_6ke6f"]
[node name="bigspike" type="CharacterBody2D"]
script = ExtResource("1_lgxat")
[node name="Sprite2D" type="Sprite2D" parent="."]
position = Vector2(-8, -16)
texture = ExtResource("2_6ke6f")
centered = false
region_enabled = true
region_rect = Rect2(112, 240, 16, 16)
[node name="Area2D" type="Area2D" parent="."]
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Area2D"]
position = Vector2(0, -1)
scale = Vector2(0.762194, 0.845913)
polygon = PackedVector2Array(0, -16, 1, -16, 7.87202, -3.54646, 9.18402, 0, -8, 0, -7.87202, -1.18215, -1.312, -14.1859)
[connection signal="body_shape_entered" from="Area2D" to="." method="_on_area_2d_body_shape_entered"]

14
blur.gdshader Normal file
View File

@ -0,0 +1,14 @@
shader_type canvas_item;
uniform float blur_amount : hint_range(0, 5);
uniform sampler2D SCREEN_TEXTURE : hint_screen_texture, filter_linear_mipmap;
uniform vec4 color: source_color;
uniform float multiplier = 0.2;
uniform float softness = 3.0;
void fragment() {
float value = distance(UV, vec2(0.5)) * -1.0;
// COLOR = textureLod(SCREEN_TEXTURE, SCREEN_UV, blur_amount);
COLOR = textureLod(SCREEN_TEXTURE,SCREEN_UV, smoothstep(softness, multiplier,value));
}

18
box.tscn Normal file
View File

@ -0,0 +1,18 @@
[gd_scene load_steps=3 format=3 uid="uid://c71awxjnumu3l"]
[ext_resource type="Texture2D" uid="uid://45fgpfmo6jpm" path="res://sheet1.png" id="1_d8se8"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_8vkj6"]
size = Vector2(34, 34)
[node name="box" type="StaticBody2D"]
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = ExtResource("1_d8se8")
centered = false
region_enabled = true
region_rect = Rect2(63, 207, 34, 34)
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(17, 17)
shape = SubResource("RectangleShape2D_8vkj6")

22
checkpoint.gd Normal file
View File

@ -0,0 +1,22 @@
extends CharacterBody2D
@export var checked : bool = false
# Called when the node enters the scene tree for the first time.
func _ready():
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass
func _on_area_2d_body_shape_entered(body_rid, body, body_shape_index, local_shape_index):
if not checked:
if body.name == "plr":
checked = true
get_parent().current = self
$AudioStreamPlayer.play()
$AnimatedSprite2D.play("checked")
SaveHandler.set_setting("checkpoint",self.name)

54
checkpoint.tscn Normal file
View File

@ -0,0 +1,54 @@
[gd_scene load_steps=8 format=3 uid="uid://bfroah50qq5gb"]
[ext_resource type="Script" path="res://checkpoint.gd" id="1_dskwv"]
[ext_resource type="Texture2D" uid="uid://45fgpfmo6jpm" path="res://sheet1.png" id="2_v47p3"]
[ext_resource type="AudioStream" uid="uid://dl273eryfwl8x" path="res://checkpoint.wav" id="3_wd3wv"]
[sub_resource type="AtlasTexture" id="AtlasTexture_wjet7"]
atlas = ExtResource("2_v47p3")
region = Rect2(64, 295, 13, 25)
[sub_resource type="AtlasTexture" id="AtlasTexture_8werw"]
atlas = ExtResource("2_v47p3")
region = Rect2(39, 295, 13, 25)
[sub_resource type="SpriteFrames" id="SpriteFrames_2o0ox"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_wjet7")
}],
"loop": true,
"name": &"checked",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_8werw")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_6j55p"]
size = Vector2(13, 25)
[node name="Checkpoint" type="CharacterBody2D"]
script = ExtResource("1_dskwv")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
position = Vector2(-7, -15)
sprite_frames = SubResource("SpriteFrames_2o0ox")
centered = false
[node name="Area2D" type="Area2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
position = Vector2(-0.5, -2.5)
shape = SubResource("RectangleShape2D_6j55p")
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
stream = ExtResource("3_wd3wv")
[connection signal="body_shape_entered" from="Area2D" to="." method="_on_area_2d_body_shape_entered"]

BIN
checkpoint.wav Normal file

Binary file not shown.

24
checkpoint.wav.import Normal file
View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://dl273eryfwl8x"
path="res://.godot/imported/checkpoint.wav-5ba2b0466c3cca33e652822091dc2dab.sample"
[deps]
source_file="res://checkpoint.wav"
dest_files=["res://.godot/imported/checkpoint.wav-5ba2b0466c3cca33e652822091dc2dab.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
chess_basic.ttf Normal file

Binary file not shown.

38
chess_basic.ttf.import Normal file
View File

@ -0,0 +1,38 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://d3o43pvd1ouya"
path="res://.godot/imported/chess_basic.ttf-6cfbfe5119f83c80da96c9edebaf9216.fontdata"
[deps]
source_file="res://chess_basic.ttf"
dest_files=["res://.godot/imported/chess_basic.ttf-6cfbfe5119f83c80da96c9edebaf9216.fontdata"]
[params]
Rendering=null
antialiasing=0
generate_mipmaps=false
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
hinting=1
subpixel_positioning=1
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[{
"chars": [],
"glyphs": [],
"name": "New Configuration",
"size": Vector2i(16, 0)
}]
language_support={}
script_support={}
opentype_features={}

36
cloud.gd Normal file
View File

@ -0,0 +1,36 @@
extends CharacterBody2D
@export var enabled = false
@export var fail = false
func _physics_process(delta):
if not enabled:
self.visible = false
return
self.visible = true
var plr = get_parent().get_node("plr")
if plr.is_on_floor() or fail:
fail = false
position = plr.position + Vector2(0,60)
else:
position.x = plr.position.x
func _on_area_2d_body_shape_entered(body_rid, body, body_shape_index, local_shape_index):
if not enabled:
return
if body.name == "plr":
body.can_move = false
body.on_ladder = false
body.wall = "none"
body.airjump = false
var tweener = get_tree().create_tween()
$AudioStreamPlayer.play()
tweener.tween_property(body,"position",get_parent().get_node("CheckPoints").current.position,1)
await tweener.finished
body.can_move = true

29
cloud.tscn Normal file
View File

@ -0,0 +1,29 @@
[gd_scene load_steps=5 format=3 uid="uid://n72os6i7xjq0"]
[ext_resource type="Script" path="res://cloud.gd" id="1_nppen"]
[ext_resource type="Texture2D" uid="uid://45fgpfmo6jpm" path="res://sheet1.png" id="2_ykyww"]
[ext_resource type="AudioStream" uid="uid://ba0nag2pymsps" path="res://move.wav" id="3_aab8e"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_2c8e7"]
size = Vector2(32, 7)
[node name="cloud" type="CharacterBody2D"]
script = ExtResource("1_nppen")
[node name="Sprite2D" type="Sprite2D" parent="."]
position = Vector2(-16, 0)
texture = ExtResource("2_ykyww")
centered = false
region_enabled = true
region_rect = Rect2(80, 298, 32, 6)
[node name="Area2D" type="Area2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
position = Vector2(0, 2.5)
shape = SubResource("RectangleShape2D_2c8e7")
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
stream = ExtResource("3_aab8e")
[connection signal="body_shape_entered" from="Area2D" to="." method="_on_area_2d_body_shape_entered"]

BIN
credits.ogg Normal file

Binary file not shown.

19
credits.ogg.import Normal file
View File

@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://dpvannddny8of"
path="res://.godot/imported/credits.ogg-8c9cd2d1824a8a2e3c80e059a8e9e336.oggvorbisstr"
[deps]
source_file="res://credits.ogg"
dest_files=["res://.godot/imported/credits.ogg-8c9cd2d1824a8a2e3c80e059a8e9e336.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

449
end.tscn Normal file

File diff suppressed because one or more lines are too long

18
endcam.gd Normal file
View File

@ -0,0 +1,18 @@
extends Camera2D
var end = 600
var read = false
# Called when the node enters the scene tree for the first time.
func _ready():
var tweener = get_tree().create_tween()
tweener.tween_property(self,"position",Vector2(0,end),40)
await tweener.finished
get_parent().get_node("RichTextLabel").text += "\n \n press [enter] to return to the main menu"
read = true
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass
if read and Input.is_action_just_pressed("interact"):
get_tree().change_scene_to_file("res://menu.tscn")

16
entering.gd Normal file
View File

@ -0,0 +1,16 @@
extends Area2D
# Called when the node enters the scene tree for the first time.
func _ready():
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass
func _on_body_shape_entered(body_rid, body, body_shape_index, local_shape_index):
if body.name == "plr":
get_parent().get_node("cloud").enabled = true

29
explorer.gd Normal file
View File

@ -0,0 +1,29 @@
extends CollisionShape2D
# Called when the node enters the scene tree for the first time.
func _ready():
pass # Replace with function body.
var cool = false
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
if Input.is_action_just_pressed("interact"):
if get_parent().get_parent().get_parent().get_node("plr") in get_parent().get_overlapping_bodies() and not cool:
cool = true
var body = get_parent().get_parent().get_parent().get_node("plr")
body.can_move = false
var dial = body.get_node("Camera2D/dialogue")
dial.visible = true
dial.dialogue("Hi, what are you doing here?","normal",0.5)
await get_parent().get_parent().get_parent().proceed
dial.dialogue("I'm just placing down flags and exploring, but I'm a bit scared to proceed.","explorer",0.5)
await get_parent().get_parent().get_parent().proceed
dial.dialogue("Why?","normal",0.5)
await get_parent().get_parent().get_parent().proceed
dial.dialogue("There are too many spikes ahead.","explorer",0.5)
await get_parent().get_parent().get_parent().proceed
dial.visible = false
body.can_move = true
await get_tree().create_timer(1).timeout
cool = false

BIN
explorer.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 B

34
explorer.png.import Normal file
View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://btw7cy3q5fxng"
path="res://.godot/imported/explorer.png-08f0f192286bcc95860276c74b2c58d7.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://explorer.png"
dest_files=["res://.godot/imported/explorer.png-08f0f192286bcc95860276c74b2c58d7.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

202
export_presets.cfg Normal file
View File

@ -0,0 +1,202 @@
[preset.0]
name="Windows Desktop"
platform="Windows Desktop"
runnable=true
dedicated_server=false
custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="../../desktop/Wicked Depths Win.zip"
encryption_include_filters=""
encryption_exclude_filters=""
encrypt_pck=false
encrypt_directory=false
[preset.0.options]
custom_template/debug=""
custom_template/release=""
debug/export_console_wrapper=0
binary_format/embed_pck=false
texture_format/bptc=true
texture_format/s3tc=true
texture_format/etc=false
texture_format/etc2=false
binary_format/architecture="x86_64"
codesign/enable=false
codesign/timestamp=true
codesign/timestamp_server_url=""
codesign/digest_algorithm=1
codesign/description=""
codesign/custom_options=PackedStringArray()
application/modify_resources=true
application/icon=""
application/console_wrapper_icon=""
application/icon_interpolation=4
application/file_version=""
application/product_version=""
application/company_name=""
application/product_name=""
application/file_description=""
application/copyright=""
application/trademarks=""
ssh_remote_deploy/enabled=false
ssh_remote_deploy/host="user@host_ip"
ssh_remote_deploy/port="22"
ssh_remote_deploy/extra_args_ssh=""
ssh_remote_deploy/extra_args_scp=""
ssh_remote_deploy/run_script="Expand-Archive -LiteralPath '{temp_dir}\\{archive_name}' -DestinationPath '{temp_dir}'
$action = New-ScheduledTaskAction -Execute '{temp_dir}\\{exe_name}' -Argument '{cmd_args}'
$trigger = New-ScheduledTaskTrigger -Once -At 00:00
$settings = New-ScheduledTaskSettingsSet
$task = New-ScheduledTask -Action $action -Trigger $trigger -Settings $settings
Register-ScheduledTask godot_remote_debug -InputObject $task -Force:$true
Start-ScheduledTask -TaskName godot_remote_debug
while (Get-ScheduledTask -TaskName godot_remote_debug | ? State -eq running) { Start-Sleep -Milliseconds 100 }
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue"
ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue
Remove-Item -Recurse -Force '{temp_dir}'"
[preset.1]
name="macOS"
platform="macOS"
runnable=true
dedicated_server=false
custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="../../desktop/Wicked Depths MacOS.zip"
encryption_include_filters=""
encryption_exclude_filters=""
encrypt_pck=false
encrypt_directory=false
[preset.1.options]
export/distribution_type=1
binary_format/architecture="universal"
custom_template/debug=""
custom_template/release=""
debug/export_console_wrapper=1
application/icon=""
application/icon_interpolation=4
application/bundle_identifier="com.imk.wickeddepths"
application/signature=""
application/app_category="Games"
application/short_version="1.0"
application/version="1.0"
application/copyright=""
application/copyright_localized={}
application/min_macos_version="10.12"
display/high_res=true
xcode/platform_build="14C18"
xcode/sdk_version="13.1"
xcode/sdk_build="22C55"
xcode/sdk_name="macosx13.1"
xcode/xcode_version="1420"
xcode/xcode_build="14C18"
codesign/codesign=1
codesign/installer_identity=""
codesign/apple_team_id=""
codesign/identity=""
codesign/entitlements/custom_file=""
codesign/entitlements/allow_jit_code_execution=false
codesign/entitlements/allow_unsigned_executable_memory=false
codesign/entitlements/allow_dyld_environment_variables=false
codesign/entitlements/disable_library_validation=false
codesign/entitlements/audio_input=false
codesign/entitlements/camera=false
codesign/entitlements/location=false
codesign/entitlements/address_book=false
codesign/entitlements/calendars=false
codesign/entitlements/photos_library=false
codesign/entitlements/apple_events=false
codesign/entitlements/debugging=false
codesign/entitlements/app_sandbox/enabled=false
codesign/entitlements/app_sandbox/network_server=false
codesign/entitlements/app_sandbox/network_client=false
codesign/entitlements/app_sandbox/device_usb=false
codesign/entitlements/app_sandbox/device_bluetooth=false
codesign/entitlements/app_sandbox/files_downloads=0
codesign/entitlements/app_sandbox/files_pictures=0
codesign/entitlements/app_sandbox/files_music=0
codesign/entitlements/app_sandbox/files_movies=0
codesign/entitlements/app_sandbox/helper_executables=[]
codesign/custom_options=PackedStringArray()
notarization/notarization=0
privacy/microphone_usage_description=""
privacy/microphone_usage_description_localized={}
privacy/camera_usage_description=""
privacy/camera_usage_description_localized={}
privacy/location_usage_description=""
privacy/location_usage_description_localized={}
privacy/address_book_usage_description=""
privacy/address_book_usage_description_localized={}
privacy/calendar_usage_description=""
privacy/calendar_usage_description_localized={}
privacy/photos_library_usage_description=""
privacy/photos_library_usage_description_localized={}
privacy/desktop_folder_usage_description=""
privacy/desktop_folder_usage_description_localized={}
privacy/documents_folder_usage_description=""
privacy/documents_folder_usage_description_localized={}
privacy/downloads_folder_usage_description=""
privacy/downloads_folder_usage_description_localized={}
privacy/network_volumes_usage_description=""
privacy/network_volumes_usage_description_localized={}
privacy/removable_volumes_usage_description=""
privacy/removable_volumes_usage_description_localized={}
ssh_remote_deploy/enabled=false
ssh_remote_deploy/host="user@host_ip"
ssh_remote_deploy/port="22"
ssh_remote_deploy/extra_args_ssh=""
ssh_remote_deploy/extra_args_scp=""
ssh_remote_deploy/run_script="#!/usr/bin/env bash
unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
open \"{temp_dir}/{exe_name}.app\" --args {cmd_args}"
ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
kill $(pgrep -x -f \"{temp_dir}/{exe_name}.app/Contents/MacOS/{exe_name} {cmd_args}\")
rm -rf \"{temp_dir}\""
[preset.2]
name="Web"
platform="Web"
runnable=true
dedicated_server=false
custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="../../desktop/pls work/index.html"
encryption_include_filters=""
encryption_exclude_filters=""
encrypt_pck=false
encrypt_directory=false
[preset.2.options]
custom_template/debug=""
custom_template/release=""
variant/extensions_support=false
vram_texture_compression/for_desktop=true
vram_texture_compression/for_mobile=false
html/export_icon=true
html/custom_html_shell=""
html/head_include=""
html/canvas_resize_policy=2
html/focus_canvas_on_start=true
html/experimental_virtual_keyboard=false
progressive_web_app/enabled=false
progressive_web_app/offline_page=""
progressive_web_app/display=1
progressive_web_app/orientation=0
progressive_web_app/icon_144x144=""
progressive_web_app/icon_180x180=""
progressive_web_app/icon_512x512=""
progressive_web_app/background_color=Color(0, 0, 0, 1)

22
falling platform.gd Normal file
View File

@ -0,0 +1,22 @@
extends CharacterBody2D
var gravity = ProjectSettings.get_setting("physics/2d/default_gravity")
func _on_area_2d_body_shape_entered(body_rid, body, body_shape_index, local_shape_index):
if body.name == "plr" and $Sprite2D.visible and body.can_move:
$AnimationPlayer.play("shake")
await $AnimationPlayer.animation_finished
$Sprite2D.visible = false
$CollisionShape2D.disabled = true
$CPUParticles2D.emitting = true
$cooldown.start()
func _on_cooldown_timeout():
$Sprite2D.visible = true
$CollisionShape2D.disabled = false

9
falling platform.tres Normal file
View File

@ -0,0 +1,9 @@
[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://bj2fec1jrrmp2"]
[ext_resource type="Shader" path="res://shadow the hedgehog.gdshader" id="1_dpopf"]
[resource]
shader = ExtResource("1_dpopf")
shader_parameter/background_color = null
shader_parameter/shadow_color = null
shader_parameter/offset_in_pixels = Vector2(10, 10)

88
falling platform.tscn Normal file
View File

@ -0,0 +1,88 @@
[gd_scene load_steps=9 format=3 uid="uid://bhsonnkuhv084"]
[ext_resource type="Texture2D" uid="uid://45fgpfmo6jpm" path="res://sheet1.png" id="1_5g584"]
[ext_resource type="Script" path="res://falling platform.gd" id="1_v2xtr"]
[ext_resource type="Shader" path="res://shadow the hedgehog.gdshader" id="1_vheun"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_b4b3u"]
shader = ExtResource("1_vheun")
shader_parameter/radius = 5.0
shader_parameter/modulate = null
[sub_resource type="RectangleShape2D" id="RectangleShape2D_vtajb"]
size = Vector2(32, 5)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_jolii"]
size = Vector2(32, 3)
[sub_resource type="Animation" id="Animation_uia04"]
resource_name = "shake"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.1, 0.1001, 0.2, 0.3, 0.4, 0.4001, 0.5, 0.6, 0.7, 0.7001, 0.8, 0.9),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 0,
"values": [Vector2(-16, -2), Vector2(-16, -2), Vector2(-16, -1), Vector2(-16, -3), Vector2(-16, -1), Vector2(-16, -2), Vector2(-16, -1), Vector2(-16, -3), Vector2(-16, -1), Vector2(-16, -2), Vector2(-16, -1), Vector2(-16, -3), Vector2(-16, -1)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_texqf"]
_data = {
"shake": SubResource("Animation_uia04")
}
[node name="CharacterBody2D" type="CharacterBody2D"]
material = SubResource("ShaderMaterial_b4b3u")
script = ExtResource("1_v2xtr")
[node name="Sprite2D" type="Sprite2D" parent="."]
position = Vector2(-16, -2)
texture = ExtResource("1_5g584")
centered = false
region_enabled = true
region_rect = Rect2(16, 283, 32, 5)
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(0, 0.5)
shape = SubResource("RectangleShape2D_vtajb")
[node name="Area2D" type="Area2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
position = Vector2(0, -3.5)
shape = SubResource("RectangleShape2D_jolii")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
"": SubResource("AnimationLibrary_texqf")
}
[node name="CPUParticles2D" type="CPUParticles2D" parent="."]
emitting = false
amount = 5
one_shot = true
direction = Vector2(0, 0)
spread = 180.0
gravity = Vector2(0, 160)
initial_velocity_min = 54.54
initial_velocity_max = 103.03
angular_velocity_min = -283.63
angular_velocity_max = -142.7
damping_min = 100.0
damping_max = 100.0
angle_min = -720.0
angle_max = 720.0
scale_amount_min = 0.0
scale_amount_max = 2.0
color = Color(0.54902, 0.309804, 0.262745, 1)
[node name="cooldown" type="Timer" parent="."]
wait_time = 3.0
one_shot = true
[connection signal="body_shape_entered" from="Area2D" to="." method="_on_area_2d_body_shape_entered"]
[connection signal="timeout" from="cooldown" to="." method="_on_cooldown_timeout"]

6
flip.gd Normal file
View File

@ -0,0 +1,6 @@
@tool
extends CharacterBody2D
@export var invert : bool = false
func _process(delta):
$Sprite2D.flip_h = invert

BIN
game.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

43
holecutscene.gd Normal file
View File

@ -0,0 +1,43 @@
extends CollisionShape2D
# Called when the node enters the scene tree for the first time.
func _ready():
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass
var done = false
func _on_area_2d_body_shape_entered(body_rid, body, body_shape_index, local_shape_index):
if done:
return
if body.name == "plr":
body.can_move = false
body.get_node("AnimatedSprite2D").play("idle")
var tweener = get_tree().create_tween()
tweener.tween_property(get_parent().get_parent().get_node("AudioStreamPlayer"),"volume_db",-100,2)
await tweener.finished
get_parent().get_parent().get_node("AudioStreamPlayer").stop()
get_parent().get_parent().get_node("the_hole").play()
var campos = body.get_node("Camera2D").global_position
var campos2 = get_parent().get_parent().get_node("CamPos").position
tweener = get_tree().create_tween()
tweener.tween_property(body.get_node("Camera2D"),"global_position",campos2,15)
await tweener.finished
tweener = get_tree().create_tween()
tweener.tween_property(body.get_node("Camera2D"),"global_position",campos,5)
await tweener.finished
var dial = body.get_node("Camera2D/dialogue")
dial.visible = true
dial.dialogue("Oh my.","upsidedown",0.5)
await get_parent().get_parent().proceed
dial.dialogue("I cannot believe my eyes.","normal",0.5)
await get_parent().get_parent().proceed
dial.dialogue("Well... Let's get down to business.","normal",0.5)
await get_parent().get_parent().proceed
dial.visible = false
body.can_move = true
done = true

BIN
hurt.wav Normal file

Binary file not shown.

24
hurt.wav.import Normal file
View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://jcvrmvfs3xyh"
path="res://.godot/imported/hurt.wav-2cb5c2fa6a1da6cff830b5c940b3b10a.sample"
[deps]
source_file="res://hurt.wav"
dest_files=["res://.godot/imported/hurt.wav-2cb5c2fa6a1da6cff830b5c940b3b10a.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

1
icon.svg Normal file
View File

@ -0,0 +1 @@
<svg height="128" width="128" xmlns="http://www.w3.org/2000/svg"><rect x="2" y="2" width="124" height="124" rx="14" fill="#363d52" stroke="#212532" stroke-width="4"/><g transform="scale(.101) translate(122 122)"><g fill="#fff"><path d="M105 673v33q407 354 814 0v-33z"/><path fill="#478cbf" d="m105 673 152 14q12 1 15 14l4 67 132 10 8-61q2-11 15-15h162q13 4 15 15l8 61 132-10 4-67q3-13 15-14l152-14V427q30-39 56-81-35-59-83-108-43 20-82 47-40-37-88-64 7-51 8-102-59-28-123-42-26 43-46 89-49-7-98 0-20-46-46-89-64 14-123 42 1 51 8 102-48 27-88 64-39-27-82-47-48 49-83 108 26 42 56 81zm0 33v39c0 276 813 276 813 0v-39l-134 12-5 69q-2 10-14 13l-162 11q-12 0-16-11l-10-65H447l-10 65q-4 11-16 11l-162-11q-12-3-14-13l-5-69z"/><path d="M483 600c3 34 55 34 58 0v-86c-3-34-55-34-58 0z"/><circle cx="725" cy="526" r="90"/><circle cx="299" cy="526" r="90"/></g><g fill="#414042"><circle cx="307" cy="532" r="60"/><circle cx="717" cy="532" r="60"/></g></g></svg>

After

Width:  |  Height:  |  Size: 950 B

37
icon.svg.import Normal file
View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c73xjysqnxhnl"
path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://icon.svg"
dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

24
ladder.gd Normal file
View File

@ -0,0 +1,24 @@
extends CharacterBody2D
func _process(delta):
var player = false
var the_player = get_parent().get_node("plr")
var overlap = $ladder.get_overlapping_bodies()
for i in overlap:
if i.name == "plr":
player = true
the_player = i
if player:
if Input.is_action_just_pressed("interact") or Input.is_action_just_pressed("ui_up") or Input.is_action_just_pressed("ui_down"):
the_player.ladder = self
the_player.on_ladder = true
elif the_player.ladder == self:
the_player.on_ladder = false

19
ladder.tscn Normal file
View File

@ -0,0 +1,19 @@
[gd_scene load_steps=3 format=3 uid="uid://dhnuuq6nyb06p"]
[ext_resource type="Texture2D" uid="uid://45fgpfmo6jpm" path="res://sheet1.png" id="1_1hbxe"]
[ext_resource type="Script" path="res://ladder.gd" id="1_1t8bt"]
[node name="ladder" type="CharacterBody2D"]
script = ExtResource("1_1t8bt")
[node name="Sprite2D" type="Sprite2D" parent="."]
position = Vector2(-6, -23)
texture = ExtResource("1_1hbxe")
centered = false
region_enabled = true
region_rect = Rect2(240, 258, 12, 46)
[node name="ladder" type="Area2D" parent="."]
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="ladder"]
polygon = PackedVector2Array(-6, -22, -6, -15, -6, 22, 6, 22, 6, -22)

28
lamp.tscn Normal file
View File

@ -0,0 +1,28 @@
[gd_scene load_steps=5 format=3 uid="uid://b87fj1agx6p6l"]
[ext_resource type="Script" path="res://flip.gd" id="1_33rdy"]
[ext_resource type="Texture2D" uid="uid://45fgpfmo6jpm" path="res://sheet1.png" id="1_t5acf"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_ddu6t"]
noise_type = 3
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_elwfk"]
width = 10
height = 1
noise = SubResource("FastNoiseLite_ddu6t")
[node name="lamp" type="CharacterBody2D"]
script = ExtResource("1_33rdy")
[node name="Sprite2D" type="Sprite2D" parent="."]
position = Vector2(-8, -24)
texture = ExtResource("1_t5acf")
centered = false
region_enabled = true
region_rect = Rect2(102, 12, 18, 35)
[node name="PointLight2D" type="PointLight2D" parent="."]
position = Vector2(1, -19)
range_z_min = -1
range_z_max = 1
texture = SubResource("NoiseTexture2D_elwfk")

BIN
logo.aseprite Normal file

Binary file not shown.

BIN
logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

34
logo.png.import Normal file
View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bnu54l0yr376b"
path="res://.godot/imported/logo.png-cca8726399059c8d4f806e28e356b14d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://logo.png"
dest_files=["res://.godot/imported/logo.png-cca8726399059c8d4f806e28e356b14d.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

123
main.tscn Normal file
View File

@ -0,0 +1,123 @@
[gd_scene load_steps=6 format=3 uid="uid://du6nvw5y77il3"]
[ext_resource type="PackedScene" uid="uid://bdncoo2t66e58" path="res://plr.tscn" id="1_j7a0h"]
[ext_resource type="PackedScene" uid="uid://n72os6i7xjq0" path="res://cloud.tscn" id="1_kfkva"]
[ext_resource type="PackedScene" uid="uid://bhsonnkuhv084" path="res://falling platform.tscn" id="3_amck2"]
[ext_resource type="PackedScene" uid="uid://b2eqjtv8oxnjx" path="res://moving_platform.tscn" id="4_dg4mb"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_xo6cy"]
size = Vector2(1168, 235)
[node name="Node2D" type="Node2D"]
[node name="Node2D" type="Node2D" parent="."]
scale = Vector2(0.463094, 0.333576)
[node name="StaticBody2D" type="StaticBody2D" parent="Node2D"]
collision_layer = 3
[node name="ColorRect" type="ColorRect" parent="Node2D/StaticBody2D"]
offset_left = -15.0
offset_top = 474.0
offset_right = 1153.0
offset_bottom = 709.0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Node2D/StaticBody2D"]
position = Vector2(569, 591)
shape = SubResource("RectangleShape2D_xo6cy")
[node name="StaticBody2D2" type="StaticBody2D" parent="Node2D"]
position = Vector2(46, -639)
scale = Vector2(0.0447952, 1.66806)
collision_layer = 3
[node name="ColorRect" type="ColorRect" parent="Node2D/StaticBody2D2"]
offset_left = -15.0
offset_top = 474.0
offset_right = 1153.0
offset_bottom = 709.0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Node2D/StaticBody2D2"]
position = Vector2(569, 591)
shape = SubResource("RectangleShape2D_xo6cy")
[node name="StaticBody2D3" type="StaticBody2D" parent="Node2D"]
position = Vector2(240, -646)
scale = Vector2(0.0447952, 1.66806)
collision_layer = 3
[node name="ColorRect" type="ColorRect" parent="Node2D/StaticBody2D3"]
offset_left = -15.0
offset_top = 474.0
offset_right = 1153.0
offset_bottom = 709.0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Node2D/StaticBody2D3"]
position = Vector2(569, 591)
shape = SubResource("RectangleShape2D_xo6cy")
[node name="StaticBody2D4" type="StaticBody2D" parent="Node2D"]
position = Vector2(437, 7)
scale = Vector2(0.148027, 0.37178)
collision_layer = 3
[node name="ColorRect" type="ColorRect" parent="Node2D/StaticBody2D4"]
offset_left = -15.0
offset_top = 474.0
offset_right = 1153.0
offset_bottom = 709.0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Node2D/StaticBody2D4"]
position = Vector2(569, 591)
shape = SubResource("RectangleShape2D_xo6cy")
[node name="StaticBody2D5" type="StaticBody2D" parent="Node2D"]
position = Vector2(758, 133)
scale = Vector2(0.148027, 0.37178)
collision_layer = 3
[node name="ColorRect" type="ColorRect" parent="Node2D/StaticBody2D5"]
offset_left = -15.0
offset_top = 474.0
offset_right = 1153.0
offset_bottom = 709.0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Node2D/StaticBody2D5"]
position = Vector2(569, 591)
shape = SubResource("RectangleShape2D_xo6cy")
[node name="StaticBody2D6" type="StaticBody2D" parent="Node2D"]
position = Vector2(889, -37)
scale = Vector2(0.148027, 0.37178)
collision_layer = 3
[node name="ColorRect" type="ColorRect" parent="Node2D/StaticBody2D6"]
offset_left = -15.0
offset_top = 474.0
offset_right = 1153.0
offset_bottom = 709.0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Node2D/StaticBody2D6"]
position = Vector2(569, 591)
shape = SubResource("RectangleShape2D_xo6cy")
[node name="cloud" parent="." instance=ExtResource("1_kfkva")]
visible = false
enabled = true
[node name="plr" parent="." instance=ExtResource("1_j7a0h")]
position = Vector2(82, 126)
[node name="CharacterBody2D" parent="." instance=ExtResource("3_amck2")]
position = Vector2(171, 83)
[node name="MovingPlatform" parent="." instance=ExtResource("4_dg4mb")]
position = Vector2(169, 33)
pos1 = Vector2(83, 30)
pos2 = Vector2(229, 31)
[node name="Marker2D" type="Marker2D" parent="."]
position = Vector2(83, 30)
[node name="Marker2D2" type="Marker2D" parent="."]
position = Vector2(229, 31)

BIN
menu.ogg Normal file

Binary file not shown.

19
menu.ogg.import Normal file
View File

@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://c8dkwi4a2midq"
path="res://.godot/imported/menu.ogg-5ef9a33c7c85f60bb9731999734a1568.oggvorbisstr"
[deps]
source_file="res://menu.ogg"
dest_files=["res://.godot/imported/menu.ogg-5ef9a33c7c85f60bb9731999734a1568.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

420
menu.tscn Normal file

File diff suppressed because one or more lines are too long

BIN
move.wav Normal file

Binary file not shown.

24
move.wav.import Normal file
View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://ba0nag2pymsps"
path="res://.godot/imported/move.wav-f85ee16066a061629a52fc644a858326.sample"
[deps]
source_file="res://move.wav"
dest_files=["res://.godot/imported/move.wav-f85ee16066a061629a52fc644a858326.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

42
moving_platform.tscn Normal file
View File

@ -0,0 +1,42 @@
[gd_scene load_steps=4 format=3 uid="uid://b2eqjtv8oxnjx"]
[ext_resource type="Script" path="res://MovingPlatform.gd" id="1_5ypkw"]
[ext_resource type="Texture2D" uid="uid://45fgpfmo6jpm" path="res://sheet1.png" id="2_xvef3"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_l8va0"]
size = Vector2(32, 5)
[node name="MovingPlatform" type="Node2D"]
script = ExtResource("1_5ypkw")
pos2 = Vector2(0, 0)
[node name="start" type="Marker2D" parent="."]
[node name="Sprite2D" type="Sprite2D" parent="start"]
position = Vector2(-16, 0)
texture = ExtResource("2_xvef3")
centered = false
region_enabled = true
region_rect = Rect2(400, 299, 32, 5)
[node name="end" type="Marker2D" parent="."]
[node name="Sprite2D" type="Sprite2D" parent="end"]
position = Vector2(-16, 0)
texture = ExtResource("2_xvef3")
centered = false
region_enabled = true
region_rect = Rect2(400, 299, 32, 5)
[node name="Platform" type="CharacterBody2D" parent="."]
[node name="Sprite2D" type="Sprite2D" parent="Platform"]
position = Vector2(-16, 0)
texture = ExtResource("2_xvef3")
centered = false
region_enabled = true
region_rect = Rect2(352, 299, 32, 5)
[node name="CollisionShape2D" type="CollisionShape2D" parent="Platform"]
position = Vector2(0, 2.5)
shape = SubResource("RectangleShape2D_l8va0")

531
nod3D0F.tmp Normal file

File diff suppressed because one or more lines are too long

531
nod673E.tmp Normal file

File diff suppressed because one or more lines are too long

55
node_2d.gd Normal file
View File

@ -0,0 +1,55 @@
extends Node2D
var dialogue
signal proceed
# Called when the node enters the scene tree for the first time.
func _ready():
$plr.can_move = false
$plr/AnimatedSprite2D.visible = false
if SaveHandler.settings["LoadSave"]:
$CheckPoints.current = get_node(str("CheckPoints/")+SaveHandler.settings["checkpoint"])
if not typeof($CheckPoints.current) == TYPE_NIL:
$plr.position = $CheckPoints.current.position
$cloud.enabled = true
$plr.can_move = true
$plr/AnimatedSprite2D.visible = true
var tweener2 = get_tree().create_tween()
tweener2.set_trans(Tween.TRANS_SINE)
tweener2.tween_property($plr/CanvasLayer/fadeout,"size",Vector2(1152,0),3)
$the_hole.play()
await tweener2.finished
return
var tweener2 = get_tree().create_tween()
tweener2.set_trans(Tween.TRANS_SINE)
tweener2.tween_property($plr/CanvasLayer/fadeout,"size",Vector2(1152,0),3)
$AudioStreamPlayer.play()
await tweener2.finished
dialogue = $plr/Camera2D/dialogue
#dialogue.dialogue("haiiii :3","",0.5)
await get_tree().create_timer(0.2).timeout
var tweener = get_tree().create_tween()
$fakeplr.play("move")
tweener.tween_property($fakeplr,"position",$plr/AnimatedSprite2D.global_position,5)
await tweener.finished
$plr/AnimatedSprite2D.visible = true
$plr/AnimatedSprite2D.play("idle")
$fakeplr.visible = false
$plr/Camera2D/dialogue.dialogue("The hole should be near me.","nervous",0.5)
$plr/Camera2D/dialogue.visible = true
await proceed
$plr/Camera2D/dialogue.dialogue("I hope what I read wasn't fake news.","upsidedown",0.5)
await proceed
$plr/Camera2D/dialogue.dialogue("I haven't got the chance to climb in a hole for a long time.","nervous",0.5)
await proceed
$plr/Camera2D/dialogue.visible = false
$plr.can_move = true
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
if Input.is_action_just_pressed("interact") or Input.is_action_just_pressed("dialogue interact"):
print("hi")
proceed.emit()

1559
node_2d.tscn Normal file

File diff suppressed because one or more lines are too long

19
platform.tscn Normal file
View File

@ -0,0 +1,19 @@
[gd_scene load_steps=3 format=3 uid="uid://b8rvllt13xio"]
[ext_resource type="Texture2D" uid="uid://45fgpfmo6jpm" path="res://sheet1.png" id="1_adm44"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_n7m64"]
size = Vector2(32, 5)
[node name="Platform" type="CharacterBody2D"]
[node name="Sprite2D" type="Sprite2D" parent="."]
position = Vector2(-16, -2)
texture = ExtResource("1_adm44")
centered = false
region_enabled = true
region_rect = Rect2(64, 267, 32, 5)
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(0, 0.5)
shape = SubResource("RectangleShape2D_n7m64")

201
plr.gd Normal file
View File

@ -0,0 +1,201 @@
extends CharacterBody2D
const JUMP_VELOCITY = -260
# Get the gravity from the project settings to be synced with RigidBody nodes.
var gravity = ProjectSettings.get_setting("physics/2d/default_gravity")
var dir = "none"
var airjump = false
var ignore = Vector2(0,0)
var wall = "none"
var can_jump = true
var first_air = false
var tweener = ""
var defspeed = 100
var sprintspeed = 150
var SPEED = defspeed
var can_move = true
@export var on_ladder = false
@export var ladder : CharacterBody2D
var cool = 0.6
func _physics_process(delta):
if on_ladder:
if not Input.is_action_pressed("sprint") and SPEED != defspeed:
SPEED = defspeed
tweener = get_tree().create_tween()
velocity = Vector2(0,0)
$Left/CPUParticles2D.emitting = false
$right/CPUParticles2D.emitting = false
$AnimatedSprite2D.play("idle")
if Input.is_action_pressed("ui_up"):
velocity.y += -1 * SPEED * 0.5
if Input.is_action_pressed("ui_down"):
velocity.y += 1 * SPEED * 0.5
if Input.is_action_just_pressed("ui_accept"):
velocity.y = JUMP_VELOCITY
on_ladder = false
move_and_slide()
return
if Input.is_action_just_pressed("ui_left") or Input.is_action_just_pressed("ui_right"):
on_ladder = false
airjump = true
$LedgeAssistWall.start()
move_and_slide()
return
if not can_move:
if not Input.is_action_pressed("sprint") and SPEED != defspeed:
SPEED = defspeed
tweener = get_tree().create_tween()
return
if Input.is_action_just_pressed("sprint"):
if not str(tweener) == "":
tweener.stop()
tweener = get_tree().create_tween()
tweener.tween_property(self,"SPEED",sprintspeed,1)
elif Input.is_action_just_released("sprint"):
if not str(tweener) == "":
tweener.stop()
tweener = get_tree().create_tween()
tweener.tween_property(self,"SPEED",defspeed,0.3)
if not is_on_floor():
velocity.y += gravity * delta
if can_jump and first_air:
first_air = false
$LedgeAssist.start(0.05)
if is_on_floor():
ignore = Vector2(0,0)
can_jump = true
first_air = is_on_floor() or is_on_wall_only()
if not is_on_wall_only():
wall = "none"
# Handle Jump.
if Input.is_action_just_pressed("ui_accept") and can_jump or airjump and Input.is_action_just_pressed("ui_accept"):
can_jump = false
velocity.y = JUMP_VELOCITY
$AnimatedSprite2D.play("jump")
if airjump:
if wall == "right":
ignore.y = 1
ignore.x = 0
$leftt.stop()
$rightt.start(cool)
elif wall == "left":
ignore.x = 1
ignore.y = 0
$rightt.stop()
$leftt.start(cool)
wall = "none"
airjump = false
# Get the input direction and handle the movement/deceleration.
# As good practice, you should replace UI actions with custom gameplay actions.
var direction = Input.get_axis("ui_left", "ui_right")
if direction == -1:
dir = "left"
if wall == "none":
$AnimatedSprite2D.flip_h = true
else:
$AnimatedSprite2D.flip_h = false
elif direction == 1:
dir = "right"
if wall == "none":
$AnimatedSprite2D.flip_h = false
else:
$AnimatedSprite2D.flip_h = true
else:
dir = "none"
if velocity.y == 0:
$AnimatedSprite2D.play("idle")
elif not $AnimatedSprite2D.animation == "jump":
$AnimatedSprite2D.play("jump")
if direction:
velocity.x = direction * SPEED
else:
velocity.x = move_toward(velocity.x, 0, SPEED)
if not velocity.x == 0 and velocity.y == 0:
$AnimatedSprite2D.play("move")
if not is_on_floor() and not on_ladder:
var left_collide = $Left.get_overlapping_bodies()
var right_collide = $right.get_overlapping_bodies()
if dir == "left" and len($Left.get_overlapping_bodies()) >= 1 and not ignore.x:
velocity.y *= 0.6
wall = "left"
$Left/CPUParticles2D.emitting = true
$right/CPUParticles2D.emitting = false
$AnimatedSprite2D.play("wall")
airjump = true
elif dir == "right" and len($right.get_overlapping_bodies()) >= 1 and not ignore.y:
velocity.y *= 0.6
wall = "right"
$right/CPUParticles2D.emitting = true
$Left/CPUParticles2D.emitting = false
$AnimatedSprite2D.play("wall")
airjump = true
else:
$Left/CPUParticles2D.emitting = false
$right/CPUParticles2D.emitting = false
if airjump:
$LedgeAssistWall.start()
else:
airjump = false
else:
$Left/CPUParticles2D.emitting = false
$right/CPUParticles2D.emitting = false
move_and_slide()
func _on_leftt_timeout():
ignore.x = 0
func _on_rightt_timeout():
ignore.y = 0
func _on_ledge_assist_timeout():
can_jump = false
func _on_ledge_assist_wall_timeout():
airjump = false

BIN
plr.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 731 B

34
plr.png.import Normal file
View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cay38nkmtth7e"
path="res://.godot/imported/plr.png-601476af0b5f8e062abf6e068157bf7c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://plr.png"
dest_files=["res://.godot/imported/plr.png-601476af0b5f8e062abf6e068157bf7c.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

10
plr.tres Normal file
View File

@ -0,0 +1,10 @@
[gd_resource type="Theme" load_steps=2 format=3 uid="uid://doj6uvro8nygh"]
[ext_resource type="FontFile" uid="uid://3pvmifrm3xhh" path="res://HackerBasic.ttf" id="1_12na6"]
[resource]
RichTextLabel/colors/font_outline_color = Color(0, 0, 0, 1)
RichTextLabel/constants/line_separation = -5
RichTextLabel/font_sizes/bold_font_size = 16
RichTextLabel/font_sizes/normal_font_size = 16
RichTextLabel/fonts/normal_font = ExtResource("1_12na6")

344
plr.tscn Normal file
View File

@ -0,0 +1,344 @@
[gd_scene load_steps=32 format=3 uid="uid://bdncoo2t66e58"]
[ext_resource type="Script" path="res://plr.gd" id="1_ub5ic"]
[ext_resource type="Texture2D" uid="uid://dvrxgvepbbhl7" path="res://silly_fella.png" id="2_hijeb"]
[ext_resource type="Material" uid="uid://btj4q14v2jd0t" path="res://vingette.tres" id="3_2p62w"]
[ext_resource type="Script" path="res://scroll.gd" id="3_vv75q"]
[ext_resource type="Texture2D" uid="uid://45fgpfmo6jpm" path="res://sheet1.png" id="4_id5lh"]
[ext_resource type="Script" path="res://typewrite.gd" id="5_68akq"]
[ext_resource type="Theme" uid="uid://doj6uvro8nygh" path="res://plr.tres" id="6_qo7h3"]
[ext_resource type="Texture2D" uid="uid://btw7cy3q5fxng" path="res://explorer.png" id="7_d3k28"]
[ext_resource type="AudioStream" uid="uid://bdpql7v8x0ajy" path="res://beep.wav" id="7_d3xbw"]
[ext_resource type="Shader" path="res://blur.gdshader" id="9_axrdm"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_xil0x"]
size = Vector2(6, 15)
[sub_resource type="AtlasTexture" id="AtlasTexture_yljtm"]
atlas = ExtResource("2_hijeb")
region = Rect2(0, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_t5nf3"]
atlas = ExtResource("2_hijeb")
region = Rect2(16, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_odf15"]
atlas = ExtResource("2_hijeb")
region = Rect2(32, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_d2unb"]
atlas = ExtResource("2_hijeb")
region = Rect2(96, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_jm6aj"]
atlas = ExtResource("2_hijeb")
region = Rect2(112, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_p3ah2"]
atlas = ExtResource("2_hijeb")
region = Rect2(144, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_7kh7l"]
atlas = ExtResource("2_hijeb")
region = Rect2(48, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_ds08w"]
atlas = ExtResource("2_hijeb")
region = Rect2(64, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_708w7"]
atlas = ExtResource("2_hijeb")
region = Rect2(80, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_mpv1h"]
atlas = ExtResource("2_hijeb")
region = Rect2(128, 0, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_q5dbt"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_yljtm")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_t5nf3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_odf15")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_t5nf3")
}],
"loop": true,
"name": &"idle",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_d2unb")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jm6aj")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_d2unb")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_p3ah2")
}],
"loop": false,
"name": &"jump",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_7kh7l")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ds08w")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_708w7")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ds08w")
}],
"loop": true,
"name": &"move",
"speed": 7.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_mpv1h")
}],
"loop": true,
"name": &"wall",
"speed": 5.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_1r4pd"]
size = Vector2(1.5, 12.5)
[sub_resource type="AtlasTexture" id="AtlasTexture_hdeoh"]
atlas = ExtResource("4_id5lh")
region = Rect2(335, 220, 114, 53)
[sub_resource type="AtlasTexture" id="AtlasTexture_vvr4i"]
atlas = ExtResource("4_id5lh")
region = Rect2(401, 192, 14, 11)
[sub_resource type="AtlasTexture" id="AtlasTexture_2jfhy"]
atlas = ExtResource("4_id5lh")
region = Rect2(417, 193, 14, 11)
[sub_resource type="AtlasTexture" id="AtlasTexture_7ahja"]
atlas = ExtResource("4_id5lh")
region = Rect2(433, 193, 14, 11)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_kp2us"]
shader = ExtResource("9_axrdm")
shader_parameter/blur_amount = 0.291
shader_parameter/color = null
shader_parameter/multiplier = -5.98
shader_parameter/softness = 3.12
[sub_resource type="Animation" id="Animation_h3c1q"]
resource_name = "death"
length = 0.1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("AnimatedSprite2D:modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 1), Color(0, 0, 0, 1)]
}
[sub_resource type="Animation" id="Animation_jpfe0"]
resource_name = "new_animation"
[sub_resource type="AnimationLibrary" id="AnimationLibrary_a2qok"]
_data = {
"death": SubResource("Animation_h3c1q"),
"new_animation": SubResource("Animation_jpfe0")
}
[node name="plr" type="CharacterBody2D"]
script = ExtResource("1_ub5ic")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(0, -4.5)
shape = SubResource("RectangleShape2D_xil0x")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
position = Vector2(-8, -13)
sprite_frames = SubResource("SpriteFrames_q5dbt")
animation = &"jump"
frame = 3
frame_progress = 1.0
centered = false
[node name="Left" type="Area2D" parent="."]
position = Vector2(-7, 7)
collision_layer = 2
collision_mask = 2
[node name="CollisionShape2D" type="CollisionShape2D" parent="Left"]
position = Vector2(4, -11.75)
shape = SubResource("RectangleShape2D_1r4pd")
[node name="CPUParticles2D" type="CPUParticles2D" parent="Left"]
position = Vector2(4, -10)
emitting = false
amount = 10
randomness = 0.8
lifetime_randomness = 1.0
emission_shape = 3
emission_rect_extents = Vector2(1, 1)
spread = 180.0
gravity = Vector2(0, 50)
angular_velocity_max = 58.18
angle_max = 29.1
scale_amount_min = 0.5
color = Color(0.698039, 0.698039, 0.698039, 1)
[node name="right" type="Area2D" parent="."]
position = Vector2(7, -4)
collision_layer = 2
collision_mask = 2
[node name="CollisionShape2D" type="CollisionShape2D" parent="right"]
position = Vector2(-3.75, -1)
shape = SubResource("RectangleShape2D_1r4pd")
[node name="CPUParticles2D" type="CPUParticles2D" parent="right"]
position = Vector2(-4, 1)
emitting = false
amount = 10
randomness = 0.8
lifetime_randomness = 1.0
emission_shape = 3
emission_rect_extents = Vector2(1, 1)
spread = 180.0
gravity = Vector2(0, 50)
angular_velocity_max = 58.18
angle_max = 29.1
scale_amount_min = 0.5
color = Color(0.698039, 0.698039, 0.698039, 1)
[node name="rightt" type="Timer" parent="."]
one_shot = true
[node name="leftt" type="Timer" parent="."]
one_shot = true
[node name="LedgeAssist" type="Timer" parent="."]
wait_time = 0.05
one_shot = true
[node name="LedgeAssistWall" type="Timer" parent="."]
wait_time = 0.02
one_shot = true
[node name="Camera2D" type="Camera2D" parent="."]
position = Vector2(2, -16)
zoom = Vector2(5, 5)
limit_left = -391
limit_smoothed = true
drag_horizontal_enabled = true
drag_vertical_enabled = true
drag_top_margin = 0.35
drag_right_margin = 0.35
drag_bottom_margin = 0.0
script = ExtResource("3_vv75q")
[node name="dialogue" type="Sprite2D" parent="Camera2D"]
visible = false
z_index = 4096
position = Vector2(-58, -62)
texture = SubResource("AtlasTexture_hdeoh")
centered = false
script = ExtResource("5_68akq")
[node name="RichTextLabel" type="RichTextLabel" parent="Camera2D/dialogue"]
clip_contents = false
offset_left = 3.0
offset_top = 11.0
offset_right = 111.0
offset_bottom = 51.0
theme = ExtResource("6_qo7h3")
scroll_active = false
[node name="Timer" type="Timer" parent="Camera2D/dialogue"]
one_shot = true
[node name="Icons" type="Node2D" parent="Camera2D/dialogue"]
[node name="normal" type="Sprite2D" parent="Camera2D/dialogue/Icons"]
visible = false
position = Vector2(6, 4)
texture = SubResource("AtlasTexture_vvr4i")
centered = false
[node name="nervous" type="Sprite2D" parent="Camera2D/dialogue/Icons"]
visible = false
position = Vector2(6, 4)
texture = SubResource("AtlasTexture_2jfhy")
centered = false
[node name="upsidedown" type="Sprite2D" parent="Camera2D/dialogue/Icons"]
visible = false
position = Vector2(6, 4)
texture = SubResource("AtlasTexture_7ahja")
centered = false
[node name="explorer" type="Sprite2D" parent="Camera2D/dialogue/Icons"]
visible = false
position = Vector2(6, 2)
texture = ExtResource("7_d3k28")
centered = false
region_enabled = true
region_rect = Rect2(7, 5, 15, 13)
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="Camera2D/dialogue"]
stream = ExtResource("7_d3xbw")
volume_db = -10.576
max_polyphony = 7
[node name="CanvasLayer" type="CanvasLayer" parent="."]
layer = 20
visible = false
[node name="blur" type="ColorRect" parent="CanvasLayer"]
z_index = 40
material = SubResource("ShaderMaterial_kp2us")
offset_right = 1152.0
offset_bottom = 648.0
[node name="vingette" type="ColorRect" parent="CanvasLayer"]
z_index = 90
material = ExtResource("3_2p62w")
offset_right = 1152.0
offset_bottom = 648.0
[node name="fadeout" type="ColorRect" parent="CanvasLayer"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
color = Color(0, 0, 0, 1)
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
"": SubResource("AnimationLibrary_a2qok")
}
[connection signal="timeout" from="rightt" to="." method="_on_rightt_timeout"]
[connection signal="timeout" from="leftt" to="." method="_on_leftt_timeout"]
[connection signal="timeout" from="LedgeAssist" to="." method="_on_ledge_assist_timeout"]
[connection signal="timeout" from="LedgeAssistWall" to="." method="_on_ledge_assist_wall_timeout"]

86
project.godot Normal file
View File

@ -0,0 +1,86 @@
; Engine configuration file.
; It's best edited using the editor UI and not directly,
; since the parameters that go here are not all obvious.
;
; Format:
; [section] ; section goes between []
; param=value ; assign values to parameters
config_version=5
[application]
config/name="wicked depths"
run/main_scene="res://menu.tscn"
config/features=PackedStringArray("4.1", "GL Compatibility")
config/icon="res://plr.png"
[autoload]
SaveHandler="*res://SaveHandler.tscn"
[display]
window/size/resizable=false
window/stretch/mode="canvas_items"
window/stretch/aspect="expand"
[input]
ui_accept={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":32,"physical_keycode":0,"key_label":0,"unicode":32,"echo":false,"script":null)
]
}
ui_left={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194319,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":13,"pressure":0.0,"pressed":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":-1.0,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"echo":false,"script":null)
]
}
ui_right={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194321,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":14,"pressure":0.0,"pressed":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":1.0,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"echo":false,"script":null)
]
}
ui_up={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194320,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":11,"pressure":0.0,"pressed":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":-1.0,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":119,"echo":false,"script":null)
]
}
ui_down={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194322,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":12,"pressure":0.0,"pressed":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":1.0,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"echo":false,"script":null)
]
}
sprint={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194325,"key_label":0,"unicode":0,"echo":false,"script":null)
]
}
interact={
"deadzone": 0.5,
"events": [null, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194309,"key_label":0,"unicode":0,"echo":false,"script":null)
]
}
"dialogue interact"={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"echo":false,"script":null)
]
}
[rendering]
textures/canvas_textures/default_texture_filter=0
renderer/rendering_method.mobile="gl_compatibility"

17
scroll.gd Normal file
View File

@ -0,0 +1,17 @@
extends Camera2D
var max
var min
# Called when the node enters the scene tree for the first time.
func _ready():
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
$dialogue.global_position = self.get_screen_center_position() - Vector2(55,60)
#$vingette.global_position = self.get_screen_center_position() - $vingette.size / 2
#$blur.global_position = self.get_screen_center_position() - $vingette.size / 2

View File

@ -0,0 +1,24 @@
shader_type canvas_item;
render_mode blend_mix;
uniform float radius = 5.0;
uniform vec4 modulate : source_color;
void fragment() {
vec2 ps = TEXTURE_PIXEL_SIZE;
vec4 shadow = texture(TEXTURE, UV + vec2(-radius, -radius) * ps);
shadow += texture(TEXTURE, UV + vec2(-radius, 0.0) * ps);
shadow += texture(TEXTURE, UV + vec2(-radius, radius) * ps);
shadow += texture(TEXTURE, UV + vec2(0.0, -radius) * ps);
shadow += texture(TEXTURE, UV + vec2(0.0, radius) * ps);
shadow += texture(TEXTURE, UV + vec2(radius, -radius) * ps);
shadow += texture(TEXTURE, UV + vec2(radius, 0.0) * ps);
shadow += texture(TEXTURE, UV + vec2(radius, radius) * ps);
shadow /= 8.0;
shadow *= modulate;
vec4 col = texture(TEXTURE, UV);
COLOR = mix(shadow, col, col.a);
}

BIN
sheet1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

34
sheet1.png.import Normal file
View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://45fgpfmo6jpm"
path="res://.godot/imported/sheet1.png-df3b94edccf6a27528de01b5fa16fed6.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sheet1.png"
dest_files=["res://.godot/imported/sheet1.png-df3b94edccf6a27528de01b5fa16fed6.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
silly_fella.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 605 B

34
silly_fella.png.import Normal file
View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dvrxgvepbbhl7"
path="res://.godot/imported/silly_fella.png-28d814c2d5e2db480a226b37d1c97cac.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://silly_fella.png"
dest_files=["res://.godot/imported/silly_fella.png-28d814c2d5e2db480a226b37d1c97cac.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

18
smallbox.tscn Normal file
View File

@ -0,0 +1,18 @@
[gd_scene load_steps=3 format=3 uid="uid://d00vg8sfapfvi"]
[ext_resource type="Texture2D" uid="uid://45fgpfmo6jpm" path="res://sheet1.png" id="1_j757x"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ypdmu"]
size = Vector2(12, 12)
[node name="StaticBody2D" type="StaticBody2D"]
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = ExtResource("1_j757x")
centered = false
region_enabled = true
region_rect = Rect2(34, 244, 12, 12)
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(6, 6)
shape = SubResource("RectangleShape2D_ypdmu")

11
spikes.gd Normal file
View File

@ -0,0 +1,11 @@
extends CharacterBody2D
func _on_area_2d_body_shape_entered(body_rid, body, body_shape_index, local_shape_index):
if body.name == "plr" and body.can_move:
body.get_node("AnimationPlayer").play("death")
body.position = get_tree().current_scene.get_node("CheckPoints").current.position
get_parent().get_node("cloud").fail = true
await body.get_node("AnimationPlayer").animation_finished
body.get_node("AnimatedSprite2D").modulate = Color(1,1,1,1)

25
spikes.tscn Normal file
View File

@ -0,0 +1,25 @@
[gd_scene load_steps=4 format=3 uid="uid://dd774nk6uqj8k"]
[ext_resource type="Script" path="res://spikes.gd" id="1_8aurg"]
[ext_resource type="Texture2D" uid="uid://45fgpfmo6jpm" path="res://sheet1.png" id="1_bldt1"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_i1t6q"]
size = Vector2(17, 2)
[node name="spikes" type="CharacterBody2D"]
script = ExtResource("1_8aurg")
[node name="Sprite2D" type="Sprite2D" parent="."]
position = Vector2(-9, 0)
texture = ExtResource("1_bldt1")
centered = false
region_enabled = true
region_rect = Rect2(320, 190, 17, 2)
[node name="Area2D" type="Area2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
position = Vector2(-0.5, 1)
shape = SubResource("RectangleShape2D_i1t6q")
[connection signal="body_shape_entered" from="Area2D" to="." method="_on_area_2d_body_shape_entered"]

44
the end.gd Normal file
View File

@ -0,0 +1,44 @@
extends Sprite2D
# Called when the node enters the scene tree for the first time.
func _ready():
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass
var sizer = 648
func _on_area_2d_body_shape_entered(body_rid, body, body_shape_index, local_shape_index):
if body.name == "plr":
body.can_move = false
self.visible = false
$Area2D.queue_free()
var dial = body.get_node("Camera2D/dialogue")
var tweener2 = get_tree().create_tween()
tweener2.tween_property(get_parent().get_node("the_hole"),"volume_db",-100,2)
dial.visible = true
dial.dialogue("Wow...","upsidedown",0.5)
await get_parent().proceed
dial.dialogue("5 {CURRENCY}.","nervous",0.5)
await get_parent().proceed
dial.dialogue("That was worth it!","normal",0.5)
await get_parent().proceed
dial.dialogue("How am I supposed to get back up...","nervous",2)
await get_parent().proceed
dial.dialogue("Cliffhanger!","normal",1)
await get_parent().proceed
dial.visible = false
var fader = body.get_node("CanvasLayer/fadeout")
fader.size.y = 0
fader.visible = true
var tweener = get_tree().create_tween()
tweener.set_ease(Tween.EASE_OUT)
tweener.set_trans(Tween.TRANS_BOUNCE)
tweener.tween_property(fader,"size",Vector2(1152,sizer),3)
await tweener.finished
await get_tree().create_timer(1).timeout
get_tree().change_scene_to_file("res://end.tscn")

BIN
the hole.ogg Normal file

Binary file not shown.

19
the hole.ogg.import Normal file
View File

@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://bnicwbjceyq76"
path="res://.godot/imported/the hole.ogg-6c13aaf3c87211abc409282d2c77c36e.oggvorbisstr"
[deps]
source_file="res://the hole.ogg"
dest_files=["res://.godot/imported/the hole.ogg-6c13aaf3c87211abc409282d2c77c36e.oggvorbisstr"]
[params]
loop=true
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

39
typewrite.gd Normal file
View File

@ -0,0 +1,39 @@
extends Sprite2D
signal di_continue
# Called when the node enters the scene tree for the first time.
func _ready():
#var canvas = get_parent().get_node("CanvasLayer")
#await get_tree().create_timer(0.1).timeout
#get_parent().remove_child(self)
#canvas.add_child(self)
pass
var typing = false
func dialogue(new_text,icon,dur):
if typing == true:
typing = false
await di_continue
typing = true
var icons = $Icons.get_children()
for i in icons:
i.visible = false
if i.name == icon:
i.visible = true
var leng = len(new_text) + 1
$RichTextLabel.visible_characters = 0
$RichTextLabel.text = new_text
for i in leng:
if typing == false:
di_continue.emit()
$AudioStreamPlayer.stop()
return
$RichTextLabel.visible_characters = i
$AudioStreamPlayer.play()
$Timer.start(dur/leng)
await $Timer.timeout
typing = false
func _process(delta):
pass

13
vingette.gdshader Normal file
View File

@ -0,0 +1,13 @@
shader_type canvas_item;
uniform vec4 color: source_color;
uniform float multiplier = 0.2;
uniform float softness = 3.0;
void fragment()
{
float value = distance(UV, vec2(0.5));
COLOR = vec4(color.rgb, smoothstep(multiplier, softness,value));
}

9
vingette.tres Normal file
View File

@ -0,0 +1,9 @@
[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://btj4q14v2jd0t"]
[ext_resource type="Shader" path="res://vingette.gdshader" id="1_bbfr1"]
[resource]
shader = ExtResource("1_bbfr1")
shader_parameter/color = Color(0.0901961, 0.0901961, 0.0901961, 1)
shader_parameter/multiplier = 0.0
shader_parameter/softness = 1.92

BIN
wandering.ogg Normal file

Binary file not shown.

19
wandering.ogg.import Normal file
View File

@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://c0cy533wk03js"
path="res://.godot/imported/wandering.ogg-bc10e01db6ecc090ccd5bf1952a88b68.oggvorbisstr"
[deps]
source_file="res://wandering.ogg"
dest_files=["res://.godot/imported/wandering.ogg-bc10e01db6ecc090ccd5bf1952a88b68.oggvorbisstr"]
[params]
loop=true
loop_offset=0
bpm=0
beat_count=0
bar_beats=4