Die Herausforderung des interaktiven Schreibens: Entwurf eines nichtlinearen RPG wie Esoteric Ebb

CHRISTOFFER BODEGÅRD / SUDDEN SNAILGame Developer and Writer
Mar 17, 2026|7 Min.
Schlüsselkunst von Esoteric Ebb von Christoffer Bodegård | Made with Unity. Ein Abenteurer in einer blauen Tunika schwingt ein zerbrochenes Schwert gegen einen Skelettkrieger, dessen Rücken zur Kamera ist. Ein in Rosa gekleideter Goblin, flankiert von einem roten Drachen, schaut besorgt zu. Der Titel des Spiels ESOTERIC EBB ist auf der linken Seite zu sehen.
Diese Website wurde aus praktischen Gründen für Sie maschinell übersetzt. Die Richtigkeit und Zuverlässigkeit des übersetzten Inhalts kann von uns nicht gewährleistet werden. Sollten Sie Zweifel an der Richtigkeit des übersetzten Inhalts haben, schauen Sie sich bitte die offizielle englische Version der Website an.

Esoteric Ebb stürmt Steam – aber wie kommt ein verzweigtes narratives CRPG wie dieses zustande? In diesem Gastblog analysiert Christoffer Bodegård komplexe Entscheidungen zum narrativen Design und seine achtjährige Reise, um zu lernen, wie man die Erstellung einer wirklich nichtlinearen, dialogbasierten Geschichte managt.

Seit dem ersten öffentlichen Playtest von Esoteric Ebb im Jahr 2023 wurde mir immer wieder eine einfache Frage gestellt: “Wie behalten Sie den Überblick über alles??” Das ist eine gute Frage – eine schwierige. Mit größter Wahrscheinlichkeit habe ich diese Frage im Laufe der Jahre auf verschiedene Arten beantwortet, aber nie auf eine wirklich zufriedenstellende Weise. … Lassen Sie uns es also versuchen.

(Aber zuerst ein wenig Hintergrund zu Esoteric Ebb)

Esoteric Ebb ist ein umfangreiches, erzählungsorientiertes, nichtlineares CRPG. Kein traditioneller Kampf, fast ausschließlich dialogbasiert, eine Spielzeit zwischen 45 Minuten und 50 Stunden und so, so viele Entscheidungen... Echte Entscheidungen, die Art, die Ihr Erlebnis auf grundlegende Weise bis zum Ende der Credits aktiv verändert. Ja, es ist eines dieser Spiele. Und es dauerte eine Weile, bis es fertig war: etwa acht Jahre von Anfang bis Ende, von denen die Hälfte damit verbracht wurde, nichts zu tun, allein in einem Raum zu sitzen und zu lernen, wie man es macht. interaktives Schreiben.

Die drei Einschränkungen des interaktiven Schreibens

Ich definiere interaktives Schreiben innerhalb von drei etwas willkürlichen Einschränkungen/Zielen. Dies sind:

  • Ein hohes Verhältnis von Auswahlmöglichkeiten zu Text
  • >50 % des Inhalts sind dynamisch
  • Ein offenes Design

Nehmen Sie sie oder lassen Sie sie, wie Sie möchten, aber wenn Sie diese drei Punkte erfüllen, dann haben Sie ein Rezept für intensive (potenzielle) positive Spielerautonomie. Aber wenn Sie sich dies ansehen, könnten Sie sofort auf ein paar tausend Probleme stoßen.

Lassen Sie uns diese Probleme durchgehen.

