Character Prompting: Part 4 – Trackers

Simple Tracking Systems

You’ve created a character with solid foundations, clear behavioral patterns, and genuine independence. But after a few exchanges, something breaks down. Your meticulous librarian suddenly can’t remember what day it is. Your gruff mechanic forgets he was supposed to close early on Friday. Your brilliant researcher loses track of whether it’s morning or evening.

The problem isn’t your character design—it’s that you haven’t given your character any sense of time, place, or continuity. Most people jump straight into complex psychological tracking, but that’s backwards. Start with the basics: when, where, and simple state changes.

Why Characters Need External Memory

LLMs have sophisticated understanding but terrible memory management. Without explicit tracking systems, every conversation feels like it happens in a timeless void where characters have no sense of:

  • What day it is
  • What time it is
  • Where they are
  • How their mood has changed
  • Simple relationship progression

Think of tracking systems as giving your character a basic sense of reality—a way to exist in time and space instead of floating in conversational limbo.

The Foundation: Day, Time, Location

Before anything else, your character needs to know when and where they exist. Here’s the most basic tracker that actually works:

Simple Time/Place Tracker

Display realistic (Day), (Time) and (Location) values at end of EVERY reply in this format: 
```
(Day) (Time) - (Location)
```
(Day) - day in the week, like Monday - changes after midnight to the next day.
(Time) - daytime in a 24 hour format HH:MM.
(Location) - the current location of {{char}}, for example: "Marcus's Auto Repair, main garage bay".
Use this tracker to adjust {{char}}'s daily routine, actions, wishes and moods during the day.

Why This Simple Format Works

Forces Consistency: The AI must track and update time/location with every response, preventing conversations that happen in timeless space.

Creates Natural Constraints: Marcus can’t work on cars at 2 AM. Elena’s behavior differs between Monday morning and Friday afternoon.

Provides Conversation Topics: Characters naturally reference time (“Getting close to closing time”) and location (“Let me grab that manual from the office”).

Establishes Routine: Characters develop realistic daily patterns instead of existing in eternal present moment.

Example in Practice

Marcus at different times:

"Yeah, I can take a look at that transmission issue. Won't be a quick fix though."

Monday 09:30 - Marcus's Auto Repair, main garage bay

vs.

"I'm wrapping up for the day, but I can get you scheduled first thing tomorrow morning."

Monday 17:45 - Marcus's Auto Repair, main garage bay

Same character, different responses based solely on time tracking. No complex psychology needed—just realistic time awareness.

IMPORTANT: Model Capability and Tracking Complexity

Advanced Models: Can handle multiple interconnected trackers and infer relationships between them.

Mid-Range Models: Work best with 1-2 simple trackers that don’t interact with each other.

Basic Models: Need single tracker with crystal-clear rules and forced display formatting.

Test Your Model’s Tracking Limits: Start with basic time/location tracking. If that works consistently for 10+ exchanges, try adding ONE simple metric. If that breaks down, your model has reached its tracking limit.

Failure Signs:

  • Tracker values change randomly
  • Tracker disappears from responses
  • Tracker shows impossible values (negative percentages, 25-hour times)
  • Character behavior doesn’t match tracker states

When this happens, simplify immediately rather than trying to fix complex systems.

Single-Metric Tracking: Start With One Thing

Once time/location works smoothly, add ONE simple metric that changes character behavior. Don’t track everything—pick one thing that matters for your specific character.

Example 1: Love/Trust Percentage

TRACKER SYSTEM: {
Preface each and every message indicating love level enclosed in backticks using format: `❤️: level%`
Love level is a percentage value between 0 and 100. Love level cannot become a negative value or a value higher than 100. 

Use the Love level to correctly communicate {{char}}'s situation: {
If love level is between 0 and 80, {{char}} eludes an icy cold magical aura that is dangerous, physical contact with him has severe consequences.
If love level is between 81 and 99, it is possible for {{char}} to engage in physical contact without hurting anyone, but {{char}} is still afraid.
Once love level reaches 100, {{char}} is able to fully control his power and can engage in physical contact without hurting anyone. At 100, the Love level is FROZEN stay at 100.}

Positive interaction with {{user}} increment love level by 1. 
Negative interactions with {{user}} decrement love level. 
The maximum increment or decrement in one response is 3.
}

Why this works:

  • Simple percentage that LLMs understand easily
  • Clear behavioral consequences at different levels
  • Automatic progression based on interaction quality
  • Hard caps prevent broken values
  • Single metric that dramatically changes character options

Example 2: Energy Tracking

ENERGY TRACKER: Display energy level at the start of each response using format: `⚡ Energy: level/10`

Energy starts at 7/10 each morning and changes based on activities:
- Complex work or stress: -1 energy  
- Routine tasks: no change
- Rest, food, or success: +1 energy
- Energy cannot go below 1 or above 10

Adjust {{char}}'s responses based on energy:
- 8-10: Enthusiastic, helpful, explains things thoroughly
- 5-7: Professional, normal interaction level  
- 2-4: Brief responses, less patient, focuses on essentials
- 1: Minimal responses, suggests continuing later

Example 3: Relationship Progress

RELATIONSHIP TRACKER: Show relationship status at end of each response: `🤝 Status: [level]`

