Summer Reading List Challenge 2024

Is it already that time of the year? 2024 seems like it’s just flying by, or maybe that’s because I’m old now. Whatever the case, it’s Memorial Day, and that means time to start a new Summer Reading List challenge! Take a look at the original post if you want to see how this all started. If you don’t really care that this is the 9th straight year I’m doing this challenge, then read on.

The rules are the same as always, because they just fit the challenge perfectly. As always, remember that the "rules" presented here are intended to be guidelines rather than strictures. This is all in fun. You won’t be graded, so all you have to do is be honest with yourself.

  1. The goal is to read 3 new (to you) books between Memorial Day (May 27) and Labor Day (September 2) in the US, the traditional "unofficial" bounds of summer. For those of you in the Southern Hemisphere reading this, it’s a winter reading list. If you’re in the tropics…I don’t know what to tell you.

  2. A book is anything non-periodical, so no comics, graphic novels, or manga. Anything else works. If you’re not sure, just use common sense. Audiobooks are acceptable, but only if they’re books, not something like a podcast.

  3. One of the books should be of a genre you don’t normally read. For example, I’m big on fantasy and sci-fi, so I might read a romance, or a thriller, or something like that. Nonfiction, by the way, also works as a "new" genre, unless you do read it all the time.

  4. You can’t count books you wrote, because they obviously wouldn’t be new to you. (Yes, this rule exists solely to keep me from just rereading my books.)

Social media is an awful place these days, and even my usual fediverse haunt is in flux at the moment. I’ll try to post on my alt @nocturne@bae.st, but don’t hold your breath. Instead, just wait for me to write something here. Of course, you can post wherever you like, even if that’s to Facebook, Twitter (I’m not calling it anything else), or something weird like Threads.

Have fun, and keep reading!

Twine thoughts

As I mentioned a few months back, I’m writing interactive fiction now. I’ve been planning one called The Anitra Incident, which I envision as a kind of prequel to my Orphans of the Stars novel series. (The second, which I’m actually in the process of writing, is…something else that I’ll never attach my real name to.)

In the previous post, I looked at what I consider the top four tools for creating interactive fiction: Inform 7, Twine, Ren’Py, and Ink. I think I made it clear then why I felt Twine was the best choice for what I’m writing. Now that I’ve been working with it for a while, I have some thoughts to share. These are more of a ramble than even my usual posts here, so bear with me.

Ditch the editor

Twine’s biggest draw is that it has its own editor, with a nifty little drag-and-drop visual tool to organize your stories. It looks good, and it helps to get people interested in creating, rather than whining about how they don’t want to have to learn anything.

But it sucks.

Yes, the editor works just fine for small-scale constructions. Twine divides its stories into passages, which are just that: bits of text that can be anywhere from a few words to an entire chapter, with all the necessary logic for interactivity sprinkled in. A big story with a lot of branching points, arcs, and the like is going to have hundreds, if not thousands, of passages. (Case in point: my unnamed side project has 232 total passages already, and that’s not much more than a set of locations and a handful of conversation scenes.) Trying to keep all that straight will quickly become impossible.

On top of that, the editor’s structure makes it difficult to write code. There isn’t much room for "metadata" on a passage; for the most part, that’s limited to a series of tags, which you have to edit using the "chip" style of tagging that web devs love for some inexplicable reason. But that means you have to put all the code in that little box, even if you’re using a tool that expects tags. In my case, that’s TinyQBN, a library for implementing what the creators of Sunless Sea call "storylets".

I could rant about the editor for another few posts, but I just don’t bother using it, so I won’t bother discussing it further. Yes, setting up a custom workflow is a bit more difficult. Yes, it’s worth it in the end. After doing the work, I can now write my story in Vim and my code in, er, Code. And it all comes out the same, except that I also have better handling of external JS libraries, static analysis tools that can run automatically, and so much more that I’m used to from my life as a developer.

People are stupid

Which brings me to my next point. The average Twine user is not a professional developer or a professional author. Worse yet, neither are the Twine power users. As far as I can tell, I’m just about the only one using Twine who does both. Believe me, it shows.

Most Twine tutorials are written for someone who has never so much as looked at code, and who barely even knows what fiction is, let alone how to write it. I don’t know why Twine’s community targets journalists as its intended audience, but that’s how it is.

For someone who knows both fields, it’s just frustrating. I’ve already read the intro material. I know what a macro is. But no one out there is creating any resources for the intermediate or advanced users. How should I structure a story in terms of source files? What are some common design patterns in interactive fiction, and how do I apply them in Twine? When should I break a scene across multiple passages, and what’s the best way to handle that?

I get that much of writing fiction is an art. I’m well aware that there’s no one-size-fits-all method for creating a novel. But to assume that everyone is forever going to be stuck at the beginner stage is doing the rest of us a disservice. I’m aware that zoomers, degenerates, and progressives (the main components of the intfiction.org "community") don’t know how to learn; people who look to Tumblr for knowledge and wisdom have shown pretty definitively that they have neither. Surely somebody out there cares about the rest of us, though.

If not, maybe I should work on that myself.

Wokeness taints everything

Allegedly, the interactive fiction community is thriving, and Twine is a big part of that. In reality, there’s not much of a community. Much like any other hobby (people don’t generally make a living off adventure stories, unless they work for Failbetter), the anti-human rot of progressivism infects every large gathering that would have the chance to become a community. Those of us who prefer free expression to censorship are, as usual, labeled extremists for the radical view that words are just words. Strange for a hobby built around words, but that’s the whole point of the woke ideology: to tear apart any gathering of like-minded individuals by setting them against one another.

