69 lines
2.3 KiB
Markdown
69 lines
2.3 KiB
Markdown
# Ariadne project goals
|
|
|
|
Ariadne analyzes a local Ren'Py game install.
|
|
It extracts source, builds a source graph, and plans routes through target nodes.
|
|
|
|
## Privacy constraint
|
|
|
|
Do not write the target game's title in the monorepo.
|
|
Use `target game` or `Ren'Py game` in committed notes, code, and pull requests.
|
|
Keep title-specific paths and names in ignored local data only.
|
|
|
|
## Goal order
|
|
|
|
1. Unlock all Steam achievements.
|
|
2. Maximize Season 3 dialogue coverage.
|
|
3. Extend the same coverage work to Seasons 1 and 2.
|
|
|
|
## Steam achievements
|
|
|
|
Achievement unlocks appear in source as reachable calls.
|
|
The first planning target is every achievement grant node.
|
|
|
|
Ariadne needs to find each grant call and compute route conditions that reach it.
|
|
This is source-graph coverage over sparse semantic targets.
|
|
|
|
## Season 3 dialogue coverage
|
|
|
|
Season 3 exposes an in-game percentage for seen dialogue.
|
|
The stat computes Ren'Py dialogue-block coverage from persistent seen data.
|
|
|
|
For this game, dialogue blocks map mainly to unique `Say` statements.
|
|
Ariadne should target Season 3 `Say` nodes as coverage targets.
|
|
|
|
The in-game percentage gives a validation signal for Ariadne's coverage model.
|
|
Season 3 also rewards high coverage inside the game.
|
|
|
|
## Seasons 1 and 2 coverage
|
|
|
|
Seasons 1 and 2 lack the same in-game percentage display.
|
|
Ariadne can still compute source coverage for their dialogue nodes.
|
|
|
|
Validation for these seasons will depend on Ariadne's own model.
|
|
Persistent seen data can still help later.
|
|
|
|
## State model phases
|
|
|
|
The first phase ignores player state.
|
|
It asks which routes cover all targets from source alone.
|
|
|
|
A later phase reads existing player state.
|
|
It uses save files or persistent data to remove completed targets.
|
|
|
|
That phase produces a personalized plan for remaining achievements and dialogue coverage.
|
|
|
|
## Graph model
|
|
|
|
The source graph needs typed nodes for labels, jumps, conditions, menus, visual statements, dialogue, and achievement grants.
|
|
Menus and conditions require branch edges and merge edges.
|
|
|
|
Dialogue and visual nodes support route explanation.
|
|
Achievement and dialogue nodes become coverage targets.
|
|
|
|
## Near-term implementation direction
|
|
|
|
Keep extraction and decompilation generic.
|
|
Parse source into typed graph artifacts.
|
|
Add achievement grant nodes before broad route planning.
|
|
Add Season 3 dialogue nodes as the next coverage target set.
|