こんにちは、現コンパ係の14のまーぼうです。
合宿お疲れ様でした!皆さん楽しんでいただけたようでよかったです。 


今回は、前から作ってるSRPGの進捗報告……ではなく、1週間ぐらいで作ったパズルゲームの紹介です。どういう感じで制作したかを企画メインで記事にしていきます。

※注意
この記事は、私がどのようにゲームを作っていったかをまとめ書きました。人に見せるためではなく、自分が後で振り返られるようにするための文章なので、余分な内容が多いです。そのためかなり長くなっています。ご注意ください。


~制作経緯(内輪ネタ多め)~
あるコンパ係の合宿についての話し合いにて。
「クイズ企画の景品何にするか~?」
「ん~、電子回路セットとか?」
「いいねぇ~、ロ技研らしいのたくさんいれようぜ」
「んじゃあ、機械系として定規もだな」
「何かゲームを買ってきてそれも景品にしようぜ」
こんな流れの時、工場長がこんな発言を。

工場長「何言ってんだまーぼう、ここはまーぼうが作るしかねえだろ」

続いてみやびちゃん。

みやびちゃん「それいいじゃ~ん、ついでに1位の景品にして『なんだそのオチ』ってオチにしようぜwww」

……という事で作る羽目に。

~おおまかな企画内容~
こんな感じで作ることが8月中旬に決まったのですが、
9/13 GAME^3
9/23 合宿へ出発

というスケジュール。GAME^3まではSRPGの進捗を生まないといけなかったので、作業できるのは9/14~9/22。合宿の準備とF^3RCのコンパ準備と並行しつつだと全然作れる時間が無い!という事で、どんなゲームにするかは次のように考えていきました。

(1)作るべき画像素材が少ないようなゲームにする。
(2)コンパの景品なので、複数人で遊べるものにする。
(3)誰が遊ぶかは分からないので、ルールと操作方法は簡単なものに。また、操作はキーボードかマウスのみ。
(4)自分が短時間で作れそうなゲームを、作り慣れている開発環境で作る。
(5)面白くなくてもクソゲーでもいいので、とりあえず形にするのが最優先。

このように制作の制約が多かったので、ゲームの内容自体は2時間程で決定しました。企画がおおよそ完成するまでの流れをまとめるとこんな感じ。

・複数人の行動を同時に処理するゲームを作ったことがない。
→ターン制で交代しながら操作するゲームにする。
・画像素材を減らすために文字を多用する。
→数字を用いたゲームにする。
これらの考えからパズルゲームに決定。


普段SRPGを作っているせいか、頭の中で下のような盤面でプレイするように頭が働く。
stage

「ここに数字を入れていけばいいのでは?」となり、「数字を並べる」と考える。

「タテとヨコに数字を読み、その合計で得点を競う」というゲームコンセプトが完成。
捻りを入れるために、符号(+、-、×、÷)を入れ、読む方向をランダムに。

このような感じでルールを決定。タイトルは、小学校の時にやった百マス計算から連想して「ろくじゅうよんますけいさん!」にしました。また、盤面の大きさは偶数にしないといけないのと、int型の値の最大値から考えて縦横8マスに決定。

~細かい企画内容(ルール設定)~
まず、大まかに企画した段階で次のようなルールが存在。

〇二人で交代しながら、8x8の盤面に「0~9の数字」または「符号(+、-、×、÷)」を一つずつ入れていく。
〇全てのマスが埋まったらゲーム終了。得点の多いほうが勝ち。
〇ゲーム開始時に、「=」を各行に左右どちらか、各列に縦横どちらかにランダムで配置。
〇得点は次のように計算する。
・先攻は横に、後攻は縦に数字を見ていく。以後、先攻の得点計算を説明する。
・各行を「=」のあるのと逆方向から読んでいく。読み取った式の値をその行の「行の点数」とする。
・8個ある「行の点数」 の総和がプレイヤーの得点になる。

という事で下のようなゲーム画面になるようにイメージしていきました。
titlebackpic
しかし、このままではルールに穴があるので以下を補足。

〇「÷0」という計算が出てきた時はバグが発生するのでこれの処理として、「÷0という計算を作ったプレイヤーは、その瞬間に負けとする」というルールを追加。(÷0即死ルール)
〇「÷0即死ルール」のために、常に式を作り、得点を計算する仕様にする。得点の計算時点で「÷0」を検出する。
〇式を作る際、途中に空欄がある場合、そこの文字は飛ばして式を作る。 
〇プログラムを組んでいる時に決めたが、式を作る際、符号が二つ以上連続して並んでいる際は、一番最後の符号を計算に用いて、それ以外の符号は無視する。理由は処理が楽だから。
〇じっくり考えすぎるとつまらないので、10秒の制限時間を設ける。間に合わなかったら勝手に手を打たれる。 

このようなルールで実装しました。

~細かい企画内容(操作方法等の仕様)~
操作方法はとにかく分かりやすくするためにマウスを利用。左クリックとマウスの移動だけで操作できることを意識した。

ゲームの流れも
「先攻が手を打つ場面」→「プレイヤーを変える場面」→「後攻が手を打つ場面」→「プレイヤーを変える場面」……
を繰り返していけばいいルールなので、これ以上は複雑にはしなかった。最後に結果発表の場面を入れた。

~実装~
さて、ここからプログラミングの話に入ります。やっとロ技研らしい話に……なりません。
9/14から実装を始めようと思ったら、一気にコンパ係の仕事が入ってきたのですから。結局合宿前日にゲーム部分を徹夜でなんとか書いて終了です。
実際に描いた画像はタイトル画面(ひとつ前の画像)を含めて8個です。少なくなって良かったです。
効果音、BGMは時間が足りず付けられず。残念。

ゲームのスクリーンショットはこんな感じです。スクショ


~改善点~
色々改善点があったので(というか改善点しかない)、数点書いておきます。
・BGM、効果音が無い。
・アイコンがオリジナルのものではない。
・予想外だったが、最後の最後でひっくり返る事が起こり得ないので「投了」のコマンドがあるとよかった。
・1Pが動かしているのか2Pが動かしているのかが分かりづらい。
・フルスクリーンモードで起動するとマウスが表示されないのでゲームができないし終わらせられない。
工大祭では、ここを直して展示します。

~制作後(オチに入ります)~
なんとか作ったゲームをUSBにいれて持っていき、クイズ大会も終わって景品の発表。
さて、プロジェクターで前に映して公開デバッグだ!

起動
 ↓
なぜかフルスクリーンモード
 ↓
マウスが何故か表示されない
 ↓
プレイできない!
 ↓
「集合写真の撮影に移りま~~す」

発表経験の無さがモロに出てしまいました。次からはもっと準備しないといけないですね……。


今回は以上です。ここまで読んでくださった方々、ありがとうございました。