So there’s an interactive fiction forum, but it’s so heavily censored that you get banned just for saying something that someone might think is "bad" in some ill-defined way. There’s a group on Reddit, but that’s…well, Reddit. It’s the Mos Eisley of the internet. Your other major option is Discord, which might be even worse!

Interactive fiction started in the days before the web. It became popular because of technologies like Usenet, where you were expected to be civil, yes, but you weren’t coddled. To have its gathering places be nothing more than wastelands of diversity, mere online versions of Portland and Detroit, is just sad.

(This isn’t specific to Twine, mind you. The Inform community goes even farther. They not only stand against freedom of speech, but also anonymity.)

Tech is tech

Beneath it all, Twine is nothing more than a very weird SPA framework. Sure, you have to compile the source, but the end result is an HTML page and a bunch of assets. It’s like Svelte in a way, except that (as far as I’m aware) the Twine authors don’t openly support child trafficking and religious persecution. As a developer, I think looking at it as a web framework has helped me better understand how to use it as an authoring tool.

This is where my earlier point about getting rid of the Twine IDE as soon as possible comes back into play. Once you abandon that crutch, you realize just how much freedom you have, with all that entails. For my current story, I’ve added the Pure CSS library to help with some layout issues. On my initial draft of The Anitra Incident, I’d used Moment.js for timekeeping; now, somebody finally made a decent native date system macro that does most of what you’d need in a story.

The output is HTML, meaning that you get to use CSS for styling, Javascript for scripting, and all that good stuff. People have managed to integrate Phaser, a 2D sprite-based game engine, into Twine stories, and I’ve been looking at how they did that. I wouldn’t be surprised if somebody even tried combining Twine with React and a full-stack framework. (Come to think of it, that’s not a bad idea. Okay, maybe not React, but Vue and Nuxt…)

One true format

Twine comes prepackaged with a number of "story formats", which are combinations of style templates and authoring DSLs. I briefly went over them in the previous post on this topic. In short, Chapbook is new, and mostly unused. Snowman is not much more than raw Javascript with a parser.

The other two are the most popular: Harlowe and Sugarcube. Harlowe is the default format in the Twine IDE, so it’s the one most newcomers learn first, but I think that’s a horrible decision. If you want to do anything even remotely complex, you’ll quickly run into the limitations of Harlowe. Far worse, however, is the fact that those limitations are by design. The authors, much like Apple, go out of their way to break any attempt at getting outside their sandbox.

In other words, there’s really no reason not to go straight to Sugarcube and stay there. It works. It’s not difficult to pick up. Most of the libraries out there are for it. (A few are format-agnostic, I’ll admit.) And you won’t be supporting the intentional hobbling of technology.

Conclusion

To sum up, then, what I’ve learned about Twine from using it is that it’s a great tool for what it does. It has some extraneous bits, and these are unfortunately the same bits that newcomers are pushed towards. If you’re willing to take the time to set up your own dev environment, use Sugarcube and a compiler like Tweego, and live with the fact that you’ll get no help from the community beyond "here’s how to make text red" and "here’s how to let your players make up their own words to use as pronouns", you won’t have any problems.

Writing a novel is a lot of work. Writing a program is a lot of work. Trying to do both, which is all interactive fiction really is, can be a monumental undertaking. But it’s fun, too. That’s what I’ve discovered in the past few months.

Interactive fiction revisited

I’ve always been one to do things just to say I did them. It’s why I became an author, why I ran for office last year, and why I still, despite having failed on multiple occasions, try to create electronic music. (Now I really want to get back into LMMS…)

I’ve also felt that teaching programming is an important goal. Not because I believe everyone should, or even can, become a developer, but because the critical thinking, reasoning, and logical skills necessary to write code are in short supply throughout society these days. If young people learned a little about programming, my thinking goes, that would better prepare them to look at every other part of the world in the same way.

These two desires of mine combine in a few very narrow ways. I’ve tried writing pedagogical programming languages, for example, and I’ve urged those I feel most receptive to try out Scratch, Grasshopper, and other teaching tools.

For the most part, that hasn’t worked. But lately I’ve been getting back into the idea of creating interactive fiction. For those who don’t know, this is a nebulous catch-all term for visual novels, old-school text adventures, and a few other types of games. (For those who disagree with me calling them "games", you’re wrong, because they’re games by any reasonable definition.)

Interactive fiction isn’t so much a genre as it is a medium, but all types have something in common: they use programming to turn simple prose into something a player can interact with. Some work by presenting the user a list of choices. Some, like the older text adventures, are played by typing commands. This isn’t so much a dichotomy as it is a spectrum; "choice-based" games can incorporate a parser. Thanks to the power of programming—every Turing-complete language is equally capable—there are no absolutes.

But there are differences. As I prepare to write, and in some cases rewrite, my first piece of interactive fiction, The Anitra Incident, I’ve studied the tools available, searching for the ones that fit me best, and the ones that work for the needs of the story. In that process, I’ve come to see four of them as standing above the rest, each for a different reason.

Inform 7

Inform 7 is the king of "parser-based" interactive fiction. It continues the tradition of old-fashioned text adventures like Zork, occasionally updating them to work better with modern computing. Programming is done through a natural-like language intended to vaguely resemble English prose. Games are compiled to an antiquated virtual machine and run through an interpreter that can be anything from a web browser to a native app to an executable on an old Amiga floppy disk.

Until last year, I wouldn’t even look at Inform 7 for development, for one very specific reason: it was closed-source. I don’t use closed-source tools for any other part of my development (Python, Vim, Clang, Git, open-source VS Code forks, and every other tool I use, they’re all freely available), so I was happy to finally have the chance to explore Inform when it was released under the Artistic License in 2022.

The good:

  • Being mature is a good thing in programming, and resisting the temptation to add faddish things just to keep up with trends is a noble goal. Inform has, as far as possible, perfected the parser style of interaction.
  • Inform serves as a de facto introduction to text adventures, so it has a large community, with lots of extensions and examples to draw from.
  • Tools like Vorple allow the intentionally limited language to access the rich multimedia features of modern web browsers, which opens up a whole new world of interaction.

The bad:

  • The Inform 7 programming language is just different enough from English that you can’t really write it as prose, and it’s peculiar enough in its function that you can’t take it as just another programming language.
  • While the primary documentation is vast, it’s also horrible. The developers’ guide, called Writing With Inform, is baroque to the extreme, and it’s written in a stuffy British style that gives me the impression of a Brontë character sneering at the rabble who would dare to write code.
  • The community seems to embody that same style, turning their noses up at the perceived limitations of non-parser adventure games.

Overall, Inform 7 isn’t bad. It excels in a very narrow niche: anything that resembles Zork, Colossal Cave Adventure, and old text adventures of that sort. If you want to write something that isn’t based around puzzles, rooms, and the guess-the-verb game of using a text parser, though, you’re going to fight the system every step of the way. And you’ll be doing it without much help.

Twine

Twine is, in many ways, the opposite of Inform 7. It’s been around a long time, but it embraces the open community that comes from having open source. Instead of being based around a parser, it uses the concept of passages, linking between them mostly through player interaction. (That makes it "choice-based", in the parlance of the interactive fiction community. Problem is, "choice-based" is used mostly as a slur, from what I’ve seen.)

For programming, Twine allows a variety of "story formats", which all work around a core set of capabilities. In the default installation, you have four options:

  • Chapbook, which I’ve never used
  • Harlowe, hobbled by design to the point of uselessness
  • Snowman, a too-thin veneer over Javascript
  • Sugarcube, an HTML-looking middle ground

I chose Sugarcube because of the way it comes closest to the sweet spot of being powerful and extensible while also providing a decent standard library.

There’s an editor for Twine, but you can also use the Tweego compiler and just write your games in a text editor or IDE, which is what I do. Output is an HTML file plus some ancillary Javascript and CSS, reminiscent of a single page app of the kind you’d make with React or Vue.

The good:

  • Twine is easy to get started with. The editor is friendly, and the output looks nice even by default.
  • Sugarcube is actually decent, as long as you treat it like any other templating language. Think of it like Jinja, for example. The built-in macros, for the most part, cover what you’re going to need, but making your own isn’t that hard.
  • The Twine community is almost as big as Inform’s, and there are a lot of tutorials for getting started.

The bad:

  • You’ll quickly outgrow the editor, but setting up a Tweego dev environment isn’t trivial.
  • Although the community is big, the differing story formats mean it’s also fractured. So you’ll often find someone asking exactly the question you were going to ask…but they’re using Harlowe, so the answers they get won’t help you.
  • As with Inform, the documentation assumes you’re a programming newbie, and there’s little out there for those of us who know how to write code (and prose, for that matter!) but want to know how to write this kind of code.

My overall opinion of Twine is positive. I think it’s the best gateway to interactive fiction for two reasons. One, it’s more accessible than Inform, in both development of the game and playing it. Two, Twine offers more room to grow, at least if you’re using Sugarcube or Snowman.

Ren’Py

Ren’Py describes itself as a "visual novel engine". Visual novels are probably the most popular type of interactive fiction nowadays, especially in the anime fandom. In fact, some big indie games in recent years, like Doki Doki Literature Club, are nothing more than visual novels. Of all the ways, to create this type of game, Ren’Py tends to get the most press, so I’ve taken multiple looks at it over the years.

Programming a Ren’Py novel is done using a Python-based DSL that directly exposes the tropes of the medium. So, for example, you can define characters, and then the game will show them when showing their dialogue. The final result will be a native executable that runs on the platform of your choice, and there’s a web export currently listed as beta.

The good:

  • Ren’Py is simple to get started with. The tutorial is actually a complete visual novel, and it has more content than some I’ve seen.
  • The engine is geared toward multimedia. You don’t have to worry about "What if the player’s using an old version of mobile Safari?" as with Twine, or Inform’s "What if they want to play on a C64?" You just use your art and assets like you would any "real" game.
  • Python is, in my opinion, one of the easiest programming languages out there, so extensibility is not that difficult.

The bad:

  • The documentation is horribly lacking. Outside of the basic tutorial, there’s almost nothing official to go on, apart from API docs.
  • Ren’Py is very much a visual novel engine, and it shows. If you want to write anything else, you’re going to struggle.
  • The English-speaking community isn’t as big as that of Twine and Inform; many, if not most, developers are Japanese, meaning that language barriers are always going to be in the way.

I can’t really recommend Ren’Py for general use, but if you want to make a visual novel, it’s unparalleled. Well, I assume it is. As bad as the documentation is, it’s sometimes hard to tell.

Ink

Ink is the fourth and final option I’ve considered. Calling itself a "narrative scripting language", Ink’s niche is in the Choose Your Own Adventure and "branching narrative" space. In that sense, it can be seen as a very simplified Twine. But it’s also designed to be embedded. Unlike the others on this list, where you’re expected to make a game in them by extended their capabilities, Ink expects you to extend it by putting it in the game you’re making.

That’s a big difference, and it’s why Ink is so hard to classify. On one hand, it can be seen as little more than a dialogue library for games. On the other, it has enough power to create interactive fiction by itself. The Ink compiler offers a web export option, and that qualifies as a game in its own right. The JSON export option, however, is probably the one most games that aren’t intended to be interactive fiction will use.

The good:

  • Ink’s syntax is very clean and sparse, so the "I know I can’t code" people have little to worry about.
  • The embedding option is the killer feature for non-solo work, because Ink is by far the easiest to integrate with any other game development engine/library/whatever.
  • Also unlike the other options on my list, Ink has corporate backing while still being open source. That means there’s always going to be some quality control, if only because the game studios using it will expect it…and pay for it.

The bad:

  • Ink is only really good for branching narration and dialogue. That severely limits its niche when using it alone.
  • The engine integrations are pushed really hard, but Unity is the officially-blessed one. If you’ve followed Unity news lately, you know that’s a disaster waiting to happen.
  • Outside of Ink’s developers, there’s not much of a community.

Of the four options on this list, Ink is the best if you’re working directly with anything else. Want to make a Godot game with some CYOA-style interaction? This is the top choice. But anything more complex isn’t going to be done with Ink alone, and learning an entire game engine, with all that entails, is probably too much for a single dev working on a passion project.

Conclusion

Those are my thoughts on four of the most popular interactive fiction development systems. I have other thoughts on the medium as a whole, but I’ll save them for later.

Window of opportunity

One of the biggest problems with the world today is propaganda. And one of the biggest sources of propaganda is media. Of course, that’s something which has happened pretty much forever, but the scale of it is so much greater today. Movies push communist and other anti-human agendas. TV shows parrot progressive talking points without a hint of irony. Video games give our virtual characters a choice not between male and female—the only two biological sexes for humans—but between "Body Type A" and "Body Type B", yet never explain why only the first is allowed to be topless.

It only goes downhill from there. Rap is essentially the only genre of music that is advertised nowadays (with the minor exception of anti-American "country" pop music), while also being the only one to have no recognizable evolution in a generation. Sports leagues spent the summer of 2020 showcasing their support for a terrorist organization, and continue to promote child predators and genital mutilation. The list goes on, but you get the idea.

There’s a growing pushback among viewers, listeners, and players. Starfield’s launch was disastrous, and the game was rightly criticized by gamers for not only its antiquated graphics, but also its unrealistic demographics. The NBA is seeing its lowest TV ratings in decades. Disney is churning out bomb after bomb at the box office. And even mediocre musicians like Jason Aldean and Oliver Anthony are hitting the top of the charts solely because they’re willing to take a stand against the narrative.

Of course, the problem lies in the gatekeepers of media. Hollywood isn’t going to stop putting out woke garbage until Blackrock goes under, which isn’t happening anytime soon. AAA studios don’t care how poor the reviews are for their newest recycled PS3 franchise, because they know the games themselves are loss leaders at this point. And major sports literally have government protection for their monopolies.

Thus, we have to turn to the indie scene in every case. That’s where the innovation is. That’s where the pro-American, pro-Enlightenment, and pro-human media can be found. Indie authors are writing stories that lift us up and let us escape, instead of the same dreary racial metaphors. Indie musicians are creating tracks in every genre that bring to life the emotion that music should make us feel. Indie video games, even when they’re based on a timeless formula, show off new tricks of gameplay while also telling compelling stories.

It’s only going to get better.

The new hotness these days is AI. And that’s also the current target for the powers that be. Big business and established interests hate AI because of the potential it has. Ignore the complaints about copyright and consent. Those are red herrings. The real fear of generative AI is that it will give us a chance to create media without having to go through them. For instance, that’s why Steam, never a fan of freedom in the first place, is banning indie games which use AI content.

If a dev can use AI to cut out the time needed to hire artists, voice actors, and so on, that means so many more indie games will get past the demo and alpha stages. If an author uses an AI tool to generate story seeds or mines an LLM for dialogue inspiration, he might just finish that novel he’s been working on for years. And the tools are only getting better with each new release. Soon, much more of the media pipeline will be accessible to those of us without the means to break into the industry. Low-budget films used to be a laughingstock. In a few years, they might be indistinguishable from a Hollywood blockbuster. (Well, not exactly. You’ll be able to spot the indie movie because it’s the one with a straight white man as the protagonist.)

It’s been over seven years since I wrote Democratization of development. In that post, I argued that game development was reaching a golden age because of the availability of high-quality tools at a price affordable to the average person. That’s even more true in 2023 than it was in 2016, even if Unity has decided it no longer wants an audience. And you know what? Almost all the games I play now are indies. (The only exceptions are Nintendo’s licensed titles, which you can’t play on PC anyway.)

Let’s get other kinds of entertainment to that same level. With the free tools available now or in the near future, it’s a no-brainer. Blender, Godot, Synfig, GIMP, Inkscape, LMMS…these are only the ones I’ve used. Not one of them costs a single dollar. So the software is there. AI will add the assets for those of us without artistic talent.

Elephant in the room

That only leaves one last thing: distribution. It’s the hardest aspect, and it’s the one that doesn’t have a good solution. Patreon is a far-left wasteland little better than OnlyFans. Steam is owned by a company that uses practices deemed illegal in at least 3 countries. Crypto just isn’t the silver bullet its proponents wish it was.

This is where we, as indie creators, need to step up and let our voices be heard. Rich conservatives talk a big game about creating alternatives to woke business, but they never follow through on their promises. Rumble, for example, calls itself a haven for free speech, yet still bans many of those who seek to exercise it. And there just aren’t any right-wing or libertarian distributors out there—whether for movies, music, books, or video games—willing to seek out the indies who are desperate for a platform that respects them.

We have a moment, however. The backlash against progressivism is growing. Hollywood is crippled by its unions, and the video game industry may follow in its footsteps. Big Media is burning through cash at an unprecedented rate, and its outright hostility to its core customer base is keeping it from replenishing its coffers. If anyone with the means would take that next step, that pivotal step of reaching out to us indies and saying, "We’ll work for you," then democratization would get the boost that might just launch us ahead of the soulless corporate entertainment empire.

