Year In Review: 2020

TL;DR: We’re still making games.

COVID-19

The global pandemic hit all of us. Fortunately none of the team fell ill, though family members did, and there were several exposure or symptom scares. And while the team is distributed and work from home, that’s not the same thing in the middle of a pandemic, and when can’t really go anywhere else.

And of course we weren’t able to have occasional face-to-face meetings at conventions — or see fans.

Lights Going Out

Art by Ellen Barkin

We’ve been working on the next Six Ages game. “Lights Going Out” will let you continue the story of the clan you guided in “Ride Like the Wind” (though you can start a new one from scratch). Perhaps 3/4 of the events have been written and coded (with games like these, it’s hard to know exactly how many there will be, since we often add more towards the end, to fill in missing bits). And about half have been exhaustively tested. This is far enough that it’s now possible to play a significant chunk of the game without running into missing parts. Well, that’s what I tell myself, and then QA files bugs about missing parts.

Thumbnail by Jan Pospíšil

The exact art requirements are similarly hard to know in advance (since those new scenes may require new art). But I think well over half of the scene art is complete.

We just started thinking seriously about the endgame — what constitutes “victory” in a story game. Polishing and coding this is on the schedule for January.

There’s still too much uncertainty to talk about a release schedule, unfortunately. But it’s now far enough that we can start thinking about tuning, and testing the game as a whole instead of just in pieces.

Ride Like the Wind

Although most of the development effort has been on the new game, they share the same game system, and some “Lights Going Out” bugs are common. And we’ve been fixing bugs as players report them.

Luckily, there haven’t been too many of those, so I’ve held off on making a lot of updates. Plus, just making a release takes resources, and QA has been less available thanks to COVID-19. But I do expect a bug fix release next year.

Future

Last year, I mentioned prototyping a new game. A combination of events led to a digital prototype. There might well be a game there, but it’s still a side project to have in reserve.

Not Branching

Although people sometimes describe Six Ages (and its predecessor King of Dragon Pass) as “choose your own adventure” games, they are definitely not branching narratives. Choices do lead to other choices, but not along a predefined path.

Branching content can give the player a lot of choice, but even if you have only two choices for each decision, you can end up with a huge number of paths. And you’ll be creating content for pathways that will only rarely be visited. There are a variety of techniques creators use to deal with this. Six Ages and King of Dragon Pass address the problem by not turning their decisions into branches.

I’ve written (and spoken) before about how KoDP and Six Ages avoid the combinatorial explosion of branching by providing a political-economic framework to give your choices context and meaning. The narrative is broken into what we call “scenes” (they can also be called “floating modules” or “storylets”). Scenes are often picked at random, though with conditions to make sure they’re relevant or interesting. Typically they’re written to work in any situation. For example, a neighboring clan wants something from you. Whether they’re unfriendly or your allies makes a big difference, as does whether you can afford to pay what they ask (either in wealth or relations with other neighbors). Your response affects relationships (turning down a request has the potential to end an alliance), wealth, or internal politics (your own people have opinions too). This gives an implicit connection to the next scene (we lost a friend, we’re broke, people are grumpy, etc.). Essentially, most scenes connect to other ones—less directly than by branching, but more flexibly. And it’s easy to have more than two choices, to give players a wider range of action.

One way scenes connect seems rare in narrative games: a choice may trigger another scene at a later date. Plenty of story games have a time element (either by each choice advancing a clock, or treating time loosely and advancing the clock when conditions are met). The multi-generational scope of Six Ages means we can run a followup scene a year (or more) later, after ten player actions and another batch of scenes. For example, if you claim poverty, your neighbor may tell you they’ll be back next year. This is arguably a branch, since you made a choice and it leads to a repeat of the event. But intervening events may have changed the context, or invalidate the followup (for example, if a feud breaks out they won’t be back with a friendly request). It’s much more an emergent narrative than a branching story.

Diagram showing connections between scenes and responses

Six Ages does have scene sequences that are pretty close to a standard branching narrative. These tend to be a lot more complex for the QA team to test, since all the possible paths through the set need to be traversed. This is the chart that Jess made to track how a 6-scene sequence worked. The lines of flow are mostly implicit connections—choices in the second scene can impact your choices in the third or fourth scene, etc. They aren’t branches—in most cases, previous choices don’t preclude possible responses. But they’re distinct paths that provide context.

Our writer, Robin Laws, just finished writing another set of related scenes for Six Ages: Lights Going Out. I just finished coding them (into our OSL scripting language) today, so QA hasn’t had a shot at them. But I did my own chart to help with coding, and hopefully with testing. (This one just shows scene flow, not individual responses.)

Sketch showing how scenes might flow

Without the direct branching of “If you attack, turn to page 24,” sequences like this make use of state variables to keep track of what happened previously. This is hardly unique to Six Ages. All the scripting languages I’m familiar with let you do that. This sequence seemed particularly variable-heavy, however. I counted 25 variables that coordinate between 8 scenes. Some of this is for narrative continuity (what we learned and who we learned it from), tracking how often something has occurred (it may not be possible to do it again, or it may impact how easy a course of action is), which leaders were prominent in a previous scene, or magical effects. Not surprisingly, there’s an additional variable that can relate your decisions here to scenes that aren’t part of this set.

The goal of all this is to tell an interesting story that emerges from multiple player choices (not just story choices), unfolding after multiple game years. Almost as important, if you replay the game, you can make different choices for a different story—but even the same choices can give a different story, because the events can take place in a very different context.

August Update

I don’t have to tell anyone that this has been a strange year. I don’t know if I can really blame 2020 on the lack of blog posts, however. Some of the progress is hard to show, and we want to have a few surprises when the next game comes out.

The COVID-19 pandemic did impact things. We’re pretty sure one team member caught it but had almost no symptoms (and at a time when there wasn’t any testing to confirm it). Otherwise there hasn’t been any direct impact, since the team is distributed and people work out of their homes. But that is still very different when other family members are now doing that too, or you can’t leave your home. So we’ve all been affected.

An Orlanthi magician is about to hurl a lightning bolt

Despite that, work on the next game, “Lights Going Out,” has proceeded. Currently, 317 scenes have been written and coded. Two thirds of them have been exhaustively tested. (For comparison, “Ride Like the Wind” ended up with 364 scenes.) Most of the non-scene writing hasn’t started, though there are currently two rituals running. (One of those may need to be reworked.)

We have a lot of great art. I don’t know quite what our target is here (since a lot depends on the not-yet-written scenes). But more has been completed so far this year than in 2019.

Although most testing has focused on individual scenes (the “trees”) in isolation, we have done some QA based on just playing (the “forest”). I think you could play for 13 years before running out of yearly content. So while it’s not at all balanced yet, the basic game still works fine.

A shaman sits with her drum, spirits swirling about her

Although the basic game is the same, different things matter. The game takes place generations later, so factions other than the Seven Families are important. And you’ll possibly be interacting with the supernatural in different ways. Plus, the supernatural will impact you in different ways. I’m in the middle of tweaking the map for this.

And speaking about both games, you can indeed load a game you won and continue it. A number of factors are brought forward. At least one was something that we hadn’t originally planned for. (You can certainly play “Lights Going Out” without having won or even played “Ride Like the Wind,” though we hope it will be a richer experience if you have.)

As I mentioned in December, we’ve also been prototyping some ideas for a different game. As I write, its fate is unclear. For what it’s worth, as a separate project it hasn’t affected the “Lights Going Out” schedule.

Unfortunately, that schedule still isn’t solid. It’s taken longer to get here than I’d like, but I think we have made considerably progress during a challenging year.

Year In Review: 2019

TL;DR: We released Six Ages: Ride Like the Wind for PC!

GDC

In March, I gave a talk about the design of Six Ages (and King of Dragon Pass) and how they work behind the scenes. This should be available in the GDC Vault.

PAX

We made a special demo version of the game to show at PAX West. (This gives a super-limited introduction and ends after one year.) Kitfox had a computer in their booth dedicated to this. It was great to see people actually playing the game, and meet one of the artists in person for the first time.

Update

While the game was being ported to PC, we were fixing bugs discovered by our iOS players. Originally we had hoped to make a single release, but rather than delay things, we released 1.0.8 to the App Store.

Lights Going Out

We had begun work on the second chapter, Six Ages: Lights Going Out, last year. It’s always hard to know exactly how many interactive scenes a game will need, since it isn’t until you play for a while that you know what’s missing. But assuming chapter 2 is about as complex as chapter 1, we’re about halfway through scene writing and coding. And the scene-specific QA is about 30% complete.

We don’t have any release information yet.

Port

