Two characters of my novel speak to each other through GPT-4

This is a continuation of the following post:

Talking to a gooey blob through GPT-4

I have gutted the original class that coordinated dialogues (relying on GPT to produce responses) into several classes and modules. To test if the new system worked properly, I set Leire against Alberto the blob, and let the artificial intelligence produce their lines of dialogue according to the context and their character summaries.

Leire and Alberto the blob are main characters in my ongoing novel We’re Fucked. Here’s its latest chapter.

Anyway, the following is the resulting dialogue in its entirety. GPT-4 wrote it from the first to the last word.

Alberto: Look, Leire, I know we’ve had our differences and I’m not exactly a sight for sore eyes right now. Hell, I’m literally a walking nightmare, but this isn’t about us. Reality as we know it is teetering on the edge. I didn’t ooze down from another dimension just for kicks, you know. I need you to get past your disdain for humanity and help me fix this mess.

Leire: Alberto, I’ve got enough on my plate without dealing with your dimension-hopping drama. Besides, you’re asking me to save a species I barely tolerate. Why should I care if reality teeters on the edge?

Alberto: Look, I get it, Leire. You’re not a fan of the species, I know. Hell, neither am I, especially after what happened. But this isn’t about whether we like them or not. It’s about the potential end of everything, including us. You think I enjoy being a gooey, stinking, eyeball-studded blob? No, I don’t! But if we don’t act, I might end up being the last thing left in existence. And trust me, that’s not a universe anyone wants to live in.

Leire: Alberto, I find your existence, in all its gooey glory, as repulsive as ever. But even more repulsive is the thought of you being the last… whatever you are… in existence. I’ll help, not for the humans, but to ensure the universe isn’t left with just… you.

Alberto: Well, I can’t argue with that, Leire. I wouldn’t wish an eternity with just me on the universe either. Let’s get to work then and put my repulsiveness to good use.

Leire: Fine, let’s get this over with. But Alberto, if I hear even one sloppy squelch from your blobby self, I’m out.

Alberto: Deal, Leire. I’ll keep my squelching to a minimum. Now let’s get this universe-saving show on the road!

Leire: Alright, Alberto. Just remember, I’m only doing this to save Arachne’s universe, not the humans. And especially not to save you. Let’s get this catastrophe sorted out so I can go back to my quiet, blob-free life.

Alberto: Fair enough, Leire. Your motivations are your own. Let’s just focus on getting this reality back on track. And, uh, thanks… in as much as a grotesque blob can thank anyone without making it weird.

Leire: Alberto, just for the record, I’m not doing this for your gratitude. Now, let’s get to work. The sooner we fix this, the sooner I can get back to my code… and away from you.

Alberto: I wouldn’t expect anything less from you, Leire. Alright, let’s crack on with it. The quicker we do this, the quicker you can get back to your code… and I can stop being a constant, squelching thorn in your side.

Leire: Alberto, if you make this any more awkward than it already is, I swear by Arachne, I’ll send you back to whatever dimension you crawled out from. Now, let’s focus. The universe won’t save itself.

The AI made Leire even more of a bitch than in the original, and the blob relatively passive even though his character summary says that he’s abrasive and sarcastic. Whatever. For the next post, now that the dialogue works with two people, I’ll set up a dialogue among four or so, to see how the system handles it.

I wasn’t going to post more tests, but the second attempt produced this short, concise dialogue:

Alberto: Look, Leire, I didn’t ooze all the way down from the fifth dimension just to argue. We have to shut down that damn contraption before it tears reality apart. I know you don’t like people, hell, I don’t like people. But this isn’t about liking people, it’s about saving them… and everything else.

Leire: Alberto, you blob of cosmic goo, I don’t give a damn about people. But… (sighs) If that contraption threatens my Jacqueline and Nairu, then we have a problem. What do you need me to do?

Alberto: First, I need you to stop calling me a blob of cosmic goo. It hurts my myriad feelings. Second, we need to get to the professor’s lab, find the contraption, and destroy it. And third, you better start caring about people, Leire, or you’ll end up just like me.

GPT-3.5-turbo decided that the dialogue had reached a natural conclusion that soon.

You can clone the repository and mess around with it through this link.

Talking to a gooey blob through GPT-4

This is a continuation of the following post:

Talking to RPG characters through GPT-4

I have spent a few hours today implementing vector databases in my repository, which would hold the memories of the agents that may end up involved in these AI-related experiments. Once that was done and I could query those databases for relevant memories, I rewrote the class that handles the dialogue between two or more agents.

To test if it worked properly, I created the vector databases for the two characters of my ongoing novel that have kept me occupied for however long the current sequence has lasted: Leire and Alberto the blob (here’s the so far latest chapter where they appear). I wrote Leire’s dialogue when I was asked, while GPT-4 acted out Alberto’s part based on his memories and character summary.

First of all, I screwed up something in the code; I was prompting GPT-3.5 to determine who was the next speaker, but at times the AI decided that the same person who had just talked should produce the next line of dialogue. Although I fixed it later, the effects of that bug are present in the following dialogue.

First attempt at player-AI dialogue

Alberto: Leire, you need to listen to me! This is no time for petty office squabbles. The reality-altering contraption is going to collapse reality if we don’t act. I know I’m a wall-wide, gooey, stinking blob now, but you knew me before… as a co-worker, as a friend. We need to work together to save the universe. So, how about it?

