Scenes Push Emotions Forward — The Context System

 


We designed the emotion system. With the three-layer model, we separated character disposition, momentary emotions, and relationship state. We also established a structure where love is never increased directly but emerges from a combination of conditions.

Yet as the conversation with AI continued, one missing piece became visible. Tracking emotions alone is only half the picture.

"Are you okay?"

Consider this single line. Hearing it on a rainy night, in front of someone's house, just the two of you — concern, protectiveness, and intimacy rise. Hearing it in a school hallway during lunch, surrounded by friends — it is nothing more than a casual check-in. Hearing it on a cold evening right after a fight — it is an attempt at reconciliation, tinged with regret.

The line is the same. The emotions are different. What creates the difference is the scene.

Scene Context

The structure AI proposed is this: separate from emotion variables, maintain a dictionary that tracks the state of the scene.

default scene_ctx = {
    "location": "classroom",
    "time": "noon",
    "weather": "clear",
    "privacy": 0,        # 0=public, 1=semi-private, 2=alone together
    "mood": "neutral"    # calm / warm / tense / lonely / nostalgic
}

And events should not be gated by emotions alone — they should open based on emotion + scene conditions.

if trust >= 40 and scene_ctx["time"] == "night" and scene_ctx["weather"] == "rain" and scene_ctx["privacy"] >= 1:
    jump vulnerable_conversation

If trust is 40 or above, it is nighttime, it is raining, and the space is at least semi-private — a conversation where the character opens up becomes available. This way, the player naturally understands why that kind of talk emerged in that particular scene.

Locations Are Not Backdrops but Emotional Amplifiers

Together with AI, we mapped out the role of each location. They are not mere backgrounds — each location functions as an amplifier for specific emotions.

Classroom — A space of social awareness. Reputation, watchful eyes, public tension. Conversations here always exist under the constraint of "someone else might see." A space where it is hard to be honest.

Rooftop / Empty classroom — A space of isolation. Secret conversations, confessions, disconnection. The tension created by a space shared only by two. Words that cannot be spoken in everyday life come out here.

Front door / Entrance — A space of thresholds. To go in or not. Hesitation just before a relationship advances. The fork between "we part ways here" and "we go inside together."

Bus stop / Station — A space of timing. A brief coincidence. A moment that ends if missed. A place where partings and meetings intersect.

Festival / Amusement park — A space of excitement. An atmosphere different from the everyday. Relationship misreadings come easily, and jealousy is easily triggered. Emotions that break free from routine emerge here.

Each of these locations paints emotions in a different color. Even the same "confession" event becomes an entirely different scene depending on whether it happens in the classroom, on the rooftop, or at a bus stop.

Weather Is Not Decoration but a Trigger

Weather is not a mere visual effect either. It operates as an emotional trigger.

Rain — Creates isolation. Accidental closeness (sharing an umbrella), emotional exposure, memory reinforcement. Conversations on rainy days feel heavier than on clear days. Because there is now a physical excuse to be closer.

Snow — Creates a sense of stillness. A special day, reminiscence, promises. A feeling as though time has stopped. Snowy scenes lend a sensation of stepping outside the everyday.

Clear skies — Everydayness. Bright relationships, light conversation. Suited for scenes that center on actions rather than emotions.

Overcast — Unresolved emotions. Premonition. A prelude to a heavy conversation. A vague sense of unease that something is about to happen.

When AI organized all of this, it noted that "using weather as a metaphor for emotion is a long-established literary technique." Pathetic fallacy — the device of projecting emotions onto the natural environment. The same principle applies in visual novels. The difference is that in a visual novel, we can implement it as a system.

The Emotional Meaning of Time of Day

Time of day is another important piece of context.

Morning — A beginning. Awkwardness. Emotions not yet sorted out. The discomfort of facing last night's events again in the morning.

Afternoon — Pragmatic. Events progress. The hours of routine. Actions take center stage over relationships.

Evening — Emotions loosen. The fatigue of the day lowers defenses. A time when it is easy to slip into deep conversation.

Night — Honesty. Loneliness. A time that pairs well with fear of loss, confessions, and regret. Words spoken at night carry more weight than those spoken in daylight. This is true in real life as well. Everyone has experienced regretting a late-night text the next morning.

Same Event, Different Scene

Here is one example that demonstrates the power of this system. The umbrella event.

if scene_ctx["weather"] == "rain":
    if rel["trust"] >= 30:
        "He naturally tilted the umbrella toward me."
        $ rel["affection"] += 3
        $ flags["shared_umbrella"] = True
    else:
        "He offered to share, but an awkward silence was all that stretched between us."
        $ rel["tension"] += 2

Same rain, same umbrella. Depending on the relationship state, it becomes an entirely different scene. In a relationship where trust has been built, it leads to natural intimacy. In a relationship that is still awkward, it only heightens the tension.

This is the core of the context system. The same event produces different emotions depending on the conditions.

The Minimum Starting Set

The realistic starting set we organized with AI looks like this.

  • 5 locations
  • 4 times of day (morning, afternoon, evening, night)
  • 4 weather types (clear, overcast, rain, snow)
  • 5 moods (calm, warm, tense, lonely, nostalgic)
  • 3 privacy levels (public, semi-private, alone together)

With just this, 5 x 4 x 4 x 5 x 3 = 1,200 context combinations are possible. Of course, there is no need to implement all of them. The approach is to select only the meaningful combinations for key scenes and build branching paths from those.

When I asked the AI to "pick the 10 most emotionally powerful combinations from this set," the results were interesting. Combinations like night + rain + alone together + tense, and evening + clear + alone together + nostalgic ranked near the top. Most of the AI's picks aligned with my intuition, but a few were unexpected. "Morning + clear + public + calm" appeared high on the list, and the AI's explanation was that "it can serve as the calm before the storm." The everyday as a backdrop for a twist. That was a perspective I had not considered.

What matters is that the player naturally understands "why this emotion emerged in this scene." It is a rainy night and they are alone, so inner feelings come out. They met at a crowded festival, so they see a side of each other they normally would not. This sense of plausibility is what creates emotional authenticity.

In the next part, we will cover the third core system. The memory system — the technique of not showing the consequences of choices immediately, but detonating them later.


Next: The Art of Delaying Consequences — Designing the Memory System

댓글

이 블로그의 인기 게시물

사랑을 직접 올리지 않는 설계

감정을 변수로 옮기다 — 3계층 감정 모델

시작의 충동 — "타로 웹앱을 만들어볼까?"