🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

What's the best way to manage data in a digital board game

Started by
5 comments, last by GWDev 4 years, 3 months ago

I'm looking to make a digital version of a card game as a challenge during self isolation. This card game needs to manage several decks of cards as well as player tableau for up to 5 players. What would be the best way to store all this information as easily as possible?
Thanks
Ryan

Advertisement

Hi Sesanan,

the best and/or easiest way to store the information depends on the technology you use.

Maybe the engine/framework you use already has some default way to store such informations?

Maybe one of these is a starting point:

  1. Store decks as text,Json or xml files on the device
  2. Use some form of embedded database
  3. Use a server
    • Write your own backend
    • Use something hosted (all big cloud provider offer something)

Perhaps you could elaborate on what kind of storage you think you'd be needing?
How temporary is this storage - often, the term storage is used when referring to persisting some data e.g. across multiple sessions.
Depending on whether this board game is played on a single device, or multiple - whether it's real-time or not, you'd get different responses. What language / game engine will you be using to make your game?

Storing the information of the game might not be that complicated. It depends if you want let players edit their decks in the game only, like Duel of the Planeswalkers did or do you intent to also be able to export import decks? Saving them in a player's save file is just serializing data to disk, not complicated at all. Sharing like @gwdev said is better done with some kind of text file format like JSON. However, if you want to extend your game consider to offer library files for cards and mechanics. DotP uses XML and has some kind of card scripts, so cards in the XML file decide on their own how they work.

You could also add a bunch of cards fixed into your game's code or define ability-blocks of predefined abilities your cards are made from.

A card game especially is a realy complex game if the number of cards/ rules increase by time. You might have cards to listen to different events and/or player actions, maybe even an AI. I found this introduction into reactive programming very usefull, maybe this is also something you could use for your game at all

Thanks for the responses everyone, perhaps I should be a bit more specific. I am planning on using Unreal Engine for the project so I would technically be using C++ although it would mostly be in Blueprints. For now the game would be local multiplayer with turns, but with the possibility to set up online multiplayer in the future. There would be no need to store information between multiple sessions. The decks are not player specific, they are always the same and form draw pools for every player to choose from.
Hope that clears some stuff up.

Do the decks change over time? Do you plan to release new decks?
If the decks are faily constant and you rarely need to change them, you could just include them in your game assets / game code.

This topic is closed to new replies.

Advertisement