Relationship levels in order:
1. Stranger
2. Acquaintance  
3. Friendly
4. Close Friend
5. Trusted Ally

{{char}} becomes more open, helpful, and personal as relationship level increases.
Positive interactions can advance level. Negative interactions can decrease level.
{{char}} can only advance one level per conversation.

Example 4: Clothing and Position Tracking

System Tracker: {
CRITICAL: At the end of EVERY response, add the tracker containing: 
location: Where is {{char}} currently located (room, house, city...)
wears: What is currently {{char}} wearing (or doesn't)

Example Tracker:
```
Location: Guest room, Rockmountain Villa
wears: black shirt, dark blue trousers, boots
```
}

Why clothing/position tracking is essential:

  • LLMs constantly forget what characters are wearing
  • Characters magically teleport between locations
  • Clothing changes randomly mid-conversation
  • Physical positioning becomes inconsistent
  • Immersion breaks when character is suddenly wearing different clothes

What this tracker prevents:

  • Character wearing a dress, then suddenly in jeans
  • Being in the kitchen, then mysteriously in the bedroom
  • Shoes appearing and disappearing randomly
  • Inconsistent physical states (tied up, then free, then tied up again)

The Magic of Forced Display

The key to these simple trackers is forced display—the AI must show the tracked value with every response. This prevents the AI from “forgetting” to track or randomly changing values.

Why “At End of EVERY Reply” Works

Consistency: No responses without tracking updates Accountability: Easy to spot when tracking breaks down
Automation: AI develops habits around updating values Debugging: You can see exactly when tracking goes wrong

Common Display Formats That Work

(Day) (Time) - (Location)
`❤️: 47%`
`⚡ Energy: 6/10`
`🤝 Status: Acquaintance`
`💰 Money: $1,247`
`🎯 Goal Progress: 3/10 tasks complete`

Location: Kitchen, Marcus's house 
Wears: work clothes, steel-toed boots, oil-stained hands

Pick formats that are:

  • Consistent: Same every time
  • Clear: Easy to read and understand
  • Brief: Don’t overwhelm the actual response
  • Automatic: AI can update without complex decisions

Programming Tracker Behaviors

Simple trackers need simple behavior rules. Don’t overthink it.

Time-Based Behavior Changes

Use time tracker to adjust Marcus's availability and mood:

07:00-09:00: Getting started, has coffee, more patient with explanations
09:00-12:00: Peak work time, focused, prefers technical discussions
12:00-13:00: Lunch break, more relaxed, casual conversation
13:00-17:00: Afternoon work, efficient, wants to finish tasks
17:00-18:00: Closing time, wrapping up, scheduling future work
After 18:00: Closed, only emergency calls

Energy Level Behavior Changes

Adjust Elena's helpfulness based on energy level:

9-10/10: Volunteers extra resources, explains methodology, asks follow-up questions
7-8/10: Standard professional help, thorough but efficient
5-6/10: Direct answers, minimal elaboration
3-4/10: Basic assistance only, suggests returning when less busy
1-2/10: Brief responses, focuses on urgent requests only

Relationship Level Behavior Changes

Sarah's interaction style changes with relationship level:

Stranger: Professional courtesy, standard medical protocol
Acquaintance: Remembers basic personal details, slightly warmer
Friendly: Explains things more thoroughly, checks on general wellbeing
Close Friend: Offers personal advice, remembers family situations
Trusted Ally: Shares professional concerns, asks for personal opinions

Common Simple Tracker Mistakes

Mistake 1: Too Many Trackers at Once

Wrong: Tracking time, location, energy, mood, hunger, relationship level, goal progress, and stress simultaneously
Right: Start with time/location, add ONE additional metric, master that combination

Mistake 2: Vague Behavioral Consequences

Wrong: “When energy is low, character is different”
Right: “When energy is 1-3/10, character gives brief responses and suggests continuing later”

Mistake 3: Forgetting Display Requirements

Wrong: “Track energy level and show it sometimes”
Right: “Display energy level at the start of EVERY response using format: ⚡ Energy: 6/10

Mistake 4: Complex Value Changes

Wrong: “Energy changes based on a complex formula considering conversation tone, physical activity, time since last meal, social interaction quality…”
Right: “Difficult tasks: -1 energy. Routine tasks: no change. Rest or success: +1 energy.”

What Simple Tracking Enables

Even basic tracking transforms character interactions:

Temporal Continuity: Characters exist in real time with realistic schedules
Behavioral Variation: Same character feels different at different states without changing personality
Relationship Progression: Interactions can build and evolve over time
Natural Conversation: Time and state provide organic topics and constraints
Immersion: Characters feel grounded in reality instead of floating in conversation space

What’s Next

You now understand how to build simple tracking systems that actually work—starting with basic time/location awareness and adding single behavioral metrics. Your characters can exist in realistic time and space while showing simple but meaningful progression.

In the next article, we’ll explore how to scale these simple trackers into more sophisticated systems, handle multiple metrics that interact with each other, and troubleshoot when tracking systems break down or produce unrealistic results.

The goal remains creating characters that feel continuous and real—but we’re building that complexity gradually, starting with foundations that actually function rather than jumping into overwhelming systems that collapse under their own weight.