トップページgamedev
777コメント359KB

スーパーマリオ逆解析で勉強

■ このスレッドは過去ログ倉庫に格納されています
0001リバースマリオ02/03/31 07:49ID:???
元祖マリオの逆アセダンプだとか、データ構造などが載ってるYO↓
http://www.geocities.co.jp/SiliconValley-Bay/7981/misc.html

データ構造の圧縮方法などがとてもためになるYO。
みんなで勉強するのDA!
0117名前は開発中のものです。02/06/18 23:03ID:???
>>116
>>114のURL
01185802/06/20 22:57ID:???
Bダッシュとアニメーションに対応。


速く走るには’b’を押しながら移動。

アニメーションはdata\\Player.bmpを
見ればわかるハズ。暇な人が挿げ替え
たりしてくれると嬉しいし、楽。
01195802/06/26 23:24ID:???
コインと煉瓦ブロックを置けるようにした。
コインを取ると、プレイヤーの頭から回転しつつ飛び出す。
煉瓦は下から叩くと跳ねる。まだ壊れない。
0120名前は開発中のものです。02/06/27 01:33ID:???
>>58
おお、だいぶマリオっぽくなってきた
勝手な希望だが、ゆくゆくはジョイパッドに対応してほしい
そのほうがテストプレイもやりやすいし
01215802/06/27 02:26ID:???
>>120
了解。次回には対応する予定とする。
01225802/06/27 02:38ID:???
書きわすれた。

>>120
テストプレイ、感謝。
01235802/06/30 03:03ID:???
煉瓦とハテナブロックにそれぞれ、1コイン入りと
10コイン入りを入れた。10コイン入りは、一定時間
叩き放題で時間が経つと1コイン入りに変化する、
という処理にした。実機の方もそのようなふう
だったと記憶しているが、どうか。

キノコを入れた。取ると大きくなれる。まだ煉瓦は
壊せない。

ジョイパッドに対応。00か02ボタンでジャンプ、
01か03ボタンでダッシュ。ダッシュ中は1マス分の
隙間は飛び越えられる。
0124名前は開発中のものです。02/06/30 13:04ID:???
>>58
ジョイパッド対応でやりやすいYO

10コインブロックのしくみはよく知らないが、
実機と比べて全然違和感ないYO

あと、実機では普通のジャンプとBダッシュジャンプでは
飛べる高さも少し違ったはず。
01255802/07/03 01:00ID:???
>>124
テストプレイ感謝。出来ればこれからもお願いする。
ダッシュ中、ある程度速度があれば高いジャンプが
出来るようにした。が、この場合ジャンプの初速を
上げたのではなく、ジャンプボタンの受付時間を
長めにしている。実機と違うようなら、教えて欲しい。

ファイアフラワーを入れた。キノコを取った状態で
アイテム入りブロックを叩くと出てくる。まだ火の玉
は出せない。パレットアニメーションに関しては、
勉強中。

