Sunday, July 31, 2011

[Inform ATTACK] Version 3 released

I am happy to announce Version 3 of Inform ATTACK. As always, the latest version can be found here; if you specifically want version 3, click here.

Code written for version 2 will generally be compatible with version 3, though you should check out the changelog below to see if any of the changes might interfere with your existing code. Updating to version 3 is recommended because it brings a more robust handling of readying and natural weapons. Version 3 also adds the "weapon damage bonus" property, which can be used to increase or decrease the damage dealt by weapons in a more flexible way than was previously possible with only the "damage die" property. (The base damage dealt by a weapon is now a random number between 1 and damage die, plus the weapon damage bonus.)

Full changelog:

  • Added "wield [weapon]" and "use [weapon]"' as synonyms for readying.
  • Readying now applies to a visible rather than a touchable thing.
  • A new check readying rule, the cannot ready what is already readied rule, rejects the readying action when applied to a readied weapon. This failed action takes no time.
  • The standard report readying rule now handles second person singular and any person plural correctly, and has a slightly improved message.
  • The parser now considers it unlikely that the player wants to ready a natural weapon.
  • The ready natural weapons if no other weapon readied rule has been removed in favour of a more robust system of readying natural weapons.
  • There is a new phrase "ready natural weapons", which readies the natural weapons of any alive person in the location who has no other readied weapon. This is run every combat round (by the govern combat first part rule).
  • When play begins, the ready weapons for everyone rule is run, readying a weapon for every person in the game -- carried non-natural weapons if possible, otherwise natural weapons.
  • The standard AI will no longer sometimes choose to ready an already readied weapon. (The weight entry has been decreased from -100 to -1000.)
  • When striking a blow, the game now abides by (rather than considering) the immediate results of hitting rules. This gives the author more control -- for instance, the author can now stop the blow if the immediate result of hitting someone is death.
  • The phrase "You were killed by X." will no longer be printed as (for example) "You were killed by the dead troll." if the troll also died during the attack. ATTACK will now always print "You were killed by the troll.".
  • If the damage die of a weapon is less than 1, it will no longer be rolled by the standard damage roll rule; its result will be considered 0. (Negative dice make little sense.)
  • All weapons now have a number that varies called the "weapon damage bonus", which is usually 0, but can be both positive and negative. The standard damage roll rule adds this number to the damage roll. The damage dealt by a weapon before modifiers is therefore 1d(damage die) + (weapon damage bonus).

9 comments:

  1. I've read manual, but I can't figure out how to install the extension. Once I click on the link and press open, how do I get it?

    ReplyDelete
  2. It works the same as for any other Inform 7 extension. (Except that I have packed it in a .zip file with the manual.)

    Once you have unpacked the .i7x file, you need to go into Inform 7, and choose "Install extension" from the menu. (On Windows, it is in the File menu.) You then get to choose the .i7x file, and it will be installed.

    You can then add the extension to any of your games by putting in the line:

    "Include Inform ATTACK by Victor Gijsbers."

    ReplyDelete
  3. It'd be interesting to see how ranged weapons could be implemented, since there's no default positions within the room. They would need to be reloaded occasionally or often, of course, and that's already built in. Maybe combatants with melee weapons would have to spend an action approaching a ranged weapon user; or, making an initial melee attack against a person with a readied ranged weapon would provoke an attack? Either way, it provides another tactical choice: melee or ranged weapon?

    ReplyDelete
  4. Hi Lance,

    Yes, since IF traditionally doesn't model places within rooms, I decided that there was no one-size-fits-all approach to ranged weapons that I could put into ATTACK.

    In my upcoming game Kerkerkruip, some items have the "ranged" property. This only makes a difference in certain very specific situations. For instance, character X may be protected by magical bushes full of thorns which damage you when you attack her; but you won't get any damage when you use a ranged weapon, because in that case you wouldn't need to approach X.

    One could use a similar set of ad hoc rules to implement a room which is divided by a chasm, for instance: attacks across the chasm are only possible with a ranged weapon. If you have many rooms like these, you can create a more general system which gives every character a "sublocation", and only allows melee attacks when the characters are in the same sublocation.

    Your approaches could work too, though you would have to think of a way to make it clear to the player which combatants are close enough to hit in melee, and which combatants still need to be approached.

    ReplyDelete
  5. You rock. I think that new game you are working on will be awesome.

    Right now I'm working on a complex story for an rpg. I'm back-and-forth on whether I should just write a short novel or implement it in a game with Attack. I have many of the programming details ready, I just need to know that it can still be a compelling story with all the fighting elements.

    I'm waiting on Kerkerkruip implementation of Attack before I start writing more code.

    ReplyDelete
  6. Hey! I just found ATTACK and I'm super impressed, it works great. However, I can't find a manual for v4 anywhere!

    ReplyDelete
  7. Tinywaves, I'm afraid that that's true. ATTACK v4 was a big overhaul of some of the core elements, and the person who did most of that work unfortunately hasn't been able to write a manual for it yet.

    So you have two options: either use ATTACK version 3 (which works, obviously); or discover how ATTACK version 4 works by reading the code, by trial and error, and perhaps by checking out the Kerkerkruip code (which you can find at github).

    I'm sorry for the incovenience!

    ReplyDelete
  8. Ah okay, thanks. I'm relatively(ha very) new to i7, and I'm still learning my way around. Thankfully the code makes a lot of sense to my literary-minded brain. However, I'm not sure learning how v4 works would be an altogether quick experience for me, is it worth it to do and not just use v3?

    ReplyDelete
  9. Tinywaves, I would recommend using ATTACK 3. The differences with ATTACK 4 are extensive, but mostly have to do with new ways of arranging the code -- ATTACK 3 is perfectly usable, there's nothing wrong with it. Right now, I'd say the only reason to use ATTACK 4 is that it allows you to use Kerkerkruip code more easily; but if you're not planning to base your game on Kerkerkruip, that's irrelevant.

    ReplyDelete