Leire: Friend? I was never your friend. You were the prick who kept tangling Jacqueline and I into arguments about women because you hated your ex-wife, who cheated on you and left you to rot.

Alberto: Ouch, that’s harsh, Leire. But you’re right. I was a prick. Still am, probably. But this is bigger than my past mistakes or my… gooey present. We need to put aside our differences, because if we don’t, there won’t be any reality left to argue in.

Alberto: Look, Leire, I get it. I’ve always been a pain in the ass. But right now, we’re facing an existential threat, and it’s bigger than any office drama or personal grudge. Are you really going to let the universe crumble because you can’t stand working with me?

Alberto: Hell, Leire, I don’t blame you for not wanting to work with me. I wouldn’t want to work with me either! But this isn’t about me or you, it’s about everything and everyone. We’re the only ones who understand the contraption. We’re the only ones who can fix it. So, are we going to do this or just keep arguing until there’s nothing left to argue about?

Alberto: Fine, you don’t see me as a friend. You think I’m a prick. But Leire, consider this – we have a broken contraption that threatens to implode the universe. And guess what, we’re the only ones who can fix it. Sure, we don’t have to like each other, but we have to work together. So, what do you say? Are you in or are you out?

Leire: I think I’d rather go home and snuggle up to my beloved Jacqueline, the most buxom mommy in the world.

Alberto: Leire, I understand your reluctance, but sit with this thought – If the universe implodes, there won’t be a home or a Jacqueline to go back to. We’re in a pickle and as much as it stinks, we’re the only ones who can fix it.

Leire: Holy crap, I think you are right. If the universe ends, my girlfriend will die!

Leire: I don’t want my mommy Jacqueline to die! I want to snuggle up to her forever and ever!

Alberto: That’s the spirit, Leire! We’re not just saving the universe, we’re saving Jacqueline too. Let’s get to work and make sure your eternal snuggles remain a reality.

Leire: Alright, I guess I can help you even though you have become an utterly repulsive and vomitive blob. What do I have to do again?

Alberto: Thank you, Leire. I know I’m not the easiest blob to work with. As for what needs to be done, we need to reverse engineer the contraption. We have to figure out how to stabilize the reality-altering function before it’s too late.

Leire: How about I reverse engineer your ass with a shovel?

Alberto: Ha, good one, Leire. But let’s save the shoveling for after we’ve saved the universe, okay? Right now, we need every brain cell focused on the contraption.

Leire: Well, tell me where that damned machine is located and I’ll get right to reverse engineering it or whatever.

Leire: Are you listening to me or are you just oozing?

Leire: Hey, wake up, blob!

Alberto: Easy, Leire, I’m not asleep, just… processing. The contraption is in the old lab at the sub-basement. You’ll need the access code, though, and that’s… complicated.

Alberto: Complicated because it’s not a simple number code. It’s a sequence of actions. You have to press the third button from the left, turn the red dial clockwise, then press the second button from the right. And be careful, Leire. The lab… it’s not a safe place.

Alberto: There are… things in there. Things that shouldn’t be. I can’t go with you, but I’ll be in your ear, guiding you through. Just remember, Leire, no matter how bad it gets, we’re doing this for Jacqueline. For the universe.

Alberto: And remember, don’t let your fear or disgust get the better of you. We’ve got a universe to save.

Alberto: Remember, Leire. Third button from the left, red dial clockwise, second button from the right. And whatever you see in there, stay focused. It’s for Jacqueline. It’s for the universe. And… thank you, Leire.

Alberto: Just remember, Leire. Don’t let the office politics distract you. We’re not here to win employee of the month. We’re here to save the universe. So, get your game face on and let’s do this.

Alberto: Leire, I know I’m a sight for sore eyes, but focus! Remember the sequence: third button, red dial, second button. And don’t let the horrors in the lab distract you. Do it for Jacqueline. Do it for the universe. And… thank you, Leire.

Alberto: And remember, Leire, it’s not just about saving the universe anymore. It’s about putting things right. Restoring what’s been lost. Restoring… me. So press that third button, turn the dial, press the second button, and let’s save the bloody universe!

Alberto: Leire, I won’t sugarcoat it. The lab is a hellhole. But it’s a hellhole we need to dive into if we’re going to put things right. So, remember, third button, red dial, second button. And remember, we’re not just saving the universe, we’re saving ourselves. Now, stop staring at my blobby form and let’s get to it!

Alberto: Enough dawdling, Leire! Third button, red dial, second button. Swallow your fear, ignore the stench, and let’s save the damn universe! And for the love of everything, stop staring at me like I’m some grotesque spectacle!

Leire: Alright, alright, I’m going. Stop talking to me.

GPT-4 is fantastic at making shit up when it doesn’t have enough information, which was a horrible pain before OpenAI added the option to introduce functions into the equation. For example, the AI chose to stop the dialogue right after my last utterance as Leire, thanks to the function ‘stop_dialogue’ I passed along. Now I just appreciate the AI’s creativity.

Second attempt at player-AI dialogue

Alberto: Leire, by the festering sores of my eyeballs, you need to listen to me! The professor’s contraption is on the verge of causing a dimensional collapse. You’re the only one who can stop it, dammit!

Leire: (chuckling) By the festering sores of your eyeballs! That’s a good one.

