☆ベルトアクション作成 Beats of rageスレッド☆ (656レス)
☆ベルトアクション作成 Beats of rageスレッド☆ http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
143: 名前は開発中のものです。 [sage] 2021/05/13(木) 01:20:35.32 ID:OoHlaO5a anim jumpattack3 ## Jump, Up + A @script if(frame==3) { float vx=3, vz=0, vy=-4; int vd=getentityproperty(getlocalvar("self"),"direction"); if(vd==0) { vx= -vx; } changeentityproperty(getlocalvar("self"), "velocity", vx, vz, vy); } @end_script jumpframe 0 2 -0.5 delay 8 offset 34 97 frame data/chars/kunagi/318.gif offset 34 95 frame data/chars/kunagi/319.gif offset 42 88 frame data/chars/kuna
gi/320.gif delay 30 attack 20 20 30 60 10 0 1 0 0 20 stun 1 offset 40 99 frame data/chars/kunagi/371.gif offset 65 90 frame data/chars/kunagi/372.gif 私は基本あまり使わない攻撃には強力な性能を仕込むようにしてます。 例はジャンプ中にレバー上+A で飛び込み攻撃 OpenBoRの標準コマンド JumpFrameはとても便利ですが、一つのAnim中に一回しか機能しません そこで@Scriptを使って飛び込み動作をさせています。地上でVelocityを使う時はX,Z,Yを0に 戻す手間が掛かりますが、Jump中なら着地で自動的に0に戻るので、気軽に使えます。 htt
p://mevius.5ch.net/test/read.cgi/gamedev/1547405874/143
144: 名前は開発中のものです。 [sage] 2021/05/16(日) 00:01:17.20 ID:FoJl/otl あいかわらず Paletteや ReMapについては良く分からないです。 ぐっちゃぐちゃの色になったり、Alphaがとんでもない事になったり もう色については放置です。 @cmd changeentityproperty getlocalvar("self") "animation" openborconstant("ANI_CHARGE") frame data/〜 とすることで、Animの処理中に別なAnim(例ではCHARGE)に処理を跳ばす事が出来るんですが 処理中のAnimにLoop 1(当該Animを繰り返し実行)があると、例のパ
ターンだと一瞬だけANI_CHARGEに跳んで すぐLoop 1のAnimに戻ってしまうんですね。 そんな時、Loop 1であっても別なAnimに処理を強制的に移行させるのが @cmd executeanimation getlocalvar("self") openborconstant("ANI_CHARGE") 0 これで、Loopの呪縛から開放されます。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/144
145: 名前は開発中のものです。 [sage] 2021/05/16(日) 00:31:35.07 ID:FoJl/otl >>143 に、ジャンプ上攻撃(JumpAttack3)の中にもJumpFrame 0 2 0.5とありますが これは、元々のジャンプが降下に移っているとき攻撃を出しても、 攻撃が実行される前に着地してしまうことを避けるため、擬似2段ジャンプのような形にして JumpAttack3が降下中でも攻撃判定がでるように工夫してます。 以前に紹介した、Cancelを利用した2段ジャンプは別にFreeSpecialを用意する必要がありましたが 時には使う事が無いJumpAttack2やJumpAttack3を2段ジャンプ代わ
りにすることも出来るわけです。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/145
146: 名前は開発中のものです。 [sage] 2021/05/16(日) 00:43:11.17 ID:FoJl/otl >>137 の敵に向かってホーミング移動は自分だけでは無く 自分が射出する系(はどー拳みたいな)のEntityに仕込むことで、実際に誘導弾にできるので void self = getlocalvar("self"); float vX=2 , vY= 0, vZ= 0, dX= 50; int sX = getentityproperty(self, "x"); int sY = getentityproperty(self, "a"); int sZ = getentityproperty(self, "z"); int iCnt=4, iEnt, Rd= 0, dir = getentityproperty(self, "direc
tion"); if(!dir) { dX= -dX; } for(iEnt= 0; iEnt<iCnt; iEnt++) { void vShot = projectile("Ktball", sX+dX, sZ+0, sY+60); vY += 0.5; vX -= 0.25; setdrawmethod(vShot, 1, 160, 160,0,0,0,1,0,0,0,0,0); changeentityproperty(vShot, "owner", self); changeentityproperty(vShot, "parent", self); changeentityproperty(vShot, "direction", self); changeentityproperty(vShot, "velocity", vX, vZ, vY); changeentityproperty(vShot, "speed", vX); } こんな感じのス
クリプト(4発 iCnt=4 の弾 ”Ktball”をばら撒く)の ”name Ktball”Entityに >>137 の誘導スクリプトを仕込めば画面がとっても五月蝿い感じになります。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/146
147: 名前は開発中のものです。 [sage] 2021/05/16(日) 00:46:10.02 ID:FoJl/otl 上の setdrawmethod(vShot, 1, 160, 160,0,0,0,1,0,0,0,0,0); changeentityproperty(vShot, "owner", self); changeentityproperty(vShot, "parent", self); ここはあまり意味無い(darawmethodによる描画の変化、プレイヤーにスコアが入るかの設定)なので 気にしないでOK http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/147
148: 名前は開発中のものです。 [sage] 2021/05/16(日) 01:04:20.46 ID:FoJl/otl vY += 0.5; vX -= 0.25; この部分で射出される弾の軌道を調整(例では4つの弾が斜め上にずれて打ち出される)しているので、 iCntを増やして、vX,vYを関数的に処理すれば綺麗な扇弾にすることもできますね。 ジャンプに関しての追記ですが、 anim jumpattack2 @script if(frame==8) { float vx=3, vz=0, vy=-4; int vd=getentityproperty(getlocalvar("self"),"direction"); if(vd==0) { vx= -vx; } changeentityproperty(getlocalvar("self&
quot;), "velocity", vx, vz, vy); } @end_script jumpframe 0 4 -0.5 delay 6 offset 37 95 frame data/chars/kunagi/01.gif 〜 attack 0 0 30 40 8 1 1 0 10 20 offset 26 93 frame data/chars/kunagi/08.gif こんな感じにすることで、ジャンプ中レバー下攻撃(JumpAttack2)と入力すると 擬似2段ジャンプから一転、急角度(vx=3, vy=-4)で飛び込む攻撃になります。 changeentityproperty(getlocalvar("self"), "velocity", vx, vz, vy) とても便利ですね。 以前にも書き込みましたが、適当なところで "v
elocity", 0,0,0 にしないと 同一Anim内では動きっぱなしになってしまいますがw http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/148
149: 名前は開発中のものです。 [sage] 2021/05/16(日) 01:26:03.54 ID:FoJl/otl 余計な事ですが、 int vd=getentityproperty(getlocalvar("self"),"direction"); if(vd==0) { vx= -vx; } この部分は、一回しか使わないので、 if(!getentityproperty(getlocalvar("self"),"direction")) { vx= -vx; } これでも良さそうですね 度々、お世話になる”direction”これは、キャラ(Entity)の向きを表しています。 1ならEntityは右向き、0なら左向きとなります。これはプレイヤーでも敵でもアイテムでも一緒で
す。 if(〜) { 〜 } に関しては、もし(〜)内の条件が 1の時は{〜}内の処理を実行するというもの。 !getentityproperty 気付きにくいですが先頭の!マークがあると「〜ではない場合」の意味なので 向きが左(数値が0)ということは1では無い、一番上のvd==0と同じ意味になります。 分かりにくいので、他人に見せる場合は一番上のように記述するのが良いと思います。 なんかこんな風に記述することで「ちょっと分かった気分になれる」という利点があります。 最近覚えたので薀蓄たれたくなりました。 http://mevi
us.5ch.net/test/read.cgi/gamedev/1547405874/149
150: 名前は開発中のものです。 [sage] 2021/05/16(日) 03:06:57.62 ID:FoJl/otl Loop 1からの脱出 AnimにLoop 1が設定されていると @cmd changeentityproperty getlocalvar("self") "animation" openborconstant("ANI_CHARGE") では、すぐに元のAnimに戻されてしまう。 そこで、executeanimationを使う事で完全に別なAnimに移行できると紹介しましたが、 executeanimationを実行させる条件付けはどうしよう? @script if(frame>0) { if(getplayerproperty(0, "newkeys")) { executeanimation(getlocalva
r("self"), openborconstant("ANI_CHARGE"), 0); } } @end_script これは何らかのキー入力(方向キー、各ボタン)でexecuteanimationするもの。 他にPlayerkeys(0,0,"anybutton")もありますが、これはボタン(Aの攻撃など)のみ、 あと、標準コマンドのCancelを使ってFreeSpecial#に移行することも出来ますね。 これだけでは無くプレイヤーに関しては、プレイヤーの状況を取得する手段が結構いろいろと用意されています。 >>148 のAnim JumpAttack2内の Velocity制御について、 結局、強制的に動かしたい方向が
決まっていれば以下のように Velocityを指定してやれば良いということになります。 @cmd changeentityproperty getlocalvar("self") "velocity" 3 0 -4 frame data/~ ~ @cmd changeentityproperty getlocalvar("self") "velocity" 0 0 0 frame data/~ ただ、直接指定すると”強制的に右向きを基本とした動作”になってしまうので、 if(vd==0) { vx= -vx; }こういった処理が必要な場合、@Scriptを利用することになります。 標準コマンドを利用するとAnim中に1回のみなどの制約が伴いますが、気軽に使えます。
一方、@cmdや@scriptを利用すると、様々な要素(省略できる部分もあります)について指定する必要があります。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/150
151: 名前は開発中のものです。 [sage] 2021/05/17(月) 00:52:19.70 ID:FAJnAZ+T @Script 〜 @Emd_Script ばかり紹介してるけれど、本来スクリプトは data/scripts/フォルダにまとめて そこから呼び出すようにした方が良いって公式にも書かれています。 でも完全にそうなってしまうと、得体の知れないブラックボックス的なものになってしまうかも という危惧があります(余計なお世話ですが)。 なので一旦、スクリプトってどんな働きをしてるの?という部分について 大雑把にこんな感じ(だと思う)だよ、と紹介できたらなというのが私の思い
です。 標準コマンドは危険が無いように各種ステータスを自動で調整してくれますし、 標準コマンドですべて完結するのが一番だと考えています。 一方、私程度でも、いつもよりチョッとだけ違う動きが出来たりする懐の深さが OpenBoRの魅力かなと思います。 Entityのヘッダー(ファイルの上のほう)で設定する、SpeedやAntigravityなどの数値ですが 最初に設定する以外にもChangeEntityPropertyなどで自由に変更できる事は、これまでも紹介した通りです。 ヘッダーではSpeed 11のAntigravity 100のように設定していても、ChangeEntityPropertyなどで変
更する時は 10分の1〜100分の1程度の数値にしないと、影響が大きすぎて激しく動いてしまう事も多々あります。 これはやってみないと判らないことが多いので、試行錯誤で悶絶ですね。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/151
152: 名前は開発中のものです。 [sage] 2021/05/17(月) 02:39:29.32 ID:FAJnAZ+T 同じ敵でもSpeedの数値をランダムに変えれば、多少は「団子状態」で迫りくる状況が変えられるか? という事で、いくつかのシチュエーションで試してみましたが、 プレイヤーが一人で、転んだり(Fall)などの状況になってしまうと 結局、団子になってしまいます。 敵同士のぶつかり(重なり)を避けるためにCanDamage を使うと、プレイヤーに対する攻撃が 同じ属性(TYPE_ENEMY)にもヒットしてしまうので、面白いけれど、全ての敵がそうだと少々面倒。 今後の課題とし
て、EntityPropertyなどの参照で、”DamageTaker”や”Opponent”を取得できれば TYPE_ENEMYのAttackコマンドがTYPE_ENEMMYにヒットしないように(ヒットしても無視するように) することも出来るかな?と思う。 もう一つの対処法としてRand()%100などを使ってランダムな数値を出し、その数値によって Anim AttackやAnim Idle3のようなAnimに分岐させて、暇つぶしをさせることによって 重なりを防ぐという事も考えられます。 これは、他のいくつかのMODでも 敵の攻撃が成功したら、攻撃した敵に適当なAnim処理(攻撃が当たったヒャッホーみたいなモー
ション)をさせ プレイヤーがいわゆるハメ状態にならないように工夫しているものからヒントを得ています。 沢山のTYPE_ENEMYを用意して、同じ種類の敵が同時に出現することを防げば良いのですが。 それはそれで試行の回数が増えることになるのでバランスが難しいですね。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/152
153: 名前は開発中のものです。 [sage] 2021/05/19(水) 23:48:02.64 ID:upn5bY1m model commands: entitypushing {int}: if 1 entity pushing target on collision pushingfactor {float}: pushing factor on collision. Default: 1.0 openborscript functions: get_entity_collision_collection(void handle, int frame); get_entity_collision_instance(void handle, int index); get_entity_collision_property(void handle, int property); set_entity_collision_property(void handle, int property, value); openborscript: added "enti
typushing", "pushingfactor" to entityproperty added "collidedentity" to entityproperty added "maxcollisions" to openborvariants Entity同士の衝突判定用?と思われるPropertyが Git hubの OpenBoR Plusで発見 Open BoRをデバグモードにすると緑やら青や赤の判定枠が表示することも出来ますが ただ単にそれ用のPropertyかもしれませんが、Collisionという衝突のみを判定するフラグは 存在しているのが伺えますので、Entity同士の衝突しているのかの判定について 何らかのデータを取得する手段はあるのかな
と思います。 一方で、そもそもOpenBoR Plusって・・・という謎も多々ありますし とっくに実装されているとされている、Boomerangも動作確認できていないので 謎は深まるばかりです。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/153
154: 名前は開発中のものです。 [sage] 2021/05/22(土) 03:25:15.70 ID:zSTPvS3W drawmethod scale # は機能する(#の数だけ拡大・縮小)のに drawmethod scalex # scaley # (横、縦の比率を指定して拡大・縮小)は機能しない OpenBoRのバージョンは3で固定のようですが、Buildでかなり動作にムラがあるようなので MODによって、全く動作しなかったり、特定のステージ・エリアに行くと落ちたりします。 作者さんが動作確認できているBuildを公表するなりしてくれていると助かるのですが、 私の勝手な分け方では、古いMOD(2018年以前)はBuild 378
9〜4086あたり、 それ以降であれば最新のものでも、ほぼ動作するようです。 大分安定しているとはいえ、過去Buildでは問題なく動作したコマンドが 最新ではエラー扱いになったりするので、どんな物でもそうなんですが、エラー原因の特定は なかなか難しいですね。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/154
155: 名前は開発中のものです。 [sage] 2021/05/25(火) 01:13:32.55 ID:blxYdI/g 今ちょこちょこと弄っているのが、DungeonMAgic、過去にライトブリンガーとして アーケードゲームとして斜め見下ろしダンジョン攻略アクションRPG風とでも言うのでしょうか その登場キャラを例によってゴニョってOpenBoRに落とし込んだもの ただ公式サイトでも、動いたー止まったーと幾つか混乱が生じているようですが、 Build 4078であれば特に落ちる事無くエンディングまで行けるようです。 Build 6000番くらいまで来ると、EntityPropertyの関係や、AttackTypes、AIm
oveの関係で落ちるっぽい? 修正できるかな?と思いましたが、とにかくLoadされるModelが多過ぎなのと 作者さんが ;セミコロンをコメント扱いにしていたりと中々の曲者なので 素直にBuild 4078でプレイするのが吉かと http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/155
156: kt住江 ◆/VMXjFOJew [sage] 2021/05/25(火) 22:23:59.77 ID:GJ3pQcTQ こんばんは、kt住江です。 開発中のベルトアクションの開発率が50%に達しましたので、 途中経過の動画をご紹介します。 タイトル『ダブルドラゴン番外編』のOPです。 ttps://twitter.com/ktsuminoe/status/1397181051865161728 2か月後の完成を目指して、引き続き頑張りたいと思います。 僭越ながら宜しくお願いします。 https://twitter.com/5chan_nel (5ch newer account) http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/156
157: 名前は開発中のものです。 [sage] 2021/05/30(日) 02:14:00.16 ID:VOVq5aSh おろしや国辺りのサイトを見てると、痕跡は残っているのに、 Modそのものは結構消滅して行ってる感じが悲しい。 チャイさんヒスパさん系はフリーだったり、寄付募集したり、逞しい感じw 2D_Engineとしてかなり取っ付き易いのでもっと皆に弄って遊んで欲しいですね。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/157
158: 名前は開発中のものです。 [sage] 2021/06/07(月) 00:31:12.40 ID:kBKigIMN 分岐器で開発部門特製ソフトが発売されると大々的にCM打たれてますが これを機にエディター系のジャンルが流行ってくれればなーと個人的には思いますが カルネージハートは検索しても出てこないし、ヒューマンリソースマシーンとか 7ビリオンとか別に話題になってないみたいなんで、 おじ様達にちょっとヒットするくらいなんでしょうか OpenBoRのほうはジャンプと攻撃のみでシンプルに楽しむ、王道2Dを弄っております 足場の端っこに立った場合のAnimとか用意してあ
って、OpenBoRの奥深さにいまさらながら驚いています。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/158
159: 名前は開発中のものです。 [sage] 2021/06/09(水) 01:15:57.76 ID:GZBN8r0d 純粋な2Dは難しいですね パースーオリマーのようにジャンプで避ける、踏みつけて攻撃という 多少の派生動作はあってもシンプルな2種類の動作を選択するのみで 爽快感を得られるように工夫されている凄さに改めて敬服します。 OpenBoRでも、もちろんそのようなシステムにする事は可能ですが ついつい、おキャッスルヴァーニャのように足を止めて打ち合う方に魅力を感じて しまうのですが、その場合、足場の選択、自分の手数からの攻撃手段の取捨、 どの方向の敵を優先
的に攻撃するか、などなどプレイする側はもとより 状況(ステージ)を設定する側の手腕も問われる訳でして 設定をチョッと間違えると、一瞬で無理ゲーや作業になってしまうので あ熊城などの練り込み完成度の高さに、いまさらながら関心しています。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/159
160: 名前は開発中のものです。 [sage] 2021/06/13(日) 00:36:10.90 ID:54syd5Da 楽しい BindEntity anim idle loop 1 @script if (frame == 0) { clearspawnentry(); setspawnentry("name", "Ariel"); void vSpawn = spawn(); bindentity(vSpawn, getlocalvar("self"), -60, 0, 0, -1, 4, 1); } @end_script これは、プレイヤーキャラが アイドリング状態になるたびに Arielというキャラを呼び出すもの もちろんArielは自キャラ同様 MODELS.txtで設定しておく必要があります。 幾つか自キャラを選べるなら、そのう
ちの一つで良いのです。 ただし、呼び出すキャラと呼び出されるキャラ、ややこしいですね、上の例だと Selfが親でArielが子になります。 書式は bindentity(entity, target, int x, int z, int a, int direction, int bindanimation, int sortid) 長いですね、entity(子)target(親)x,y,z(親の何処に表示するか) direction(向き、0出現した時の向き、1親と一緒、2常に右、−2常に左) bindanimation(子に親と同じAnimが設定されていると実行される) sortid(重なった際に優先して表示されるか?なので、こだわり無ければ別に) 一番
面白いのは bindanimation部分でしょうか、0何もせず、1親と同じAnimを実行 2親と同じAnimをFrame数までシンクロして実行、3は無くて 4は基本1で親と同じAnimが無ければEntity(上だとAriel)を消去(bindentity消去) 夢が広がるコマンドですね。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/160
161: 名前は開発中のものです。 [sage] 2021/06/13(日) 00:57:23.46 ID:54syd5Da weapons {name1} {name2} {name3} {name4} {name5} {original name} ちょっと説明が難しいのですが使うと便利なコマンドです。 というか DCManualを読むのが一番早いのですが、「なんか面倒そう」という感想を抱くかとおもいます。 また色々Anim設定しなきゃでしょ?と思うかも知れませんが、 modelflag 0(デフォ)となっていれば{original name}のAnimがコピーされます。 プレイヤーキャラを名前を変えてコピペして別キャラを作らなくても、 Anim Attack1́
c;3などのEntity(Model)を設定して、上の{name1}に記述しておけば 他のFreespecialなどは{original name}のAnimが実行されるので Animを変えたい部分だけ作れば良いのです。 あるFreespecialを使うとスタイルチェンジ!とか変身!とかしたい場合便利。 特定のステージでプレイヤーの向きを固定(スクロール方向に)するなど、かなり便利なので weaponFrame などこだわると結構いろいろ出来そうです。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/161
162: 名前は開発中のものです。 [sage] 2021/06/13(日) 01:05:41.40 ID:54syd5Da >>160 BindEntity の Direction -1は常に親と逆向きです。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/162
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 494 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.032s