忍者ブログ

神戸電子専門学校ゲームソフト学科の生徒が運営するGESのブログです。

   

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

~ゲームのミステリー~ ファミコンロッキーの謎にせまる!

あー、どうもどうも克兎です。

GWですね、皆さんは楽しくお過ごしですか?

5月とかけだるさ満載のシーズンです。

全てがめんどくさいです。正直。

一生かけてひきこもりたいです。

そんな中、ようやく記事のネタを見つけました。

みなさんはファミコンロッキーをご存知でしょうか?

拍手[0回]


ファミコンロッキーとは、
あさいもとゆき氏による漫画作品で、
1985年から1987年にかけて「月刊コロコロコミック」および「小学5年生」で、連載されていました。

現在も連載してるかどうか知らんけどアクションロッキーという続編もあるようです。

この漫画を語る上で欠かせないのが、

「ゲームの裏技」

「虚偽の裏技」

そして

カオスな必殺技」

でしょう。

今回は、この必殺技の代表ともいえる

「ゲーム拳必殺50連打」について、切り詰めていきたいと思います。


「ゲーム拳必殺50連打」の50連打の定義は、
1秒間に50連射する事、です。

これ、実際に可能なのかってことですよね。

高橋名人でも16連射です。

人体の構造上まず不可能なんじゃね?ってのは置いといて、


私たちはプログラマ志望ですし、プログラム上で考えてみます。

まず、ボタンを押すというのはどういうことなのか、

ボタンが、

放れている    False
押されている True

の2パターンで判別できるでしょう。
(ハード的な構造は割愛します、てか調べたくねー)

私含め、

放されている  FREE
放された瞬間 PULL
押された瞬間 PUSH
押されている HOLD

のように、4パターンで判別している方も多いでしょう。

この変化サイクルは、
実際にはコントローラやキーボードを制御するAPIなどで細かい単位で行われていますが、
プログラム側では、1ループに1回の割合で発生します。

というのも、そのAPIを呼び出し判別しているのが1ループに1回になるため、
どうあがいてもこうなります。

つまり1秒間の変化サイクルは、フレームレートと等しくなるということですね。


ファミコンロッキーの時代…つまりファミコン全盛期ですが、
最大で60FPSは出てたそうなので

秒間60回判定できるから、最大60連打できるじゃん!



そんなことはありませんっ!☆バチコーン

連打、ということは、一度は放してるわけです。
放していることを判定するために1フレーム消費してしまいす。
先ほど示した4パターンであらわすならば、

PUSHPULLPUSH

となり、始めて最速の連射が発生するわけです。

つまり、

最大連射数 = フレームレート / 2

という公式が成り立ちますね。

つまり、60FPSだと30連射までしか判定できません。

逆に、物理的に30連射を超えると、
連続したフレームで連射された部分が、長押しとして判定されます。

例えば、31連射された場合、
実際は、

PUSHPUSHPULL

であっても

PUSHHOLDPULL

として判定され、2フレーム無駄になるため
最大29連射になってしまいます。

「ゲーム拳必殺50連打」の場合、
最大10連射となります。

連射しすぎると、連射回数が減っちゃうわけです。

逆にいえば、50連射が可能なロッキーのファミコンは100FPS以上出ています。

さらに言うと、別の必殺技、

「超速衝撃連打(スーパーインパルスアタック)」は、

衝撃波を発生させることで秒間数百回以上連射できるそうです。

数百っていうのが200か300かわからないけど、

つまり400とか600とかFPSが出ているわけで…

すげーな…。

マルチスレッドで、キーを判別する方法もありますが、
1ループにおける呼び出しサイクルを考えると、
絶対にPULLPUSHは1ループ保持させる必要があるので、
計算式は変わりません。

ていうか、こう考えれば、なぜ高橋名人の限界が16連射だったのかわかってきませんか…?

ファミコンロッキーは、
十字キーを乱れ打ちしてゲーム内で竜巻を発生させたり、

そもそもプログラミングされてる
もしくは、
ファミコン時代に無駄に物理エンジン積んでるか、

みたいなてんやわんやな世界なんで
1000FPSだろうが2000FPSだろうが余裕なんだと思います。
明らかなフレームレートの無駄遣いです。





しかし、そんな限界を超えた世界を作り出せるプログラマーになってみたいですね。



努力を惜しまなければ人間に限界は訪れません。

むしろ、最後まであきらめなかった人にこそ勝利はもたらされます。


もしかしたら、生きているうちに、ファミコンロッキーの世界が実現するかもしれませんね!



2000FPSなんて絶対しないけどね☆

そ~れ~で~は~(*´∀`)ノ
PR

COMMENT

NAME
TITLE
MAIL(非公開)
URL
EMOJI
Vodafone絵文字 i-mode絵文字 Ezweb絵文字
COMMENT
PASS(コメント編集に必須です)
SECRET
管理人のみ閲覧できます

No Title

  • by Yana#P
  • 2012/05/01(Tue)11:46
  • Edit
4ケタオーバーでもゲームとして成り立ってるゲームが見てみたいwwwww

No Title

  • by とある3年
  • 2012/05/01(Tue)18:04
  • Edit
おー、なるほど。プログラム上で考えてみると面白い、納得。


あとこの記事とは関係なくて申し訳ないけど、
このブログのトップページの記事が邪魔に感じる。

更新されているか確認するため、パッと開いた時に、少し下にスクロールしないと最新記事が見れないのは煩わしさを感じる。

RSS登録すれば済む話だけど・・・何とかなりませんかね?
例えばその募集記事を左のサイドバーに設置するとか、HTMLをいじって小さいトップ作るとか。

最新記事としてトップに固定させるのは力技で推奨されない方法なので、是非是非ご検討を。

No Title

  • by 克兎
  • 2012/05/01(Tue)21:25
  • Edit
Yana#Pさん>
コメントありがとうございます。
俺らのPCだと完全に画面停止ですよねーw

とある3年さん>
コメントありがとうございます。
興味を持っていただけてよかったです。

トップページの件に関しては和田氏に相談してみます。
俺、ブログの仕組みよくわからないので…

No Title

  • by Yana#P
  • 2012/05/01(Tue)23:33
  • Edit
あれ?詳細ページに飛ぶリンクには「夢をぶち壊す」ってあるけど逆に夢が広がってる気が・・・www

No Title

  • by えぬえー
  • 2012/05/02(Wed)00:56
  • Edit
初コメですのー。

個人的にはちょっと前やってたみたいに、左の「カテゴリ」と「最新記事」を逆にしてみたらいいかと思います。

俺も更新されているかどうか確認するのにいちいちスクロールするのがうんぬんかんぬん。

ブログ内検索

最新コメント

[01/29 人面犬]
[10/01 8ch]
[09/12 uncle]
[09/10 某卒業生]
[06/07 uncle]

カレンダー

10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

テスト

Copyright ©  -- GESブログ --  All Rights Reserved
Design by CriCri / Photo by Geralt / powered by NINJA TOOLS / 忍者ブログ / [PR]