The “Square Shooter” Award


Presented by typhonic to:

ObPortum (cauch)
Shooter game.
Two coloured teams interact, and by attacking one of them, you will change your diplomacy level.
When "enemy", the units will have higher probability to target you then other enemy units, and their damage will be proportional to the enemy level.
When "neutral", the units will target you around as often as they do for other units, depending on the diplomacy level.
When "friend", the units will still target you, but way less often.

Fix for one possible bug:
If you have: "TypeError: Cannot cast ufunc add output from dtype('int16') to dtype('uint8') with casting rule 'same_kind'"
it is due to new behavior of latest numpy version (unfortunately, I was not aware of that and I did not checked with the latest numpy version).
You can fix this bug really easily by changing the following lines 371, 372 and 373 in game/op_display.py (in fct medal_paint):
"arr[:,:,0] += l[1][0]-255" becomes "arr[:,:,0] = arr[:,:,0]+l[1][0]-255"
"arr[:,:,1] += l[1][1]-255" becomes "arr[:,:,1] = arr[:,:,1]+l[1][1]-255"
"arr[:,:,2] += l[1][2]-255" becomes "arr[:,:,2] = arr[:,:,2]+l[1][2]-255"

Few tips:
- The diplomacy level for team A will increase if you kill an unit of team B. But it will change more in case of number of units imbalance (if there is 10 units of team A and 1 unit of team B, or if there is 1 unit of team A and 10 units of team B).
- When an unit of team B is killed, the diplomacy level for team B will decrease, independently of the number balance.
- The diplomacy level is always slightly decreasing with time. It will decrease faster and faster as long as you don't hit an opposite team unit. It decreases also faster for the team with the highest diplomacy level.
- The amount of firing will slowly increase with time. The bonuses will also get more rare. Eventually, the game will be harder and harder.
- The achievements and high scores are separated for each difficulty setting.
- There are 2 difficulty settings with more than 2 teams. It is basically "normal" with extra teams. In this case, the diplomacy level increase is divided into the non-hit teams. 

- For color-blind people, you can change the color scheme in the options to "white, blue and red". As far as I know, they are distinguishable for everyone. You can also edit the save.cfg file with the line "col [[255,255,255],[255,0,0],[0,255,0],[0,0,255],[255,255,0],[0,255,255],[255,0,255]]" to choose specific colours.

Strategy:
- One strategy is to maintain a low level of unit all the time.
- One strategy is to target one team, getting a large number imbalance of your ally team. But when the ally becomes too big (increasing the risk you get hit), you can suddenly attack it and reverse the situation (the large imbalance will make you switch side quickly)


The game is developed here: https://gitlab.com/cauch/ObPortum