Skip to content

nhmkdev/cardmaker

Repository files navigation

Critical Google Sheets News

Google policies have changed around accessing user data and CardMaker had to change slightly to work around the requirements.

Please use the 1.3.0.0 release of the application (changes how Google Sheets are selected). If you are using an older version with Google Sheets you may run into issues.

You can get the latest information related to the changes here: #123

CardMaker

CardMaker is an application that generates graphics via data sources. It has a graphical user interface for designing layouts and offers scripting functionality.

This application was created to help me generate components for a board game. You can put all of your variable data into a CSV or Google Spreadsheet and then create layouts in CardMaker. This separates your layout and data so you do not have to manually re-create each card.

Command line based export support is in development (coming soon!). Soon you will be able to build CardMaker into a workflow!

Download

Latest stable (I hope) release binary: Latest Release

Latest releases (may be a bit unstable): Download Releases

Download The Game Crafter templates for CardMaker

Guides / Help

Sample

The above image was generated by the following input data row from a CSV:

Count Name image skill1 skill1value skill2 skill2value ability
1 Siani Malia che.png T 3 B 4 Ranged Battle: +1 on all die Rolls @[opt]

While there is some interpretation of the data by CardMaker to generate the final result, many of the values are direct references. The layout configuration in CardMaker controls the details of how to actually present the data.

Further Details on how the Elements for this Layout are configured

Code Status

Compiles with Visual Studio Community Edition 2019

See more details in the Developers Section

TODO / Wishlist

Toxicity Level: Medium-High

  • Needs more comments
  • Needs warning cleanup
  • Needs some shuffling to allow for more narrow and focused unit testing
  • Needs more unit tests!
  • Every method should be implemented based on an interface and classes should implement hundreds of interfaces (just kidding!!!)

The Google Issue

If you plan to outright copy the parts of the code that operate with Google Spreadsheets please be aware that the source currently uses the client id that is associated with my CardMaker application. Code File

You will need to modify this code to correctly use your application.

Games Developed with CardMaker

CardMaker played some role in the development of these games (prototyping or otherwise). Let me know if you have a game that should be listed here.

Game Link(s)
Cardpocalypse & Cardpocalypse Steam Link
Cave Paintings
COBRA
Context Switch
Executive Shuffle
Fairness
Full Sun
Hard Stop
Iliad: Heroes of Troy
NEVO
Root Cause Analysis Team
Town Builder: Coevorden & (Publisher page)

History

2009 - First created and publicly released CardMaker

20XX - Lots of bug fixes and features

2015 - CardMaker goes open source

2017 - CardMaker is finally marked as 1.0.0.0 for no specific reason.

The Name

"CardMaker" and "Card Maker" are both references to the same application. I just never standardized the name.

Special Thanks

  • Eric Raué
  • Mark Vabulas
  • Kolja Geldmacher
  • Everyone that has contributed to the project through emailing bugs and requesting features

Original Author

CardMaker was originally created in 2009 by Tim Stair.

Disclaimer

I am providing code in the repository to you under an open source license. Because this is my personal repository, the license you receive to my code is from me and not my employer.