Epok Engine
Documentation/Extend & understand
← All guides
On this page

2.5D engine acceptance scene

START WITH THE BIG PICTURE

What does this part of Epok do?

The 2.5D demo combines two scenes, textured geometry, animated sprites, collision, particles, HUD, audio and transitions in one playable route. It is a practical feature cross-section.

  1. 01Run and learn the controls
  2. 02Inspect the active scene and scripts
  3. 03Trace a portal, effect or HUD feature back to its guide

What is happening under the hood?

  • Courtyard and Night exercise registered scene banks.
  • The route combines sprite characters with editable 3D geometry.
  • Runtime counters and deterministic tooling make it useful for performance validation.

Field note: Use the demo as a reference, not as a closet for unrelated experiments.

Open this project in Epok and build Game, or run epok-editor --project examples/rpg-2-5d-demo --build-psx from the engine checkout.

The exported demo running in PCSX-Redux at 640 × 480

The courtyard and night scene share two imported original pixel-art atlases. The scene includes a textured floor and occluder, an OBJ-imported stone ramp with material/UVs, lit upright sprite animation, front/behind depth examples, a continuous additive campfire, a manually triggered particle burst, a portal trigger, portrait and English HUD text. All artwork is generated by tests/fixtures/create_rpg_demo.py and is part of the project's MIT-licensed source. The original OBJ/MTL sources are in assets/models; the authored asset was imported with the static OBJ pipeline.

The Water mesh adds a third texture with wrapped UV scrolling, semitransparency and palette cycling. Night also enables distance fog. These effects share the pauseable simulation clock.

Controller Action
D-pad Move with collision; walk around the occluder
Cross Emit a bounded burst at the player
Circle Alternate creating and destroying a sprite slot
Triangle Activate/deactivate the campfire
Square Query ground and display result
Select Alternate courtyard/night; shared resources remain resident
Start Pause/resume simulation

Check that sprites pass behind/in front of the wall without opaque backgrounds, particles expire and reuse slots, the HUD controls and status text remain readable, pausing freezes animation/particles, and repeated scene swaps restore authored state. GPU ordering tables cannot resolve intersecting polygons perfectly; depth bias is an explicit authoring control.

Expanded for the web and checked against develop · View technical source · 8ba2896