大きくなった状態だと、レンガを壊せるようにした。
0126名前は開発中のものです。02/07/03 17:00ID:OhPC4CXg
( ´_ゝ`)デ、ケッキョクダレカマリオツクッタノ?
0127名前は開発中のものです。02/07/03 18:06ID:???
ツクッテルトチュウダ
0128名前は開発中のものです。02/07/03 21:34ID:???
>>58
プレイしてみたYO

なかなかイイ動きだけど、まず気づいたことといえば、、
FCマリオでは普通に歩くだけでも1ブロック分のスキマは渡れます。
しかし、必ず渡れるのではなく落ちるときもあるので、
速度以外の要素が関係しているのかな?

あとは斜め下入力でもしゃがめるので操作性に大きな違いを感じた。
例えばステージ1-2で巨大化したまましゃがみ滑りして突破したい場所があるんだが、
ここが簡単になったり。
01295802/07/03 23:32ID:???
>>128
細かいところまで見てくれて、ありがたい。感謝。

実機を持っているようだが、もしそうなら、できれば
1ブロック分の隙間を歩いて渡る場合、どのくらいの
割合で渡れる(落ちる)のか、を確認してみてほしい。
あと、Bダッシュ中では100%渡れるということで
よろしいか?

> あとは斜め下入力でもしゃがめるので操作性に大きな違いを感じた。

了解、次回更新までに、斜めではしゃがまないよう
に修正予定とする。
0130名前は開発中のものです。02/07/04 00:52ID:???
1ブロック分の隙間を歩いて渡れるのは
歩く速度と、床の当たり判定にあるのでは、と
実際やってみて思った。

Bダッシュでも止まった状態から走り始めてすぐは
隙間を渡れない。歩きでも1ブロック分くらいの助走があれば渡れる。
しかし、なぜたまに落ちることがあるのかはよくわからない。

たまに、隙間を渡る時マリオが落ちそうになるが、
そのまま落ちずに向こうの床に乗ることがある。
うまく説明できないが、マリオが落下し始めたにもかかわらず
また床に乗って進むので見た目にはつまづいたように見える。
この辺、床の当たり判定のやり方が関係してそう。


ん?何か当たり前のことを言ってるだけのような気がしてきた・・・鬱
01315802/07/04 22:15ID:???
・ファイアボールを撃てるようになった。
・斜め下入力ではしゃがまなくなった。
・助走すれば、歩きでも1マス分の隙間を渡れるかもしれない。

>>130
歩き渡りに関しては、まだ上手く出来ていない。

足元のみに新たな当たり判定をつけて、そこに
ブロックが触れると上に上がる、という処理を
加えてみたが、それをやると歩きでも確実に
渡れてしまったので、その処理は削除した。
現在、試行錯誤中。
0132名前は開発中のものです。02/07/04 22:50ID:???
>>102
013312802/07/04 23:10ID:???
歩いても落ちない現象は以前にも試した事がある。
今回はえみゅでやってみた。結果は実機と大体同じだと思う。

ステージ8-1の序盤で、1ブロックのスキマが連続して並んでいる場所があり、
地形はこんな感じに穴がある。

■:地面
□:地面無し
◎:マリオ


■■■□■□■■□■■□■■□■■

最初の穴(上の図で4マスメ)の32dot手前の位置に
チビマリオの前足の先を合わせ、そのまま歩いてみた。

チビマリオが移動すると
・同時に画面はスクロールする
・少し歩くと画面に対して何dotか前進する
 (これが地形との位置関係を微妙にズラすのかな?)
013412802/07/04 23:11ID:???
↑の続きね

何度か試した結果は以下の通り
・穴に落ちないで最後まで進める
・2つ目の穴で落ちる
・3つ目の穴で落ちる

落ちる時のマリオの姿勢が違う時もある。

画面左端から何dot目に最初の穴があるか、という
スクロールの微妙なズレが
落ちるかどうかに影響しているのではないかと思った。
スクロール位置を毎回同じにすると、結果も同じだった。

今回気づいた事といえば、プログラムで
再現するのは難しいんだろうなー
という事だけだった。
01355802/07/05 00:27ID:???
>>128
AAを交えた丁寧な解説&細かいデータ、感謝。

正直、スクロールまで要素に入ると、お手上げである。
どのような処理にしてよいやら、想像もつかぬ。が、
元ゲームをなるたけ再現してみるのが目的であるし、
再現する順番が決まっているわけでなし、ゆっくり
しつこくやろうと思う。

せめて、移動速度に対して落ちるかどうかがはっきり
決まっているならどうにかなりそうなのだが。

1マス目では落ちていないところが気になる。

自作の方は、今のところスクロールと当たり判定は
それぞれ関係ない方式で処理している。
01365802/07/07 16:17ID:???
とりあえず暫定として、ある程度速度が
あれば、確実に渡れるように組みなおし
た。「躓く」のも一応表現してみたがどうか。
一瞬だけ落下モーション(現状ではジャンプ
モーションと同じ)を表示する。

http://www.chukkysoft.com/m-bara/JumpAction.zip

>>134の情報から推測し、「躓く」と速度が
少し落ちるようにしてあるが、実機では速度
が落ちているだろうか?申し訳無いが、
チェックをお願いする。


やはり自分で実機を持ってないと不便だ。
早めに購入したいのだが、なかなか本体
を売っているところが見当たらない、SFC
メモリカセットはすでに手に入れているのだが。
0137名前は開発中のものです。02/07/08 07:28ID:???
挙動を調べるためにえみゅを使うのはマズイ?
そっちだと、ステージ改造ツールがあるので便利と思うのだけれど。
01385802/07/08 21:08ID:???
>>137
前に試したが、スペックが足りなかったようで
まともに動いてくれなかった。

ちなみに開発マシンは、Librettoff1100(MMX266)で、
知り合いにWindows2000を入れてもらっている。
0139名前は開発中のものです。02/07/09 00:11ID:???
MMX266なら余裕で動くと思うんだけど。
01405802/07/09 01:17ID:???
>>139
そういえば前に試したのはSNESだった。

あと、マップ改造ツールがあるとは知らなかった。
情報、感謝。
014112802/07/10 23:40ID:???
>>58
>>実機では速度が落ちているだろうか?
うーん、速度が低下しているようには見えなかった。
しかし、一瞬でも地面の無い状態になっているハズなので、
見た目には判らない減速があるかも。
014212802/07/10 23:53ID:???
穴を歩いて超える現象だが、
今度はFC版えみゅステージ改造ツールを使って実験した。

画面左端にスーパーマリオを移動し、左から2ブロック目を穴に。
スクロールは無し。

|◎
|■□■■

ここで助走無しで右に歩くのだが、画面の左端に行くまでの行動で結果が変わった。

・ジャンプをした事がある > 落ちる
・歩く、又はダッシュだけで画面左端に寄る > 落ちない

次に、下のように画面左端から2キャラ+5dotの位置にマリオを配置し、
左方向に歩いた

|___◎
|■□■■

この場合、一度ジャンプした後も、落ちたり落ちなかったり、結果が安定しなかった。
位置の調整の為にマリオを1dotだけ動かしたり、キー入力しても動く前に離す、
といった行動が影響していると思う。

結局、表示上は全く同じ位置にマリオが居たとしても、様々な状態があるのだろう。
で、躓いたように見えるのは、本当に落ちるかどうかギリギリの状態なんじゃないかな?
以前スクロールの微妙なズレ云々と書いたが、多分勘違いだろう。スマン。
0143名前は開発中のものです。02/07/11 06:32ID:???
漏れも、スクロールしないコインばかりの地下面を改造して
いろいろ試したけど、結果はまちまちだった
うーむ・・・
0144名前は開発中のものです。02/07/11 08:40ID:???
>>142
それって最初の無重力状態のこと?
01455802/07/11 19:18ID:???
間抜けなミスが見つかった。作成中のキャラの
当たり判定は、横15ドットだが、実際のマリオは
12ドットの模様。これでは少し速度がついただけ
で、確実に渡れてしまう。

で、横の当たり判定と、躓いても速度が落ちない
様に修正うp。

今まで真剣にテストしてくれてた人、特に128氏、
申し訳無い。

>>142>>143
を読む限り、カメラは関係無いと判断して良さそう
である。

自分なりに別の原因を考えてみたが、実はFPSが
60より低い、ということは考えられないだろうか。

秒間のループ回数を60から30に減らすと、当然
当たり判定処理もその分雑になり、同じ速度でも
渡れたり渡れなかったりといったことが多くなる、
と思う。問題は確認方法だが、さてどうしようか。
0146名前は開発中のものです。02/07/13 10:33ID:???
マリオ3改造するツールつくってくれよ
0147名前は開発中のものです。02/07/13 10:58ID:???
じゃあマリオ3のマップデータ構造を解析してくれよ
0148名前は開発中のものです。02/07/13 12:12ID:???
そんなこと俺様ができるわけないだろうが
馬鹿だなぁ
0149名前は開発中のものです。02/07/13 19:27ID:???
正直、Diskのマリオ2を改造するツールがほしい
0150名前は開発中のものです。02/07/14 03:10ID:???
ハゲドウ
逆さ土管とか使いたい
0151名前は開発中のものです。02/07/15 22:31ID:???
>>58氏いきてますか?
テストプレイしてて気になったことが

Bダッシュしていて逆方向へ切り返すときのスリップが
少ないとオモタ。歩きの時よりキビキビしてるような。
そのへんの具合がいじれるようになってるとよろしいかと
01525802/07/15 23:09ID:???
現在、当たり判定云々が難航しているので、
豆の木と土管を作成中で、ワープ先の指定
方法をどうするかで思考中。エミュ改造HP
が大変参考になっている。139氏に感謝。

>>150
では入れとく。

>>151
了解、次回にはなるべく調整しておくか、外から
いじれるようにする方向で。
01535802/07/20 12:33ID:???
忙しくなってきたので、一週間ほど停止。
来週の土曜に更新予定。
0154名前は開発中のものです。02/07/22 03:03ID:???
ほしゅ
01555802/07/28 02:48ID:???
更新再開。スピードを出している時に方向転換すると、
ちょっと滑るのを追加。他は何も入れて無し。スマソ。

>>151
data\GameInit.txtを適当にいじってみて。
0156名前は開発中のものです。02/07/29 12:56ID:???
>>58
ジャンプしたときに何か違和感を覚えて
GameInit.txtを見てみたんだけど、
「空中での横移動加速度」って別に設ける必要は無いんじゃない?
ジャンプした時の「歩く加速度」なり「走る加速度」を
そのまま利用すればいいんじゃないかと思うけど。
デフォルトの設定では歩いてる時にジャンプすると
速くなってそのまま歩きとBダッシュの中間くらいの速度で
歩けてしまう。実機でどうだったかわかんないけど・・・

なんか漏れ全然見当違いな事言ってるかもしれん
だれか検証プリーズ!
0157名前は開発中のものです。02/07/30 04:45ID:???
マリサン解析じゃないのか。さげ
01585802/07/31 04:07ID:???
いじれるパラメータを増やしたのと、ジャンプ中の縦方向
加速度テーブルを追加。

画面の、FPSより1つ下の数字が残りジャンプ受け付け
時間(フレーム単位)で、ジャンプボタンを押しっぱなしに
していると減少する。ジャンプボタンを離した状態で着地
すると回復する。ダッシュ中は35に増加。

加速度テーブル(data\\jumptable.txt)は、上から順に
「ジャンプしてからnフレーム目の加速度」を表しており、
つまり1行目が初速となる。そのため1行目は大きな数
字が入っている。

毎フレーム、重力の影響を受けているので注意。初期値
では重力加速度0.3。

>>156
それはつまり、ゆっくり床を移動してたときは空中制御も
ゆっくりと、速く移動してたときは空中でも速く動ける、と
いうことだろうか?この解釈で正しければ、次回にその
方法を試せるようにしようと思う。
0159名前は開発中のものです。02/07/31 09:50ID:???
つーかさ、最初に出てきたソースから
解釈するべきじゃねーの?
せっかくあるんだし。
0160名前は開発中のものです。02/07/31 11:17ID:???
じゃあおまえがやれボケ
0161名前は開発中のものです。02/07/31 19:19ID:???
6502なんていまさら読めるかってんだ。
技術無いってところには突っ込むな。
0162名前は開発中のものです。02/08/01 07:15ID:???
6502現役で使ってる漏れは駄目なの?(´・д・`)
0163名前は開発中のものです。02/08/01 10:57ID:???
>>162
あんたすげーよ。
おれはH8だけど、6502ってまだ現役なのか!
ツーことで、>>159の言ってることやってください。おながいします。
016416202/08/01 20:17ID:???
漏れは解析苦手…自作のが好き…(´・ω・`)
016515602/08/02 02:53ID:???
>>58
>ゆっくり床を移動してたときは空中制御も
ゆっくりと、速く移動してたときは空中でも速く動ける、と
いうことだろうか?

ごめんなさい。「空中での横移動加速度」は歩きと同じに
することで問題無いと思います。
ただ、その際の最高速度は地上の歩きでの最高速度と
同じにすればより本家に近づくと思います。

で、エミュでいろいろ試したところ、空中での横移動に関しては
おそらく基本的に歩きと同じ加速度だと思います。
だけど、うまく説明できませんが
歩き又はダッシュしているときにジャンプすると
ジャンプした時点のマリオの速度がそのまま残ります。
その速度は着地するか逆方向にキーが押されるまで
落ちることはないようです。
そしてその時、向いている方向へキーを押すと
ジャンプした時点でのマリオの速度が0か非常に遅いと、
そこから歩きと同程度の加速がつくのが目に見えて分かりますが
ある程度の速度が既に出ている場合(ダッシュしていたなど)は
よくわかりません。逆方向へキーを押すと減速して
やがて逆方向へ加速します。
また空中にいるときは、Bボタンを押そうが放そうが
速度が変化することはありません。

長文、拙い日本語スマソ
0166名前は開発中のものです。02/08/02 21:41ID:???
>>1のソースはどうやってコンパイルするんですか?
0167名前は開発中のものです。02/08/03 04:27ID:???
http://www.compile.co.jp/
0168名前は開発中のものです。02/08/05 00:08ID:???
マジレスだけどさ、
昔、ニフにいた「ラリパッパ」にきいてみたらどうだい?
ここで話題になってソフトの実装やったのは・・・ははは
0169名前は開発中のものです。02/08/05 00:22ID:???
すまん、最後の行が理解できない
0170名前は開発中のものです。02/08/05 02:10ID:???
>昔、ニフにいた「ラリパッパ」
今どこにいるんだよ?
0171名前は開発中のものです。02/08/16 00:26ID:???
hosyu
0172名前は開発中のものです。02/08/19 08:14ID:???
hosyu
0173名前は開発中のものです。02/08/28 01:28ID:???
ho
0174名前は開発中のものです。02/09/08 19:54ID:???
...
01755802/09/11 02:23ID:???
土管ワープ先の指定方法がわからんとか、
マップチップの置き方が自分のと全然違うとか、
色々腐ってたけど>>171-174が心に響いたので
なんとなく再開。

スターを追加。でもカラーパレットがよくわからん
ので無敵中は点滅。
http://www.chukkysoft.com/m-bara/JumpAction.zip

>>165
言ってることが理解出来たので、次回そのように変更。
最近ソースを全然読んで無かったので、慣れるまで
しばし待たれい。

マイペースで逝く予定。
01765802/09/11 02:24ID:???
というか、165はまだ見てるかな・・・・・
017716502/09/11 10:41ID:???
>>58
キタ━━━━(゚∀゚)━━━━!!!

あのようなわかりにくい日本語を理解していただけてよかった
待つ待つ待ちます。意欲が湧いたときにガンガレ!!
0178名前は開発中のものです。02/09/11 16:51ID:???
>>58
開始から数秒で「不正な処理」が出るよ。
Win98/celeron300MHz/64MB
01795802/09/11 21:50ID:???
>>178
動作チェック、感謝。
とりあえず修正したつもりのをアップ。
まだ「不正な処理」が出るようなら、もう一度
報告お願いします。
01805802/09/13 02:45ID:???
ジャンプ後の横移動では、歩行速度以上には
加速しないように変更。一応、画面の2番目の
数字を速度計にしている。ジャンプ中は、ほんの
少し歩行速度より速くなるのは仕様。

とりあえず>>165氏、違和感が無いかチェック
願います。
018117802/09/13 15:26ID:???
「不正な処理」は出なくなったよ。
要望としては
・ファイアボールの速度が遅い(Bダッシュと同じ)ので調節して欲しい
・細かい足場(右下の階段を登るとか)で登りにくいのを直して欲しい
・スクロールの位置(特に下が見えないので)を調節して欲しい
と言ったところでしょうか。
01825802/09/14 12:09ID:???
>>181
そのように修正。チェック、請う。

そろそろゴールと敵キャラを入れて、
ゲームとしての体裁を整えたいところ。
018316502/09/14 20:20ID:???
>>58
ジャンプ後の横移動で、向いている方向へは
それらしくなったと思うが、向きとは逆方向への移動は
速度が弱いように思う。
垂直ジャンプした後に後ろ方向へ入力したときの挙動を
実機とくらべて見てもらえると違いがよくわかると思います。

あと、関係ないことですが
GameInitの重力を0.1にするとマリ男がプルプルふるえて
ジャンプできなくなるんですが仕様ですか?
jumptable.txtに書いてあるのは何の数値なんでしょうか・・・?
ジャンプできる高さをいじりたいんですが、よくわかっていません(´・ω・`)
01845802/09/15 01:37ID:???
>>183
細かい御指摘どうも。2つとも修正しました。

