by rld » Wed Mar 02, 2011 2:21 pm
Something that I have been thinking about for a while now relates to the LOOK command and how it displays object names.
Normally, when you [L]OOK in a game, and you select an object, if there is no long description set, and no other trigger caused by EXAMINE NEAR/FAR, then the game simply displays:
YOU SEE: <object>
in the bottom message area. Which is fine under most circumstances, but there might be some times where you want to hide this information from the player.
For example, let's say you have a FLOOR object (basically an empty square), and then you have other 'floor' objects that have special functions. They might be traps of some kind, or triggers that start off macros or other events. So what do you call them in the game?
If you have a space object that looks like a floor but is actually a trapdoor dropping the player into a pit, you don't want to call it "TRAPDOOR FLOOR", because if the player [L]OOKs at it, they know not to step on that square.
You can just call all these objects "FLOOR", which is the typical approach used, but then you have to keep a list of the object numbers or something so you can tell them apart when you are picking them in the room editor. Which can be annoying.
What I had thought about was having a special code in the object name that told the game, 'don't display the actual name when a player LOOKs at this object - show something else instead.'
For example, you could say that if the object name starts with "#0", the game will call it a "FLOOR" when the player looks at it on the map, regardless of its actual name. So you could have a number of objects named:
#0TRAPDOOR
#0ARROW TRAP
#0TELEPORTER
#0ACTIVATE ALL
and all of these would appear to be identical "FLOOR"s when examined by the player.
There could be other codes, too, so you might have
#0 --> FLOOR
#1 --> WALL
#2 --> GRASS
#3 --> ROAD
or whatever might be useful.
Something that I have been thinking about for a while now relates to the LOOK command and how it displays object names.
Normally, when you [L]OOK in a game, and you select an object, if there is no long description set, and no other trigger caused by EXAMINE NEAR/FAR, then the game simply displays:
YOU SEE: <object>
in the bottom message area. Which is fine under most circumstances, but there might be some times where you want to hide this information from the player.
For example, let's say you have a FLOOR object (basically an empty square), and then you have other 'floor' objects that have special functions. They might be traps of some kind, or triggers that start off macros or other events. So what do you call them in the game?
If you have a space object that looks like a floor but is actually a trapdoor dropping the player into a pit, you don't want to call it "TRAPDOOR FLOOR", because if the player [L]OOKs at it, they know not to step on that square.
You can just call all these objects "FLOOR", which is the typical approach used, but then you have to keep a list of the object numbers or something so you can tell them apart when you are picking them in the room editor. Which can be annoying.
What I had thought about was having a special code in the object name that told the game, 'don't display the actual name when a player LOOKs at this object - show something else instead.'
For example, you could say that if the object name starts with "#0", the game will call it a "FLOOR" when the player looks at it on the map, regardless of its actual name. So you could have a number of objects named:
#0TRAPDOOR
#0ARROW TRAP
#0TELEPORTER
#0ACTIVATE ALL
and all of these would appear to be identical "FLOOR"s when examined by the player.
There could be other codes, too, so you might have
#0 --> FLOOR
#1 --> WALL
#2 --> GRASS
#3 --> ROAD
or whatever might be useful.