Have you noticed how, in video games, especially the platform kind,
enemies don't kill each other? By that I don't mean that they somehow
are so clever that they manage to target the player, and avoid the
other enemies. No, if they collide, they just bounce back, and if
they shoot or throw any flames, only the player gets hurt by it if
hit. If any other enemies get in the way, the bullet or flames just
pass right through them.
Static HP-tapping obstacles such as spikes or pools of acid act the
same way. The player might very well die instantly at the touch of such
objects, but I have never in my entire carreer as a console player
seen a monster die or even take damage after falling off an edge and
onto a floor of spikes.
I can think of at least two plausible explanations for this behaviour:
- Calculating damage, changing sprites to reflect damage, removing
sprites etc. is more CPU- and memory-intensive than mere collision
detection. This is not so much an issue with today's powerful systems,
but game genre conventions tend to linger for a long time, and the
platform genre was started on very slow, weak computers.
- A naïve implementation of friendly fire among enemies could
easily cause most of the enemies to kill each other off, thereby making
levels much easier to complete than intended. Programmers would have
to extend the enemies' AI to keep them from killing each other,
thereby putting a lot of efforth into realism, with little payoff in
improved gameplay.
A limited kind of friendly fire does however exist in the game Chip 'n
Dale: Rescue Rangers for the NES. Amusingly enough, this only happens
between players. C&D RR has a co-operative two-player mode, and if an
object thrown by one squirrel hits the other squirrel, the other
squirrel will see stars and be immobilized for a few seconds. No
health points are taken, though.