■はじめに
現在、宇宙将棋というゲームをUnityで製作しています。
AIとネット対戦以外がほぼ実装できてスマホでの実機確認もできたので、この機にデザイナーズノートを書こうと思う。
AIとネット対戦が実装できたらスマホ版でストアに出そうかと思うけど、もしかしたらその機能が無くてもアプリでやりたいという人が居るかもしれないのでBeta版としてほとんどこのままストアにだしてみるかもしれない。
■目次
・宇宙将棋のアイデア
・テストプレイ〜ルール調整
・ゲームマーケットでの頒布
・Unityでの製作
■宇宙将棋のアイデア
宇宙将棋を作る際にはまず、ゲームマーケットの存在が大きかった。
ゲームマーケットとは個人が製作したアナログゲームを頒布するイベントで、わかりやすく言えばコミケのボードゲーム版だ。
個人でアナログゲームを製作するには同人誌と同じく元手が要る。
数を作るならなおさら。
アナログゲームが同人誌と違うのは作るゲームによって1つあたりの頒布物の元手が大きく変わるという点だ。
アナログゲームはゲーム毎にコンポーネントが大きく異なる。
同じゲームでも違うコンポーネントでバージョン違いとして作る事もできる。
コンポーネントは当然豪華なほうが基本的によい。
そこは予算との相談だ。予算がかさめば販売価格も高くなる。
販売価格が高ければ購入の意欲は基本的に下がる。
だからコンポーネントを工夫するのも楽しみの一つと言える。
ただ、ルール上絶対必要なコンポーネントの数というのは存在する。
僕は宇宙将棋の時がゲームマーケットに初参加だったので、予算の少なくてすむゲームを作るというコンセプトで作った。もちろん自分が面白いと思うゲームというのは言うまでもなく絶対条件だ。
ゲームマーケットには以前から500円ゲームズという500円で販売可能なゲームを頒布するという動きがあった。
500円ゲームズはカード10数枚程度を封筒などに入れて1つのゲームセットとするものがほとんどだ。
ラブレターなどのゲームが有名だ。
僕はタイルゲームに目を付けた。
コンポーネントを極力減らし、タイルのみでプレイでき、ボードが無い。
そしてタイルの数も何十枚と無くてもプレイできるものだ。
つまり宇宙将棋はコンポーネントの縛りが先で、その縛りの中から生まれた。
結果的には木製タイル12個とA4の説明書とそれらが入る小さな箱だけで500円で販売した。
このコンポーネントの縛りでゲームを作るにあたって借用したアイデア元がいくつかある。
まず、「はさみ将棋」
駒を駒ではさんで取るというアイデアはこれから来ている。
はさみ将棋は盤上の駒を動かせるのでオセロよりはこのゲームの存在が大きい。
はさむという動きを採用した動機は、宇宙将棋は少ない駒で相手の駒を取り合い、またタイルゲームなのでお互いの駒同士が密接している完成図が予想されたので将棋の様に直接取るのでは成立しづらいと考えられたからだ。
はさむと相手の駒を取れる処理はオセロの存在などもあり、直接取るの次くらいに直感的に理解しやすい。
次に「HIVE」
HIVEは六角形のタイルを使用したゲームでボードが無い。
手持ちのタイルをテーブルに置き、タイルの集まりを増やしていく。テーブル上のタイルは駒毎に決められた動きが可能で、最終的に相手の女王蜂を囲ってしまえば勝ちというゲームだ。
つまり宇宙将棋にとても似ている。ただし僕はこのHIVEというゲームはあまり面白いと思わない。
だから自分なりにこのゲームを新たに作り直したとも言える。
HIVEとの違いはテーブル上でタイルを広げる際の縛りがあることと、女王蜂以外の相手のタイルを取ることができる事と、囲わなくても挟めばとれることと、駒の動きにもっと個性があることと、六角形ではなく四角形であることだ。
テーブル上でタイルを広げる際の縛りがあることでテーブル上のタイルが拡散していかなくなった。これによってゲームの収束性が高まった。
女王蜂以外のタイルを取ることができる事と囲わなくても挟めば取れることで、ゲームのスピードが高まった。
囲うのは手数がかかるが挟むのは相手に妨害されなければ一瞬だ。相手が気づかなければ宇宙将棋は5手で終わる。そしてそういう事もよくある。王以外の駒も取れるので狭い中でガチンコの勝負をしている感じが味わえる。
取った駒を再利用できるのは将棋からアイデアを得ているが、それがないと駒の数が減って盤面の密度がどんどん減っていってゲームが収束しないと予想できたので将棋を知らなくてもこれは自然にできたルールであったと思う。
駒の動きのでき方は後述する。
タイルが六角形では無く四角形なのは六角形で安価でたくさん手に入るいい感じの素材がなかなか手に入らなかったというコンポーネント上の理由が大きく他にほとんど意味はない。手に入っていたら六角形で違うゲームができていたかもしれない。
ただし四角形にしたことで、次のHeredoxで紹介する宇宙将棋を特徴づけるシステムが完成した。
最後に「Heredox」
Heredoxは昔appStoreにあって目にしたタイルゲームだ。
現在もたぶん探せばあるんじゃないかな。
とても単純なタイルゲームで、四角形のタイルを交互に配置して自分の模様を作ると1つ1点で得点の多い方が勝ちというゲームだ。
基本的に山札から出てくるタイルの引き次第で、ちゃんとプレイすれば1点差か同点で終わるという引きゲーだ。
一度置いたタイルは動かせないという点は普通のタイルゲームであるものの、このゲームの特徴的なところは、全てのタイルが4×4に収まる必要があるというルールだ。
ただし4×4のボードが用意されてはいない。4×4のボードが用意されていては成立しないのだ。つまり最初に置かれたタイルからどの方向にタイルを広げるかはプレイヤー次第なのだ。
最初に置かれたタイルが最終的な4×4のどの隅にもなり得るので、ボードを用意するなら7×7のボードが必要ということになる。
この4×4に収めるというルールに、テーブル上の駒が動かせるというルールを組み合わせて完成したものが宇宙将棋のルールだ。
宇宙将棋では4×4にテーブル上の駒が収まっていれば現在の4×4からはみ出して移動する事ができる。だからボードは7×7では足りない。全ての駒が移動していけばどこまでも移動できるのでボードは無限マスが必要になる。
ボードが無いタイルゲームであるという正しい理由付けにもなった。
そして宇宙の名前を冠する理由にもなった。
このルールによってボードは無限なのに駒は密集したまま拡散していかずゲームは収束するという一見した矛盾点を解決した。
■テストプレイ〜ルール調整
駒の動きは将棋よりはチェスを参考にしているところが大きい。
将棋の駒はほぼ全てが前に向かって進むようにできている。だから入玉が詰ませにくい。チェスはポーン以外は全て点対象な動きをする。
はさみ将棋はその性質上全てが飛車の動きで点対称だ。前にも後ろにも左右にも全て同じように進めて差異は無い。
宇宙将棋もはさむという性質とゲームとして向かうべき向きが無いという性質から点対称が最も適していると思われた。
1方向にしか進めない駒が存在した場合、進むべきゲームの向きがそうでなくなった場合その駒は使い物にならなくなってしまう。入玉と同じような状態になりうる。そしてそれはこのゲームでは入玉より簡単に引き起こせて強そうだ。
その状態を狙い合うゲームになってはならない。面白くないから。
駒の数が王ふくめて6種類1つずつというのはなんとなくで適当に決めた。
4×4に収まる範囲でボード上の最大駒数が12個というのがなんとなく良さそうだと思った。
調整の余地はある。プレイしても現在疑問を感じていないからこれでそのまま変わっていないというだけだ。
各駒の動きについても適当に決めた。
そもそも点対称で4×4の範囲の動きというのはたくさんパターンが作れない。
各駒に上位互換、下位互換を作らないというのもパターンを作れない事に関わっている。それを許せば倍は増やせるがそんなに必要ない。
借りに上位互換下位互換を用意した場合、このゲームは最初からある手駒からあえて弱い駒を使うことはない。そしてその駒は多分ゲームが終わるまで使われない事が多い。
あって混乱するだけの不要なものは用意しない。
チェスでいうナイトの動きだけは採用があり得た。
ただしこれは強すぎるか使いづらすぎるのどちらかな気がした。
もしかしたら馬がこの動きだったかもしれないし騎の代わりにコレが採用されたかもしれない。そして強すぎも使いづら過ぎもせずちょうど良かったかもしれない。
そして僕は怠慢なことにそのテストプレイをしていない。
ぶっちゃけて言うと、
最初にテストプレイをしたときにこのゲームに調整が必要だと感じなかったから最初のテストプレイから何一つ変わっていない。
宇宙将棋は自分の頭の中だけで全て構成されて、テストプレイでなにも調整を受けていない自分の中でも珍しいゲームだ。
自分の頭の中だけでルールが作られたといっても、プレイしてみて全てが予想どおりだったら僕は面白いと感じなかっただろう。
ルールの中で想定外の事が起こるからこそゲームは面白い。
騎のルールも適当に決めた。チェスのナイトよりはこの方が良いと思えた。
結果的にこのゲームのルールに合っていて、そしてこのゲームを特徴付ける駒の一つにもなった。
説明書に書いて無く、テストプレイの結果加わった新たなルールというか注釈が一つだけある。
囲碁でいうコウのルールだ。
これの注釈がないと千日手が生じてしまうことがある。
テストプレイの前から懸念はしていたが説明書に書き忘れた。
というか説明書を書きながらこのゲームのルールができた。
裁定は囲碁のコウと同じく、囲碁のコウの状態になった時に囲碁のコウと同じ処理をする事で解決します。
■ゲームマーケットでの頒布
ゲームマーケットには宇宙将棋を50セット持っていった。
箱がちゃちかったが、会場でのルール説明で面白そうだと思ってくれた様なのと妹が売り子をしてくれたお陰で500円で全て売れた。
実はメイズ・ワンダーという別のゲームも同時に頒布した。
こっちも1500円で50セット全て売れた。
メイズ・ワンダーの話はこの記事からずれるので省略するが、このゲームもコンポーネントの縛りから誕生したゲームだ。
簡単にいうとカード16枚をボードとして使ってそのボード上で目的を達成する為に駒を動かし合うというゲームだ。
萬印堂さんのカードゲーム印刷スターターのプランに収まるカード枚数と自前のコンポーネントで完全オリジナルのギミック(自分の知っている限りは)で宇宙将棋と一緒に頒布した。
ちなみにゲームマーケットで出した際はどちらのゲームも堂本氷菓というゲーム制作者名を書いているが現在はダイキチで通っているしTwitterもダイキチだ。
この名前ももう変えようかなあとか思っていたりいなかったりする。
コロコロ変えすぎるのはあんまよくないし思いつかないからとりあえずこのままにしてる。
堂本氷菓に戻すのもありかもしれないしその前のDICEに戻すのもありかもしれない。
ちなみに堂本氷菓はDICEから来ていて(Domoto Ice)、雑誌に小説を投稿しようとした時に漢字が縦書きだと左右対称で氷の左上の点だけアクセントになっているのがかっこいいとか思ったからそう名乗ってた。
あとは生命判断で字画が良かった。アイスが好きだからなどの理由がある。
京アニの氷菓というアニメが放送されるよりは少し前だからあまり関係ないけどあのアニメも好きな方だから否定はしない。
■Unityでの製作
現在Unityで作っている理由はUnityがiPhoneとAndroidのどちらにもアプリの書き出しに対応している点が一番大きい。
それ以外には単純にUnityというソフト自体を使える様になっておきたいという理由もあるし、3Dという手を出していない領域にも興味がある。
宇宙将棋は3Dでなくても作れるが騎のせいでちょっとだけ3D要素が必要になる。
騎だけなら2Dで表現できるしそれでも構わないがそう言い出すとほぼすべての高さが必要なアナログゲームは2Dでも表現できると言えるし、今はそんな議論どうでもいいので結論宇宙将棋はデジタルゲームにするにあたって2Dでも3Dでもどっちでもいい。
ただUnityで3Dになって動いているのを見ると3Dにして正解だったと思える。
単純に分かりやすいし3Dかっこいい。
いまさら宇宙将棋を作っている理由は単純にこのゲームを僕が好きなのと、2年前にゲームマーケットで頒布した同人のアナログゲームなのに現在でもやる人がいるからという理由。
UnityではC#の言語で作っていて詳細は省くが自分はプログラマーでは無いしC#も初めてだしUnityの仕様自体もよくわからないところが多くて四苦八苦してるがなんとか作れている。
Unityはバージョンの更新が多いのが難点だが、チュートリアルもリファレンスも充実しているしネット上の記事も多くてなんとかなってる。
初めて触った言語で、動けば正義で進めてるから現在の宇宙将棋のコードはめちゃくちゃになってる。
今はどう書き直せば簡潔で可読性も高いコードになるかを分かっているから
そのうち書き直そうと思う。
ネット対戦ではほとんど影響を受けないだろうけど、AIを実装するならほとんど書き直さないと多分AIのコードもめちぇくちゃになる。
なのでAIの実装もネット対戦の実装もしてからストアに出すとなると結構まだまだかかりそうだ。
ネット対戦は個人的にはAIよりも知識が無くて謎の領域なところが多い。
そんなわけでやっぱりその2つが無い状態でBeta版としてストアに出してみるかなあ。
ちなみに開発者登録はappStoreよりplayStoreの方が断然安いので最初はplayStore(android版)にしか多分出さない。
終わり。





