Component Studio: A designer’s best friend

Today, Fairway is taking a look at a brand new service from the folks at The Game Crafter that lets you “automagically” create and maintain cards and other component images with templates and a spreadsheet: Component Studio. This new service will make the lives of anyone creating or maintaining large numbers of game components lives much easier.

Component Studio is an amazing answer to the struggle of many game designers and publishers: how do I maintain lots of components without constantly having to rebuild hundreds of images.  Think about it this way: if a deck of cards all used the same template, but had different content, you’d need to adjust all the card images just to make a slight tweak.

Adobe Photoshop has had a data merge function for a very long time. But it’s never been a terrific fit for games and often still required you to make manual adjustments. What’s more, it was limited in the sorts of “insertions” it could do: insert text into variable.

Enter Component Studio. In this review/tutorial, I’m going to take you through why I think Component Studio is a must have for any designer publisher and why it’s totally worth the cost.

I start with a longish tutorial on how to create a simple set of cards.  You can skip right to my review, if you want.

Let’s create some cards

Getting started…

This tutorial will take you through creating cards in the system. However, you still need a few things like a card layout. We’re going to build a series of “Planet” cards for an imaginary game using a free space templates I’ve created: Fairway’s Free Poker Card Templates. I’ve made three colors for our purposes which I’ve saved to an Imgur Album.

We’re also going to want some “planets” to use for our art.  I’m going to use a selection of images from NASA.  I’ve gathered some properly-sized images for use and stored them in an imgur album so that I can get access to them quickly.

We’re also going to need some “data” to fill in our cards.  I created a spreadsheet filled with some data that I’ll use.  I’ll explain the icon column later.  The source image is the location of the planet image on Imgur. (Here’s the spreadsheet).

So with our template, images and data, we’re ready to dive in.

Create a Project

