top of page

Card Garden - Sprint 4

My Completed Tasks:

​

  • As a player, I would like to be able to play a card to build my Blacksmith Building.

​

I started off this sprint with the very quick and straightforward task of adding a card for a new building into the game. This Blacksmith building is the first 'Utility' type card, but setting up the card stats was the same as usual.

Blacksmith Cards.png

Next up, I added a lightning bolt particle effect to the DeusExMachina spell card.

​

  • As a player, I would like to hit all enemies with lightning when I cast my Deus Ex Machina Spell so that I can feel all-powerful.​

To get the lightning to hit the enemies one by one starting from the enemy closest to the lair, I tweaked the activation of the spell so that it worked inside a coroutine and has a slight delay between hitting each enemy. I also had to reverse the array of enemies, like so:

        EnemyUnitAI[ ] enemies = FindObjectsOfType<EnemyUnitAI>( );
        System.Array.Reverse(enemies);

​

Following completion of this task, I was asked to modify the structure of the Card scriptable object once again:

​

  • As a player, I would like cards, and any units/buildings/spell effects summoned by them, to store an element so that I can feel like I have lots of options in the types of cards I can play.

​​

  • As a designer, I would like all of my cards to have a publicly modifiable growth value, base value, and progression type.

Season Type.PNG
Card Improved Stats.PNG

 

Every card now stores a 'Season' scriptable object which will be used to calculate stat modifiers between towers, minions, and enemies that attack each other.

​

​

​

​

​

I was happy to remove the publicly editable float array which had contained all of the card's stats. Instead, we are now using a Base value, a Growth Value, and a Progression Type enum which are used to calculate the values of the stats across the levels of a card. Now, designers can edit just three variables to set up the stat block for the entire array of values for any number of levels the card could have.

I did quickly realize after setting up this new stat system that there were some issues that needed to be immediately addressed. This included spells not using the calculated stats, and the fact that the attack cooldown time is increasing instead of decreasing as the card levels up. I brought these issues to the attention of the Game Designer and Producer and got permission to work on these new tasks.

​

  • As a designer, I would like spells to use the new stat system so that we can present a consistent set of values to our player.

​

  • As a player, I would like attack rate modifiers to safely reduce the attack rate so that I can feel rewarded with my investments into my towers and minions.

Spell Stats.PNG
Attack Rate Minimum.PNG

Having the spell cards use the new stat system was a relatively easy fix, although I did run into an issue with Tile Effect spells requiring a new 'Duration' stat, which I added to the ever-growing list of stat arrays. To get the attack rate timing to decrease (but never go below zero) I added a different calculation function specifically for attack rate stats, and a new 'minAttackRate' variable which can be set by the designer to ensure the Tower or Minion never fires at a rate faster than the specified amount.

​

Finally I was asked to implement a 'Reset' for the deck so that the level could restart or a new level could be loaded and the player's hand and discard would go back into the deck.

​

  • As a player, I would like to have a new hand after every Encounter so that I can strategize in new ways every time.

Reset Deck.PNG

It took only a couple of minutes to write the first version of this function and it worked to reset the cards, but when playing through the game a second time the cards were scaled by strange amounts and didn't look right. To fix this, I added a new 'ResetTransform( )' function to the CardSelector script and called that on each card when adding them back into the deck. This effectively resets the scaling of any cards that were previously selected or highlighted.

For this sprint I was also asked to re-do the level up system to work with the Seasons instead of the elemental levels system that I had made previously. Due to time constraints, I did not finish this task and will be working on it right away in Sprint 5, along with making the calculated stats of a Card visible (but not editable) in the inspector.

  • As a player, I would like seasonal level ups to all game units so that leveling up is consistent all across the board.

​​

  • As a designer, I would like cards to show me read-only values of the stats available to me so that I can see what a card's stat is at any level.

​

My other tasks following those will be:

  • As a player, I would like to be able to earn new cards as I progress through waves of enemies so that I can feel rewarded as I go.

​

  • As a level designer, I would like a stable build of the game so that I can work in it and make progress off the Collab.

​

  • As a player, I would like to see art for my Standard Set cards implemented in the game so that I may feel like I am playing a more completed game.

​

  • As a player, I would like to be able to play a card to cast a Bee Spell.

​

  • As a player, I would like to be able to play a card to build my Apiary Building in the game.

​

  • As a player, I would like to be able to play a card to build my Honey Pot building.

​

  • As a player, I would like to be able to play a card to deploy my Queen Bee Minion.

​

  • As a player, I would like to be able to play a card to cast an Ice Spell.

​

  • As a player, I would like to be able to play a card to build my Fort Knots building.

​

  • As a designer, I would like the player to only be able to have one Queen Bee deployed at one time so that they can invest in the power of the Queen Bee.

​

  • As a player, I would like to be able to play a card to deploy my Winter Snowminion.

​​

  • As a player, I would like to be able to play a card to build my Attack Amphibian Tower.

Most of Sprint 5 looks like it'll be implementing the Seasonal stat modifier system and a bunch of new cards which will utilize it. Looking forward to it as always!

bottom of page