突発企画!!言語別ゲームコーディング

どうもこんにちは、香咲だよ!

事の発端は講義中の「あーまるばつゲーム、もっと要素増えないかなぁ」という妄想。
従来のまるばつゲームは3×3マスのボードに○と×を配置し、先に3つ並んだほうが勝ちというものでした。

それに色を加えたらどうなるんかなぁと思ったんですね。
自分と相手で赤か青を持ち、○か×をチョイスしてセットします。
自分の色が3つ並ぶか、自分が置いた記号が3つ並べば勝ちというものです。
つまり相手の置いた○や×も利用できるということですね。

しかしながら、わたしは何一つプログラム言語を習得していないのでこの発想をどうすることも出来ずに、ノートの片隅に書きおいていたのでした。

後日。
部室で団欒していた時のことです、ふとノートに書き置いていたゲームのことを思い出したのです。
そのことをその場に居た123先輩に言った所「おもしろいんじゃないかな」といってその場に居た部長とリコシア先輩を捕まえて計画は実行されたのです。

「同じゲームをそれぞれの言語で作れるか」

123先輩はC++/DxLib、部長がJavaScript/jQuery、リコシア先輩がRuby/DxRuby、そしてKoipod先輩がC++/Consoleでの参戦でした。
その時私はコーディングが出来なかったのでBGMの制作にとりかかりました。DTM研だったので。

しばらくしてBit先輩とがる先輩が登場。程なくして参戦を表明。
Bit先輩がC#、がる先輩がJavaでした。

私がAメロに手こずっている頃、Koipod先輩が書き上がりました、早い。
f:id:syoriken:20120521005606p:image:w400
行と列を指定して○と×を配置するというものでした。

しばらくして私はBGMを仕上げました。もうあんなにテンションの高い曲書ける気がしない……。
作ったBGM

その後Bit先輩が完成。
かなり見やすいGUIになっててやりやすかったのですが、なぜか最初の1フレーム目で描画に失敗しているらしく画面が真っ黒。
関係ないところをクリックしてからのゲームスタートでした。
音楽のループも導入して完成。

続いたのがリコシア先輩。
f:id:syoriken:20120521005607p:image:w400
なぜかWMPで予めBGMを再生しないと無音でのプレイとなる謎仕様でしたが、右クリック、左クリックで○と×を切り替えるという親切設計。
しかし、Rubyらしいコーディングではなかったようです。よくわからないですが。

私はここで晩ご飯のため帰宅しました。
翌日部室に来てみると、ホワイトボードに大量の考察が。
そして、「先手必勝の神ゲー」の文字。
詳しく聞いてみると、せっかく作ったんだから遊んでみようという流れになり、実際にやってみたものの「どうあがいても先手が勝つ」と言う仕様だったらしくゲームとして成り立っていなかったそうな。
ゲームバランスについては何も考えていなかっただけに盲点でした。
それから先輩方はルールに思い思いの改良を加えたらしく、改訂版を完成させたとのこと。

Bit先輩:勝利条件の3つを4つに変更。
f:id:syoriken:20120521005603p:image:w400

部長:ハードブロックの配置。
f:id:syoriken:20120521005608p:image:w400

123先輩:制限時間を設ける(3秒/1手)。
f:id:syoriken:20120521005605p:image:w400

がる先輩:スコアアタック方式に変更。
f:id:syoriken:20120521005604p:image:w400

とまぁ一つの案がそれぞれの形を持ってゲームになりました。
ゲーム作れるって凄いですね、しかもこれを2日くらいで仕上げてました。

部長曰く、「こんなふうに突発的に企画が起きるのも久々だね、もっと頻度を増やしたいよ」とのこと。
またなにか思いついたらBGMを用意しつつ、提案してみたいものですね