おなまえ
タイトル
コメント
アイコン [アイコン一覧]
画像認証 (半角数字で入力) 画像認証
暗証キー (英数字で8文字以内)
文字色
Re: 【趣味の開発】新たなる挑戦 その5 投稿者:KEN 投稿日:2020/03/01(Sun) 02:13 No.873

HTML5/CSS3/jQueryによる個人開発スレッドです。
※長くなりすぎるとスクロールの邪魔なので20レス程度で区切っていきます


Re: 【趣味の開発】新たなる挑戦 その5 投稿者:KEN 投稿日:2020/03/01(Sun) 02:17 No.874

【変更点】
・つかみシステムを実装
・つかみ膝蹴りを実装
・その他バグ修正多数

細かいところでまだ色々ありそうですが目立つバグは取れたので一旦ここまで。やっぱり膝蹴りはいいものだ。

つかみ技は今まで実装してきた「攻撃判定を出し」「やられ判定と重なったら」「食らいモーションを取らせる」といった段取りの通常技とは根本的に異なり、「攻撃するフリ」と「やられるフリ」の完全同期による”ロック系演出”。システム的にはほぼ新規開発となります。この手法を発展させたものがいわゆる乱舞技で、えてしてバグの温床になりやすい部分でもあります。

ちなみにバグっぽいところを潰していった結果、いわゆる「空膝」は今のところ出ないようになりました。多分敵が吹っ飛んでからも1Fぐらいつかみ判定を故意に残せばいいんだろうけど。


Re: 【趣味の開発】新たなる挑戦 その5 投稿者:無敵ロレント 投稿日:2020/03/02(Mon) 00:48 No.884

久々に来たらどんどん開発が進んでますw

テストプレイとはいえ再現度が高いものになってきました(驚)

KENさん一体なにものなんですかw


Re: 【趣味の開発】新たなる挑戦 その5 投稿者:とおりすがり 投稿日:2020/03/02(Mon) 02:13 No.888

ご苦労様です。ついに掴みの世界に…
掴みに関しては、ハガー以外はジャンプや振り向きで解除できる、掴み打撃で一打ごとに連続技が進む(継続するのはジャンプ攻撃かハガーの投げ巻き込みのヒット時のみ/背負い投げや時間の経過ではリセットされない)といった特徴がありますが、後者はどんな処理になっているのか自分の頭ではサッパリです。もしかしたらバグなのかも…

>敵が吹っ飛んでからも1Fぐらいつかみ判定
武器攻撃のヒットと同時に稀に掴めるのにはそういった理由があったのですね


Re: 【趣味の開発】新たなる挑戦 その5 投稿者:KEN 投稿日:2020/03/02(Mon) 05:10 No.890

【変更点】
・つかみからの背負い投げを実装
・投げた敵による設置物の破壊処理を実装
・その他バグ修正

まだ未実装な部分(左右の投げ分けやパンチ投げができないとか、壁に当たった時点でのダメージ処理とか、つかみのキャンセル処理とか)やバグ(稀に真空投げっぽくなっちゃうとか、投げが発動せず封印状態になっちゃうとか)が色々残ってますが、ベースができれば後は時間の問題です。超難しそうでしたがやれば何とかなるもんだなぁ。またぼちぼち改善していきます。

>KENさん一体なにものなんですかw
来た頃から掲示板@ファイナルファイト技術班を自称してますが、そろそろ肩書に「インディーゲームデベロッパー」とか加えたりするかもしれませんw

>後者はどんな処理になっているのか…
ここらへんはあまり整理された仕様という感じがしないのでなんとなくバグっぽいですね。ハガーの引っこ抜きは無敵継続も含めて意図的に調整されたんじゃないかと思ってますが。


Re: 【趣味の開発】新たなる挑戦 その5 投稿者:KEN 投稿日:2020/03/03(Tue) 22:21 No.893

【変更点】
・パンチ始動のコンボ背負い投げを実装
・つかみ時の背負い投げ方向指定を実装

まだ多少、投げ関係のバグとか未実装はあるけどほぼ完璧にイメージ通りスムーズにできました。もう相当ファイナルファイト。めっちゃ満足。


Re: 【趣味の開発】新たなる挑戦 その5 投稿者:とおりすがり 投稿日:2020/03/03(Tue) 23:30 No.894

凄い。普通に動かす分には殆どオリジナルそのものになってますね。

ちょっと訂正
>背負い投げや時間の経過ではリセットされない

背負い投げと書いてますが、ハガーの投げ技(巻き込み無し)も含まれます
スーファミ版アビゲイルの起き無敵解除の件を引き摺っていたようです


Re: 【趣味の開発】新たなる挑戦 その5 投稿者:KEN 投稿日:2020/03/04(Wed) 03:35 No.896

【変更点】
・背負い投げで壁に激突させた際の敵挙動およびダメージ加算処理を実装

すでに見た目は相当似てきたので、部分的に動画などで見せる分にはマニアにもそうそう見破られないんじゃないかと思いますw

ただ、試しにブレッド君を6体ぐらいに増やしてみたところ(動作ルーチンが1体分しかないので全員重なるけど)やはり動作が相当重いです。1FごとにDOM操作が入ってるから当然なんですが、劇的な技術ブレイクスルーがないと相当厳しい。2~3体ぐらいならいけるのかも。(スーファミか)


Re: 【趣味の開発】新たなる挑戦 その5 投稿者:KEN 投稿日:2020/03/08(Sun) 11:54 No.902

【変更点】
・敵行動ルーチンを複数体の同時処理に対応
・投げ巻き込み処理の実装
・基礎アニメーションをGPU処理を使用するように改良

【既知のバグ】
・背負い投げダメージが入る瞬間にヒットストップをかけると多重でダメージが加算されてしまう(本来ヒットストップは「プレイヤー」と「攻撃対象」にのみかかるべきだが、現状全てのイベントに対してかかってしまっているため)

今回、軽量化のために表示処理の抜本的な改良を行ったのですが、複数体の敵の同時処理の重さの前には焼け石に水でした。とにかくめちゃくちゃ重い。当たり判定の処理を細かく区分けしていちいち止めないとダメそう。一応動きはしたのでいったん公開。


Re: 【趣味の開発】新たなる挑戦 その5 投稿者:eewano 投稿日:2020/03/08(Sun) 12:14 No.903

>KENさん
ついに2人目の敵キャラ(DUG)登場ですね。
しかし、確かに敵が2人になった途端、動作が激重になりました。そして1人になると通常通りのスピードになりますね。いかに敵1人を動かすのに大きな負荷が掛かるのかを実感出来ます。

2Dとはいえ、やはりWeb上での処理では相当厳しくなってきましたかね... orz


Re: 【趣味の開発】新たなる挑戦 その5 投稿者:KEN 投稿日:2020/03/08(Sun) 12:18 No.904

>eewanoさん
もはやちょっとやそっと改良したぐらいじゃ如何ともし難いぐらい重くなりましたw 単純に2倍重い感じで、3体出せば3倍、4体なら4倍…と考えるだけで気まで重いです。基礎の実装はあらかた終わったので、今後はパフォーマンス向上について考えるフェーズになりそうですね。


Re: 【趣味の開発】新たなる挑戦 その5 投稿者:KEN 投稿日:2020/03/09(Mon) 03:35 No.905

【変更点】
・敵と設置物のヒット判定イベントを「攻撃動作中」のみ処理するように変更
・設置物と進入不可エリアに対しての押し当たり判定イベントを「画面内のもの」のみ処理するように変更
・敵の消滅アニメーションをGPU処理で行うよう変更

パフォーマンス改善シリーズ。環境にもよりますが、当初の絶望的な状態からはかなりマシになった気がします。特に重い部分(プレイヤー&敵空中時の高度処理、次いで設置物の破壊演出)はまだ手つかずなのですが、そこそこ光明は見えました。つまり現状で最も重いシーンは「プレイヤーがジャンプ攻撃で敵複数体と設置物を同時にヒット」する状況となります。


Re: 【趣味の開発】新たなる挑戦 その5 投稿者:eewano 投稿日:2020/03/09(Mon) 10:50 No.906

今プレイしてみたら、前回時よりも劇的に動きが軽くなって、BREDとDUGが居ても露骨に処理が激重になる事はなくなりました。これは凄い!

今後のWebサイトはスピードが求められますから、この技術はゲーム関係無く大きな財産になり得ますよ。期待してます(^^)


Re: 【趣味の開発】新たなる挑戦 その5 投稿者:KEN 投稿日:2020/03/10(Tue) 00:13 No.907

【変更点】
・ほぼ全てのCSSアニメーションをGPU処理に対応するよう書き直し

やたら労力がかかるわりにチリツモ的な効果しかないやつ。でもいつかはやらざるを得なかったのですっきり。

