After the Storm: Three commits I never thought would happen

r17326 | xxxxxx | 2013-03-01 09:11:52 -0300 (Fri, 01 Mar 2013) | 2 lines
AtS E3S13: enable completed scenario in production
r17327 | xxxxxx | 2013-03-01 09:12:35 -0300 (Fri, 01 Mar 2013) | 4 lines
AtS is complete. This macro no longer serves any purpose.
r17328 | xxxxxx | 2013-03-01 09:12:57 -0300 (Fri, 01 Mar 2013) | 4 lines
AtS is complete. This macro no longer serves any purpose.

*sheds a single tear*

After the Storm 0.8.90 (a.k.a. “0.9.0 minus one”)

Version 0.8.90 (a.k.a. “0.9.0 minus one”) is out!

Episode III (Final) is now complete in this version, sans the final Epilogue scenario (which will eventually become a bonus feature) that is not part of the scenario count for various reasons that will become evident once 0.9.0 is released.

Some important caveats:

  • All scenarios after E3S6 (Divergence) were developed and tested on Wesnoth 1.10.x only, so if you are playing on 1.11.1 and you experience any issues, please report them on the forum topic.
  • Some code in later scenarios seems to be somewhat CPU intensive, performing significantly worse on my dual-core 2.1 GHz laptop than on my quad-core + HT 3.4 GHz desktop.
  • If you will play the last scenarios of Episode III with music, you must make sure you have upgraded the AtS Music add-on to version 0.2.0 first! This version was published on the add-ons server in advance a few days ago to give people time to upgrade in preparation for version 0.8.90 of the campaign proper
  • Official support for Wesnoth versions 1.9.10 through 1.9.14 has been dropped in this version. In theory, Wesnoth 1.9.14 should work just fine, but there are several minor bugs that were addressed later during the 1.10.x stable series that may affect this campaign.

Special thanks go to vultraz for playtesting this beast starting from E3S6 in less than a day (around 14 hours with breaks), and the other two playtesters (you know who you are!) who reported some glaring issues with E3S6 and E3S7A.1, which were addressed after the Big Merge and before the packaging of this release.

I will save the longer announcement (including plans for the future) for later, when the final Epilogue is done and 0.9.0 is released.

The changelog for this version follows:

Version 0.8.90 a.k.a. "0.9.0 minus one":
* General:
* Dropped remaining compatibility code for Wesnoth 1.9.14 and earlier.
* Scenarios:
* E1S11.2 - Return to Wesmere, part 2:
* Removed compatibility code for Wesnoth 1.9.5 through 1.9.8.
* Completed Episode III (sans Epilogue).
* Units:
* Balancing:
* Increased Elynia's resistance to impact damage from -10% to 0%.
* Decreased Demon Shapeshifter's ranged attack from 8-2 to 7-2.

After the Storm: Not so fast

Everyone who follows me on Twitter can stop reading here.

This very specific issue is why After the Storm 0.8.90 isn’t published yet. vultraz completed his playtesting within less than 24 hours after the Big Merge, and various critical fixes have already landed in trunk.

After the Storm: Big Merge done, 0.8.90 on the horizon

The first After the Storm commit to Wesnoth-UMC-Dev’s trunk happened on May 17th, year 2008.

Today, February 19th 2013, after years and years of development, with various real life and non-real life issues getting in the way and dooming the campaign to Development Hell until version 0.4.0 with a completed Episode I finally happened on October 16th 2011, I can say for certain that...

After the Storm is finally complete.

With the Big Merge done and all the Episode III post-Divergence content (sans the Epilogue scenario) finally landed in Wesnoth-UMC-Dev trunk, the next step is releasing AtS version 0.8.90 to the public.

r17177 | AtS: bump version from 0.8.5+svn to 0.8.90-svn in the changelog after the Big Merge
r17176 | AtS: [Big Merge] workaround issues with the test suite and macros from data/core/units.cfg
r17175 | AtS E3: [Big Merge] land post-Divergence maps and scenarios
r17174 | AtS E3: [Big Merge] land post-Divergence ancillary macros, story text, character macros, and death handlers
r17173 | AtS: [Big Merge] land post-Divergence units WML, baseframes, halos, and animations
r17172 | AtS: [Big Merge] merge macros used for post-Convergence content
r17171 | AtS: [Big Merge] remove conditional loading of finale-stage scenarios and units
r17170 | AtS: bump version from 0.8.5+svn to 0.8.90-svn before the Big Merge
r17169 | AtS E3S6: enable scenario in regular gameplay

There will be a delay between this and the actual public 0.8.90 release while my primary playtester (vultraz) does the playtesting thing with the scenarios. Some balancing changes before 0.8.90 may also be necessary.

In the meantime, people can check out After the Storm from Wesnoth-UMC-Dev trunk using the Subversion client of their choice, and provide me with feedback via forum PM (in particular, about any possible bugs or balance issues that might plague some specific scenarios), or private messaging on IRC — I am on, channel ##shadowm most of the time, but I would rather avoid people dropping spoilers in the presence of my aforementioned playtester, who also hangs around there.

UPDATE: Since I haven’t gotten around to publish version 0.2.0 of the AtS Music add-on, you will also need to obtain the latest version from SVN separately, since it introduces a few music tracks used in the new AtS Episode III scenarios. Of course, this is only necessary if you want/need to have in-game background music.

UPDATE 2: AtS Music version 0.2.0 is now in the 1.10 and 1.11.x add-ons servers. The previous version was 12.3 MiB in size, whereas the new version is 22.7 MiB. I actually had to do some re-encoding to bring it down from 33.1 MiB, but there shouldn’t be any noticeable compression artifact build-up — or at least, I cannot perceive any with my headphones on.

svn co
svn co

You can also grab tarballs of the latest trunk snapshots through’s SVN web interface:

This last alternative is probably not the best, though, since you will not be able to track future updates. Subversion makes it far easier to update every time a changeset is committed, without having to download the whole thing every time.

I am not going to provide any further instructions for installing using either of these methods, so I’m leaving this to people who actually know their way around Subversion tools or manually installing add-on content. I am not going to post any spoilers either; in particular, I am not going to reveal the Epilogue sequence until version 0.9.0.

Special thanks go to Espreon, Gambit, and vultraz for making all of this possible in their own ways. I will probably explain the deal with AtS’ troubled development in a new post in the near future (probably after 0.8.90 is properly published).

Thanks to all those who waited this long for this to happen. For those who are eager to playtest this and don’t know their way around the aforementioned things, I can only promise that the wait for 0.8.90 will be much shorter. A couple of weeks, tops.

Finally, the usual disclaimer applies: this campaign is not for everyone.

Late After the Storm development roadmap

It is February 16th already, and it has been a long while since my last update on AtS’ development on this blog, unless we count the January 1st teaser.

Well, here is another teaser in the form of a more concrete roadmap for AtS 0.9.0’s development:

Development diverged around the release of version 0.8.3 resulting in only bug-fixes and minor features landing in Wesnoth-UMC.-Dev trunk, which is where AtS’ releases come from. During all this time, I have been (mostly) silently working on the final set of scenarios (E3S7A onwards) in a separate ‘branch’ of sorts, with occasional code and other assets landing in trunk to ease the upcoming Big Merge work that will take place “soon”.

And by “soon”, this time I really mean it.

This development model may have given some people the impression that I stopped working on AtS altogether, but this was never the case. IftU and AtS have historically been solo projects, and I have dedicated a lot of time to programming, creating original artwork, and writing prose for both campaigns. AtS has been a more demanding energy sink because of the different standards compared to IftU, and Episode III has been even more demanding than Episode II was in every possible sense.

However, it is finally starting to pay off as I’m about to complete the last scenario of the sequence referred to in the chart above as Finale C, which is pretty much the end of the After the Storm proper. Once that is done, I will go back to some of the previous unreleased scenarios to deal with various rough edges in programming, balancing, and prose, and then perform the Big Merge on trunk, leading to the 0.8.90 release (also known as 0.9.0 Release Candidate 1). Whether this release will be public or just limited to whoever expresses interest in playtesting it is something I have yet to decide.

Since at this point all the artwork for Finale C is done and most of the programming components in place, I expect the Big Merge to take place around the end of the month. No promises on when 0.8.90 will be announced, though, nor to whom it will be announced.

