the "choice" system has been a huge flaw. it's nothing more than a way to increase gameplay from a small campaign. as the other guy said, your choices should go from "walk grandma across the street" to "drown a bag of kittens". it should work to have more grey areas like walking dead, and cater the storyline to your choices -- and not restrict weapons because you decided to stray from a decision you made in the beginning in the game.
That's silly you say the choice system in this game is to merely increase gameplay when that's exactly what they do in other games. When you play Mass Effect, doesn't curiosity strike you when you try to figure out what would've happened had you chosen this instead of that? In those other games, the choices revolve around the story and that's that. In this game, the choices make sense with the character you're playing as. It's seriously a stupid thing in games where you play as a character saying things in cutscenes that contradict gameplay AKA drake laughing and being a everyday man in cutscenes yet in gameplay you're murdering hundreds of soldiers.
Same in Heavy Rain or Walking Dead. Only difference is this game is actually fun to play to boot so instead of bogging you down with a long ass 30 hour quest, they give you two sides with a lot of fun gameplay so you can see them both.
You're comparing this to the walking dead but you're forgetting the walking dead literally has no real gameplay in it.
Also how are you locked out of powers?? You acquire the main powers and their upgrades for the karma level you are at. You keep your karma level up and you are rewarded with moves to unlock for specific powers. Doing this makes you play Hero role much more carefully since you want to avoid killing people and stuff also it works in game as killing someone resets your karma bomb.
You play as evil which has different story arcs since you're doing evil shyt and you get the moves that are tied to playing as an evil guy to go along with the gameplay which is now no holds barred. I don't see the issue here
.