From 22c4bd2ecf3138e2970eec3e968288d54bed03bc Mon Sep 17 00:00:00 2001 From: Matthew Welch Date: Thu, 26 Sep 2024 20:36:02 -0700 Subject: [PATCH] Initial commit --- .gitattributes | 2 ++ .gitignore | 16 ++++++++++++++++ character/character.gd | 29 +++++++++++++++++++++++++++++ character/character.tscn | 19 +++++++++++++++++++ icon.svg | 1 + icon.svg.import | 37 +++++++++++++++++++++++++++++++++++++ project.godot | 19 +++++++++++++++++++ world.tscn | 33 +++++++++++++++++++++++++++++++++ 8 files changed, 156 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 character/character.gd create mode 100644 character/character.tscn create mode 100644 icon.svg create mode 100644 icon.svg.import create mode 100644 project.godot create mode 100644 world.tscn diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..8ad74f7 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Normalize EOL for all files that Git considers text files. +* text=auto eol=lf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d1848c0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,16 @@ +# Godot 4+ specific ignores +.godot/ +/android/ + +# Godot-specific ignores +.import/ +export.cfg +export_presets.cfg + +# Imported translations (automatically generated from CSV files) +*.translation + +# Mono-specific ignores +.mono/ +data_*/ +mono_crash.*.json \ No newline at end of file diff --git a/character/character.gd b/character/character.gd new file mode 100644 index 0000000..1edab92 --- /dev/null +++ b/character/character.gd @@ -0,0 +1,29 @@ +extends CharacterBody3D + + +const SPEED = 5.0 +const JUMP_VELOCITY = 4.5 +@export var path: PathFollow3D; + + +func _physics_process(delta): + # Add the gravity. + #if not is_on_floor(): + #velocity += get_gravity() * delta +# + ## Handle jump. + #if Input.is_action_just_pressed("ui_accept") and is_on_floor(): + #velocity.y = JUMP_VELOCITY + + # Get the input direction and handle the movement/deceleration. + # As good practice, you should replace UI actions with custom gameplay actions. + var input_dir = Input.get_vector("ui_left", "ui_right", "ui_up", "ui_down") + var direction = (transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized() + if direction: + velocity.x = direction.x * SPEED + velocity.z = direction.z * SPEED + else: + velocity.x = move_toward(velocity.x, 0, SPEED) + velocity.z = move_toward(velocity.z, 0, SPEED) + + move_and_slide() diff --git a/character/character.tscn b/character/character.tscn new file mode 100644 index 0000000..5d14dbd --- /dev/null +++ b/character/character.tscn @@ -0,0 +1,19 @@ +[gd_scene load_steps=4 format=3 uid="uid://vamte52rvfhy"] + +[ext_resource type="Script" path="res://character/character.gd" id="1_xk8jv"] + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_gnhao"] + +[sub_resource type="CapsuleMesh" id="CapsuleMesh_br0ui"] + +[node name="CharacterBody3D" type="CharacterBody3D"] +script = ExtResource("1_xk8jv") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +shape = SubResource("CapsuleShape3D_gnhao") + +[node name="MeshInstance3D" type="MeshInstance3D" parent="."] +mesh = SubResource("CapsuleMesh_br0ui") + +[node name="Camera3D" type="Camera3D" parent="."] +transform = Transform3D(1, -4.52534e-08, 1.68888e-07, -1.77636e-15, 0.965926, 0.258819, -1.74846e-07, -0.258819, 0.965926, 0, 1, 2.55814) diff --git a/icon.svg b/icon.svg new file mode 100644 index 0000000..9d8b7fa --- /dev/null +++ b/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/icon.svg.import b/icon.svg.import new file mode 100644 index 0000000..03693d9 --- /dev/null +++ b/icon.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b4glx3ryq3lje" +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 diff --git a/project.godot b/project.godot new file mode 100644 index 0000000..41da171 --- /dev/null +++ b/project.godot @@ -0,0 +1,19 @@ +; 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="Fantasy Run" +config/features=PackedStringArray("4.3", "Mobile") +config/icon="res://icon.svg" + +[rendering] + +renderer/rendering_method="mobile" diff --git a/world.tscn b/world.tscn new file mode 100644 index 0000000..c6d96c7 --- /dev/null +++ b/world.tscn @@ -0,0 +1,33 @@ +[gd_scene load_steps=4 format=3 uid="uid://blupjt2ulo2g1"] + +[ext_resource type="PackedScene" uid="uid://vamte52rvfhy" path="res://character/character.tscn" id="1_nfwx6"] + +[sub_resource type="PlaneMesh" id="PlaneMesh_okds2"] +size = Vector2(10, 10) + +[sub_resource type="Curve3D" id="Curve3D_5ttj7"] +_data = { +"points": PackedVector3Array(0, 0, 0, 0, 0, 0, 0, 0.425, 4.6, 0, 0, 0, 0, 0, 0, 0, 0.47, -4.745, 0, 0, 0, 0, 0, 0, 0, 2.68, -11.185), +"tilts": PackedFloat32Array(0, 0, 0) +} +point_count = 3 + +[node name="World" type="Node3D"] + +[node name="MeshInstance3D" type="MeshInstance3D" parent="."] +mesh = SubResource("PlaneMesh_okds2") + +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] +transform = Transform3D(-0.827728, -0.0513662, 0.558773, 0.136568, 0.947417, 0.289396, -0.544256, 0.315852, -0.777189, 3.45982, 2.03445, -6.78341) + +[node name="Path3D" type="Path3D" parent="."] +curve = SubResource("Curve3D_5ttj7") + +[node name="PathFollow3D" type="PathFollow3D" parent="Path3D"] +transform = Transform3D(1, 0, 0, 0, 0.999875, 0, 0, 0, 0.999875, 0, 0.445395, 0.364689) +progress = 4.23536 +rotation_mode = 0 +loop = false +tilt_enabled = false + +[node name="CharacterBody3D" parent="." instance=ExtResource("1_nfwx6")]