☆ベルトアクション作成 Beats of rageスレッド☆ (656レス)
☆ベルトアクション作成 Beats of rageスレッド☆ http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
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 "entitypushing", "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 3789〜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、AImoveの関係で落ちるっぽい? 修正できるかな?と思いましたが、とにかく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〜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
163: 名前は開発中のものです。 [sage] 2021/06/14(月) 01:20:36.86 ID:f6qMiOOZ @script if(frame==0) { float Vx, Vz, Vy=3, dx=0, dz=0; void self = getlocalvar("self"); int dir = getentityproperty(self, "direction"); float x = getentityproperty(self, "x"); float z = getentityproperty(self, "z"); if (dir==0) { dx = -dx; } setlocalvar("T"+self, findtarget(self)); if( getlocalvar("T"+self) != NULL()){ void target = getlocalvar("T"+self); float Tx = getentityproperty(target, "x"); float Tz = getentityproperty(target, "z"); if(Tx < x) { changeentityproperty(self, "direction", 0); } else { changeentityproperty(self, "direction", 1); } x = x+dx; z = z+dz; Vx = ((Tx-x)/(22*Vy)); Vz = ((Tz-z)/(22*Vy)); } else { Vx = 1 ; if(dir==0){ Vx = -Vx ; } Vz = 0 ; } tossentity(self, Vy, Vx, Vz); } @end_script 他人様のアイデアを偉そうに紹介するのもアレなんですが、近くの敵に誘導ジャンプします。 if(frame==0) { float Vx, Vz, Vy=3, dx=0, dz=0; これで、Frame 0の時、ジャンプ力3(Vy=3)で届く範囲を索敵してジャンプします。 攻撃するかどうかは、Anim中に記述されたコマンド次第で、このままなら、 攻撃可能と設定した近くの対象にジャンプするだけです。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/163
164: 名前は開発中のものです。 [sage] 2021/06/17(木) 02:47:33.77 ID:1MwPeeuR DOT {Index} {Time} {Mode} {Force} {Rate} {Index} defines DOT index. Entity may have up to 10 DOT effects at one time. An entity can be hit by more than one DOT effect at once. If entity is hit by same indexed DOT effects, only the latest one will be applied. {Time} defines how long DOT effect active in centiseconds. {Mode} defines how DOT effect is applied to hit entity. HP damage is same type as original attack and affected by damage mitigation. 1 = Nonlethal HP (can reduce to 1 but not below). 2 = MP. 3 = MP and nonlethal HP. 4 = HP. 5 = MP and HP. {Force} defines amount of damage per tick. {Rate} defines delay between each tick in centisecond. DROPVと同じように Attack コマンドと一緒に記述することで 一定時間、ダメージを与え続けるというもの、 Indexは特に気にしなくてOK(DOTが重複して掛かるかどうか)、Timeは持続時間(600で6秒) ModeはHPにダメージ、MPにダメージか双方か、ダメージによって消滅するか Forceは一回あたりのダメージ。Rateは総時間(Time)中、何回ダメージを与えるか Timeが600でRateが100なら、1秒ごとに6秒間Forceダメージ与えるというもの。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/164
165: 名前は開発中のものです。 [sage] 2021/06/17(木) 02:55:24.76 ID:1MwPeeuR スクリプトで同じような事をしようと思うと anim idle @script if(frame==1) { void self = getlocalvar("self"); setlocalvar("BT"+self, findtarget(self)); if(getlocalvar("BT"+self)!=NULL()) { void target = getlocalvar("BT"+self); void PDir = getentityproperty(self, "direction"); int tx = getentityproperty(target, "x"), px = getentityproperty(self, "x"); int tz = getentityproperty(target, "z"), pz = getentityproperty(self, "z"); if(PDir) { if( tz - pz < 10 && tz - pz > -10 && tx - px > 30 && tx - px <240) { changeentityproperty(target, "lifespancountdown", 600 ); // openborvariant("elapsed_time")+300); changedrawmethod(target, "reset", 1); setlocalvar("BT"+self, NULL()); changedrawmethod(target,"tintmode",3); changedrawmethod(target,"tintcolor",rgbcolor(255, 64, 32)); } } else { if( tz - pz < 10 && tz - pz > -10 && tx - px > -240 && tx - px <-30) { changeentityproperty(target, "lifespancountdown", 600 ); // openborvariant("elapsed_time")+300); changedrawmethod(target, "reset", 1); setlocalvar("BT"+self, NULL()); changedrawmethod(target,"tintmode",3); changedrawmethod(target,"tintcolor",rgbcolor(255, 64, 32)); } } } } @end_script 余計なことたくさんしてるんで長くなってますが、 自分の進行方向の敵を標的に選んで、縦軸にずれが10ドット、横軸30〜240ドットにいる 一番近い敵の色をちょっと赤っぽくして6秒後に即お陀仏というもの DOTと同じような事をしようとするとスクリプトでは結構な手間がかかります。 いかにOpenBoRの基本コマンドが良くできているかということですね。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/165
166: 名前は開発中のものです。 [sage] 2021/06/17(木) 07:47:06.34 ID:1MwPeeuR 上の例は、こんなことできたらいいなで、ざっと記述し動作確認します。 動作確認できたら、同じ処理をフラグで簡略化したりして @script void self = getlocalvar("self"); setlocalvar("BT"+self, findtarget(self)); if(getlocalvar("BT"+self)!=NULL()) { void target = getlocalvar("BT"+self); int tx = getentityproperty(target, "x"), px = getentityproperty(self, "x"); int tz = getentityproperty(target, "z"), pz = getentityproperty(self, "z"), IR=0; if(tz - pz < 10 && tz - pz >-10) { if(getentityproperty(self, "direction")) { if(tx - px > 30 && tx - px < 240) { IR = 1; } } else { if(tx - px >-240 && tx - px <-30) { IR = 1; } } } if(IR) { changeentityproperty(target, "lifespancountdown", 600); changedrawmethod(target, "reset", 1); setlocalvar("BT"+self, NULL()); changedrawmethod(target,"tintmode",3); changedrawmethod(target,"tintcolor",rgbcolor(255, 64, 0)); } } @end_script こんな感じに直します。動作は一緒なんで、別にやらなくても良いのですが、なんとなくw http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/166
167: 名前は開発中のものです。 [sage] 2021/06/21(月) 00:28:30.55 ID:hNfJwRs9 勝手な想像なのですが、どうもOpenBoRの基本として エフェクトに関しては左右反転のようです、というより何となく PCゲームに関する表示はまるで画面の反対側の世界が基準のような? バイナリが逆から数えるのが基本みたいな事なのかなあ? まあ、その辺の事を素人が考えても仕方ないのですが、 何が言いたいかというと、敵を攻撃した際のエフェクト、基本のキャラクター設定では 画像を、進行方向「右」で作るので、ついエフェクトなども「左から右に向けて」はじけるような ものを作ってしまいがち、ですが、実際は「右から左に向けて」作り 表示の際は EntityのヘッダーにToflipを記述して左右反転する必要があるようです。 なにか他にコマンドがあるのか、Level.txtの向きの関係なのか謎は深まりますが 色々コマンドで小細工するより、キャラクターなどは左から右に向けて エフェクトなどは右から左に向けての画像を用意すれば、余計な苦労はしなくて済むようです。 特に左右関係ない場合は別に気にする必要も無い事なのですが。 因みに、当方が苦労したのがBlock(Bflash)で基本、ガードエフェクトなのでが、 弧を描くようなエフェクトが対象に表示されるつもりが、自身にガードエフェクトが表示されるという。 なかなか難しいものです。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/167
168: kt住江 ◆/VMXjFOJew [sage] 2021/06/26(土) 17:09:38.82 ID:ZHxLPI+W 皆さまこんばんは、kt住江。 開発途中経過の画像を掲載します。 ダブルドラゴンではお馴染みの敵キャラ、アボボです。 ttps://twitter.com/ktsuminoe/status/1408697712560640002/photo/1 完成締め切りまで1か月に迫ろうとしていますが、 この勢いで完成目指して頑張ります。 >>167さん いつも有用なスクリプトの掲載お疲れ様です。 https://twitter.com/5chan_nel (5ch newer account) http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/168
169: 名前は開発中のものです。 [sage] 2021/07/22(木) 21:22:48.23 ID:O5VyZp9t 初代熱血硬派くにおくんもOpenBoRでリメイクできないかな? http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/169
170: 名前は開発中のものです。 [sage] 2021/08/02(月) 22:04:54.46 ID:9n8sAsEi 最近OpenBoRのゲームのプレイに手を出し始めた者なんだが専門スレもないしネットの情報は古い物が多いしで中々難しいですね YouTubeに動画だけはあるんだけども、みんな何処で拾っているのか…どこかOpenBoRゲーム見つけるならココ!って所があるのでしょうか… http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/170
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 486 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.021s