01 / History
A simple idea.
Many versions of learning.
Kisport started with a colored cube to check depth, controls and pause in M3G. The synthetic runner added jumping, sliding and collisions; early W900i reports revealed slow input and flickering when requesting the backlight.
The next stage moved conversion to the PC: interpret geometry, textures and animation, compact the data and rebuild a 3D experience as a native Java ME application. The phone renders and simulates using its own APIs.
Streaming, shared textures, QUAD, preloading and M3G profiles arrived between 0.5 and 0.7.20. Versions 0.7.21–0.7.35 turned the technical route into Stage 1: traffic, courtyards, interiors, pedestrians, trucks, checkpoints, audio and a final screen at 240 × 320.
02 / Architecture and conversion
The heavy work starts on the PC.
Interpret local source files
PC converters read geometry, textures, animations and positions. Original-format readers and Java SE libraries stay off the phone.
Compact and audit
Custom binary formats, reports and hashes record what is converted and what may be packaged.
Prepare incrementally
The next chunk is preloaded during traversal. At most two chunks remain resident; texture pages are shared.
Simulate and render
Input → fixed-step 20 ms simulation → M3G rendering and HUD → flushGraphics → wait. Input edges accumulate between frames.
Check the artifact
The audit loads the actual preverified JAR in FreeJ2ME-Plus. The subsequent physical test must identify the same artifact by SHA.
- KPS3
- Chunk geometry
- KPV
- Visibility
- KPW2
- World and collisions
- KPO
- Objects
- KPC
- Characters
- KPM
- Lit models
- KPU
- 2D interface
- KTT
- Text tables
CLDC 1.1, MIDP 2.0 and JSR-184 define the phone environment. The historical build uses Java 1.3 language features, bytecode 45.3 and CLDC preverification StackMap data. The modern JDK is a PC tool.
Read the technical handbook →03 / Rendering systems
M3G, with its constraints in view.
M3G renders geometry in layers, using QUAD strips that group pairs of triangles without changing the surface. OVERWRITE is requested only when the implementation supports the hint, with a fallback if rejected. Compatibility distinguishes M3G 1.0 from 1.1.
The character uses rigid 16-bone skinning calculated on the CPU. The converted catalog contains 26 clips and 703 frames, but each context loads only its own clips. Character lighting remains provisional.
KPV visibility precalculates candidate triangles on the PC. Its laboratory geometry reduction does not imply a universal improvement: an early W900i test omitted a chunk, invalidating its FPS. QUAD remains the reference.
A measured decision
M3G vs Mascot Capsule
In Probe's synthetic scenes, Mascot was faster on W995 and slower on W900i. M3G is retained for vertex color, partial alpha and per-pixel depth.
See figures, methodology and limitations ↗04 / Performance in context
Every figure needs its scene.
| Result | Environment and version | What it establishes |
|---|---|---|
| ~83 ms transition | Historical W900i report · 0.5.1 | Shared textures reduced the reported transition from 1–1.7 s. This is not a measurement of the final beta. |
| −18% triangles | Desktop · KPV visibility | Less geometry submitted in the reference test; performance depends on the driver and visual integrity. |
| ~40 KB less clip data | Converted resources · 0.7.23 versus 0.7.22 | Loading clips by context reduces the level's catalog. It does not measure all physical phone memory. |
| W900i: 14.4 → 15.5 FPS | Reported hardware · 0.7.19 · QUAD vs VISIBLES · audio OFF | One run per configuration, with 10 s warm-up and 60 s measurement. VISIBLES also increased loading work and reduced the minimum free heap. |
05 / Beta evidence
The same JAR.
A stated scope.
The editorial record documents two identical artifact rebuilds and audits of the preverified JAR. These tests ran in the engine project; they were not performed by this website.
General tests: compilation, formats, CLDC rules and absence of Java SE dependencies.
Private smoke checks of traversal, interactions, audio and the ending in an emulator.
Visual checks in normal and M3G 1.0 profiles. These are not tests on phones.
Size of the audited private JAR. The artifact and its commercial resources are not distributed here.
83 resources were compared with 0.7.34: 79 remain identical. The artifact contains 25 preverified classes and 230 methods with CLDC StackMap data.
SHA-256: 7597a3c52614515da59de1be48bf85b73f2f202257f77a358ce44a1e5146c772
06 / Devices
Compatibility, backed by evidence.
Main platform
Sony Ericsson W995
Main target since 0.7.18. Historical measurements exist; a full physical playthrough of the 0.7.35 artifact is still pending.
Final physical validation pendingLegacy profile · M3G 1.0
Sony Ericsson W900i
The owner reported that the W900i-P1 variant passed the previously failing section. This is a partial test, without certification of the full level or extended sessions.
Partial physical reportFreeJ2ME-Plus checks behavior in an emulator. It does not reproduce every driver cost, native memory, audio or the phone's CLDC verifier.
Compatibility protocol →07 / Approved visual archive
How it started.
Two original screenshots of the synthetic 0.2.x prototype in FreeJ2ME-Plus. They document the engine's origins; they do not show Stage 1 or validate hardware.


Screenshots and videos of the Pepsiman port require an explicit publication review. This edition retains the technical documentation without distributing those materials.
08 / Versions and changelog
The path to the beta.
- 0.7.35 ·
First Stage 1 beta closed in the lab. The final facade was restored and mirrored pedestrian crops were fixed.
Desktop and FreeJ2ME-Plus · final hardware testing pending - 0.7.31–0.7.34 ·
Trash can, construction site, window, two jumps, respawns, audio and animated results.
Private JAR audits in an emulator - 0.7.26–0.7.30 ·
21 chunks and 100 cans; courtyards, manholes, trucks and the ending sequence.
Implementation and emulator - 0.7.21–0.7.25
Traffic, HUD, delivery scene and animation clips by context.
November 11–12, 2026 · laboratory - 0.7.18–0.7.20
Precalculated visibility, layer tests and different scales for M3G 1.0/1.1.
Historical physical measurements; 0.7.20 validated on desktop - 0.5–0.7.17
Streaming, shared texture pages, QUAD, preloading and audio diagnostics.
November 6–10, 2026 · code and physical reports - 0.3–0.4
Geometry, texture and animation conversion. First scene and rigged character.
November 5–6, 2026 · code and emulator - 0.2.x
Cube, depth, synthetic runner, pause and controls. First physical reports of input and backlight behavior.
Up to November 5, 2026; exact screenshot dates not established
09 / Keep exploring
The engineering behind the journey.
Technical handbook ↗
Architecture, formats, streaming, audio and validation method.
Pepsiman Java ME ↗
The project demonstrating the engine, with its own status and scope.
Check the provenance of figures and content →