Siv3D Advent Calender 2015 25日目です。
自分はゲームプログラミングの初学者として感じたSiv3Dの魅力と、それを使って作っていきたい作品について軽く語っていきたいと思います。
今のところまだ文章しかない記事となってしまってますが、ご笑覧いただけると幸いです。
#Siv3Dとの馴れ初め
##ゲーム作り以前の障壁が自分には厚すぎた
自分が本格的にゲームを作っていきたい、とそう考えていたのは今から2年ほど前の事でした。当時あったいくつかのゲームエンジンやライブラリを手あたり次第試してみたのですが、どれも自分にとっては中々とっつきにくい印象を与えていました。
具体例を挙げますと・・・
####1.一つの機能を呼び出すのに覚えることがいくつもある
単純な図形や、或は一枚の絵を描画するのに、そのエンジン特有の手順を一々把握しなければならず、その一つ一つが地味に使いこなすためのハードルを上げてしまっていました。
####2.動かす為の準備が煩雑
そもそも制作に取り掛かる前の下準備が面倒だと、それだけで気が滅入る人は私だけではない筈と信じたいです。
####3.低レベル処理を実装するというハードル
ゲームライブラリにおいては、衝突判定やシーケンス遷移といったゲーム作りにおける低レベルな処理を自力で実装する必要がある場合があります。が、それらはいずれも煩雑なコーディングを要求されたり、技術的に専門性の高い場合が多く、それらの実装のみに時間の大半を取られがちです。
####4.ゲーム作りの学習に必要な環境を整え辛い
例えばゲーム作りの関する書籍にかかる費用は決して安いモノではなく、インターネットを頼ろうにも、ゲームエンジンによっては日本語の資料をお目にかかることすら叶わない事が多いです。
果たして、C++やC#の文法ばかり覚えていき、肝心のゲーム作りの為の勉強が全く進まない状況に欝々とした気持ちを抱きながら1年を過ごします。
##こんなライブラリがあったのか!
そんな時に、去年のちょうど今頃にSiv3Dと出会いました。初めは「当たり判定を実装してあるゲームライブラリが欲しい」という軽い気持ちでライブラリをダウンロードしたのですが・・・
####1.最小限のC++の記述で必要な機能を簡単に取り出せる
キー入力は勿論、当たり判定等も全部一行で書けます。更に、前者は入力状態の検出、後者は異なる図形との組み合わせ等も初めから使えます。
####2.導入も単純、準備はほぼインストールのみ
用意するのは無料でDL出来るVisual Studioだけという簡単設計。ダウンロードしてインストールすればその瞬間から使えます。
####3.痒い所に手が届く仕様
先程述べました当たり判定は勿論、ゲーム作りでは避けて通れないシーケンス遷移もバッチリサポートしております。また、シェーダーやエフェクト、多数のサウンドファイルの扱い、動的配列とそれを活用するためのアルゴリズム、更にはインターネット接続までサポートしています。
####4.学習をサポートする恵まれた環境
Siv3Dのホームページには、学習に最適なサンプルコードが豊富に用意されており、創作の参考になるような素晴らしい作品群にも触れることができます。また、Siv3Dに関する疑問、要望等はTwitterにて開発者本人に気軽に相談することができます。
ここまで至れり尽くせりなライブラリがあったのか!?っと、当時の自分が感じた衝撃は今でも心に焼き付いております。何せ、作品作りに必要なコードを書くことだけに力を注げば良いのですから。もしもSiv3Dに出会っていなければ、人前に出せるような面白いゲームを完成させる事など夢のまた夢に違いなかったでしょう。
#Siv3Dで作っているものについて
そんなこんなで現在の自分は、最早夢でなくなった面白いゲームの完成に邁進しております。
2016年1月29日~30日にて開催される「デジゲー博SPECIAL in 闘会議2016」にて頒布するゲーム、正確に言えばゲームの体験版を作っています。詳しいことはサークル一覧の公開に合わせて追記してい来ますが、ごくシンプルなSTGながらも本格的なコンピューターゲームを呼べるようなものとなるよう、現在制作にいそしんでおります。
#最後に
「プログラムに関してはド素人も同然な自分でも、こんなに簡単にC++でゲームを作れる。そう、Siv3Dならね」と、色々な人の前で冗談めかしながら言えるような作品を作る、これから作る作品をその嚆矢とすることを目標に、明日からも頑張っていく所存です。
最後になりましたが、Siv3D Advent Calender 2015参加者様の皆さま、そして開発者のReputeless様に深くお礼申し上げます。
どうか皆さま、良いお年を。