趣味プログラマによるOSS開発日誌

趣味で作っているOSSソフトウェアの紹介や関連技術の紹介、楽曲製作、Webデザイン勉強状況を紹介します。

自作ゲーム「eriKs」の開発

今回は、ここ1年(正確には去年の9月から開発開始したので、4ヶ月)の間開発を進めている、スキル使用型STG「eriKs」を紹介。
紹介といっても、ゲームシステムやあらすじは完成してから公開したいと思うので、開発状況を書くことにする。

「eriKs」は非公開分を考えると、「confetti」(弾反射型STG = RTG)に続く4作目の作品で、音楽・グラフィックス・ストーリー・プログラミング(スクリプト含む)・ライブラリの作成を全て1人で行う予定。
今まで、自分で作成したゲームが完成したことが無かったのだが、今回は全て1人で作るという意気込みのもと、開発を進めている。
どれも凡人レベルのもので、複数人の開発よりも、クォリティが低くなること間違いないが、1人で作ることにより「自分が作りたい世界観を正確に再現できる」し「個性が出る」ので、1人ということにこだわった。

現時点での開発状況は以下の通りで、まだまだ完成までは時間がかかりそう。

・ライブラリは自作ライブラリ「MAPIL」を利用、ライブラリはバグ修正のみ
・ゲームシステムは75%程度完成
・1面のボスの途中までスクリプト完成
・敵キャラのグラフィックスの完成度はほぼ0%
・1面のBGMは(ステージ・ボス)共に完成(出来についてはお察しを。)
・ストーリーは、概要部分が完成

未完成な部分が多いが、現時点のゲームのスクリーンショットを載せてみる。
プレイヤーが見えないのは、無敵時間中で点滅しているからであるが、自機の絵はまだ完成していないので、良かったのかも。



自作ライブラリに関しても少し書いてみる。


DirectXに出会ってから、ゲームを作るための「ライブラリ」の作成に時間をかけてしまい、自分でも何を作っているのか分からなくなった時期があった。
具体的には、DirectXOpenGLOpenALGTK、Win32APIなど、複数のプラットフォームに依存しないライブラリを作成していた。それも2年間くらい。
多分、MAPILの形になるまでに3回はプログラムを書き直した気がする。

そんな中、見つけた記事がこれである。
http://blog.livedoor.jp/tek_nishi/archives/7119481.html
まさに自分はここで紹介されている「自作ライブラリ症候群」にかかっていたのだと思う。
手段が目的になっていることに気がついたのは、社会人になったことで時間を有効活用するってなった時にこの記事に出会ったため。
「本当に作りたいものは何か?」を考えることで、やっとのことで「自作ライブラリ症候群」から抜け出せた。
まあ、幸いライブラリがある程度完成したので良かったが、汎用性を持たせようとライブラリを作成する時間があったら、そんなのSDLとかに任せればいいよねと、今ではつくづく思う。

しかし、ライブラリを作っていた時間がすべて無駄だったかといえば、そうではないと自分は思う。
汎用性を持たせるために、どのような設計を行い、どのようなデザインパターンを適用したらよいかなどを考えながら、プログラムを書くことができたし、その途中で様々な知識を得ることができた。
ただ、それはあくまでもライブラリ作成なのであって、ゲームを作成しているわけではない。
プログラミングの上達をする上では、ライブラリを作るということは、貴重な経験になるだろうが、ゲームを完成させるという意味では、いらない過程なのである。

そんなわけで、同時平行で進めている3Dゲームの開発にはUnityを使ってます。