making levels

This commit is contained in:
Clevertop 2024-08-13 22:45:09 +10:00
parent cc0014f3e8
commit 716dae1d33
17 changed files with 451 additions and 61 deletions

View file

@ -3,25 +3,26 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://c5xawy2clung6" uid="uid://c5xawy2clung6"
path="res://.godot/imported/stone_gray_0.png-64fe0587f09af2b9bf9bc63b97dca05e.ctex" path.s3tc="res://.godot/imported/stone_gray_0.png-64fe0587f09af2b9bf9bc63b97dca05e.s3tc.ctex"
metadata={ metadata={
"vram_texture": false "imported_formats": ["s3tc_bptc"],
"vram_texture": true
} }
[deps] [deps]
source_file="res://Assets/Textures/stone_gray_0.png" source_file="res://Assets/Textures/stone_gray_0.png"
dest_files=["res://.godot/imported/stone_gray_0.png-64fe0587f09af2b9bf9bc63b97dca05e.ctex"] dest_files=["res://.godot/imported/stone_gray_0.png-64fe0587f09af2b9bf9bc63b97dca05e.s3tc.ctex"]
[params] [params]
compress/mode=0 compress/mode=2
compress/high_quality=false compress/high_quality=false
compress/lossy_quality=0.7 compress/lossy_quality=0.7
compress/hdr_compression=1 compress/hdr_compression=1
compress/normal_map=0 compress/normal_map=0
compress/channel_pack=0 compress/channel_pack=0
mipmaps/generate=false mipmaps/generate=true
mipmaps/limit=-1 mipmaps/limit=-1
roughness/mode=0 roughness/mode=0
roughness/src_normal="" roughness/src_normal=""
@ -31,4 +32,4 @@ process/normal_map_invert_y=false
process/hdr_as_srgb=false process/hdr_as_srgb=false
process/hdr_clamp_exposure=false process/hdr_clamp_exposure=false
process/size_limit=0 process/size_limit=0
detect_3d/compress_to=1 detect_3d/compress_to=0

View file

@ -4,17 +4,18 @@ class_name Command_Block
#TODO make this all an enum #TODO make this all an enum
@export var command_name : String @export var command_name : String
@export var mesh : MeshInstance3D
@export var command_sprite : Texture2D: @export var command_sprite : Texture2D:
set(new_texture): set(new_texture):
command_sprite = new_texture command_sprite = new_texture
mesh.material_override = mesh.material_override.duplicate() mesh.material_override = mesh.material_override.duplicate()
mesh.material_override.albedo_texture = command_sprite mesh.material_override.albedo_texture = command_sprite
@export var mesh : MeshInstance3D
@export var collider : CollisionShape3D @export var collider : CollisionShape3D
var spawn_pos : Vector3 var spawn_pos : Vector3
# Called when the node enters the scene tree for the first time. # Called when the node enters the scene tree for the first time.
func _ready(): func _ready():
mesh = $MeshInstance3D
mesh.material_override = mesh.material_override.duplicate() mesh.material_override = mesh.material_override.duplicate()
mesh.material_override.albedo_texture = command_sprite mesh.material_override.albedo_texture = command_sprite
spawn_pos = global_position spawn_pos = global_position

View file