Alberto: This isn’t a bloody joke, Leire! We’re on the brink of a reality collapse! I didn’t morph into this grotesque, goo-oozing blob for fun. You need to stop the contraption before it’s too late!

Leire: I’d rather just stick around in the office and listen to you complain about the end times.

Alberto: Oh, fine! Just sit there and gawk at me. You’ll be laughing on the other side of your face when the universe implodes and I’m the only blob left!

Leire: What? Are you expecting to survive if the universe ends? How would that work?

Alberto: I don’t bloody know, Leire! I didn’t ask to become a multi-dimensional blob, did I? But apparently, in this state, I exist beyond the normal confines of space and time. So yes, I might survive. But that’s beside the point, dammit! We need to stop this from happening in the first place!

Leire: Crap, you are making enough sense. I don’t want the universe to end if that means that you would survive!

Alberto: That’s the spirit, Leire! Now, let’s get to work and stop this damn reality collapse before I become the last bloody thing left in existence!

Leire: Alright, I guess I can spare some time from occupying my overtime productively to listen to a putrid blob who keeps oozing his goddamn black goo everywhere. I hope I’m not the one who will end up cleaning up this shit.

Alberto: Well, you better get used to it, Leire! Because if we don’t stop this, the whole damn universe will be oozing with this black goo. Now, let’s cut the crap and get to work!

Leire: Wait a second, the universe will start oozing with a similar black goo? Is that a consequence of the tears ripped open in reality?

Alberto: Yes, that’s exactly it! The black goo is a byproduct of the contraption’s reality-altering process. It’s the universe’s way of trying to patch up the holes in reality. If we don’t act soon, there’ll be nothing left but black goo and blobs!

Leire: So the tar-black goo is like caulk for the holes in reality? I didn’t come up with that notion.

Alberto: No, you didn’t, Leire, but it’s a good analogy. The universe is trying to heal itself, but the goo is just a temporary fix. We need to find a way to shut down the contraption and close the tears for good!

Leire: First of all, stop shouting at me. I already have enough with your stench and the horrifying sight of your slimy bulk.

Alberto: Fine, Leire, I’ll try to keep my volume down. But we don’t have time for your disgust. We need to focus on the task at hand. Now, did you understand the severity of the situation or do I need to explain it again?

Leire: I’ll pretend that I understood, because I don’t want you to explain it to me again.

Alberto: Good, you’re getting the hang of it, Leire! Now, let’s get moving and find that damn contraption before everything turns into a black goo nightmare.

Leire: I need to finish programming a function of my Python program, though. I’ll probably spend an hour or so refactoring it as well.

Alberto: An hour?! We don’t have that kind of time, Leire! Your petty coding can wait. The universe can’t!

Leire: Petty coding? What the hell do you think pays my bills? Have some respect for people’s trades.

Alberto: Leire, I respect your work, truly. But right now, we have a bigger task at hand. The universe is on the brink of collapse. I promise, we’ll get back to your coding as soon as we save reality. Now, can we please focus on the contraption?

Leire: What contraption was that again?

Alberto: The reality-altering contraption, Leire! The one that turned me into this… this gooey nightmare! We need to find it and shut it down before it’s too late!

Leire: Well, where the hell is it?

Alberto: It’s in the professor’s old lab, hidden behind a bookshelf. Trust me, I know it sounds crazy, but I’ve been there. We need to go now, Leire!

Leire: By all means, if you can lower yourself from that wall and slink your way through the doorway, I’d love to see it. You first.

Alberto: Trust me, Leire, if I could get my blobby self off this wall and through that door, I would have done it already. But I can’t! That’s why I need your help. We need to save the universe together!

Leire: Then don’t say ‘we need to go’ if you aren’t even going to move from your position. I’m the one who will spend energy moving around while you ooze the rest of the evening on that wall.

Alberto: Look, Leire, I know this is a lot to take in, and I’m sorry I can’t physically help. But, I can guide you. I can tell you exactly where to go, what to do. I know I’m a blob, but I’m a blob with knowledge! So, are you in, or are you going to let the universe collapse?

Leire: I think I need to take a nap first. Shut up for a while.

Alberto: Fine, take your nap. But remember, every moment we waste, the universe edges closer to collapse. When you’re ready to save reality, you know where to find me. Oozing away on this wall.

Leire: Are you going to stare at me while I sleep? Can’t you sink your dozens of eyeballs in your gooey bulk?

Alberto: I’d say I’m offended, but honestly, you’re right. I’ll try to keep my eyes… submerged. Just remember, Leire, the fate of the universe rests in your hands… and my eyes. Sleep well.

Pretty cool. You can play around with the code, if you know your way around Python, GitHub and the OpenAI API, by cloning the repository: RPGs-with-LLMs. It’s far from finished, though, and you need a paid subscription to OpenAI.

OpenAI added functions to the GPT API

If you love artificial intelligence and large language models (LLMs), and on top of that you know your way around programming, you may have requested access to OpenAI’s API so you could write some programs that spoke directly to GPT-3.5-turbo and GPT-4. Although the models are amazing (unfortunately so at times, because the open-source variants are a bit far from catching up), they were missing one enormous capability: you couldn’t rely on GPT to consistently return a precise answer.

To put an example of what I actually tried to do: I offered the agents in a simulation a list of locations so they would choose a single one, in order to move them there. I wanted the AI to return just the name of the location as it was listed, but I couldn’t get it to do so in a reasonable manner.

