Release: Whence We Came (Return to the Otherworld 4)

Already halfway done. It feels like time’s just flying by, even in the Otherworld.

In the face of a greater danger, lesser arguments are left behind. When disaster strikes, old enmity is forgotten. Nowhere is that more true than in the other world.

The flood continues, submerging the lands of what some may have believed to be their corner of paradise. The secrets of the distant past remain buried, but they are slowly coming to light. And one member of the second expedition chooses a different path, a path that will test her faith in not only the divine, but also herself.

This one’s pretty much a direct continuation of Waters Rising, which shouldn’t be too out of the blue. It’s a nice little arc, mostly self-contained, but I threw in the added wrinkle of a “guest” chapter on Earth. Because our team has been gone a few weeks now, and they left behind some unfinished business.

Otherworld stories, remember, are available exclusively on my Patreon, so head on over that way to pick this one up. While you’re there, make sure to check out all the other great works you can get for the miniscule pledge of only $3/month. And get ready for Falling Into Place, which is only six weeks away. It’s a perfect choice for your Summer Reading List challenge.

Keep reading!

Themis dev diary #5

I’m up to the 8th alpha release of Themis, and things are looking up. Since my previous entry in this dev diary, I’ve made considerable work on implementing more of ActivityPub, but most of my time has been taken up by two things not absolutely necessary for a program to work, but vital to getting it adopted.

First is the bane of all programmers: documentation. I’ve spent most of the last month working on internal docs, source code comments, and the like. Fortunately, this all came at a time when I was facing a little bit of burnout on Themis, so the project itself didn’t suffer. Now, I still need to write the user documentation, including such minor tidbits like setting up a Themis server, logging into an existing one, and so on. But that’s for later. You know, when I think I might be ready for users.

Second, the front end. I hate doing UI work. I’m not an artistically-inclined person. I work better in text than art. I can’t draw, I have no real intuition when it comes to formatting or color schemes or anything like that. It’s just not who I am. On the plus side, ActivityPub is meant to be client-agnostic. Mastodon, Pleroma, and other platforms using the standard do have builtin clients, but you can also use the servers with your own apps. (I’ve mostly been using Fedilab, but I’ll likely switch from that now that its author has outed himself as a censor.) Themis will, I hope, reach the same state. For now, though, it has a simple, functional front-end inspired by traditional newsreader programs (such as my old favorite, Xnews).

Originally, I thought to use a three-panel system, in the vein of reader programs such as Pan and Forte (Free)Agent. Or even Thunderbird, although it’s geared more towards email than newsgroups. Thus, the left-hand panel would contain the groups, while the right side would be split between threads on the top and posts on the bottom.

I used that for the 0.0.6 version I described in the last dev diary, and it just didn’t work. Vuetify, the UI library I’m using on this project, made it extraordinarily difficult to align all the metadata columns while preserving the tree structure of a thread. As the tree is one of the two most defining features of Themis, this was unacceptable. On top of that, three-panel is hard to make work in the browser, especially when you’re working with widescreen monitors. (Back in the day, that wasn’t an issue. We had 4:3, and we liked it!) So I scrapped that and rewrote the whole thing. Now, Themis still uses 3 panels, but they’re set up as columns. Let’s take a quick look at how they work.

On the left is the list of groups your server hosts or otherwise knows about. Being an ActivityPub implementation, a Themis server can connect to other servers (instances, as they’re called). Some of these might not run Themis themselves; nothing’s stopping a Mastodon user, for example, from posting to a Themis group. But they can’t create groups, because their software doesn’t know how. Thus, you’ll only get groups from your server and any other Themis servers it has interacted with in the past. (Federation isn’t completely implemented yet, so take this as more of an ideal than the way things really are.)

Once you select a group, the middle panel appears. This shows the threads in the chosen group. Threads work here like they do in forums, email, or newsgroups. Each has a subject (interestingly enough, this also means all Themis posts will appear on Mastodon with content warnings) and other metadata, but you won’t get to see the text until you click.

That opens the right-hand panel, the thread view. This is what I couldn’t get working in previous versions, necessitating the rewrite. But I must admit a great amount of pride at my accomplishment. Internally, it’s a hand-rolled, block-level tree component with integrated event handling. For non-developers, just know that it shows every post in a thread in a nested format similar to comments on Reddit, Slashdot, Disqus, and many other sites/services. Best of all, you have an inline reply form, so you’ll always know where your post will appear in the thread.

