2010/1/25 月曜日

【社長雑記】NASAの1人乗り電気飛行マシンを見て思う事。

カテゴリー: 代表飯島エントリ, 社長コラム, 面白いもの — fmfm-admin @ 19:35:14

皆様こんにちわ。
ふむふむソフト代表取締役の飯島です。
 
 
WIRED VISIONさんにこんな記事がありました。

NASAの1人乗り電気飛行マシン『Puffin』(動画)

動画がこちら。

NASAのエンジニア(私の中ではすげこまくんみたいなイメージ)が考案した一人乗りの超カッコイイ乗り物なのですが、私が見た時の最初の印象。
 
 
シルエットが、ディズニー映画「ブラックホール」の
「マクシミリアン」みてぇ!!

maximilian
 
 
マクシミリアンの画像検索結果

カラーリングはガンダムっぽいですが、接地している時のシルエットや、武器がグルグル回って人が殺せる(アンソニー・パーキンス等)といった設定も含めて完璧です。
 
 
それにしても、生粋のVTOL機マニアの私としては、テールシッターってある種の人々の心をつかんで離さないんだな、と思うと大変胸が熱くなります。
いい加減懲りろよ。
 
それでは失礼します。

2010/1/21 木曜日

一晩中HALO3/HALO3:ODSTで遊んでヒーローになろう。

カテゴリー: game, 宣伝・告知, 社長じゃない人エントリ — chiztek-team @ 17:08:40

最近はCall Of Duty:Modern Warfare2で遊んでばかりいます。アブラタニサン!!
皆様いかがお過ごしでしょうか?ふむふむソフトの開発チームです。

ハイチの大地震の様子が連日報道されています。北京の大地震よりも被害規模が大きいとの話も聞きます。
何かしてあげられる事があるかというと募金くらいしかないわけなのですが、『ドコにダレにお金を渡せばそれがナニに使われるのか』がハッキリ分からないと身動きが取りづらいものです。
世界的にこれに便乗した詐欺も流行っていますし・・・。そもそもお金がないよおおおお!!!
と、何かしたいけれども何も出来ていない、そんなゲーマーさんに耳寄りなチャリティイベントがあります。

その名もBE A HEROキャンペーンです!!

日本語での解説はこちらです。
『Halo 3』関連情報 「BE A HERO」ハイチ支援チャリティーイベントのお知らせ

開催期間は日本時間で1月20日(水)17:00~1月22日(金)14:59の2日間です。今まさに真っ最中ですね。
用意するものはXBOX360とHALO3かHALO3:ODSTかのどちらかのタイトルです。

で、どうすればいいのかといえば・・・自分のアーマーに指定エンブレム(ハートです)をつけてオンラインでプレイするだけです。
この二日間にそのエンブレムをつけてプレイしたユーザ数をカウントし、そのユーザ数に応じてBungie社が赤十字に対して募金を行います。1000ユーザがプレイする毎に100ドル募金するそうです(※)。
1ゲーム参加するだけでもカウントされるそうです。

※ユーザが直接募金するわけではありません。赤十字の活動についてはtwitterなどをチェックしてみてください。

lovechief

Bungie社はカトリーナ被害チャリティの時も出していましたが、今回もTシャツ出してます。
こちらに関しては1枚あたりどのくらい寄付されるかがぱっとみたところ見当たらないですね。欲しい方はどうぞ・・・という感じでしょうか。

カトリーナの時は19ドル99セントのシャツを購入すると15ドルが寄付というかなり太っ腹なことをしていたらしいです。
で、結局かなりの額が集まり、それを『haloファンのみんなからだよー』といって赤十字に寄付したとの事。Bungie超いいヤツじゃん!!
とてもかわいいデザインだったので欲しかったのですがすぐ完売してしまって・・・。

そんな訳で私も今夜はヒーローになろうと思います!!

以上、よろしくお願いいたします。

2010/1/20 水曜日

【地味な研究シリーズ】 SilverlightのWriteableBitmapとFlashのBitmapData。

カテゴリー: 代表飯島エントリ, 地味な研究, 技術情報, 社長コラム — shinji-i @ 18:48:22

30万パーティクルのサンプル

皆様こんにちわ。
ふむふむソフト代表取締役の飯島です。

前回に引き続き、SilverlightのWriteableBitamap話です。

私がWriteableBitmapに興味を持ったきっかけですが、そもそもはFlashのBitmapDataをいじくっていて、その関連で知った「Adobe Alchemy」という技術とそのサンプルです。
(※ Alchemyとは、平たく言うと「FlashをC++で書いて速くなる」みたいな技術です。)

Flash 10, Massive amounts of 3D particles with Alchemy (source included). 翻訳
Flashのサンプルはコチラ

AlchemyとPixelBender(Silverlight3のピクセルシェーダーのもっと気の利いた版です)という記述を駆使して30万パーティクルを動かす、というサンプルを見て「こりゃスゲェ。私もAlchemyやってみるかな~。」と思い立ち、Cygwinを入れたりなんだりしていたわけですが、ようやく開発環境が整ったところで、今度はこんな記事を見つけてしまいました。

青柳 臣一 ブログ(総合)[Silverlight] Parallel で最適化してみる例

