The tech blog of Ashley Flynn – Games and Simulations Software Engineer

AI Writing – Kallor and the Eyeless God

January 2022

Preamble

The following is an experiment in AI assisted writing, using https://novelai.net/ and their hosted GPT-J-6B AI writing model (which was created by https://www.eleuther.ai/) . I have appended some notes at the end about what the AI model contributed to the story (so as not to spoil the story before you read it).

The story began with a simple prompt to the AI: “Kallor lurched back as the surprise blow struck home“. I had no more idea than that. What came from the AI’s response turned out to be something that reads like an excerpt from a classic sword-and-sorcery fantasy novel.

While some have criticised the GPT AI models as “derivative” in their writing style, I would challenge anyone to find any fiction that is not derivative of its genre and of similar works that came before it.

The writing process was more engaging and fun than I expected. While I have experience with creative writing, having an AI assisting me made it feel like the characters and scenarios had a life of their own as I wrote. I had no idea what would happen next, and there were surprises at every turn. I was as much reading the story myself, as I was writing it as I went.

My input was required to guide the story at certain points, and make choices about re-rolling AI output when its suggestions seemed dull or absurd. On occasion I applied polish and rewrote some portions of the AI’s output to better suit what I felt was a good story line, while keeping the intent and meaning as close to what it originally generated as possible.

If I had to estimate, I’d say the AI provided about 50% of the content you will read below, by the time I cut, edited, re-rolled responses and provided my own prose.

One issue GPT-J-6B seems to struggle with is giving characters and locations unique names (I found it was taking names directly from a particular popular pre-existing fantasy world, which I confirmed after a quick google search). So I had to change the names it provided for the characters. It also has trouble moving on from a scene. Without prompting to end a scene, it would ramble on, long past what would be considered good writing practice.

It has some problems with maintaining small points of logic and continuity from one paragraph to the next (though it does well enough), which was the greatest cause of the need to re-roll or edit its output. Though it surprised me multiple times by being able to accurately recall and use facts about characters and places, taken from far earlier in the story.

The greatest strength I found about writing with an AI partner is that it provided me with ideas and organic and surprising responses from characters in real-time as I wrote. Tools like https://novelai.net/ and the GPT-J-6B AI model have reignited my interest to pursue creative writing for fun, and have also shown me the huge potential they have to assist professional creative writers in producing scripts for books, games, movies, and so on.


The Story

xxvi.

