How does a Morality System work?

I heard about some Morality Systems like in Mass Effect, Shadow the Hedgehog and 3 of the 4 now 4 of the 5 Oddworld games, where your actions effect the game’s story, except Mass Effect only had the Morality System in 3 endings which was utterly pointless considering EA Rushing the Game, Shadow the Hedgehog has you complete missions to go through branching paths, and Oddworld’s Morality System determines how many Mudokons you saved, and it only effects your ending.

However Fates could’ve had a Morality System but instead of that they forced you to pick a side with no going back, and your choices aside from the Path you choose at the beginning, effect nothing while in Three Houses you have to choose a House and 1 of the 3 Houses has 2 Paths while the others have 1 because of Edelgard’s distrust of the Seiros Church.

However there was no Morality System, like if you choose to go down 1 path it effects the story in some way where you can be on your best behavior and it will be beneficial to the player, or you can unleash your Dark Side and become evil, that’s supposed to be the point of a Morality System, does a Morality System in a GBA Rom Hack have you choose which goal to go through, like you go 1 pathway if you kill all enemies, or go to another if you seize a certain point? Or do you have to go down 1 single path?

I plan to have a Morality System rather than evaluate what to do before a certain chapter to implement multiple endings so I’m going to make the 4 Units mandatory units and them dying meaning Game Over.

edit: The Morality System is that you get worse rewards at the beginning starting at Chapter 10, if you decide to fight the Demons, and the rewards get better if you continue to do so, but if you decide to fight the people who are trying to kill the protagonists, you get better rewards at the beginning, but the Mobs and Soldiers will become stronger, and the ending you get when you beat 1 of the 2 Final Bosses shall decide the main protagonist’s fate.


Eventing is to the point where you can make branching paths based on any variable you want. Go nuts

1 Like

Morality systems are very hard to pull off properly.
Ideally you don’t want to singalize clearly “you did bad/good” to player but you also don’t want for the player to feel like they had little input.

Eventing with 2-3 branches all the time just increases your workload significantly. I don’t recommend it.

Avenir embraces this sort of branching and includes morality in its choices. If you want an example of this done well in a hack, look no further than Avenir.


To reduce your workload, I would recommend that - instead of different paths - you just give the player different endings.

You killed a lot of units? Genocide Ending.
You avoided killing at all costs? Pacifist Ending.
You recruited every enemy you could? Diplomat Ending.
You killed every recruitable enemy? Executioner Ending.
And the list goes on…

There’s a game called “Do It For Me” that does something like that, I would recommend giving it a look - it’s free and you can find a ton of videos about it on You Tube.

If you still want to go with the multiple paths idea, make yourself a favor and instead of trying to make completely different chapters and maps, just use the same content for every path, but add a few things to differentiate them. (Example: If you’re Evil the reinforcements that appear on Turn 6 will be Red Units, if you’re Good they appear as Green Units instead.; If you’re Evil you get a Devil Axe by visiting the village, if you’re Good you get a Light Brand instead.)

Ultimately the morality system is a gameplay system, the reward for making evil choices should be instant gameplay rewards and good choices “stonks” for future rewards. Playing for a nebulous ending that will probably have limited buildup until the route split or the final chapter is cheap and meaningless given the player’s choices have no feedback up to that point.


Well, you’re not wrong. Do It For Me is a short game, so maybe it works for it because it’s their main gimmick and replay value. That said, my last paragraph still stands.