光の弾幕

Silverlightでゲームを作ってみた。
* 光の弾幕 >> http://miku.motion.ne.jp/hikaru/bullet/

降ってくる弾をただひたすら避けるという、ストイックなゲームです。

この女の子は何?って思った人は、台湾 Microsoft Silverlight 公式ページを見てみよう。
>> http://www.microsoft.com/taiwan/silverlight/default.htm
・・・チャイナ服だった(*^^*)、旧正月らしい・・・相変わらず、台湾はやってくれる。
ゲーム中で使っている光のCGは、以下の ebiさん作の3Dモデルを画面キャプチャしたものです。
* 3DCG: 藍澤光 >> http://www.cg-site.net/products/95225
これがまた素晴らしい出来なので、ぜひ元の3Dモデルを見てください。
ゲーム作りにあたっては、以下のソースを参考にしました。
* Nendo Labo --「弾ヨケール」ソース公開
>> http://nendo.e-adoresu.com/blog/?p=702
どうもありがとうございます。そこで、私もソースを公開することにしました。
ゲーム終了後、ネットランキングに登録すると、ソースのダウンロードができます。
自分でもこんなゲームを作ってみたいと思った人、参考にどうぞ。
開発には Visual Web Developer 2010 Express (無料) が必要です。

そもそも、なぜ Silverlightでゲームなのか?
きっかけは、このシミュレーションにありました。
* コーヒーミルクのマーブル模様 >> [id:rikunora:20110113]
Silverlightでたくさんの粒子を動かす、というシミュレーションをやってみたところ、
思ったより簡単にサクサク動くということがわかったのです。
パソコンの性能にもよるのですが、200個くらいなら、わりと普通に動作する。
500個でも、まだ大丈夫。
1000個はさすがに重たいけれど、それでもハングアップすることは無い。
で、このたくさんの丸い粒子が動くのを見ていたら、ふと、弾幕を出したくなってきた。
これだけたくさんの弾が出るのだから、出せと。
・・・そしてこのゲームになったのです。

Silverlightは、よくFlashJavaと比較されるテクノロジーです。
私は実際に FlashJavaも使ったことはあるのですが、比べてSilverlightの良い所は何か、
それは、
 光がかわいい 開発ツールが素晴らしい!
ということです。
とにかく Visual Web Developer が、かゆいところに手が届くような動きをします。
細かな使い勝手なので言葉にしずらいのですが、例えば、
・補完がしっかり出てくるので、言語を覚えていなくても、なんとなく作れてしまう。
・エラーメッセージがしっかり出てくるので、詰まってしまうことが無い。
・困ったときには、とにかく[F1]キーでHELPを呼び出せば何とかなる。
・綴りミスが出にくい。使っていない変数には警告が表示される。
・なんとなく思った通りにデバッグできる。
などなど。
これだけのツールを Express版として無料配布しているとは、さすがMicrosoft、太っ腹です。
たぶん、最終的にできることは、FlashSilverlightもそれほど大きく違わないと思うのです。
だったら、使い勝手の良い方がサクサク作れるだろう、ということで Silverlightに移りました。

あと、言語戦争にならないように付け加えておくと、
Silverlight(C#)、Flash(ActionScript)、Java の3つは、実はよく似ています。
なので、どれか1つ覚えておけば、他にもつぶしが効きます。
実際、私が1つ前に作った粒子のシミュレーションは Flashからの移植でした。
よく最近は、FlashSilverlightも、いずれHTML5に取って代わるのではないか、と言われています。
でも、HTML5の仕様をつらつら眺めてみると、実は Silverlightによく似たところがあります。
目的が同じであれば、テクノロジーも似てくるんです。
なので、私は言語の違いといったものをさほど気にしてはいません。
もし世の中が HTML5に移行したら、きっとそのときは HTML5弾幕を作ります。

参考: 光で始めるSilverlight >> [id:rikunora:20101012]