Happy anniversary!

13 years ago, today, I made my first Twitter account.

It’s funny how people for years prophetised the danger of centralised social media websites controlling all your data — and by extension your online identity — with no mechanisms to take it elsewhere. People were told they were paranoid, that large sites like this could not possibly become victim to a hostile takeover in the style of what a certain shady so-called “entrepreneur” did to freenode in 2021 (I was there, BTW).

Then an incompetent buffoon that also happens to be a highly malicious transphobe and professional conman bought Twitter Inc for $US 44 billion in 2022.

While I continue to keep my @irydacea account on Twitter in order to safeguard my identity — due to the new inactive accounts policy, although to be fair Musk’s administration really just unshelved an old project of Twitter Inc’s that they backed out of following heavy criticism — I will not be publicising my Twitter account going forward on any public pages, and it will remain private. I updated my About page accordingly, some time ago.

I’ll see you in the Fediverse as @irydacea@fosstodon.org.

A breath of fresh air

On February 1st 2022, at 5:31 pm, I became an Arch Linux user, finally putting an end to over 9 years of running Debian on my desktop machine.

Arch Linux running KDE Plasma on Hana

2012 Debian installer logs

2022 Arch install logs

In the process, I also finally replaced my desktop account name shadowm with iris, as well as officially relabeled my desktop from Hanacore to simply Hana. Of course, in order to do this in a way that wouldn’t silently break anything I had to throw away about a decade of configurations and maintenance scripts dating back to October 25 2012, when I originally installed Debian on Nanacore/Nana — the machine whose storage drives, GPU, and operating systems I bestowed upon hana. 👋 By doing this I’m ensuring that anything I’m bringing back has to work with the new name if at all. I’m kind of ridiculous, I know. 🤷‍♀️

One big bonus of doing the system setup dance all over again like this is that I am absolutely forced to start over and organize my decade-old mess of personal files and forgotten software packages. So far I’ve been enjoying coming up with a proper categorisation of files in my home directory instead of having files strewn all over.

Continue reading “A breath of fresh air

Irydacea.me

Hi, and welcome to Irydacea.me, my little semi-secret project for the past year that’s finally complete!

Cover screenshot

After years of relying on other people to host my website, I’m finally in a position where I can do it all on my own and run any software stack I want — and more importantly, use my own personalized domain name, a name that took no small amount of effort to decide upon but is now consistently used for my socials and GitHub.

(The exception being one service where I’m still shadowm because it’s just so, so lucky I got hold of the name before anyone else back in the day and I sort of want to keep bragging about how I got the name before anyone else there. Naturally, Iris is already taken.)

But the new website isn’t just a pretty domain name, no. Following over a year of constant pestering from Vultraz to join the cool kids and learn about —ugh— modern —ack— Web development instead of staying stuck in 2012 or so, I finally got around to learning... React. Yes. This whole thing is written in React + Gatsby, which probably makes it more of a serious project than Iris/Amethyst or Dorset ever were — by virtue of having had to write half of it by hand instead of relying on a pre-existing CMS, and hand-coding a lot of new features.

So let me give you a little run-down of what’s changed.

Continue reading “Irydacea.me

Amethyst, and life updates

Oh hi there. Long time no see. Apparently I haven’t posted since February 2017, huh. A lot of things have happened in the meantime, it turns out. Some of those things are to blame for my general inactivity elsewhere, but when it comes to this blog I just can’t seem to come up with anything to say worthy of my trademark text walls, at least not ever since I joined Twitter several years ago— wait, wasn’t that in 2010? Time sure flies. I feel old. Okay, let’s face it, I am old.

“Iris” version 1.1.0 as of earlier today

In addition to it having been a while since my last post in here, it has also been a while since the last time I gave the website an overhaul, for what little use it sees nowadays. Because of that, plus some of my experiences designing the new website theme for The Battle for Wesnoth last year, I decided to try to modernize my own a little bit so it looks more in tune with my current practices. I also decided to spruce things up with a new colour scheme, like last time, taking things in a different direction to what I’m used to.

An attentive reader who’s been around for long enough might be able to tell that the “Iris” design last year did undergo a slight revision incorporating Font Awesome in order to make icons not look awful on high-DPI screens. This was a natural conclusion of my work designing and testing the Wesnoth.org theme on devices with higher pixel density. Plus it was precisely last year that I actually caved in and got a smartphone given to me by a relative, further highlighting all the inconveniences of designing things on/for 96 DPI these days. Other than that, though, the design remained mostly unchanged from what I made in 2014.

“Iris” version 1.2.0, aptly codenamed Amethyst for reasons that should be blatantly obvious, is mostly the same as before under the hood, but on the surface it hopefully looks shinier and more elegant and modern. Even though I am not using the site much right now like I mentioned above, I have a faint hope that the new look will motivate me to post more again.

Since there wasn’t a New Year post last year, or even the year before that, or uh... the year before that as well... actually I guess there haven’t been New Year posts in here since January 1st 2013. Oops. Anyway, I guess it’s time for a short summary of what I have been up to in recent times. Let’s see...

Continue reading “Amethyst, and life updates

Wesnoth.org post-migration status report

I posted a rather extensive report of the results of the asheviere.wesnoth.orgbaldras.wesnoth.org migration to the developers’ ML because Ivanovic wanted me to post updates to the ML for some weird reason. I am fairly sure the people who are actually subscribed to it skip them entirely.

Here’s a link to the email message.

Because I care about transparency and stuff, I pointed out an important thing there:

[…] the migration process went smoothly and now the wiki is running MediaWiki 1.21.2 instead of 1.16.1. Look up 1.16.1's release date and the branch's EOL date and you'll understand why I've been saying "not really optimal" and "deplorable" when referring to the wiki.

(Only after sending the mail I realized that I wrote MW 1.16.1 instead of 1.15.1. The version that was running on wesnoth.org is indeed 1.15.1, not 1.16.1.)

I don’t really have anything to add here, but I am providing a verbatim copy of the email after the break anyway, only because it’s a wall of text and I like those.

Continue reading “Wesnoth.org post-migration status report

Wesnoth.org moving hosts

As announced in the Wesnoth.org forums, today (although it’s still yesterday for me) we are moving most of Wesnoth.org’s facilities to a new host, to continue the migration process that started with the previous move of add-ons.wesnoth.org, devdocs.wesnoth.org, and files.wesnoth.org.

What you probably wouldn’t guess from the announcement is how complicated the underlying machinery actually is. I did not want to clog up the post with additional details because that is often confusing for most people, but here is a list of services that will be directly affected by this whole operation:

Continue reading “Wesnoth.org moving hosts

After the Storm 0.9.0

After years and years of development, drama, script rewrites, field research, technological advancements, budget cuts, and temporal shenanigans, today, March 5th 2013, I can say for sure that After the Storm is complete with the release of the most important milestone yet: version 0.9.0, with all three episodes completed with 13 scenarios each.

A few caveats for people upgrading from the previous release:

  • This release adds the final Epilogue scenario for Episode III, which will become a bonus feature in 0.9.1. If you had previously finished AtS Episode III using versions 0.8.90 or 0.8.90.1, you will have a start-of-scenario save for the Epilogue scenario which you can use after upgrading to this version.
  • As usual, for the most stable experience I advise using Wesnoth 1.10.x — preferably 1.10.5 or a newer version when it becomes available. All episodes of this campaign were primarily developed and tested on 1.10.x, and there are subtle behavioral differences in the game engine between 1.10.x and 1.11.x that may break some sequences or cause other unintended side-effects.
  • Various issues reported by playtesters on Wesnoth 1.11.1 were fixed. Most notably, it implements a workaround measure for mainline bug #20373, which is relevant for Episode III scenarios starting from Dark Sea. People who experienced player information loss (recall and recruit lists, gold reserves) after Dark Sea on 1.11.1 will need to replay that scenario from the start-of-scenario save (NOT the Turn 1 save!) in order for Wesnoth to install the code in charge of solving that issue in later scenarios. This code will not work on Wesnoth 1.11.2 — you will need to finish Episode III on 1.11.1 before switching to 1.11.2 (whenever it is released, anyway).

This... has been a really long journey, to say the least, and I pretty much lost all hope of ever finishing this campaign at various points over past years. Development started in 2008 and quickly stagnated for various reasons:

  • Perceived lack/loss of interest from the audience
  • Excessive perfectionism on my part
  • Various IRL struggles, including health and personal matters
  • Constant conflicts of interest amongst the few people who were actually interested in IftU and AtS’ development
  • Mainline development tasks taking up my spare time
  • Wesnoth.org forums moderation and administration taking up my spare time

To say that I was overjoyed when the Big Merge took place just a couple of weeks ago would be a big understatement. This campaign became for me more than just another Wesnoth campaign as time passed — it became a part of me I thought I had left behind when IftU was first completed, a testament to my chronic failure to drive my own projects to completion.

After the Storm changed a lot since it was originally conceived in 2008. The original draft was both over-pretentious and subpar, and it was not what I wanted to create after IftU. I wanted to create something better than IftU, but I locked myself in a trap by relying on source material that was already broken by design. Making a better sequel became my obsession, and that obsession led to AtS’ stagnation during the development of Episode I.

But some time mid-2011, I finally saw that trying to achieve perfection was a flawed goal in its own right. What I should have been aiming for all along was to make something fun, something from which I could learn, something I would enjoy to play and create. It was that realization that finally led me to complete Episode I, and the rest was a blaze; a blaze that culminates with this release, today.

The final product is neither perfect nor it aims to be such. I do not think this campaign is for everyone, seeing as how the gameplay and plot are very tightly knit together, and the overall scenario count goes up to 39 without taking cutscenes, segmented scenarios, and bifurcation into account; however, unlike IftU, every episode is a separate campaign in its own right, and I believe that makes the overall experience more enjoyable and less chaotic, balancing-wise.

When I first wrote IftU, my grasp of the English language was as poor as my handle of storytelling in general was, to say the least. This also applies to AtS Episode I up to scenario 9, part 2 — which became the turning point for the campaign’s development when I finally chose to renounce perfectionism and embrace the fun in creation. But I digress. AtS’ prose is all my own output with minor amendments from my playtesters and proofreaders, and an experiment in style wherein I take breaks from mainline conventions on purpose, in a subtle and calculated manner. Attentive players may be able to point out those inflection points from just paying attention at the characters and their interactions — characters whose flaws and mistakes are not as detached from reality as the game’s fantasy setting or the subtext-based delivery may suggest.

The three-episodes structure was mostly an afterthought. AtS episode III became an amalgamation of a previous planned AtS sequel and an aborted IftU prequel. But this structure fits the narrative better than the original plan. Episode I establishes the setting and motivations for the protagonists, and provides more hints about the overarching plot than IftU did; Episode II gradually develops further on the characters’ inner struggles while providing entertaining gameplay and dropping even more hints about the grand scheme; and finally, on Episode III things go off the rails in pretty much every way possible—including gameplay—and the plot reaches its final resolution within the scope originally intended for AtS.

Some people will be unable to find or interpret the hints and may see the finale as an out-of-the-blue succession of events, all because I avoided indulging in long and heavy exposition sequences that leave nothing to the player’s imagination and reading skills. I am perfectly aware that this is an inevitability, because it is absolutely impossible to please everyone, as I have learned from my experience with activities otherwise wholly orthogonal to the storytelling field. I think some UMC authors should really keep this in mind whenever they feel tempted to abandon their efforts just because a vocal segment of their players doesn’t like their output.

Other people will not like AtS because “it’s not like IftU”. Perfectionism aside, it is impossible for it to be like IftU after all that I have learned in the meantime about storytelling, life, people, and myself. The circumstances under which IftU was created were entirely unique and I would have to trade many things which I have gained or lost since then in order to create another IftU — and I would not be pleased by the result in the end.

I think AtS works just fine as an IftU sequel, and a sequel does not have to fully embrace the spirit of the original to be such. It’s not like AtS isn’t littered with callbacks to IftU in direct and meta levels anyway. There are a lot of things in it to enjoy, and a lot of things to hate — and both are part of the plan!

But in the end, all that matters to me is that I like the finished product, had fun making it, and learned lots of things along the road.