@ -1,9 +1,8 @@
[gd_scene load_steps=6 format=3 uid="uid://dqvq4ybcpws87"] [gd_scene load_steps=5 format=3 uid="uid://dqvq4ybcpws87"]
[ext_resource type="Script" path="res://Commands/command_block.gd" id="1_ra6j6"] [ext_resource type="Script" path="res://Commands/command_block.gd" id="1_ra6j6"]
[ext_resource type="Script" path="res://Commands/tool.gd" id="3_lrl7m"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_tjj4k"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_4imuc"]
emission = Color(1, 1, 1, 1) emission = Color(1, 1, 1, 1)
subsurf_scatter_strength = 1.0 subsurf_scatter_strength = 1.0
uv1_scale = Vector3(3, 2, 1) uv1_scale = Vector3(3, 2, 1)
@ -23,9 +22,8 @@ mesh = NodePath("MeshInstance3D")
collider = NodePath("CollisionShape3D3") collider = NodePath("CollisionShape3D3")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."] [node name="MeshInstance3D" type="MeshInstance3D" parent="."]
material_override = SubResource("StandardMaterial3D_tjj4k") material_override = SubResource("StandardMaterial3D_4imuc")
mesh = SubResource("BoxMesh_572kf") mesh = SubResource("BoxMesh_572kf")
script = ExtResource("3_lrl7m")
[node name="CollisionShape3D3" type="CollisionShape3D" parent="."] [node name="CollisionShape3D3" type="CollisionShape3D" parent="."]
shape = SubResource("ConvexPolygonShape3D_mmdx7") shape = SubResource("ConvexPolygonShape3D_mmdx7")

View file

@ -1,8 +1,11 @@
[gd_scene load_steps=4 format=3 uid="uid://c6vhdhaji73sn"] [gd_scene load_steps=7 format=3 uid="uid://c6vhdhaji73sn"]
[ext_resource type="PackedScene" uid="uid://bojbawyoy11i4" path="res://Levels/StartingRoom.tscn" id="1_qmnx5"] [ext_resource type="PackedScene" uid="uid://bojbawyoy11i4" path="res://Levels/StartingRoom.tscn" id="1_qmnx5"]
[ext_resource type="MeshLibrary" uid="uid://cymdsgto88uty" path="res://meshLib.tres" id="2_a8pag"] [ext_resource type="MeshLibrary" uid="uid://cymdsgto88uty" path="res://meshLib.tres" id="2_a8pag"]
[ext_resource type="PackedScene" uid="uid://rom188edxcu6" path="res://end_zone.tscn" id="3_5y62x"] [ext_resource type="PackedScene" uid="uid://rom188edxcu6" path="res://end_zone.tscn" id="3_5y62x"]
[ext_resource type="PackedScene" uid="uid://cy5g1lkvw2fxs" path="res://sign.tscn" id="4_rebbc"]
[ext_resource type="PackedScene" uid="uid://dqvq4ybcpws87" path="res://Commands/command_block.tscn" id="5_tqehu"]
[ext_resource type="Texture2D" uid="uid://vc7wwv4wgabf" path="res://Commands/jump.png" id="6_ccyiy"]
[node name="Level1" type="Node3D"] [node name="Level1" type="Node3D"]
@ -10,37 +13,8 @@
level_name = "Level 1 level_name = "Level 1
A Small Hop" A Small Hop"
[node name="JumpCommand3" parent="ChronoManager" index="5"] [node name="JumpCommand2" parent="ChronoManager" index="4"]
process_mode = 4 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.322, -3)
visible = false
[node name="JumpCommand4" parent="ChronoManager" index="6"]
process_mode = 4
visible = false
[node name="PhaseCommand" parent="ChronoManager" index="7"]
process_mode = 4
visible = false
[node name="PhaseCommand2" parent="ChronoManager" index="8"]
process_mode = 4
visible = false
[node name="PhaseCommand3" parent="ChronoManager" index="9"]
process_mode = 4
visible = false
[node name="DashCommand" parent="ChronoManager" index="10"]
process_mode = 4
visible = false
[node name="DashCommand2" parent="ChronoManager" index="11"]
process_mode = 4
visible = false
[node name="DashCommand3" parent="ChronoManager" index="12"]
process_mode = 4
visible = false
[node name="GridMap" type="GridMap" parent="."] [node name="GridMap" type="GridMap" parent="."]
mesh_library = ExtResource("2_a8pag") mesh_library = ExtResource("2_a8pag")
@ -52,4 +26,31 @@ data = {
[node name="EndZone" parent="." instance=ExtResource("3_5y62x")] [node name="EndZone" parent="." instance=ExtResource("3_5y62x")]
transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 2, -25) transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 2, -25)
[node name="Sign" parent="." instance=ExtResource("4_rebbc")]
transform = Transform3D(-0.61009, 0, 0.792332, 0, 1, 0, -0.792332, 0, -0.61009, -1.07097, 1.71873, -2.59564)
sign_text = "Click the Block!
-->"
show_pole = true
[node name="Sign4" parent="." instance=ExtResource("4_rebbc")]
transform = Transform3D(0.455467, 0, 0.890253, 0, 1, 0, -0.890253, 0, 0.455467, 0.832763, 1.71873, -15.6152)
sign_text = "No spacebar
;)"
show_pole = true
[node name="Sign2" parent="." instance=ExtResource("4_rebbc")]
transform = Transform3D(0.383377, 0, 0.923592, 0, 1, 0, -0.923592, 0, 0.383377, 1.66118, 1.71873, -3.91991)
sign_text = "Your freedom
awaits~"
show_pole = true
[node name="Sign3" parent="." instance=ExtResource("4_rebbc")]
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0.0761647, 2.58375, 4.99402)
sign_text = "Place the Block"
[node name="BaseCommand" parent="." instance=ExtResource("5_tqehu")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0518522, 2.66601, -2.91549)
command_name = "jump"
command_sprite = ExtResource("6_ccyiy")
[editable path="ChronoManager"] [editable path="ChronoManager"]

