debug level and character added

This commit is contained in:
Luca 2024-09-15 16:39:11 +02:00
parent f48d6575cb
commit 554d81b912
35 changed files with 8472 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

3
.gitignore vendored Normal file
View file

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

207
export_presets.cfg Normal file
View file

@ -0,0 +1,207 @@
[preset.0]
name="Android"
platform="Android"
runnable=true
advanced_options=false
dedicated_server=false
custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="./monsterfangen.apk"
encryption_include_filters=""
encryption_exclude_filters=""
encrypt_pck=false
encrypt_directory=false
script_export_mode=2
[preset.0.options]
custom_template/debug=""
custom_template/release=""
gradle_build/use_gradle_build=false
gradle_build/gradle_build_directory=""
gradle_build/android_source_template=""
gradle_build/compress_native_libraries=false
gradle_build/export_format=0
gradle_build/min_sdk=""
gradle_build/target_sdk=""
architectures/armeabi-v7a=false
architectures/arm64-v8a=true
architectures/x86=false
architectures/x86_64=false
version/code=1
version/name=""
package/unique_name="com.luca.monsterfangen"
package/name="Monsterfangen"
package/signed=true
package/app_category=2
package/retain_data_on_uninstall=false
package/exclude_from_recents=false
package/show_in_android_tv=false
package/show_in_app_library=true
package/show_as_launcher_app=false
launcher_icons/main_192x192=""
launcher_icons/adaptive_foreground_432x432=""
launcher_icons/adaptive_background_432x432=""
graphics/opengl_debug=false
xr_features/xr_mode=0
screen/immersive_mode=true
screen/support_small=true
screen/support_normal=true
screen/support_large=true
screen/support_xlarge=true
user_data_backup/allow=false
command_line/extra_args=""
apk_expansion/enable=false
apk_expansion/SALT=""
apk_expansion/public_key=""
permissions/custom_permissions=PackedStringArray()
permissions/access_checkin_properties=false
permissions/access_coarse_location=false
permissions/access_fine_location=false
permissions/access_location_extra_commands=false
permissions/access_mock_location=false
permissions/access_network_state=false
permissions/access_surface_flinger=false
permissions/access_wifi_state=false
permissions/account_manager=false
permissions/add_voicemail=false
permissions/authenticate_accounts=false
permissions/battery_stats=false
permissions/bind_accessibility_service=false
permissions/bind_appwidget=false
permissions/bind_device_admin=false
permissions/bind_input_method=false
permissions/bind_nfc_service=false
permissions/bind_notification_listener_service=false
permissions/bind_print_service=false
permissions/bind_remoteviews=false
permissions/bind_text_service=false
permissions/bind_vpn_service=false
permissions/bind_wallpaper=false
permissions/bluetooth=false
permissions/bluetooth_admin=false
permissions/bluetooth_privileged=false
permissions/brick=false
permissions/broadcast_package_removed=false
permissions/broadcast_sms=false
permissions/broadcast_sticky=false
permissions/broadcast_wap_push=false
permissions/call_phone=false
permissions/call_privileged=false
permissions/camera=false
permissions/capture_audio_output=false
permissions/capture_secure_video_output=false
permissions/capture_video_output=false
permissions/change_component_enabled_state=false
permissions/change_configuration=false
permissions/change_network_state=false
permissions/change_wifi_multicast_state=false
permissions/change_wifi_state=false
permissions/clear_app_cache=false
permissions/clear_app_user_data=false
permissions/control_location_updates=false
permissions/delete_cache_files=false
permissions/delete_packages=false
permissions/device_power=false
permissions/diagnostic=false
permissions/disable_keyguard=false
permissions/dump=false
permissions/expand_status_bar=false
permissions/factory_test=false
permissions/flashlight=false
permissions/force_back=false
permissions/get_accounts=false
permissions/get_package_size=false
permissions/get_tasks=false
permissions/get_top_activity_info=false
permissions/global_search=false
permissions/hardware_test=false
permissions/inject_events=false
permissions/install_location_provider=false
permissions/install_packages=false
permissions/install_shortcut=false
permissions/internal_system_window=false
permissions/internet=false
permissions/kill_background_processes=false
permissions/location_hardware=false
permissions/manage_accounts=false
permissions/manage_app_tokens=false
permissions/manage_documents=false
permissions/manage_external_storage=false
permissions/master_clear=false
permissions/media_content_control=false
permissions/modify_audio_settings=false
permissions/modify_phone_state=false
permissions/mount_format_filesystems=false
permissions/mount_unmount_filesystems=false
permissions/nfc=false
permissions/persistent_activity=false
permissions/post_notifications=false
permissions/process_outgoing_calls=false
permissions/read_calendar=false
permissions/read_call_log=false
permissions/read_contacts=false
permissions/read_external_storage=false
permissions/read_frame_buffer=false
permissions/read_history_bookmarks=false
permissions/read_input_state=false
permissions/read_logs=false
permissions/read_phone_state=false
permissions/read_profile=false
permissions/read_sms=false
permissions/read_social_stream=false
permissions/read_sync_settings=false
permissions/read_sync_stats=false
permissions/read_user_dictionary=false
permissions/reboot=false
permissions/receive_boot_completed=false
permissions/receive_mms=false
permissions/receive_sms=false
permissions/receive_wap_push=false
permissions/record_audio=false
permissions/reorder_tasks=false
permissions/restart_packages=false
permissions/send_respond_via_message=false
permissions/send_sms=false
permissions/set_activity_watcher=false
permissions/set_alarm=false
permissions/set_always_finish=false
permissions/set_animation_scale=false
permissions/set_debug_app=false
permissions/set_orientation=false
permissions/set_pointer_speed=false
permissions/set_preferred_applications=false
permissions/set_process_limit=false
permissions/set_time=false
permissions/set_time_zone=false
permissions/set_wallpaper=false
permissions/set_wallpaper_hints=false
permissions/signal_persistent_processes=false
permissions/status_bar=false
permissions/subscribed_feeds_read=false
permissions/subscribed_feeds_write=false
permissions/system_alert_window=false
permissions/transmit_ir=false
permissions/uninstall_shortcut=false
permissions/update_device_stats=false
permissions/use_credentials=false
permissions/use_sip=false
permissions/vibrate=false
permissions/wake_lock=false
permissions/write_apn_settings=false
permissions/write_calendar=false
permissions/write_call_log=false
permissions/write_contacts=false
permissions/write_external_storage=false
permissions/write_gservices=false
permissions/write_history_bookmarks=false
permissions/write_profile=false
permissions/write_secure_settings=false
permissions/write_settings=false
permissions/write_sms=false
permissions/write_social_stream=false
permissions/write_sync_settings=false
permissions/write_user_dictionary=false

1
icon.svg Normal file
View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128"><rect width="124" height="124" x="2" y="2" fill="#363d52" stroke="#212532" stroke-width="4" rx="14"/><g fill="#fff" transform="translate(12.322 12.322)scale(.101)"><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 814 0v-39l-134 12-5 69q-2 10-14 13l-162 11q-12 0-16-11l-10-65H446l-10 65q-4 11-16 11l-162-11q-12-3-14-13l-5-69z"/><path d="M483 600c0 34 58 34 58 0v-86c0-34-58-34-58 0z"/><circle cx="725" cy="526" r="90"/><circle cx="299" cy="526" r="90"/></g><g fill="#414042" transform="translate(12.322 12.322)scale(.101)"><circle cx="307" cy="532" r="60"/><circle cx="717" cy="532" r="60"/></g></svg>

After

Width:  |  Height:  |  Size: 994 B

37
icon.svg.import Normal file
View file

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b6pcv758bw37x"
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

31
project.godot Normal file
View file

@ -0,0 +1,31 @@
; 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="monsterfangen"
run/main_scene="res://scenes/main.tscn"
config/features=PackedStringArray("4.3", "Mobile")
config/icon="res://icon.svg"
[display]
window/size/viewport_width=648
window/size/viewport_height=1152
window/handheld/orientation=1
[input_devices]
pointing/emulate_touch_from_mouse=true
[rendering]
renderer/rendering_method="mobile"
textures/vram_compression/import_etc2_astc=true

Binary file not shown.

View file

