2
\$\begingroup\$

So I've come to design my game which players will be having a unique set of skill or ability to come with. I can store skill name, mana cost, cooldown, etc in database which each skill have in common, but as we gamer know, a skill is unique not just by its attributes, like the sequence of movement, the object will be instantiate in the world, it's just that very unique.

So the question is, where do I put this "unique", the skill sequences? Do I make skill1.cs, skill2.sc for every single skill? xml for sequence then make script to read and define myXml?

For example, in a game, the effect of each card is very unique for example card1 allow player to deal damage and draw card, card2 just deal damage, card3 deal damage to enemy and then draw a card, and so-on, where and how they store this sequences or method of each card effect?

\$\endgroup\$

1 Answer 1

2
\$\begingroup\$

Based on your description, I would make each card effect verb a class & then use composition to combine them into cards as needed. E.G. the draw cards action would be an effect class, its parameters might be # of cards, source drawn from & type of draw. Damage player might be another effect class & its parameters might be amount & target(s). By varying the parameters you could combine those two effect classes to make the following cards:

  • draw 2 card from discard pile
  • draw 1 card from another player
  • deal 2 damage to another player
  • take 3 and draw 1 random card from each player

Using this model, the card class is basically a collection of effects (plus anything else relevant to your game, such as art, flavor text, etc).

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .