I’m designing the Volition CCG module and I have manually created two decks so that players can start playing straight away.
However, as the game is a card collectible game, people will want to create their own decks and although I will allow for players to create such decks manually from the full card playset, that is quite dull.
I am in very good terms with the creators of Volition and they can actually generate the decks from their website (specifically, each player has a crypto wallet with all the cards they own). So the idea would be for players to create their decks directly using the Volition CCG wallet (website) and then click on a button that would generate the vdck file for that deck that then gets loaded into the module.
My question is, how to generate the vdck decks? Is it just a renamed zip file with all the PNGs of the cards?
The only current way to create a .vdck file is to use the option to save an existing deck to a file from within VASSAL (the same option that allows loading decks also allows saving them). You might want to consider creating a separate VASSAL module just for creating decks… (The other option is to reverse-engineer the deck format, which I suspect will be quite difficult.)
I expect VASSAL 4 will support this sort of thing much better, but it’s only in the planning stages at the moment, so don’t expect it to be released any time soon.
Thank you so much for the quick answer.
I will probably improve my current deckbuilding thingy in the Volition CCG module and do a video tutorial explaining how to save the manually created deck so that you can import them in future games.
It wouldn’t require reverse engineering to write out a deck file—the code which writes them is public and freely available. But you would have to put some time into understanding it if you wanted to go that route.
I don’t know if it is relevant or helpful, but my Oath module contains a custom class (not written by me) that, among other things, imports and exports a deck of cards as part of a text string, by moving all the relevant cards from offboard decks onto the main board.
I imagine you could do something similar, assuming you have a module with all the possible cards for X decks already present - a player could click import, paste their text string, and have their deck set up and ready to play.
I tested the import function and it worked very nicely.
I tried to edit your module so that I can check how the string generator works, but the option is greyed out. How can I explore that? Is there a way to open up the .vmod file?
I don’t seem to find that custom class in the folder tree. I got the name of the commands to be executed, but I cannot find where those are to explore the code.
Would you mind pointing me in the right direction?
I have all the possible cards in a deckbuilder (scrollable list), but I am guessing that I will need them physically in a secret/hidden board, so that they can be moved to the player’s deck.
The cool thing is that we could potentially generate the string using the Volition wallet’s website.
I managed to learn the format.
I have successfully created a deck manually from outside Vassal and correctly load it for play
Now I have to talk to the Volition developer so that he implements the “easy export” button in the Volition wallet website.
This is really cool!
Then at the backend, on the Volition wallet website, you just select the cards for your deck and we have a script that finds+replaces card01 with whatever the official name of a card is, for example Bannerman, and generates a valid .sav file (deck.sav) from the master.sav. This means that the name of the images that got uploaded to the Vassal module need to match the names used when exporting to deck.sav.