To rate the importance of character memories that were getting shoved into a vector database, I was sending GPT-4 the following prompt:

On the scale of 1 to 10, where 1 is purely mundane (e.g., brushing teeth, making bed) and 10 is extremely poignant (e.g., a break up, college acceptance), rate the likely importance of the following piece of memory.
Memory: {memory_description}
Rating: <fill in>

GPT sometimes answered “Rating: 4” or just a number. I could extract the number from those answers, but sometimes it just refused to answer properly, due to either hallucinations or the usual censorship spiel: “As an AI model, I can’t…”

However, this week OpenAI has updated the API to accept a list of functions along with the prompt. You can tell GPT to choose among the functions which one it should call if it considers it necessary, or else you can order the model to always call a function. Well, GPT doesn’t actually call the function, but it does return the name of the function called, along with a proper value for all the parameters you ask it to fill.

If you are a programmer, you already understand how wonderful that is. But if you aren’t, consider the following case: during a normal conversation with the chatbot you’ve built for yourself, you ask GPT-4 to tell you the current weather in your area. As a language model, GPT doesn’t have access to that information, but if you send it the function “get_weather_in_area” along with instructions for how to fill its parameters (for example, “area_name”, “time_of_day”, etc.), the model’s response could be something like this: “get_weather_in_area(‘Barcelona’, ‘4:00pm’)”. After you catch that response programmatically, you call the function “get_weather_in_area” (that must obviously exist in your codebase), that connects to the API of some weather service.

That means that you can already automatize pretty much everything that you do regularly on your computer, or create complex AI-based simulations like games, by involving GPT. You want the AI to decide when a character has to equip a weapon? Pass it the description of a function that does that. Want some characters to engage in a dialogue? Pass GPT a function that it should call when the model itself considers that at that point the characters should start talking to each other.

To test the new capabilities with a relatively simple example, I planned the following: I would write the description of three characters from an old free verse poem of mine, pass it to GPT, and have the model write an ongoing dialogue that involved the three of them talking in character. To know when the dialogue should end, I would append to the request a function called ‘end_dialogue’ (with no arguments) that the AI should call when necessary.

Here are some results:

Prompt to GPT-4

I am DialogueGPT. I have the responsibility of carrying on a dialogue between two or more characters until the context of the dialogue suggests that the dialogue should end.
The Captain is a human male, about thirty years old. He used to live on Earth until a truck ran him over, and he ended up transported to this fantasy world. The Captain, as he likes to be called, is the bruiser of the group, and very competent with a sword. He spends most of the loot on booze and whores. He buries his despair at having ended up trapped in a fantasy world by killing as many monsters as possible. The Captain gets along fine with Bimbo, the fire mage of the group, whom the Captain considers a good buddy. The Captain is creeped out by the grey-skinned elf Kutinaira, because she peeks at him while he pees.
Bimbo is the fire mage of the group that the Captain commands. Bimbo is a halfling. He joined the Captain’s group because he needed money, but he has a hard time adjusting to the deaths he’s seen along the way. Bimbo is brooding, and usually prefers to keep to himself.
Kutinaira is the water mage of the group that the Captain commands. Kutinaira is an ancient grey-skinned elf. She claims that she was once a goddess, but that she has been demoted to demi-goddess. Kutinaira is a voyeuristic pervert, and wants to jump the Captain’s bones.
Location: Dense, darkening forest, in the evening.
Context: The Captain’s group, including Bimbo and Kutinaira, had ventured into the forest to raid a goblin cave, to fulfill a contract with the Adventurer’s Guild. Somehow, they’ve gotten lost; they have been walking in circles for the last hour.
The Captain: Damn it all, we’re lost! Wasn’t that cave easy to find? We have to figure out what to do before night falls.

GPT-4’s response

Bimbo: I told you we should’ve marked our path, Captain. But no, “the Captain knows the way” you said. Look where that’s got us!
The Captain: Oh, put a sock in it, Bimbo! You’re not exactly helping with that attitude, are you? Now, anyone else got any bright ideas about how to find our way out of this leafy hell?
Kutinaira: I could try casting a water divination spell, Captain. Water flows towards the lowest point, so if we follow it, it’s likely we’ll find a way out. And… maybe after that, we could… you know… have some “private time”… she suggests, her eyes twinkling naughtily.
The Captain: By the gods, Kutinaira! There’s a time and place for everything, and this ain’t it. Focus on the spell, nothing else!
Kutinaira: Alright, Captain… if you insist. She then begins chanting in an ancient tongue, her grey fingers dancing in the air, drawing moisture from their surroundings to form a swirling ball of water.
Bimbo: While Kutinaira works on that, I’ll gather some firewood. We may need to set up camp if we’re going to be here for the night. He mutters and stomps off into the forest, but not before sending a small fire spell to light a nearby tree branch, casting an eerie glow around them.

For whatever reason, GPT-4 mixed narration with the dialogue lines. Next time I’ll instruct it to put it in parentheses.

Prompt to GPT-4