先のくるくる回るオウム貝みたいなアレをSilverlightに移植した人の記事です。
記事のメインは「Silverlightのマルチスレッド」についてがメインなのですが(これはこれで大変興味深い)、問題はそのリンク先にある「マルチスレッドに最適化してない(普通にC#だけで書いた)サンプルが十分速い」という事なのです。

問題のサンプル

つまり、Silverlightが持つ低レベルな描画や演算処理そのもののポテンシャルはかなりのものなのではないか、と思い、現在ごそごそと地味な実験を繰り返しているわけです。

今なお検証中ですので、また面白い実験結果が得られ次第、こちらのBlogで発表したいと思います。
もちろん大変偏った内容なのは言うまでもありませんが。

それでは失礼いたします。

2010/1/18 月曜日

【地味な研究シリーズ】SilverlightのWriteableBitmapの高速化。

カテゴリー: 代表飯島エントリ, 地味な研究, 技術情報, 社長コラム — shinji-i @ 18:16:27

皆様こんにちわ。
ふむふむソフト代表取締役の飯島です。

ひさびさに地味な研究結果を発表したいと思います。
今回はSilverlight3から搭載されたWriteableBitmapについてです。

WriteableBitmapとは簡単にいえば「書き換え可能なビットマップ」です。
WPFには以前から搭載されていたようですが、Silverlightにも3から搭載されました。

さて、このクラスを使うメリットは「ピクセルを直に触れる」ことにあります。
本来であれば、XAMLの高度な描画メソッドを使ってバリバリ描画していくのがSilverlightのあるべき姿なんでしょうが、ピクセルが触れるとなれば黙っていられないのがVGA(DOS)時代のPCゲームにヤラレちゃってた人間の性なのです。
私の場合、DirectDrawはもちろん、WinGの時からそうだったのですから仕方がありません。

話を戻しましょう。
このSilverlight3のWriteableBitmapは、ピクセルがint型の配列になっています(pixelsメンバ)。
(この時点でVGAの13hモードのVRAMを思いだして胸が熱くなります)
この配列のintの値は「ARGB(各8bit)」になっており、配列の長さが「ビットマップの幅×高さ」になっています。
ちゃんとαチャンネルの値を保持できる辺りも嬉しい限りです。

この配列に対して、シフト演算子でARGBの値を使ってint型を作って、「幅×y座標 + x座標」みたいな感じでpixels配列にセットすればその部分のピクセルの色が変わる、というある種の方々には大変直観的な設計になっています。

が、タダの配列とはいえ、細々とアクセスをしていると「?」となるくらい遅くなる時がありました。
そこで、モノは試しで「ダブルバッファ」をやってみたのがこのサンプルです。

Silverlight3 + WriteableBitmapのダブルバッファサンプル
(※動作にはSilverlight3が必要です)

ソースコードはコチラ
(要Visual Studio 2008 + Silverlight3 SDK)

やっている事は「600×400ピクセルのWriteableBitmapに同じ色をセットする」という処理なのですが、二通りの方法でテストしています。
まず、通常(赤)と書いてある方が、ループでピクセル(赤)をセットする方法です。
そしてダブルバッファ(緑)という方が
・pixelsと同サイズのint型の配列を作る
・その配列に対して同じくint型のピクセル(緑)をセット
・配列の「CopyTo()」を使って、pixelsに一気にCopy
という手順を行っています。
どちらも画面更新(Invalidate())のタイミングに違いはありません。

見た眼は死ぬほど地味(色は派手)ですので、興味が無い人には全くもってアピールのないサンプルですが、注目して頂きたいのはそれぞれの処理を行っている時のフレームレートです。

私の環境では、
・通常(赤) : 150fps前後
・ダブルバッファ(緑) : 180~190fps前後
となっています。
一見余計な手順を踏んでいる後者の方が、30~40fps(20~25%)ほど速いのです。

一応、弊社内の色々なPCで試してみましたが、大体
・緑の方が速い
・赤と緑で差が無い
というケースに分かれ、(本来そうなりそうなものなのですが)少なくとも緑の方が遅くなる、というケースは見受けられませんでした。
皆様の環境での差も教えて頂きたいところです。

なぜこのような差が発生するのか理由は不明ですが、「pixelsってアクセス時に何がしかのチェックロジックが走る」という事なのでしょうか…?
なんにせよ「やっておくと多少速くなる『かも』」なテクニックとして試して頂ければと思います。

なお、今回のサンプルコードでは、フレームレート処理部分にblog.sph62.net様の「SilverlightでFlash的なパーティクル(サンプル)」という記事からコードを拝借いたしました。

それでは失礼いたします。

2010/1/6 水曜日

あけましておめでとうございます。

カテゴリー: ご挨拶, 社長コラム — shinji-i @ 17:47:12

皆様、あけましておめでとうございます。
ふむふむソフト代表取締役の飯島です。

ホントはもっとゆっくりしていたかったのに、曜日の関係で
さっさと仕事始めを迎えてしまってしまった方々も多いのではないでしょうか?
少なくとも弊社(っていうか私)はそうです。
Fuckn!!(ふっくん)
 
 
さて、弊社の今年の抱負としましては、
守秘義務に守られた実績を人知れずこなしつつ、
思いついたようにまた意味の分からないものを出していく、
つまるところ例年通りの調子でやっていけたら良いな、
などと考えておりますので、
皆様、本年も弊社を何卒よろしくお願い申し上げます。

HTML convert time: 0.363 sec. Powered by WordPress
Copyright (C) 2007 fmfmsoft corp.