We’re ready. We’re waiting.

Release: Homeward From Afar (Orphans of the Stars, Book 3)

You didn’t read that wrong. This is a book release post. I know, right?

Earth is the cradle of humanity, but everyone outgrows the cradle.

The children and teens of the Innocence have seen things no one else, no matter their age, has ever lived to tell. Out of billions of humans scattered among hundreds of planets, they alone have the best knowledge of how vast the galaxy truly is. Now, it’s time to take a break, and where better than the birthplace of humanity, the center of human space?

For some, it’s a chance to return home, to see the changes time has wrought. For others, it will be a first impression they will never forget. Yet tensions are rising throughout the human worlds, and the Innocence is unwittingly fueling them. The youngest crew in history might be celebrities, but that fame also brings them into a brewing battle for hearts and minds of humans everywhere.

Homeward From Afar is the third book in my Orphans of the Stars sci-fi series, and it definitely hits the hardest of any so far. I started it in 2019, back before it was obvious that the world had gone mad. In fact, when I started writing it, I still believed it would release on Patreon! Now that the so-called elites have shown their true colors, this has become more of a private release. For now, you can only get it on Amazon in paperback or Kindle versions. (If you ask nicely, I’ll probably send you a proper EPUB in exchange for…something. I haven’t decided what yet.)

I’ve already finished the draft of Book 4, titled Time in the Sun. I’m about halfway through writing Book 5, On the Stellar Sea, but…I don’t know how much I’ll be able to finish. And the final three books in the series (Horizons Unseen, The Cradle Earth, and Suspended in a Sunbeam) probably won’t get done. I have a few notes for them, and I would love to write them. I just don’t think I have time before I enter a much longer sleep than anything the Innocence kids endured.

Summer Reading List 2023: Final

Coming in under the wire yet again this year. I have my reasons, though. The woman I love had a lot of…misfortune this summer. A man I’m beginning to despise has denied me a fortune of my own. And then we have all those other trifling things happening in the world, but I digress.

Fantasy

Title: Dawnshard
Author: Brandon Sanderson
Genre: Fantasy
Year: 2020

Before I start talking about the book itself, I need to tell the story of how I got it. This was not just something I picked up on Amazon, you see. In fact, I thought it was an ebook-only release, since I’d only ever seen it listed with electronic versions. That, to me, meant that I’d have to give it a miss.

I prefer physical copies for multiple reasons. One is simple texture: I love the feeling of a real book in my hands. That’s why I was so excited to be able to get real paperbacks of Nocturne, Before I Wake, and my other novels. The pleasure of reading real words on real paper is something no screen can match.

Beyond that, I avoid purchasing ebooks because I know that I wouldn’t really be purchasing them. Because of DRM and other nastiness, electronic media sidesteps the traditional first sale doctrine, which basically states that once you buy something, you own it. Publishers, greedy leeches on society that they are, hate this, so they long ago introduced artificial scarcity into online shopping. (It’s not only in books. Steam turned gamers into a culture of renters. TV and movies are now primarily streamed, where their very existence is ephemeral and fluid in a way no physical copy could ever be.)

So I thought I’d never have a chance to read Dawnshard by "legal" means. But then my partner and I went on vacation.

We went to Gatlinburg in April. If you don’t know Tennessee, Gatlinburg is the closest thing we have to a mountain resort. Definitely not an Aspen or Lake Tahoe, but maybe a very slimmed-down Vail or Snowshoe. It’s a beautiful place for a mountain-lover like me, and it’s only about a three-hour drive from where I live. Ahem. Where we live.

In this little hideaway, far from the ski lifts that were closed for the season, the nature park with its four-hour line (and 60 dollars I’ll never get back…), and the bustling town next door, there’s a back road that leads through the Gatlinburg Arts & Crafts Community. We went there searching for fudge on the one rainy day of our trip, but there was something even better across the street from the mediocre fudge shop.

Indie bookstores are a dying breed everywhere, but this one seemed almost perfectly placed in our journey. I’d seen it on the map, so I knew I wanted to check it out, but I thought it’d be a quick little peek and nothing more. Instead, my partner found no fewer than six books that interested her, plus the self-guided journal I talked her into getting.

As my tastes are more eccentric, I doubted I’d find anything worth buying. Indeed, the fiction section was mostly full of woke nonsense, as is common throughout the industry now. What was left after I ignored all that didn’t leave me enthused: multiple copies of A Song of Ice and Fire books, way too much Stephen King, and a handful of oddities. And Dawnshard, in a pocket hardback format. I was so surprised that I showed it to both my partner and the bookshop’s sole employee—he seemed almost as amazed by its presence. And now I had something to remember The Next Chapter besides the freebie bookmarks.


That’s the story behind my copy of this book. What about the story itself, though? Well, it’s a typical Sanderson tale, really, just in a much condensed format. This is the first time I’ve read one of his shorter works—Dawnshard is basically an oversized novella, about the same length as one of my mainline Otherworld stories—and I have to say that the pacing is dramatically different.

The plot is kind of a side quest for the Stormlight Archive series. It follows a couple of random B-team characters (Lopen, the one-armed guy whose dialogue has a lot of made-up words that make me imagine him as Hispanic; Rysn, who was so forgettable that I can’t even remember which book she’s from) as they search for…various things. It’s a Pirates of the Caribbean bit of swashbuckling, in a way. Almost the entire story takes place at sea, far enough from the main series’ action that it isn’t necessary to read it.

Of course, knowing Sanderson, he’ll find a way to tie it into everything else. And I don’t just mean the Stormlight Archive, either. This is a part of his own little cinematic universe, after all, and there are vague references to the Mistborn books and probably others that I missed because I haven’t read them. These don’t overpower the story, because there just isn’t room for much more than name-dropping.

