【パンデミック:迅速対応】取り込み作業記録
【パンデミック:迅速対応】(ラピッド・レスポンス/Pandemic RapidResponse)が駿河屋から届いたので,早速TableTopSimulatorで遊ぶべく取り込んでいきます.
とりあえずリンクを載せておきます.
開封の儀
箱を開くとこんな感じ.

箱裏とメインボード ワクワクします
カードとコンポーネント
見覚えのある要素が!
ダイス & ホビージャパンおなじみ砂時計

今回,このダイスをどうするかが大問題だったのですが,
幸いダイスだけ取り込んでくださっている方がいたので解決です.(本当によかったよかった…)
飛行機は…まあなんとかなるでしょう,うん.
説明書タイム
とりあえず一通り見て満足したのでルールの理解に入ります.
…と思いましたがここの執筆は一旦後回しにして
取り込み作業開始!
[1]スキャン
【パンデミック:迅速対応】に登場するコンポーネントをデジタルに置き換えられるように変換していきます.
→→→→→→→→→→→→→→
| 特殊ダイス | ワークショップに上がっている物を使用 |
| コマ:キューブ | TTS内の標準キューブを使用 |
| コマ:プレイヤー | まだ考えていないs |
| 時間トークン | TTS内のプリセットトークンを使用 |
| 廃棄物トークン | 上のトークンに絵柄を貼り付けて使用 |
| 各種カード | スキャン,デッキ化して取り込み |
| コマ:飛行機 | 大問題.本当にどうしよう… |
| 飛行機ボード | スキャンしてタイルとして出現させる |
| 説明書 | スキャンしてPDFとして出現させる |
今回はカード,廃棄物トークン,飛行機ボード,説明書が作業対象ですね.
早速やっていきましょう.
例によってCamscanner(スキャンアプリ)を使用して撮影していきます.
https://apps.apple.com/jp/app/camscanner-スキャン-pdf-変換-翻訳-カメラ/id388627783
https://play.google.com/store/apps/details?id=com.intsig.camscanner&hl=ja&gl=US
忘れずに裏面も撮影します.
光の当たり方でカードの印象がだいぶ変わってしまうので細心の注意を払います.
一旦Googleドライブに保存します.
色々頑張って整理完了です.
合わせて50枚しかないのでまあまあ楽ですね.(UNO Flip…うっ頭が)
スペース確保
[2]画像編集&デッキ作成
ここから画像のサイズや拡張子,結合,カードについてはデッキ作成を行っていきます.
まずメインボード.スキャンの解像度の都合上,二枚の画像になってしまうので結合して1枚の画像として出力します.
これを,GIMPを使用して結合します.
きれいな一枚の長方形の画像になりました.(繋ぎ目があからさまですが)
特に警戒していなかった廃棄物トークンが意外と牙を向いてきました.
いやーどうしましょうね. ”廃棄物”というイメージから黒がしっくり来ますが,実物では白に灰色の記号なんですよね.
一番くっきりしているのは3番だけど色が最もかけ離れてるし…
実際にTTS上で見てから決めることにします.
実はTTS本体が入っているフォルダにこっそりと収録してある公式デッキ作成ツールを使用します.
次のようにフォルダを辿っていくなり下の写真のように直接飛ぶなりしてツールを起動.
[Tabletop Simulator]が入っているフォルダの Modding フォルダに入っています.
TTSのフォルダへは,以下のアドレスをたどることで到達できます.
特にSteamのゲームインストール先を変更した覚えがなければ以下のアドレスから.
C:\Program Files (x86)\Steam\steamapps\common\Tabletop Simulator\Modding
Steamのゲームインストール先を変更している方はきっと何も言わなくても察してくれるでしょう.(C:\Program Files (x86)\Steam\の部分を変更)
クリックして起動しましょう.
右下のマス目には,カードを手札に入れた際,他人から見えてほしい画像を入れます(今回は入れる必要はないですが何となく).
なお,同じ絵柄のカードはTTS内でコピーできるので(それこそ作業が一瞬で終わるので)今ここで必要な枚数分敷き詰める必要はありません.
各カード1つずつあれば大丈夫です.(ドミニオンの貨幣カードとかいおちいち敷き詰めていたら途方も無い作業になります)
まあ今回は多くても2枚なので全て敷き詰めていますが…
そうして必要な分全てのデッキpng画像を作り終わったらいよいよ大詰めです.
個別に追加したいボードやカードの画像の拡張子が全て.pngになっているかを確認して次に移りましょう.
[3]アップロード&リンク取得
ファイル名,フォルダ階層を確認してDropBoxにアップロード&参照用のリンクを取得します.
階層はもう変更できないと思ってよく考えましょう!
後にTTS内でDropBox内のリンクを参照させるのですが,
その後にDropBox内のファイル・フォルダ階層や配列を変更するといわゆる”リンク切れ”状態となってしまい,
TTSで読み込もうとしてもエラーが出てしまいます.
筆者はこんな感じの構造にしています.
続いてTTSが参照するためのリンクを取得します.
「リンクをコピー」をクリックして取得したURLに以下の変更を施します.
[www.dropbox.com]となっている部分を[dl.dropboxusercontent.com]と書き換え、末尾の[?dl=0]を削る
こうしてリンクを取得した後は,ファイルの階層の変更をしないでください!
もし変更する場合は,改めてリンクを取得し直してください.
(画像では説明のため適当なファイルのURLを表示しています.)
だいぶ疲れてきましたね.
途中で燃え尽きるのを防ぐために,休憩は適時取りましょう.
一気にやる必要はないですよ!
いよいよ次はTTSを起動してがちゃがちゃしていきます.
[4]ゲーム内に出現させる
ついにここまで来ましたね.
ゲーム内にオブジェクトとして読み込ませて出現させます.
…の前に,今回お借りする特殊ダイスをオブジェクトとして保存しておきます.
作ってくださった方に感謝感謝…
さあ頑張っていきましょう.
適当な部屋を作って適当な机を配置します(平らなものにすると後が楽ですね).
個人的にお気に入りなワークショップファイル[Parfect Platform]を読み込ませます.
黒くて大きさ自由に変えられる土台なので非常に優秀.
ここからの作業は
上メニュー「Objects」 → 追加するカテゴリーを選択 という手順を踏みます.
画像もこの操作の後の画像になります.
ではやっていきましょう.
メインボード
Custom > Boardをテーブル上にドラッグ&ドロップ > Imageに前に取得したものを貼り付け > Import >
大きさも調整しましょう
右クリック > Scale > UPで調整
この先,大きさを変更する際には同じ種類のものをまとめてから変更するようにしましょう.
でないとそれぞれ微妙に大きさが違うオブジェクトが出来てしまいます.
この後の トークン の項目を参照してください.
ここで一旦セーブしておきましょう.
この後の作業でも,こまめにセーブしてください.
上部メニュー「Game」 > 「Save&Load」> 右上の「Save Game」 > 任意の場所に保存
デッキ
Custom > Deck
Unique Backs:裏面が全て同じならチェックは入れない.表と裏をれぞれのデッキ画像を用意している時にここにチェックを入れて読み込ませる.
Width:横のマス目の数
Height:縦のマス目の数
Number:カードの枚数(1番から何番までのマス目を読み込ませるか?これに関しては心配なら上の数字二つをかけた値を入れておけば問題ないです.超過分は後で消します.)
Sideways:カードが横向きの時にチェックを入れる.Altによる拡大表示の際に横向きで表示される.
Back is Hidden:「手札に入れた際に他人から見える画像」を,「Backで設定した画像」ではなく「デッキ画像のの最後のマス目の画像」に設定する際にチェックを入れる.
デッキをImportしたら,必ず全てのカードを確認しましょう.できれば実物と照らし合わせて枚数・種類・裏表にミスがないか確認しましょう.
間違っていても気づきにくいので知らない間に自分の首を締めかねません.
コマ・トークン
時間トークン・廃棄物マーカー
Custom > Token
Thickness:厚みを調整できます.
Stackable:重なるように置いた時に自動的に重なる設定です.
さて,大きさの調整です.ボードの配置場所と見比べて適当な大きさに調整しましょう.
ここで,同じ種類のものはまとめて変更してください!
補給品コマ
プリセットのキューブを使用します.
色は変更しておきましょう.大きさ変更も忘れずに.
Blocks > Red Square
プレイヤートークン
プリセットのものを使用します.
Player Pawns > 任意のものを選択
飛行機コマ
とりあえず飛行機モデルを作製してくださっている方がいないか,ワークショップを探します.
どうしようもなかったのでモデルを自作(という名の加工)します.
簡単な物体の結合ぐらいならTTS内で加工できるので,上手く頭を使っていきましょう.
実物のコマとゲームの世界観を鑑みてしっくり来る画像を探します.
今回はK-factoryさんのイラストをお借りしました.(本当にありがとうございます!)
色を変更しまqす.

