Akari presents a shared engine connecting a level editor, desktop game and browser player.
Engineering / Knowledgebase

TECHNICAL NOTE

The Gynara Legend // gynara.game-platform

The Gynara game platform

How the custom engine, WPF Maker, desktop game and WebAssembly player share rules.

Production Practitioner Updated 2026-11-04

01 / WHAT

What it does

The illustration is concept art; the descriptions below refer to implemented software.

The Gynara Legend combines a custom 2D engine, the Windows Gynara Legend Maker editor, a desktop game, and a WebAssembly player delivered through Drakima Arcade. Campaign 1, The Fall of Valkyrie Dome, is owner-accepted for beta. It connects side-scrolling exploration and combat to the Wayward Star escape flight. Later authored campaigns are not evidence of additional published or accepted releases.

02 / WHY

Why it works this way

Shared rules let the editor, desktop player and browser work from the same authored campaign while keeping their platform responsibilities explicit.

03 / HOW

How it works

One platform, distinct responsibilities

Layer Technology Responsibility
Maker C#, .NET 10, WPF/XAML Windows documents, scene tools, inspectors, previews and export UI
Engine Portable C# Fixed-step movement, collision, attacks, resources, animation and events
Content Versioned definitions and typed asset references Load, validate and compile authored game data
Simulation Shared C# orchestration Rooms, party rules, encounters, narrative timing and campaign transitions
Desktop player .NET and Raylib-cs Rendering, input, sound and native application lifecycle
Browser player .NET WebAssembly, AOT and JavaScript Shared game presentation with browser-specific loading, audio and input
Arcade website ASP.NET Core, EF Core and PostgreSQL Account admission, release delivery and independent input verification

WPF supplies the Windows editor interface. The browser runs portable game code through WebAssembly. Visual Studio is the development/debugging environment; MSBuild and the pinned SDK also support command-line builds. Raylib provides multimedia primitives, while Gynara owns the gameplay and authoring rules built on those primitives.

Why shared rules matter

The ordinary simulation uses fixed time steps, with a default scheduler step of one sixtieth of a second. Rendering has its own cadence. Movement and attack rules therefore have an explicit timing owner rather than depending directly on a display's refresh rate.

The same gameplay libraries support native play, browser prediction and website verification. This reduces duplicated interpretations of rules. It does not make every platform concern identical: browser audio requires user activation, memory is constrained, and web sessions have transport and authorization boundaries.

Maker also measures the actual character motor when deriving jump capability and checking generated routes. A platform that looks reachable must still satisfy movement, body clearance and landing requirements. Manual editing remains available; generation is optional.

A focused engine

Current production centers on Side Scroller and Shoot 'Em Up. A broader three-genre architecture exists, but Beat 'Em Up is deferred. The platform is specialized for Gynara campaigns and their characters, presentation and encounters. The next campaign will provide further evidence of how well those tools generalize.

Campaign 1 starts through Start Campaign, opens its intro directly, and keeps gameplay progress within the current attempt. Flight defeat offers flight retry or Main Menu. After the final victory sequence, the five-Maiden thank-you scene holds for ten focused seconds, then permits Start/Enter while its music can continue. There is no player-facing Continue feature.

Continue reading

Implementation evidence in TheGynaraLegend: Directory.Build.props, src/Gynara.LegendMaker/Gynara.LegendMaker.csproj, src/Gynara.Engine/Timing/FixedStepScheduler.cs, src/Gynara.Game/SharedPlayer.projitems, src/Gynara.Browser/Gynara.Browser.csproj, and docs/current/architecture.md. Website ownership is described in architecture.

Further reading: Maintained handbook chapter.

SYSTEM SCHEMATICS

View the diagram and flow
How the responsibilities connect Conceptual ownership flow, not a live status report.
  1. 01
    Author

    Maker saves typed rooms and campaign definitions

  2. 02
    Simulate

    Portable engine and simulation apply fixed-step rules

  3. 03
    Present

    Desktop and browser adapters render the admitted state

  4. 04
    Deliver

    Drakima Arcade authorizes and serves an exact release

IMPLEMENTATION SAMPLES

Inspect the code examples
Contract at a glancetext
Author: Maker saves typed rooms and campaign definitions
Simulate: Portable engine and simulation apply fixed-step rules
Present: Desktop and browser adapters render the admitted state
Deliver: Drakima Arcade authorizes and serves an exact release

Illustrative contract summary. Follow the linked source owners for implementation; this is not an executable script.

AkariLoreKeeper

AKARI-LK // ASK ABOUT THIS TOPIC

Ask a why or how question about this article.

Ask about this system