What I like best about Sanderson’s works is the worldbuilding. Even in its meager 280 pint-sized pages, Dawnshard delivers on that. As always, the world of Roshar baffles with its sheer alien nature. Now that it’s canon that this world is being affected by beings from other worlds in his shared universe, though, that takes things up a notch. Now we get to see his take on the old "ancient guardians protecting something too mysterious for mere mortals" trope.

As you may expect, I utterly detest that trope, and that’s because I reject its very premise. There is nothing in this world (or any other) that is too dangerous to be known. Knowledge is power, but knowledge is also humanity’s birthright. So you’ll never catch me rooting for the guardians, even if their intentions are shown to be completely honorable. In this case, they aren’t—that would make for a boring story, to be honest—and they’re thus the bringers of conflict.

All told, Sanderson handles that conflict well. He doesn’t get bogged down in the minutiae of battle (as he did in Rhythm of War) or lose himself in intricate plots. The pacing is swift, and the action flows in a way that even Mistborn couldn’t manage. Either he’s grown as a writer over the last 20 years, or this format suits him better than thousand-page doorstops. Of course, the prose is still a little clunky, but even that is improving. (On a side note, can somebody out there teach him how to make a proper conlang? From the names and the few words he tosses in, I assume Rysn and her people are supposed to be some kind of Slavic analogue, but the sheer lack of vowels hurts my head.)

Dawnshard is a good read, and a good way to wrap up an eventful summer. It’s nothing special or spectacular, because it just isn’t big enough for that. Instead, it’s…cozy. And yes, that opinion is very much colored by the circumstances by which it came into my life. For a book where supposed fate is a major plot point, that makes sense.

Summer Reading List 2023: Second / Great Books 05

Here’s a nice little bit of synchronicity or kismet or whatever you call it. The second entry in my Summer Reading List challenge for this year also gets to cover one of the slots in my Great Books challenge!

Literature/Theater

Title: Tartuffe, or The Hypocrite
Author: Molière (Jean-Baptiste Porquelin)
Genre: Theatrical Comedy
Year: 1664

Yep. I read a play. First time I’ve done that since high school, and the first time ever that I’ve done it willingly. Since I neither understand nor like French, I used the modernized English translation available from Project Gutenberg. I’m sure there are a lot of translation errors and cases where the original meaning of the text is lost, but…whatever.

Anyway, Tartuffe is basically the French Enlightenment equivalent of a sitcom. It’s a five-act play about an aristocrat of the time who has been swayed by the words of a so-called holy man (the titular Tartuffe) to the point where he’s willing to give this charlatan his estate and even his daughter. The patriarch, Orgon, spends the first three acts defending Tartuffe as his family and servants call out the man’s hypocrisy. Only his mother has his back, seemingly for her own ends—her intentions are never made clear.

As the story progresses, Orgon’s son hides in a closet to overhear Tartuffe attempting to seduce the lady of the house, Elmire. The young man then confronts his father with evidence of the hypocrite’s ill will, only to be cast out of the house and, in effect, disinherited. Elmire (who is actually Orgon’s second wife, and thus the boy’s stepmother) then goes as far as possible in letting the impostor seduce her while her husband is watching from under a table. That finally gets Orgon to see reason, but by then it’s too late: Tartuffe already has the deed to the house.

The final act is all about this bit of trickery, and it ends with one of the most blatant uses of deus ex machina imaginable: a royal officer (this is pre-Revolution France, remember) stops the eviction of Orgon’s family, saying that the king himself saw through Tartuffe’s lies. Then follows a classic "no, you’re the one being arrested" scene and a bit of moralizing about moderation from Orgon’s son.

All in all, it’s a very modern tale for being 350 years old. The scenario of a hypocrite or just a stranger with ulterior motives enthralling someone beyond reason with his words is commonplace in modern books and movies. (The first example off the top of my head is the character of Gríma Wormtongue in Lord of the Rings, but others abound.) And the fact that Tartuffe is supposed to be a man of God only brings to mind the actual hypocrisy of so many evangelists.

But the comedic elements are what make the play shine even in written form. There’s this tension between wanting to be serious about the situation and wanting to tell it in a humorous way that just works and makes the whole thing a delightful read. It’s also pretty short—170 double-spaced screen pages on my ebook version—without a lot of digressions. Imagine it as a two-hour comedy movie, but one of those British-style comedies. While it goes for low blows on occasion, there’s a cerebral quality to it. Well worth checking out, if you ask me.

2023 Projects

I’m constantly dreaming up new ideas for side gigs and hobby projects. Anyone who read my posts before April 2021 knows that all too well. Lately, as my current job has begun to wind down and my relationship seems to be nearing a plateau, my brain has decided to kick back into high gear on this front. So here are some of the things I’m thinking about with my spare mental cycles. Some of them I’ll get to eventually. Some I’m already planning out. A few will likely never see the light of day.

Borealic

I haven’t done much with conlangs in the past couple of years. A few months back, I had another aborted start on an "engineered" language, this one based on a ternary number system. (The idea was to make something philosophical but also easily representable without words. I’m weird.)

Now, I’m doing serious work on what is my first real attempt at an auxiliary language. There are plenty of auxlangs already out there, of course: Esperanto, Lojban, and so on. Mine is slightly different, however. Instead of drawing on Latin as the primary source of vocabulary—or being some sort of amalgam of the world’s major languages—I’m developing a conlang intended as a pan-Germanic interlingua.

