Pål Schakonat



Deep down 7

Deep down 7 is a deck building rouge lite made in UNITY
Deep down 7 is a deck-building rouge-lite made in UNITY in 7 week at half time

One Page Design Document

Discription: This is a one page design document. This is one pictuer that your team can point at and discuss if their is something unclear about the design.

Card One Page V2.png

Card design 

Discription: This a rundown of the card design. The card concept where done by one of my class mate Elsa Varlander, here is a link to here art station https://www.artstation.com/thigh-ger



Object shaker

Playtest as quickly as possible with a object shaker
Communication is vital to test your game in a proper way and you want to add it as quickly as possible to start your playtest. I added a singelton that i could shake any object with a singel line of code. With this implemented early i could start give feedback to the player immediately after i implemented a new feature.
Code Sample: Here i did a check if i had energy to cast my card. I could esialy just add two line of code in an already exsisting has card energy check. Almost no work and i used that in final version.
if (!myPlayer.myTryUseCardEnergy(mySelectedCard.myGetCardData().myGetEnergyCost()))
    Shaker.self.myShakeObject(myPlayer.getct, myObjShakeDuration, myObjShakeMagnitud); 
    Shaker.self.myShakeObject(mySelectedCard.gameObject, myObjShakeDuration, myObjShakeMagnitud);
    return false;

Agnostic ability class for enemies and cards

Same ability class for card and Enemies.
I use the same ability class for card effects and Enemies intents. This means that when I add a new ability to a card, I can use the same ability as a enemy intent. For example, I added the abilitiy "draw X cards" for my cards, later on i tryed out a boss that deals alot of damage but also use the ability "Draw X cards" to let the player draw more cards.  
Code Sample: Here you see a agnostic function for abilities used by both enemies and player cards. It takes an ability data where it extract a list of all different abilities and apply those abilities to relevant targets. The ability list can change in size and is don´t need to be rewritten if i add a new ability.

private void myResolveAbilities(AbilityData data)
for (int i = 0; data.myGetAbilityList().Count > i; i++)
BasicAbility ability = data.myGetAbilityList()[i];

            switch (ability.myGetTarget()) {

                case myTargetType.Player:

                case myTargetType.FrontEnemy:

                case myTargetType.RangeSingelEnemy:

                case myTargetType.IsNotUsed:
                    print("no Targets");


Game Systems

Core game loops


Core Game Loops: The purpuse of this 7 weeks trial was to make a white box that would check if it would be fun with slay the spire with an extra game loop on top of it to add more replayability. My inspiration comes from the rouge lite Darkest Dungeon. Darkest dungeon has heroes that gains buffs and nerfs in a dungeon and then you remove some of the nerfs in the city. I wanted to try out the same with the possess system where cards gain buffs and nerfs and you manage the nerfs in the city. The green boxses (see pictuere below) represent the systems that i implemented in this portfolio. My theory is that if these system is fun, then the core part of the game would be fun. My next chapter cover a post mortem on the possess.

Division of the systems

  • Villages​​ - Managning buffs and nerfs, deck building

  • Dungeon - Deck manegment and life/reward magment 

  • Encounters - Set up plays, combos

  • Player/Enemy turn - Defend/attack risk managment

Game Loops

Game systems

Possesses system - post mortem

The purpose of this portfolio-piece was to test out the possess system as a core reward system.

The card that kills an enemy with a possess is upgraded, the upgrade. The possess system is the only system I completely invented myself and with that comes high risk. The possesses change the core reward system from my reference game slay the spire. Slay the spire is rewarding the player with a new card while i will reward the player with upgrading a already exsisting card.   

Possess as a reward

Possess and geting a new card can appear equal strong as a reward on the surface.

Both possesses and ganing a new card effect the strength of the deck the same way. The difference of gaining a new card compare to upgrading an already existing card is way bigger then it first seams. Upgrade a already exsisiting card doesn’t have the same impact as gaining a completely new card, mostly because the player don´t get anything new. 

"Upgrade a already exsisiting card doesn’t have the same impact as gaining a completely new card, mostly because the player don´t get anything new"

Possesses as a reward dosen´t create a synergy narrative

I believe the strong impact of getting a new card is due to the synergy narrative the player form in their head. When the player sees an interesting card they can add to their deck they see possible plays with cards in their deck. For example, when the player sees the card that gives “double block” and have the card “Deal damage equal to your block” in their deck, they immediately gain the feeling of synergy and the player creates a narrative where the player plays both the cards on the same turn. I believe that rewarding every combat with this strong synergy narrative is what put Slay the spire on this written moment nr 2 on meta critic for newly releases to PC.  

"I believe that rewarding every combat with this strong synergy narrative is what put Slay the spire on this written moment at nr 2 on meta critic for newly releases to PC games"



If I would continue making the whole game, I would add, gain a new card as a reward every time you win a combat. I would keep the possess system, I think possess creates a strong long-term meta game, but not the immediate impact that a gaining a new card provide.


I done alot of playtesting with the goal that the player should understand almost the whole game after a few encounters with no tutorials. This meant i had to implement alot of way to communicate the player how the game worked. Here are som high light on how i communicated different mechanics to the player.

Target, it was hard to comunicate that different card whould be targeted by different enemies. 

Show Possessess, one of the tuffest challenge was to show to the player that your card was uppgraded when you killed an enemy