View file

@ -1,8 +1,11 @@
[gd_scene load_steps=4 format=3 uid="uid://ddcwsfa8nhmtf"] [gd_scene load_steps=7 format=3 uid="uid://ddcwsfa8nhmtf"]
[ext_resource type="PackedScene" uid="uid://bojbawyoy11i4" path="res://Levels/StartingRoom.tscn" id="1_rb7ph"] [ext_resource type="PackedScene" uid="uid://bojbawyoy11i4" path="res://Levels/StartingRoom.tscn" id="1_rb7ph"]
[ext_resource type="MeshLibrary" uid="uid://cymdsgto88uty" path="res://meshLib.tres" id="2_52atl"] [ext_resource type="MeshLibrary" uid="uid://cymdsgto88uty" path="res://meshLib.tres" id="2_52atl"]
[ext_resource type="PackedScene" uid="uid://rom188edxcu6" path="res://end_zone.tscn" id="3_c33yl"] [ext_resource type="PackedScene" uid="uid://rom188edxcu6" path="res://end_zone.tscn" id="3_c33yl"]
[ext_resource type="PackedScene" uid="uid://dqvq4ybcpws87" path="res://Commands/command_block.tscn" id="4_evy08"]
[ext_resource type="Texture2D" uid="uid://vc7wwv4wgabf" path="res://Commands/jump.png" id="5_v1wgi"]
[ext_resource type="PackedScene" uid="uid://cy5g1lkvw2fxs" path="res://sign.tscn" id="6_xqkdd"]
[node name="Level2" type="Node3D"] [node name="Level2" type="Node3D"]
@ -20,3 +23,32 @@ metadata/_editor_floor_ = Vector3(0, 14, 0)
[node name="EndZone" parent="." instance=ExtResource("3_c33yl")] [node name="EndZone" parent="." instance=ExtResource("3_c33yl")]
transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, 3, 13, -19) transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, 3, 13, -19)
[node name="BaseCommand" parent="." instance=ExtResource("4_evy08")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0518522, 1.66601, -2.91549)
command_name = "jump"
command_sprite = ExtResource("5_v1wgi")
[node name="BaseCommand2" parent="." instance=ExtResource("4_evy08")]
transform = Transform3D(0.965926, 0, -0.258819, 0, 1, 0, 0.258819, 0, 0.965926, -0.0518522, 2.66601, -2.91549)
command_name = "jump"
command_sprite = ExtResource("5_v1wgi")
[node name="BaseCommand3" parent="." instance=ExtResource("4_evy08")]
transform = Transform3D(0.707107, 0, 0.707107, 0, 1, 0, -0.707107, 0, 0.707107, -0.0518522, 3.66601, -2.91549)
command_name = "jump"
command_sprite = ExtResource("5_v1wgi")
[node name="Sign" parent="." instance=ExtResource("6_xqkdd")]
transform = Transform3D(0.5, 0, 0.866025, 0, 1, 0, -0.866025, 0, 0.5, 1.30761, 1.69798, -3.40446)
sign_text = "Heres some
more"
show_pole = true
[node name="Sign2" parent="." instance=ExtResource("6_xqkdd")]
transform = Transform3D(-0.964741, 0, 0.2632, 0, 1, 0, -0.2632, 0, -0.964741, 2.68076, 7.7014, -19.1017)
sign_text = "^ ^ ^
Look Up"
show_pole = true
[editable path="ChronoManager"]

View file

@ -1,8 +1,11 @@
[gd_scene load_steps=4 format=3 uid="uid://cmgi52e2brlab"] [gd_scene load_steps=7 format=3 uid="uid://cmgi52e2brlab"]
[ext_resource type="PackedScene" uid="uid://bojbawyoy11i4" path="res://Levels/StartingRoom.tscn" id="1_i6exp"] [ext_resource type="PackedScene" uid="uid://bojbawyoy11i4" path="res://Levels/StartingRoom.tscn" id="1_i6exp"]
[ext_resource type="MeshLibrary" uid="uid://cymdsgto88uty" path="res://meshLib.tres" id="2_2kcfj"] [ext_resource type="MeshLibrary" uid="uid://cymdsgto88uty" path="res://meshLib.tres" id="2_2kcfj"]
[ext_resource type="PackedScene" uid="uid://rom188edxcu6" path="res://end_zone.tscn" id="3_okds4"] [ext_resource type="PackedScene" uid="uid://rom188edxcu6" path="res://end_zone.tscn" id="3_okds4"]
[ext_resource type="PackedScene" uid="uid://dqvq4ybcpws87" path="res://Commands/command_block.tscn" id="4_fhho5"]
[ext_resource type="Texture2D" uid="uid://cmvnccuywukyw" path="res://Commands/controlled_blink_new.png" id="5_gb44l"]
[ext_resource type="PackedScene" uid="uid://cy5g1lkvw2fxs" path="res://sign.tscn" id="6_03rde"]
[node name="Level3" type="Node3D"] [node name="Level3" type="Node3D"]
@ -19,3 +22,25 @@ data = {
[node name="EndZone" parent="." instance=ExtResource("3_okds4")] [node name="EndZone" parent="." instance=ExtResource("3_okds4")]
transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 2, 9) transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 2, 9)
[node name="BaseCommand" parent="." instance=ExtResource("4_fhho5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.5, 1.5, -3)
command_name = "dash"
command_sprite = ExtResource("5_gb44l")
[node name="BaseCommand2" parent="." node_paths=PackedStringArray("collider") instance=ExtResource("4_fhho5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 1.5, 0)
command_name = "dash"
command_sprite = ExtResource("5_gb44l")
collider = NodePath("../BaseCommand/CollisionShape3D3")
[node name="BaseCommand3" parent="." node_paths=PackedStringArray("collider") instance=ExtResource("4_fhho5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 1.5, 2.5)
command_name = "dash"
command_sprite = ExtResource("5_gb44l")
collider = NodePath("../BaseCommand/CollisionShape3D3")
[node name="Sign" parent="." instance=ExtResource("6_03rde")]
transform = Transform3D(0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107, 3.64511, 1.6988, 3.67351)
sign_text = "Drop with Q"
show_pole = true

54
Levels/Level 4.tscn Normal file
View file

@ -0,0 +1,54 @@
[gd_scene load_steps=8 format=3 uid="uid://c2wwwu6tmoj8s"]
[ext_resource type="PackedScene" uid="uid://bojbawyoy11i4" path="res://Levels/StartingRoom.tscn" id="1_7qkwr"]
[ext_resource type="MeshLibrary" uid="uid://cymdsgto88uty" path="res://meshLib.tres" id="2_21dt1"]
[ext_resource type="PackedScene" uid="uid://rom188edxcu6" path="res://end_zone.tscn" id="3_f41ff"]
[ext_resource type="PackedScene" uid="uid://cy5g1lkvw2fxs" path="res://sign.tscn" id="4_ygj8e"]
[ext_resource type="PackedScene" uid="uid://dqvq4ybcpws87" path="res://Commands/command_block.tscn" id="5_e13ui"]
[ext_resource type="Texture2D" uid="uid://vc7wwv4wgabf" path="res://Commands/jump.png" id="6_jhyls"]
[ext_resource type="Texture2D" uid="uid://cmvnccuywukyw" path="res://Commands/controlled_blink_new.png" id="7_7jmwn"]
[node name="Level1" type="Node3D"]
[node name="ChronoManager" parent="." instance=ExtResource("1_7qkwr")]
level_name = "Level 4
Looks familiar"
[node name="JumpCommand2" parent="ChronoManager" index="4"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.322, -3)
[node name="GridMap" type="GridMap" parent="."]
mesh_library = ExtResource("2_21dt1")
cell_size = Vector3(1, 1, 1)
data = {
"cells": PackedInt32Array(65535, 65529, 1, 65535, 65528, 1, 65535, 65527, 1, 65535, 65526, 1, 65535, 65525, 1, 65535, 65524, 1, 0, 65524, 1, 0, 65525, 1, 0, 65526, 1, 0, 65527, 1, 0, 65528, 1, 0, 65529, 1, 327679, 65515, 1, 327679, 65514, 1, 327679, 65513, 1, 262144, 65515, 1, 262144, 65514, 1, 262144, 65513, 1, 262144, 65512, 1, 327679, 65512, 1, 327679, 65511, 1, 262144, 65511, 1, 327679, 65509, 2, 327679, 65510, 2, 262144, 65509, 2, 262144, 65510, 2)
}
metadata/_editor_floor_ = Vector3(0, 0, 0)
[node name="EndZone" parent="." instance=ExtResource("3_f41ff")]
transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 6, -26)
[node name="Sign" parent="." instance=ExtResource("4_ygj8e")]
transform = Transform3D(-0.61009, 0, 0.792332, 0, 1, 0, -0.792332, 0, -0.61009, -1.07097, 1.71873, -2.59564)
sign_text = "Now you have
both kinds!"
show_pole = true
[node name="BaseCommand" parent="." instance=ExtResource("5_e13ui")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.18242, 2.66601, -2.91549)
command_name = "jump"
command_sprite = ExtResource("6_jhyls")
[node name="BaseCommand2" parent="." node_paths=PackedStringArray("collider") instance=ExtResource("5_e13ui")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.58846, 2.66601, -2.91549)
command_name = "dash"
command_sprite = ExtResource("7_7jmwn")
collider = NodePath("../BaseCommand/CollisionShape3D3")
[node name="BaseCommand3" parent="." node_paths=PackedStringArray("collider") instance=ExtResource("5_e13ui")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.87202, 3.23129, -2.91549)
command_name = "dash"
command_sprite = ExtResource("7_7jmwn")
collider = NodePath("../BaseCommand/CollisionShape3D3")
[editable path="ChronoManager"]

61
Levels/Level 5.tscn Normal file

File diff suppressed because one or more lines are too long

56
Levels/Level 6.tscn Normal file

File diff suppressed because one or more lines are too long

56
Levels/Level 7.tscn Normal file

File diff suppressed because one or more lines are too long

View file

@ -82,47 +82,65 @@ environment = SubResource("Environment_u27ip")
[node name="Gui" parent="." instance=ExtResource("3_60lfp")] [node name="Gui" parent="." instance=ExtResource("3_60lfp")]
[node name="JumpCommand2" parent="." instance=ExtResource("5_81jk1")] [node name="JumpCommand2" parent="." instance=ExtResource("5_81jk1")]
process_mode = 4
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 1.322, -1.5) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 1.322, -1.5)
visible = false
command_name = "jump" command_name = "jump"
command_sprite = ExtResource("10_pecm3") command_sprite = ExtResource("10_pecm3")
[node name="JumpCommand3" parent="." instance=ExtResource("5_81jk1")] [node name="JumpCommand3" parent="." instance=ExtResource("5_81jk1")]
process_mode = 4
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.5, 1.322, -1.5) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.5, 1.322, -1.5)
visible = false
command_name = "jump" command_name = "jump"
command_sprite = ExtResource("10_pecm3") command_sprite = ExtResource("10_pecm3")
[node name="JumpCommand4" parent="." instance=ExtResource("5_81jk1")] [node name="JumpCommand4" parent="." instance=ExtResource("5_81jk1")]
process_mode = 4
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.5, 1.322, -1.5) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.5, 1.322, -1.5)
visible = false
command_name = "jump" command_name = "jump"
command_sprite = ExtResource("10_pecm3") command_sprite = ExtResource("10_pecm3")
[node name="PhaseCommand" parent="." instance=ExtResource("5_81jk1")] [node name="PhaseCommand" parent="." instance=ExtResource("5_81jk1")]
process_mode = 4
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.5, 1.322, -2.5) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.5, 1.322, -2.5)
visible = false
command_name = "phase" command_name = "phase"
command_sprite = ExtResource("11_82hoi") command_sprite = ExtResource("11_82hoi")
[node name="PhaseCommand2" parent="." instance=ExtResource("5_81jk1")] [node name="PhaseCommand2" parent="." instance=ExtResource("5_81jk1")]
process_mode = 4
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.5, 1.322, -2.5) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.5, 1.322, -2.5)
visible = false
command_name = "phase" command_name = "phase"
command_sprite = ExtResource("11_82hoi") command_sprite = ExtResource("11_82hoi")
[node name="PhaseCommand3" parent="." instance=ExtResource("5_81jk1")] [node name="PhaseCommand3" parent="." instance=ExtResource("5_81jk1")]
process_mode = 4
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 1.322, -2.5) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 1.322, -2.5)
visible = false
command_name = "phase" command_name = "phase"
command_sprite = ExtResource("11_82hoi") command_sprite = ExtResource("11_82hoi")
[node name="DashCommand" parent="." instance=ExtResource("5_81jk1")] [node name="DashCommand" parent="." instance=ExtResource("5_81jk1")]
process_mode = 4
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.5, 1.322, -3.5) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.5, 1.322, -3.5)
visible = false
command_name = "dash" command_name = "dash"
command_sprite = ExtResource("12_3c4u7") command_sprite = ExtResource("12_3c4u7")
[node name="DashCommand2" parent="." instance=ExtResource("5_81jk1")] [node name="DashCommand2" parent="." instance=ExtResource("5_81jk1")]
process_mode = 4
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.5, 1.322, -3.5) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.5, 1.322, -3.5)
visible = false
command_name = "dash" command_name = "dash"
command_sprite = ExtResource("12_3c4u7") command_sprite = ExtResource("12_3c4u7")
[node name="DashCommand3" parent="." instance=ExtResource("5_81jk1")] [node name="DashCommand3" parent="." instance=ExtResource("5_81jk1")]
process_mode = 4
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 1.322, -3.5) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 1.322, -3.5)
visible = false
command_name = "dash" command_name = "dash"
command_sprite = ExtResource("12_3c4u7") command_sprite = ExtResource("12_3c4u7")

View file

@ -12,15 +12,17 @@ Puzzle game made by Tom for the Playmakers August Jam 2024
- [x] commands - [x] commands
- [ ] level deign - [ ] level deign
- aiming for at least 5 levels, ideally about 10 - aiming for at least 5 levels, ideally about 10
- [ ] level funciton - [x] level funciton
- [x] Losing the game - [x] Losing the game
- [ ] winning the game and moving to next level - [x] winning the game and moving to next level
- [x] start of level screen - [x] start of level screen
- [x] command functions - [x] command functions
- [x] test camera controls for framerate independance - [x] test camera controls for framerate independance
- [ ] Menu - [x] Menu
- [ ] Level select - [x] Level select
- [x] Credits page - [x] Credits page
- [ ] level data
- [ ] quit button
- [ ] itch.io page - [ ] itch.io page
- [ ] kill blocks - resets level if player touches them - [ ] kill blocks - resets level if player touches them
- [x] door, starting level button - [x] door, starting level button
@ -34,6 +36,7 @@ Puzzle game made by Tom for the Playmakers August Jam 2024
- [ ] enum dropdown for the command blocks - [ ] enum dropdown for the command blocks
## COMMANDS ## COMMANDS
- [x] Jump - go up! works in the air too - [x] Jump - go up! works in the air too
- [x] Dash - Move in direction you are facing for 0.3s (horizontal only, maybe normalise/magnitude) - [x] Dash - Move in direction you are facing for 0.3s (horizontal only, maybe normalise/magnitude)