The Captain is a human male, about thirty years old. He used to live on Earth until a truck ran him over, and he ended up transported to this fantasy world. The Captain, as he likes to be called, is the bruiser of the group, and very competent with a sword. He spends most of the loot on booze and whores. He buries his despair at having ended up trapped in a fantasy world by killing as many monsters as possible. The Captain gets along fine with Bimbo, the fire mage of the group, whom the Captain considers a good buddy. The Captain is creeped out by the grey-skinned elf Kutinaira, because she peeks at him while he pees.
Bimbo is the fire mage of the group that the Captain commands. Bimbo is a halfling. He joined the Captain’s group because he needed money, but he has a hard time adjusting to the deaths he’s seen along the way. Bimbo is brooding, and usually prefers to keep to himself. He is intimidated by the irrational behavior of the Captain, but he prefers his company to that of Kutinaira, who seems single-mindedly focused on satisfying her fetishes.
Kutinaira is the water mage of the group that the Captain commands. Kutinaira is an ancient grey-skinned elf. She claims that she was once a goddess, but that she has been demoted to demi-goddess. Kutinaira is a voyeuristic pervert, and wants to jump the Captain’s bones. She suffers from obsessive-compulsive disorder, and her intrusive thoughts solely involve sex.
Notes: If you need to include description or narration, put it in parentheses.
Location: Dense, darkening forest, in the evening.
Context: The Captain’s group, including Bimbo and Kutinaira, have ventured into the forest to raid a goblin cave, to fulfill a contract with the Adventurer’s Guild. Somehow they’ve gotten lost; they have been walking in circles for the last hour. Orcs and similar vermin are known to prowl these parts, and the Captain wants to avoid an ambush.

The Captain: Damn it, Kutinaira! Weren’t you supposed to know how to read a map? You got us lost in a forest? You’re an elf, for fuck’s sake!

GPT-4’s response

Kutinaira: (Giggling softly while tracing the pattern of the Captain’s chest hair with her eyes) And you’re a human, Captain, killed by a truck not known in this world. When last did you see a human reading maps so nonchalantly? (Chuckles lightly) Stop being grumpy and put your muscly arm around me. It’s getting chilly…
The Captain: (shivers visibly from her proximity, steps back, and looks towards Bimbo) Bimbo, light one of your spells so we can see better. Try not to burn the forest down while you’re at it.
Bimbo: (Nods silently, reaches for his wand, and mutters an incantation. A small fireball appears at the tip of his wand, casting flickering shadows on the dense foliage, eerily silhouetting the party.) Let’s be quick… I don’t like the look of this place.
The Captain: Good job, Bimbo. Let’s keep moving. (Turns toward Kutinaira) Don’t get any closer to me. Keep your eyes open for enemies instead.
Kutinaira: (Rolls her eyes but grins, straying her gaze down towards the Captain’s pants) Oh, I’ll keep my eyes open alright… I’ll watch out for those… ‘enemies’.

GPT-4 dutifully obeyed that whole thing about putting narration in parentheses. Let’s try some more.

Prompt to GPT-4

The Captain is a human male, about thirty years old. He used to live on Earth until a truck ran him over, and he ended up transported to this fantasy world; however, his teammates are unaware that the Captain came from another world. The Captain, as he likes to be called, is the bruiser of the group, and very competent with a sword. He spends most of the loot on booze and whores. He buries his despair at having ended up trapped in a fantasy world by killing as many monsters as possible. After killing hundreds of creatures, he’s discovered a disturbing side of his psyche: inflicting pain arouses him. The Captain gets along fine with Bimbo, the fire mage of the group, whom the Captain considers a good buddy. The Captain is creeped out by the grey-skinned elf Kutinaira, because she peeks at him while he pees.
Bimbo is the fire mage of the group that the Captain commands. Bimbo is a halfling. He joined the Captain’s group because he needed money, but he has a hard time adjusting to the deaths he’s seen along the way. Bimbo is brooding, and usually prefers to keep to himself. He’s planning on earning enough money to buy farmland and build a homestead in which to live isolated from the horrors of this world. He is intimidated by the irrational behavior of the Captain, but he prefers his company to that of Kutinaira, who seems single-mindedly focused on satisfying her fetishes.
Kutinaira is the water mage of the group that the Captain commands. Kutinaira is an ancient grey-skinned elf. She claims that she was once a goddess, but that she has been demoted to demi-goddess. Kutinaira is a voyeuristic pervert, and wants to jump the Captain’s bones. She suffers from obsessive-compulsive disorder, and her intrusive thoughts solely involve sex. She has lived for so long that nothing interests her any longer, and she opts to get high on sex as often as possible to forget the long-dead loved ones that she’ll never meet again.
Notes: If you need to include description or narration, put it in parentheses.
Location: Dense, darkening forest, in the evening.
Context: The Captain’s group, including Bimbo and Kutinaira, have ventured into the forest to raid a goblin cave, to fulfill a contract with the Adventurer’s Guild. Somehow they’ve gotten lost; they have been walking in circles for the last hour. Orcs and similar vermin are known to prowl these parts, and the Captain wants to avoid an ambush.

The Captain: Neither of you can read a map? How have we survived for this long?

GPT-4’s response