Kallor lurched back as the surprise blow struck home. The iron-shod club smashed into his side, driving him to his knees. He felt something tear into his ribs, and he fell forward onto the ground, hands clasped over the wound.
The pain was excruciating, but he gritted his teeth and held still until it subsided. Then he rolled onto his back, gasping for breath. His lungs were burning. There was a roaring in his ears that sounded like the sea; his eyes were filled with stars. But at least he could breathe again.
His foe hovered above him, somewhere above the encroaching blackness that threatened to swallow his vision. The man's face was contorted by hatred and fury. In one hand he clutched a club, in the other a heavy knife. He raised the club high above his head again and screamed, “Die!”
Spent of every last drop of strength and will, Kallor drew his final breath and waited for the fatal blow to fall. But nothing came, save the man towering over him giving an odd choking grunt.
Then his would-be executioner looked up to the ceiling as a sudden violent spasm rocked his whole body. He keeled over backward like a toppled sack of potatoes.
Standing over Kallor now was the barmaid looking bewildered, holding a long narrow dagger, which was noticeably bloodied. She seemed no more than fourteen years old.
“What happened?” she asked.
Kallor closed his eyes, his thoughts spinning wildly. “You saved me.”
“I did? I mean, you're bleeding all over my floor. You might die yet.”
He reached out and gingerly touched his side. A thin line of blood had begun to seep through his shirt and his fingers.
“I bleed because my heart still beats. So I have no complaints. I don't think my wounds are mortal, if I can tend to them immediately. I might impose a little more and ask for some thread, a needle, strips of cloth for bandages and a bottle of your stiffest liquor. Oh and a mug. I won't need it all for the wound.”
She stared down at him, then nodded and hurried off.
Kallor lay there, listening to the sounds of her feet padding away. It seemed he'd lost consciousness for a moment, yet he never lost track of the pounding rhythm of his own heart.
The girl returned with all he had asked for, as well as a bucket and rag, and began cleaning up the blood and spilled ale.
“What's your name, old man?” she asked.
“My name is Kallor,” he said, as he sat up. He ripped his already ruined shirt open wider and poured the anonymous clear liquid from the greasy bottle onto his bloodied side. The agony that swept along with it told him the girl had rightly chosen some potent stuff. Forgoing the mug, he took a generous swig of the fire-water directly from the bottle's neck.
“I'm Tula”, said the girl as she scrubbed the floor but kept her eyes on Kallor.
He winced at the subsiding sting at his side. “You've earned your wages, Tula.”
“That's nice. But this is a normal day's work in these parts.” She wiped her hands clean and sat down beside him. “A nasty gash. Hold still and I'll stitch you up. I can't think how you'll do it yourself.”
“I don't want to look at it. Just do what needs doing.”
She frowned, but set about unwrapping the makeshift bandage and threading the needle. “You're pretty old to be travelling alone, aren't you?” She gave the dead man laying beside Kallor a swift kick full of contempt before beginning to stitch Kallor's wound closed. “I see bastards like him around here too often. You should be more careful who you pick fights with.”
“He was after me. Not the other way round”, Kallor spoke between gritted teeth as the needle bit his flesh over and over.
“I guess so. But whatever you did to anger someone like him, I'd avoid doing it ever again. And you shouldn't travel alone.”
“It is better to rove in company, lass. Agreed. I'm looking to arrange just that. A company that might venture with an old man such as me. To Talon pass. And beyond.”
She finished sewing the wound, cut the remaining thread with the still bloodied dagger, and dabbed at Kallor's exposed side with a wet cloth. “There's a trader called Bachellan”, she said. “He travels with a caravan. I hear they're going at least as far as Talon. If you get the chance, why not join them? They leave soon, I think. They'll take care of you. If you can make yourself seem useful to them, anyhow.”
“Thank you, Tula.”
She nodded. “I know where he's camped. On the south road. If you go down to the harbour, turn left and keep walking till you reach the river. Follow the bank upstream. He's got a big grey horse. Tell him Tula sent you. That might improve your chances.”
Kallor groaned as he lurched to his feet, aided in no small part by the slight but surprisingly strong young girl.
“I'll remember that, Tula. Thank you.”
“Anytime.”
He dropped what remained of his coins on the counter, and staggered towards the door, pausing to collect his weapons and gear. He quickly reached into his satchel, checking the precious and mysterious letter from Etherwyn was where he'd left it.
Belatedly he glanced back at the cadaver on the floor. “Ah, I should help you clean up.”
Tula shrugged. “It's not like he's going anywhere.”
“Will this be trouble for you and the owner? I can vouch for you. I'll see that you bear no blame.”
Her gaze hardened. “I don't need your protection, old man. Just mind your own business.”
“Fair enough. I apologize. You've done me a favour, and I thank you for it. Now, if I may, I shall leave you to your work. I have a long journey ahead of me. Though first I'd best stop by a taylor,” he tugged at the bloodied strips of his ruined shirt, hanging from his side, “and find myself some new clothes.”
Tula collected the coins and stuffed them into her apron. “Don't worry about it.”
Kallor made his way out into the street, where the morning air was crisp and cold, the sun still hidden behind thick clouds. He shivered as he walked. His head ached terribly, and he suspected he had suffered a concussion. He would need to be careful. But first things first.
He found a taylor's shop and entered without knocking.
The proprietor rose from behind his counter, wiping his hands on a stained towel. “Well met, sir. Do come in. What can I do for you today?”
“Good morning, Master Taylor. My name is Kallor, and I am in need of a new shirt and some trousers. As well as a hat and boots. Also, a cloak. I have been forcibly relieved of, or have had ruined, all said items and they need replacing. And only what you have ready to take. I have no time to wait while you make or mend.”
The taylor eyed Kallor suspiciously, just now noticing his ripped and blood stained shirt. “I see, and you will forgive me for asking, but I will require payment up front. No credit here. I do not know you, good sir.”
“Of course, Master Taylor. How much will you charge?”
“Three silvers.”
Kallor winced, and pulled his last posession of any value (save his sword, with which he would never part), from his finger; a simple gold ring.
“Take this, and give me what change you think fit. It's all I have.”
The taylor took the ring and hefted it, then turned to scrape it gently on the stone bench behind him. “Hmm, it'll do. I'll give you the clothes and five silver in return. Nothing more.”
Kallor sighed, but felt no strength left to haggle or beg. “Very well, thank you. That will suffice.”
He left the shop with a new, if limited and slighlty ill fitting, wardrobe and a sense of relief. He made his way to the town's small but busy fishing harbour, and then south to the river, as instructed. He found the trader's camp by the southern road without difficulty. A dozen covered wagons and twice as many armed men filled a clearing. The men were busy hitching the wagons to horses and loading boxes and sacks of goods. It seemed they were soon to be leaving.
Bachellan was a short, heavyset man with a pockmarked face, a round nose and an oversized head. He was sitting atop his large grey horse, a broad smile fixed on his face as he watched Kallor approach. The trader was dressed in fine, supple leather armour, with a black cloak wrapped tight around his shoulders. He had two swords strapped to his sides, and a crossbow resting on the saddle before him. The trader's eyes narrowed slightly when he saw Kallor approaching, and the smile vanished.
Kallor halted a dozen paces from the trader, then bowed his head. “Master Bachellan. Tula sent me your way. I am Kallor, and I would offer you my services. I wish to venture to Talon. I would aid your caravan any way you see fit, if I might accompany you and receive food and bedding in return.”
“Is that so?” Bachellan's tone was flat, unimpressed. “And why should we take an old man like you with us?”
“Because I can fight.”
The trader snorted. “So can I. And I don't need a bodyguard as old as my grandfather. Besides, I don't trust you.”
“I can prove my worth.”
“We'll see.” Bachellan pointedly gripped the hilt of the long sword at his right hip, and then leapt out of the saddle and landed on the ground with all the poise of a hungry tiger.
Kallor drew his sword. A stabbing pain shot down his wounded side, but he did his best not to show it.
The trader drew his own blade, and then he and Kallor attacked each other.


xxvii.

It was some time during the afternoon of the second day on the road that Bachellan finally spoke to Kallor once more. Kallor couldn't tell if it was wounded pride or quiet respect that had held the trader's tongue since the old man had put him on his arse the previous day.
It had taken every bit of strength Kallor had left to beat the surprisingly nimble younger man. But after a couple of swift feints with his sword, and an old trick using a sweeping kick he'd come to rely on a lot more in his advancing age, he'd bested the caravan master and earned his place with the group on the journey to Talon.
“So,” Bachellan said, settling back in the saddle and adjusting the straps of his crossbow as he drew his horse level with the one he'd lent Kallor. “I'm curious as to how you managed to best me. I am not only a veteran of countless battles, but also a trained swordsman.”
Kallor grunted. “I've been fighting since I could walk. And I have a talent for it. My father taught me.”
“I see. We are almost to Talon. Will you be continuing on to Dhurjis? Or perhaps the Fallen Towers?”
Kallor remained tight lipped.
“You're not going to answer?”, asked Bachellan.
Kallor subconsciously clutched at the seemingly impossible summons from Etherwyn, now hidden safely in his cloak's breast pocket. Who would believe him if he said his long-dead queen had written to him, begging his aid. And he was tired of making up lies. “No. I won't answer. But I mean no offense”, Kallor said.
“None taken. It's none of my business. Well, we will be arriving in Talon tomorrow. After that, the caravan will be crossing the Iron Desert. If we must part ways at the pass, so be it. Though I could do with your sword arm for the next part of the journey. Grey hair on your head or no. It's more dangerous than traveling this road, to venture beyond Talon pass. A great deal more dangerous.”
Kallor nodded. “I understand. And I thank you again for the food and the loan of this horse.”
“You're welcome”, said the merchant.
“Will your caravan be stopping long in Talon?”, Kallor asked.
“We will. A few days. I have some business to attend to. There is a man there I must meet. A fellow named Raymon Vandaris. He's a merchant of sorts, though he does a lot more than trade. You might say he's a collector of oddities. I would like to buy his latest acquisition.”
“Acquisition?”
“Yes. An artefact. A relic. Something that belonged to the Eyeless God.”
Kallor scoffed. “Fairytales.”
“I assure you, it is real.”
“Then why would he sell it to you?”
“He cares for money even more than his collection of curios. I see value in this artefact beyond mere riches.”
“How so?”
“Though he does not know it, the relic is a weapon. A terrible, deadly magic weapon. I would like to study it, to learn its secrets. Its power. And to keep it out of the wrong hands, of course.”
“I see. And how much will it cost?”
“Two thousand gold pieces.”
Kallor laughed. “That's ridiculous! You would pay that for a piece of folklore and myth?”
“Not for a fanciful legend”, said Bachellan, “but for a weapon once owned by a god. It is real, and it can be used. I will pay that price.”
“Even if it turns out to be worthless?”
“It won't.”
Kallor frowned, but held his tongue. There seemed no sense in arguing with a senseless man. Best to let this clearly wealthy trader waste his money how he saw fit.
“Kallor, I would ask one thing of you before we part ways at the pass. Accompany me to see Vandaris. He wouldn't appreciate me taking along any of my guards. But he'll make the same mistake regarding you that I did; he'll underestimate you. He won't think you a threat. I'll claim you're an associate. An elderly advisor. You're the perfect discreet protection.”
“I'm not a bodyguard”, Kallor said, shaking his head.
Bachellan put on one of his patented beatific smiles. “I will pay you well for your service.”
Kallor grunted, and thought of his empty coin pouch. “All right, I'll do it. But are you expecting an attack in the middle of the city? You don't trust this trader?”
Bachellan dropped his smile, and looked pensive. “I trust Vandaris well enough. I simply want to be sure that he has nothing to hide. You will keep your eyes open, and inform me if you notice anything untoward. You will help me keep my purse safe on the trip through the city to his home, and keep the relic safe as we return to the caravan. Then I pay you and we part ways. Simple.”
Kallor paused a moment more before answering, “Very well.”
Bachellan smiled, and they rode on in silence until they made campfall for the evening.
Kallor was relieved at the thought of earning some easy coin before setting off on the next leg of his journey, but couldn't shake a growing sense of unease.
Talk of the Eyeless God and ancient powerful relics was childish fantasy. But to hear a grown man willing to stake a fortune on it was sobering. Bachellan must know something, or have seen something, to convince him the relic was real. But Kallor didn't believe in magic. Not even in legends. Magic was a belief for fools and children. He'd lived long enough to see the world as it truly was. He'd been through wars, and he'd seen men die.
The Eyeless God? No, Kallor wasn't ready to believe in that.
As he lay on his bedroll that night, he tried to clear his mind of such thoughts. He was exhausted, and fell asleep quickly, but had fitful dreams of vengeful gods, hungry ghosts and restless shadows.


Writing Notes

The story began with a simple prompt to the AI: “Kallor lurched back as the surprise blow struck home”. I provided it no more idea than that. What came from the AI’s responses and my own contributions turned out to be something that reads like a short excerpt from a classic sword-and-sorcery fantasy novel.

I didn’t know Kallor was an old man, or that his life would be saved by a young barmaid. Tula’s name and personality, as well as her responses to the conversation and actions, were entirely provided by the AI, including her headstrong attitude.

The caravan leader Bachellan’s personality and responses to Kallor’s conversation are all provided by the AI too. I had no idea he would refuse to accept Kallor as part of the caravan until he bested Bachellan in combat. Him drawing his sword and attacking Kallor was the AI’s idea. While I decided the outcome would be in Kallor’s favour, the AI challenged this story point with Bachellan’s question to Kallor;
“I'm curious as to how you managed to best me. I am not only a veteran of countless battles, but also a trained swordsman.” But on the very next line, it also provided Kallor’s response, and further added to what we know of Kallor’s background;
Kallor grunted. “I've been fighting since I could walk. And I have a talent for it. My father taught me.”

When Bachellan asks Kallor about his quest (something the AI asked, unprompted by me) I decided not to elaborate. Bachellan was understanding of Kallor’s wish to keep his affairs private, and instead offers Kallor information about his own plans in the city of Talon. The AI came up with the idea of Bachellan meeting a collector of curios named Raymon Vandaris, who was unknowingly in possession of a powerful ancient artifact.

I toyed with the AI’s idea by having Kallor suggest this artifact was a fake. Bachellan refused to be dissuaded of the fact that the object was genuine. The AI then suggested Kallor accompany Bachellan to retrieve the object, which makes for an exciting potential next chapter, I think.

The one entirely original point I injected into this story was the letter from Etherwyn. I wanted to insert some mystery and purpose surrounding Kallor’s journey. Something that might be a good prompt for more chapters in the future.

The closing passage is entirely provided by the AI, except that I edited in a mention of the gods in reference to the artifact. I think it provides a nice amount of mystery and foreboding, and a promise of more adventure to come; “As he lay on his bedroll that night, he tried to clear his mind of such thoughts. He was exhausted, and fell asleep quickly, but had fitful dreams of vengeful gods, hungry ghosts and restless shadows.”

Ashley Flynn – Games and Simulations Software Engineer
Portfolio and contact – https://ajflynn.io/

Back to Latest Posts