# Lanternfall

Lanternfall is a narrative exploration game about restoring light to a flooded archipelago. Sail between hand-crafted islands, recover lost memories, solve environmental puzzles, and rebuild a lighthouse that changes with every choice you make.

Developed by **Driftwood Fox**, a small independent game studio focused on atmospheric worlds, thoughtful stories, and accessible play.

## Features

- Explore twelve distinct islands by sailboat
- Solve environmental and light-based puzzles
- Discover optional stories through journals, ruins, and conversations
- Upgrade your boat and lighthouse workshop
- Make choices that affect characters and the ending
- Play with keyboard and mouse or a supported controller
- Adjust difficulty, text size, contrast, and motion settings
- Save progress automatically across multiple profiles

## Requirements

### Minimum

- 64-bit Windows 10, macOS 12, or Ubuntu 22.04
- Dual-core 2.5 GHz processor
- 4 GB RAM
- DirectX 11, Metal, or Vulkan-compatible graphics
- 3 GB available storage

### Recommended

- Quad-core 3.0 GHz processor
- 8 GB RAM
- Dedicated GPU with 2 GB VRAM
- SSD storage
- Gamepad with dual analog sticks

## Installation

### Steam or itch.io

Download Lanternfall from your storefront library and launch it normally. Updates are installed automatically by supported clients.

### Development Build

This repository uses Git LFS for large assets.

```bash
git lfs install
git clone https://github.com/driftwood-fox/lanternfall.git
cd lanternfall
git lfs pull
```

Install Godot 4.3 or newer, then import `project.godot` from the project manager.

To run the game from the command line:

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

To create a local release build:

```bash
godot --headless --path . --export-release "Windows Desktop" builds/lanternfall.exe
```

Export presets must be installed and configured before building.

## Usage

Select **New Journey** from the title screen to create a save profile. Progress is saved automatically when entering an island, completing a puzzle, or returning to the lighthouse.

### Default Controls

| Action | Keyboard and Mouse | Controller |
| --- | --- | --- |
| Move | `WASD` | Left stick |
| Look | Mouse | Right stick |
| Interact | `E` | South button |
| Use lantern | Left mouse button | Right trigger |
| Open journal | `J` | View/Select button |
| Open map | `M` | D-pad up |
| Pause | `Esc` | Menu/Start button |

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

### Save Data

Save files are stored outside the installation directory:

- Windows: `%APPDATA%\Godot\app_userdata\Lanternfall\`
- macOS: `~/Library/Application Support/Godot/app_userdata/Lanternfall/`
- Linux: `~/.local/share/godot/app_userdata/Lanternfall/`

Back up the entire `Lanternfall` directory to preserve settings and save profiles.

## Configuration

Most options can be changed in the in-game settings menu. Advanced settings are stored in `settings.cfg` inside the save-data directory.

Example configuration:

```ini
[display]
window_mode="fullscreen"
resolution="1920x1080"
vsync=true
frame_limit=60

[audio]
master_volume=0.85
music_volume=0.70
effects_volume=0.80

[gameplay]
camera_shake=0.50
auto_advance_dialogue=false
puzzle_assists=true

[accessibility]
subtitles=true
subtitle_size="large"
high_contrast_interactions=false
reduce_motion=false
```

Delete `settings.cfg` to restore default settings. Save files are not affected.

### Launch Options

The following command-line options are available in development and DRM-free builds:

| Option | Description |
| --- | --- |
| `--windowed` | Start in windowed mode |
| `--fullscreen` | Start in fullscreen mode |
| `--safe-mode` | Disable post-processing and use conservative graphics settings |
| `--language <code>` | Override the selected language |
| `--save-path <path>` | Use a custom save-data directory |
| `--skip-intro` | Skip startup logos |

Example:

```bash
lanternfall --windowed --language en --skip-intro
```

## Troubleshooting

If the game fails to start:

1. Update your graphics drivers.
2. Verify the installed files through your storefront client.
3. Start the game with `--safe-mode`.
4. Rename `settings.cfg` and try again.
5. Include the latest log file when reporting an issue.

Logs are stored in the same directory as save data under `logs/`.

## Contributing

Lanternfall is developed privately, but bug reports, accessibility feedback, and localization corrections are welcome. Before opening an issue, search existing reports and include:

- Operating system and version
- Game version
- Steps to reproduce the problem
- Relevant screenshots or video
- The latest log file

Please do not submit extracted assets, story spoilers in issue titles, or unsolicited large code changes.

## License

Source code in this repository is licensed under the MIT License unless otherwise noted.

Artwork, music, sound effects, dialogue, characters, and other game content are copyright © Driftwood Fox and may not be redistributed or used in other projects without written permission.