こんにちは。トモです。
昨年、Mamag3様とコラボして、スロットマシーンを作りまして、久々にボードゲームやカードゲーム作りについて議論する機会がありました。
昨年の4月ごろ、私はUnityで2dカードゲームを作ろうといった趣旨の記事を書いています。
今回は「3Dでボードゲームを作る環境を用意しては?」という事に挑戦してみようと思っています。
コロナ自粛を受け、遠隔でアナログゲームの楽しさを味わえる贅沢な環境を、Unityを用いてVR空間に作れないかと考え中です。
この記事にはそのプロセスと、これからの挑戦の記録をアップしていきたいと思います。
================================
5/10 追記 実はTableTop SimulatorというのがSteamで配布されていまして、「3Dでオンラインのボードゲームを作る環境」は現存します。
この記事はその存在を知らない状態で書いていますので、この世にあるものをもう一度作る利点があるかどうか根本的な所からプロジェクトの見直しを行おうと思っています。
オンラインボードゲームのまとめwikiも存在していまして、オンラインボードゲームを純粋に遊びたい方はwikiに詳しく書いてあると思います。
================================
目次
なぜオンライン3Dボードゲームを開発するのか
今後のボードゲームの在り方を見据えて
現在、緊急事態宣言を受けて外出自粛が進む中、今後のボードゲームの在り方についてアナログゲームデザイナーのMamag3様とお話をする機会がありました。
今後のボードゲームの在り方について、議論をする中で、堅苦しい話はいろいろあるのですが、私が感じた心の声は、、、
コロナ3密回避のために集まれないというジレンマがまず存在すること。
それによって複数人でのテストプレイができないのが困るという話ですね。
それから、コロナ後もどの程度の接触が許されるかわからない中、
という根本的なボードゲームの在り方を問われる状況が存在していると感じました。
オンラインアリーナのような環境を自分たちで構築する
zoom会議やzoom飲みが広がる中、zoomをしながらウェブでボードゲームをプレイできたらとても良いのではないかと考えたわけです。
そこで、これからは、集まらずにオンラインの仮想空間でボードゲームの開発ができたり、遊んだりできたらよりいいねというお話になりまして、
という心の声にこたえるべく、ボードゲームができる贅沢な環境をまずは提供できたら良いなと考えているわけです。
Mamag3様デザイン監修の元、その技術的なサポートをtomoarch.comがやるということでプロジェクトをスタートするということになりました。
具体的なプラットフォームの提供方法として
これは私にとって初の挑戦になりますが、、、ひとつの手法として、誰でも使えるUnity アセットの作成がありますね。
ボードゲームを遊ぶスペースの3dモデルをアセット化して配布するというようなアプローチがまず一つあるのではないかと思っています。
もしくは、3dモデルシーンの作成をUnityで行い、そのデータをGitHub上で公開するというのも一つの手でしょう。
これによって、ボードゲームを開発したい方が容易にその環境を手に入れることができるのではないかと思います。
シャッフル機能や、駒、トークン、チップ等
できればですが、カードをシャッフルするであるとか、モノに触るなどの機能は実装しておきたいところです。
3dで物に触るというのはやったことがないので私にとっては未知の世界ですが、是非この機会にできるようになりたいと思っています。
それから、駒、トークン、ポーカーチップ等も並べられるようなスクリプトもあれば便利だなと思っています。
どのレベルの仕様になるかは現時点では不明ですが、今後の私の努力次第だと思うので、なるべく理想的な開発環境の提供ができれば良いなと思っています。
ボードゲーム開発におけるオンライン3dモデル作りに挑戦!
建築のデザイン
コンセプトとしては、ボードゲームを遊ぶことに特化した、建築です。
シンプルながらもなるべくラグジュアリ―感のある贅沢なスペースを演出しようと心掛けました。
どのようにデザイン・設計・三次元化したかは下の記事に詳しく書いてあります。是非ご覧ください。
テーブルのデザイン
こちらはMamag3様デザインのテーブルになります。
数字の3というのがベースコンセプトにあるようで、脚が三本テーブルトップに食い込んでいるデザインになっています。
このバーチャル空間に置いたテーブルの上で、ゲームをやりたいと思っています。
こちらはMamag3ブログにどのようにデザインしたか、詳しくアップされる予定ですので、是非リンクをお楽しみに。
椅子のデザイン
こちらはMamag3様デザインの椅子になります。 椅子デザインの詳細はこちら!
私は、このAの形をした脚とクッションと板の絶妙なコントラストがとても面白いなと思っています。
ソファーのデザイン
こちらは建築側で私が勝手に入れたソファーです。
機会があれば、Mamag3様により良いデザインを提案して頂けたらと思っています。
その際には、Mamag3ブログにどのようにデザインしたか、詳しくアップしていただけると思います。
ポーカーチップのデザイン
ここからはまだあまり練られていないのですが、目下ポーカーチップのデザインが進行中です。
Mamag3様デザインのポーカーチップについても、どのようにデザインが進んだか、プロセスがMamag3ブログにアップされる予定ですので、是非ご覧ください。
グラス・食器・小物のデザイン
これは全くまだ決定事項ではありませんが、賑やかしに小物等もデザインをして頂けたら嬉しく思います。
詳細は、またデザインが決まり次第このサイトを更新していこうと思っています。
Unityの3dボードゲームにおけるC#プログラミングに挑戦したい!
現時点でまだできるかわかっていない
あくまで挑戦したい!ということであって現時点でできるかどうかはわかりません!(笑
できるかどうかの見通しは全く立っておりませんので、挑戦した結果できなかったという結果になる可能性もあります。
それでもなるべく足掻いた記録をここにまとめて行くことができれば、誰かのお役に立てるのではないかと思っています。
C#スクリプトで実装したい機能
1歩き回る・見回す
まずは、建築内外を歩き回って建築を楽しむことができるように作成したいと思っています。
これにはコライダーで歩ける場所を制限したり、ドアが自動で開いたりというような事が出来たら良いのではないかと思っています。
参考としてはUnityOfficeのような感じにできたら良いなと考えています。
2座る・物に触る
それから、実際に席について、小物を触ることができたら良いと思います。
たぶんですが、マウスオーバーでレイを飛ばして小物を手に取ったり、何かアクションを行ったりできたらなとおぼろげに考えています。
3カードを扱う・ひっくり返す・シャッフルする・デッキを分ける
この辺は非常に難しくなってくるのですが、ボードゲームを開発するうえで、カードの処理というのは必須機能なのではないかと思っています。
これができるかどうかは自信が全くないですが、なるべく実装できるように頑張りたいと思っています。
4ネットワーク通信で複数人でカードや小物をいじる
複数人になる場合、誰のオブジェクトかという難しい問題が発生します。
これを解決して初めて、ボードゲーム開発のプラットフォームができると考えるべきでしょうか。
現時点でできるかどうか全く見えませんが、この点にかけては頑張って勉強をしていきたいと思っています。
おわりに
コロナの影響を受けて、自粛ムード漂う中ですが、今後のボードゲームの在り方として、なるべく仮想空間でボードゲームの楽しさというものを再現できるように、頑張っていきたいと思います。
やはりボードゲームはコンポーネントや駒などに触れることが魅力の一つだと思いますので、それを達成すべくプログラミングの勉強も進めていきたいと考えています。
なるべくボードゲーム開発が楽になるような空間・環境作りができれば良いと思います。
まだ先の見えないプロジェクトですが、今後もこの記事のアップデートを重ねて参りますので、今後もご注視下さい!