The Sea Eternal

⤣Return to Portfolio

Unique Setting

•Undersea Floating City of Glass
•Wish-Granting Whales
•Giant Squid Hive Mind
•Immortal Merfolk
•Humans Caught in the Middle

The ocean is a place of beauty, life, and magic, but also crushing terror, more often cruel than kind. Light is scarce, water is deep, and minds are malleable.

In exchange for granting immortality, the whales demand a service - protection from the giant squid hive mind - and a price - forbiddance from ever leaving. It’s a mostly fair exchange… except for the few humans caught in the middle Conflict roils just below the surface, and a new human’s arrival triggers a reevaluation for many of the city’s inhabitants.




Complicated Characters

Character Bible Screenshot.

Different creatures and different factions who all clash on the best path for the community, for the people, and for the future. The player character can try to make up for past mistakes, or justify and even compound them. Every approach is valid.

Especially fraught are the lives of the few humans down below, once lured with love or desperation, they aren’t allowed to leave, and can’t even try: if they ever leave the protective magic of the merfolk, they will drown. They eat raw fish, sleep in tethers, and cover themselves in seaweed.

Debate about how to help (or handle) humans is a major issue within the story, as evidenced by this example:



(Full Sample PDF Download)

Arraia looks back to check that you're following. "Tephra brought back more than the Orb," she says, "more than Cinza. She brought back…" She trails off, focusing on the path straight ahead.

Estre finishes for her: "A human."

"Tephra shouldn't have brought it down," says Arraia. "Humans don't belong here. Their bodies, their minds can't take it, and it's not fair to them."

This new human must be going through the same process that you know happens to humans who are around merfolk down here. Their bodies fill with salt water and strengthen against the crushing cold, but getting used to the sensations takes a while. After a time, the merfolk's immortality even rubs off on them.

Estre wriggles uncomfortably. "This new human, it chose to come down here itself, knowing it would have to stay," he says. "Do you really think it shouldn't be allowed to control something like that in its own life?"

*fake_choice
    #"That decision can't be made with a full understanding of the consequences."
    #"Humans should be allowed to make their own decisions, even if they are mistakes."
    #"Let's give the human a chance to get used to things."
    #"Well, hopefully that's a decision that makes it happy."
    #"The human made the decision, and it's not for us to question its judgment."

The PC also has a human ex living in the city, 1 of 3 different people (depending on personal preference). Negotiating this unbalanced relationship is difficult and painful, and there are no easy answers. But this difficult situation, at the time the best option available, is thrown into sharp contrast when another mermaid brings home a human who she just met. The question of what to do personally, communally, are re-raised.

So too are the questions of what to do about the mentally crushing squid attacks, the whales and their gifts of immortality, and the community in general.

Players wrestle with dark secrets around terrible prices, mind control, and lost histories, but also find opportunities for love, comfort, and a healthy future. There are many choices, and no easy answers.




Choice-Based Structure

High-level outline of The Sea Eternal built with Twine.

•Linear & Nonlinear
•283,000 Words
•10 Unique Endings
•2 Levels of Outline

Made using ChoiceScript, The Sea Eternal (and Creatures Such as We) both feature some internally complicated paths that make for a strong, choice-based game at every level.


Branching Stories

High-level Outline on the right. Detailed Outline below.

Making a story with so many branches, merges, and miniature scenes made high-level tracking imperative. This was handled with two versions of an outline: first a rough story draft of the major scenes, and then a more detailed breakdown that called out major decision splits in each individual scene.

Going into principal writing with such a detailed outline made the process incredibly straightforward. Not only was progress straightforward and trackable, errors were minimal, and I was able to give each path equal weight, respect, and polish.

The branches at the final confrontation have several parallels, but each one honors different choices made by the player, making for both an emotionally satisfying ending with strong sequel potential.

Detailed outline of The Sea Eternal built with Twine.


Looping Events

Not only did players get to make massive story decisions, but every moment felt empowering and interactive, such as with the choice loop below example below.

A simply framed task: collect some food had both a straightforward collection phase, and a set of subroutines that covered story-critical backstory about the player’s life, community, and place in society. Together, they gave weight to a simple collection task and anchored an internalized conflict.

At the end of this scene, players have one final choice that merges both the superficial task and the deeper life struggles: should this task be completed or abandoned early?

The scene's structure is illustrated with both the flowchart below and in the downloadable scripted PDF sample.

(Full Text and Scripting Download)

A visualization of 3 gosub options that get referened in order under 1 choice node loop.




Gender-Inclusive

A picture of a mermaid and merman, with a giant squid in the center gripping two whales in the background.
He/She/They/Etc.

The Sea Eternal has several trans or gender-nonconforming individuals across the spectrum. Expanding on a gender-choosing system I originally built in Creatures Such as We, I built a robust framework for multiple gender pronoun options, creating a welcoming environment by making gender options easy, effortless, and natural.

Using Neopronouns as Variables

The pronouns He/Him/His and She/Her/Hers use different grammatical rules, which you can notice if you happen to switch something like "${His} boat capsized. It was {his}." into "Hers boat capsized. It was hers." He and She are not good foundations for pronoun variables. I found it much easier to use a neopronoun set that covered every grammatical variation.

The example now becomes, “${Zir} boat capsized. It was ${zirs}.” This simplified pronoun tracking: I never had to mentally swap between the different and incomplete pronoun rulesets because I created a ruleset that was designed to handle this from the start.

Optimizing rulesets and gender grammar also made incorporating they/them pronouns a little bit easier: using a custom pronoun ruleset made it easier to be more flexible when it came to considering verbs.

They/Them Verbs

I'd switch to the plural version of verbs for the singular they/them pronouns, for example “He eats breakfast,” would become “They eat breakfast.”

This change was tracked with a simple variable, that would either stay as “s” or go blank, as needed: “${Zhe} eat${s} breakfast.”

Here’s the full list of pronoun markers I used to keep track for the NPC with the shorthand name of TAL:


*comment Possible sets: {he / his / his / him} {she / her / hers / her} {ne / nem / nems / nir} {ve / ver / vers / vis} {ey / em / eirs / eir} {ze / hir / hirs / hirs} {ze / zir / zirs / zim} {xe / xyr / xyrs / xem} {they / their / theirs / them}
*create TalZhe "he"
*create TalZir "his"
*create TalZirs "his"
*create TalZim "him"
*create TalZimself "himself"
*create VerbS "s"
*create VerbES "es"
*create ApoRE "'s"
*create ApoVE "'s"
*create VerbAlt false

With an example sentence:

While ${TalZir} old clothes fell apart long ago, ${TalZhe} maintain${VerbS} ${TalZir} sense of dignity with a wrapping made from woven seaweed,
*if (Feral > 50)
    although you don't think ${TalZhe} really need${VerbS} it down here.
*if (Feral <= 50)
    although you suspect its simplicity might shock Flynn.

It is rare to refer to a player character in the third person enough to actually need this robust of a system (usually PC’s can be handled more simply and with one-off sentence switches), but it was absolutely critical for the non-player character “TAL” who did have so many possible genders. This system really came together beautifully.

Downloadable Template

You can find both gender-inclusive pronoun examples and templates within my Interactive ChoiceScript Tutorial.

Home / Contact / 𝕏 / Resume / LinkedIn