Also coming in the rewrite was a new navigation system, easier to work with on the developer side. Version 0.0.8 adds in some of the places it can take you, namely your profile and your list of “favorites”, which is basically the same as on any other social media platform.

Some things remain unimplemented, but I feel I’m making great progress. Before the beta release—still targeted for October 1—I want to add a new, more comprehensive filtering system. That’s the big one, in my opinion. That’s what separates Themis from the pedestrian “block or mute” systems of other platforms, and it will, I hope, allow for a higher standard of discussion. “All that’s dead might live again,” as the song says. (And if you can name that tune, I’ll put you in the contributors section!)

Keep watching for future dev diaries, and track the progress of the project over at Github. If there’s any interest, I might set up a donations page, too.

Themis front page, version 0.0.8, showing the login form, site info, and “A Look Inside” counterpart
Themis 0.0.8 main page, with only Group View open
Themis 0.0.8 main page, with all panes open, showing nested replies
Themis 0.0.8 main page, with navigation menu open
Themis 0.0.8 main page, showing the New Thread composer
Themis 0.0.8 user profile page, showing mostly placeholders
Themis 0.0.8 main page, showing the Inline Reply composer

🖼🗣: the emoji conlang, part 7

Welcome to another chapter in the story of the emoji conlang 🖼🗣. This time around, we’ll get most of the more complex clauses you’d find in a language, including some that are traditionally considered the hardest to pin down. So let’s get right into it, shall we?


Comparing two things is both easy and common. In English, of course, you use “comparative” forms of adjectives: bigger, stronger, more interesting. 🖼🗣 does things a little differently, however.

First off, there are no special adjective suffixes for comparisons. That fits with the general idea of the conlang as being very isolating. Instead, we use the verb ⬜▫. Normally, it has the meaning “to exceed”, but we can prefix it with an adjective (effectively functioning as an adverb) to create a comparison: 👇 👨 ↕〰 ⬜▫ 👆 👩 “this man is taller than that woman”.

The form, then, is fairly simple. First comes the thing that is being compared. Next is an adjective for the quality being compared. Third on the list is the verb ⬜▫ (which can take suffixes if needed). Last comes the “standard”, the yardstick being measured against.

Note that this construction is for actual comparisons only. If you just want an adjective meaning “more of X”, you can just use the superlative suffix ⬛. It works for English “more” and “most”.

Causation and purpose

In 🖼🗣, these two concepts are closely related. Something can cause something else to perform an action, or something can perform that action for a reason. Either way, the form is similar, so we’ll treat these two types of clauses together.

First, the simpler purpose clause is just a string of verbs or verb phrases, with objects and the like inserted where they would normally go. So “I went to the store to buy food” becomes 🤳 🛫◀ 🏬 🛍📨 🥘.

Note here that the subject of the second clause is implied. That’s normal. Just having multiple verbs strung together is enough to indicate what we’re talking about. But we can add a subject, too: 🤳 🛫◀ 🏬 🤲 💁 👉▶ 🥘. (That strange 💁 in there will make sense in a minute.) Roughly, this sentence translates as “I went to the store so we’ll have food.”

Now, building off this, we can use the verb ↘ “cause” to create, well, causatives. For instance, ♀ ↘◀ 🤳 🛫 🏬 would mean something like “she made me go to the store”; here, we explicitly indicate the subject in the second clause, showing that it is not the same as in the first.

Finally, two special words work with the purpose clause to add to it. Between the verb phrases, we can add ⤵⌛: or ⤵↘ to express times or reasons, respectively. Here’s an example of each:

  • 🤳 ❔➡ 🚫 🛫◀ 🏫 ⤵⌛ ➡ 🤢. “I couldn’t go to school while I was sick.”
  • 🤳 ❔➡ 🚫 🛫◀ 🏫 ⤵↘ ➡ 🤢. “I couldn’t go to school because I was sick.”

The topic particle

I promised I’d explain 💁, so here goes. In linguistic terms, it’s a topic particle, sometimes called a topicalizer. If you know Japanese, it should feel familiar, as it functions much like the particle wa (は). If not, read on.

The topic of a sentence is often the same as the subject. In cases where it isn’t, however, or when we want to emphasize it for some reason, we use the topic particle to draw attention to it. Notably, 🖼🗣 uses this in possessive predicates. The formula here is (owner) 💁 ➡ (possession), and we could translate it loosely “with (owner), there is a (possession)”. Complicated, I know, but you’ll get the hang of it.

Indeed, possessives like this are one of the few cases where the language gives two similar concepts wildly different forms. Compare 🤳 💁 ➡ 🐈 “I have a cat” versus 🤳’🐈 “my cat”. Not nearly the same.

Back to the topic particle, though, because it’s got another use: subjects. Not the grammatical sort, but the discussion sort. If I wanted to say in 🖼🗣 that my favorite food is chicken, for instance, I might type 🥘 💁 🤳 🔘👍 🐔. You can follow the same pattern to express preferences, opinions, ideas, and much more.

Relative clauses

Last, we’ll look at what is traditionally considered one of the most difficult phrases to describe, the relative clause. Fortunately for us, 🖼🗣 makes those fairly easy to start.

Relative clauses always begin with 👈, so if you see that, you know what you’re dealing with. In some cases, you don’t even have to worry about anything else. When the head noun is the same as the subject of the relative clause, you’re done: 👩 👈 🏡➡ 📍 👵 ⬜▫ 🤳, “the woman who lives here is older than me”.

When it’s not the subject, the only thing that changes is an extra pronoun that we add into the relative clause, kind of a placeholder for what we took out. 👨 👈 🤳 👀◀ ♂ means “the man that I saw”, but a more literal translation would be the grammatically incorrect (in English) “the man that I saw him”. If you’ve ever lost yourself in relative clauses, you’ll recognize this one!

That extra pronoun functions exactly as the noun it’s replacing, even in possessive constructions. And pedants will either love or hate the way 🖼🗣 deals with relative nouns in prepositional phrases. Because of this “placeholder”, we have no reason to end a sentence with a preposition: 👇 👈 🤳 ➡ ⬅⬅ ◻ “this is where I’m from” (or, if you must be formal, “this is the place from where I come”).


That’s all for now, but we really have all that we need. Well, except for words. Those are, after all, the meat of a language, so the next part of the series is going to go back to making them. Keep watching, because it’s about to get even more fun!

Summer Reading List 2019

It’s that time of year again. Hard to believe it’s been twelve months already, but here we are. Memorial Day, at least for those of us in the United States. And that means it’s time for the 4th iteration of my Summer Reading List Challenge!

As with the last three, the whole thing is all for fun. Don’t worry too much about it. Think of it as a chance to try something new, or to clear out that growing stack of books (or files, if that’s how you roll).

The rules, which are really more recommendations than rules, are as follows:

  1. The goal is to read 3 new books between the US holidays of Memorial Day (May 27) and Labor Day (September 3). These are the “unofficial” beginning and end of summer, respectively. (Obviously, if you’re south of the equator, this is a winter reading list!)

  2. Books are loosely defined as any non-periodical work. Comics don’t work, nor do individual chapters of manga. Pretty much everything else is fair game, though. The important thing is that you’re honest with yourself.

  3. At least 1 book should be of a genre or subject you don’t normally read. (In the past, I’ve used a rule that you should have 1 nonfiction book, but I’m shaking things up this time around.) So, if you’re a big fantasy reader like me, try sci-fi or something like that. Or nonfiction. Nothing wrong with that.

  4. Anything you wrote doesn’t count. That makes sense, because they wouldn’t be new to you. And if I didn’t have this rule, I’d only read my own stuff.

That’s all there is to it. You can track my progress on my Patreon or my blog, Prose Poetry Code. For you social types, use the hashtag #SummerReading to spread the word. And you can follow me on the fediverse, now at a new address:

However you do it, have a great summer, and remember to keep reading!

Release: Waters Rising (Return to the Otherworld 3)

Here we go with another Otherworld story, Waters Rising:

In either world, the forces of nature are far beyond the power of a single person to deflect. Here in the other world, where life is already fragile beyond any experience of the second expedition, danger comes even from the skies above.

While some choose to delve into the ruins surrounding their point of arrival, others must fight a true disaster, a flood that threatens not only the scientific endeavors they seek here, but also the homes, the health, the lives of those they have come to love. Unlikely heroes will rise, unexpected aid will arrive, yet all eyes turn to the river, to the rising waters that form their shared foe.

It’s about a flood, obviously. A flood that takes place in a land without modern conveniences like trucks full of sandbags, but that’s what makes it fun!

As always, you can pick up all my Otherworld stories on my Patreon for the low, low price of $3/month. Keep watching for Part 4, What We Leave Behind, coming in June. Until then, keep reading!

🖼🗣: the emoji conlang, part 6

It’s time for some more 🖼🗣. Last time around, you may remember that we looked at the vast collection of emoji in the Unicode standard (as of version 12). Most of them, not counting the numerous variations allowed by gender, skin tone, and hair modifiers, have some sort of meaning in our script.

Now it’s time to put them to use in making not just words, but phrases, sentences. We’ve been doing that already, of course; parts 2 and 3 were dedicated to that. Here, though, we’ll delve deeper into the nuances. And we’ll take it one step at a time.

Noun phrases

Conveniently enough, most words in 🖼🗣 are nouns, so we’ve got a lot to work with here. (Since emoji are icons, and it’s a little difficult to have an icon that represents something abstract, it’s only natural.)

To start off, remember that our script doesn’t have articles. There’s no “a” or “the” in 🖼🗣. They’re not needed. (Plenty of languages around the world get by without them, after all.) The meaning is implied; if you really need to specify something definite, then the demonstrative pronoun 👇 can provide a similar function. It’s not exactly the same, as it actually means something closer to “this” than “the”, but you get the idea.

Numerals are another important part of noun phrases. For us, they’re pretty simple: just use them. For “one”, you write 1. Ordinals, as we saw last time, instead use the “keycap” emoji such as 1️⃣. For ordinals greater than 10, you can compound them: “fourteenth” (the day I’m writing this) is 14.

Everything else is fairly straightforward. Adjectives occur before their head nouns: ⬜ 👨 “a big man”; 🔵 🚗 “the blue car”. Possessives use the apostrophe notation we saw in Part 2, always attaching to the head noun: 3 🤳’🧒 “my three children”; 👇 👴 🤲’🏠 “this old house of ours”. The last traditional component of a noun phrase is a relative clause, which we’ll deal with later.

Before we move on, though, a couple of little extra rules. First, adjectives can’t appear as subjects without a head noun. (They’re fine as predicates, by the way.) Thus, you can use the determiner word ⚪ as a kind of “empty” noun in these cases: 2️⃣ ⚪ “the second one”. This is not the same as converting an adjective to a noun; that’s why ⚪ is a separate word here.

Second, you’re allowed to use a verb as a head noun in a very specific circumstance. Linguists call it an action nominal, but you can think of it as something like the English gerund phrase. It must be as part of a possession construction: 🤳’📖 “my reading”; ♂’🛑 🚗 “his stopping (of) the car”. Somewhat obscure, I’ll admit, but it might come in handy.

Verb phrases

Verbs have quite a bit of variance, as we saw in Part 3. But that’s all inflection. At the phrase level there’s not a lot to them. 🖼🗣 doesn’t do much in terms of verbal grammar, because we’re trying to keep things simple.

That said, we do have a handful of auxiliary verbal words. 🙆 and 🙅 indicate permission and prohibition, respectively; they’re equivalent to English may and may not: 💮 🙅 🛫 “you may not go”. Much to the dismay of students, there’s a different can counterpart, ❔➡. That one is only for ability.

Simple negation uses 🚫, so we might say 👁️‍🗨 🚫 🍴⏯ “I haven’t eaten”.

The imperative is what linguists call direct commands, and we mark it with the suffix ❕, as in 🛑❕ “stop!” Using the appropriate pronouns, we can do a few more tricks with this: 🤲 🛫❕ “let’s go”, 👥 👀❕ “let them see”.

The special compound pronoun 👐↔ means roughly “each other” when used as the object to a verb. We might use it like this: 👨 ➕ 👩 💕➡ 👐↔ “the man and woman love each other”.

Finally, you may be wondering where all the adverbs are. Well, 🖼🗣 doesn’t have a separate class of them. Instead, it just uses adjectives that modify verbs. That’s pretty much what a lot of English speakers do in colloquial language, so it shouldn’t be any problem. ✔ ✍❕ ◻ “write it correctly”, ♀ 👍 🗣 “she speaks well”.


Now we’re only missing one major part of language, and that’s the preposition. Grammatically speaking, those in 🖼🗣 function as adjectives, with the special rule that they always appear at the beginning of a noun phrase; this phrase can then appear after another one or at the end of the sentence, depending on the situation. (It’s not quite free variation, in case you’re wondering. Sentence-final phrases tend to be those that modify a verb.)

Here are some of the most common single-symbol prepositions in our script:

  • ⏩ – “after”
  • 🆚 – “against”
  • ⏪ – “before”
  • ➗ – “between”
  • ⤵ – “in” or “into”
  • ⤴ – “out of”

