the prototype pattern knight barracks build_unit("knight" archer barracks build_unit("archer" print("[knight {}format(knight )print("[archer {}format(archer )in the results that followyou will see that the code generates level knight and level archerand their individual parameters match what you would expect them to bewithout the need for the barracks class to keep track of every level of every unit and the relevant parameters associated with them [knight typeknight life speed attack power attack range weaponshort sword [archer typearcher life speed attack power attack range weaponlong bow like this implementation little more than the previous oneas we have reduced the methods needed and isolated the unit-level parameters inside the unit classwhere it makes more sense to have them in modern rts gamesbalance is big issue--one of the main challenges facing game designers the idea behind game balance is that sometimes users find way to exploit specific unit' characteristics in such way that it overpowers every other strategy or situation in the game even though that sounds like exactly the type of strategy you would want to findthis is actually guarantee that players will lose interest in your game alternativelysome characters might suffer from weakness that makes it practically useless for the game in both these casesthe unit in question (or the game as wholeis said to be imbalanced game designer wants to make alterations to the parameters of each unit (like attack powerin order to address these imbalances