見出し画像

素人がボードゲームを自作してオンラインで遊べるようにするまでの話(のメモ)注:挑戦中

経緯

2019年年末頃、テレビで見た「ゲームマーケット」に興味を持ち、行ってみたくなる。近所のボドゲ会に参加したり、ボドゲカフェに出入りするなどボードゲームを本格的に遊ぶようになる。一方で、新型コロナウイルスが世界的に流行し始める。

2020年3月、外出自粛の傾向が強くなり、仕事もテレワークに移行。同時期にzoomやオンラインでボードゲームができるサイトの使用頻度が急増。Twitterやオンライン人狼で遠隔にいる趣味の合う方々との交流も増加。

前後して、新型コロナウイルスもさすがに1年以内に落ち着くだろうという見通しで2020年秋ゲームマーケットに行くことを決める。

ゲームマーケットに行くにあたり、折角なので出展側で参加しようと思い、ボードゲームの製作に取り掛かった。

初めてのボードゲーム制作

2020年3月上旬に子供たちと遊べるゲームを作ることを目標にして制作開始。ノートにカードとダイスを使った2人対戦用ゲームを考え始める。

最初はダイスの出目に従ってポイントを得て、そのポイントを使ってダイス目を操る魔法や相手の妨害、妨害に対するトラップ、最終的な勝利点となるアイテムなどを購入していくゲームを思いついた。

3月中旬、さっそく100均で名刺大の用紙とサイコロを買ってきて試作品を作成。子供たちとテストプレイ。ややプレイ時間が長いことと、冗長性のため飽きてしまうことがネックとなったためゲーム要素の高い部分だけを集約していき、最終的にかなりシンプルな形にした。並行してカードデザインをipadのアプリ(ibispaint)で作成。前後してユドナリウムというインターネットサイトの存在を知り、ユドナリウムで試遊するためのデータを作成。オンラインで試遊してくれる人をTwitterで募り、ゲーム用通話アプリ(discord)を使ってインストとプレイを通してさらにルールをブラッシュアップしていった。

2020年6月までにカードデザイン、パッケージデザイン、コンポーネントデザインを作成し、まずはダイスと布製の小袋の発注作業に入った。ゲームマーケットへの出展申請を行い、カードとパッケージのデザインの仕上げに入った。発注時に使用する画像のファイル形式指定のため、illustraterのサブスクリプトを購入した。2020年7月にすべての発注を終えた。2020年9月にすべてのコンポーネントが納品され、パッケージング作業。

オンライン化?!

2020年10月オンラインでボードゲームを遊べるサイト(BGA)に自作ゲームを登録できる仕組みがあることを知る。

登録するにはゲームシステムのプログラムをBGA studioで作成する必要があるようだ。

プログラミングに関しては知識も経験も0。せいぜいMicrosoft Excelで関数を使ったことくらいしかない。

何が分からないかも分からない上、BGAへの登録はすべて英語とのこと。

今回はさすがに挫折もあり得るけど、まずはやってみようと思う。

次の目標は、「自作ゲームをBGAで遊べるようにする」に決定!

BGGに登録

2020年12月7日 Board Game GeekにTTMPを登録!

画像1

BGG Item ID: 326163をゲット!これでBGA studioでプログラムを作成するための準備が整った。

2021年2月からプログラムの勉強を開始。まずはこちらで肩慣らし✨

画像2

2021年10月

前回の進捗から一旦、2021年のゲームマーケット秋に向けてボードゲーム制作に取り組んでおり、一時プログラミング学習はストップ。

新たに三作品と共同制作の新作一作品の制作がひと段落したところで改めてBGAへの自作ゲーム実装に向けて勉強開始!

リアルノートをつけ始めた。

記念すべき1日目!

2021年から始めたプログラミング学習のその後


プログラミング学習40日目。この時はまだYouTubeで学んだことを紙のノートに書いて勉強してました。


時々、VSCも併用して学んだことを実際にポチポチ。うまく結果が出ると嬉しかった~^^


教えてもらった学習用HPなんかも使いながら、BGAにボードゲームを実装するために必要なPHP, JavaScript, CSS, HTML, SQLについて手当たり次第に取り組んでました。 


ざっくりとプログラミング言語の関係性を学べたところで、54日目にようやくBGAにゲームを実装するためのドキュメントに目を通し始めました。もちろん英語・・・翻訳サイトにはずっとお世話になってます(笑)