土台は,先程の時間トークンとRed Squareの大きさを調整して結合させて作ります.
最後に飛行機と土台を組み合わせます.
いい感じですね!
特殊ダイス
先程保存したものを呼び出します.
Object > Saved Objects
説明書・その他書類
Custom > Custom PDF
砂時計
ワークショップのものを使用します.特殊ダイスと同じ作業です.
背景
偶然ちょうどいい感じのものが見つかったので適用します.
テーブルの整理
プレイヤーがいちいちボードやコンポーネントの位置を調整しなくても良いように,予め最適と思われる位置にしておきましょう.
今回はメインボードをテーブルの中央に置きます.
Gizmoツールで原点に設定すると楽でしょう.([X : 0],[Z : 0]に設定します)
プレイヤーを座らせたい位置にHandを設定します.
GizmoツールでHandを移動させます.
あまりHandを下に設定すると名前が埋もれて表示されなくなります.
手札が無いゲームでは,あまりHandを大きくすると,手元に引き寄せるたび手札に入ってしまい鬱陶しくなります.
適当な設定をしましょう.
また,できるだけ上下左右対称になるようにしましょう.数値を正負反転して直接入力すれば作業が楽です.
スナップの設定
コンポーネントを特定の場所に近づけると,勝手に吸い付いてくれるあれです.
プレイヤーからすると非常に楽です.
ボードゲーム本来のアナログ感を損なわない程度に積極的に導入しましょう.
(パンデミック:迅速対応はリアルタイムボードゲームですが,置きづらさによる時間消費はこのゲームの本題からは外れるので今回は設定します.
置きづらさも含めて楽しむタイプのゲームでは(以前取り込んだキッチンラッシュとか)過度な設定はやめましょう.)
Snapの世界では,特定の場所に何がくっつくかを設定するために,オブジェクトにTagという属性を与えて管理します.
これを利用することで,コンポーネントの種類に関わらず,吸い付く設定が行えるようになります.
例
ミープルに[起動コスト] / キューブに[起動コスト][交換可] / 技術カードに[交換可] というタグを設定.
装置のコスト置き場は[起動コスト] / 交換ゾーンは[交換可] を吸い付き対象として設定
こうした場合,ミープルとキューブはコスト置き場にスナップされ,キューブと技術カードは交換ゾーンに吸い付くようになります.
なお,条件はORです.(どれか1つでも合致していれば吸い付いてしまうので注意)
設定したいコンポーネントそれぞれにTagを設定します.
まずはこの飛行機コマについて設定してみましょう.
右クリックメニュー > Tag
下の入力欄に,設定したいTagの名前を入力 / あるいはAll Tags…から今まで作ったTagを選択 > Add Tag
(つけ外しする場合は上のTag名をクリックして切り替え. 青なら有効になっています.)
次に,スナップ先(吸い付く場所)の設定をします.
左メニューから Point ツールに切り替え(F10キーを押しても切り替え可)
向き関係なく,ただ吸い付けだけで良いのなら一番左,向きも合わせて吸い付いてほしいなら2番目のツールに切り替え.
今回は向きも変わってほしいので2番目のツール「Rotate Snap」を選択します.
3番目のチェックマークを選択して,これから設定する場所に吸い付いてほしいTagを選択.(後から編集することも可能です.)
今回は飛行機コマだけが吸い付いてほしいので,[Plane]のみ選択した状態にします.
この状態で,吸い付いてほしい場所をクリックします.消したい場合はもう一度緑の点をクリックします.
オブジェクトを置いた状態でクリックすると,必ずオブジェクトの中心に合わせてくれます.
この時,オブジェクトの向きも記録してくれるので,後が楽です.
微調整は後からでも可能なので,とりあえずどんどんクリックしていきましょう.
とりあえずクリックし終わりました.
試しにこの状態で挙動を確認してみましょう.
左メニューから一番上のツール [Grab] (F1)に切り替え.
対象として設定したTagを所持しているオブジェクトを近づけてみると?
通常のスナップであればこれで終了ですが,今回は向きも設定するのでした.
緑の点をよーく見ると黒い三角形があります.そして左右に赤と青の矢印がありますね?
矢印を押すと15°三角形が回転します.上に設定したい方面に向くように調整しましょう.
この調子でどんどん設定していきます.
★オブジェクトを一旦全て吸い付いてほしい場所においてからまとめてポチポチすると若干楽.
★たくさんある場合は全て選択してからTagをつけると一気に出来ます.
★オブジェクト上に吸い付く点を設定したい場合は,一旦ロックしてください.
例として,カード上にスナップさせてみましょう.
いつもどおりなら,カード上に点を打ちますよね?やってみましょう.
点が着いて来ません.テーブル上に打ってしまったようです.
ロックされていないオブジェクトの上でスナップ点を打とうとすると,
ロックされていないオブジェクトを全て突き抜けて,ロックされているオブジェクト上に点が設置されます.
なので…
この作業は一番楽そうに見えてかなり時間がかかります.まあ,辛くはないのがせめてもの救いでしょうか.
筆者の場合は1.5時間ほどかけて完成しました.
最終的にはこのようになります.
コンポーネントを名付け・バッグに入れる
ボードゲームではコンポーネントが多く,何のためのコマなのか分からなくなってしまうことが多々あります.
プレイヤーに説明書をめくらせる手間をかけさせないために,それぞれ名前をつけておきましょう.
(できれば説明欄に英語の説明も入れておくことをおすすめします.)
現状では,コンポーネントがテーブル上に出しっぱなしです.
このままでも良いのですが,読み込みが遅くなったり,不具合で飛んでいってしまうことがあるので,まとめてしまいましょう.
ここまでの進捗
スクリプトを組む際に座標を取得する必要があるため整理はしていません.
いやはや,疲れました.
なんとかアナログゲームをデジタル上に変換することが出来ましたね.
そしてこの段階でボードゲームとして遊ぶことが出来ます!
自分へのご褒美に色々いじってみましょう!
[5]スクリプト(プログラミング)の時間
プレイの補助をしてくれる自動操作.
上手くデジタルの強みを活かせるようなものにしていきましょう!
ちなみに筆者についてですが,プロフィールにも書いたとおり,
小学生の頃からちょ―っとかじっては興味を失ってまたすぐにやり直そうとしてやめる…というのを繰り返してきました.
(そっち方面に精通していた友人に触発されたのもありますが)
なので完全に0からではありませんが,1にも到達していない感じです(笑)
さらにちなみに人生で初めて触れたのはプログラム最初の壁 というという書籍でした.なかなか楽しく読めたのでぜひ.
TTSでは『Lua 』というプログラム言語を使います.
エディターは様々ありますが,TTS用プラグインが用意されており,コードの変更をワンタッチでTTS内に反映できるAtomが優秀です.
Ctrl + Shift + L で現在TTSで読み込んでいるものをそのまま読み込み,
Ctrl + Shift + S で現在のコードをTTS内に反映させることが出来ます.
Atomを起動してコーディングを始めていきます.
まずは砂時計の砂が落ちきった際の処理を実装していきます.
砂が落ちきったときの処理を指定そうな場所を探してもらってとりあえず関数を呼び出してみましょう.
遅延処理をさせるために一回噛ませて
適当に作ります.
このゲームは難易度によってセットアップが変わるので専用のセットアップボードを作りましょう.
以前に作った物を読み込んで


セットアップ処理をしていきます.



これもっと楽な方法あるような気がしますが,ちょっと思いつきませんでした…疲れた.
選択された言語を日本語 = 1,英語 = 2として変数に保存していて,
アナウンステーブル(配列)の言語変数番目を呼び出すようにしているので楽です.◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆4日後・・・
(SSを撮るのを忘れていました)
大量のエラーと不具合に悩まされながらも,親切な他の人の助けを借りてついに一応完成させることが出来ました!

時間的に上手くループするように切り取っていきます.

完成!
作業時間にして丸4日程かかりました.(おかげで Gamescom 2021を全然追えませんでした…今からがんばります)
セットアップ以外の処理も含めてスクリプトを作ったのでなかなかエラーの嵐でした.
もうしばらくやりたくないですね(笑)
チクタクオーダーの取り込みに関してはもうしばらく後になりそうです.
まあでもなんとか完成させることが出来てよかったです.
ちなみに2~4人で4回ほど遊びましたが,一回もクリアできませんでした.
初のクリアチームは誰になるのでしょうか?
皆さんもぜひお手持ちのボードゲームの取り込みに挑戦してみてくださいね!
ご質問等あればお気軽に.(Discordが一番早く反応できます.ru-i#1836)
おわり




































































































コメント
コメントを投稿