After that I’m facing the challenge of writing the combined epilogue for both campaigns, which is a whole different can of worms because of some architectural restrictions in Wesnoth’s design that I need to overcome, somehow. While I am already know how the epilogue flows in advance, making it not look like shit could well be an unprecedented feat.

Once the epilogue is done, After the Storm 0.9.0 will be released. Theoretically, this should not take too long, but we shall see.

To recap, I am literally one scenario away from the epilogue, and this campaign is definitely not abandoned.

Also, if there are any campaign authors out there making assumptions about the AtS E3 plot progression, you should probably be prepared to either revise them or stick to your own alternate-universe continuity theories or whatever floats your boat.

After the Storm 0.8.1

Version 0.8.1 is out, right on schedule!

Just like the last time, this version will definitely not be exempt of flaws. You will most likely stumble upon dreadful bugs along the way, and I will need your help to fix them — make sure to report them in the campaign’s forum topic as usual!

Special thanks go to bumbadadabum for kindly providing a patch to integrate the changes to the Aragwaithi faction from his multiplayer add-on (The Aragwaithi in the 1.10 add-ons server) into AtS. 0.8.0 users shouldn’t have any game-breaking problems playing with their old units from saved games of E3S3 (Amidst the Ruins of Glamdrol), although some animations may not display correctly. If in doubt, restart from the start-of-scenario save for E3S3.

Also note that due to an internal change, if you load the start-of-scenario save for E3S4 (Outpost of Hell) from version 0.8.0, you will see the loadscreen twice. This is normal and intended, and only affects old saved games for that scenario.

This release is a turning point for various reasons I had already explained a while ago. The good thing is that once scenarios stop landing in SVN, I no longer need to worry about release schedules and pacing. I can now start pushing bug-fix releases as necessary, without affecting the development of the campaign finale.

It is also a turning point in other senses that attentive players will most certainly realize on their own. But in case someone feels disappointed by certain developments: I left enough clues scattered everywhere before, and everything is going according to plan. The bottom line is: if you don’t like the story and you can’t ignore it, don’t play the campaign. And just to be clear, it has never been my intention—at least since I resumed its development in 2011—for it to be eligible for mainline or anything like that.

The changelog for this version follows:

Version 0.8.1:
* Graphics:
* New or updated unit graphics: most Aragwaith units (wayfarer).
* Scenarios:
* E2S3.1 - Unrest in Raelthyn:
* Updated to use Aragwaith units.
* E2S8 - And then there was Chaos:
* Fixed elves who are initially Loyal getting a duplicate
trait when switching allegiances.
* E3S2.1 - Return to Raelthyn:
* Minor map balancing changes.
* E3S4 - Outpost of Hell (Gateway):
* New scenario.
* E3S5 - Pass of Sorrows (Gathering Storm):
* New scenario.
* Sound effects:
* Added hit and death sounds for Doors.
* Added additional explosion/thunder sounds.
* Added magic glyph sounds.
* Units:
* Balancing:
* Removed marksman special from the Demolisher Drone's ranged attack.
* Increased Sprite's impact resistance from -20% to 0%.
* Increased Fire Faerie's impact resistance from -20% to 0%.
* Increased Dryad's impact resistance from -10% to 0%.
* Increased Aragwaith Seer's HP from 39 to 44.
* Increased Aragwaith Seer's melee attack from 7-2 to 8-2.
* Increased Aragwaith Seer's ranged attack from 8-3 to 10-3.
* Decreased Shaxthal Razorbird's melee attack from 10-1 to 8-1.
* Decreased Shaxthal Thunderbird's melee attack from 13-1 to 10-1.
* Gave Doors a unit icon for the sidebar and the attack dialog.
* Updated Aragwaith units to match the faction from bumbadadabum's
"The Aragwaithi" add-on. This has resulted in the following changes:
* Protection only affects allied L1 and L0 units instead of any allied
lower level unit
* Ancient Banner abilities: +leadership, -protection, -steadfast
* Ancient banner resistances: impact 10% -> 20%
* Ancient banner stats: HP 55 -> 58, MP 4 -> 5
* Ancient banner attacks: sword renamed to scythe
* Archer attacks: melee 6-3 -> 4-3
* Captain abilities: +leadership, -protection, -steadfast
* Captain resistances: blade 20% -> 10%, fire 10% -> 0%, cold 10% -> 0%,
pierce 20% -> 10%
* Captain stats: HP 43 -> 55, MP 4 -> 5
* Captain attacks: spear renamed to glaive, 17-2 -> 18-2; sword renamed to
glaive, 9-4 -> 10-4
* Eagle Master stats: HP 48 -> 45, MP 7 -> 9
* Eagle Master attacks: blade 9-3 -> 10-3, impact 15-2 -> 16-2
* Eagle Rider defense: mountain 60% -> 50%
* Eagle Rider stats: HP 36 -> 34, MP 7 -> 9, cost 21 -> 23
* Eagle Rider attacks: impact 10-2 -> 12-2
* Flagbearer abilities: +leadership, -protection, -steadfast
* Flagbearer resistances: blade 20% -> 10%, fire 10% -> 0%, cold 10% -> 0%,
pierce 20% -> 0%, impact 10% -> 0%
* Flagbearer stats: HP 34 -> 45, MP 4 -> 5
* Flagbearer attacks: spear renamed to glaive, sword renamed to glaive
* Greatbow stats: HP 43 -> 46, MP 5 -> 6
* Greatbow attacks: melee 13-3 -> 10-3
* Guard abilities: +steadfast
* Guard resistances: pierce 20% -> 10%, impact 20% -> 10%, blade 30% -> 10%
* Guard stats: HP 40 -> 54, XP 78 -> 64, cost 27 -> 28
* Guard attacks: melee 12-3 -> 11-3
* Guardian resistances: fire 10% -> 0%, cold 10% -> 0%
* Guardian stats: HP 51 -> 62
* Lancer now has a female variation
* Lancer stats: HP 40 -> 48, cost 38 -> 34
* Longswordsman stats: HP 38 -> 46, MP 5 -> 6, XP 78 -> 88, cost 24 -> 27
* Pikeman resistances: blade 20% -> 10%, impact 10% -> 0%, fire 10% -> 0%,
cold 10% -> 0%
* Pikeman stats: HP 44 -> 50, XP 94 -> 70
* Pikeman attacks: melee 17-2 -> 16-2
* Scout now has a female variation
* Scout stats: HP 31 -> 36, XP 36 -> 40
* Scout attacks: melee 10-2 -> 11-2
* Shield Guard abilities: +protection, +steadfast
* Shield Guard resistances: pierce 30% -> 10%, impact 30% -> 10%, blade
40% -> 10%
* Shield Guard stats: HP 54 -> 66
* Shield Guard attacks: melee 16-3 -> 15-3
* Silver Shield now has a female variation
* Silver Shield stats: HP 54 -> 62, MP 8 -> 9, cost 38 -> 48
* Silver Shield attacks: melee 13-4 -> 12-4
* Slayer stats: HP 45 -> 53, MP 5 -> 6, cost 46 -> 62
* Slayer attacks: melee 12-4 -> 11-4
* Sorcerer renamed to Sorceress, no longer has a male variation
* Spearman resistances: blade 20% -> 0%, pierce 20% -> 10%, impact 10% ->
0%, fire 10% -> 0%, cold 10% -> 0%
* Spearman stats: HP 30 -> 34, XP 38 -> 43
* Spearman attacks: 11-2 -> 12-2
* Strongbow stats: HP 35 -> 38, MP 5 -> 6, XP 80 -> 85, cost 31 -> 38
* Strongbow attacks: melee 9-3 -> 7-3, ranged 8-4 -> 9-4
* Swordsmaster id changed, breaking old saved games with the unit
* Swordsmaster stats: MP 5 -> 6
* Swordsman resistances: blade 10% -> 0%
* Swordsman stats: HP 28 -> 32, XP 32 -> 39, cost 13 -> 14
* Warlock renamed to Witch, no longer has a male variation
* Witch stats: XP 44 -> 54, cost 18 -> 22
* Witch attacks: staff renamed to kick, 6-2 -> 7-1
* Wizard no longer has a male variation
* Wizard attacks: melee 10-2 -> 7-2, ranged 11-3 -> 10-3

After the Storm Episode III: General status update

Since the first three scenarios of After the Storm: Final are already out (0.8.0), I can now talk about my plans for the campaign to ensure we are all on the same page later.

This episode’s final scenario count is preliminarily advertised as twelve in the campaign menu entry, but the number may change as I see fit. More importantly, the final seven scenarios will be published as an atomic batch instead of separately. In fact, it’s very likely they will not enter the SVN repository until they all are finished.

For now, two more scenarios are expected to land in SVN trunk during the upcoming months; Outpost of Hell (E3S4) and Pass of Sorrows (tentative name for E3S5). Anyone who has been paying attention to the story and dialog sequences found in E3 so far will be able to predict the events taking place in E3S4 and E3S5. However, these scenarios (E3S4 in particular) require new units for gameplay and story reasons, and—since I am the only dedicated ‘artist’ working in the campaign—this part may take some time.

The campaign’s overall structure has resulted in decidedly slow storytelling and I don’t regret this design; basically, if you don’t like this, this campaign is not for you. However, things are going to get far more complicated after E3S5 as we approach the conclusion. Getting the finale right—in regards to code, prose, and art together, but especially art—may require a greater amount of energy than anything done before for AtS; hence, once E3S5 is out you may rest assured that unless a miracle occurs, the rest will take a large amount of time to be properly finished and released as After the Storm version 0.9.0.

Writing the finale is not a big deal per se since I’ve always known where the characters are going. The problem is making sure it’s worthwhile to play and read. I’ve always been flexible to plot changes in that regard since I resumed work on E1 last year; after all, this is a game, not a novel. The execution of the plot is also a touchy subject since the matter of the campaign doesn’t really fit neatly in a turn-based strategy game, and compromises must be made.

As usual, art is an ever-present issue as well. The finale requires more new units, props, and terrain graphics. When it comes to unit art, I have always been able to manage by reusing previous assets, making minor modifications and calling it ‘new’; but terrains and props are uncharted lands for me, which is why I fear art will take up most of the production time for the finale. And this is all not taking portraits into account; ideally at this point all major characters from this campaign—as opposed to those introduced in IftU—would have their own portraits, but that just hasn’t happened yet and is unlikely to happen in the near future.

In any case, this has been a very interesting journey. I hope it comes to an end soon and Final can be completed before the end of the year, but I’d not be surprised if it takes longer than that.

After the Storm 0.8.0

Version 0.8.0 is finally out, 16 days after the original deadline. Oh well. At least it didn’t take half a year like the last time I failed to meet a release schedule.

This version will most certainly not be exempt of flaws. It introduces the first three playable scenarios of Episode III (Final), plus two cutscenes; the playable scenarios haven’t been tested very thoroughly by my dedicated QA team or myself, and thus might be full of balancing issues, especially on difficulty levels other than Normal.

I guess I might as well take this opportunity to mention that Normal is, in fact, the only difficulty level I actually test.

There’s also a few bug fixes in this version, but nothing too important other than a voodoo fix for crashes affecting Mac OS X users at the end of Episode II (previously described in the forums). Somehow, I managed to forget to mention this item in the changelog this time; I feel this isn’t the only thing I forgot to do before releasing. Ah well, it probably isn’t my fault seeing as how I have to take care of so many things (cough art cough) for this campaign.

UPDATE: The immediate implication of this fix is that you will need to run Fate (the final cutscene scenario of Episode II, not the whole episode) again if you want Anya’s and Durvan’s stats to carry over to Episode III.

The changelog for this version follows:

Version 0.8.0:
* Scenarios:
* Mal Hekuba now wears purple TC as he did in IftU.
* E3S0 - Opening (Within):
* New scenario.
* E3S1 - Beyond her Smile (A Light in the Darkness):
* New scenario.
* E3S2 - Return to Raelthyn (Reckoning):
* New scenario.
* E3S3 - Amidst the Ruins of Glamdrol (A Path to Follow):
* New scenario.
* Units:
* Balancing:
* Increased Chaos Hound's recruit cost from 18 to 20.
* Increased Shaxthal Razorbird's recruit cost from 18 to 19.
* Decreased Shaxthal Runner Drone's ranged attack strength from 8-3 to 7-3.
* Fixed invisible Chaos Longbowman and Heavy Longbowman units due to missing
* Fixed Elvish Trapper and Elvish Prowler disappearing during animations.
* Fixed NPC bird code deleting the previous on-map unit when moving a
bird to an occupied hex (i.e. worms in E2S9).
* Removed Kri'tan.