The pale man holds incredible power, if he is able to bypass the esoteric limitation. #int #DC10
"However, I suggest you speak with Lady Sageleaf about this, if you require answers. I am simply a middle-man in this." #Visken
-(riverHub)

	+.Snell==1-"Snell." \(Look at him.\)
		The goblin gives you a conflicted expression. #Snell
		"I... didn't know, Cleric. I really didn't." #Snell
		"He did not." #Visken
		"Lady Sageleaf instructed me to not inform anyone. Even her own agents." #Visken
		"No need to be paranoid." #Visken
		
			++"How can I not be paranoid? Everyone's lying to me!"
				"Correction: I was lying to you. Lady Sageleaf, potentially as well." #Visken
				
			++"True. It's just some esoteric bullshit."
				"...Indeed." #Visken
		--
		Snell scratches his chin. #Snell
		"I'm not entirely sure how to feel about this." #Snell
		"The Old Lady isn't one to spend money on resurrecting a city cleric." #Snell
		"But I'm guessing she didn't want to wait for another one to appear?" #Snell
		"Hm. We should go speak with her. But... remember that she paid for your resurrection, Cleric." #Snell
		
			++"That is true. She seemed nice enough."
				"...I wouldn't use 'nice'. But she's at least very, very competent." #Snell
			
			++"I'll refrain from commenting until I hear her side of it."
				"Smart." #Snell
				
			++"I'm not sure I believe you."
				"That's okay." #Snell
				"But really, I'm not sure what I would gain by lying about this." #Snell
		--
		The goblin is telling the truth. You can read it in his eyes. #wis #DC14
		It was a LIE. But it was a LIE for <b>expediency</b>... #con #DC9

	+"What spell did you use to revive me?"
		He is quiet for several seconds. #Visken
		Considering if he should share this knowledge. #wis #DC13
		A modification, then. #int #DC12
		A <i>personal</i> resurrection spell. #reply #int
		"<i>Raise Dead</i>." #Visken
		"With changes. It is not the original spell, as I'm sure you understand." #Visken
		<i>Visken's Raise Dead</i>. #int #DC12
		"My spell requires a higher cost, while lowering the spell's complexity in return." #Visken
		
			++"A higher cost? Like... a blood-cost?"
				"No, Cleric." #Visken
				
			++"What do I owe you?"
				"Nothing. Lady Sageleaf offered to pay it in full." #Visken
				
			++"A higher crown cost?"
				"Yes, Cleric." #Visken
		--
		"The new cost is doubled. One thousand crowns." #Visken
		"Which is not too bad." #Visken
		
			++"My life is worth much more than that, yes."
			++"Eh. Could be better."
			++"Waste of money."
		--
		The pale man stares at you. #Visken
		
	+"Is this why I lost my ability to cast higher level spells?"
		"Potentially." #Visken
		"Whatever issues your body and soul appeared to have had with my spell, it was not permanent." #Visken
		
			++"Yeah, I've rebounded quickly."
				"Yes indeed." #Visken
				
			++"I'm just that awesome of a wizard, I guess." #.WIZARD+=1
				"Of course." #Visken
				
			++"My soul <i>and</i> body?"
				"It's more common than you might think." #Visken
	
	+"I felt really weird when I woke up. Like... different. Is that your dark magic also?"
		"That can happen, yes." #Visken
		"As it can with any resurrection magic when a soul is given sufficient time spent away from its body." #Visken
		
			++"So my soul is ruined?"
				"No." #Visken
			++"I like this new me."
				"Wonderful to hear." #Visken
			++"I don't think the difference was that big, honestly."
				"Good." #Visken
			++"Can I go back to my old self?"
				"No." #Visken
		--
		His cold voice shows no interest in your personal business. #wis #DC10
		Eh. Whatever changed, it was probably for the best. #dex #DC16
		Still got your wits about you. That's what matters. #reply #dex
		At least you are still highly intelligent. #int #FC8
		That is all that matters. #reply #int
		Soul magic is complicated. Not even the greatest Arcanists were able to unlock all of the secrets of the <i>inner light</i>. #int #DC15
		Perhaps one day, you will. #reply #int
	
	+"Right. I'll... go speak with Lady Sageleaf."
		"Good idea." #Visken
		The pale man was simply an instrument. #int #DC11
		But it is good to understand this game you've been entangled within. #reply #int
		->questions

-
->riverHub

Optimierung der Spielerbindung durch das Verhältnis von Auswahl zu Text

Warum ein hohes Verhältnis von Auswahl zu Text wichtig ist

Ein hohes Verhältnis von Auswahlmöglichkeiten zu Text klingt großartig. Es ist zum einen ein großartiges Werkzeug, um den Spieler wach und engagiert zu halten. Wenn Sie ihn dazu zwingen, zu viele Textblöcke zu lesen, werden die Augen des durchschnittlichen Spielers einfach träge. Aber wenn Sie ihn immer wieder auffordern – indem Sie ihn dazu zwingen, interessante Fragen zu beantworten, ihn in schwierige Entscheidungen zu drängen oder ihn einfach dazu zu zwingen, auf unhöfliche Anschuldigungen zu reagieren – dann ist es, als würden Sie ihm einen Energy-Drink in die Venen spritzen. Er wird wachgerüttelt und beschäftigt sich tatsächlich mit dem Text. Statistisch gesehen ist es zumindest wahrscheinlicher, dass sie es tun.

