Combat handled as a conversation

And I note that in such a system, the next battle — every battle, in fact — is different. In one fight, you’re up against an arrogant and experienced captain, who mockingly shunts aside everything you do except a feint (except that even a feint doesn’t work on the first round). In order to impress him and get to the second stage of combat, you feint; and once you do, you’ve engaged his interest and the fight really starts.

In the next fight, you’re battling a drunken brawler in a tavern, whom you’re trying to question; you need him alive. But he charges dumbly on every round, clumsily trying to tear you limb from limb, and you have to fend him off with special moves, trips, insults, not letting him harm you but not harming him either.

The more I think about it, the more I like the idea of a narrative combat system based on … for lack of a better term, a CYOA model. I was right the first time: I don’t need a combat mechanics model, I need a narrative model.

I did a small, unambitious version of this with the endgame of Pytho’s Mask: I wanted the scene to feel like swashbuckling, not like rolling dice, so I was pretty sure that a more simulationist combat mechanic wouldn’t feel right. So the player’s choices are all about the taunts and emotional exchanges of the fight, and the engine takes care of narrating for you what physical maneuvers you make.

It didn’t go as far as what you’re describing, in that the fight wasn’t really meant to feel like a puzzle. I wanted an interactive showdown, but I wanted it to be easy, because having to replay that scene would have disrupted the pacing when I wanted the player to move on smoothly to the denouement.

But I think the mechanic has potential for the more elaborate arrangements that you’re talking about, especially if you want the fight challenges to tie in with what the player knows about the NPC personalities involved. That sounds like a game I’d like to play.

The best recommendation I can think of for a narrative combat system, where combat progresses through nodes based on your choices, is that it doesn’t require balance in the traditional sense of dice mechanics, to-hit rolls, average damage per strike, or any of that nonsense. A narrative node-based combat scheme could work as easily with guns, knives, rapiers, spears, rocks, bottles, shovels, barroom furniture, bows, flintlock rifles, or anything, without regard to genre, or even whether the player has access to only one weapon, one character, or has several of either to choose from. It could even accommodate a battle with multiple mooks or a single difficult villain.

You could get disarmed in the middle of combat and fight with a chair. Now that’s boss.

There was an interesting example of narrative combat in the old Way of the Tiger gamebooks. Unfortunately I don’t have one at hand, but it might be fairly simple to track one down on alibris or something for research. Shouldn’t be more than a couple of bucks.

alibris.com/booksearch?qwork … ting*title

Right now I’m combing through the documentation of Conversation Nodes, to see how it’s structured. I see a number of different structural differences that I’m going to have to modify in any proposed Narrative Combat extension. Comments and suggests are welcome, I’m still new at Inform!

  • The current-node global variable matches the current-node in the person you’re speaking to, tracked by a single variable within current-interlocutor. A similar current-combatant construction might be awkward for combat, where you may be fighting two or three actors at once. Perhaps a combatant could have a List of Allies (which may be empty) and a List of Enemies (always including the player, sometimes including those who assist the player). This would help disambiguate vague commands such as “attack” (which could then choose from among the current-combatant’s List of Allies). Or would it be better to create a thing called Combat, with a List of Participants?
  • Conversation nodes are either open or closed; Combat is essentially closed and very closed. Although you can attack, defend, feint, flee, examine, and use commands such as insult, taunt, or mock, you probably shouldn’t be “insert X into Y” or “go north” or “sleep” or “open Z” or “drop sword” at will during most combats. Somehow I’ll have to trap and reject all commands not part of the standard combat maneuvers — but on some occasions, allow certain very specific commands to slip through (swing on chandelier, kick over table, leap over railing, etc). On other occasions I’ll want very very limited responses (perhaps the enemy issues an ultimatum and demands yes or no). What’s the best way to do this without a pile of Instead rules that affect performance? Can I say something like “only when the current-combat node is X, swinging on the chandelier is a combat move?”