Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

PCG - The procedurally generated collectible card game!

A topic by ZappedCow created Dec 04, 2020 Views: 471 Replies: 4
Viewing posts 1 to 4
Submitted

So what that? Basically it's Hearthstone with 4,294,967,295 cards :) 

Core principle

I got this idea after watching the 'programming the universe' video (just google "one lone coder programming the universe" if you want to see it). What One Lone Coder does is get a 32bit seed in function of an x,y position, and from this seed generate a solar system. The same seed always generates the same solar system so the world is consistent. Instead of generating solar systems, my idea is to generate a playing cards!

The overall game would be like a simplified hearthstone, so a simplified CCG. This is still under construction. My current idea is to simply have 'action' cards and 'unit' cards. Actions perform an effect, units have atk/def and can optionally have abilities (e.g. haste, shield, ...) and/or triggered abilities (e.g. when enter into play do that, ...). Units can attack opposing units.

Each card as name,  zero or many abilities and an atk/def for units. The cost for playing the card is calculated after the generation,  this is how the game is balanced. I'm not sure about the name/art. My current idea is to simply have the seed in hex for the card name, an no art. But this could change.

Every time a player receives a card, he simply gets the next card (=seed), and this card belongs to him/her. Players receive a bunch of cards when they create an account. They can then get new cards by playing the game, completing simple quests, or recycling cards from their collection (in this case the card, the seed, is gone forever). There could be trading, card duplication and more elaborated systems but this is optional.

Oh dear you are way out of scope for a 7 days jam!

My idea for the jam is to create the fictional game rules (on paper), the card generation algorithm and a small client to view the cards. This will be like a card gallery of random cards. The goal being to have cards that seems relatively balanced yet still quite different and interesting (that's the hardest part believe me).

The real actual digital card game with card collection, online game and matchmaking will be done after the jam.

How do you do it?

I'm using the Kotlin language the develop the whole stuff. The main reason is that I want to share the card generation algorithm between the client (web, mobile, native) and the back-end (native). The front-end is done using the KorGE game engine.

Do you need help?

I'm open to any idea, suggestions and chit chat. Contribution in any forms are also welcome. I could use help on the generation of card names and/or arts. Also could use some help for the graphical design of the frames. I plan to make a libre card game so everything will be  under an open source license.

Host

> 4,294,967,295 cards

Ugh, lazy devs, I hate it when there's not even 10 billion cards in a game at launch.

Great idea, sounds really interesting!

Submitted

Thanks! I could also go with 18,446,744,073,709,551,615 cards if needed!

But I like the idea that at some point, even unlikely, the pool might get exhausted. A bit like a set of real printed cards: Once it's gone it's gone. This is still very hypothetical but I could imagine releasing a new set of cards using new game mechanics and improved generation algorithm in the (far) future.

Submitted

Just got my first batch of proceduraly generated cards, fresh from the oven! The basic idea is to randomly generate the card's abilities and stats, then calculate the cost. I'm planning on adding more to the syntax such as triggered abilities, durations and conditions.

Submitted

Wow, this seems really interesting! I'd love to see how it turns out!