pivoted to top-down RPG style

This commit is contained in:
Adam Burns 2026-01-17 21:59:52 -05:00
parent 47d9874c36
commit f9e52d23e5
24 changed files with 5674 additions and 37 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://2rxue54761co"
path="res://.godot/imported/1_Terrains_and_Fences_16x16.png-36ba82e481ce39bb0260b727e820261b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/1_Terrains_and_Fences_16x16.png"
dest_files=["res://.godot/imported/1_Terrains_and_Fences_16x16.png-36ba82e481ce39bb0260b727e820261b.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://srv501khyvax"
path="res://.godot/imported/2_City_Terrains_16x16.png-e655c028c7c72d16230432c0f838db00.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/2_City_Terrains_16x16.png"
dest_files=["res://.godot/imported/2_City_Terrains_16x16.png-e655c028c7c72d16230432c0f838db00.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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
assets/adam-portrait.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bcv358r1xkfsx"
path="res://.godot/imported/adam-portrait.png-587210ba19a47a2b250554e785b818f8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/adam-portrait.png"
dest_files=["res://.godot/imported/adam-portrait.png-587210ba19a47a2b250554e785b818f8.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

View File

Before

Width:  |  Height:  |  Size: 995 B

After

Width:  |  Height:  |  Size: 995 B

View File

@ -3,15 +3,15 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://croowm1661ut1" uid="uid://croowm1661ut1"
path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex" path="res://.godot/imported/icon.svg-56083ea2a1f1a4f1e49773bdc6d7826c.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://icon.svg" source_file="res://assets/icon.svg"
dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"] dest_files=["res://.godot/imported/icon.svg-56083ea2a1f1a4f1e49773bdc6d7826c.ctex"]
[params] [params]

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cfst1xv0quili"
path="res://.godot/imported/top-down-adam-idle.png-23449a8f615f77b20a21adb51b6f71d4.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/top-down-adam-idle.png"
dest_files=["res://.godot/imported/top-down-adam-idle.png-23449a8f615f77b20a21adb51b6f71d4.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://gxwk6kki0y1u"
path="res://.godot/imported/top-down-adam-walk.png-b402bd15e88a75fced85dc3967f99ceb.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/top-down-adam-walk.png"
dest_files=["res://.godot/imported/top-down-adam-walk.png-b402bd15e88a75fced85dc3967f99ceb.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

View File

@ -1,22 +0,0 @@
[gd_scene load_steps=4 format=3 uid="uid://dkt8o6fkbh5u"]
[ext_resource type="PackedScene" uid="uid://dyerg4wkjmayq" path="res://player.tscn" id="1_ig7tw"]
[sub_resource type="Gradient" id="Gradient_7dm0k"]
interpolation_mode = 2
colors = PackedColorArray(0.27022192, 0.27022192, 0.2702219, 1, 0.5290667, 0.52906674, 0.5290664, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_ig7tw"]
gradient = SubResource("Gradient_7dm0k")
width = 1024
height = 1024
fill_from = Vector2(0.5, 0.5)
fill_to = Vector2(0.55, 0.55)
repeat = 2
[node name="Main" type="Node2D"]
[node name="Background1" type="Sprite2D" parent="."]
texture = SubResource("GradientTexture2D_ig7tw")
[node name="Player" parent="." instance=ExtResource("1_ig7tw")]

View File

@ -13,7 +13,7 @@ config_version=5
config/name="trijam-355-inconvenient-superpowers" config/name="trijam-355-inconvenient-superpowers"
run/main_scene="uid://dkt8o6fkbh5u" run/main_scene="uid://dkt8o6fkbh5u"
config/features=PackedStringArray("4.5", "Forward Plus") config/features=PackedStringArray("4.5", "Forward Plus")
config/icon="res://icon.svg" config/icon="res://assets/icon.svg"
[input] [input]
@ -41,3 +41,36 @@ turn_right={
, 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":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"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":4194321,"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":-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,"location":0,"echo":false,"script":null)
]
}
left={
"deadzone": 0.2,
"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":65,"key_label":0,"unicode":97,"location":0,"echo":false,"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":4194319,"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":-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,"location":0,"echo":false,"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":4194321,"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":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"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,"location":0,"echo":false,"script":null)
]
}
down={
"deadzone": 0.2,
"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":4194322,"key_label":0,"unicode":0,"location":0,"echo":false,"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,"location":0,"echo":false,"script":null)
]
}
[rendering]
textures/canvas_textures/default_texture_filter=0

View File

@ -1,13 +1,13 @@
[gd_scene load_steps=2 format=3 uid="uid://bsmtdok8be7d8"] [gd_scene load_steps=2 format=3 uid="uid://bsmtdok8be7d8"]
[ext_resource type="Script" uid="uid://1txbj5djbkq0" path="res://debug_label.gd" id="1_0rxpk"] [ext_resource type="Script" uid="uid://1txbj5djbkq0" path="res://scripts/debug_label.gd" id="1_ipbqv"]
[node name="DebugLabel" type="HBoxContainer"] [node name="DebugLabel" type="HBoxContainer"]
script = ExtResource("1_0rxpk") script = ExtResource("1_ipbqv")
[node name="TitleLabel" type="Label" parent="."] [node name="TitleLabel" type="Label" parent="."]
layout_mode = 2 layout_mode = 2
text = "VariableName: " text = "Variable: "
[node name="ValueLabel" type="Label" parent="."] [node name="ValueLabel" type="Label" parent="."]
layout_mode = 2 layout_mode = 2

5307
scenes/main.tscn Normal file

File diff suppressed because it is too large Load Diff

75
scenes/new_player.tscn Normal file
View File

@ -0,0 +1,75 @@
[gd_scene load_steps=11 format=3 uid="uid://pldxcq54fei5"]
[ext_resource type="Script" uid="uid://ddiwahqiekcqp" path="res://scripts/new_player.gd" id="1_j1k7i"]
[ext_resource type="Texture2D" uid="uid://cfst1xv0quili" path="res://assets/top-down-adam-idle.png" id="1_ykc1o"]
[sub_resource type="AtlasTexture" id="AtlasTexture_j1k7i"]
atlas = ExtResource("1_ykc1o")
region = Rect2(288, 0, 16, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_tidp7"]
atlas = ExtResource("1_ykc1o")
region = Rect2(304, 0, 16, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_eotbk"]
atlas = ExtResource("1_ykc1o")
region = Rect2(320, 0, 16, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_vdid1"]
atlas = ExtResource("1_ykc1o")
region = Rect2(336, 0, 16, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_40y4h"]
atlas = ExtResource("1_ykc1o")
region = Rect2(352, 0, 16, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_xoay6"]
atlas = ExtResource("1_ykc1o")
region = Rect2(368, 0, 16, 32)
[sub_resource type="SpriteFrames" id="SpriteFrames_11i01"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_j1k7i")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_tidp7")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_eotbk")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_vdid1")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_40y4h")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_xoay6")
}],
"loop": true,
"name": &"idle_down",
"speed": 5.0
}]
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_ykc1o"]
radius = 7.0
height = 16.0
[node name="NewPlayer" type="CharacterBody2D"]
script = ExtResource("1_j1k7i")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
sprite_frames = SubResource("SpriteFrames_11i01")
animation = &"idle_down"
autoplay = "idle_down"
frame = 2
frame_progress = 0.91331923
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(0, 8)
shape = SubResource("CapsuleShape2D_ykc1o")
[node name="Camera2D" type="Camera2D" parent="."]
zoom = Vector2(4, 4)

View File

@ -20,9 +20,6 @@ extends HBoxContainer
#func _enter_tree() -> void: #func _enter_tree() -> void:
func _ready() -> void: func _ready() -> void:
title_label.text = variable_name.capitalize() + ": " title_label.text = variable_name.capitalize() + ": "
add_child(title_label)
add_child(value_label)
func _process(_delta: float) -> void: func _process(_delta: float) -> void:
if not Engine.is_editor_hint(): if not Engine.is_editor_hint():

28
scripts/new_player.gd Normal file
View File

@ -0,0 +1,28 @@
#@tool
#@icon
#class_name
extends CharacterBody2D
## Documentation comments
## Signals
## Enums
## Constants
## @export variables
@export var speed: int = 10
## Regular variables
var input_vector: Vector2
## @onready variables
## Overridden built-in virtual methods
#func _init() -> void:
#func _enter_tree() -> void:
#func _ready() -> void:
#func _process(delta: float) -> void:
func _physics_process(_delta: float) -> void:
input_vector = Input.get_vector("left", "right", "up", "down")
velocity = input_vector * speed
move_and_slide()
## Remaining virtual methods
## Overridden custom methods
## Remaining methods
## Subclasses

View File

@ -0,0 +1 @@
uid://ddiwahqiekcqp

View File

@ -8,13 +8,15 @@ extends CharacterBody2D
## Enums ## Enums
## Constants ## Constants
## @export variables ## @export variables
@export var speed: int = 100 @export var walking_speed: int = 100
@export var running_speed: int = 150
@export var turning_speed: float = 0.1 @export var turning_speed: float = 0.1
## Regular variables ## Regular variables
var thrust: float = 0.0 var thrust: float = 0.0
var rudder: float = 0.0 var rudder: float = 0.0
var yaw var yaw: float = 0.0
var heading: Vector2 = Vector2.UP var heading: Vector2 = Vector2.UP
var is_running: bool = false
## @onready variables ## @onready variables
## Overridden built-in virtual methods ## Overridden built-in virtual methods
@ -31,7 +33,13 @@ func _physics_process(_delta: float) -> void:
heading = heading.rotated(yaw) heading = heading.rotated(yaw)
rotate(yaw) rotate(yaw)
velocity = thrust * heading * speed is_running = Input.is_action_pressed("run") and thrust > 0.0
if is_running:
velocity = thrust * heading * running_speed
else:
velocity = thrust * heading * walking_speed
move_and_slide() move_and_slide()
## Remaining virtual methods ## Remaining virtual methods
## Overridden custom methods ## Overridden custom methods

View File

@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=3 uid="uid://dyerg4wkjmayq"] [gd_scene load_steps=3 format=3 uid="uid://dyerg4wkjmayq"]
[ext_resource type="Script" uid="uid://cmggbqdffjgwf" path="res://player.gd" id="1_4flbx"] [ext_resource type="Script" uid="uid://cmggbqdffjgwf" path="res://spares/player.gd" id="1_4flbx"]
[ext_resource type="PackedScene" uid="uid://bsmtdok8be7d8" path="res://debug_label.tscn" id="3_i3pqv"] [ext_resource type="PackedScene" uid="uid://bsmtdok8be7d8" path="res://scenes/debug_label.tscn" id="3_i3pqv"]
[node name="Player" type="CharacterBody2D"] [node name="Player" type="CharacterBody2D"]
motion_mode = 1 motion_mode = 1
@ -39,3 +39,13 @@ variable_name = "yaw"
layout_mode = 2 layout_mode = 2
target = NodePath("../../..") target = NodePath("../../..")
variable_name = "heading" variable_name = "heading"
[node name="IsRunningLabel" parent="PlayerDebug/VBoxContainer" node_paths=PackedStringArray("target") instance=ExtResource("3_i3pqv")]
layout_mode = 2
target = NodePath("../../..")
variable_name = "is_running"
[node name="VelocityLabel" parent="PlayerDebug/VBoxContainer" node_paths=PackedStringArray("target") instance=ExtResource("3_i3pqv")]
layout_mode = 2
target = NodePath("../../..")
variable_name = "velocity"