Clutchtime: Basketball Deckbuilder
Back in December 2022. I played a lot of Slay the Spire and Monster Train and fell in love with roguelike deckbuilders. Roguelikes are one of my favorite genres to play and make, and Son of a Witch is my most successful and awarded game so far. I have beat Spelunky, The Binding of Isaac, Dead Cells, Downwell, Rampage Knights, etc.
However, playing action games requires a lot of energy and focus and I have to plan for time when I would play it. On the other hand, I can play a turn based game at any time, even when I'm just exhausted for anything else in the evenings. I also like to play turn based puzzle games at that time, like Baba is You, Fish Fillets 2, Blue Prince, but sometimes the puzzles require too much brain power.
Roguelike Deckbuilders are the perfect middle ground. You need to think and have good strategy, but it isn't as demanding as a hard puzzle game. You also have all run-based features like random drops and fun card/item/relic synergies.
Because I love playing these games and understand why it's fun, I wanted to make a game in the genre. I was thinking a lot about a possible theme and started to design the game around a concept where evertyhing's a card. So, you would have cards for attacks and defenses, but even the player character, minions and enemies would be cards. You could have various effects that affect cards, so you could duplicate minions or create copies of enemies to fight on your side, etc.
Cursed Blood - the vampire deckbuilder ideaRegarding the story and the art, I wanted to create a vampire themed game where you are a vampire awaken from a century long slumber by wandering humans accidentaly coming into your castle. I started to draw art and think of game mechanics...
Stacking mechanics
One of the things I hate in Slay the Spire is the variability of cards and the luck factor, especially in the early game. You might just draw all defense cards when the enemy isn't even attacking, and you might draw all attacks when the opponent is attacking as well and you need to shield. To solve this, I created a concept of stacking. When you played a defense, it wouldn't add to a shield that is lost at the end of turn, but the card itself would be placed down and the shielding it provides would be spent on enemy's next attack. This cannot get abused to build infinite block, because the card itself stays stacked and won't be back into the draw pile until the block is used up.
Lua scripting and modding support
One of the most demanded features by players of my previous games was the ability to mod the game. I had some basic modding, but the main limitation was that game code was C++ and it required compilation for any changes.
I wrote a new version of my game engine, with support for Lua scripting. As I used Lua more and more I started to like it a lot, and I even rewrote the menu system, controller support and other parts of the game engine in Lua. The main render loop and animation logic is still in C++ for performance, but everything else can be changed by players now. This gives us great flexibility. You can basically use the engine to write your own game using Lua scripting.
Basketball
Fast forward to December 2023. At this point, I had the new game engine up and the base deckbuilding game running: player and opponent deck, draw and discard pile handling, stacking, removing and destroying cards, and basic card movement animations. I started to consider various game mechanics and was so deep into it that I started to see deckbuilding everywhere in real life.
The NBA and Euroleague seasons where in full swing at the time and one of the ideas that crossed my mind was how Shots could be attacks and Blocks could be shields, and Rebounds and Steals can give you energy and Passes could make Shots cost less to play. It just clicked.
But, I wasn't sure there was enough depth in the game of basketball to make a roguelike with deep game mechanics. So, I started to write down everything I know about the game. I have been watching basketball my whole life. I even played it in a local league for about 6 months, and I even tried to be a referee for one season, but that's a story for another time.
By the end of the day, I had around 80 possible cards with main mechanics being: stamina, scoring, noise and clock management. Stamina is energy used to play cards. Each card has a cost and you can gain more than default value each turn. Scoring is regular basketball scoring with 3 and 2 point shots and one point free throws when fouled or someone gets a technical. Crowd noise is effect on some cards that makes the fans go wild and provide bonuses to the home team. The game simulated the real basketball game of 4 quarters of 10 or 12 minutes, depending on the region. I experimented a lot with this to get realistic match scores while still keeping the games quick. I ended up with 15 seconds per card played. Some cards like timeouts, substitutions and free throws don't spend any clock time.
I quickly made a prototype. Used the stacking logic for Blocks, Fouls and various power cards that have longer lasting effects. Wrote some basic decision logic for computer player and boom. It was instant fun!
I kept adding cards and expanding it. I poured in all the little details I know about basketball into this game. Each card is a basketball term and tries to resemble the action or situation from real life. You've got your layups and stepbacks, skip passes, blocks, slam dunks, offensive rebounds, steals, fast breaks, buzzer beaters, etc. There are over 100 cards in the game, you can find the full list with card art here.
Then I made a separate tournament mode, which plays like a classic roguelike with permadeath. I you lose a match in that mode, you have to start over. I also made a Season mode where you can lose some games and still qualify for the playoffs. You use the matches to build your deck for the finals.
One of the unique game mechanics is temporary card pickups. At the end of each quarter, you get to pick some cards to add to your deck. You can play all of those during that match, but you can only keep one of them at the end. This allows the players to experiment with various cards to see how well they fit with the rest of the deck, without having to commit to any card permanently.
I also added multiplayer mode. You can pick multiple human teams and then you can play PvP with your friends.
Clutchtime is coming out on Steam on July 24. Check it out.
read more... Tweet to @bigosaur Tweet Bigosaur, 2025-07-01