Morality Bars Are Too Simple

Posted: May 19, 2011 in Game Design

Games that offer the player moral choices often have very simplistic morality bars. A one dimensional scale to judge the combined outcome of all your choices in the game. Everyone in the game will act according to your position on the morality scale. Good NPCs will respond favorably to higher morality, and respond unfavorably to low morality.  Evil characters will respond the opposite.

Of course this is too simplistic, in real life you would not be able to clearly divide everyone into 2 groups. People will have different ideas and priorities on what actions are good and evil. Fallout: New Vegas has a slightly more complicated system. Although it has a karma meter, that is basically a good/evil bar, it has very little affect on the way people will react.

Far more important are faction reputation. Doing actions will improve or lower your standing with specific factions. This makes sense because we can expect members of the faction to have very similar values, and will judge your actions with the same sense of morality. And obviously if you go around killing members of the faction, everyone in the faction will be upset.

As good as this system is, I might offer an alternative way of judging morality in a game. Not that its necessarily better than the way New Vegas does it, but its an alternative to consider. Divide actions into different moral categories, and have a meter to measure them individually. For example stealing would be action that affects the greed/generosity meter, which moves it farther in the greed direction. While giving items to poor can move you back to generosity end. Killing enemies vs sparing them can be a Wrath/Mercy meter. Running away vs facing tough enemies can be a Bravery/Cowardice meter. I’m sure we can think of many more categories to divide actions into.

The important thing is that each NPC will have a different set of values it considers important. Some might not respect you if you are in the cowardice side of the cowardice/bravery meter. Some NPCs might attack you if you are notorious theif  far on the greed side of the meter, and so on. This might be unnecessarily complex, but then again it might be a completely awesome system for handling morale choices. Please leave comments if you have any thoughts on this or other morality systems in games.

  1. Fang says:

    This is a very complicated system… but it could work very well.

    Imagine if you are on the “Greed” side of the “Greed/Generosity”. During the main quest you have to sneak into a wealthy estate and steal something. Assuming that the owner knows you are coming the game could check on your “Greed/Generosity” meter and see you are on the “Greed” side thus making more guards be there thus making it harder for you to complete a objective. On the opposite side there would be less guards thus making it easier to complete.

    Etc, Etc.

    Complicated system? Yes. Good system? Fuck yes.

    • maxff says:

      I think a game with this sort of system would be good, if enemies who are almost defeated will have a chance to surrender, giving you a chance to kill or spare. If you spare them a lot and get on the merciful side of the meter, people will be more likely to surrender giving you an easier time, if you kill them a lot, people will not even bother surrendering any more, giving you tougher fights.

      Since video games also love having sex in them, a lust/chastity meter could be involved to judge how often the player visits brothels or strip clubs or whatever the game may have. If they rank high on the lust side, enemies might try certain tactics to “distract” the player.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s