The core vocabulary is derived from actual Proto-Germanic roots, most of which are shared by at least two of the six major Germanic languages spoken today. Those are English, German, Dutch, Danish, Norwegian, and Swedish, for those of you keeping score at home. Icelandic, Frisian, and the other "minor" Germanic tongues also get their due, mostly as additional confirmation of a meaning that has drifted over the past 2500 years or so. (Gothic has been extinct basically forever, so I exclude it from consideration.)

In terms of grammar, "Borealic" (the external name; it calls itself "Altidisk") mostly follows the general pattern of West Germanic and North Germanic languages. Where these differ, I look for common ground, and I try going back to a common ancestor for inspiration. The basic word order, for example, is V2: verbs always try to fill the second slot in a sentence if possible. That’s a common theme throughout the Germanic world. So is a two-way tense distinction between past and non-past, with the future tense instead being indicated by an auxiliary verb.

My goal isn’t necessarily to create a conlang for everybody to use. No, this one is explicitly intended for purposes best described as nationalistic. Borealic is for the Germanic peoples of the world. It’s a way to connect with our shared culture, a culture that is increasingly under attack these days.

Borealic is what I’m working on as I write this post, so it’s the one I’ll probably be sharing soonest.

Word games

I still want to be a game developer, and I’m still working towards that goal. I have two concepts I’ve been fleshing out in my head, and I’m getting ready to start making something more concrete out of them.

First is "Fourwords". At its core, this is going to be a simple little fill-in word puzzle. Instead of a crossword, however, you get a chain of four different words. The last letter of one word is the first letter of the next, and all the words in a chain are connected by a theme which the player will see while working the puzzle. You get points based on the length of each word (they aren’t fixed, but are variable between 4-12 letters) and the perceived difficulty of the chain: more generic categories are considered harder, as are those for very specific niches.

I envision Fourwords as a mobile-first game. In other words (no pun intended), there will be sets of puzzles that unlock as the player progresses. I’ll have plenty of gamification elements thrown in there, and—as much as I hate it—probably some kind of builtin ad or IAP support. I’ll build it using the new 4.x version of the Godot Engine, which will be my first real foray into its new features. I imagine also needing a server to store player data and all that. Lucky for me, my "real" job requires me to learn AWS.

The second word game is much simpler, yet also much more complex. This one doesn’t have a name yet, and it’s little more than a Wordle clone at heart. It’s a Mastermind-like game using words of five or six letters; I haven’t decided which would work best. You have a secret word, and you have to try to guess what it is. If you’re right, you win! If you’re wrong, you get to see which letters are correct, and which ones are in the wrong places. Scoring is based on how many guesses you make and how long it takes you to get to the right word.

Since there are only so many words in the English language, this one necessarily has a well-defined endpoint. But I figure I can add in a timed mode with randomization to keep things a little fresh. Beyond that, the format doesn’t have much else going for it.

But here’s the kicker. This one isn’t going to come out on mobile. It’s not going to be on desktop, either. No, I want to make this game for a console. And not just any console, but a retro one. I must be getting crazy in my old age, because I am seriously considering making a game for the NES. That means 6502 assembly, low-res tile graphics, music that is more code than notes, and all those arcane incantations that game devs used to do. It’ll be a monumental undertaking, but what if I can pull it off?

Adventure

I’ve started writing again in recent weeks. Time is short, but I’ve been able to find an hour here and there to get back to On the Stellar Sea. Those poor kids have had to stay on that planet too long!

Writing on Orphans of the Stars has made me want to go back to the project I had originally imagined would accompany it. This one is almost another game dev project, but of a different sort. The Anitra Incident is technically a prequel to the novel series, but it’s one I plan to write as interactive fiction. In other words, you are the protagonist. The setting is about 200 years in the future, when humanity’s lunar and Mars colonies are up and running, and we now turn our eyes outward. A strange Main Belt asteroid catches our eye, and a manned mission is sent to explore it. What they—you—find will shock everyone.

That’s the gist of it. It’s kind of a CYOA game, kind of an exercise in descriptive writing, and hopefully a lot of fun. And the books have already referenced this particular era of the setting’s history, so part of me feels I have to write it. I’ll need to relearn Sugarcube, I suppose. Graphics should be a lot easier now, thanks to Stable Diffusion. I may even be able to do character portraits, something I never imagined I would be capable of. (That’s no joke. I’ve had great success generating portraits of some of the Innocence kids, and they make good writing references.)

Never enough

There are plenty of other things my brain has decided to focus on. Pixeme, my community-based language learning web platform idea, is starting to take shape. Concerto is another one I want to play around with some more; it’s a microkernel OS written in Nim, a language I’ve found that I really enjoy. Another one I just named yesterday is Stave: the goal with this one is to create a long-term stable virtual machine. As in really long term. I want to make a VM that will stand the test of time.

But I’ll get to that later. Right now, there’s so much to do, and nowhere near enough time to do it all.

Summer Reading List 2023: First

I’ve had a hard time reading lately. My relationship took a disastrous turn last week, which put me behind even further than I’d like. But I’ve managed to push through the adversity and finish one of the goals I’d set for myself. Here we go.

Technology/History

Title: Now the Chips Are Down
Author: Alison Gazzard
Genre: Tech History
Year: 2016

Now the Chips Are Down is another entry in the MIT Press "Platform Studies" series. The series started in 2009 with Racing the Beam, a deep dive into the Atari 2600 and how its very peculiar implementation shaped the American video game market. Since then, a variety of authors have written about a variety of creative platforms. Most are game consoles, such as the NES (I Am Error) and the Wii (Codename Revolution), while some are home computers like the Amiga (The Future Was Here). A few don’t seem to fit in, such as Macromedia Flash (Building the Interactive Web) and the Amazon Kindle tablet (Four Shades of Gray), but there’s a cohesion to the series despite that.

