MArcomage

Free multiplayer on-line fantasy card game

Please log in

jbryant3 on 13:08, 16. Mar, 2010
Not sure if this is implementable or already discussed, but it would be interesting to see how many people play certain cards. This should give us an idea of which cards are "powerful" and those that are underused. There could be 2 separate statistics: 1) # players using that card in any deck / total active players, 2) average # decks the card is in per player.
Mojko on 13:26, 16. Mar, 2010
This is already planned in the statistics module, but the implementation is not trivial. The main problem is the data structure for decks. Instead of atomic columns the deck is stored as a serialized object string. In this form it is difficult to get such statistics.
jbryant3 on 13:31, 16. Mar, 2010
Can it not be done somehow utilizing a mass export feature similar to the deck exportation? (I know very little about programming :)).
Mojko on 13:35, 16. Mar, 2010
No, I can think of two options:

1 - Redesign the data model to use atomic columns only

2 - Use current data model and tolerate low performance when calculating statistics
jbryant3 on 13:39, 16. Mar, 2010
Is this the only drawback to using the current format? If so, I don't think totaling redoing the data format would be worth it. However, if having "atomic columns" offers additional benefits, it might be worth it.
Mojko on 13:46, 16. Mar, 2010
Using atomic columns is the way it should be. Non-atomic columns violates database normal forms, but are convenient in some situations. A while ago I changed some Game data which was stored in non-atomic column into multiple atomic columns. That is why they are convenient - they contains data that would be normally stored in many columns, currently deck data are stored in a single non-atomic column.

I plan to get rid of all non-atomic columns, but it probably won't happen too soon.
Lord Ornlu on 17:59, 16. Mar, 2010
here's an idea, the system could count the cards of the player's deck, the moment a game starts (since a "real" deck is only defined by the system the moment 2 players start a match, if I remember correctly Mojko's remark in a previous topic). Then those counts would be added to the overall statistics
Mojko on 07:22, 17. Mar, 2010
I wanted to calculate statistics in real time. To in any moment a player could get the up-to-date statistics. If I wanted to calculate statistics only in regular intervals (once per month for example) I wouldn't have to modify current data model. I could tolerate low performance on current model once per month. I think having up-to-date statistics is a better thing to have.
Lord Ornlu on 12:08, 17. Mar, 2010
yes but an up-to-date statistics for cards (i.e. whenever a card is played) will be quite misleading, as the matter of which cards are played is greatly decided by their rarity. Therefore more common cards will have statistical values, while rares will be deminished, unless an algorithm can be found that eliminates rarity and chance during statistical calculations (e.g. you could subtract the 60% chance of commons appearing from their overall played times)
FilipeSilva on 16:22, 17. Mar, 2010
Lord Ornlu: A way to make statistics "normalized" is to make a percentage against all the cards of the same rarity
(calculate the percentage using "for total of X common cards played Y times was card 'A'" Y/X )
Progressor on 21:52, 17. Mar, 2010
Real time statistics have less meaning. You want to check over a certain period of time to ensure you're not dealing with the newness of the card as the reason it's chosen so much / few. You want to see if it stays in there decks afterwards.

(Well, not for balancing purposes anyway.)
Fithz Hood on 10:07, 15. Sep, 2010
I would like to have a statistic also for the number of cards we have, divided by rarity and keyword.
Something like: (random numbers, not the real ones)

Cards:
common: 50
uncommon: 30
rare: 20
total: 100

Holy cards:
common: 6
uncommon: 7
rare: 3
total: 16

Non-Holy support cards for Holy:
common: 2
uncommon: 1
rare: 0
total: 3

...

It can be another tool to balance the game, and a good way to choose concepts to propose/implement.

edit: I thought I've post in the development section...
Mojko on 12:34, 15. Sep, 2010
This statistic can be partially extracted from cards section (choose filters and then count number of pages - we have 20 cards per page). Perhaps it would be good idea to add the total number of currently selected cards to cards section.
dimitris on 07:23, 16. Sep, 2010
Maybe it would be useful, if there was an additional filter in the statistics section, based on keyword. There would be another select box with all the keywords as it is on cards section. So, we could see the most played Aqua cards etc. The statistics doesn't have to be recalculated, it's just an additional filter. I'm not sure if this has some real use though...

Fithz Hood on 23:00, 10. Jul, 2012
Fithz wrote:
I would like to have a statistic also for the number of cards we have, divided by rarity and keyword.
Something like: (random numbers, not the real ones)

Cards:
common: 50
uncommon: 30
rare: 20
total: 100

Holy cards:
common: 6
uncommon: 7
rare: 3
total: 16

Non-Holy support cards for Holy:
common: 2
uncommon: 1
rare: 0
total: 3

...

It can be another tool to balance the game, and a good way to choose concepts to propose/implement.

edit: I thought I've post in the development section...


I had a cool idea about statics, but it seems someone already proposed it. And it was me..., totally forgot about this.
Anyway i want to rebump the suggestion proposing a table made like this:




..........|commons|uncommons|rares
-----------------------------------
Alliance..|..15...|....12...|..3
-----------------------------------
Aqua......|..16...|....7....|..4
-----------------------------------
Aria......|...7...|....5....|..6
-----------------------------------


isn't it nice?
Edit: no it's not, I can't make nice coulumns with this format. well, you got the picture.

P.s.: I used random numbers again, I'm too lazy to check the real ones.
but there are really only 3 rare alliance.