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.
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.
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.
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:
- For numbers 1 through 10, I manually laid out points to match classic card layouts.
- For numbers 11 through 18, points are laid out using a 3-column grid. The middle row has extra points deleted in order to match the number of the card. Numbers 19 through 28 use the same principle, but on a 4-column grid.
- Though I couldāve kept generating numbers on a grid, we thought it would be funny to simply start scattering points at random starting at 29, along with randomizing their orientation.
- Starting at card 100, the points ābreak outā of the center of the card and start getting scattered across the entire card. For this, I simply scattered points on a larger grid.
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.