Saturday 12 June 2010

Morality in beta

A lot of games by independent developers go through extended beta periods - Mount & Blade is a good example. Many roguelikes take this to the extremes: Unangband has been in beta for over 10 years (Unless you consider most of that period to be alpha).

During that period it is inevitable that players will encounter bugs while playing the game. But with a roguelike, especially one as deep as Unangband, it is not often clear while you are caught up in the moment of play whether the behaviour of a particular element in the game is a bug. It could instead be an exploit that has been permitted or sanctioned by the developer, or unintended consequences which may be patched in a later version of the game.

Ashkir, while playing Unangband, has experienced one such unintended consequence which he has framed explicitly in moral terms. His familiar, which is a customisable summons which develops throughout the game alongside the one subclass of magic user able to summon it, was able to avoid being killed by a unique monster because it is also a unique, and at the moment in Unangband, uniques can only be killed by the player.

As I mention in the thread, I didn't pick this up during testing because I inevitably accidentally would kill the familiar early on in the game, and as a result never noticed this issue. This is important, because once a familiar is dead, it won't come back - a partial permadeath. While this may seem draconian, it met the requirements I initially set for the Find Familiar design.

The Master magic school has a wide variety of summons spells but needed an introductory spell that would allow Master characters to learn about managing their summoned monsters very early on in the game without unbalancing the class by allowing them to spam summons to abuse the game. Find Familiar is therefore a low level spell which allows you to only summon one monster, and implemented as a 'throwaway hack' - something fun I could code relatively quickly and without having to worry about the impact on much of the game. The improving abilities are intended as a bonus for those players who do manage to keep their familiar's alive - and as a way of anticipating the feature request that would have inevitably been made by the player base.

Unsurprisingly, people became incredibly attached to their familiars, to the point where the most common feature request made is the ability to name them. Ashkir has taken this one step further and built his entire play style around the familiar abilities. But I am intrigued about the depth of his reaction to finding out his familiar can't die, for several reasons.

Firstly, is the fact that an unkillable assistant is such a common feature of computer games that has become a trope of the genre. Your pet in Torchlight is the example closest to the genre - it flees instead of dying, because having your pet die would completely unbalance the in-game economy.

Secondly, is that he has been completely abusing another significant bug in the familiar game design without the slightest moral qualm:

'Most importantly I made his attacks drain health so as he hits creatures the life drained is added to my own hit points. This is incredibly useful and gives a Necro a huge advantage as they have a spell that drains their own life to give themselves back spell points, giving me an almost limitless supply of power."
The problem with this statement is that I never intended for the familiar's drain health ability to heal the spell caster - it should merely heal the familiar. This unintended consequence occurs because of the way that your allies attacks are treated as your attacks for the purpose of getting experience.

Thirdly, is the fact that if I gave him what he wants, a completely dead familiar, he in all likelihood would stop playing the game:
I've had a great time with this @ and will definately go back to him later but I'd rather not do it while the bug is present or without using the familiar as it's a massive part of the Necro's play style.
(My emphasis added).

I've presented him with exactly that Solomon's choice simply to see if he takes it up.

There's a lot here worth discussing further. What do you think? (And Ashkir, feel free to correct anything I've assumed here, in the comments, or on the thread you started).


Nick said...

I would be looking to incorporate Ashkir's playstyle in any bugfix.

It's all very interesting. It seems to me that a large part of his attachment to the familiar stems from its survival against the odds - which was a bug. I like the idea of permadeath for the familiar, harsh as it is.

As usual, I am filled with admiration for the richness you have put into Un.

Andrew Doull said...

Part of what makes this so intriguing is Ashkir's argument that he has been careful to avoid having the familiar significantly damaged. I'm willing to give him the benefit of the doubt regards this.

I agree that it's worthwhile incorporating this playing style into any bugfixes.

Alex Phillips said...
This comment has been removed by the author.
Andrew Doull said...