>eewanoさん
もともとゲーム制作に特化したUnityとかenchant.jsとかphina.jsとかを使わず、あえてCSS3+jQueryでやってるのはあくまで汎用的なスキルアップのためなんですが、ゲーム制作は設計から実装、最適化までを一貫して学べる理想的な教材になってますね。


Re: 【趣味の開発】新たなる挑戦 その5 投稿者:KEN 投稿日:2020/03/10(Tue) 13:55 No.908

【変更点】
・ヒットストップ処理の個別化
・つかみ条件を複数体同時に成立させないように修正

ヒットストップを「攻撃側」「やられ側」の当事者のみがかかるようにし、第三者にまで影響が及ばないようにしました。無用なタイミングでの引っかかり感を軽減。あとは敵を2体同時に掴んでしまわないように延々といじってましたが、今回「掴める」フラグをフレームごとに1体ずつしか立たないように調整。


Re: 【趣味の開発】新たなる挑戦 その5 投稿者:KEN 投稿日:2020/03/12(Thu) 01:28 No.909

【変更点】
・敵出現ルーチンの実装

今まで最初から配置されていた敵キャラですが、一定位置までスクロールしたら設定条件に応じて動的に登場するように出現ルーチンを作成。これだけでもかなりゲーム性が高まりました。

登場時の行動も設定できるようにし、待機ポーズを試作。ついでにジェイク君も作成。あんまり大量に出ると重いですが同時に2、3体ぐらいなら許容範囲かな。


Re: 【趣味の開発】新たなる挑戦 その5 投稿者:KEN 投稿日:2020/03/14(Sat) 15:27 No.912

【変更点】
・ドアが開いて敵が出てくる演出の追加

わざわざ専用の処理が必要なわりには1面の冒頭にしか使ってない贅沢な演出ですね。でもこれがあるとファイナルファイト感がぐっと増します。

【既知のバグ】
・背負い投げした敵のバウンド直後まで巻き込み判定が残る

これは安易に直すと逆に動作がおかしくなるので引き続き調査中。


Re: 【趣味の開発】新たなる挑戦 その5 投稿者:KEN 投稿日:2020/03/15(Sun) 15:49 No.915

【変更点】
・エリアのクリア判定を実装
・クリア時の遷移カットシーンを実装
・投げ巻き込み判定の消失タイミングを調整

出口に向かうロジックパターンを観察&分析し、うまく完全再現で実装できました。クリア時に武器を手放しつつ得点が入るやつとか、自動ジャンプ時の空蹴りとかいった小ネタはまだです。あと、暗転した後の初期化処理もまだないので手動でリロードしてくださいw


Re: 【趣味の開発】新たなる挑戦 その5 投稿者:無敵ロレント 投稿日:2020/03/17(Tue) 23:05 No.917

インディーゲームデベロッパーさんのゲームが訪れる度に本物に近くって毎回言ってるきがするw

処理落ちが増えましたがこのPCの処理能力がないだけかも

なんでパソコンは使ってくと重くなるのか(悩)

あ〜KENさんとFFやりてぇw

この掲示板通してオフ会呼びかけもしてないですからねぇ(懐)


Re: 【趣味の開発】新たなる挑戦 その5 投稿者:KEN 投稿日:2020/03/17(Tue) 23:55 No.918

超絶ハイスペックPCなら全然処理落ち無いかもとは思いますが、基本的にはブラウザベースで今の作り方をしてることによる限界ですね。できることはほぼ全てやってますが、3体以上が歩いてると普通に重いはずで作ってる本人もガックガクですw もうちょっとHTML的でない別な描画方法なら全然軽くなると思いますが難しい。

この移植を通じてFFの内部ロジック(解析と推測)には相当詳しくなったんですがプレイは相変わらず、いや普通に緊張感を持ってプレイできなくなったんで前以上にヘタですw


Re: 【趣味の開発】新たなる挑戦 その5 投稿者:KEN 投稿日:2020/03/18(Wed) 10:48 No.920

【変更点】
・描画更新メソッドをsetIntervalからrequestAnimationFrameに変更

専門的な部分ですがざっくり言うと、今までは「1秒÷60」の計算で内部処理を行って擬似的に60fpsをターゲットにしていましたが、今回ブラウザ側の描画更新(通常60fps)と同期を取るようにしました。これによって(処理落ちしてないときの)動作速度は体感でかなり実機に近づきました。今までは誤差で微妙に早かったみたいです。いうなればシンクロ連の動作原理みたいなもんです(?)。

ただ処理落ちそのものに対して強くなったわけではありません。またChrome以外のブラウザで不具合が出ているのでもしかしたら今後もとに戻すかも。