Cover:

Splash Screen.png

Icon:

bow-and-arrow (1).png

shield.png

lightspellicon.png

absorb.png


Introduction

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.


UI Section 🎨

Menus, HUD, and shader polish.

  1. Main Menu – start, help, quit buttons with 3D Background

    vlcsnap-2025-12-25-18h06m04s581.png

  2. Help Menu – controls, lore, character overview

    vlcsnap-2025-12-25-18h06m14s744.png

  3. Character Selection Menu – Information about each character.

    vlcsnap-2025-12-25-18h06m23s828.png


Script Snippets 💻

Some scripts driving the gameplay, small snippets :

  1. 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)