Cover:

Icon:
.png)

![]()

Welcome to the devlog for The Dark Crescent. This page documents progress on UI, player systems, and core mechanics. Images and notes below show current development, scripts, and planned next steps.
Menus, HUD, and shader polish.
Main Menu – start, help, quit buttons with 3D Background

Help Menu – controls, lore, character overview

Character Selection Menu – Information about each character.

Some scripts driving the gameplay, small snippets :
Loading Screen Logic – updating health, stamina, and magic bars dynamically
func load_opening_cutscene() -> void:
if GameManager.is_opening_cutscene_laoded:
return
if load_path == "":
push_warning("LoadingScreen: No opening cutscene path set.")
return
ResourceLoader.load_threaded_request(load_path)
while true:
var status := ResourceLoader.load_threaded_get_status(load_path)
if status == ResourceLoader.THREAD_LOAD_IN_PROGRESS:
await get_tree().process_frame
elif status == ResourceLoader.THREAD_LOAD_LOADED:
break
else:
push_error("LoadingScreen: Failed to load opening cutscene.")
return
var packed_scene := ResourceLoader.load_threaded_get(load_path)
if not packed_scene:
push_error("LoadingScreen: Loaded resource is invalid.")
return
stop_spinner()
get_tree().change_scene_to_packed(packed_scene)