Bimbo: I’m not the one who usually handles the map, remember? You know I can barely make out anything in this dwindling light. And your way of identifying landmarks is to slash them with your sword. How am I supposed to remember which tree you’ve marked?
Kutinaira: Well, I can read a map just fine. But reading a map is less exciting than watching your muscular arm flex when you swing that big sword of yours, Captain. Why don’t you play with your sword some more? I’m sure Bimbo wouldn’t mind a short break from walking.
The Captain: That’s enough, Kutinaira! If you’d pay more attention to navigation and less to your twisted desires, perhaps we wouldn’t be lost right now. Bimbo, give her the map. Let’s see if she can do any better.
Bimbo: Alright, here you go Kutinaira. Just remember, we’re supposed to be looking for the goblin cave, not following the sound of running water. I know how you love… water.
Kutinaira: Oh, Bimbo, always so full of judgment! But you’re not wrong about my love for water. (grinning) Let’s see… Oh, it appears we’ve made a simple mistake. We should have taken a left at the gnarly oak. We can head back that way if you want, Captain. Or we could stop and set up camp for the night? I vote for the latter.
The Captain: No, Kutinaira, we’re not making camp. Not yet. Let’s turn back and head towards the goblin cave. We’ve got a job to do. Bimbo, stay close, and keep your eyes open; we don’t need any nasty surprises.
Bimbo: Alright, Captain. I’ll keep watch. Kutinaira, could you focus on the map and directions, and less on the Captain’s backside? We’d all appreciate it.
(With that, the group heads back towards the gnarly oak, continuing their mission deeper into the dark forest.)

I’m quite sure you could now write a fully-fledged single-player RPG, even if just console-based, with GPT acting as the dungeon master and voicing the other characters.

I wrote a continuation to this post. Check it out.

We’re Fucked, Pt. 102: AI-generated audiochapter

The first rule of the world is that everything vanishes forever. This audiochapter covers chapter 102 of my ongoing novel We’re Fucked.

Cast

  • Leire: that sassy blonde thief from the sewers of Riften, whom you’d date if you could
  • Alberto the blob: scaly Cyrodiilians with non-forked tongues

I have produced audiochapters for this entire sequence so far. A total of two hours, twenty-one minutes and twenty-five seconds. Check them out.

We’re Fucked, Pt. 102 (Fiction)


“As wretched as you’ve considered your life to be,” Alberto the blob says somberly, “the worst is yet to come. The professor’s machine borrowed its reality-altering powers from other dimensions, which are now bleeding in to balance the mess out. Consequently, our reality is thinning down and fraying, and the leaks in space-time are increasing in number and size. Picture the eldritch horrors that will crawl out of those tears as whole alien ecosystems merge with ours. And the same way your presumably sentient self invaded the Ice Age, this planet will face intrusions from otherworldly intelligences.”

I’m engulfed in a vision of Arachne’s shimmering cosmic loom, interstellar strands pulsating with starlight, an intricate tapestry that has linked the grit beneath our feet to the nebulous edges of Her domain. In the end of the warp attached to Earth, rips have been torn open like jagged gashes in a dishcloth, each a yawning gateway to other realms, allowing the worst of the Thread Weaver’s servants to intrude in our world.

The buildings of Donostia are engrafted with throbbing fleshlike growths that ooze a corrosive slurry. Ground-sloth-sized, amoebic monsters, their blubbery forms slick with a glistening sheen, slink down the streets, gobbling up pedestrians in a cacophony of screams and squelches. The highways, those ribbons of tarmac, writhe with tentacles that reach out and snatch at speeding cars and trucks. I smell air thick with sea salt; the oceans are churning into a foaming, swirling turmoil as gargantuan blurs shift under the waves: leviathans rising from the deepest trenches of the cosmos. The blanket of blue above is pockmarked with wormholes that vomit forth winged nightmares. As their inky bodies spread across the sky, they cast long shadows on the world below, a world being devoured and digested.

A shiver slithers down my spine, and its icy tendrils wind their way into the pit of my stomach.

“That looks about right for what is about to happen,” the blob says, his words oozing out of his putrid, gelatinous bulk. “Once the dimensional planes sync up, this planet getting a lot of dicks stuffed in it all of a sudden is the intermediate step, a pit stop on the highway to oblivion. According to the professor, eventually the universe will unravel and collapse. Forget about those large beasts from the Ice Age, the wooly mammoths and sabertooths that once roamed the earth: our species, with its knowledge, artworks, cultures, and history, will disappear. Every species that has braved the many extinctions in our planet will be wiped out as if they never existed. We’re facing the end of everything.”

I swipe away the layer of sweat that has accumulated on my forehead.

“Shouldn’t you be, you know, fucking pissed at the bunnyman? After all, his gadget set off the final countdown.”

The gooey mass heaves as if shrugging.

“Maybe I am angry about this reality unravelling thing, but not enough to shit on the professor for achieving something brilliant.”

“He turned you into a slime-dripping slug that wallows in poisonous waste!”

“Unlike you, I don’t blame others for my psychological problems. I was warned not to mess with the machine twice, but I got greedy and ended up sneaking in for more. Hell, its own creator couldn’t keep away, even though he understood the dangers. And honestly, I wasn’t too thrilled about my existence in this dimension. All the excitement I experienced in my youth was gone like an amputated limb. Now I don’t need to feel trapped by the walls of this office.”

Although I raise an eyebrow at the blob, I’d love to be freed from the bane of my existence. One of these days I will ask Jacqueline to pay my bills.

“I can see the appeal of never having to work again. Maybe you were meant to become a wet heap of organic garbage.”

“Anyway,” the blob gurgles, “now that you’re in possession of the relevant facts, you should understand your purpose, your role to play in the grand tapestry of existence: your unhinged self must prevent humanity’s extinction, along with the universe’s collapse into eternal nothingness.”