A lot more are compounds, often using the adjectival suffix 〰:

  • ⬆〰 – “above”
  • ⬇〰 – “below”
  • ⬅⬅ – “from”
  • ➡➡ – “to” or “for”
  • ➕↗ – “with”

Last, and simplest, is the way 🖼🗣 says at: @. You can use this as a normal preposition: 🤳 👉 @ 🎦 “I’m at the theater”. But it also has a secondary use as a kind of attention-getter for speech, in which case it works as a prefix on a head noun: 🤳 💬◀ @♂… “I said to him…” (The intent here is to emulate @-mentions, as on Twitter and Mastodon.)

To be continued

This post covered the most basic sorts of phrases you’ll find in 🖼🗣, but not the only ones. In the next installment, we’ll look into the more complex clauses: relative, purposive, subordinate, and so on. Sounds hard, I know, but never fear. There’s really not that much to them.

Amazon release: The Beast Within (Endless Forms 2)

Has it been a year already? Time for another Amazon release.

Fame is fleeting, but fear lives on forever.

The monsters are real. Cam Weir knows this. He’s seen them in the flesh, in all their naked, hideous glory. Yet he remains skeptical. Perhaps two monsters were enough for one man, for one life. Surely all those other things people see, those shadows lurking in the night, were merely products of overactive imaginations.

In most cases, they are nothing more, but not every call Cam receives can be so easily explained as a hoax. As he struggles to come to terms with his new status as a celebrity, a famous hunter of the paranormal, Cam finds that the world is strange, and it’s only becoming stranger. Now, in addition to Bigfoot, he must hunt a werewolf.

If you’re interested, head on over to the book’s page, where you can find a link to the Kindle Store for the digital edition, or the paperback for those who, like me, prefer the real thing. As always, be sure to check my Patreon for more info on how you can support me.

Release: Fortress of Steel, part 1 (Modern Minds 4)

It’s time for a new Modern Minds short story. This time around, it’s Part 1 of “Fortress of Steel”. As always, we’ll start with the blurb:

Dirk is a young man looking for his future. His mind holds a secret strength, a defense few can understand, let alone break. Yet that very power will lead him further into the hidden world he has only just glimpsed, a world of mystery, wonder, and danger.

Head on over to my Patreon (at least until it gets shut down!) to pick this one up. All you need is to subscribe at my Serious Reader level, which only costs you $3/month. That’s not much at all. And you’ll get the conclusion of this one when it comes out in August.

Themis dev diary #4

Since my last update, I’ve now released the 6th alpha of Themis. It’s still not ready for primetime, alas, but I’m making progress. This particular milestone marks the introduction of ActivityPub support, one of the cornerstones of the Themis project. So far, the server can handle incoming Create activities (or post objects by themselves, which it converts into these as per the spec) and follow requests for groups…as long as they come from local users.

In other words, we’re not federating yet, but it’s something. I’ve never implemented a spec of this complexity before, and I’m still working alone. It’s harder than I thought, especially since so much of the AP spec expects you to be online. (In fact, it outright tells you not to deliver to localhost, meaning that I can’t even call Themis compliant until I’m done testing!)

Now, though, I’m taking a break from that and shifting my focus back to the front end. For Themis, this is a kind of SPA using the excellent Vue.js framework and the Vuetify UI library. It’s Material Design, but I’m a strange person. (Okay, you already knew that much.) I like the look of Material Design. It’s clean, uncrowded, and it has what I see as a nice feel. No design spec is perfect, of course, and Material does have some glaring flaws. Vuetify has even more. Still, I think it’s a good starting point.

The screenshot below shows what will become the front page of a Themis server. The login box switches to an account creation form when requested, the right-hand column displays a list of all known groups, and the middle portion will hold a server-specific description that can contain local rules, admin info, or anything else you like. (Editing that information is yet to be implemented.) Other than that, it’s pretty much final. All that’s missing is a logo, which may take someone with more artistic skill—compared to me, that’s anybody.

Because so many people use mobile devices instead of proper desktops these days, I’m also doing my best to make this front-end fully responsive. It’s not mobile-first, because I don’t believe in that philosophy, but Android phones and tablets will be first-class citizens in the Themis network. (I can’t afford to test Apple products, so that’s why they’re not included.)

So, after all that hard work to get 1/3 of the ActivityPub spec implemented, expect some faster progress now. Themis still has a lot of work to go, but I hope to get at least a feature-complete beta version out by October 1st. That’s my target, as it has been all along. Now, I think I can do it.

