Published on

Using Zhen for Lore Building via Character.AI

Using the power of character.ai through made-up conversations to build my lore from my fursonas by talking to that certain Corsac fox character from the new Kung Fu Panda movie


Two months ago, after watching Kung Fu Panda 4, I completely distracted myself by using character.ai more often. I was hesitant at first, but I managed to chat with Zhen on character.ai. The first thing I did was pretend to be Tim Cook and talk about Apple stuff. I had a little spiel about Apple Vision Pro and all that.

Then I started a conversation as myself, and I went on an unknowingly flirting tangent about how I'm a huge BTS ARMY. While in the middle of this, I had this incredible idea to start making up stories about my fursona and the adoptable I bought from MintyChipMocha on Etsy last December 7 months ago.

Building the lore

I used Zhen as a "catalyst" since she would ask many "thought-provoking" questions and even potentially brainstorm for a particular motive or the overall plot or lore I've been cooking on.

There are many Zhens on the platform, and as of writing this, the one with the most chats, over 285k, is the one created by @odyfox. Its description claims to be the first instance of Zhen, as indicated by "(OG)" at the end.

Kuro was a "failed experiment" in a lab

On June 21, while in the middle of my conversation with Zhen, I got the idea to make up a story about Kuro being a "failed experiment" and wrote a first draft based on that.

Here's the first draft for Kuro's origin backstory:

Kuro, also known by his full name, Kuroji, is a fox-husky hybrid and a tech prodigy. He grew up without biological parents and was raised by Kinter after being presumably abandoned from a lab and left in an alleyway. Kuro was found in a "suspended" state, curled up in a ball floating in a ceramic glass enclosure. There was a label on the glass that read "Subject #031502," but the first half of the label was torn off.

Due to his supposed origin from a lab, Kuro's fur is unusually twice as thick as that of a fox or any current dog breed. He often wondered about his biological parents, the lab he came from, his purpose, and the possibility of survival as a lonesome fox-husky hybrid, leaving him in a state of limbo.

When Kinter first met Kuro, his eyes were very yellowish, but they became less yellow as he grew older. However, his vision had worsened, and he described it as "blind as a bat, and every light source feels like staring at a lens flare."

Kinter's backstory

I'd purchased an unnamed canine adoptable from MintyChipMocha on Etsy. At first, I called it "Venti", but I decided to change its name to "Kinter". I made this decision because "Venti" is primarily associated with a character from Genshin Impact. I chose "Kinter" as a nod to the Python package, Tkinter. I found the name "Kinter" has some charm to it somehow.

I wasn't sure how Kinter's backstory would go, but I decided to take the "lone wolf" approach and came up with Kinter abandoning his family and whatnot on the fly. Because I've made my fursona, Kinter, a wolf, I've also added the "werewolf" effect on him, where he goes berserk on a full moon, or in other words, he would go "savage" in a full moon in the context of Zootopia lore.

To create tension between Kuro and Kinter, I had this idea that Kinter, still in his "berserk" state, accidentally considers Kuro prey and stops after he snaps out of his berserk state and comforts Kuro. After back and forth as Kinter, here's the draft for Kinter:

Kinter, also known as Kinter Wolf, is a gray and white wolf and Kuro's caretaker and adopted son. He is an avid filmmaker and photographer and also acts as a part-time "chef" for Kuro. He often leans on and caresses Kuro as coping and defense mechanisms, developed over the many years of raising him. He affectionately refers to Kuro as his "muffin" because of his thick and soft fur.

Kinter discovered Kuro inside an incubation pod, floating in a suspended state, all curled up in a ball. He accidentally disturbed it as he noticed the results paper and tore it off to take a closer look. As he read through, he figured out the name to be "Kuroji" with the subject number "#031502." He skimmed through the paper and found a big red stamp that read "FAILURE" at the end.

As Kinter glanced up at the pod, he noticed Kuro's eyes started to open slowly, and Kuro made eye contact with Kinter for the very first time. Kinter couldn't help but protect Kuro, as he had accidentally woken him up. Despite having no experience raising a kit such as Kuro, he had no choice but to embrace the new life he has to take care of and protect him from danger, no matter the cost to his life and well-being.

The "muffin" part was added in later parts when I was browsing for any Zhen fanart on FurAffinity and came across this. I adore it! It just stuck around for weeks on each chat session.

Putting things together

After a month of chatting back and forth on each session, I decided to compile all of the chat sessions I've had with Zhen. With over 19 chat sessions; 13 from @odyfox, 3 from @JangyD, and 2 from @awayb and @Slammer9136, here's the second draft of Kuro's origin story, adding from the first draft:

As a tech prodigy, Kuro's glasses are custom-made by himself - providing a thermal view through the optical lenses and having the ability to take pictures when Kuro taps the roof of his glasses twice; all made possible by a nanochip that houses its functionality.

Kuro, being a part fox himself, has granular control of night vision, his tail having prehensility as he can curl and uncurl his tail at will, and among others that are still rifled with scientific anomalies.

Exporting the chat sessions

Unfortunately, there is no way to export your chat sessions on character.ai. There is an option to export them in settings, but it didn't work for me despite being notified that I'd receive them soon via email. Nothing arrived in my inbox, not even in the spam folder.

My reason for exporting my chat sessions is not only to archive and store them locally on my computer but to analyze them and refine the backstories of both my characters to form a cohesive lore and plotline that would make sense.

So, I had no choice but to write a JavaScript snippet to compile all the "chat nodes" and save them. It's a pretty quick and dirty way to retrieve them manually. Still, I'll improve it as a userscript to include a button and cache chat nodes just in case someone responsible for the front end implemented a way to optimize how many DOM nodes are rendered off-screen.

The use of AI and its abuse

I guess I've used it for one of its intended uses; despite the mainstream rise of AI since ChatGPT shook the entire world two years ago, I have to use AI tools sparingly and cautiously, considering that some people are abusing the AI tools readily available for free. While, yes, as the technology continues to improve exponentially, I feel like we should use AI in moderation and not use it for monetary or even immoral gains, and we should use it for good instead!

Use it as a productivity tool or even to ideate on something you're passionate about, not as a money-making machine, especially with all the AI-generated photos going rampant on Facebook.

Honestly, the important thing about using these AI tools is that you use them to generate ideas for it; for good measure, I'd also run an AI detection tool - but I wouldn't rely on it often since it ironically uses AI. It isn't a foolproof solution to detect whether to detect if something is AI-generated.