Das Problem ist jedoch einfach: Du müsstest sein verrückt um diese Verzweigungsebene zu Ihrem Dialog hinzufügen zu wollen. Es erfordert viel Arbeit und ich denke, dass es speziell ein sehr spezifisches Werkzeugset erfordert. (Fähigkeiten auch, natürlich, aber das Werkzeug muss flexibel und schnell sein, damit der Verzweigungsprozess nicht zu einem Ausdauertest wird).

Screenshot aus Esoteric Ebb von Christoffer Bodegård | Made with Unity.
Esoteric Ebb | Christoffer Bodegård

Das richtige Werkzeug auswählen

Das Tool, das ich verwende, ist das großartige und unglaublich wunderbare Tinten-Skript erstellt vom Studio Inkle. Indem sie dieses Open-Source-Werkzeug – das übrigens einwandfrei in Unity funktioniert – entwickelt haben, haben sie meiner Karriere buchstäblich den Weg geebnet. Ich stehe ihnen in vielem in der Schuld. Und Tinte ist ein Werkzeug, das, abgesehen von all den anderen coolen Sachen, die es kann, extrem gut für schnelle und geschickte Verzweigungen geeignet ist.

Wenn ich einen Dialog in Tinte schreibe, schreibe ich mit der gleichen Geschwindigkeit wie bei linearem Inhalt. Solange es eine lose Design-Skizze gibt, kann ich einfach loslegen. Spieler-Ausdrücke hinzufügen, Visuals verwalten oder Würfelprüfungen durchführen – alles dauert nur Sekunden, da alles über einfache (meist angepasste) Handgriffe erledigt wird.Ebb) Tags und benutzerdefinierten Code, neben den regulären (und gut gestalteten) Tintenfunktionen.

"Beyond that, I also focus a lot on my own unverified theories..." #Snurre
He slaps his knees and grins. #Snurre
"<b>The Folk Spirit</b>. Have you heard of it?" #Snurre
It's something he made up. Doesn't mean it's not correct though. #int #DC18
Sounds like a collective folk view on morality. #wis #DC13

	+"No. I have not."
		--(spiritNo)
		"Understandable. It's not yet published." #Snurre
	+DC13 wis-"Is that some kind of unified moral or ethical code of a people or culture?"
		"No, it's-" #Snurre
		He leans back and squints. #Snurre
		"That's not actually that far off. You've got a head on you, Cleric." #Snurre
	+"Yes."
		"Oh!" #Snurre
		"Then tell me, what is it?" #Snurre
		
			++"I lied. I have no idea what you're talking about."
				->spiritNo
			
			++ROLL18 int-Figure it out.
				+++S
					Ah... #int
					Just look at this halfling. #int
					He's clearly walking in the footsteps of the study of unconscious mind melding. #int
					Your best guess would then be... #int
					
						++++"The Folk Spirit... is that based on the idea of universal folk myths?"
							His bushy eyebrows reach for the ceiling. #Snurre
							"Why, yes! Very good guess, Cleric." #Snurre
					
				+++F
					You stare at the halfling for about thirty seconds. #int
					"You're a quiet one, Cleric." #Snurre
					An idea pops into your empty, empty skull. #int
					
						++++"The Folk Spirit is a communal ghost that haunts us every autumn."
						++++"The Folk Spirit is a great Fordnippian wine."
						++++"The Folk Spirit? That's a music genre."
					----
					"...Not a terrible guess, but no." #Snurre
						
						++++"Yeah, I have no idea."
							->spiritNo
	
-
"The Folk Spirit is the working title for my new thesis." #Snurre
"Most of it is, if you excuse my anuran, <i>fucking bullshit</i>." #Snurre #XPGain #Minor
"But in short, it is about how each folk share a number of core communal archetypes, or myths. I have traveled around the Coast to collect as many tales, writing down thousands of stories previously only passed down orally." #Snurre
"All to see how well my theory holds up, in the minds of so, so many folk." #Snurre
He clears his throat and leans back into his chair. #Snurre
"Apologies. I am ranting here, let us put a stop to it. What do <i>you</i> want, Cleric?" #Snurre
->hub

Planung für Variabilität: Dynamischer Inhalt und offenes Design

Aber was ist mit Punkt zwei unserer Liste der Einschränkungen („>50 % des Inhalts sind dynamisch“)? Dynamischer Inhalt und offenes (oder nichtlineares) Design haben beide ein ähnliches Ziel: Variabilität basierend auf dem Input des Spielers zu schaffen.

