Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Combat Reporting -- A Simplification  (Read 1024 times)

Calessa Lynn Orphiel

  • Bay Watcher
    • View Profile
Combat Reporting -- A Simplification
« on: July 13, 2008, 11:32:02 am »

I have been developing a long series of thoughts on interface improvements that I believe should be implemented into Dwarf Fortress.  Since we should be seeing considerable interface improvements in the very near future (relatively speaking), I figured I should start posting some of them.


THE PURPOSE

To increase readability and screen clutter of combat logging.  Also because if combat logs are ever (officially) used in fortress mode, you will NEED the most concise information possible.

THE THEORY

To reduce screen clutter, one needs to eliminate redundancy and use the least amount of words possible.  To convey the most information, one must includes all variables.  Thus, an efficient syntax is an absolute necessity.

THE METHOD

First, all non-special attacks MUST be standardized.  Right now, armed creatures make specific attacks with specific weapons, but unarmed creatures, particularly on missed attacks, have generic "it misses you" responses.  These need to be expanded, at minimum, to an action taken, and what body part or weapon is being employed, regardless of hit or miss state.

For syntax:  Anything in "" should be on EVERY line, anything in [] is only if relevant.  "" within [] are required parts of an optional line, in other words, they MUST be in the line, IF that part of the line exists.  Examples will have these quotes and brackets to show how the syntax should work.

THE FIRST LINE

Description:  This line represents the action of the assailant and, in the case of blocking, the immediate result.  (Firing or throwing should not have a target).

Syntax:  ["assailant" "utility action" "possessive pronoun of owner for melee weapon, a/an for ranged" "weapon"[ at "target, if melee][, but it is blocked][,but "pronoun of target" jumps away]!

In-game appearance:  The speargoblin thrusts its *copper spear* at you, but it is blocked!

Breakdown of syntax:  "The speargoblin" "thrusts" "its" "*copper spear*" [at you][, but it is blocked]!


THE SECOND LINE

Description:  This line describes the result of the impact.  Syntax here is complicated, but doable with relatively simple entries.  The last bracket can recurse as necessary between each instance for each type of organ damage.  Sub-organs (third finger, right hand) should NOT repeat the parent object, as the parent object is the target of the attack.  Only an absolute retard would think that a broken finger on the right hand would be the result of a warhammer smashing the left hand.

Syntax:  "possessive of assailant, if ranged, otherwise 'the'" "base weapon type" "active verb of damage type" "possessive of target" "body part"[ and becomes lodged in the wound][", additional internal injury type, active verb" "possessive pronoun of target" "first internal organ"[, third internal organ][, fourth internal organ] [ and second internal organ]][", and additional internal injury type, active verb" "possessive pronoun of target" "internal organ"[, third internal organ][, fourth internal organ][and second internal organ]]!

In-game appearance:  The spear mangles your upper torso and becomes lodged in the wound, piercing your heart and right lung, and bruising your left kidney, right kidney, and left lung!

Breakdown of syntax:  "The" "spear" "mangles" "your" "upper torso"[ and becomes lodged in the wound][", piercing" "your" "heart"[ and right lung][", and bruising" "your" "left kidney"[, right kidney][, and left lung]!

Additional Note:  This entire line is omitted with blocked melee attacks, and is simplified with blocked ranged attacks to a syntax of "possessive of assailant" "base projectile type" "is blocked by" "target".


THE EXAMPLE

For an example of how this would work in-game, I present an example from my own logs.

Original text:  3214 bytes, 72 lines text

Spoiler (click to show/hide)

New text:  2717 bytes, 63 lines text (65 lines in-game due to wrapping)

Spoiler (click to show/hide)

Not only does this reduce the necessary screen space to present the same information, this new method actually contains MORE information:  The original text never indicates who fired the arrows.

Not to mention, I find it easier to read.

Now, certainly, this needs more polish, but the key is quite simple:  Standardize EVERYTHING, then make a standard syntax that includes as much relevant information as necessary.
Logged

Areyar

  • Bay Watcher
  • Ecstatic about recieving his own E:4 mug recently
    • View Profile
Re: Combat Reporting -- A Simplification
« Reply #1 on: July 13, 2008, 01:05:21 pm »

In fortress mode, it might be suitable to have the options to:
-display all combat messages
-display combat messages of all friendly units
-display combat messages of friendly units in view (or reasonable distance from virtual cursorlocation)
-display no combat messages (only "unitX is attacked by a enemyY!" and the reverse)

And concise messages might be a good default, with option to toggle full messages.

Alternatively it would also be fun to follow a single combat in detail:
-Full messaging for unit [select unit]
- "     "            "    squad.
Logged
My images bucket for WIPs and such: link

Granite26

  • Bay Watcher
    • View Profile
Re: Combat Reporting -- A Simplification
« Reply #2 on: July 13, 2008, 01:10:31 pm »

Why not a page with a checkbox next to every single message type?

Misses, Hits and no damage, Hits
First attack on target, killed, maimed
Out of Ammo, etc

along with a page that has the full combat log regardless.