Skip to main content

Project Ecosystem

Stalker PDA isn't a single repository — it's several connected parts. Knowing about them is useful even for a story writer: it helps you know "where to look" and who to ask.

Repository map

RepositoryWhat it isWhy a story writer cares
artux-net/pdaThe Android game (client), built with libGDX/KotlinThis is where the engine "lives": it runs the story, draws the map, and calculates faction relations and combat
artux-net/pdanetworkBackend on Spring Boot (Kotlin/Java)Stores stories and player inventories, syncs progress, and serves the story editor
artux-net/pda-assetsGame assets: maps (.tmx), textures, sounds, fonts, interface localizationThis is where the location files themselves and base faction settings live
artux-net/pda-questsReady-made stories/quests in JSONExamples and content drafts — a good cheat sheet for "how others do it"
pda-quest-editor-web (repository zethange/pda-quest-editor-web)The web-based story editorThe story writer's main tool — see the “Story Editor” section

How it all works together

Story writer
│ writes a story visually

Story Editor (story.artux.net)
│ saves/publishes the story JSON

Backend pdanetwork ──────────────┐
│ serves stories and syncs │ stores: player progress,
│ inventory/xp/money │ inventory, faction relations,
▼ │ item catalog
Game pda (Android client) ◄──────┘
│ runs stages/conditions/actions,
│ draws the map (.tmx from pda-assets),
│ calculates combat and NPC relations

The player sees: dialogues, map points, rewards, notifications

Key idea: a story is data, not code. In the editor, a story writer assembles a JSON structure (chapters → stages → conditions → actions), and the game on the device already knows how to run it. New content almost never requires changes to the game's Kotlin/Java code — only data (the story in pda-quests/via the editor, the map in pda-assets).

Access roles

Both the backend and the editor use a single role system: USER < TESTER < MODERATOR < ADMIN. Every story has an access field — the minimum role from which a player can see the story (for example, to test a not-yet-public quest with TESTER accounts without showing it to everyone). More details in “Publishing and Access”.

What's next