バックへのジャンプ中に速度が落ちていたのは、
「向きと反対方向に移動しようとするとスリップ
処理をする」のが、地上に限定されてなかった
ため起きていたようです。つまり空中でキキキ
とブレーキ掛けてた訳ですね。我ながら間抜け。


jumptable.txtにかいてあるのは、ジャンプボタンを押し
てから「何フレーム目にどのくらい加速するか」です。
1.0が1ドットにあたります。1行目が1フレーム目に
加速する量なので、多目になっています。

フレーム毎に重力がかかることになるので、実際には
その数字から重力を引いた分が上への加速度に
なります。

また現在は、GameInit.txtの最大落下速度が最大
上昇速度を兼ねているので、その数字以上に加速
させようとしても意味はありません。

ジャンプボタンを押してから、上昇する時間を増や
したい場合はGameInit.txtのジャンプボタン受付時間
を増やしてください。そのあとjumptale.txtの行数を
増やせばそのとおりに加速します。
018516502/09/15 03:07ID:???
>>58
丁寧に説明してくださってありがとう
01865802/09/16 22:14ID:???
ゴールを追加。ポールに飛びつくと勝手に
前に進んで、チップ’G’に触るとステージクリア。
面の最初まで戻る。

1−1しか無いのと旗が無いのは仕様。

>>165
いえいえ。
それよりも、それっぽいのが出来たら
貼り付けてくれると嬉しい。
01875802/09/16 22:16ID:???
※jumptale.txtを弄っている人は、
 上書きしてしまわない様注意。
018816502/09/17 02:06ID:???
うpしてみますた
いろいろいじくって、それなりに本家っぽくしてみたつもり

ttp://www.geocities.co.jp/SiliconValley-Sunnyvale/1872/smbmdk/smbmdk.zip

GameInit.txtとjumptale.txtが入っています
01895802/09/17 11:46ID:???
なるほど、確かにそれっぽい。
ご協力、感謝!さっそく差し替え
させてもらいますた。


次は栗坊の追加を予定。
01905802/09/19 16:41ID:???
とりあえずクリボーを追加。
接触判定がまだなので、殺したり殺されたりは
出来ない。
0191名前は開発中のものです。02/09/20 01:44ID:???
クリボーイイ!!

っていうか、マリオの挙動を差し替えてから
下に落ちると上がってこれなくなってしまってるね

まあ、あくまでテスト段階だからどうでもいいんだけど
01925802/09/20 01:54ID:???
クリボーを踏める・焼き殺せるようにした。
接触で死ねるようにした。

スターによる無敵とかはまだ。

>>191
ご理解、感謝します。
01935802/09/21 02:49ID:???
クリボーの死に様を追加。
踏んだらぺしゃんこに、焼いたらひっくり返る。

ダメージを受けたら小さくなるのと、そのあいだの
無敵を追加。

スターの無敵はまだ。
0194名前は開発中のものです。02/09/21 09:10ID:???
クリボーに殺されるとずうっと下に落ちたあと、強制終了してしまうYO!!
01955802/09/21 16:12ID:???
>>194
Win98ですか?それっぽいのを直してみたので、
もう一度お試し下さい。
01965802/09/21 16:13ID:???
書き忘れ。

>>194
動作チェック、感謝。
01975802/09/21 22:52ID:???
スター取得時に敵を轢き殺せるようにした。

死亡時に敵の時間が止まるようにした。
019819402/09/22 00:43ID:???
Win98SEなんですが、
修正後のやつでもやはり不正な処理で終了してしまう
(しかもなぜか3回くらいでる)

あと、スターでクリボーを轢き殺していても同じように終了してしまいます
0199名前は開発中のものです。02/09/22 02:05ID:???
タイマー怪しい。
ガンガレ!
02005802/09/22 02:51ID:???
>>199氏の協力を得てどうにか修正。
しんどい。

自分の環境で出ないバグを潰すのは難しい。

>>198
再度チェック願います。
020119402/09/22 04:56ID:???
ちゃんと動きましたYO!スターで轢き殺しても大丈夫でした。
ゆっくり休んでください
02025802/09/22 19:00ID:???
>>194
確認どうも。ご協力感謝。

