Wednesday, June 18, 2008

Idols of War / Inform ATTACK Public Alpha 0.1; or, "IF and Tactical Combat"

Posted this on the IF Newsgroups today. If you don't follow those, please take note.

Dear all,

As a pacing device and mini-game, Interactive Fiction has relied mostly on puzzles. However, tactical combat can work just as well a pacing device and mini-game in an interactive narrative--just think of all successful computer roleplaying games and pen & paper roleplaying games. It would be interesting to see whether it also works in the medium of interactive fiction.

There is some aversion to "random combat" in the interactive fiction community. Personally, I blame a number of really bad attempts at implementing combat, attempts which typically involved combat sequences where it was randomly determined whether the protagonist survived--no player input required, no skill required, no tactics possible. Perhaps there really is a tension between IF and tactical combat, but we won't know until we've tried a best-effort implementation.

I have been working on such an implementation, and I feel the time has come to get some feedback. I have therefore put a playable version of my quasi-game "Idols of War" online at
http://lilith.gotdns.org/~victor/temp/IdolsOfWar.gblorb . This is not the beta-version of a future game; rather, it is a technology preview of the underlying combat system. You can follow a tutorial, and you can then test your skills against a couple of monsters.

In some areas, little is implemented: apart from the tutorial, there are only about 20 rooms with monsters. In other areas, a lot is implemented: there are for instance not only 5 standard combat actions, but also 15 additional combat actions you can learn in the game; and the combat system itself is very rich. There is also a lot of in-game documentation.

The aim of the Idols of War / Inform ATTACK project is threefold:

  • Find out, by making a best-effort implementation, whether tactical combat is a viable pacing device / mini-game in Interactive Fiction. In other words, can this thing that has been used in highly successful interactive narratives like "Planescape: Torment", "The Witcher" and [insert name]'s memorable D&D campaign also function in IF?
  • Find out what the conditions are for successfully implementing tactical combat in Interactive Fiction. I am thinking of issues of presentation (Can you follow what is going on? What is the best way to present useful combat information in text?); issues of interaction (How many and what kind of commands does the player need to have access to?); issues of integration (How does tactical combat and its interface integrate with the rest of the IF?); and, finally, issues about what kind of subsystems must be present or absent to build up a fun and interesting tactical combat system.
  • Create a toolkit in a major interactive fiction language for authors who wish to implement tactical combat in their game. I'm not speaking of an "Extension", since the ideal here is much more of a lot of possible subsystems from which an author can pick and choose, and which he will then tweak and change until he has what he wants. Unlike normal extensions, which aim to solve a very specific problem, such a toolkit would allow authors to build up a unique tactical combat system without going through the very time-consuming process of building it up from scratch. The working name of this toolkit is "Inform ATTACK", which stands for "Inform Advanced Turn-based TActical Combat Kit." :)
As I said before, I think I am at the stage where input would be useful. So if you are interested in this topic, please download the 0.1 version of Idols of War and try it out. Play the tutorial, play the further combats, try out some different skills and tactics, and help me answer the questions I posed above.

Does this stuff work? Is it accessible? Is it clear? Is it fun? Is it tactical?

What works and what doesn't?

What needs to be added in order to make Idols of War a better framework for a game? What needs to be added in order to make Inform ATTACK useful to other authors? (Please note that the toolkit is not yet available, not even in alpha-form: it will take some serious revision of my code to have that. All special cases will have to be changed into general rules, and so on.)

Any help will be much appreciated!

Kind regards,
Victor


PS.

The biggest gap in the system right now is that I have not implemented AI. The monsters will just attack, attack, attack. Obviously, a whole dimension of tactics is negated that way, and this will certainly change in a future release.
Also note that I had to disable "UNDO" everywhere rather than just during fights because Jesse McGrew's "Conditional Undo" extension doesn't yet work with 5T18. This will also be fixed asap.

Thursday, June 05, 2008

[I7] Finding your Inform 7 / Simple Chat bug

I just spent a lot of time finding out where a certain bug in my Inform 7 program came from, and I'd thought I'd post it online so people who do the same thing wrong as I can more easily find a solution.

Here's the deal:

If you have an "Instead of doing anything except ..." rule in your code which is active at the beginning of play, and you are using the Simple Chat extension, the result will be that none of your conversation options ever show up in the game. Not even when the "Instead ..." rule is turned off by the time you start a conversation.

The reason for this is that Simple Chat initialises your conversations at the beginning of the game, using the "preparing" action. If you have implicitly disallowed that action, by not putting it in your "except" clause, this initialisation will fail, and no nodes will ever be visible.

The solution is to rewrite your rule as "Instead of doing anything except preparing, ...".

(But I am a bit worried now about using this kind of rule, since it doesn't just stop actions initiated by the player, but also who knows what hidden actions occuring in the background.)