top of page
Wheels of Time
Interactive Narrative Project
Wheels of Time was a personal project I made for my Interactive Narrative I course while at Champlain College.
The goal was to propose and deliver a short narrative experience from scratch; documenting your process along the way. When doing this project, I learned a lot about proper scoping and readjusting to fit expectations.
In it, you take the role of Kumiko Takahashi, a college student and monster hunter who is using limited time travel to try and ask out her best friend and fellow monster hunter, Isadora Duncan, without screwing it up or getting caught.
Status - Complete (6 Weeks)
Skills - Narrative Design, Character Writing, Python
Early Concepting and Initial Proposal
Wheels of Time was first conceptualized when the need for a final project was announced; I knew I wanted to make a "dating sim" of some kind, but exactly what it would be about, I wasn't quite sure.
I initially started by drafting basic characters that might be "datable" by coming up with a sentence long character gimmick. For example: "A college-aged witch who you can only talk to by agreeing to help with their weird rituals that you know nothing about." Names and backgrounds were not important, as the goal was to get concepts to work off of.
While doing this, I ended up creating a character who's "gimmick" was that they were using limited time travel to predict what you said in conversations. I thought it would make for some funny dialogue, and tried fleshing out how it worked in-universe more. As I did so, I realized that I was quite attached to the gimmick, and thus the concept of Wheels of Time began to form.
A slide from my pitch presentation.
I pitched the concept without having specific characters in mind other than 2 "archetypes" so to speak: a cheery upbeat best friend, and the protagonist, a shy and somewhat selfish individual who's primary strength is their determination. The concept would have seen the player going through two different scenes.
Scene One was intended to be the player asking the friend on the date, acting as an introduction to the "rewind" mechanic. (Ren'Py's normal save/load features were disabled to facilitate this.) This would work after several attempts but they'd have been unable to actual explain that it was a date, leading to Scene Two if the player did not turn back at this point.
In Scene Two, the player was intended to be stuck on a ferris wheel with their friend. Their time magic was to be somehow taken away from them, putting them into a time sensitive situation where they were forced to confess, and in the process realize that perfecting romance wasn't what was needed.
Concept Revision
While this was a fine concept, in practice it had two problems. One, it was too long. Those two scenes I mentioned would have been hell to make in my limited time, especially since I knew I wanted to make custom character designs that I drew myself.
Second, it didn't quite communicate the message I wanted, and taking away the time magic right after learning it kind of defeated the purpose. Instead, I opted to truncate the two scenes, using the first scene as a prologue rather than the bulk of the game.
Then, the second scene was to now be the focus of the game. The ferris wheel provided a very nice in-game timer; each "cart" of the wheel could act as a single "turn" in the conversation. In this way, Wheels of Time became more of a puzzle game in concept.
With the concept reworked, it was time to begin fleshing out the most important aspect of the game: the characters.
Character Writing and Design
As mentioned earlier, at this point I only had two vague concepts of characters. There still needed to be actual named characters for this to work. When drafting, I primarily focused on attempting to flesh out their backgrounds, some facts about them, and a few personality traits I could work off of when writing them.
For the best friend, I settled on a character named "Isadora", a musically inspired character who was unflinchingly optimistic, highly outgoing, and overwhelmingly energetic. In effect, I aimed to make her as seemingly "perfect" on the outside as possible.
Her name was taken from famous American dancer Isadora Duncan, mostly because it sounded similar to the phrase "Is adorable." If you go back far enough in the names etymology, you'll eventually find the traditionally masculine name Isidoros, a greek name which means "Gift of Isis." I thought this felt appropriate for a character who was going to be idolized.
There was also the added fact that I had determined the character was likely going to be transgender, so I picked a name that felt like something someone would pick for themselves. Hence, why they share a name with a famous individual. Plus, its just very fun to say, and easy to turn into an affectionate nickname.
Isadora's Concept Art + Character Bio. Isn't she just adorable?
With the best friend generated, I then moved onto the protagonist; seeking to make a character who contrasted with them as much as possible. I ended up settling on a character who was much more solidly independent, had a dim pessimistic view of the world, and a generally awkward air about them that they're only able to overcome when talking about the things they have a true passion for.
My goal was to make a character who could just as easily be the villain of this story, but still have reasons as to why someone would like them back, while being someone that could be disliked. I wanted to make them more obviously true to reality, where people are rarely purely good or purely evil. I think this makes them more human.
Due to this character's explicit connection to time, I ended up naming them "Kumiko", a Japanese name which can be roughly translated as meaning 'Child of Forever,' or 'Eternal Beauty'. The first is the more relevant, poking at her time magic and the fact that she'll be stuck in a time loop until she emotionally matures and breaks the cycle.
Since this character is intended to be cisgender, the second reading makes sense in the context of her parents actually giving her the name; it feels like something that was gifted rather than chosen. And like Isadora, it's a fairly easy name to shorten for nicknames. The last name doesn't have any particular meaning; I just picked one that sounded like a real name.
Kumiko's Concept Art + Character Bio. Morally ambigious at best.
There were a few minor characters planned, most notably Kelli, Isadora's mother, who was another recycled character from the gimmick phase; these were not nearly as fleshed out, because they weren't going to be on screen for very long, if at all. Regardless, they did exist but never got their own bios.
Writing Process
Wheels of Time ultimately was split into 4 different scenes, which I bounced between to edit as necessary. The starting scene is just a simple introduction to the character and the world premise, which was also the first thing I wrote. I drafted the basic dialogue first.
Feedback told me that it felt too slow, so I ended up shortening the segment down by cutting out unnecessary information, and added a few dialog choices with no narrative effects. This had the effect of obfuscating details of the world a bit more, which I found created a mystery for players and kept them engaged. The dialog choices also made them feel more involved, which helped it from feeling too slow.
The player is able to respond however they'd like.
A similar structure was used for the other scenes, such as the flashback scene and the start of the festival. I made sure to focus entirely on writing; while I was working on art assets in my spare time, the goal was to get the raw text in as soon as physically possible.
However, I did make notes as I went of where I thought that sounds and images could potentially go directly within the ren'py script file.
Notes in script. I didn't get to implement sound, but it was helpful to have.
When it came to the actual wheel scene, however, this approach wouldn't work. As it was more of a puzzle, the process I decided to use was to generate specific "moments" within the conversation.
Each moment had some potential option to lower or raise Isadora's affinity, which allows you to reach the point where you can do endings. However, most of these options aren't obvious to the player, or even available unless a dialogue option has already been picked in a later scene.
To not lose track of what was happening, I made sure to note for each scene what each option did, if there was extra information the player could gain from any of the options, and if any information was needed for certain options.
The player gets an additional choice based on what they saw.
For example, one scene has Isadora notice an interesting bird before Kumiko does. This scene provides the player with the "knowledge" that such bird exists, meaning that on a future loop, they can notice and point this out for an affinity increase.
I also included options that simply allow the player to stall for time, or that allow the player to have dialogue that doesn't advance the conversation in the slightest, but provides small moments of world building. This both made it far less likely that the player could randomly select their way through, and gave enough options for it to feel like a proper conversation.
The number of remaining carts act as a ticking clock for the player.
The player is on a time limit, with each dialogue choice taking away a single of the 12 carts of the wheel. So the player gets 12 decisions to make. Whenever they run out of time (or reach an ending they don't want), they can hit the reset option to return to the start. Affinity is set back to 0, but the player's knowledge is retained.
There's a few endings the player can reach, but the most important one requires both high affinity, and for the player to have hit all of the hidden dialogue options.
Endings and Messaging
The endings were appropriately the last thing that were written for the game. There's two "true" endings, one "fake" ending, and a few failure state endings. The failure state endings serve the purpose of having dead ends that prompt the player to reset. Running out of carts is a fairly banal ending, and the player will always be prompted to reset here.
The other one is a more direct love confession, which ends up leading to the player annoying Isadora, as it becomes clear that Kumiko isn't considering her own feelings on the matter. The player can choose not to reset here; doing so leads to the "fake" ending, in which the pair are unable to repair their friendship, and Kumiko eventually resets after a few months.
This was meant to keep the game mostly closed, and to show just how far Kumiko is willing to go before she realizes the problem with what she's doing.
Dialogue from the false end. Things can incredibly poorly.
Getting enough affinity will allow the player to properly confess what it is they've actually done to Isadora, but eventually gives them the option to reset again. Originally, this lead right into a single true ending, where they get together.
However, while some players seemed willing to forgive Kumiko at this point, most of my testers told me that it felt a bit forced. I agreed with this, and so I added the game's final choice; choosing whether to reset at this critical moment.
One final choice. Does she deserve a second chance?
Both lead to an ending, resetting to an ending where they simply remain friends, while not resetting leads to a more romantic outcome. The whole game has been asking the player if they feel that it's right for these two to try and pursue any sort of relationship after what's happened.
This moment is therefore crucial to the entire game, and is what makes it something which could only work in an interactive narrative concept. The player is the one who makes that choice, NOT the author. It is up to the player to decide what they feel is the right outcome, and there is no "best" answer, like in most other dating sims.
Both are valid outcomes, and what's important is what feels right for the story. If I hadn't taken feedback, I likely would have never made this choice, and I'm glad I did.
bottom of page