100日目くらいまで、BGAにボードゲームを実装するための開発者用HP(BGAstudio)が提供しているチュートリアルコードをひたすらノートに写経して、分かりにくいところは可能な範囲でVSCで実際に動かしたりしながらコードを理解していきました。

BGAstudioがいくつか提供しているサンプルコードの内の一つがハーツというトランプを使ったゲームだったため、当初考えていた処女作(TTMP)のオンライン化ではなく、2021年秋に新作としてゲームマーケットに出展したトリックテイキングゲーム「TriATri(トリアトリ)」をBGAに実装する方針に変更したのもこの頃だったかな。
処女作より圧倒的に売れ行きと反応が良かったというのもあります(笑)
TriATriの詳細はこちら→TriATri(トリアトリ)説明書と補足|おるー|note

サンプルコードを見ただけでは分かりにくいルール部分を確認するため、実際にBGAのハーツを遊んだり。


ようやくサンプルコードをノートに写経するステップを終え、いくつか見つかった課題を解消するためにその後のステップを考えました。翌日からはセガが無償提供していた往年の人気ゲーム”ぷよぷよ”のJavaScriptで書かれたコードを写経してPC上で動かしてみることに。


コードの意味を理解しながら進めていたので、書き写すだけで30日以上!しかも最初は全然動かなくて、手打ちでコーディングしていくことの無謀さを痛感しました😱


そして40日以上かけてようやく動くぷよぷよを完成できました!!書き写しただけだったけど、動いた時の感動は思い出すだけでニッコニコ^^


その後、さらにPHPとJavaScriptの理解を深めるためにこれまた無償で教材を提供されている”忍者CODE”様のHPでしばらく勉強させてもらいました。


教材を教えてくれる優しい方もいたりして、関係ありそうなものは色々試してみる日々。


150日目~170日目くらいまで忍者CODEで勉強して、ある程度課題をクリアしたところでようやくTriATri実装に向けてBGAstudioを触り始めたのが昨年5月8日でした。この時にはPC上で動く自分の作品を見ることができる日が来るかどうかも不確定でしたが、「できたらすごいな~♪」くらいの気持ちで取り掛かりました。


BGAstudioから提供されている、BGAのフレームワークに関する説明書を理解しようと四苦八苦しているところ(੭ु´・ω・`)੭ु⁾⁾


途中、しんどくなってVSCを使ってJavaScriptでオンラインカジノのルーレットのベット判断ができる簡単なプログラムを組んでみたり(ちょっと勝った)。


沢山あるドキュメント(フレームワークや各ファイルに関する説明書)をひたすらノートに書き写しながら理解を進めること数か月・・・


ドキュメントはまだ未読分が1/3くらいありましたが飽きてきたため、2022年7月に入ってからはサンプルコードとして提供されているハーツのプログラムを書き写して(ぷよぷよの時と同じように)動かしてみたりしてました。なぜ写経したはずなのにこんなにエラーが!ww


ようやく動くようになったころには7月が終わりかけてました。

さらにその後もドキュメントの読み込みを進めること約2か月・・

2022年9月、遂にTriATriの設計に取り掛かりました!

すこしずつ・・


分からないことは開発者用フォーラムで質問したり、


ちょっとずつ・・・


時には仕様設計が不足していて後悔したり・・


繰り返し、繰り返し、


だんだん形になってきた!でも表示はぐちゃぐちゃ・・・


一個ずつ課題をクリアして・・・


初めて手札を表示できた日


沢山のエラーに見舞われながら、少しずつそれっぽい画面に!


だんだんと、エラーの原因を見つけ出すスキルも上達してきたかも!


トライ&エラーの繰り返し(੭ु´・ω・`)੭ु⁾⁾

(੭ु´・ω・`)੭ु

徐々に修正速度も向上してきて・・


かなりいい感じ!


3人プレイ固定だったプレイ人数も2~4人で実装!


そして念願のBGA実装!α版の申請ができたのは313日目でした(/・ω・)/


ほそぼそ続けてきた毎日チャレンジが報われた一つの瞬間!!沢山の”いいね”やリプライ、リツイートでニッコニコでした^^

続く

この記事が気に入ったらサポートをしてみませんか?