Shield Block Preview

September 24th, 2011 at 11:02 am

In this week’s design diary, Skaff talked about reactive cards and how we revised our system for blocks and armor cards. Here’s the first card preview of a reactive card.

This is Shield Block – it’s a pretty basic but useful blocking card. How does it work?

You can tell that it’s a reactive card rather than a “for play” card by the grey text box (instead of the usual beige box in the cards you’ve seen to date). This means that you can’t actively play the card – instead you wait for it to be “triggered” by your opponent playing something. In this case, because it’s a block card (which you can tell by the shield icon in the lower left corner), it will be triggered by any card your opponent plays targeting you.

The little die icon next to the shield shows you what you have to roll in order to successfully block. In this case, it’s a 3 or greater, so you’ll block two thirds of the time – pretty good odds.

Reading the text in the rule box, you can see that this card will block any kind of attack, but that if you block a melee attack, not only do you cancel that attack, but you also get to draw a card. Nice!

Of course, this being a computer game, not a real card game, the computer will do all the dice rolling for you. Although I coded the dice rolling code myself, there’s been more than one occasion that I’ve gone back and checked the code after a string of particularly bad rolls…

So, Shield Block – a card that sits in your hand protecting you against most things your opponent might throw at you. If they’re smart and they know you’ve got it, they’ll try to tease it out with their weaker cards. But if they don’t know it’s there, or they aren’t thinking straight, they might let fly with a big melee attack and then you’ll smile as they lose their card and you get to draw one in exchange. Good times.

I hope you enjoyed this first look at our reactive cards. This is a basic foundation from which we’ll explore some much more complex and interesting variants.

9 Responses to “Shield Block Preview”

  1. Interesting though as a partially color blind player, I’m concerned that beige and grey won’t really look too distinctive.

  2. so, once this card is triggered it’s put back into the character’s deck? if so, how many block cards are there per average shield item card set?

    it seems like a powerful card but if it is completely automatic and you can’t choose to avoid using it, then it can fail you when you need it most… unless you somehow decide to use a “drop guard” card or something.

    still, it seems like a good approach after the previous post on reactive cards and game flow.

    keep up the good work

  3. @sagittary The colour of the text box is redundant – you should be able to use the icons to determine the card’s functions. I do try to keep colour blindness issues in the back of my mind when laying this stuff out but it is easy to miss something.

  4. @Nicolas: this particular card is discarded once it is used. That’s not to say that there aren’t other reactive cards that do go back into your hand after use.

  5. Interesting to see you refer to an opponent being “smart” or not…we’re still talking about a single player experience, right? Does that point to variable AI?

  6. Yes, monster AIs can be tuned to play differently from each other. But there will be competitive multi-player too.

  7. if you’re having a problem with the rolls, increase the sample pool size.

    so instead of just a single

    SampleRoll = number_range(1,6);

    increase the sample size

    SampleRoll1 = number_range(1,6);
    SampleRoll2 = number_range(1,6);
    SampleRoll3 = number_range(1,6);
    SampleRollTrue = SampleRoll1 + SampleRoll2 + SampleRoll3 /= 3;

    then just return it as either a whole interger or round it base on the tenth, doesn’t really matter; but from my class balancing experience, this seems to add a little more variation for those stubborn consistent rolls.

  8. edit for above:

    SampleRollTrue = (SampleRoll1 + SampleRoll2 + SampleRoll3) /= 3;


    you could also randomize the sample so to add even more variation too with a loop variable of 1-6 (or more for bigger die).

    SampleNum = number_range(1,6);

    for (int x=SampleNum; x>0; x–)
    { SampleRoll1 = number_range(1,6);

  9. edit for above again lol

    have NumCount defined as the maximum bit space allowed so it’ll never overflow and bleed into other files.

Leave a Reply