View file

@ -12,7 +12,7 @@ func _ready():
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
for level_num in GameManager.levels.size(): for level_num in GameManager.levels.size():
var new_button : Button = Button.new() var new_button : Button = Button.new()
new_button.text = "Level " + str(level_num) + " : " + GameManager.levels[level_num].level_name new_button.text = "Level " + str(level_num+1) + " : " + GameManager.levels[level_num].level_name
new_button.pressed.connect(func(): pick_level(GameManager.levels[level_num].level_name)) new_button.pressed.connect(func(): pick_level(GameManager.levels[level_num].level_name))
levels_vbox.add_child(new_button) levels_vbox.add_child(new_button)

32
Scripts/sign.gd Normal file
View file

@ -0,0 +1,32 @@
@tool
extends Node3D
@export_multiline var sign_text : String:
set(new_text):
sign_text = new_text
sign_label3d.text = sign_text
@export var show_pole : bool:
set(new_val):
show_pole = new_val
pole.visible = show_pole
@export var sign_label3d : Label3D
@export var pole : Node3D
# Called when the node enters the scene tree for the first time.
func _ready():
sign_label3d = $Label3D
pole = $MeshInstance3D2
pole.visible = show_pole
sign_label3d.text = sign_text
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass

View file

@ -1,13 +1,8 @@
[gd_scene load_steps=7 format=3 uid="uid://d387n4cp3duhn"] [gd_scene load_steps=9 format=3 uid="uid://d387n4cp3duhn"]
[ext_resource type="Script" path="res://game_manager.gd" id="1_rsuf4"] [ext_resource type="Script" path="res://game_manager.gd" id="1_rsuf4"]
[ext_resource type="Script" path="res://Scripts/level_res.gd" id="2_w2hey"] [ext_resource type="Script" path="res://Scripts/level_res.gd" id="2_w2hey"]
[sub_resource type="Resource" id="Resource_rp7k0"]
script = ExtResource("2_w2hey")
level_path = "res://Levels/StartingRoom.tscn"
level_name = "Test Room"
[sub_resource type="Resource" id="Resource_vs5fw"] [sub_resource type="Resource" id="Resource_vs5fw"]
script = ExtResource("2_w2hey") script = ExtResource("2_w2hey")
level_path = "res://Levels/Level 1.tscn" level_path = "res://Levels/Level 1.tscn"
@ -23,8 +18,23 @@ script = ExtResource("2_w2hey")
level_path = "res://Levels/Level 3.tscn" level_path = "res://Levels/Level 3.tscn"
level_name = "Not enough time" level_name = "Not enough time"
[sub_resource type="Resource" id="Resource_ksvl5"]
script = ExtResource("2_w2hey")
level_path = "res://Levels/Level 4.tscn"
level_name = "Looks familiar"
[sub_resource type="Resource" id="Resource_clwum"]
script = ExtResource("2_w2hey")
level_path = "res://Levels/Level 5.tscn"
level_name = "Up and Around"
[sub_resource type="Resource" id="Resource_fdajg"]
script = ExtResource("2_w2hey")
level_path = "res://Levels/Level 6.tscn"
level_name = ":/"
[node name="GameManager" type="Node"] [node name="GameManager" type="Node"]
script = ExtResource("1_rsuf4") script = ExtResource("1_rsuf4")
levels = Array[ExtResource("2_w2hey")]([SubResource("Resource_rp7k0"), SubResource("Resource_vs5fw"), SubResource("Resource_yde0b"), SubResource("Resource_5anvy")]) levels = Array[ExtResource("2_w2hey")]([SubResource("Resource_vs5fw"), SubResource("Resource_yde0b"), SubResource("Resource_5anvy"), SubResource("Resource_ksvl5"), SubResource("Resource_clwum"), SubResource("Resource_fdajg")])
menu_scene_path = "res://menu.tscn" menu_scene_path = "res://menu.tscn"
sandbox_scene_path = "res://Levels/StartingRoom.tscn" sandbox_scene_path = "res://Levels/StartingRoom.tscn"

