Hatena::ブログ(Diary)

小人さんの妄想 このページをアンテナに追加 RSSフィード Twitter

2011-01-24

光の弾幕

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

三毛公爵三毛公爵 2011/01/29 15:53 チャイナドレスの台湾GJです( ̄ー ̄)bグッ!

このゲームの追跡してくる弾幕をかわすのは難しいっすね。

私はJavaをメインにC,VHDLと使っていますね。
Cで言語をかじりなんとなく有名なJavaを始めたら回路そのものをいじくれるVHDLにはまったという感じで言語戦争とはほど遠い場所にいます(´・ω・`)

でもやっぱり言語によって向き不向きや手の届きやすい届きにくいっていうのはあるんですね。

今修論で忙しいので、余裕ができたら多言語に接してみたいですねぇ。やりたいことが多くて爆発しそうです。

rikunorarikunora 2011/02/04 10:19 台湾にはこのまま突っ走って欲しい。日本MSも少しは見習え。
追跡してくる弾幕は、作者も避けられません。
でも1000点越えた人は避けているはずです・・・どうやってるんだろう?

VHDLとは、これまた分野を特定した言語ですな〜。業界の人しか触れることが無いのでは。

修論がんばってください。やりたいことがたくさんある、っていうのはいいことです。
私もやりたいことはたくさんありますが、金と時間はありません(笑).

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/rikunora/20110124/p1