Lass sie einfach tun, was immer sie wollen! Lass dich treiben! Habe eine offene Welt, in die du in jede Richtung gehen kannst! Nun, das ist eine Möglichkeit, es zu tun. Aber der wichtige Unterschied hier ist, dass interaktives Schreiben immer auf einem von der Absicht des Autors getriebenen Design basiert. Mit anderen Worten, alles wird vom Autor gesteuert.

Sie können immer noch systematisches Design betreiben, und es gibt eine große Überschneidung, aber die praktische Kunst des interaktiven Schreibens liegt insbesondere darin, dass Sie nicht zulassen, dass die entstehende Geschichte ihren Lauf nimmt.

Was ich damit meine: Sie müssen Variablen haben. Und Sie müssen sie im Auge behalten. Für jede Entscheidung, die der Spieler trifft, sei es bei der Auswahl der Statistiken während der Charaktererstellung oder bei der Frage, wie gemein er gegenüber dem Goblin-Häuptling war – all dies benötigt eine Art von Feedback, um das Phänomen der Handlungsfähigkeit hervorzurufen. Ob es sich dabei um einen dynamischen Spruch gegen Ende des Spiels oder um eine gesamte verzweigte Handlungslinie handelt, diese Feedback-Momente sind genauso wichtig wie die Entscheidungen selbst, wenn nicht sogar wichtiger.

Screenshot aus Esoteric Ebb von Christoffer Bodegård | Made with Unity.
Esoteric Ebb | Christoffer Bodegård

Verfolgung von Variablen

Meine Methode zur Verfolgung von Variablen ist einfach und flexibel: Ich nenne sie das Story Variable (SV)-System. Mit dem Tag-System wird angezeigt, wann immer diese Tags mit einem Satzzeichen beginnen, dass eine Variable verwendet wird. Wenn diese Variable noch nie zuvor verwendet wurde, wird die SV in einer einzigen Liste erstellt. Andernfalls greift es einfach auf die bereits vorhandene SV zu und setzt oder überprüft sie, wie es befohlen wurde.


++DC20 wis-\(Look for the source of the breeze.\)
	Your eyes glance upwards. #wis
	The wall. The wall is not a wall. #wis #.TE_SecretDoorRevealed=1 #UpdateEntities
	Look at the wall. #wis
		+++E-Oh?
			->END

Eine Zeichenfolge und eine ganze Zahl – normalerweise als Boolesch verwendet, aber bei Bedarf erweitert, um bei Bedarf zu erhöhen oder zu verringern. Die Befehle, die ich für Ebb implementierte, waren „==“, „=“, „>=“, „<=“, „+=“ und „-=“.

Die Frage, die sich dann stellt, ist die der Organisation. Ich wurde dabei immer besser, aber jeder SV verwendet ein Präfix, das auf dem Ort oder der Aufgabe basiert. „TE“ bezieht sich in diesem Fall auf den Bereich des Teeshops. Ein SV mit dem Präfix „Q“ bezieht sich auf eine Aufgabe, und „QP“ bezieht sich auf einen Aufgabenpunkt – wie in einem Protokolleintrag im Aufgabenbaum, Ihrem Aufgabenjournal.

Yes. #wis
A symbol. #wis #XPGain #Minor
A symbol of a sun. Definitely. #OBJ
If this is what Akzel wanted you to find, you've found it. #wis #.QP3_Mine=1 #.Q_Mine=2

	+Huh. So what do I do now?
-
Get back to your dwarf buddy, of course! #dex

Vorteile des narrativen Designs

Es ist ein grobes System mit einem großen Produktivitätsvorteil: Man kann einfach weiter schreiben. Benötigen Sie eine neue Variable für eine dynamische Dialogwahl? Fügen Sie sie einfach hinzu und kopieren Sie sie dann in die Datei, in der sie festgelegt werden soll. Überprüfen Sie ganz einfach den Einsatz von Variablen über eine projektweite STRG+F-Suche oder verwalten Sie umfangreiche Änderungen über die grundlegende Textverwaltung. Es gibt keine Datenbank, die verwaltet werden muss. Die Liste selbst ist nur chronologisch. Haben Sie den Namen einer Variable vergessen? Suchen Sie einfach nach dem entsprechenden Bereich oder Quest-Präfix und durchforsten Sie die Liste.

