How to "fix" the Arena from cheaters

I was brainstorming a bit about this for a while and even though Rovio have made improvements to clean up the arena there are still some cheaters pestering the rest of the honest players of Angry Birds Epic. Make note that I have no insight in how Rovio have programmed the arena as of today so this is just some ideas I have formed by myself as an outsider. Also the numbers used in the examples are purely made up and does not reflect the numbers in the actual game. First: Fix it so even though the daily objectives gets reset you can not get any more points from them (might be obsolete now): 1) In the database for Epic create a table (or add fields in an already existing table) for the daily objectives (only the row for a single player is shown in the example):
Daily_Objectives

Player_ID  |  1000  |  1500  |  3000  |    Date
---------------------------------------------------
1012578    |    N   |    N   |    N   | 
When the player fulfills an objective a function in the database makes note of that and changes the fields accordingly:
Daily_Objectives

Player_ID  |  1000  |  1500  |  3000  |    Date
---------------------------------------------------
1012578    |    N   |    J   |    N   | 2015-02-25
In the example above the player have fulfilled the objective for 1500 points but not the others. Also a date have been added for when that objective was fulfilled. This way even if the objectives gets reset the database is keeping track if they were already fulfilled on the current day. When the global reset occurs the fields gets updated to the first state described above. Second: Stop players from manipulating the score: Two tables in the database are created. One for the the reward wheel:
Reward_Wheel

Position  |  Base_Value  |  Type
---------------------------------------
 1        |    10        |  Points
 2        |    15        |  Snoutlings
 3        |    25        |  Pints 
 
and so on for all 8 positions.
That table have base values for all the positions on the wheel and what type of reward the position have. The base values are the values that are shown on the wheel in Stone League. The second table keeps track of the value for each League:
League_Values

League  |  Value
-------------------
 1      |  1
 2      |  1.25
 3      |  1.5

for all Leagues (1 is Stone, 2 is Wood and so on)
When a spin of the wheel occurs and the player are happy with the rewards and exits the battle the position of the reward(s) are sent to the database that gets the value for each position and the type of the reward from table Reward_Wheel. Then it multiplies the reward with the number from table League_Values depending on what League the player are in. Finally it adds the rewards to the players totals (points and/or snoutlings). When the players comes back to the main arena screen the new totals are sent from the database to the game. Make note that no actual values from the players totals are sent TO the database, all values are gotten FROM the database. Question: What does this actually change? Answer: It makes it much harder for players to manipulate the database by changing the data created within the game and its saves. Question: Why get the point values from a table in the database, can you not just send the values from the game to the database? Answer: By sending the values directly to the database they can be manipulated. For example; by normal means you are only suppose to gain max 100 points by the wheel in silver league but that could be manipulated to be 500, 1000 or even a million. If you send the wheel position(s) instead those values can as best be manipulated to have the max value of that wheel (100). Question: Why make the calculation in the database, why not make them in the game and then send the total to the database? Answer: This is actually what is happening today and what cheaters are abusing. By sending the already calculated total to the database they are manipulating that so the total is much higher than what has actually been earned by playing the arena. If the calculations are made in the database instead the totals are more accurate and harder to manipulate. Question: This is all stupid and have too much text so I didn't read it. Answer: Well that is not a question but we are all entitled to our own opinions. I was just brainstorming a bit and thought I should share and maybe get some feedback if my thinking is all wrong or if my ideas can be improved in some way(s). So what do you think?
Exit mobile version