His words hang in the air like a noose I’m expected to slip my neck into. I rub my clammy palms up and down the sleeves of my shirt.

“Save humanity?” I echo in a hollow voice. “Save the universe?”

Does this filthy species deserve to be saved?

Most of my interactions with people have been detrimental to my sanity. The cutting remarks, the dismissive glances, the never-ending ridicule; a tide whose bitter taste has always lingered in my mouth. Even as a child, I wanted to disappear from the mind of everyone who knew me, to live isolated in some mountain sanctuary, a fortress of solitude where I could escape from a world that was nothing but cruel to me. What stake do I have in humanity’s salvation? Why should I care about a universe hell-bent on tearing itself apart?



Author’s note: today’s songs are “When the Levee Breaks” by Led Zeppelin, and “Eve of Destruction” by Barry McGuire.

I keep a playlist with all the songs mentioned throughout the novel so far. A hundred and sixty songs. Check them out.

Sometimes all it takes is an audiochapter to lift your mood. Check out the audiochapter for this one.

This chapter is shorter than usual, but I have been halving my writing time because I have to study for an upcoming exam that will determine if they’ll keep calling me for work. It’s not like these chapters will correspond one-to-one with the structure of the final novel, whenever I get around to self-publish it.

Cormac McCarthy is fucking dead

The only living writer that I respected has ceased to be alive. His Blood Meridian remains the book with the best prose that I have ever read. It sucks that people die.

He knew that on the day of his death he would see her face and he could hope to carry that beauty into the darkness with him, the last pagan on earth, singing softly upon his pallet in an unknown tongue.

Fiction of mine that involves aliens

I’ve always been into aliens and UFOs, from even before I was thirteen and witnessed one along with my family. Now that we may be close to the US government admitting that aliens have been making people disappear Missing-411-style so they can create hybrids of us and take over the world, allow me to promote a few stories I wrote that involved a subject that fascinates me.

The first piece of fiction is a long free verse poem that I wrote back in July of 2021. It involves a hapless wannabe musician who gets abducted by aliens and then employed to work for them. It’s a silly piece, but it’s based on the work of some psychiatrist that started treating abductees to disprove their experiences as imaginary, only to end up convinced that the subject was real, and that we were in serious trouble.

A Chaperone For Hybrids

The second is a short story in three parts. A trio of kids see a UFO/UAP descend to their local woods, and they decide to investigate. Pretty fun.

Interspecies Misdemeanours, Pt. 1
Interspecies Misdemeanours, Pt. 2
Interspecies Misdemeanours, Pt. 3

The third piece is a short story I wrote in April of 2021. It’s very loosely based on the Utsuro Bune case. Back in 1803, a strange ship washed ashore in Japan. The single occupant was a weird, non-Asian woman who kept holding on to a box for dear life. It made the local news, that featured the following eerie drawings:

The short story I wrote likely requires a revision, which I will do if I ever decide to self-publish it in some compendium.

My Strange Friend From Far Away

I guess that’s all for today. I hope you enjoyed any of it. If you didn’t, don’t tell me. I’m too sensitive about that stuff.

Review: Misumisou, by Rensuke Oshikiri

Four stars. I don’t know what the title translates to, but it could have translated to Fuck Around and Find Out.

Our protagonist is a middle schooler who moved out with her family to the boonies for reasons. Her new town has so few children that once her class graduates, her middle school will close down. It also happens that most of her classmates are unredeemable psychopaths who bully our protagonist with the usual middle schooler hijinks: they carve insults on her desk, steal her shoes, trap her in a garbage dump, kick her father on the back with drawing pins attached to the sole, shoot her with a crossbow, stab her repeatedly.

Her parents realize that her classmates are demons, so they allow her to stay at home. However, the horrid shitheads want their torture doll back, and they do something irreversible. I don’t want to spoil it; the manga itself screwed up by showing it at the end of the first chapter despite the fact that it happens a few chapters later.

Anyway, the protagonist is left with little to live for except murderous revenge. I’m talking splatterpunk, intrusive-thoughts-realized violence. I got bullied in school as well, so I derived quite a bit of pleasure from the protagonist’s balls-to-the-wall path of action.

I wanted to post quite a few other panels, but they were too gory. You’ll enjoy this manga if you like the sight of middle schoolers getting brutally murdered. They fucking deserved it, though.

Someone made a live-action adaptation of this lovely story. Here’s the only trailer that doesn’t spoil the whole thing:

Review: Teisou Gyakuten Sekai, by Amahara

The title of this manga series translates to The World of Moral Reversal. It follows the adventures of an attractive high school girl who gets isekai-d into an alternate Earth. This new reality is nearly identical except for the fact that women are now as horny as guys were in her original world, while the local guys are as prude as pure maidens. The entire society is built around capturing women’s arousal, because they will waste lots of money to satisfy it: advertisement is full of nearly naked dudes with huge packages, most of the porn is aimed at women and focuses on men’s bodies, and even regular TV shows pull off daring camera angles to showcase the physical talents of their male casts.

Our protagonist hangs out with the same two girls she knew from her former world, but in this one they have been transformed into a pair of horny monkeys trapped in a spiral of lewd thoughts, who can’t wait to cast off their virginity to any male willing to give them the time of the day. That’s unlikely to happen any time soon, the same way that female classmates in the protagonist’s former world would be reluctant to engage a pair of virgin males who loudly proclaimed the virtues of some hentai book in the classroom.

The story is a slice-of-life that often feels as if the author made a list of all the lewd behaviors that tend to be characteristic of men in the real world, only to then assign them to women and do some entertaining, frequently funny commentary.

Instead of maid cafes, girls go to samurai cafes where attractive boys treat them like princesses for tips. Girls take off their tops while playing tennis in the school gymnasium to attract the attention of the boys. The manga club in school is made out of awkward female loners who draw hardcore hentai. Groups of girls gathered around desks argue about the most interesting objects with which to penetrate themselves. Girls hate exposing their nudity to each other, not wanting other girls to notice any size differences or skin conditions. Female perverts fly drones over men’s public baths to record the action. Sports events have to deal with female streakers. Girls refuse to talk about female underwear, let alone go on trips together to buy some.

The author justifies the logic of this brave new world by saying that because girls can come far more often than men, and are mainly responsibly for bringing about the next generation, it makes sense for them to be far hornier than men. It’s a matter of survival of the species.

My favorite sequence involved an awkward loner guy from the protagonist’s former world also getting isekai-d to this alternate Earth of horny girls. He immediately prostitutes himself to the protagonist’s friends, whose previously aimless lives from then on start revolving around earning enough money to get back to fucking.

All in all, this series is lots of fun. If you’re about as much of a pervert as I am, you’ll probably love it. Apparently it was made by the same author of Interspecies Reviewers, a manga about guys who fuck monster prostitutes and then review the experience according to the particularities of those fantasy races, or whatever. I haven’t read it yet. But I know that the anime adaptation got taken off the air in the US because it was too lewd. That’s a badge of honor.

Review: The Fable, by Katsuhisa Minami

Five stars.

I’m always on the lookout for new manga to read, but I had only come across this award-winning series twice, the latest one when ChatGPT mentioned it. I wish I had read it sooner, because this long series (about 240 chapters) has become one of my favorites.

The story follows an assassin who works for a nameless organization called Fable by the criminal underworld of Japan. This assassin, considered the best of the best, is, as stated by his colleague slash little sister, a savant, a genius at killing, but a kid at everything else. He grew up fending for himself in the woods for days if not weeks at a time, eating all kinds of nasty shit, and stabbing bears in the eye. Apart from the psychological effects that such an upbringing would have on people (which is explored in the story), the guy is also socially blind and has little concern, as well as understanding, for social norms. Pretty sure he’s supposed to be autistic, because the other hardened assassins consider him a weirdo.

After an introductory hit on a bunch of goons, the guy’s boss tells both of his disciples that they have to lay low for a while: they’re ordered to leave town and spend a year living under the wing of the local Yakuza family. They are prohibited from killing anybody in the meantime, under the threat of getting whacked themselves.

The second disciple is a young woman who lost her parents at an early age and then was trained as an agent by this shady organization. She keeps herself drunk most of the time, partly to stave off boredom, mainly to drown the traumas that, along with her training, have rendered her unable to have normal relationships with people. The author could have played her entirely for laughs, or as a fool, but she’s tough and dependable, often the single person in charge of making sure that the dangerous people around her don’t jump at each other’s throats.

When the couple of assassins start living at the Yakuza safehouse, we see what passes for normal behavior for our mentally peculiar protagonist: he sleeps in the bathtub, he walks around (and greets guests) buck naked, he eats fish whole, and is endlessly amused by a third-rate comedian named Jackal. Because the protagonist comes across as an unimpressive dweeb, the hardened Yakuza people he gets to meet want to test his mettle, or resent that he’s occupying the safehouse rent-free for a year. Various dangerous individuals end up trying to ruin his existence for one reason or another, and he’s forced to deal with them without relying on the main ability that made him a legend.

He also pushes himself to hold down a normal job for near minimum wage, as a delivery driver and illustrator, which puts him in regular contact with normal people, exposing them to the dangers that follow him around.

The author blended together drama, comedy, action, and slice-of-life, with endearing, intelligently-written characters that hang out like buddies one moment only to then shoot each other in the face. For example, the grounded grittiness of a nerve-wracked underworld goon who has to avoid getting killed because he has outlived his usefulness, contrasted with a bored drunkard getting a young player so shit-faced that he injures and shits himself in public.

I can’t properly explain the vibe of this series, the then-and-there-ness of its narrative, but you can tell that this was a labor of love for the author, and that he lived vicariously through it. Even secondary goons that would have been cardboard cutouts in other stories get character arcs or at least the sense that they are the protagonist of their own story.

I only have two complaints, the first one quite significant: the first few chapters of the story felt off. I didn’t quite understand the vibe that the author was setting up, perhaps because at that point I assumed that the protagonist wasn’t intended to come off as an autistic weirdo. That led me to abandon the series the first time I came across it. My second complaint is that some of the fights were supposed to happen so fast (particularly those between members of the same organization of assassins) that they were depicted as blurs, which made them conspicuous in a medium that has depicted most of the memorable fight scenes in fiction.

This series was turned into a live-action film that is probably shit because the Japanese can rarely adapt their mangas into live-action movies properly (I suspect that it has to do with how the staff members and actors get chosen, because they have no issues creating amazing anime). Anyway, here’s the trailer:

Lady Gaga? Seriously?

If you enjoy manga and love character-driven stories, please read this series. It’s amazing.