CTRLでの活動を振り返る
この記事はTCU-CTRL場外乱闘AdventCalenderの12月15日の記事です。
前回の記事はこちらです
はじめに
こんにちは、CTRL B2のやっさんです。
普段はC++とSiv3Dでゲームを作っている元人間です。
書きたいことが特にないので、今回は自己紹介も兼ねて自分がやってきたこと(ゲーム制作に関して)を振り返ろうと思います。
C言語を知る
中学生のころに東方プロジェクトを知ったのがプログラミングに触れたきっかけです。
東方(原作)はZUNさんが一人で作っていると知って、僕もゲームを自作したいと思い、プログラミングの勉強を始めました。
中学2~3年の間、柴田望洋のC言語入門書と苦Cを活用して、なんとかプログラミングの基礎は身についたのですが、結局ゲームを作ることはできませんでした。DXライブラリも挑戦したけど理解不能に陥り諦めました。
ゲームを作った
去年(ほぼ一昨年)、僕は大学生になり、CTRLに入り、中学生以来止めいたプログラミングとゲーム制作に再挑戦しました。
CTRLに入って、最初に作ったゲームが「弾幕エアホッケー」です
その名の通り、弾幕を避けながらエアホッケーをするゲームです。
C++とSiv3Dの勉強として作り始めたのですが、作り始めると際限なくこだわってしまい、ソースコードの行数が7359行(空行含めず)にも及ぶかなり気合の入ったゲームとなってしまいました。
初心者はミニゲームを作って効率よく技術力を高めていくべきですが、この時の僕はとにかく「自分が好きなゲームを作りたい」という気持ちが強く、圧倒的技術不足に悩まされながらも5、6か月かけてこのゲームを完成させました。
ソースコードは当然汚く、泥臭い……(コピペの嵐、if文山脈、大量のクラス神)けれど泥臭いソースコードを平然と書けたあの時だからこそ、作ることができた力作ゲームです。無知の利ですね。
1024個のインスタンスを手動(for文使わず)で生成していた後輩には、ぜひその愚直さを忘れないでほしいと伝えてあげたいものです(内輪ネタ失礼しました)。
ちなみにCTRLのホームページからソースコードと実行ファイルがダウンロードできます。興味のある方はぜひダウンロードしてみてください。
ゲームを作る力が消滅した
クソコードへの抵抗感がゲーム制作においては一番の邪念なんじゃないかと思います。
”弾幕エアホッケー”を作って以降、僕はいつまでもクラス設計とか上流工程(?)にこだわり続けて、ゲームが一向に完成しないという事態に陥りました。泥臭い下流のプログラムを避けて上流に留まり、いつの間にか手段は目的となってしまっていたのです。
結局1年以上ゲームが作れないまま、今年九月に横浜祭を迎えました。
今年の横浜祭、CTRLは大盛り上がりでした。
先輩方の作ったUFOキャッチャーが1000人以上のお客さんを集めて、そして1000人以上のお客さんが部員の作ったゲームを遊んでくれました。ゲームを作る者にとってこれほど嬉しいことはないでしょう。
後輩たちの作ったフレッシュなゲームが遊ばれる中、弾幕エアホッケーもちょこちょこ遊ばれていました。
弾幕エアホッケーが遊ばれるたびに、僕が何もしていない人だということが露呈し、それを見せつけられて複雑な気持ちになりました。
そこでようやく「この一年間何もやっていないに等しい」ということに気づきまして、良くも悪くも、横浜祭が「ゲームを作らなければ」という気持ちを目覚めさせるきっかけとなりました。
リハビリ
横浜祭が終わったおよそ1ヶ月後には世田谷祭が迫っていました。
これまでに蓄えてきた技術をゲーム作りの土台へと昇華させるため、そして世田谷祭を空しい思い出にしないためにも、空いた時間はすべてゲーム制作に捧げました。
そして完成したのが「SnackUFO」です
飛んでくるお菓子を避けて敵を倒すという弾幕ゲーです。
このゲームでは色々なことに挑戦しました。コンポーネント指向を主軸にしたり、再利用性のない具象クラスや関数は作らずラムダ式で具体的な処理を実装したり、曲を自作したり……。なかなかハードな一か月でしたがゲーム制作の良いリハビリになったと思います。
しかし一つ残念なのは、このゲームがあまり面白くないということです......。
原因はおそらく誤ったゲーム思想です。できるだけ派手で簡単なゲームほど面白いという思想のもと、このゲームを作りました。派手というのは弾幕を多く出すこと、つまり難しくすることです。
簡単そうなゲームより難しそうなゲームの方がクリアした喜びは大きいし、難しいゲームより簡単なゲームをプレイするほうが苦しみは少ない、ならば見た目は難しそうだけどやってみると簡単なゲームが面白いゲームなんじゃないか、と考えたわけです。
もちろんそんな接待ゲームがウケるはずもありません。難しそうな見た目は人から拒まれますし、ゲームをやってくれた人には簡単すぎて肩透かしを食らわすというひどいゲームになってしまいました。
ほかにも色々失敗した所はありますが、一番大きな反省点はそこですね。
しかしゲームが完成しただけ、僕にとっては大成功です。
ゲームを作りたいという者へ
ゲームを作ることに熱意を持った人間はゲームを作ることで技術を得ましょう。
くれぐれも僕のような、技術志向に染められた元人間にはならないように。
長々とお目目汚し失礼しました。
次の記事はすにーかさんです。