Ich hätte nicht gedacht, dass das funktioniert. Bei einem durchschnittlichen Spieldurchlauf können am Ende des Spiels mehr als 3.000 Story-Variablen in dieser Liste stehen. Aber – wie bei den meisten Dingen, die ich auf Esoteric Ebb getan habe – Unity hat einfach damit funktioniert. Und die Unity-Integration von ink hat mich noch nie im Stich gelassen, nicht einmal nach fast einem Jahrzehnt der Nutzung. Eine Neukompilierung der ink-Dateien dauert nur Sekunden. Anpassen der Funktionen an Esoteric Ebb{i}s{u} liking{u} war schon immer äußerst effizient. Und so seltsam es auch klingen mag, ich bin noch all diese Jahre später überrascht, dass es fließt einfach. Wenn ich kann, möchte ich diese Pipeline noch viele Jahre weiterentwickeln.

Darüber hinaus verwende ich Notepad++ für alles, was ich schreibe. Esoteric Ebb. Natürlich könnten Sie auch einen beliebigen Texteditor Ihrer Wahl verwenden, aber ein leichter und schneller Editor sorgt für ein reibungsloseres Erlebnis. In der Lage zu sein, in einer Sekunde durch eine Million Wörter zu suchen, hat es mir ermöglicht, ein so umfangreiches Spiel zu schreiben (und Fehler zu beheben!).

The croco-beast rushes forward and grabs you by the neck. #Kraaid #HPLoss #1d4
		
	++\(Struggle to breathe.\) "I'm actually..."
		He tightens the grip as you mutter out a faint response. #Kraaid
			+++"...a rogue." #.ROGUE+=1
			+++"...a wizard." #.WIZARD+=1
			+++"...no, no okay, I'm a cleric. I'm <b>The Cleric</b>, even." #.CLERIC+=1
			+++.BARD==1-"...I think I'm a Bard? You know what that is?" #.BARD_Choice+=1
			+++.DRUID==1-"...a Druid. I guess?" #.DRUID_Choice+=1
			+++DC17 con-"...<i>I'm Agrarian</i>...! No wait, shit. That's politics. I mean, uh..." #.AGRARIAN+=1
			+++"...I'm whatever you want me to be. <i>Please don't kill me</i>."
				"Whatever <wiggle>Kraaid</wiggle> wants?" #Kraaid
					++++"Yes...! I'll even be apolitical!" #.APOLITICAL+=1
					++++"Yes! I'm... I'm a rabbit!"
	
	++"No! I am! I'm Cleric! That's me!"

Abschließende Gedanken: Bugfixing und das Lernen, den Zweig zu akzeptieren

Aber das ist auch das größte Manko dieses Systems: das Bugfixing. Ich hätte mehr Zeit in technische Lösungen für fehlerhafte Logik und Syntax investieren sollen, aber letztendlich habe ich das ganze Übel einfach durch Playtesting erzwungen.

Als Esoteric Ebb Das Spiel erhält sein 1.1-Patch, und ich habe es geschafft, in weniger als vier Arbeitstagen (auch sehr entspannte Tage) etwa 704 „Textfehler“ zu beheben – sei es Rechtschreibung oder Code-bezogen. Das liegt wieder daran, dass das System äußerst wendig ist. Dennoch waren diese Fehler noch vorhanden, als wir starteten Esoteric Ebb aufgrund der Einrichtung auch hier. Es ist eine unglaubliche Menge an Text mit einer lächerlichen Anzahl von Verzweigungen. Aber ich bin mir auch sicher, dass ich nicht einmal ein Viertel der endgültigen Wortzahl hätte schreiben können, wenn ich nicht mit Tinte gesegnet worden wäre.

Screenshot aus Esoteric Ebb von Christoffer Bodegård | Made with Unity.
Esoteric Ebb | Christoffer Bodegård

Nachwort: Weitere empfohlene Tools für narrative Designer

Tinte macht die praktische Kunst des interaktiven Schreibens schnell, denn mich. Ich hatte schon immer Probleme mit visueller Programmierung, aber ich weiß, dass viele Autoren genau das Gegenteil haben. Deshalb empfehle ich immer, auch andere Lösungen in Betracht zu ziehen, um diejenige zu finden, die Ihnen und Ihrem Team am besten passt. Einige Beispiele sind: articy:draft, Arcweaveund Yarn Spinner.

Esoteric Ebb ist jetzt auf Steam erhältlich. Entdecken Sie weitere Made with Unity-Spiele auf unserer Steam Curator-Seiteund lesen Sie weitere Geschichten von Unity-Entwicklern im Unity-Blog und im Ressourcenportal.