Our goal was to release Six Ages: Ride Like the Wind for Windows and macOS in 2019. What that really meant was by mid-October, since indie games can’t launch whenever they feel like it and expect to get any attention. We needed to avoid as many similar game releases as possible, and beat the Christmas release cycle. (If we had slipped into November, we probably would have had to hold the game until 2020.)

It was a bigger project than we had expected, but Rusto came through and we did in fact release on 17 October.

Having a game on Steam has been a bit of a learning experience, since I tend not to buy my games there. I was surprised that you can buy a game you cannot actually launch. (We’re sorry that the game requires Windows 10, but there isn’t anything we can do about it.) GOG was different yet again. It was nice to have a publisher deal with many of the details.

I was a little disappointed that we didn’t get a lot of reviews, though perhaps we had done too well getting coverage of the iOS version, and it was hard for game sites to justify a second review. Plus, there really was no great release week — we came out at the same time as Disco Elysium, for example. Still, I was pretty pleased to see the Rock Paper Shotgun review.

And, we have been nominated for a few awards.

The port also gave us a way to sell Stan LePard’s soundtrack, which we had gotten requests for since the iOS release.

Future

I have no idea if the Indiepocalypse is real (since Six Ages was my first PC release), but it does seem like the publishing world is different than a year ago, and definitely since we re-released King of Dragon Pass. Although we are busy with the second Six Ages game, I think it’s a good idea to think about what might come after.

I have been making notes and trying things out. The prototype shown here won’t be the next game, since it felt boring. But maybe I will have something to share next year.

Gold Master

The PC (i.e. Windows and macOS) version of Six Ages: Ride Like the Wind has reached “Gold Master” status!

While we are not actually shipping a CD off to manufacturing (like we did 20 years ago for King of Dragon Pass), we have a build that we can submit to Steam and GOG for their approval and release process. This also means that reviewers can be looking at a final build.

To get to this point, Rusto Games has been busy fixing bugs. And we’ve had our own QA testing as well as very helpful beta testers trying to find bugs. (QA also has the task of making sure bugs are actually fixed.)

The final phase is working with our publisher to make sure the stores are set up for release on 17 October.

Windows and Mac Release Date

It’s been a long road, but we are planning to release Six Ages: Ride Like the Wind for Windows 10 and macOS on 17 October!

https://twitter.com/KitfoxGames/status/1176873996249370624

It will be available on Steam and GOG, and you can wishlist it on either store.

We’ve updated the screen shots at sixages.com so you can see what it looks like on a computer. And our publisher, Kitfox Games, made an updated trailer.

P.S. We have no news today about other platforms.

Some Notes on Porting

Many games can be brought to new platforms with some careful attention to the user interface on the new device. In fact, I’ve done this twice (adding iPad support to King of Dragon Pass, and adding iPhone support to Battle of the Bulge). You may need new art assets, and certainly a bit of new coding. But most of the game code is identical.

Back when I started working on Six Ages, this was my plan. Basic development was on iOS, in part because the tools were more reliable. I had experimented with two different solutions to bring that code to other platforms, and was optimistic that I’d be able to just rebuild the game. Then I’d be able to polish it, add support for platform-specific achievements, and start a new testing cycle.

Things didn’t work out as I’d planned. Both of the porting libraries I had expected to use were discontinued (one formally, one not formally abandoned but clearly not viable).

So instead of just recompiling, we were faced with rewriting. That’s a way bigger hurdle. And that’s why it’s taken longer than our original plan.

Achievements screen shot: “Most Recent Fort builder”

I’ll discuss this in more detail in the future, but we’re pretty much at the point of adding support for platform-specific achievements. QA has been testing the port, and we hope to bring in outside beta testers soon. Our publisher has suggested that people interested in testing the game sign up on Discord. If you’d rather wait until the last bugs are out, wishlist the game on Steam or GOG.

June Status

Today we hit an important milestone: “Ride Like the Wind” for macOS and Windows is far enough along to be declared “Alpha.” Different studios use that term differently, but for us it means it’s essentially feature complete. The various tutorial elements are not implemented yet, and there are a number of known bugs and things to polish. But the UI is all there, and you can play the game. Rusto Games has done a great job adapting to a very different game engine.

Our QA team has started taking a more thorough look at the port. Their available Windows machine had a smaller screen than I thought we could support, but it seemed to run well enough. That’s a good sign. It can also run on a 5120 x 2880 Retina display connected to a Mac.