Mr Phillips: I'll give you the opportunity to delete that spoiler you just mentioned...

Dan Kline said...

If you want to incorporate the playstyle, I'd consider forking the familiars, possibly by adding a new class or Master branch+tradeoffs. It's not clear (not being an expert) how you could possibly maintain perma-death familiars while incorporating this style.

However, there's certainly has to be some fiction for unkillable familiars somewhere in fantasy. And having both options (one of which is broader and more "standard") avoids it being trope-y.

Andrew Doull said...

To clarify: the play style I want to preserve is the drain health healing the character, not the invulnerable familiar.

Ashkir said...

Hello all.

Andrew, I am a little surprised that the drain health effect was a bug also. I remember when the familiar first began to attack and I noticed it healing me I thought this was a really cool feature. For better or worse my Necro playstyle stems mainly from my days playing Everquest where a similar drain health for mana style exists alongside a very powerful pet. I genuinely thought this was intended. I can achieve a similar effect without the familiar by using Vampiric Drain alongside Dark Ritual so no big deal.

The familiar really hasn't ever been into the red during combats. Most fights have been heavily melee based which it excels in due to its' evade abilities and I am pretty much always alongside it, stepping in to help with point blank damage spells and touch attacks. Again, this is an aberration as it is the familiar healing me constantly while attacking allowing me to stand toe to toe with my foes ( including giants ). I thought this was really cool for a squishy caster!!

Don't get me wrong, I was almost killed many times. Being hit for massive damage, familiar bailing on me randomly in the middle of a big fight, spell failure etc.... So I never felt I was invincible at all..... until the Scatha incident when it was so obvious that me and the bat should have been splatted.

As I've posted on Oook, I never thought the Familiar was indestructable and was careful to try and preserve it even after I discovered the spell that brings it back to life anyway. I honestly thought the heal effect was intended so didn't realise I had been abusing another bug and stopped playing the character as soon as I realised the pet behaviour was unintended by yourself.

Sorry for causing a bit of a headache and thank you for creating such a rich variant to play in.

VRBones said...

I remember getting drain health on a familiar in the last Un oook challenge and had a similar reaction: Healing the caster was slightly unexpected, but believable and adapted my playstyle to suit. Actually I think I even hit the non-dying familiar issue, but it didn't strike me as something that totally broke the game, or even something worth reporting.

Since this topic is on the morality of exploiting bugs in Beta, the key part of my thought process was that the "bug" didn't break the game.

When I play any game, my main goal as a player is to break the game. Once I find an exploitable element of the game (infinite money, infinite health, infinite attacks, optimal build orders, imbalanced playstyles, etc) that reduces the completion of the game to a mere process, I usually switch off and play something else. The thrill of the game is figuring out the system and rules. It's a big learning environment.

Maybe it's because I haven't finished Un before (and feel its still a ways off) that these "bugs" still seem like legitimate strategies to break the game. Maybe it's because I don't feel that guilty exploiting breeder rooms or the like. Anything in the game feels open for exploitation until it reaches that "do X, rinse, repeat" stage, then you've gone too far. Game over.

In a beta, the trick is how to get people to convey those exploitable elements to a designer without ruining it for everyone else, and continuing to play without the exploit. This requires the player to enjoy more than just the game-breaking search, but the desire to make the game better for everyone; the meta-game of greek letters. There needs to be an intent right from the start that you're playing a larger game than just the one before you.

I've played many, MANY betas, but I hadn't really thought of Un as being in beta. It might be due to the unfinishedness of the whole genre, and that I've been soaking in it for a looong time, or it might be the close proximity to open source nature of development where there essentially is no "final release".

VRBones said...

In an odd turn of events, I was reading through Sirlin's "playing to win" article again and noted the references to bugs in "boundaries of playing to win".

While "playing to win"'s tenets is to improve the meta-game, without an opponent to adjust their game to your newfound skills, single player games simply remain broken.