Compare commits

..
6 Commits
Author SHA1 Message Date
matt b27d83576c Merge pull request 'Adding PhonePhreak Puzzle' (#4) from matt-puzzle-experiment into main
Reviewed-on: #4
Reviewed-by: sam <samstone7103@gmail.com>
2026-10-02 22:51:40 -05:00
bigmstone 092f5bad3e Adding PhonePhreak Puzzle
- Import 10 new MP3 sound files for puzzle audio feedback
- Implement PhonePhreak puzzle scene and game logic script
2026-10-02 21:50:41 -06:00
sam ec7db9faae Merge pull request 'Enemy' (#3) from basic_enemy into main
Reviewed-on: #3
Reviewed-by: matt <matt@mattstone.io>
2026-10-02 22:12:55 -05:00
sam bb9682cd16 Enemy
made a basic enemy that can harm/kill the player.
2026-10-02 21:10:47 -06:00
sam 2315add8ec Merge pull request 'Player Movment' (#2) from sam's_puzzle_expirement into main
Reviewed-on: #2
Reviewed-by: matt <matt@mattstone.io>
2026-10-02 20:44:24 -05:00
sam 978fb7aded Player Movment
implented edited hollow night movement and set up player/test_scene.
2026-10-02 19:46:07 -06:00
7 changed files with 223 additions and 11 deletions

No files matched your search

+53
View File
@@ -20,6 +20,59 @@ config/icon="res://icon.svg"
window/stretch/mode="canvas_items"
window/stretch/aspect="expand"
[input]
left={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":16,"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":0,"location":0,"echo":false,"script":null)
]
}
right={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":16,"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":0,"location":0,"echo":false,"script":null)
]
}
jump={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":16,"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":0,"location":0,"echo":false,"script":null)
]
}
dash={
"deadzone": 0.2,
"events": [null, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":16,"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,"location":0,"echo":false,"script":null)
]
}
up={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":16,"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":0,"location":0,"echo":false,"script":null)
]
}
down={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":16,"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":0,"location":0,"echo":false,"script":null)
]
}
roll={
"deadzone": 0.2,
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":2,"canceled":false,"pressed":false,"double_click":false,"script":null)
]
}
latch={
"deadzone": 0.2,
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":1,"canceled":false,"pressed":false,"double_click":false,"script":null)
]
}
twirl={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":16,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194329,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
run={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":16,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":69,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
[physics]
3d/physics_engine="Jolt Physics"
+32
View File
@@ -0,0 +1,32 @@
[gd_scene format=3 uid="uid://bjk1cmuogswyd"]
[ext_resource type="Script" uid="uid://2jmspsmp5wpm" path="res://scripts/enemy.gd" id="1_7p1mj"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_aqe1g"]
size = Vector2(168, 167)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_yg5ta"]
size = Vector2(178, 168)
[node name="enemy" type="CharacterBody2D" unique_id=1471932521]
collision_layer = 4
collision_mask = 3
script = ExtResource("1_7p1mj")
[node name="ColorRect" type="ColorRect" parent="." unique_id=519837051]
offset_right = 169.0
offset_bottom = 166.0
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1567529793]
position = Vector2(85, 82)
shape = SubResource("RectangleShape2D_aqe1g")
[node name="Timer" type="Timer" parent="." unique_id=356300230]
[node name="Area2D" type="Area2D" parent="." unique_id=461696644]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D" unique_id=72940614]
position = Vector2(84, 79)
shape = SubResource("RectangleShape2D_yg5ta")
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]
+62
View File
@@ -0,0 +1,62 @@
[gd_scene format=3 uid="uid://cmtdq6tedv1mm"]
[ext_resource type="Script" uid="uid://2ig5okof0vaa" path="res://scripts/UltimatePlatformerController.gd" id="1_3vyb7"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_d2by0"]
size = Vector2(111, 105)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_aqe1g"]
size = Vector2(114.5, 109)
[node name="player" type="CharacterBody2D" unique_id=1596338883]
collision_mask = 6
script = ExtResource("1_3vyb7")
[node name="ColorRect" type="ColorRect" parent="." unique_id=42689460]
offset_right = 111.0
offset_bottom = 105.0
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="." unique_id=440932344]
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1496788104]
position = Vector2(55.5, 52.5)
shape = SubResource("RectangleShape2D_d2by0")
[node name="Area2D" type="Area2D" parent="." unique_id=680224441]
collision_mask = 4
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D" unique_id=736937610]
position = Vector2(55.25, 52.5)
shape = SubResource("RectangleShape2D_aqe1g")
[node name="health" type="Control" parent="." unique_id=1976293596]
layout_mode = 3
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0
[node name="ColorRect" type="ColorRect" parent="health" unique_id=110340136]
self_modulate = Color(1, 0, 0, 1)
layout_mode = 0
offset_left = 3.0
offset_top = -42.0
offset_right = 26.0
offset_bottom = -20.0
[node name="ColorRect2" type="ColorRect" parent="health" unique_id=1043497392]
self_modulate = Color(1, 0, 0, 1)
layout_mode = 0
offset_left = 37.0
offset_top = -42.0
offset_right = 60.0
offset_bottom = -20.0
[node name="ColorRect3" type="ColorRect" parent="health" unique_id=175994440]
self_modulate = Color(1, 0, 0, 1)
layout_mode = 0
offset_left = 70.0
offset_top = -42.0
offset_right = 93.0
offset_bottom = -20.0
[connection signal="body_entered" from="Area2D" to="." method="_on_area_2d_body_entered"]
+28
View File
@@ -0,0 +1,28 @@
[gd_scene format=3 uid="uid://d1xirc54wud0s"]
[ext_resource type="PackedScene" uid="uid://cmtdq6tedv1mm" path="res://scenes/player.tscn" id="1_g7g4h"]
[ext_resource type="PackedScene" uid="uid://bjk1cmuogswyd" path="res://scenes/enemy.tscn" id="2_j8ivh"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_aqe1g"]
size = Vector2(1116.25, 73)
[node name="test_scene" type="Node2D" unique_id=1970054744]
[node name="ColorRect" type="ColorRect" parent="." unique_id=1255479846]
offset_left = 2.0
offset_top = 530.0
offset_right = 1121.0
offset_bottom = 606.0
[node name="player" parent="." unique_id=1596338883 instance=ExtResource("1_g7g4h")]
position = Vector2(64, 386)
[node name="floor" type="StaticBody2D" parent="." unique_id=866269158]
collision_layer = 2
[node name="CollisionShape2D" type="CollisionShape2D" parent="floor" unique_id=1146724072]
position = Vector2(561.125, 569)
shape = SubResource("RectangleShape2D_aqe1g")
[node name="enemy" parent="floor" unique_id=1471932521 instance=ExtResource("2_j8ivh")]
position = Vector2(527, 311)
+21 -11
View File
@@ -10,15 +10,15 @@ class_name PlatformerController2D
#2. Animations are very primitive. To make full use of your custom art, you may want to slightly change the code for the animations
@export_category("Necesary Child Nodes")
@export var PlayerSprite: AnimatedSprite2D
@export var PlayerCollider: CollisionShape2D
@onready var PlayerSprite = $AnimatedSprite2D
@onready var PlayerCollider = $CollisionShape2D
#INFO HORIZONTAL MOVEMENT
@export_category("L/R Movement")
##The max speed your player will move
@export_range(50, 500) var maxSpeed: float = 200.0
@export_range(50, 500) var maxSpeed: float = 500
##How fast your player will reach max speed from rest (in seconds)
@export_range(0, 4) var timeToReachMaxSpeed: float = 0.2
@export_range(0, 4) var timeToReachMaxSpeed: float = 0
##How fast your player will reach zero speed from max speed (in seconds)
@export_range(0, 4) var timeToReachZeroSpeed: float = 0.2
##If true, player will instantly move and switch directions. Overrides the "timeToReach" variables, setting them to 0.
@@ -29,15 +29,15 @@ class_name PlatformerController2D
#INFO JUMPING
@export_category("Jumping and Gravity")
##The peak height of your player's jump
@export_range(0, 20) var jumpHeight: float = 2.0
@export_range(0, 20) var jumpHeight: float = 4
##How many jumps your character can do before needing to touch the ground again. Giving more than 1 jump disables jump buffering and coyote time.
@export_range(0, 4) var jumps: int = 1
@export_range(0, 4) var jumps: int = 2
##The strength at which your character will be pulled to the ground.
@export_range(0, 100) var gravityScale: float = 20.0
@export_range(0, 100) var gravityScale: float = 30
##The fastest your player can fall
@export_range(0, 1000) var terminalVelocity: float = 500.0
@export_range(0, 1000) var terminalVelocity: float = 700
##Your player will move this amount faster when falling providing a less floaty jump curve.
@export_range(0.5, 3) var descendingGravityFactor: float = 1.3
@export_range(0.5, 3) var descendingGravityFactor: float = 2
##Enabling this toggle makes it so that when the player releases the jump key while still ascending, their vertical velocity will cut by the height cut, providing variable jump height.
@export var shortHopAkaVariableJumpHeight: bool = true
##How much the jump height is cut by.
@@ -138,7 +138,7 @@ var gravityActive: bool = true
var dashing: bool = false
var dashCount: int
var rolling: bool = false
var death_counter = 3
var twoWayDashHorizontal
var twoWayDashVertical
var eightWayDash
@@ -159,7 +159,7 @@ var wasLatched
var crouching
var groundPounding
var anim
var anim = PlayerSprite
var col
var animScaleLock : Vector2
@@ -254,6 +254,8 @@ func _updateData():
func _process(_delta):
#INFO animations
#directions
if death_counter == 0:
get_tree().quit()
if is_on_wall() and !is_on_floor() and latch and wallLatching and ((wallLatchingModifer and latchHold) or !wallLatchingModifer):
latched = true
else:
@@ -325,6 +327,10 @@ func _process(_delta):
func _physics_process(delta):
if death_counter == 2:
$health/ColorRect3.hide()
elif death_counter == 1:
$health/ColorRect2.hide()
if !dset:
gdelta = delta
dset = true
@@ -674,3 +680,7 @@ func _endGroundPound():
func _placeHolder():
print("")
func _on_area_2d_body_entered(body: Node2D) -> void:
death_counter -= 1
+26
View File
@@ -0,0 +1,26 @@
extends CharacterBody2D
var SPEED = Vector2(5, 0)
const JUMP_VELOCITY = -400.0
func _ready() -> void:
$Timer.start()
func _physics_process(delta: float) -> void:
velocity += get_gravity() * delta
move_and_slide()
patrol()
func patrol():
position += SPEED
func _on_timer_timeout() -> void:
SPEED = -SPEED
$Timer.start()
+1
View File
@@ -0,0 +1 @@
uid://2jmspsmp5wpm