@ -0,0 +1,34 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://dmc6dygxrekja"
path="res://.godot/imported/BreatheFireIii-PKLOB.ttf-42a31f99cb6e70d41f8a1514f6c42167.fontdata"
[deps]
source_file="res://resources/fonts/BreatheFireIii-PKLOB.ttf"
dest_files=["res://.godot/imported/BreatheFireIii-PKLOB.ttf-42a31f99cb6e70d41f8a1514f6c42167.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
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=[]
language_support={}
script_support={}
opentype_features={}

2
resources/fonts/info.txt Normal file
View file

@ -0,0 +1,2 @@
license: Freeware, Non-Commercial
link: https://www.fontspace.com/breathe-fire-iii-font-f69367

BIN
resources/logo/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b6ylra30qxf30"
path="res://.godot/imported/logo.png-a67b1256ab61e566443c158465db32f1.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/logo/logo.png"
dest_files=["res://.godot/imported/logo.png-a67b1256ab61e566443c158465db32f1.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

View file

@ -0,0 +1,96 @@
extends Node3D
## Emitted when Gobot's feet hit the ground will running.
signal foot_step
## Gobot's MeshInstance3D model.
@export var gobot_model: MeshInstance3D
## Determines whether blinking is enabled or disabled.
@export var blink = true : set = _set_blink
@export var _left_eye_mat_override: String
@export var _right_eye_mat_override: String
@export var _open_eye: CompressedTexture2D
@export var _close_eye: CompressedTexture2D
@onready var _animation_tree: AnimationTree = %AnimationTree
@onready var _state_machine: AnimationNodeStateMachinePlayback = _animation_tree.get(
"parameters/StateMachine/playback"
)
@onready var _flip_shot_path: String = "parameters/FlipShot/request"
@onready var _hurt_shot_path: String = "parameters/HurtShot/request"
@onready var _blink_timer = %BlinkTimer
@onready var _closed_eyes_timer = %ClosedEyesTimer
@onready var _left_eye_mat: StandardMaterial3D = gobot_model.get(_left_eye_mat_override)
@onready var _right_eye_mat: StandardMaterial3D = gobot_model.get(_right_eye_mat_override)
func _ready():
_blink_timer.connect(
"timeout",
func():
_left_eye_mat.albedo_texture = _close_eye
_right_eye_mat.albedo_texture = _close_eye
_closed_eyes_timer.start(0.2)
)
_closed_eyes_timer.connect(
"timeout",
func():
_left_eye_mat.albedo_texture = _open_eye
_right_eye_mat.albedo_texture = _open_eye
_blink_timer.start(randf_range(1.0, 8.0))
)
func _set_blink(state: bool):
if blink == state:
return
blink = state
if blink:
_blink_timer.start(0.2)
#else:
#_blink_timer.stop()
#_closed_eyes_timer.stop()
## Sets the model to a neutral, action-free state.
func idle():
_state_machine.travel("Idle")
## Sets the model to a running animation or forward movement.
func run():
_state_machine.travel("Run")
## Sets the model to an upward-leaping animation, simulating a jump.
func jump():
_state_machine.travel("Jump")
## Sets the model to a downward animation, imitating a fall.
func fall():
_state_machine.travel("Fall")
## Sets the model to an edge-grabbing animation.
func edge_grab():
_state_machine.travel("EdgeGrab")
## Sets the model to a wall-sliding animation.
func wall_slide():
_state_machine.travel("WallSlide")
## Plays a one-shot front-flip animation.
## This animation does not play in parallel with other states.
func flip():
_animation_tree.set(_flip_shot_path, true)
## Makes a victory sign.
func victory_sign():
_state_machine.travel("VictorySign")
## Plays a one-shot hurt animation.
## This animation plays in parallel with other states.
func hurt():
_animation_tree.set(_hurt_shot_path, true)
var tween := create_tween().set_ease(Tween.EASE_OUT)
tween.tween_property(self, "scale", Vector3(1.2, 0.8, 1.2), 0.1)
tween.tween_property(self, "scale", Vector3.ONE, 0.2)

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,10 @@
[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://div0enqs04w5j"]
[ext_resource type="Texture2D" uid="uid://dq675fmt1rg8c" path="res://resources/models/gobot/textures/open_eye.png" id="1_5dt3l"]
[resource]
resource_local_to_scene = true
albedo_texture = ExtResource("1_5dt3l")
roughness = 0.6
uv1_offset = Vector3(0.1, 0, 0)
texture_repeat = false

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

View file

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bt5o0sr6peltq"
path="res://.godot/imported/gobot_gobot_diffuse.png-3a09c07c2f365b6cf38415d4f01e0232.ctex"
metadata={
"vram_texture": false
}
generator_parameters={}
[deps]
source_file="res://resources/models/gobot/model/gobot_gobot_diffuse.png"
dest_files=["res://.godot/imported/gobot_gobot_diffuse.png-3a09c07c2f365b6cf38415d4f01e0232.ctex"]
[params]
compress/mode=3
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
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=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 338 KiB

View file

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d28w5bql3g21l"
path="res://.godot/imported/gobot_gobot_normal.png-1b6403f54d98d8c969769148dd9cbf43.ctex"
metadata={
"vram_texture": false
}
generator_parameters={}
[deps]
source_file="res://resources/models/gobot/model/gobot_gobot_normal.png"
dest_files=["res://.godot/imported/gobot_gobot_normal.png-1b6403f54d98d8c969769148dd9cbf43.ctex"]
[params]
compress/mode=3
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=1
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=1
roughness/src_normal="res://gobot_gobot_normal.png"
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=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View file

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cgkj45d67dalm"
path="res://.godot/imported/gobot_gobot_roughness.png-3453d84acb579664ca9350901634695c.ctex"
metadata={
"vram_texture": false
}
generator_parameters={}
[deps]
source_file="res://resources/models/gobot/model/gobot_gobot_roughness.png"
dest_files=["res://.godot/imported/gobot_gobot_roughness.png-3453d84acb579664ca9350901634695c.ctex"]
[params]
compress/mode=3
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
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=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cfdf62ci74tew"
path.s3tc="res://.godot/imported/closed_eyes.png-80501b2aef93a2e67ccfe982a2d17bf8.s3tc.ctex"
path.etc2="res://.godot/imported/closed_eyes.png-80501b2aef93a2e67ccfe982a2d17bf8.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://resources/models/gobot/textures/closed_eyes.png"
dest_files=["res://.godot/imported/closed_eyes.png-80501b2aef93a2e67ccfe982a2d17bf8.s3tc.ctex", "res://.godot/imported/closed_eyes.png-80501b2aef93a2e67ccfe982a2d17bf8.etc2.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
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=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://yj5yx07nva6l"
path.s3tc="res://.godot/imported/hurt_eyes.png-fdffc9723dccbd5767c0f80fa5acb35a.s3tc.ctex"
path.etc2="res://.godot/imported/hurt_eyes.png-fdffc9723dccbd5767c0f80fa5acb35a.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://resources/models/gobot/textures/hurt_eyes.png"
dest_files=["res://.godot/imported/hurt_eyes.png-fdffc9723dccbd5767c0f80fa5acb35a.s3tc.ctex", "res://.godot/imported/hurt_eyes.png-fdffc9723dccbd5767c0f80fa5acb35a.etc2.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
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=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

View file

@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dq675fmt1rg8c"
path.s3tc="res://.godot/imported/open_eye.png-61c7e46592ec9c244fff28cc237fd4c9.s3tc.ctex"
path.etc2="res://.godot/imported/open_eye.png-61c7e46592ec9c244fff28cc237fd4c9.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://resources/models/gobot/textures/open_eye.png"
dest_files=["res://.godot/imported/open_eye.png-61c7e46592ec9c244fff28cc237fd4c9.s3tc.ctex", "res://.godot/imported/open_eye.png-61c7e46592ec9c244fff28cc237fd4c9.etc2.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
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=0

52
scenes/debug_level.tscn Normal file
View file

@ -0,0 +1,52 @@
[gd_scene load_steps=9 format=3 uid="uid://p8agd0dfam0p"]
[ext_resource type="PackedScene" uid="uid://be5bc5gjbo875" path="res://scenes/player.tscn" id="1_ra6oo"]
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_g80j5"]
sky_horizon_color = Color(0.64625, 0.65575, 0.67075, 1)
ground_horizon_color = Color(0.64625, 0.65575, 0.67075, 1)
[sub_resource type="Sky" id="Sky_wlahx"]
sky_material = SubResource("ProceduralSkyMaterial_g80j5")
[sub_resource type="Environment" id="Environment_rwve8"]
background_mode = 2
sky = SubResource("Sky_wlahx")
tonemap_mode = 2
glow_enabled = true
[sub_resource type="PlaneMesh" id="PlaneMesh_wak6a"]
size = Vector2(1000, 1000)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8wti1"]
albedo_color = Color(0.157906, 0.300646, 0.191269, 1)
[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_m4bnl"]
[sub_resource type="BoxMesh" id="BoxMesh_5i27t"]
size = Vector3(2, 2, 2)
[node name="DebugLevel" type="Node3D"]
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(-0.866025, -0.433013, 0.25, 0, 0.5, 0.866025, -0.5, 0.75, -0.433013, 0, 0, 0)
shadow_enabled = true
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource("Environment_rwve8")
[node name="Floor" type="StaticBody3D" parent="."]
[node name="FloorMesh" type="MeshInstance3D" parent="Floor"]
mesh = SubResource("PlaneMesh_wak6a")
skeleton = NodePath("../..")
surface_material_override/0 = SubResource("StandardMaterial3D_8wti1")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Floor"]
shape = SubResource("WorldBoundaryShape3D_m4bnl")
[node name="Player" parent="." instance=ExtResource("1_ra6oo")]
[node name="DebugCube" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, -10)
mesh = SubResource("BoxMesh_5i27t")

76
scenes/main.tscn Normal file
View file

@ -0,0 +1,76 @@
[gd_scene load_steps=4 format=3 uid="uid://cswuap81n7t3f"]
[ext_resource type="Texture2D" uid="uid://b6ylra30qxf30" path="res://resources/logo/logo.png" id="1_fpt28"]
[ext_resource type="PackedScene" uid="uid://p8agd0dfam0p" path="res://scenes/debug_level.tscn" id="1_j851n"]
[ext_resource type="FontFile" uid="uid://dmc6dygxrekja" path="res://resources/fonts/BreatheFireIii-PKLOB.ttf" id="2_vjast"]
[node name="Main" type="Node3D"]
[node name="CurrentLevel" type="Node3D" parent="."]
[node name="DebugLevel" parent="CurrentLevel" instance=ExtResource("1_j851n")]
[node name="CanvasLayer" type="CanvasLayer" parent="."]
visible = false
[node name="MainMenu" type="Control" parent="CanvasLayer"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="VBoxContainer" type="VBoxContainer" parent="CanvasLayer/MainMenu"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/separation = 50
[node name="Logo" type="TextureRect" parent="CanvasLayer/MainMenu/VBoxContainer"]
layout_mode = 2
texture = ExtResource("1_fpt28")
expand_mode = 4
stretch_mode = 5
[node name="Label" type="Label" parent="CanvasLayer/MainMenu/VBoxContainer/Logo"]
layout_mode = 1
anchors_preset = 12
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_top = -23.0
grow_horizontal = 2
grow_vertical = 0
theme_override_colors/font_color = Color(0.945573, 0.745802, 0.348774, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 30
theme_override_fonts/font = ExtResource("2_vjast")
theme_override_font_sizes/font_size = 70
text = "M O N S T E R
F A N G E N"
horizontal_alignment = 1
max_lines_visible = 2
[node name="MenuButtons" type="VBoxContainer" parent="CanvasLayer/MainMenu/VBoxContainer"]
layout_mode = 2
size_flags_horizontal = 4
[node name="NewGameButton" type="Button" parent="CanvasLayer/MainMenu/VBoxContainer/MenuButtons"]
layout_mode = 2
text = "New Game"
[node name="ContinueGameButton" type="Button" parent="CanvasLayer/MainMenu/VBoxContainer/MenuButtons"]
layout_mode = 2
text = "Continue"
[node name="OptionsButton" type="Button" parent="CanvasLayer/MainMenu/VBoxContainer/MenuButtons"]
layout_mode = 2
text = "Options"
[node name="ExitButton" type="Button" parent="CanvasLayer/MainMenu/VBoxContainer/MenuButtons"]
layout_mode = 2
text = "Exit"

20
scenes/player.tscn Normal file
View file

@ -0,0 +1,20 @@
[gd_scene load_steps=4 format=3 uid="uid://be5bc5gjbo875"]
[ext_resource type="Script" path="res://scripts/player.gd" id="1_3fea3"]
[ext_resource type="PackedScene" uid="uid://cy36aygvs66pn" path="res://resources/models/gobot/gobot_skin.tscn" id="2_vivad"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_xuba7"]
height = 1.7
[node name="Player" type="CharacterBody3D"]
script = ExtResource("1_3fea3")
[node name="GobotSkin" parent="." instance=ExtResource("2_vivad")]
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 0)
[node name="Camera3D" type="Camera3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 0, 2.66637, 3.20599)
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.85, 0)
shape = SubResource("CapsuleShape3D_xuba7")

44
scripts/player.gd Normal file
View file

@ -0,0 +1,44 @@
extends CharacterBody3D
@onready var animated_mesh = $GobotSkin
const SPEED = 5.0
const JUMP_VELOCITY = 4.5
func _ready() -> void:
pass
func _physics_process(delta: float) -> void:
animated_mesh.idle()
# Add the gravity.
if not is_on_floor():
velocity += get_gravity() * delta
animated_mesh.fall()
# Handle jump.
if Input.is_action_just_pressed("ui_accept"):
print("jump")
animated_mesh.run()
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")
if input_dir.length() > 0 and is_on_floor():
animated_mesh.run()
if input_dir.length() > 0 and not is_on_floor():
animated_mesh.fall()
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()