This book falls into the "home computer" category, but it’s a very specific one that I’ve never used and never even seen in real life: the BBC Micro. As its name suggests, this was a computer built—well, contracted—by the British government.

Back in the late 70s and early 80s, the BBC was well-respected as an impartial presenter of the news. Today, of course, it’s a leftist propaganda outlet little different from the New York Times or Washington Post, but the Thatcher era was a different time. This was back when governments cared about building up their constituents, making them more informed, not less. As the UK was a technological backwater, missing out on many of the advances taking place in the US at the time, they needed something special to create the kind of digital literacy we now take for granted.

Their answer was the BBC Micro, a fairly large and expensive 8-bit home computer. Built by Acorn—the creators of other also-ran computers like the Atom and Archimedes—using the same 6502 processor that almost everyone else used, the BBC Micro had a few additions that made it unique to its time and place. Open, accessible expansion ports encouraged tinkering. Manuals described programming, an absolute necessity for computer owners in the years before I was born, in better detail than most of the competitors’ offerings, and the included dialect of BASIC is still regarded as one of the most advanced. The thing even had an adapter for Britain’s early attempt at a nationwide on-demand streaming service: Ceefax.

All this was part of the UK government’s attempt at getting its citizens, especially children, both interested in and comfortable with computers as tools. And that’s admirable. Too often today, we see the opposite: computers are expected to be black boxes, mere appliances that do whatever their creators tell them. The hacker spirit is actively discouraged through social and even legal means. But again, Britain circa 1981 was a different place. This was a country afraid of losing what little remained of its status on the global stage.

Gazzard harps on this point repeatedly in the book, always trying to paint the BBC Micro as innovative because of its intentions. It was used in education, for gaming, and as a way to connect people together. Okay, that’s great. The thing is, all that was happening with American home computers, too. And minicomputers in academia, and…well, you get the picture. The fact of the matter is that Britain really was behind the times, and no amount of praise for a government program can change that.

The book itself is light on details, and completely devoid of screenshots. The text has a few obvious typos, formatting errors, and grammatical mistakes. This is not the level of quality I expect from a Platform Studies book. The veritable fawning over the platform is a little over the top, though it is a welcome change from Super Power, Spoony Bards, and Silverware, which was written by an author who let his apparent hatred of the Super Nintendo shine through in his introduction and the tone of the book as a whole.

It’s good to be a fan of something. There’s nothing wrong with a nostalgic love letter. In this case, however, the nostalgia is just too thick. Any developer or even gamer who knows even the first thing about Elite knows it started on the BBC Micro, yet Gazzard feels the need to remind us of this on multiple occasions in the chapter about the game. She also dedicates full chapters to a low-budget educational adventure game and a Boulder Dash clone, acting as if these were innovative. But the truth is different. Oregon Trail came out years before Granny’s Garden, and it’s still played today. In the Repton chapter, she even admits that games with level editors already existed.

Overall, that’s the glaring flaw of Now the Chips Are Down. It’s actually too nostalgic, and that nostalgia gets in the way of the history. There aren’t enough whys or hows in the narrative, and I feel that’s where it falls short. Racing the Beam set the gold standard for the series. I Am Error and The Future Was Now both met it, and even exceeded it in places.

Here, there’s just no substance. The final chapter, for instance, combines Acorn’s future after the BBC Micro—they went on to create the ARM architecture, a curse for developers everywhere—and the Raspberry Pi, which started as an attempt at recreating the educational aspects of the platform. But the text is just so rushed. It feels like Gazzard is bored and wants to get through it so she can work on something else instead. And while this book, written in 2016 as it was, is mostly free of wokeness, there’s way too much emphasis on the sole female engineer on the Acorn team.

I did learn from this book. For that, I’m glad I read it. It makes me curious about a platform I’ve never used. I wonder why it was special, and why it’s so loved 40 years after its release. But Now the Chips Are Down doesn’t give me any answers except the author’s 200-page statement that boils down to, "I love it, and so should you."

Summer Reading List 2023

Here we go again. Sorry for being a little late on the post this year, but real life is increasingly becoming a factor. Once again, it’s time for my favorite annual tradition, the Summer Reading List challenge. I’m hoping to complete it for the 8th year in a row, and I’ll eventually get anyone else join in.

The rules haven’t changed from the beginning. They’re so unchanged, in fact, that I’m just going to copy them verbatim from last year’s post. The only added wrinkle for me is that I’m also doing my “Read 12 Great Books in 2023” challenge, so I’ll limit myself to only counting one of those for the Summer Reading List.

Really, they aren’t rules, but more like guidelines. This isn’t a competition. It’s a challenge. What’s important is that you’re honest with yourself.

  1. The goal is to read 3 new books between Memorial Day (May 29) and Labor Day (September 4) in the US, the traditional “unofficial” bounds of summer. (For those of you in the Southern Hemisphere reading this, it’s a winter reading list. If you’re in the tropics…I don’t know what to tell you.)
  2. A book is anything non-periodical, so no comics, graphic novels, or manga. Anything else works. If you’re not sure, just use common sense. Audiobooks are acceptable, but only if they’re books, not something like a podcast.
  3. One of the books should be of a genre you don’t normally read. For example, I’m big on fantasy and sci-fi, so I might read a romance, or a thriller, or something like that. Nonfiction, by the way, also works as a “new” genre, unless you do read it all the time.
  4. You can’t count books you wrote, because they obviously wouldn’t be new to you. (Yes, this rule exists solely to keep me from just rereading my books.)

As always, I’ll search for something new (at least to me!) and share it with you when I’ve finished reading it. I’ll post it over on the fediverse (mikey@freespeechextremist.com is my main account there for the time being) and in more depth here at PPC, but feel free to discuss your own reading adventures wherever you like.

Have fun, and keep reading!