LifePlay-Revival/README.md

134 lines
8.1 KiB
Markdown
Raw Normal View History

# 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.2_UE5.5_Full_Source_Code.7z](https://mega.nz/file/jsxiGBzC#p7ATVcKz-7f_9CIqwXkhv3nILTIQ8txy5K_RZNxpF_c)** (Mega, 4.94 GB)
- SHA-256: `fb298583743497799dd274cc62b8cf80fbef3445766be5898201924c64674f1a`
- Previous versions:
- [LifePlay_Revival_V1.1_UE5.5_Full_Source_Code.7z](https://mega.nz/file/rwpRTbjA#P6sKfJM8xfGeLXcIylUsUvRSGezLi36FWtXgwxFxvvo)
(4.94 GB, SHA-256 `6dbfb18e55e51558708239856b54f757b6044307d2d1cf261e88c94baaf617ae`);
- [LifePlay_Revival_V1_UE5.5_Full_Source_Code.7z](https://mega.nz/file/zloFkL7T#3P5GDfcfF5U352T0s472vCtyNh131RLgNWn__PSNL2I)
(4.85 GB, SHA-256 `38ee16640f960317348a044195a23b55ac8eda34aec085e661034dc9c26cc594`).
- 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.
- Not included: `Saved`, `Intermediate` (regenerated on first build), local development tools.
Check the file after downloading (PowerShell):
```powershell
Get-FileHash .\LifePlay_Revival_V1.2_UE5.5_Full_Source_Code.7z -Algorithm SHA256
```
## 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
| Branch | Contents |
|---|---|
| `main` | **reference**: the latest validated UE 5.5 version, base for further development |
| `ue5.5-v1.2` | the V1.2 as validated |
| `ue5.5-v1.1` | the V1.1 as validated |
| `ue5.5-v1` | the V1 as validated |
| `archive/ue4.27` | the project as it ran on UE 4.27, before the migration (archive) |
| `archive/original` | Vinfamy's original repository, V3.6 (archive) |
## 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.
Each migration step has `<step>-avant` / `<step>-apres` (before / after) tags. 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/).