2013/04/27(土) [n年前の日記]
#1 [prog] PyGameとDXRubyを別PCで動かして速度を確認
録画用PC上で動かしてみたり。以下のスペック。
スクリプトは、640x480、BGを1枚べた描き、64x64ドット x 512枚、を描画する内容。
AMD 785G (Radeon HD 4200) って、オンボードビデオとはいえ、それほど酷い印象は持ってなかったわけで。DXRuby も PyGame も、どちらもスルスル動くかなと思ったのだけど。結果は外れた。
DXRuby を使ったスクリプトは、ウインドウ表示、60FPSでスルスルと動いた。こっちはバッチリ。
PyGame を使ったスクリプトは、26FPS。DXRuby の半分にも達してない。ウインドウ表示でも、フルスクリーン表示でも、結果は変わらず。
PyGame って、遅いんだな…。たぶん Python が遅いのではなくて、SDLが遅いのかなと勝手に想像。しかし、ここまで差がつくとは思わなかった。それにしても、DXRuby は凄い。DirectX を使うと、こんなに差が出てくるのか…。
- CPU: AMD AthlonII X4 605e (4コア, 2.3GHz, TDP 45W)
- M/B: ASRock M3A785GMH/128M (MicroATX, Socket AM3, AMD 785G)
- OS: Windows7 x64
スクリプトは、640x480、BGを1枚べた描き、64x64ドット x 512枚、を描画する内容。
AMD 785G (Radeon HD 4200) って、オンボードビデオとはいえ、それほど酷い印象は持ってなかったわけで。DXRuby も PyGame も、どちらもスルスル動くかなと思ったのだけど。結果は外れた。
DXRuby を使ったスクリプトは、ウインドウ表示、60FPSでスルスルと動いた。こっちはバッチリ。
PyGame を使ったスクリプトは、26FPS。DXRuby の半分にも達してない。ウインドウ表示でも、フルスクリーン表示でも、結果は変わらず。
PyGame って、遅いんだな…。たぶん Python が遅いのではなくて、SDLが遅いのかなと勝手に想像。しかし、ここまで差がつくとは思わなかった。それにしても、DXRuby は凄い。DirectX を使うと、こんなに差が出てくるのか…。
◎ HSPも勉強中。 :
HSPの処理速度も確認してみたいので、少し勉強してるのだけど。なにかこう、ソースが読みづらいというか、分かりづらいというか。アセンブラに少し近い言語仕様のような気が。
hgimg3 のサンプルソースをコピペして、エミッタとやらでスプライト相当を大量に表示できるところまでは出来たのだけど。動かし方がよく分からず。自前で個別に動かすにはどうすれば。また、BGの表示とスクロール方法がよく分からず。
exe化は、スクリプトエディタのメニューから呼び出すだけでできてしまうので、そこは感心したり。この簡単さなら、流行るのも分かる気がする。
hgimg3 のサンプルソースをコピペして、エミッタとやらでスプライト相当を大量に表示できるところまでは出来たのだけど。動かし方がよく分からず。自前で個別に動かすにはどうすれば。また、BGの表示とスクロール方法がよく分からず。
exe化は、スクリプトエディタのメニューから呼び出すだけでできてしまうので、そこは感心したり。この簡単さなら、流行るのも分かる気がする。
[ ツッコむ ]
#2 [anime] アキバレンジャー2期4話目を視聴
亀甲縛りのシーンに大変感動いたしました。自分はもしかして、とてつもなく恐ろしい番組を目撃してるのではないかという気分に。これ、本当に実写番組なのかな…。実写のように見えるけど、異質な何かを見てるんじゃないのか…。
日本の役者さんでありながら、あんなシーンを撮られた人は、それほど存在していないのではと想像するのですけど。どうなんでしょう。いや。そうでもないか。時代劇ではたまにありそう、ですかね。にしても、これはたしかに、よい子には見せられないなあ…。
ラストのゴージャスで無理矢理なオチを見て、脳裏に「カオス」という文字が浮かんでしまったのでした。
日本の役者さんでありながら、あんなシーンを撮られた人は、それほど存在していないのではと想像するのですけど。どうなんでしょう。いや。そうでもないか。時代劇ではたまにありそう、ですかね。にしても、これはたしかに、よい子には見せられないなあ…。
ラストのゴージャスで無理矢理なオチを見て、脳裏に「カオス」という文字が浮かんでしまったのでした。
[ ツッコむ ]
#3 [pc][neta] Flashはゲームコントローラに対応してほしい
Flashは、いつになったらゲームコントローラに対応するんだろう。…対応してないよね? 調べた範囲では非対応に見えるけど。
Flash が「アニメ再生専用プラグイン」として宣伝されてるなら、ゲームコントローラ対応なんてどうでもいいですが。しかし、彼等は時々、「Flash はゲーム制作に向いてる」と言い出すわけで。となると、話は違ってくる。
ゲームの肝とは何か? インタラクティブ性ですよ。インタラクティブ性とは何か? ユーザからの入力に対してどんな反応を返すか、という話ですよ。その、「ユーザからの入力」にからむストレスを、どれだけ減らせるか。ゲームはそこが肝。ユーザの思った通りに入力できない入力機器を強要していたら、「素晴らしいユーザ体験」もへったくれもない。そこを解決する手段が用意されてなければ、ゲームにならんのですよ。
その「ユーザからの入力」に、ひたすら神経注いで改良してきた入力機器(の一つ)が「ゲームコントローラ」。一々目視でボタン位置を確認せずに済むように。押し間違いを減らせるように。やりたいことがやれる程度までボタン数を少なくして、入力できる情報種類を制限して、混乱を極力排除しつつも、その制限の範囲内では不満を感じさせないよう、悩んで工夫して形を洗練してきた。究極の理想としては、まるで脳とゲーム画面が直結してるかのように錯覚できる状態が望ましい。その理想を目指してここまできた入力機器が、ゲームコントローラなのですよ。
だから、「ゲーム制作に」と宣伝するなら、せめてゲームコントローラ対応ぐらいはしてくれないと困るのです。非対応という状況では、「ユーザ体験」の一番最初の段階で、早々につまずきかけている状態と言える。故に、Flashを宣伝する彼等の言には、現状では説得力が無い。ゲームを馬鹿にしてるのでは、とすら思えてくる。マウスやキーボードだけサポートしてればいいんだ、というものじゃない。
ということで、Flash は早くゲームコントローラに対応してほしいなあ、と。対応する気が無いなら「ゲーム制作に」なんて言わんでほしいですよ。 *1
Flash の Starlingライブラリなどは、実に魅力的に見えているのですが…。でも、「これで同人STGでも作れないかな」とチラリと思っても、「ゲームコントローラに対応してないもんな…」と考え直して、選択肢から外すしかない現状があるわけで。実にもったいない。せっかく、GPUを使うようにして、描画パフォーマンスを向上したのに、宝の持ち腐れです。描画速度向上を真に活用するために、入力機器サポートの面でも、あともうちょっとだけ機能追加が必要だと思うのですが。
ま、「Unity使えよ」で終わる話ではありますが…。
Flash が「アニメ再生専用プラグイン」として宣伝されてるなら、ゲームコントローラ対応なんてどうでもいいですが。しかし、彼等は時々、「Flash はゲーム制作に向いてる」と言い出すわけで。となると、話は違ってくる。
ゲームの肝とは何か? インタラクティブ性ですよ。インタラクティブ性とは何か? ユーザからの入力に対してどんな反応を返すか、という話ですよ。その、「ユーザからの入力」にからむストレスを、どれだけ減らせるか。ゲームはそこが肝。ユーザの思った通りに入力できない入力機器を強要していたら、「素晴らしいユーザ体験」もへったくれもない。そこを解決する手段が用意されてなければ、ゲームにならんのですよ。
その「ユーザからの入力」に、ひたすら神経注いで改良してきた入力機器(の一つ)が「ゲームコントローラ」。一々目視でボタン位置を確認せずに済むように。押し間違いを減らせるように。やりたいことがやれる程度までボタン数を少なくして、入力できる情報種類を制限して、混乱を極力排除しつつも、その制限の範囲内では不満を感じさせないよう、悩んで工夫して形を洗練してきた。究極の理想としては、まるで脳とゲーム画面が直結してるかのように錯覚できる状態が望ましい。その理想を目指してここまできた入力機器が、ゲームコントローラなのですよ。
だから、「ゲーム制作に」と宣伝するなら、せめてゲームコントローラ対応ぐらいはしてくれないと困るのです。非対応という状況では、「ユーザ体験」の一番最初の段階で、早々につまずきかけている状態と言える。故に、Flashを宣伝する彼等の言には、現状では説得力が無い。ゲームを馬鹿にしてるのでは、とすら思えてくる。マウスやキーボードだけサポートしてればいいんだ、というものじゃない。
ということで、Flash は早くゲームコントローラに対応してほしいなあ、と。対応する気が無いなら「ゲーム制作に」なんて言わんでほしいですよ。 *1
Flash の Starlingライブラリなどは、実に魅力的に見えているのですが…。でも、「これで同人STGでも作れないかな」とチラリと思っても、「ゲームコントローラに対応してないもんな…」と考え直して、選択肢から外すしかない現状があるわけで。実にもったいない。せっかく、GPUを使うようにして、描画パフォーマンスを向上したのに、宝の持ち腐れです。描画速度向上を真に活用するために、入力機器サポートの面でも、あともうちょっとだけ機能追加が必要だと思うのですが。
ま、「Unity使えよ」で終わる話ではありますが…。
*1: 「JoyToKey使え」とかそういう話じゃないんです。入力機器のことすら無視するぐらいにゲームを軽視してるのに、「ゲーム制作に」と吹聴するのはけしからん、アイツラ分かってねえです、と言っておきたい、てな話で。
[ ツッコむ ]
#4 [pc][neta] ゲームコントローラについて思いつくままダラダラと書いてみたり
キーボードやマウスでゲームをプレイするのは、かなり無理があるような気がしていたり。もちろん、ゲームジャンルによるけれど。
例えば、スト2のコマンド入力を、キーボードのカーソルキーでやってみろと。10人中10人がブチキレるはず。グルッと回してカッ、なんてカーソルキーでは無理。だけど、ジョイスティックやジョイパッドを繋いだら、「やった! 入力できた!」とガッツポーズをとる人が続々出てくるはず。
ペイントを起動して、マウス使って、直線や丸を引いてみろと。線のヘロヘロぶりで泣けますよ。もちろん、ジョイスティックやジョイパッドでも丸なんて描けません。しかし、直線はどうか。1ドットの揺らぎもなく描けるはず。
「ストレスなく入力操作ができる」って、そういうことですよ。入力できる情報に制限があってもいい。その制限の範囲内で、思い通りに入力できれば、それは優れた入力機器。
そもそもキーボードは、文字入力に特化して洗練された入力機器。こんなもんでゲームをしたら、ストレスを感じて当たり前。
マウスはあくまで、安い割にそこそこ使えるポインティングデバイスでしかない。全てに有効な、万能性のある入力機器じゃない。座標をざっくりと、あるいは、ピタリと静止させて入力するには最適だけど。ドット単位での入力、思った通りの軌跡を描くのは無理。
だから、ゲームをプレイするなら、それに適したゲームコントローラを使ってしかるべき、なのです。キーボードやマウスを使ってゲームを遊ぶなんて、フォークを使ってスープを飲んでいるようなもの。
もちろん、ゲームジャンルによって、求められる入力機器の条件は変わってきますが。
また、ゲームコントローラには、膨大な実績もある。何せ、ATARIやファミコン(NES)の時代からXbox360やPS4の現代まで、ずっと使われてきた入力機器。何十年も「実戦投入」されてきたシロモノ。ゲームプレイに対して、これほど実績のある入力機器はないですよ。
家庭用ゲーム機向けのタイトルは、星の数ほど世に出ていますが、それらのほとんどは、ゲームコントローラという「入力機器のフォーマット」を前提にして作られてる。当然そこには、色々なノウハウも溜まっている。
映画が24コマ/秒で作られるように、TV番組が4:3や16:9のフレームで作られるように、大半のゲームは、ゲームコントローラという、ある種のフォーマットの上で作られ続けた。…この蓄積を無視することが、本当に賢い選択なのかと。
若干話が飛びますが。8ビットマイコンが主流だった頃も、それらPC上ではゲームが動いてました。背景が8ドット単位でガクガクとスクロールしたり、色は8色しか出なかったり。今となっては直視できないほどに、酷い見た目のゲーム群。ところが、そんなゲームも、キーボードで遊ぶより、ジョイスティックやジョイパッドを繋いで遊ぶほうが、はるかに気持ちよく、快適に楽しく遊べたわけです。…その現象を、真剣に分析したほうがいいと思うのですよ。
要するに、「ゲームには、見た目よりもはるかに優先して用意しなければいけない重要な部分があるのだ」ということですよ。それは何かと言えば、入力機器なんです。入力機器は、ユーザが一番最初に接する部分。そこがダメだと、その先でゲームプログラマーがいくら努力したって、お客さんに「ゲームの面白さ」を体感してもらえないのです。
どうして任天堂が、アナログスティック、タッチパネル、加速度センサ等を続々と投入してきたのか、考えてみたことがありますか? 彼等は誰よりもゲームと真剣に対峙してきたから、勝利の鍵が入力機器にあると知ってるんです。だから、その部分でも、新機軸を打ち出してくるんです。そのくらい、入力機器には、本来気を配らないといけないはずなんです。…とは言え、任天堂も任天堂で、アナログスティック以降の要素は、どれも「イライラ棒」の面白さでしかないのですが。0/1の入力だけが勝ち得た娯楽性、アナログなゲームでは実現が難しいけれどデジタルなゲームなら実現できる遊びを発展できてないように見えるのが…。いかん。ちと話がずれてきた。
おそらく世間一般では、ゲームコントローラを使うゲームを、「レトロゲー」と呼んで一括りにして馬鹿にしてるのでしょうけど。だから、Flashあたりも、ゲームコントローラ対応を意識してくれないのでは、と。
でも、その「レトロゲー」のタイトル数を、試しに数えてみてほしいですよ…。数え始めてみれば、おそらく血の気が引いてくるはず。膨大なタイトル数を認識してクラクラするでしょうよ。しかも、それらが商品として成立して、一時期とはいえ巨大市場を形成できた事実がある。そのことをあっさり無視して、本当に大丈夫ですかと。自分のすぐ隣に、宝の山が積んであるのかもしれないのに、そっぽを向いて嘲笑して、その山を地中へ無造作に埋めていいのかと。その宝の山、本当に現在でも流用できないんですかと。
そして、その宝の山の肝は、おそらく、ゲームコントローラなんですよ。
ゲームコントローラに対応するだけで、ゲーム業界が何十年も苦心惨憺して獲得してきた娯楽の秘訣を、後からやってきた自分達もごっそりいただけちゃうわけです。こんな美味しい話、そうそうないです。やっておかない手はないでしょうよ…。でも、無視し続けているんだもんなあ…。
ま、「Unity使えよ」で終わる話ですけど。
例えば、スト2のコマンド入力を、キーボードのカーソルキーでやってみろと。10人中10人がブチキレるはず。グルッと回してカッ、なんてカーソルキーでは無理。だけど、ジョイスティックやジョイパッドを繋いだら、「やった! 入力できた!」とガッツポーズをとる人が続々出てくるはず。
ペイントを起動して、マウス使って、直線や丸を引いてみろと。線のヘロヘロぶりで泣けますよ。もちろん、ジョイスティックやジョイパッドでも丸なんて描けません。しかし、直線はどうか。1ドットの揺らぎもなく描けるはず。
「ストレスなく入力操作ができる」って、そういうことですよ。入力できる情報に制限があってもいい。その制限の範囲内で、思い通りに入力できれば、それは優れた入力機器。
そもそもキーボードは、文字入力に特化して洗練された入力機器。こんなもんでゲームをしたら、ストレスを感じて当たり前。
マウスはあくまで、安い割にそこそこ使えるポインティングデバイスでしかない。全てに有効な、万能性のある入力機器じゃない。座標をざっくりと、あるいは、ピタリと静止させて入力するには最適だけど。ドット単位での入力、思った通りの軌跡を描くのは無理。
だから、ゲームをプレイするなら、それに適したゲームコントローラを使ってしかるべき、なのです。キーボードやマウスを使ってゲームを遊ぶなんて、フォークを使ってスープを飲んでいるようなもの。
もちろん、ゲームジャンルによって、求められる入力機器の条件は変わってきますが。
また、ゲームコントローラには、膨大な実績もある。何せ、ATARIやファミコン(NES)の時代からXbox360やPS4の現代まで、ずっと使われてきた入力機器。何十年も「実戦投入」されてきたシロモノ。ゲームプレイに対して、これほど実績のある入力機器はないですよ。
家庭用ゲーム機向けのタイトルは、星の数ほど世に出ていますが、それらのほとんどは、ゲームコントローラという「入力機器のフォーマット」を前提にして作られてる。当然そこには、色々なノウハウも溜まっている。
映画が24コマ/秒で作られるように、TV番組が4:3や16:9のフレームで作られるように、大半のゲームは、ゲームコントローラという、ある種のフォーマットの上で作られ続けた。…この蓄積を無視することが、本当に賢い選択なのかと。
若干話が飛びますが。8ビットマイコンが主流だった頃も、それらPC上ではゲームが動いてました。背景が8ドット単位でガクガクとスクロールしたり、色は8色しか出なかったり。今となっては直視できないほどに、酷い見た目のゲーム群。ところが、そんなゲームも、キーボードで遊ぶより、ジョイスティックやジョイパッドを繋いで遊ぶほうが、はるかに気持ちよく、快適に楽しく遊べたわけです。…その現象を、真剣に分析したほうがいいと思うのですよ。
要するに、「ゲームには、見た目よりもはるかに優先して用意しなければいけない重要な部分があるのだ」ということですよ。それは何かと言えば、入力機器なんです。入力機器は、ユーザが一番最初に接する部分。そこがダメだと、その先でゲームプログラマーがいくら努力したって、お客さんに「ゲームの面白さ」を体感してもらえないのです。
どうして任天堂が、アナログスティック、タッチパネル、加速度センサ等を続々と投入してきたのか、考えてみたことがありますか? 彼等は誰よりもゲームと真剣に対峙してきたから、勝利の鍵が入力機器にあると知ってるんです。だから、その部分でも、新機軸を打ち出してくるんです。そのくらい、入力機器には、本来気を配らないといけないはずなんです。…とは言え、任天堂も任天堂で、アナログスティック以降の要素は、どれも「イライラ棒」の面白さでしかないのですが。0/1の入力だけが勝ち得た娯楽性、アナログなゲームでは実現が難しいけれどデジタルなゲームなら実現できる遊びを発展できてないように見えるのが…。いかん。ちと話がずれてきた。
おそらく世間一般では、ゲームコントローラを使うゲームを、「レトロゲー」と呼んで一括りにして馬鹿にしてるのでしょうけど。だから、Flashあたりも、ゲームコントローラ対応を意識してくれないのでは、と。
でも、その「レトロゲー」のタイトル数を、試しに数えてみてほしいですよ…。数え始めてみれば、おそらく血の気が引いてくるはず。膨大なタイトル数を認識してクラクラするでしょうよ。しかも、それらが商品として成立して、一時期とはいえ巨大市場を形成できた事実がある。そのことをあっさり無視して、本当に大丈夫ですかと。自分のすぐ隣に、宝の山が積んであるのかもしれないのに、そっぽを向いて嘲笑して、その山を地中へ無造作に埋めていいのかと。その宝の山、本当に現在でも流用できないんですかと。
そして、その宝の山の肝は、おそらく、ゲームコントローラなんですよ。
ゲームコントローラに対応するだけで、ゲーム業界が何十年も苦心惨憺して獲得してきた娯楽の秘訣を、後からやってきた自分達もごっそりいただけちゃうわけです。こんな美味しい話、そうそうないです。やっておかない手はないでしょうよ…。でも、無視し続けているんだもんなあ…。
ま、「Unity使えよ」で終わる話ですけど。
◎ だけど標準でついてないもんな。 :
PCに標準でついてない入力機器を前提にしてアプリを作るなんて、実際にはちょっとあり得ないですわな。全てのPCにゲームコントローラが標準でついてたら、状況は違ったのだろうけど。フツー、ついてこないもんなあ…。MSX全盛時代ですら、そんなPCはあったかどうか…。
仮に今から添付するなら、リモコンにもなるゲームコントローラになるんですかねえ…。リモコン操作で、動画見たり、音楽聞いたり、ネット閲覧したり。十字キーもついてるので、ゲームにも最適。みたいな。
そんな想像をしていたら、Wiiリモコンあたりは、夢の実現、理想を追求した機器に思えてきました。アレは間違いなく、理想形の一つなのだろうなあ。
ま、「Unity使えよ」で…Unity関係ねえや。
仮に今から添付するなら、リモコンにもなるゲームコントローラになるんですかねえ…。リモコン操作で、動画見たり、音楽聞いたり、ネット閲覧したり。十字キーもついてるので、ゲームにも最適。みたいな。
そんな想像をしていたら、Wiiリモコンあたりは、夢の実現、理想を追求した機器に思えてきました。アレは間違いなく、理想形の一つなのだろうなあ。
ま、「Unity使えよ」で…Unity関係ねえや。
[ ツッコむ ]
以上、1 日分です。