Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am currently polishing a digital CCG where people can play against friend and random opponents in a classical Magic the Gathering-like duel CCG.

I plan to award the players with 20 ingame currency units (lets call them gold) for each hour they are playing, 50 for each day they are playing and X for each victory.

Now, the X is what I am trying to calculate here, since I would prefer keeping the currency to a certain value, but also with to entice the players to battle.

I could go with a solid figure, say 25, for beating up an opponent. But that would result in experienced players only beating up newly started players, making the experience lame for both.

I could also make a laddered tier, where you start at level 1, and raise in level as you defeat your opponents, where winning over a player awards you his level x 2 in gold.

Which would you prefer if you were playing a game like this. There is no gold-based scoreboard, but the gold is used to purchase new cards along the way.

share|improve this question
up vote 3 down vote accepted

Defining X is a bit difficult since you didn't say how pricey the cards are you can buy. The gain has to be balanced with the expenses!

In my opinion are the daily and hourly bonuses too unbalanced and I think you should get rid of at least one of them. I think it would be better to be payed daily.

Try not making the battle reward based on levels, instead I would use a win/lose statistic and calculate the payment with that. Tell the player before entering a battle the amount of gold he would get so he can choose if he wants to play safe or play with profit in mind.

But that option opens another problem. How would the other player be able to choose his opponent? Maybe only random fights where the game decides who you play with. Maybe you give the player a slider with how much gold he wants to earn and calculate the opponent that way?

share|improve this answer

As far as the battles go, you could implement a wagering system.

Give each player the ability to wager what they would like to win. The odds would be determined by the player's rating.

Many online games use ELO ratings similar to Chess, or you could use Microsoft's Truskill rating formula.

Once you have a ratings system, you can determine what the odds are using each player's rating, which determines what the player needs to wager to win their desired payout amount.

share|improve this answer

I think that you should implement some sort of Elo or Elo-like rating system, where the level of a player is determined not by the number of wins, but also by the levels of the players that he is winning against. If you had levels based on the number of defeated opponents, it would allow players to grind experience by defeating a large number of weaker players. The rewards for the match will be based on the rating of the opponent compared to the rating of the player.

One advantage of the Elo system is that given the results of each match, it can estimate the strength of a player's deck, which is then used to compute the rewards.

If a player's odds of winning the match are 2:1, then he should win half as much as his opponent.

Most of the time, players do not like to see their ratings drop. In addition to the rating of a player, you could also add an experience score which goes up when a match is won but never goes down. This experience score would not be used in computing the rewards for a match.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.