Should a corpse be a thing or a person?

I’m currently working on a murder mystery, and I have a male corpse as a prominent set-piece.

If I make the corpse a thing, it won’t respond to “him” pronouns, and some physical actions will have to be changed.

If I make the corpse a person, the pronouns will work, but many responses won’t make sense (like “The body shows no interest,” or “The body might not like that.”)

What have you found works best, those of you who have bodies in your games?


I don’t think I’ve ever had a corpse in a game, but I’ll venture an opinion anyway, which is that if it’s the body of a specific named person, I’d implement it as a person (and then probably write like four or five custom rules/responses for conversation actions and TAKE BODY or whatever the most likely player actions would be).


I coded the corpse in Fairest as a thing. Nobody complained.


I believe making it a male thing will allow it to be called “him”. The trick is that you have to tell Inform that the corpse is allowed to have that property before you set it, since by default only people can have genders:

The corpse can be female or male. The corpse is male.

I really thought so, too… but it doesn’t work. Adding is not neuter didn’t help. Same results in 10.1 and 9.3/6M62.

At the moment, “it” means the corpse, “him” is unset, “her” is unset and “them” is unset.

I thought this sounded like a tough problem, but looking over the Standard Rules with it in mind, it looked even tougher to come up with good choices for all the responses you might want to modify.

I found it amusing, though, that sort of like we were talking about the versatility of the “You can’t see any such thing” response, one could get away with not changing many of the conversational defaults.

  • answering it that “There is no reply.”
  • telling it about “This provokes no reaction.”
  • asking it about “There is no reply.”

and even

waking: That seems unnecessary.


Would this approach allow a boat or ship to be referred to as a “she”?


One would think so, but apparently not. I made an extension once, way back, which ripped out all the standard pronoun code to allow a thing to accept multiple pronouns at once (like a boat being both “it” and “she”, or a procedurally-described crowd of people being “he”, “she”, and “they”). But I’m quite certain it’s been broken by the many updates to Inform since then.

Ah well. I’ll see about rewriting it one of these days.


Hmm, a weird thing just happened. I experimented with making the corpse scenery, but it was actually understanding him as male, without me giving him a gender. The ‘it’ pronoun didn’t map to him, but ‘him’ did.

I had “understand ‘him’ as the train-corpse” in my code, which made the him pronoun make sense, but why wasn’t ‘it’ working?

After experimentation, I realized that I had describe him as “wearing” various items, and that caused the change. My guess is that putting clothes on him made him alive and he defaulted to male.


This is a novel form of necromancy!


As Naval historian, I fully approve and second your question :slight_smile:

Best regards from Italy,
dott. Piergiorgio.


I made the corpse in my last game a thing. I added a few lines to make clothing work with it and for examining and moving the body. It certainly wasn’t perfect or even fail-proof but then again no one mentioned any problems with that particular part of the game.


You can modify the pronoun machinery if desired. The LanguagePronouns table must be adjusted to allow the PronounNotice() routine to assign the objects to the various built-in pronouns. Also, a slight change to routine GetGNAOfObject() must be implemented to prevent inanimate things from having their genders modified to language defaults for inanimate things:

Gendered Dead
"Crime Scene"

Crime Scene is a room.

A corpse is a kind of thing. A corpse can be female or male. Understand "corpse" as a corpse.

A corpse called the male victim is in Crime Scene.

A female corpse called the female victim is in Crime Scene.

A plural-named corpse called the additional bodies is in Crime Scene.

Include (-

! ==== ==== ==== ==== ==== ==== ==== ==== ==== ====
! Language.i6t: Pronouns
! ==== ==== ==== ==== ==== ==== ==== ==== ==== ====

Array LanguagePronouns table

  ! word        possible GNAs                   connected
  !             to follow:                      to:
  !             a     i
  !             s  p  s  p
  !             mfnmfnmfnmfn

	'it'      $$001000111000                    NULL
	'him'     $$100000100000                    NULL	! MODIFIED
	'her'     $$010000010000                    NULL	! MODIFIED
	'them'    $$000111000111                    NULL;

-) instead of "Pronouns" in "Language.i6t".

Include (-

! ==== ==== ==== ==== ==== ==== ==== ==== ==== ====
! Parser.i6t: Gender
! ==== ==== ==== ==== ==== ==== ==== ==== ==== ====

[ GetGender person;
	if (person hasnt female) rtrue;

[ GetGNAOfObject obj case gender;
	if (obj hasnt animate) case = 6;
	if (obj has male) gender = male;
	if (obj has female) gender = female;
	if (obj has neuter) gender = neuter;
	if (gender == 0 && (~~(obj ofclass (+ corpse +)))) { ! MODIFIED
	    if (case == 0) gender = LanguageAnimateGender;
	    else gender = LanguageInanimateGender;
	if (gender == female)   case = case + 1;
	if (gender == neuter)   case = case + 2;
	if (obj has pluralname) case = case + 3;
	return case;

-) instead of "Gender" in "Parser.i6t".

Test me with "pronouns / x him / x her / x them".

The code is for 6M62. It must be modified slightly for 10.1 compatibility.

Because corpses can be assigned to both “it” and “him”/“her” at the same time, you may want to make an initial assignment of “it” manually (see WWI 17.18 Changing the meaning of pronouns).

If you prefer, some other method can be used to create the special case for corpse pronoun assignment, such as a property or an adjective created via definition. Just modify the special case code in GetGNAOfObject() accordingly.


I started trying to implement this, and taking something worn by a dead person turned out to be a lot harder to arrange than it sounds. (Stop looking at me like that, I meant something like a watch or a locket that could be a Clue.)

Fortunately, I realized that unless someone had some really specific reason for it, there really isn’t much point in the things held by a dead person being “worn” rather than just “carried”.

Actually, but for the pronoun issue, a supporter would be a sensible way to implement a corpse: you’d get remove something from and put something on for free.

Or, I suppose, if all relevant bits of item description / initial appearance / room description checked for handled you could just have all the things “worn/carried” by the corpse simply be in the room and described as on the body and have Taking rules for those things that tested for handled for whatever you wanted to special-case about looting the body.


I’m not sure if it does exactly what you want, but have you tried Gender Options by Nathaniel Nerode?


I realize Brian is not using Hugo, but just because this is my favorite message board topic of 2022 - I think Hugo has code based off the “is living” attribute which has saved me a lot of time. I give every character a hit points attribute and set living to not when 0 or below.


Zed, don’t worry about people looking at you, searching a body for clues, or at least a form of ID, is a very basic CSI investigative procedure (oh, and setting a modern CSI environment around a dead body can be a major puzzle in itself…), and is a staple of IF since the days of Deadline.

OTOH, “two dead young lovers, was actually a suicide or not ?” is a very interesting plot…

Best regards from Italy,
dott. Piergiorgio.

1 Like