LifePlay-Revival/README.md
2026-10-08 08:31:23 +02:00

199 lines
13 KiB
Markdown
Raw Permalink 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.

# LifePlay Revival — Unreal Engine 5.5 port
Community continuation of [LifePlay](https://github.com/vinfamy/LifePlay) by Vinfamy, a free, open-source and moddable
life simulation RPG (**adult content**), ported from Unreal Engine 4.27 to **Unreal Engine 5.5**.
## Download the full project
This Git repository does not contain the heavy assets (see [Repository contents](#repository-contents)). To build or
play, download the full source archive.
**[LifePlay_Revival_V1.5_UE5.5_Full_Source_Code.7z](https://mega.nz/file/n0BCwQSI#BZxJphBJNEmsZ6_WrVEbYMbfgwiL1srVXQmhz-3_3es)** (Mega, 6.20 GB) — developer archive (full project)
- SHA-256: `a71e77ca98c9a86399e4e8685f2b7ea74d6e9358694094968648f98acf7bc9d3`
- Larger than V1.4 because it includes the reference version `Releases/2026.10.1.5` (1.25 GB, already compressed
game packages), needed to cook asset mods.
- Previous versions:
- [LifePlay_Revival_V1.4_UE5.5_Full_Source_Code.7z](https://mega.nz/file/OooWxJSD#NXYzXcAUayOgQASAb-S-b2IWLd0nvGCT7ONsuJ1NOJM)
(4.94 GB, SHA-256 `bda44e52e8f45775e09fdea51b613bb64fc5e0c7fd0ec76108804e0bb39b3426`);
- [LifePlay_Revival_V1.3_UE5.5_Full_Source_Code.7z](https://mega.nz/file/etRHxBgL#HahjZwDV9SFlZ9sZvOc6hz_6JBgg-YjO14UUe0C73Fs)
(4.95 GB, SHA-256 `24e7d58f759ca8998fe0d7ddc8c6a4c30262978806903e6d3deb68b37c46512a`);
- the V1, V1.1 and V1.2 archives are no longer hosted; their Git state remains available with the `v1.0`, `v1.1`
and `v1.2` tags.
- Same layout as the original author's full source archives: the project folder at the archive root, 7z LZMA2.
- Contains the complete `Content` folder (including `Content/Heavy` converted to UE5 format), the compiled editor
modules in `Binaries` (the project opens without compiling), the `StreetMap` and `ModdingExtra` plugins, and a
`.git` folder matching this repository. From V1.5: the mod sources (`ModSources/`, with their assets) and the
reference version `Releases/<version>` needed to cook asset mods.
- Not included: `Saved`, `Intermediate` (regenerated on first build), local development tools.
Check the file after downloading (PowerShell):
```powershell
Get-FileHash .\LifePlay_Revival_V1.5_UE5.5_Full_Source_Code.7z -Algorithm SHA256
```
## Game content
This repository contains the engine port: source code, Blueprints, configuration, tools and documentation. The
game's text modules (`Content/Modules`, including `vin_Base`) and the heavy assets are not in the repository: they
are part of the full source archive linked above. A clone of this repository compiles, but has no playable content
until the modules from the archive are copied into `Content/Modules`.
## Status: V1.5 (tag `v1.5`, 2026-10-03) — LifePlay 2026.10.1.5
Mods can now bring their own 3D assets, and the Mod Manager is available from the title screen. Verified in game.
- **Version number.** New format `year.month.major.minor`: V1.5 is `LifePlay 2026.10.1.5` (V1.4 stays `2026.10.4`).
- **Asset mods.** A mod can ship cooked 3D assets (meshes, textures, materials) in `LifePlay/Mods/<mod>/` next to its
text module in `LifePlay/Content/Modules/<mod>/`, without rebuilding the game. Mods are cooked against the
**reference version** of the release (`Releases/2026.10.1.5`, included in the full source archive). Tools:
`NewMod.ps1`, `EditMod.ps1`, `HairPipeline.ps1`, `BuildMod.ps1` and the modding guide, which now live in a separate
mod workshop repository (not part of this repository; the game builds and runs without it).
- **Mod Manager on the title screen.** Choose your mods before starting or loading a game; the choice is saved. A mod
that the game does not know yet starts disabled (as in the original game), unless its `.lpmod` declares
`MODULE_DEFAULT_ENABLED: true`.
- **Mod metadata and version warning.** New optional `.lpmod` keys (version, dates, license, author link, price, game
version), shown in the Mod Manager; the game warns when an enabled mod was built for another game version.
- **Pocolov hairstyles as a mod.** The Pocolov hairstyles left the base game: they are now the asset mod
`lpr_hair_pocolov` (12 hairstyles, CC BY 4.0; sources in the mod workshop repository, credits in its
`CREDITS.txt`).
- **Game build.** The packaged game only contains the base modules `vin_Base` and `vin_VanillaRealistic`. The source
archive and this repository keep all modules.
## Status: V1.4 (tag `v1.4`, 2026-10-02) — LifePlay 2026.10.4
Moddable hairstyles, first new content, and a lighter game build. Verified in game.
- **Version number.** The main menu shows `LifePlay 2026.10.4`: year, month, release number (V1.4 = 4), read from
`ProjectVersion` in `Config/DefaultGame.ini`.
- **Hairstyles open to mods.** The hairstyle, beard and body-hair lists are no longer locked inside the `GI`
Blueprint: they are text files (`Content/Modules/**/*.lphair`). The base list is
`Content/Modules/vin_Base/Hairstyles/vin_Base.lphair` (verified identical to the original Blueprint table); any
module can add hairstyles with a three-line file, and disabling the module removes them.
- **6 new hairstyles** (Pocolov Hair 03, 06, 11, 15, 16, 17 — CC BY 4.0, credits in
`Licenses/Free_3D_Models_Credits.txt`), in the new `lp_Revival` module. They follow the head, neck and chest
(weights transferred from the body) and do not cut through the skin.
- **Hairstyle import pipeline** for developers (now in the separate mod workshop repository): `HairPipeline.ps1` converts a static FBX hairstyle (Fab or
elsewhere) in two commands; protocol in
[`Docs/Migration/13_Protocole_Coiffure.md`](Docs/Migration/13_Protocole_Coiffure.md) (French).
- **Main menu.** Original author credited (Vinfamy); Donate links to the LifePlay Revival Patreon; new Discord link;
the "Commission Game Content" button is hidden.
- **Lighter game build.** The packaged game only contains the essential modules (`vin_Base`, `lp_Revival`,
`vin_VanillaRealistic`); the game handles missing modules. The source archive and this repository keep all modules.
- **Editor.** Thematic collections (`LifePlay_*`, regenerated by `Tools/BuildCollections.py`).
## Status: V1.3 (tag `v1.3`, 2026-10-02)
Data-loading release. Measured with Unreal Insights and verified in game.
| | V1.2 | V1.3 |
|---|---:|---:|
| Game data loading when starting or loading a game | ≈ 12.6 s | **≈ 1.3 s** |
| Scene header parsing (`PopulateScenes`) | 3.6 s | 0.15 s |
- **Data layer.** The ≈ 2,000 text files of `Content/Modules` are loaded once, in the background while the main menu
is shown, into a compiled cache (one JSON file per data type, `Saved/LPDataCache`, in `%LOCALAPPDATA%\LifePlay\Saved`
for the Shipping build). Only new or changed files are read again. The text files stay the source for the base game
and for mods: modding is unchanged.
- **Scene headers in C++.** The `WHAT:`/`WHERE:` expansion of scene headers, 94 % of scene loading, now runs in C++
with exactly the same results (verified against the original Blueprint on every call: 0 difference).
- **Fixes.** No more HairStrands errors at startup. ERR-038 (characters from the previous room briefly visible) is
still open: an experimental fix was withdrawn after testing.
## Status: V1.2 (tag `v1.2`, 2026-10-02)
Optimisation release. Every change was measured with the engine profilers (CSV profiler, memory tracker, Unreal
Insights) and validated in game. Details: [`Docs/Migration/11_Audit_Optimisation.md`](Docs/Migration/11_Audit_Optimisation.md).
| Shipping build | V1.1 | V1.2 |
|---|---:|---:|
| Size | 3,246 MB | **1,494 MB (−54 %)** |
| Files | 24,249 | **2,084** |
| Loading a saved game ("Continue") | ≈ 71 s | **≈ 15 s** |
| Physics memory | 463 MB | **83 MB** |
| Total memory | ≈ 3.5 GB | **≈ 3.1 GB** |
- **Faster loading.** The city map gave a physics body to each of its ≈ 160,000 decorative trees, cars and building
markers (the same in UE 4.27). Their collision is now disabled; clicks on map icons are unaffected.
- **Compressed content.** Game content now ships in UE5 IoStore containers compressed with Oodle (the engine
defaults). `Content/Modules` (all mods, text files) and the intro movie stay as plain files, so modding works as
before. The `ModdingExtra` plugin finds cooked assets through the asset registry when they are not plain files
(city list).
- **Smaller build.** 20 engine plugins the game never uses (neural network denoiser, Interchange, Fab…) are limited to
the editor, and debug symbols are no longer shipped.
- **Textures.** 29 clothing, road and pavement textures now have mipmaps (less shimmering at a distance).
- **Fixes and improvements carried over from the post-V1.1 work**: the phone call box now frames the contact's face
(was empty in UE 4.27); characters' feet are no longer hidden in outdoor locations (a ceiling 18 cm above the floor,
also in UE 4.27); explicit rendering settings and `SkyAtmosphere` instead of the deprecated `AtmosphericFog`.
- **Documentation** (French) for developers: architecture after the migration, developer guide, useful commands,
operating protocol — start at [`Docs/Migration/README.md`](Docs/Migration/README.md).
## Status: V1.1 (tag `v1.1`, 2026-10-01)
Changes since V1, each validated in game against UE 4.27 on an identical play path:
- **Text search fix (CX-B12).** In UE 5.5, searching for an *empty* substring reports a match at position 0, whereas
UE 4.27 reported no match. Blueprint `Contains`, `Split` and `Find Substring` nodes therefore behaved differently
(for example, face morph filtering let every morph through). 385 nodes in 28 Blueprints now call
`LPStringCompat` functions that keep the UE 4.27 behaviour. Runtime errors per character went back to UE 4.27
levels (session errors 30 → 7, out-of-bounds reads −22 %).
- **Deprecated nodes replaced.** 56 `Get SkeletalMesh` and 6 `GetRandomPointInNavigableRadius` nodes (same
behaviour, non-deprecated calls): Blueprint compilation and cooking now report **0 warnings**.
- **StreetMap verified.** All 280 cities (roads, buildings, amenities) and their 280 static meshes are identical to
UE 4.27; the smaller files come from the UE5 asset format, not from data loss.
- **Shipping build.** The Shipping configuration builds and was played without issue, with the same layout as the
original releases (loose files, no `.pak`, so the game stays moddable).
- Issues found during testing that also exist in UE 4.27 are documented in the error register and left unchanged.
## Status: V1 (tag `v1.0`, 2026-09-30)
- The `LifePlayEditor` target compiles with no errors; every Blueprint loads and compiles.
- All 8,563 project packages are saved in UE5 format.
- A packaged Development build was played for about two hours with no crash: distinct, visible and dressed characters,
scenes, saving and reloading.
- Known issues and planned work: [`Docs/Migration/Registre_Erreurs.md`](Docs/Migration/Registre_Erreurs.md) (error
register) and the L7 work packages in [`Docs/Migration/04_Cahier_Des_Charges.md`](Docs/Migration/04_Cahier_Des_Charges.md).
## Branches and tags
- `main`: **reference**, the latest validated UE 5.5 version, base for further development.
- Tags `v1.0` to `v1.5`: each released version as validated.
- The original project (UE 4.27) is Vinfamy's repository: [vinfamy/LifePlay](https://github.com/vinfamy/LifePlay).
## Developer documentation (French)
Start with [`Docs/Migration/README.md`](Docs/Migration/README.md). Main documents:
[architecture after the migration](Docs/Migration/07_Architecture_5.5.md),
[developer guide](Docs/Migration/08_Guide_Developpeur.md) (build, packaging, commandlets, writing a fix),
[useful commands](Docs/Migration/09_Commandes_Utiles.md) (including in-game diagnostic options) and the
[operating protocol](Docs/Migration/10_Protocole_Operations.md) followed for every change.
The change log [`Docs/Migration/Journal_Modifications.md`](Docs/Migration/Journal_Modifications.md) records every
change with its rollback procedure.
## Repository contents
Same rules as the original repository (see `.gitignore`): C++ code, configuration, the `ModdingExtra` and `StreetMap`
plugins, gameplay content (`BPs`, `UI`, `Structs`, `Render`, `Scenes`), the text data in `Content/Modules`, and
documentation.
**Not in Git**: `Content/Heavy` (3D models, textures, animations: about 6 GB), `Content/Saves`, `*.png`, `*.7z` and
`*.mp4` files, binaries and caches. **The repository alone is not enough to build or play**: use the archive above.
## Requirements
- Unreal Engine **5.5** (validated with 5.5.4), Windows 64-bit.
- Visual Studio 2022 with the "Desktop development with C++" workload, to rebuild the C++ modules.
- The `.uproject` references `McpAutomationBridge`, an optional AI editor-automation plugin used during the port
([ChiR24/Unreal_mcp](https://github.com/ChiR24/Unreal_mcp), MIT). It is not distributed here: when the editor asks,
let it disable the plugin.
## Migration documentation
The migration documentation is written in French. Entry point: [`Docs/Migration/README.md`](Docs/Migration/README.md)
(LifePlay architecture, software audit, test plan, specifications, change log, error register). The checking scripts
(`Tools/*.ps1`) and the diagnostic and fix commandlets (`Source/LifePlayEditorTools`) are described there.
## Licenses
Code and content are licensed under **AGPL-3.0** (`LICENSE`), like the original project. Third-party licenses and
credits (StreetMap, OpenStreetMap, ManuelLab, MakeHuman, 3D models, modding): see [`Licenses/`](Licenses/).