For those who might think that AtS’ finale is a definitive conclusion to the involved characters’ respective arcs: no, it is not — but I allotted a specific amount of time and scenarios for telling their origin stories, and the campaign had to end at some point. Is there enough material for sequels? Hell, yes, but I don’t see myself making another Wesnoth campaign given all the technical and non-technical limitations imposed by the platform. The three ultimate protagonists have a whole journey ahead of them (as well as more characters to meet), and I would like to explore that in some other medium in the future. For fellow Wesnoth UMC authors, though, there is plenty of material left to work with if you pay attention to every single minor detail.

Of course, I am open to questions about everything you may want to know about the campaign, be it via forum PM, or posts in the campaign’s development topic. But I would appreciate it if people didn’t post topics for every single thing in Writers’ Forum — when that happens, odds are I will just ignore those topics in their entirety and not take the effort seriously. As a matter of principle, if you want to ask a campaign author about their work, you ask them directly through their official communication channels instead of walking to the closest park holding a massive sign in your hand.

With AtS 0.9.0 released, all I have left to do is to take care of fine-tuning scenario and unit balance, fixing any remaining prose issues (especially those annoying unit type descriptions for the in-game help system), dealing with missing/placeholder/subpar pixel art, and somehow find a portrait artist willing to work under my specific terms. The latter part will probably take ages, so don’t hold your breath waiting for AtS 1.0.0.

I will be forever grateful to the people (and pets) who helped me along this arduous and extended quest, even those who did so unwittingly — if you are reading this, odds are that you know who you are.

To conclude this post, the changelog for this version follows:

Version 0.9.0:
--------------
* General:
* Milestone: all scenarios completed.
* Scenarios:
* Deployed code to work around a side-switching issue affecting Wesnoth
1.11.1 during post-Divergence (E3S6) scenarios. The corresponding
mainline bug is #20373 and it is fixed on 1.11.2.
* Fixed various "wesnoth.get_side is deprecated, use wesnoth.sides instead"
warnings on 1.11.x.
* Minor story text grammar, style, and punctuation amendments.
* E1S6 - Quenoth Isle (Elves of a Different Land):
* Minor prose tweaks.
* E1S7 - The Search for the Past:
* Minor prose tweaks.
* E1S12 - The Queen:
* Minor prose tweak.
* E1S13 - Death and Rebirth:
* Fixed minor prose issue ("take risky choices" -> "make risky choices").
* E2S2 - The Heart Forest:
* Minor prose tweak.
* E2S11 - A Final Confrontation:
* Minor cutscene improvements near the end.
* E2S12 - Fate:
* Minor cutscene improvements.
* E3S8C - Breakdown:
* Don't allow summoning Fire Guardians until the player enters the
underground river passage.
* Fix objectives display inconsistencies throughout the scenario.
* Minor cutscene improvements.
* E3S8D - Destiny, part 2:
* Fixed Anya's movements not being undoable.
* E3S9: Dark Depths:
* Fixed minor cutscene glitches.
* E3S10 - Blood:
* Add a context menu item displaying a list of available attack
combinations and their effects.
* E3S13 - Epilogue:
* New scenario.
* Units:
* Balancing:
* Decreased Demon Slashing Gale's melee attack from 11-3 to 10-3.
* Decreased Demon Slashing Gale's ranged attack from 10-5 to 9-4.
* Fixed Chaos Arbalestier ranged attack animation failing to trigger.
* Fixed Shaxthal Turret not getting the biomechanical trait.
* Fix multiple "Descriptions should no longer include the name as the first
line" warnings on 1.11.1 and later.
* Fix unit types with missing faction prefixes in their names:
* Arbalestier -> Chaos Arbalestier
* Cataphract -> Chaos Cataphract
* Crossbowman -> Chaos Crossbowman
* Heavy Longbowman -> Chaos Heavy Longbowman
* Hide private variations for regular unit types from the help system on
1.11.x.
* Killed Kri'tan.

The full changelog—for versions 0.3.0 through 0.9.0—can be found here.

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: remove END_OF_PLAYABLE_SCENARIOS macro
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: remove ROCKS_FALL_EVERYONE_DIES macro
AtS is complete. This macro no longer serves any purpose.

*sheds a single tear*

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.