I wonder if it's possible to calculate the balanced cost of parameters' increase for the card game.
Each player draw 7 cards at the beginning of the game and then one card each turn (player turn, opponent turn, player turn etc.). If he has more then 8 cards, he discard chosen cards to have 8 of them at hand.
Player can play
0-8 cards from hand each turn. Each card has four integer values:
After playing cards player can attack enemies' cards: he can assign any of his card to any of enemy's card (it's possible to assign more then one card to the same enemy as well as leave some cards unassigned).
The attack formula:
for each attacked enemy card (defender): for each attacking card (attacker): defender.defense = defender.defense - attacker.attack if(defender.defense < 0) then defender.life = defender.life - 1 if defender.life <= 0 then defender DIES (is removed from the game) else defender cont-attack first of attackers (the same way, defense - attack, life check, but without contra-attack)
At the end of the turn, cards
defense is restored (the
life is not).
Some cards will also generate the mana each turn, for which player can pay the cards' cost. Player can generate no more then
X mana each turn.
The sought cards types sequence:
The base card is
1/1/1/1. The next card type should be
a1/d1/l1/2 and then
a3/d3/l3/4 etc. The cost of mana-generation feature of cards is not important now (do not take it into account in the cost problem).
a/d/l parameters should change as a function of cost to keep the game balanced?
The balanced game means that higher cost card has similar impact on the game to more lower cost cards of the same summed cost. I know that at some point of the game player only draw one card per turn and even if
1/1/1/1 will be more effective then some
?/?/?/5 he will be losing with
?/?/?/5 because he won't use full mana (and his opponent will do so).
I guess there is more then one option and
a, d and
l are not equally useful. Would that function be an:
function(cost) = (a,d,l)
or rather it depends on max mana generation per turn too:
function(cost, X) = (a,d,l)
From some test games I know that the simplest solution does not work (
#1: the card's effectiveness increases too dramatically with cost,
#2: the opposite situation + card with cost of
5 is no more effective then card with the cost of
function(cost) = (cost, cost, cost) function(cost) = (cost, 1, 1)
I know that the problem is complicated, I appreciate two approaches:
- determining how given factor (e.g.
X) influence the function,
- finding the solution for smaller problem (e.g. without the maximum mana per turn or with fixed
life = 1value),
- pointing the ways of finding the solution (function's formula).