Once it’s had more testing, and the Guide and Tutorial are in, we plan on doing some beta testing with a small number of players. We’re still planning the particulars with our publisher, Kitfox Games.

Once we have beta feedback, we’ll be in a better position to know a release date. One reason this is hard to know in advance is that it can depend on other games. With a couple hundred games coming out each week, you obviously can’t avoid all conflicts, but there can be games you don’t want to release simultaneously with.

If you haven’t already wish listed the game on Steam, please do. We also expect the game will be on GOG (though they don’t have store pages for alpha software).

App Store

We’re also fixing bugs and added another interactive scene to the game for an App Store update. Thanks to all our players who have reported bugs!

Chapter Two

Meanwhile, we’ve been working on the next game in the saga, “Lights Going Out.” The art style is defined and a reasonable amount is complete. It’s hard to know how much writing we’ll need until you can play the game from start to finish, but I think we’re close to having half the necessary scenes written and coded.

“Lights Going Out” lets you continue a game of “Ride Like the Wind,” so you can determine the next chapter in your clan’s saga. As a practical matter, you might want to save any games you’ve completed.

Port Progress

I’ve been holding off talking about porting Six Ages because the first attempts had early promise but ran into various extreme problems, including life-threatening medical issues. (Fortunately the programmer didn’t die, unlike at least one porting library.) Even now, there’s a small chance that we’ll run into some issue and have to set the clock back. But I’ve seen the game running on Windows and Mac and feel pretty confident that we’ll be able to release on Steam and GOG for those platforms in 2019, as we’d planned. (Of course we’d like to support other platforms but don’t have any news at the moment.)

It’s been a while since I’d done a game port, and I’d forgotten that progress is essentially inverted from normal development. In a typical game, you start by building out enough of the game to play. This is often called a “vertical slice” (though different studios use that term a little differently). The idea is that you have a simple level where you can make sure that movement, matching, or whatever game mechanic works. Then you add polish and all the other levels.

Six Ages (and King of Dragon Pass) were hard to slice like that (since a year of play consists of almost all game screens), but the basic game was working after a while, and we continued to add story scenes, art, and polish.

When you port, the game is basically complete at the start. So once you have enough infrastructure for a vertical slice, you can essentially play the entire game.

With the Six Ages port, basic interactivity went in early, so you could pretty much play any scene (picking responses, choosing wealth, etc.). And that was it. You could only play that scene, because the management screens hadn’t been coded yet. And then when they were, you couldn’t play effectively, because advice hadn’t been hooked up. And so on.

The game is now at the point where all the UI an experienced player needs is working. This means we can start worrying about things like new screen sizes, keyboard support, cursors, and mouse rollover. Plus of course the rest of the UI, such as Guides, Help, and Tutorial. And music, transition, and bug fixes.

That’s still a lot of work, and there’s still a lot of uncertainty about schedule. For example, as I write this we’re still not certain if sound and music support needs to be completely reworked. (If so, that’s obviously an unexpected delay.) Since our goal is a quality game, we can’t suggest a release date.

We’ll let you know when we have one, but the best way to find out is to wish list the game on Steam.

New Year’s Eve

This year, we finished “Ride Like the Wind” and released it to the App Store. It’s gotten pretty good reviews, including making it onto at least three “best of the year” lists (Gamasutra, TouchArcade, Pocket Tactics). And players helped us find bugs, so we released 6 updates (also adding more leader portraits and treasures, and the possibility of becoming known as a weasel).

Screen shot from Unity editor, showing face assetsThe story of bringing the game to other platforms wasn’t as happy, though at least our first programmer did not perish from life-threatening medical issues. Our new developer has been making good progress, and we are still on track to release in 2019 (as we originally hoped). Although the game will be available elsewhere too, it helps visibility if you wish-list it on Steam.

Our publishing partner, Kitfox Games, has set up a Discord channel where you can discuss the game. Other online resources include a wiki, a subreddit, and a “let’s play”.

I spoke about Six Ages (and King of Dragon Pass) at NGS2018.

And we began working on the second game, “Lights Going Out.” This will tell an entirely different story, continuing the saga of your clan generations later. Since the basic game system has been implemented, it’s already possible to get through a few game years. We’ve got 63 interactive scenes working (and partially tested), and 17 story illustrations completed.