I already have an account with Component Studio ( and I’ve logged in. So the first thing we do with Component Studio is create a project.  Somewhat like The Game Crafter, the site organizes your “games” and the associated components and attributes.  We’re going to call our project: Planet Cards.

Our Data Set

The first thing we’re going to do is upload our starting data set.

The “data set” is going to be called Planets.  So we add it.

We’re going to build out all of the columns in our spreadsheet by adding, in left-to-right order, each of the columns from our spreadsheet.  Every data set requires a “Name” (which must be unique and have no spaces) and “Quantity” which is how many of that “card” (in our case) will appear in the game. The Columns can’t have spaces.

Once all the columns are created, we’re going to upload our spreadsheet of data. From Excel, you should save your file as a CSV, a “comma-separated value” file.  And then you can click “import”:

The system assumes that the first row matches the column names. Clicking import will bring in all of the data from your spreadsheet:

You can also manipulate the data from here directly and add new rows and columns via Component Studio’s interface.  With this data, it’s time to turn to the design.

Our Design

We now want a “card” template to put that data onto.  So we need to build out our Planet Card design in component studio.  So I click “designs” at the top:

I’m going to create a set of poker cards called Planet Cards.  So I pick that option.  You’ll notice that you can create a whole array of components from decks of cards to boards, to punch outs. However, since cards are common, I’ll focus on these.

There’s also going to be a single back for all the cards. Finally, there’s a place to select the data set to apply to the cards. I use my newly created “Planet” data set. Create that design and you’re brought to a blank card template showing the “overlay” with trim lines and safe zone lines.

Add the card frame/template

Let’s use the blue template first.  It’s got a URL of Let’s click “add image.”

And then fill in the image URL. You can see it automatically snagged the image and placed it on the template. Because the template was full-bleed, we don’t really need any special adjustments to this one.

Adding dynamic parts.

Now, we add the dynamic parts of our template.

Planet Art

Let’s add the planet art first.  Click “add image” again.  But this time, we’re going to use one of the values from our spreadsheet: SourceImage. Any of the text boxes can invoke a variable by using { $VariableName }. And since we’re on the “HotJupiter” data item, it’ll populate the image right away to show you what it’s done:

There’s a few problems: 1. it’s in front of the template; 2. It’s not in the right offset.  We can correct both of those. In the upper right by the words “planet art” it says “20”.  This is it’s position relative to other elements. You can see the box “template” is 10. If we make planet art 5, it’ll be BEHIND the template!

Second, we can use the “position” values to give it an offset from the top.

Flipping through the data at the top will automatically load the proper source image. For example Rains of Terror:

Adding the Title and Body text

Now it’s time for some text to our cards.  Let’s start with a heading. Start by clicking “add text”:

Like the art, we can use a variable, pick a color, etc.

A few things to know, by default, the system sets up text to be within a bounding box that’s the entire size of the safe zone and centered. For our purposes, that’s not going to work. We need a box that’s much smaller, right aligned, and just below the top blue bars. We’ll want a black font stroke to make sure the green doesn’t disappear.

We’re also going to tell the system that if a name gets too long, it should try to fit it within the box.  That’s available under the “advanced options”:

Fonts detour

We’re going to take a quick stop here. One issue with text is that the font is really boring. As of the writing, Component Studio has a whole interface for adding fonts. One of the fonts that I want: Spy Agency isn’t available, but the other one, Roboto, is.  To add an existing font, you can search for it and click the “Add to Palette” option.

You can also upload custom fonts using the upload option. I do this for Spy Agency:

By doing this, it’s added to the custom font palette and then available in the design editor

Returning to text

So with our fonts added, we pick the font and update the title:

We can then do the same thing for the “Body” text.

One other interesting feature of the text regime is using “alternate” fonts. For example, for our citation purposes, I want to have the “cite” be the italics version of the Roboto font, but I want to use the non-italics version to say “Courtesy of:”.  To do that, we use some text mark up to switch between the font types. Putting a * around the { $Credit } command switches to the alternate font. You can see this result in the lower right corner of the template:

And with that, you’ve now created a re-usable template. You can alter the data add more rows to add new cards. Potentially, that’s it.

Exporting Cards

Once you’re satisfied with your game (cards in this case), you can export them.  Component Studio offers a whole litany of options:

The Print & Play PDF puts all of the cards into a pdf complete with cutting lines. YOu can download my three cards here.

You can also export the cards directly to The Game Crafter and order them!

How to do Icons

I did skip one very common design concept: having a repeatable set of icons. You could do iconography using images if you wanted. However, this leaves a lot to be desired. For example, if you need to use the icons in the body of text.  In Component Studio, there’s a very clever way to do this: fonts.

For our planet cards, we’re going to use three icons using a site called Fontello. Fontello let’s you upload your own custom SVG images to create custom icons. But for our purposes, we’re just going to pick three already existing images. The Fontello interface lets you assign your selected icons to the letters “a”, “b” and “c”.

Once you’ve done this, you click the “download webfont” button and it will create a font for you.  You can then use the Font process described above to add the font.  In this case, I uploaded a new font called “Space Font.”

For our purposes, we can then use these three icons (assigned to the letters a, b, and c) to place an icon in the upper right corner.

For this, I added a “text” box, located it in the upper right, selected the Space Font and used a white color with a black stroke.  THe content of this text box is going to be the value we put in the “icon” space (a, b or c), but will display the little pictogram.

Now, keep in mind, this works for the BODY as well.  Let’s say I wanted an icon at the start of the body too.  For example, I can add the icon into the body by using the Alternate Font technique.  In this case, it adds a little blue version of the icon at the beginning of the body. But you could also encode it in the content of the body if you wanted as well using *a* or *b* or *c*.

With the icons complete, the cards are done. When they’re exported, they won’t include the safe zone or trim lines.  It will just be the full-bleed images ready for printing!

What do I think?

This service is amazing! I’ve only scratched the surface of what’s possible with the above tutorial. So much of my game design time is spent iterating designs on cards and components. This lets the iteration happen just that much faster.

Better than the alternatives

Component Studio seems hands down better than the alternatives. It offers far more flexible set of programming tools than Adobe and much easier than scripting in some of the open source version graphics editors’ data merging tools. The integration with common game-design tools make are unparalleled. I can’t think of anything that does things this does (print and play, table top simulator, source images, etc) with essentially one-click exporting. Unlike doing things natively in Adobe, it is missing a few more advanced graphics techniques (layer blending, etc) and reconstructing layers of templates and images in Component Studio might be a bit of a slog for certain designs. Component Studio is very feature rich though.

There are “free” alternatives such as nanDeck. But what you trade for price, you give up in functionality and ease. The learning curve for nanDeck will also be higher and relies on the user having more than a basic understanding of spreadsheets.

Note: it doesn’t replace the need for a graphics editor, unless you have a designer who can provide you the layout’s templates in a usable manner.

Not limited to cards

As I noted above, you can make a bunch of stuff using Component Studio and they’d also benefit from the same techniques. I do think that the most common use cases will be for items where there is a structured, repeatable set of things that happen. This makes the investment of time in CS-ready designs very worthwhile for cards and tokens.

However, what’s interesting, the design process might still benefit from the separation of design and content for other non-repeating components. You might still benefit from Component Studio for your boards and mats. Consider just the icons, for example. If your board used the same icons, you could avoid the issue of having to recreate the image just to change the icon. Similarly, you could define player colors and use a variable to carry over for both cards and boards.

The return on investment

Component Studio isn’t free. It’s a paid-for service. But for anyone doing even a small amount of game design, there’s a good argument that this will pay for itself. In fact, there’s at least three ways this is better than the status quo:

  • Time value of money to update cards. The cost to make one change to a template for set of cards is probably more than the monthly cost of the service if you value your time at all. The earlier in the process you start using Component Studio, the more quickly you recoup that cost.
  • Time value of money to create various types of output: print and play documents, standalone images, table top simulator versions, etc.  This is a one-stop shop for all those needs.
  • Value of iteration and experimentation. In this case, you can add, remove, multiply cards just by updating the data, without need to futz with the design. This means you can try out new layouts, try out new cards, try out new arrangements of cards just that much faster and that much easier.

You don’t have to be a user of The Game Crafter to get value

The other thing that’s important: while there’s a clear connection to The Game Crafter, you don’t need to use them to get value from this. The cards are output in 300dpi at pretty standard dimensions that include pretty standard bleed. This should work for almost any long-run printer too with very little additional work.


If you’re designing a game, you should absolutely subscribe today.

I was a tester for this service and was provided a discount code as compensation for the testing.

Your turn. Share your thoughts: