A small Unreal Engine C++ puzzle game built with Codex: one research facility, two eras, and two connected puzzles. Playable prototype — not a finished game.
Watch/download the 30-second in-engine trailer · Playtest 03 source release
Switch between 2036 and 2086. A bridge survives in the past, but so does its security system. Carry a power cell across time, then use clues from the present to calibrate three machines in the past and unlock the final exit.
- Native first-person movement, collision, raycast interaction, and era switching.
- Two continuous rooms: the archive and the resonance chamber.
- Physical bridge/laser obstacles, three rotating phase rings, and sliding doors.
- Chinese HUD, contextual hints, pause/retry menus, and in-session checkpoints.
- Procedurally built geometry, original materials and synthesized sound effects.
- MIT-licensed original project code and assets; Unreal Engine is separate.
Tested with Unreal Engine 5.8.2, macOS on Apple Silicon, and Xcode 26.4. Other platforms have not been verified. No packaged executable is provided.
- Install Unreal Engine 5.8 and its supported C++ toolchain.
- Clone this repository. No Git LFS setup is required.
- Open
TimeLayerPrototype.uprojectand allow the editor module to compile, or build using the command below. - Open
/Game/TimeLayer/Maps/Archive, press Play, and press Enter to begin.
On macOS, the helper builds the module and opens the game window:
chmod +x Scripts/play-mac.sh
./Scripts/play-mac.shSet TL_ENGINE_ROOT if your engine is installed elsewhere. The helper invokes
the installed Unreal Editor in -game mode; it is not a standalone game build.
"/Users/Shared/Epic Games/UE_5.8/Engine/Build/BatchFiles/Mac/Build.sh" \
TimeLayerPrototypeEditor Mac Development \
-Project="$PWD/TimeLayerPrototype.uproject" -WaitMutex -NoHotReloadFromIDE| Action | Key |
|---|---|
| Move / look | WASD / mouse |
| Change era | Q, while grounded |
| Interact / rotate a ring | E, aim at the nearby object |
| Jump | Space |
| Pause / resume | Esc; Enter also resumes |
| Retry checkpoint after failure | Enter |
| Restart the entire run | R |
| Reduce transition effects | F |
| Quit | Menu, or Command+Q on macOS |
Use a Latin/English keyboard input method. The interface is currently Chinese. Checkpoints last only for the current process; closing the game loses progress.
TimeLayerState.h holds the pure puzzle rules. TimeLayerRoom.cpp builds the
environment and connects state to collision and interaction. TimeLayerCharacter
handles input; TimeLayerHUD supplies the UI.
Two Unreal automation tests cover the puzzle guards and all 64 phase combinations. The in-engine functional test completed 63 checks on the tested Mac, including actual movement/collision, E-key raycasts, clue visibility, checkpoints and both puzzles' completion. Test fixtures reposition the player between sections; this is not a continuous human playthrough or a frame-rate benchmark.
Run automation from Session Frontend using the TimeLayer filter. For functional
tests, start the editor with -ExecutePythonScript=<absolute path to Scripts/runtime_test.py>.
Results and captures are written to ignored Saved/TimeLayerTests.
GitHub Actions also compiles Tests/rules_smoke.cpp without Unreal Engine and
checks the shared pure-state rules. This lightweight CI does not replace the
editor's collision, graphics, or input tests. The public checkout has additionally
been built independently with the tested Mac toolchain.
The room recreates its own generated components on construction/start. Persist
layout changes in C++; edits to generated components will not survive a rebuild.
Unrelated actors are left alone. Scripts/bootstrap.py can regenerate the
authored material/map assets, but replaces the actors in the Archive map — use
it only on a clean checkout or after backing up your map edits.
The project was developed with Codex using C++, Unreal's Python editor API, native MCP tools, and functional tests. Included scripts make the work inspectable. The built-in ModelContextProtocol/EditorToolset plugins are enabled for optional editor use, but automatic MCP server startup is disabled in this public project. Keep any development interface bound to localhost; never expose it publicly.
Small prototype, not AAA-quality production content. No combat, networking, persistent saves, controller support, packaged app, or full performance audit. An editor shutdown produced a crash report during development after tests had completed; its cause is not established. Long-session stability remains unverified.
MIT for original project content. See third-party notices for the Unreal Engine licensing boundary. No engine code or editor binaries are included. Contributions and playtest feedback are welcome.
《时间夹层》是使用 Codex 协作开发的原生 UE C++ 第一人称解谜原型。 你需要在旧时和现世之间切换,先回收能源、恢复供电,再利用跨年代线索 校准三环,打开最终出口。当前是两间房、两道谜题,不是已完成的商业游戏。 项目原创内容按 MIT 开源;运行需要自行安装 UE 5.8 和 C++ 编译工具链。

0 comments
log in to comment.