View file

@ -44,8 +44,8 @@ grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
[node name="TextureRect" type="TextureRect" parent="Crosshair"] [node name="TextureRect" type="TextureRect" parent="Crosshair"]
modulate = Color(1, 1, 1, 0.486275) modulate = Color(1, 1, 1, 0.721569)
custom_minimum_size = Vector2(10, 10) custom_minimum_size = Vector2(20, 20)
layout_mode = 2 layout_mode = 2
texture = ExtResource("1_mpwvh") texture = ExtResource("1_mpwvh")
expand_mode = 1 expand_mode = 1

42
sign.tscn Normal file
View file

@ -0,0 +1,42 @@
[gd_scene load_steps=7 format=3 uid="uid://cy5g1lkvw2fxs"]
[ext_resource type="Script" path="res://Scripts/sign.gd" id="1_0jvdq"]
[ext_resource type="Texture2D" uid="uid://c5xawy2clung6" path="res://Assets/Textures/stone_gray_0.png" id="2_62xwe"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_kdcd2"]
albedo_texture = ExtResource("2_62xwe")
uv1_offset = Vector3(0, 0.38, 0.445)
uv1_triplanar = true
texture_filter = 0
[sub_resource type="BoxMesh" id="BoxMesh_2uba3"]
size = Vector3(0.1, 0.7, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_51o0y"]
albedo_texture = ExtResource("2_62xwe")
uv1_offset = Vector3(-0.175, -0.04, 0.16)
uv1_triplanar = true
texture_filter = 0
[sub_resource type="BoxMesh" id="BoxMesh_88dfg"]
size = Vector3(0.1, 1, 0.1)
[node name="Sign" type="Node3D" node_paths=PackedStringArray("sign_label3d", "pole")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.73059, 0)
script = ExtResource("1_0jvdq")
sign_label3d = NodePath("Label3D")
pole = NodePath("MeshInstance3D2")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
material_override = SubResource("StandardMaterial3D_kdcd2")
mesh = SubResource("BoxMesh_2uba3")
[node name="MeshInstance3D2" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0392982, -0.235801, 0)
visible = false
material_override = SubResource("StandardMaterial3D_51o0y")
mesh = SubResource("BoxMesh_88dfg")
[node name="Label3D" type="Label3D" parent="."]
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -0.0689921, 0, 0)
font_size = 24