ついでにお願いしますが、今UPしている奴
をダウンロードして、左端や上に行ってみて、
前と同じエラーが出るかどうか試してみて
もらえますか。このテストをクリアしないと、
緑ジャンプ台が出せないので。
020319402/09/22 21:52ID:???
エラーは出ませんでしたYO
02045802/09/23 00:39ID:???
や、どうも。これで安心してジャンプ台が
作れます。
02055802/09/25 00:56ID:???
画面上より上に何度も入ってると、突然
ゆっくり降りてきて動かなくなるバグを修正。

最新でないバージョンで、一番高い所で
何度もダッシュジャンプをやってると発生。

ジャンプ台を仮に追加。仮なので問題多し。
今のところ上に乗ると跳ねるだけ。大ジャンプ
は出来ない。
02065802/09/26 01:50ID:???
とりあえずジャンプ台(赤)を追加したことにする。
まだ挙動が変だが、一応大ジャンプは出来る。

ここが明らかにおかしい、という点があったら、
御指摘をお願いする。

あとジャンプ台導入に伴い、ジャンプ中の上昇速度制限
を外したので、ジャンプの軌道が変わっている。ひょっと
したらジャンプテーブルのフォーマットまで変わるかも
しれないので、しばらくジャンプテーブルを弄るのは
控えてほしい。

とりあえず、前に弄ってくれた165氏に陳謝。
手間を無駄にして、申し訳無い。
0207165=19402/09/26 07:18ID:???
>>58
いろいろ変わるのは承知の上です。
あんまり礼儀正しいのでなんか恐縮してしまいますYO!
「おいお前ら!テストプレーしてください」くらいのノリでいきまっしょい

ジャンプ台、なかなか好感触ですた
まだ整備途中かもしれないが、大ジャンプのボタン入力受付は
マリオが台に乗ってる間だけだと思います(うろ覚え)。
今はジャンプボタン押しっぱなしでずっと大ジャンプしてしまうので。
02085802/09/26 12:56ID:???
>>207=165氏
や、そう言っていただけると助かります。

皆様のレスを頼りにしております。

>>207の通りに修正。
・緑ジャンプ台を追加。

ジャンプ台でのジャンプ力は、GameInit.txtの
下2行で弄れるがこれもフォーマットの変更の
可能性有。

今のところ大ジャンプの処理は、jumptable.txt
にそれぞれジャンプ台の係数を掛けた物を使用。
係数を増やすとジャンプ力が増す。またジャンプ
台でジャンプしたときは、ジャンプボタンを押す
長さにかかわらず一定時間上に加速する(ジャ
ンプボタンを押しっぱなしにしたのと同じ時間)。
02095802/09/27 03:37ID:???
面をクリアしたら、次の面に進むようにした。

GameInit.txtの、「ワールド数」と「ステージ数」
でそれぞれの最大値を決められる。
それに合わせて”map*-*.txt”を用意すれば
読み込んで使用する。
0210名前は開発中のものです。02/09/27 08:33ID:RA/3OBiw
だんだん、それっぽくなってきたねぇ

過去ログに埋もれてきてるので、おせっかいかも知れないが
URLを貼りなおしておきまつ

ttp://www.chukkysoft.com/m-bara/JumpAction.zip
0211名前は開発中のものです。02/09/28 15:08ID:???
東芝DynabookSS / WinMe / Celeron 500MHz / メモリ64+128MB
JoyPad:サンワサプライ(型番は不明、ごめんなさい)

自分の環境では、ジョイパッドを使用すると、
常に「左キーを押している」状態になってしまいます。
左右のキーを押している間は、この状態がオフになる(?)ので、右方向に移動することは可能です。

キーボードを使ってる時は(Bボタンの場所がわからない以外は)無問題です。
というか、ゲーム開始後、JoyPadから入力をした直後から発生する模様。
おそらく自分の環境(JoyPad含む)が悪いのだとは思いますが、一応報告させていただきます。
もちろん、他のアプリで同様の症状はみられません。


それと、最後に。
プログラミングの知識が無いのでトンチンカンな質問だとは網のですが、
FPSをフレーム毎ではなく1秒ごとに更新するということは出来ないのでしょうか。
各フレームの処理が行われる度に1ずつカウントしておき、
1秒経った時点でのカウントの値をFPSにする・・・というような。
02125802/09/28 16:04ID:???
>>211
動作チェック、感謝。
fpsの下の数字をX方向の入力を表すのに
変えました。左に入れるとマイナスの数字に、
右に入れるとプラスの数字になると思います。
ニュートラルだと0付近の数字になるはずです。

方向キーを触ってない状態でキャラが勝手に
歩いている状態で、その時の数字を教えて下さい。


FPS表示は1秒毎の更新にしてみました。
02135802/09/28 16:07ID:???
書き忘れ。

キーボードでのダッシュは、アルファベットでbの
ボタンです。

あとX方向の入力を表す数字は、キーボードの
方向キー入力は拾いません。
0214名前は開発中のものです。02/09/28 17:40ID:???
素早い対応ありがとうございます。

まず、常に左キーが押しっぱなし状態になる条件を、
「JoyPadから入力をする」から「JoyPadから左右のキーを入力をする」に修正します。
ジャンプとかしゃがみだと発動しなかったので。

そして、キー入力を検出する数字についてですが、常時左キー状態の時は
ニュートラル: -256
右キーを入力: 32512
左キーを入力:-32768
になりました。
右入力時の32512って、凄く「32768-256」っぽい・・・(*/∇\*)

他のJoyPadでは試してません。同型のやつなら同様の症状でした。
0215211=21402/09/28 17:52ID:???
書き忘れ。
FPS表示のことですが、僕が言いたかったのはこんな感じです。
まあ、どっちでもいいんですけどね。

int GetFps(void)
{
static DWORD cnt = 0; /*フレーム数をカウント*/
static DWORD fps = 0; /*表示するFPS*/
static DWORD lasttime = 0; /*前回更新時間。ミリ秒単位*/

cnt++;
if(timeGetTime() >= (1000 + lasttime)) /*前回更新時より1000ミリ秒経っていれば*/
{
fps = cnt; /*FPSの値を更新*/
cnt = 0;
lasttime = timeGetTime(); /*前回更新時間を変更*/
}

return fps;
}
02165802/09/28 21:20ID:???
>>211
遊びの幅がちょっと狭かったようです。
修正しましたのでお試し下さい。

FPSについては、実はFPSは60以上は
「もしリミッタ-解除したら出るよ」という数字で、
ゲーム自体はディレイを掛けていて
60より上がらなくなってます。
そんなわけですこし回りくどいことになってます。
そのせいか少し変な数字が出てるような気も
しますがゲームが動いているのでほっといてます。


わざわざソースを書いてくださって、ありがとうございます。
ソースだと一発で解るのでありがたいです。
■ このスレッドは過去ログ倉庫に格納されています