sunbell blog

Mini Tech Art: Keep Fishing

For the 2024 Global Game Jam, I worked on a game called Keep Fishing. In summary, Keep Fishing is an extended version of the classic card game Go Fish. However, instead of being limited to a standard 52-card deck, the card options areā€¦ expanded.

A screenshot of Keep Fishing. The game is from a first-person perspective. A fish wearing a button-up shirt looks at you from across the table. Your hand contains 16 cards, including 12 cards from a standard deck, 2 trading cards, and 3 receipts. An in-game screenshot.

While the first few rounds of the game begin with only your standard deck of cards, larger numbers slowly get added into the pool, until you find yourself asking for an 18 of Hearts, or 102 of Spades. Beyond this, additional suits of cards also get added, such as the suit of Spanish Cups, or the suit of Sharks.

A screenshot of Keep Fishing. Your hand has 21 cards, including 15 standard cards, a 17, 12, 104, and 105 of diamonds, a 7 of fish, and a 4 of sharks. An in-game screenshot, specifically with a hand of high-numbered cards.

To create the sprites for this, I decided to hack together a quick tool in Houdini to generate cards. Was this an overkill solution? Maybe. But it allowed me a lot of flexibility: I could generate a card of any number, and easily create full sets of cards of any suit by simply swapping out an image.

A spritesheet of cards laid out in a grid, numbered from 1 to 128. The cards bear an illustration of a yellow rat, parodying Pikachu. The number of rats on each card increases corresponding with the card count, eventually overwhelming the card and covering its entire surface. The full suit of Legally Distinct Rats.

The background of the cards is just a simple image, which gets loaded into Houdini. Numeral text is generated procedurally using the Font node. I also added a little bit of noise to give the text a more hand-drawn look that matches the style of the game.

Suit images on the cards are generated in a few different ways:

A screenshot of a network of nodes in Houdini. They are organized into five categories and labelled: Manual Card Layouts, Three Column Grid Generator, Four Column Grid Generator, Scatter Points, and Scatter Points (Full Card). Each category has a few nodes within it. Each category is connected to the next with a Switch node. A snippet of the Houdini network.

The final export of the card images is done using the OpenGL render node, which more-or-less creates an identical render to the scene view preview. This was my first time using this node, but it was by far the easiest and quickest method to use. I tied the card number to the frame number, and then rendered out a frame range to a spritesheet.