# Lantern Fox Studio

Lantern Fox is an indie game studio focused on atmospheric, story-driven games with expressive characters, handcrafted worlds, and systems that reward curiosity.

This repository contains the shared development environment for our current project, **Hollow Harbor**, a narrative exploration game built with Godot 4.

## Overview

In *Hollow Harbor*, players explore a flooded coastal town, restore abandoned signal towers, and uncover the stories of residents who disappeared during a decades-old storm.

The project is currently in active development. Expect unfinished content, placeholder assets, and breaking changes between branches.

## Features

- Handcrafted coastal environments
- Branching dialogue and quest decisions
- Dynamic weather and day-night cycles
- Inventory, journal, and collectible systems
- Keyboard, mouse, and controller support
- Data-driven dialogue and localization
- Configurable graphics, audio, and accessibility options
- Automated save files with multiple profiles

## Requirements

- Godot 4.3 or later
- Git 2.40 or later
- 4 GB of available disk space
- A GPU supporting Vulkan 1.0

For compatibility hardware, Godot can be launched using the OpenGL renderer.

## Installation

Clone the repository:

```bash
git clone https://github.com/lantern-fox/hollow-harbor.git
cd hollow-harbor
```

Open Godot, select **Import**, and choose the repository's `project.godot` file.

Alternatively, launch the editor from the command line:

```bash
godot --editor project.godot
```

The first import may take several minutes while Godot processes textures, audio, and shaders.

## Usage

Run the game from the editor by pressing **F6** to start the current scene or **F5** to start from the main menu.

To run the project directly:

```bash
godot --path .
```

To create a development build:

```bash
godot --headless --path . --export-debug "Linux" builds/linux/hollow-harbor
```

Replace `Linux` with an export preset defined in `export_presets.cfg`.

### Default Controls

| Action | Keyboard | Controller |
| --- | --- | --- |
| Move | `WASD` or arrow keys | Left stick |
| Interact | `E` | South face button |
| Sprint | `Shift` | Left trigger |
| Open journal | `J` | Select/Back |
| Pause | `Esc` | Start |

Controls can be remapped from **Settings → Controls**.

## Configuration

Local development settings are stored in `config/development.cfg`. Copy the example file before making changes:

```bash
cp config/development.example.cfg config/development.cfg
```

Common options include:

```ini
[game]
skip_intro=false
starting_scene="res://scenes/world/harbor.tscn"

[debug]
enabled=true
show_collision_shapes=false
show_fps=true

[audio]
master_volume=0.8
music_volume=0.7
effects_volume=0.9

[display]
window_mode="windowed"
resolution="1920x1080"
vsync=true
```

Local configuration files and save data should not be committed. Production defaults are defined in `project.godot`.

Save files are written to Godot's `user://saves` directory. Use the in-game profile menu to create, load, or delete saves.

## Project Structure

```text
assets/        Art, audio, fonts, and source media
config/        Development configuration templates
data/          Dialogue, quests, items, and localization data
scenes/        Godot scenes organized by feature
scripts/       Gameplay and editor scripts
shaders/       Visual effects and materials
tests/         Automated and integration tests
tools/         Importers and development utilities
```

## License

Source code is licensed under the MIT License unless otherwise noted. Game assets, writing, characters, music, and branding are © Lantern Fox Studio and may not be redistributed without permission.