Tags are Magic

I was going through some playtester comments, one of which noted that diplomacy-related magic wasn’t as useful as it might be. So I did a quick review of the four blessings that seemed like they would relate to diplomacy. And while I’m not sure I was looking for exactly what was reported, it did seem like they could be more important.

Understanding: Helps our dealing with foreignersI’ve mentioned before that scene tags have been very useful. One of the diplomacy-related blessings is called “Understanding.” It’s implemented as

+1 in scenes tagged @foreigners

Diplomatic missions can be sent to a variety of people, so scripts like news_GiveGifts (which reports on simple gift-giving) can’t simply have the tag. But tags can be dynamically added, so making the magic more broadly useful was a matter of

RemoveSceneTag(ThisScene, "@*")    # Any previous dynamic tags
[otherClan.culture = 'other] AddSceneTag(ThisScene, "@foreigners")

Even though it takes two lines of OSL, I like this better than something like

[HasBlessing(ourClan, "Silvertongue")] b += 1

(which another blessing needed) because it affects the entire script, rather than just a specific branch.

The game makes extensive use of tags. The scene compiler uses a few to make sure scripts with very particular conditions are triggered from a single spot. Unit testing uses ten tags so it can set up the right context for running scripts. The UI code checks for tags that determine that a scene needs special elements like a text field. And there are over 100 tags that help categorize scripts, including whether magic applies to them.

Tutorial

One of my goals was to make sure the game had a better tutorial than King of Dragon Pass. Its tutorial was fairly brittle — it was too easy to get off track.

Tip about emissariesWe came up with a different approach, which worked fairly well for explaining all the parts of the game. When you first visit the Relations screen, you get a note explaining it (and to avoid a giant info dump, get more information the next time). There are no exact steps to follow, so the tutorial can’t get confused. And you can learn about a dialog when you get to it, instead of trying to learn everything in a short period. Our playtesters all seemed to like how it worked.

But our playtesters tended to be self-selected as having played King of Dragon Pass. When I added another QA tester who had not played before, and had a friend try out the game, it became apparent that the reactive approach didn’t work well for new players.

Some smaller fixes helped. For example, while the contextual tips served the purpose of a tutorial, they weren’t in the traditional form of a small subset of the game. New players didn’t consider this to be a tutorial. So we renamed our tutorial to “Guides.”

But nothing really helped brand new players get oriented to the game. So I came up with a new design. Rather than try to show you everything (like the King of Dragon Pass tutorial or the Guides), it tries to explain a few topics (particularly things that might be a bit different from other games). It’s even more directed, so you can’t accidentally do the wrong thing. And it hides information, so it’s less distracting.Tutorial Summary

The Tutorial doesn’t go through an entire year, and you can’t continue the game. Its purpose is to give you enough understanding so that when you do begin a real game, things make more sense. And do so interactively, so you can learn by doing.

The context-sensitive Guides are still there, since they cover things the Tutorial doesn’t. And there’s still a quick introduction and a detailed manual.

Right now we’re testing the new Tutorial, but it seems promising so far.

Teaser Trailer

As the game gets closer to release, it’s time to start dividing my time between marketing as well as development. So much has changed since the last time I did that with a new game (it was 1999), but one obvious difference is that games have trailers.

So here’s ours:

This is a “teaser trailer,” which to me means there are no spoilers about  the story. That was a pretty big constraint on selecting art and game play, but I think I managed to get a good selection of artwork in.

My design phase also tried to embrace the fact that the game is very different from the typical game on the market. So the trailer needed to stand out a little, while still being a decent video. This meant no gratuitous animation (lots of trailers these days seem to add animation to static images) and avoiding the portentous announcer voice many trailers have.

Rather than get good at video editing, I found someone who could do that. One thing I did have to figure out was how to actually distribute the video. “Upload to YouTube” isn’t necessarily as simple as saying it, and YouTube has  changed things so that it’s hard to annotate the video with clickable links. (That’s why it helps to subscribe to our YouTube channel, which will let us level up and enable that.) My impression is that YouTube is not at all oriented to game developers (as opposed to game players who want to share their play sessions).

As usual, the product went through several refinements, including QA noticing artifacts in the voiceover track.

It’s nice to be able to show a little more of the game, and it’s going to make it easier to work on the next videos.

P.S. No, we have not announced a release date.

Beta

At last, we’re at beta!

In some ways this is just an arbitrary milestone. “Beta” is a pretty loosely defined term, indicating a point in the software development cycle when we think the game is close to the final product, but still has bugs. We don’t expect a lot of design changes, but things are’t locked down. In fact, I made a change to the main menu screen the day after declaring beta. But the main focus now is getting the game shipped.

That has two main components: finding bugs, and marketing.

inspecting a potOur QA team is still testing (especially since one of the last features added was a new scene), and we’re expanding outside testing to more playtesters (we still have a backlog, but let us know if you’d like to be added to it). I’ve also been running some automated tests, but they can take almost half an hour, so that’s not routine.

We’ll be ramping up marketing more once we have a release date. Given that the game involves exploring a story with some plot twists, we don’t want to give away too much too soon. But we’re starting to plan. We do know that we need to do our first video trailer, and need to find someone to help us make one. (Please contact us if you are available to do video production!)

The other aspect is making sure the game is fun, and the right level of challenge. There’s a lot of emergent story that can be tricky. This is another reason we don’t yet have a target date to release the game.

But overall things are going well. We’re definitely on the road to a release candidate.

A Week of Polishing

Right now we’re finding bugs and tuning the game. What exactly does that mean?

Liana stressed one of the game’s new features (using it as much as possible in a complete game), and wrote up a bunch of issues: it was inconsistent, wasn’t clear enough, didn’t feel like good value for the cost, and felt too generic. So I reviewed what was going on. Some of the inconsistency was actually just feedback and advice that was out of date. I added a new way to see all the effects. There are new side effects to help add value. And there is now the possibility of interactive results instead of a boilerplate response. These are new situations that need to be exhaustively tested, so that’s now on Kati’s plate. Some of these changes needed to be mentioned in the manual, too.

Liana had previously played a game where her main goal was to increase the size of the clan. I had fixed some of the specific bugs this revealed, and also started applying some new consequences and activated a new scene I had written the previous week.

I tracked down and fixed a bug which could make the game unplayable if you made peace with a clan right before it was scheduled to raid you (due to previous events).

Report buttonAnother timing bug (reported by a playtester) had to do with when the followup for an omen occurred. And another was a possible conflict with the seasonal calendar (you might be willing to ignore the harvest, but would your allies?).

One bug had to do with dead emissaries returning with gifts. This seemed like an issue that could happen in scenes other than the one it was reported for, so I swept the entire code and found another six places.

Raided By: NoneOne game had very few raids. I looked at the logs and data, and made some adjustments to what are probably the underlying causes. (Raids look at many factors, such as relative strength and different aspects of inter-clan relationships.)

While playing, I was surprised not to get a relevant bit of advice on one situation. The exact set of advisors makes a huge difference on what advice is given, as does the context in the story, but I ended up changing the priority of one advice type. In theory this is a big change, but I believe it is more in line with how Robin and I used that type. We’ll need to play for a while and make sure you still get good advice.

A conversation with Zack sparked an idea that I need to implement this week.

By the end of the week, there were bugs relating to the new interactive results, so I fixed those.

And there were a number of typos and text edits.

So that’s a fairly typical week of polishing a game which is at the alpha stage.

Looking For a Few Playtesters

Update (28 October): I just invited the next group of playtesters, and have a good number of people in reserve. Thanks for your interest!

We’ve been testing and tuning the game for a while, and are ready to ask for a little more help.

What we need from you:

iPhone or iPad

While we plan to support other platforms, we are currently using TestFlight to manage testing. So you’ll need a device running iOS 9 or later.

Time

We’re hoping to find testers who have enough time to play the game. We’re still trying to get a sense of how long it takes, but QA is reporting at least 12 hours for a complete game. (We don’t need you to win, though it’s certainly helpful to get the full picture.) The more you can play, the more we can learn.

Feedback

The more you can tell us, the better! You’ll be able to send bug reports from the game (which include a wealth of information), but subjective feedback is crucial too. We need to hear what doesn’t work, as well as what’s fun.

Discretion

We still don’t know when we’ll be releasing, so we ask our playtesters not to discuss the game in public.

Patience

We’re still tuning the game, so we don’t need a lot of active playtesters at any one time. We might hold off inviting you until we need more fresh eyes.

What we don’t need:

Experience with King of Dragon Pass

Although a lot of the game is similar, we need to make sure it stands alone.

Knowledge of Glorantha

Like King of Dragon Pass, Six Ages is set in the fantasy world of Glorantha. But we hope it is self-contained, in terms of giving you enough information.

Experience with games

If you’re interested in playing an interactive narrative that has both story and clan management, you’re eligible. The game is very different from just about everything other game, so familiarity with any particular genre doesn’t help.

Overtime

While the more you can play the better, we don’t expect you to play obsessively for weeks and weeks. (You’re welcome to, but don’t feel like you have to beat the game on every difficulty level or earn every achievement.)

How to volunteer:

Send us email to bugz «at» a-sharp.com with the subject “Six Ages Playtest.” Include the type of iPhone or iPad you’d be testing on — we are mostly interested in game play issues, but it wouldn’t hurt to have a variety of devices.

Where We’re Going

It’s been a while since we hit feature complete. That shifted game development into a different phase: making everything work. This is both a matter of finding and fixing bugs, and balancing and tuning the economic game and the overall story to make sure things are fun. There’s usually not a lot of interesting things to say, which is partly why there hasn’t been a development blog post in a while. We found bugs, we fixed bugs. Day after day.

We did notice that two of the story themes could intertwine a bit more, so Robin Laws wrote two scenes to deal with that, and another three that deal with individual leaders. Those are now coded.

We invited a small number of outside playtesters to give their feedback, and have been trying to improve and clarify things based on that.

It’s possible to win the game without encountering bugs: one playtester said, “I’m embarrassed to report I haven’t found an obvious bug yet. Did complete a play in easy.” But there still are a lot of issues we need to fix. They may show up only when you get two scenes in a particular order, or have a specific combination of advisors, or choose a play style. Any one player won’t see them, but they need to be fixed. It’s hard to know how many of these there are. And analyzing them can be tricky. Did someone run out of cows because the game is broken, or because they made poor decisions, or because the user interface let them trade away more than they intended?

Between QA and playtesters, we’re still finding enough issues that I don’t think the game is high enough quality to ship in the near future. And a few areas aren’t completely tested (such as making sure every achievement can actually be earned).

the goose peopleThere’s another complication to figuring out a ship date: we’re moving. After five years in Philadelphia, A Sharp will be returning to the Pacific Northwest next month. (We’re heading to Tacoma, mostly for family reasons.) Coordinating this and physically moving across the United States is going to take a fair amount of time.

Without a reliable completion date, and with relocation thrown in, it doesn’t make sense to try to release the game this year. (“This year” would realistically mean “before the Christmas holidays,” so there are only 2 months left anyway.)

So we are moving our guess at a release date to 2018. We want to make sure the game is done right, and we want to have some lead time to start marketing.

I’m disappointed that we aren’t done yet, but I think the project is in good shape. As a complex bit of software that’s in alpha, the number of bugs feels reasonable. And one playtester wrote, “I have been spending waaaaay too much time playing this game. I am every bit as addicted to it as I was to KoDP the first time it was released, and I thought I was over that kind of behavior.”

Feature Complete

On Monday I decided it was reasonable to consider the game to have hit the Feature Complete milestone.

Watercolors In Progress

In software this is sometimes also called “Alpha.” It means that everything we plan to include in the game is complete, at least to a reasonable level of quality. There are still known bugs, and some of the art is still being worked on. (All of it is at least inked, however — see the example work in progress.)

In terms of the project, it means we can invite a small number of external playtesters to try the game and give feedback. The emphasis is on small, because there are after all known bugs, and there are likely to be confusing bits. It doesn’t help if a dozen people tell me that an icon is unclear. Better to hear that from one or two and then iterate.

It turned out that one of the important bugs we found was actually in our bug reporting. The game now does a better job of capturing information about an issue, so playtesters don’t have to jump through hoops to do so.

We’re also starting to get data on how the game is actually played. This has led to some minor tuning, and will surely result in more. We’ll also learn if systems work well, or if anything else would help.

Meanwhile, the QA team is continuing to make sure all the game situations have been exercised and make sense. (We recently had a discussion about whether one scene should be dropped entirely because of changes that had been made since it was written.)

At some point, we’ll have all the art complete, changes made, and bugs fixed. That will put us at the “Beta” milestone and we’ll look for more playtesters. (Don’t ask now! I’m not sure exactly what we’ll be looking for at that point.)

And I still can’t figure out a release date. That will depend on how alpha testing goes. But we are definitely progressing.

Find Once, Fix Everywhere

Just got a bug report from QA that a scene threw up an error. It was pretty easy to see that it couldn’t find a friendly clan to visit you.

That turned out to have happened because of using the debug tools to have everyone feuding (to make it easy to test resolving feuds). This is an unlikely situation, but it’s certainly possible to get a lot of clans to hate you, if you play the right (wrong?) way. So it’s a valid bug, and I fixed it.

Given how many scenes are in the game, I figure any bug is probably somewhere else as well. So figured I should go back to our automated tests and run them in their nonstandard configurations. I don’t usually do this, partly because they’re mutually exclusive, but also because some of them can take a long time (in fact, as I type this I’m running one … that just finished in just under 26 minutes).

But sure enough, enabling TEST_ALL_FEUDING found several scenes that would have trouble. It also gave a lot of false positives, since the brute force testing ignores scene conditions. (Scenes almost always have conditions that prevent them from being randomly chosen when they’re not appropriate.)

So today I’ve been dealing with that, and also TEST_NO_CHIEF, TEST_NO_GOODS, TEST_NO_RING, TEST_NO_WARRIORS, TEST_ALL_HATE, and TEST_Q_BRANCHES.

July Status Update

Six Age has a lot of art, and it’s almost all complete. I just sent out the final assignment today. We may still do a little reworking of illustrations and UI assets, but technically what’s there now could ship.

The music is in similar shape. We’ve been trying to track down some bugs (are they in the underlying engine? my code? the music itself? the operating system?).

QA is still pushing to get all scenes and events exhaustively tested. Bugs range from typos, to logic flaws, to “after a failed, interrupted cattle raid, the news after a heroic combat doesn’t show up at the right time.” (That’s not quite how it was reported, it took much of a day to figure out the first part.)

We’re also playing the game. It’s quite possible to win and to lose. Unlike when we did KoDP, I’m capturing data so I can see what went wrong (or right) — a recent loss was an event that turned out to be much harsher than we expected. There’s a lot of randomness in the game, but I’m trying to tune it so one unlucky break (or one bad decision) won’t sink you.

Not yet. Sorry to interrupt, but I know you were going to ask if you could beta test. There are still a few last features I want to get finished. (In theory I could drop difficulty level, but it’s on the list to go in.) And there is no point sending it out with known bugs. At some point we will be looking for outside testers, but it will still be a while.