A fan game relationship chart system should make bonds playable: trust lines, rival strings, secret links, scene receipts, and character reactions. Use it instead of a flat cast menu when the fun is watching everyone misread each other in public.
A cast menu is where character portraits go to become furniture. It tells you names, ages, factions, maybe a favorite snack if the game is feeling spicy. Then it sits there politely while the actual drama happens somewhere else.
That is a waste. Fan-game players already think in charts. They draw arrows between rivals, circle suspicious friends, and keep receipts for the one scene where two characters looked at each other for half a second too long.

Ren'Py screens can support custom relationship pages inside a visual novel flow. Godot's UI containers are useful when the chart needs resizable panels, labels, and hover states. Twine can prototype the same idea with passages, links, and variables. The point is not the tool flex. The point is giving the chart memory.
The lines should do work
A relationship chart gets boring when the lines only explain lore. Pink means friends. Red means enemies. Blue means mystery. Cute, but the player can see that from three dialogue scenes and one dramatic sting.
The better version gives each line a job. A trust line unlocks a private conversation. A rivalry line changes who interrupts a scene. A secret line appears only after the player catches a contradiction. The chart becomes a control panel for social pressure.
Cast menu
Shows portraits, bios, factions, and maybe static relationship labels.
Fine for reference. Weak when the game is about shifting alliances, ships, jealousy, and public mistakes.
Relationship chart
Connects characters with lines that can change after scenes, choices, rumors, and route flags.
Needs restraint. If every character connects to every other character, the chart becomes confetti.
Playable chart
Lets the player inspect lines, trigger callbacks, uncover hidden links, and watch social state mutate.
Start with six characters or fewer. The first version should be legible in one glance.
Start with three relationship lines
You do not need a giant spiderweb on day one. Start with trust, rivalry, and secret. That gives you warmth, friction, and paranoia. Basically fandom breakfast.
Trust
Use this when one character should cover for another, share a clue, or invite the player into a private moment.
Friend routes, found family arcs, team episodes, comfort scenesRivalry
Use this when a scene needs interruption, sabotage, competitive dialogue, or a crowd choosing sides.
Academy tournaments, idol groups, sports clubs, magical teamsSecret
Use this when the player discovers that two characters have history the public chart was hiding.
Mystery routes, betrayal plots, secret identities, fake dating chaosFor a first playable, I would test this in Chatforce Game Studio: six portraits, three line types, four scenes, and one moment where a new secret line appears after a choice. Chatforce is strongest when you need a browser-playable 2D version quickly enough to see whether the chart makes players curious. Ren'Py or Godot can take over later when the chart needs heavier polish, saves, animation, or a messier cast.
What each line should change
| Line type | Weak use | Playable use |
|---|---|---|
| Trust | A green line shows two characters like each other. | One character shares a clue only if the trust line is active. |
| Rivalry | A red line labels two characters as enemies. | A rival interrupts scenes, blocks invites, or changes crowd response. |
| Secret | A hidden line appears as lore trivia. | Finding the line unlocks a flashback, new route option, or changed accusation. |
| Strain | The line gets thinner after a bad choice. | The next group scene rearranges who stands near whom and who speaks first. |
Receipts beat percentages
Please do not turn the chart into another affection meter wearing a trench coat. A line labeled 67 percent trust is less interesting than a line with a receipt: Rooftop argument, Episode 2. Festival lie, day three. Group chat deletion, 11:48 PM.
Receipts make the chart feel like fandom evidence. They also give writers clean callbacks. When a character points to the exact moment a line changed, the system stops feeling abstract.
- Keep the first chart to six characters or fewer.
- Use three line types: trust, rivalry, and secret.
- Attach one scene receipt to every changed line.
- Make one line change within the first ten minutes of play.
- Let at least one later scene read the chart state.
- Hide exact percentages unless the game truly needs them.
Relationship chart
A character map where lines between portraits track trust, rivalry, secrets, strain, and scene receipts.
Scene receipt
A short note attached to a relationship change so players know which choice or scene caused it.
Secret line
A hidden relationship connection that appears after the player discovers evidence or reaches a route condition.
Chatforce Game Studio
A prompt-to-game workflow for testing a browser-playable 2D relationship chart prototype quickly.
Ren'Py screens
A visual novel UI system for building custom pages, buttons, labels, and relationship interfaces.
Do not use a cast menu when the relationships are the game. Make every line change something, attach receipts, and let the next scene react.
Fan Game Relationship Chart FAQ
What should a fan game relationship chart track first?
Start with trust, rivalry, and secret lines. Those three states create enough warmth, friction, and mystery for a small playable prototype.
Is a relationship chart different from an affection meter?
Yes. An affection meter usually tracks one character's feeling toward the player. A relationship chart tracks the social web between characters and can change scenes around that web.
How many characters should the first chart include?
Use four to six characters for the first version. More than that gets noisy before the player understands why each line matters.