If someone had told me a few years ago, when I was obsessed with board and card games, that in a few days I would have developed a Python program that generates game cards effortlessly, I would have jumped for joy. Working with Python, coming from Rust in particular, is like going from aerospace engineering to building toy rockets; thankfully, a card generating program doesn’t require the speed and multiprocessing that Rust provides.
Anyway, check out the current cards I’m working with as I keep developing the program:
This is an Encounter card, which represent the weird shit that the team of explorers come across as they explore alternate Earths. The name of the card and the image are self-evident. The tree icon indicates that this encounter can only happen in a biome with an icon that matches that type. The row of icons below are the Struggle icons. In the game, the players should match those icons with their player cards to consider the encounter beaten. Those struggle icons depicted are Emotional, Cognitive and Environmental respectively.
Images courtesy of Midjourney, of course.
Here are some Biomes:
I know that the icon designs don’t match each other, but whatever.
I must thank again the most powerful large language model we have access to: GPT-4. It’s like having an extremely knowledgeable veteran programmer ready to help you at all times. For example, an hour ago I thought that the icons could use some subtle drop shadows. I had no clue how to even begin programming that, so I just asked GPT-4. After a short back and forth (in the first attempt it dropped shadows for the invisible part of the alpha channel), the icons now drop perfect shadows. How about that?
I have already started working on the Rust version of the game, using the Bevy crate, which seems to be the most advanced game development engine in that language. I have displayed a few encounter cards that move smoothly to the center of the screen for no particular reason other than that I wanted to figure out how to move stuff smoothly on screen.
Next up, I’ll focus on developing the necessary cards and Rust systems to make the following happen:
- Design and generate an Exploration Zone card, which are the cards that determine which types of Biomes and Encounters can show up during an exploration (only those with matching icons can).
- Display the Exploration Zone card in Rust.
- Write the code to build the Biomes deck with only matching Biomes.
- Display the Biomes deck on screen in Rust.
- Write the code to build the Encounters deck with only matching Encounters.
- Display the Encounters deck on screen in Rust.
One thought on “Interdimensional Prophets – Deckbuilder (Game Dev) #2”
Pingback: Interdimensional Prophets – Deckbuilder (Game Dev) #1 – The Domains of the Emperor Owl