To share or not to share

Comic books have a long history of being set in a “shared” universe, and that has, in recent years, bled over into the movies and TV series made from them. Witness Marvel’s numerous offerings, how they all interconnect. Characters cross over, as can villains and plotlines. Major story events can reverberate through half a dozen individual series. (DC tried this, too, but they can’t seem to get it right the way their biggest rival does.)

In the world of “real” books, this kind of thing is not too common. That doesn’t mean it’s unknown, however. And there are a couple of ways to go about it. One might say that the Dune setting, for example, is a shared universe, as it has multiple authors working in the same world, under the same general constraints of style, characterization, and overall feel. The (now-defunct) Star Wars Expanded Universe is another good example: dozens of books, all able to build off one another, but still able to tell individual, independent stories.

The other option is a single-author universe. In this case, the meta-setting isn’t shared by multiple writers, but by multiple series. For this, the best example has to be Stephen King; The Dark Tower was his way of connecting all these disparate stories. Another example of an author placing lots of stories into the same universe is Brandon Sanderson, with his “Cosmere” setting. Again, the general principle is the same: multiple stories, all acting independent, but with signs that they are, in fact, set in the same world. (Or worlds, in this case.)

Even considering something like this is a massive undertaking, but…that’s just what I’ve been doing lately. And I’m fast coming to the conclusion that I’ve already started creating a shared universe for some of my works.

Let’s start with Otherworld, since it’s my biggest work yet. All along, I did intend it to be a place that could be shared. There’s a lot of worldbuilding and backstory that has absolutely no bearing on the main plot of the lost expedition. In fact, I’ve gone so far as to create a language for a race that won’t even show up in any of the planned 50 novellas and short novels that make up the “primary” Otherworld series. But that’s okay. In my mind, that gives me more room to try other stories. And I don’t even mind others trying their hand at something set in the universe. (Seriously. Just ask, and I’ll tell you all you need to know.)

One series does not a universe make, of course, but that’s where it starts getting bigger. My Endless Forms series of paranormal thrillers will soon see its second full release (next month in paperback and ebook formats), and I have slipped in a vague reference to one of the Otherworld “bridge” stories, specifically “The Control Variable”. It’s not overt, and it could easily be explained away as a chance coincidence, but I know the truth. And I know I should probably regret it. Now that I’m writing the third entry in Endless Forms, Change of Heart, I may end up adding more nods to Otherworld.

So that’s two, but not all. In November 2017 I wrote The Soulstone Sorcerer, the first entry in a series I’ve codenamed Gateway. The timing doesn’t work for it to reference either of the two above—it’s set in 2018, the others after—but I have gone the other way. The Second Crossing and Point of Origin, two of the 2nd season Otherworld novels you’ll see this year, both have oblique references to The Soulstone Sorcerer. Again, it’s not so obvious that you can’t miss it. No, this is nothing more than a mention. But it may grow into something more.

Shared universes don’t have to be connected through direct links like this, though. Thus, if I’m going to be doing this, then I have no problem saying that, for instance, Heirs of Divinity is set in the same world. There’s about 300 years of difference between it and any of the others, but it concerns essentially the same idea as Otherworld, Endless Forms, and Gateway: things on this planet are not as they seem.

That one’s a decision for later. The same could be said for “Fallen”, the novella I released for free last year. And “Miracles”, since it’s a direct spin-off of Heirs. Some others I have on my to-do list might also end up being in this shared setting, but we’ll see.

Obviously, not everything I write can fit this mold. Nocturne and The Linear Cycle quite obviously aren’t set on our planet. They’re fantasy stories in fantasy worlds. Orphans of the Stars is meant to be “harder”, so it’s out, too. The same goes for Before I Wake, although I may have made it a book that exists in the shared setting.

Hidden Hills is a tough one, though. On its face, it fits the fantasy theme the same as Nocturne. If you look at it the right way, however, it might actually be a far-future sequel to Orphans of the Stars. Okay, maybe I wouldn’t go that far, but if you read the two, you can see how they could, in theory, be connected.

In other words, even the notion of a shared setting can lead to false friends, stories that look like they’re linked, but really aren’t. Also, I have to resist the temptation of drawing stories closer together when they’re meant to remain separate. I’m not ready for crossovers. I don’t think they’d fit my writing style at all, and they feel a little too…campy for my tastes.

Still, it’s something to think about.