HELIKUTU KOBO

へりくつ工房はカードゲームを作ったり、 そうでもないものを作ったりしています

テスト用のカードの作成を自動化してみた話

この記事は、Board Game Design Advent Calendar 2019の第22日目の記事として書いたものです。

お久しぶりの方はお久しぶり、初めましての方は初めまして。
HLKT工房の天空 薙です。
このブログは開店休業状態で、久しぶりに書く記事になります。

この記事はなに?

皆さん、テストプレイしていますか?
テストプレイを全くしないでゲームができることは全くないと思いますが、皆さんはテストプレイ時のカードをどうしていますか?
手書きで作成?Wordで作成?
いいと思います!

でも、一枚一枚作るの大変じゃないですか?
一気に作れたら楽じゃないですか?

ということで、自動化できないかなーと思い作ってみました。

動作環境

下記の環境でのみ動作を確認しております。
たぶんPhotoshopなら大体のバージョンで動くかと思いますが、動作やデータの一切は保証しません。
使用する場合は必ずバックアップを取ってください。

OS:Windows10
Photoshop:21.0.2

ダウンロード

ということで、こちらからダウンロードできます。

ここは技術者ブログでも何でもないので、作り方とかそういう話はとりあえず置いておいて、使い方を紹介します。

使い方

使い方を説明します。
用意したZipファイル内に参考として、2パターン入っております。

フォルダ

ダウンロードしたZipファイルを解凍します。
基本的にカード画像等はここに保存されます。

素材準備

カードに使う画像素材は解凍したフォルダに入っているimageフォルダに全部入れてください。
この時、画像ファイルの大きさは統一しておくときれいに配置されます。

テンプレート準備

Photoshopで、カードのテンプレートを作ります。

こんな感じで1枚カードを作ります。
変更したい部分のテキストや画像のレイヤー名を変更してください。(赤枠部分)
レイヤー名は半角英数字を使用してください。
テキストレイヤーは作成すると、レイヤー名は入力したテキストになるのですが、再度編集してください。
この後のカードリストで指定しない項目は変更しないので、好きに作ってください。

適当な名前を付けて解凍したフォルダと同じ場所にpsdで保存してください。

カードリスト準備

テンプレートで入れ替えたい項目をここで設定します。
下記のルールに従って作成してください。

<ルール①>
1行目、2行目は以下の作り方をしてください。

1行目の各列には、テンプレート準備で設定したレイヤー名を入れてください。
レイヤーと各列の順番は関係ありません。
1列目はそれぞれ出力したときのファイル名に使います。

2行目は下記の数字のいずれかを入れます。
0:ファイル名、メモ用
1:テキストレイヤー
2:画像の貼り付けレイヤー

<ルール②>
3行目以降は1行1ファイル出力します。
2行目の数字にしたがって、下記のように設定してください。

2行目の数字
1:入力したいテキスト(改行禁止)
2:差し替えたい画像のファイル名

作成したファイルはテンプレートと同じ名前でcsv形式で保存してください。

スクリプト実行

上記のの準備ができたらPhotoshopを開きます。
Photoshop上にフォルダ内の”csv2testcards.jsx”というファイルををドラックアンドドロップします。

そうすると、ダイアログが開くので、そこで先ほど作成したcsvを選択します。

あとは勝手にやってくれます。
csvと同じ名前のフォルダの下に、「png」「psd」のフォルダが作成され、その中にそれぞれのカードが作成されます。

まとめ

photoshop scriptというのを使って、テストカードを自動で作ってくれるスクリプトを組んでみました!

できたこと

カードのテンプレートとcsvファイルという形式のファイルを作成することで、同じ配置のカードをいくつも自動生成してくれるようになりました。

今後の課題

①改行対応
現在テキストの改行に対応しておりません。
それに対応したい。
現状やるならば、説明文1行目、説明文2行目と各行のレイヤーを用意するくらいしかない。

②印刷用配置自動化
今回作成したカードを印刷するのに印刷用に配置する必要があります。
そこも自動化したいなー…と思っています。

ということで、スクリプトを作成してみました!
まだまだバグ等々あるとは思いますが、使いながらブラッシュアップできたらなーと思います。
また、こうしたほうがいいんじゃない?とかあればぜひ教えてください!

技術者向け

ちなみにプログラム(とZipファイルに入っているもの)は下記のGithubにもアップロードしてあります。
https://github.com/terawiseman/csv2testcards

日曜プログラマーなので、無作法なところも有りますが、よかったらご指摘いただけると嬉しいです!

カテゴリ: 雑記

天空 薙

サークル代表(雑用)の天空 薙です。 イラストとデザイン以外の仕事を主にしてます

この記事のトラックバック用URL: