Source, config, and docs only — UE template assets stay local to save storage. Co-authored-by: Cursor <cursoragent@cursor.com>
100 lines
2.8 KiB
Markdown
100 lines
2.8 KiB
Markdown
# VocationLife
|
||
|
||
A life-simulation action RPG remake inspired by Fantasy Life, built in **Unreal Engine 5.8**.
|
||
|
||
## Vision
|
||
|
||
- First-person gameplay (primary) with classic top-down camera toggle
|
||
- 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 (FP / Top-Down) | V | Menu |
|
||
| Quick save | I | Y / Triangle |
|
||
| Pause | Esc | Start |
|
||
|
||
### Pause menu shortcuts
|
||
|
||
While paused:
|
||
|
||
- **F1–F5** — 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
|
||
```
|
||
|
||
## 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.
|