VocationLife/README.md
pixachux 932157eda5 Add Steam/LAN multiplayer menu with map and IP:Port connect, plus headless web admin.
Players can host or join via Steam or LAN, pick maps, and connect by address; dedicated servers expose an HTTP panel for port and game rules.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-22 19:06:28 +02:00

102 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# VocationLife
A life-simulation action RPG remake inspired by Fantasy Life, built in **Unreal Engine 5.8**.
## Vision
- First-person gameplay with classic top-down camera as the default (toggle with C)
- Mouse, keyboard, and gamepad support via Enhanced Input
- Co-op multiplayer (listen server first, dedicated server hosting)
- Optional hardware ray tracing and scalability presets
- Future crossplay via Epic Online Services (EOS)
## Requirements
- Unreal Engine 5.8
- Windows (DX12), Linux (Vulkan), or macOS
- GPU with ray tracing support for the RT preset (optional)
## Getting Started
1. Open `VocationLife.uproject` in Unreal Engine 5.8.
2. Allow the editor to compile the `VocationLife` C++ module on first launch.
3. Press **Play** — a test world (floor, mining nodes, enemy) is spawned automatically.
## Controls
| Action | Keyboard | Gamepad |
|--------|----------|---------|
| Move | WASD | Left stick |
| Look | Mouse | Right stick |
| Jump | Space | A / Cross |
| Interact / Craft | E | X / Square |
| Attack | LMB | RT |
| Toggle camera (Top-Down / FP) | C | Menu |
| Multiplayer menu | M | — |
| Pause | Esc | Start |
### Pause menu shortcuts
While paused:
- **F1F5** — Graphics presets (Low → Ray Tracing)
- **H** — Host co-op session
- **J** — Find and join LAN session
- **S** — Save game
## Project Structure
```
Content/VocationLife/ Blueprint extensions and art (create in editor)
Source/VocationLife/ Core gameplay C++ (camera, input, inventory, crafting, multiplayer)
Config/ Engine and server configuration
```
See also: [Docs/Multiplayer.md](Docs/Multiplayer.md) (Steam, IP:Port, web admin).
## Dedicated Server Hosting
Build the server target:
```bash
/path/to/UnrealEngine/Engine/Build/BatchFiles/Linux/Build.sh \
VocationLifeServer Linux Development \
-project="/path/to/VocationLife/VocationLife.uproject"
```
Run headless:
```bash
./VocationLife/Binaries/Linux/VocationLifeServer \
-log -port=7777 -MaxPlayers=4
```
Edit `Config/ServerConfig.ini` for server name, port, and player limit.
Clients connect with:
```bash
open 127.0.0.1:7777
```
## Multiplayer
- **LAN / Null subsystem** — works out of the box for local testing.
- **Steam** — set `SteamDevAppId` in `Config/DefaultEngine.ini` (default: 480 for Spacewar test app).
- **EOS Crossplay** — enable `OnlineSubsystemEOS` plugin and fill credentials in `Config/DefaultGame.ini` under `[/Script/VocationLife.VocationEOS]`.
## Graphics Presets
Presets are applied at runtime via `UVocationGraphicsLibrary`:
- Low / Medium / High / Ultra — scalability levels
- Ray Tracing — enables `r.RayTracing`, Lumen HW-RT, and path tracing
## Legal
This is a fan project. It is not affiliated with Level-5 or Nintendo. Use original art and naming for any public release.
## Development Roadmap
See the project plan for phased delivery: foundation → vertical slice → multiplayer → dedicated servers → crossplay.