☆ベルトアクション作成 Beats of rageスレッド☆ (656レス)
☆ベルトアクション作成 Beats of rageスレッド☆ http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
21: 名前は開発中のものです。 [sage] 2021/02/19(金) 00:31:11.85 ID:kAXiPLiE anim special2 @script void self = getlocalvar("self"); if(frame==0){ float MHealth = getentityproperty(self,"maxhealth"); float Health = getentityproperty(self,"health"); if(Health <= MHealth/2){ changeentityproperty(self, "animation", openborconstant("ANI_FREESPECIAL2")); } } @end_script スクリプトを使うと結構いろんなことが出来ますが なかでも結構便利なのが上で、スペシャル2(レバー入れ必殺ボタン)の 動作に「プレイヤーが最大体力の2分の1なら、FreeSpecial2を実行する」というもの DCマニュアルの「ANI_xxx」を見れば色々と変えられるので 英語で判らんチンでも一度は覗いて見てはいかがでしょうか。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/21
22: 名前は開発中のものです。 [sage] 2021/02/21(日) 22:41:48.70 ID:ke3KkwTC 便利なスクリプト、敵との距離によって技の変化とか anim runattack loop 0 @script void self = getlocalvar("self"); void target = findtarget(self); int x1 = getentityproperty(target, "x"); int x2 = getentityproperty(self, "x"); int z1 = getentityproperty(target, "z"); int z2 = getentityproperty(self, "z"); if(frame == 0){ if(z1-z2<20 && z1-z2>-20 && x1-x2>-80 && x1-x2<80){ changeentityproperty(self, "animation", openborconstant("ANI_FREESPECIAL4")); }else if(z1-z2<20 && z1-z2>-20 && x1-x2>-160 && x1-x2<160){ changeentityproperty(self, "animation", openborconstant("ANI_FREESPECIAL")); } } @end_script ダッシュ(→x2)中に攻撃した場合、敵との距離を測ってFREESPECIAL4と FREESPECIALを距離によって発動するというもの。 毎度おなじ動作ばかりだと飽きやすくなるので、アクセントにどうぞ。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/22
23: 名前は開発中のものです。 [sage] 2021/02/22(月) 01:12:07.12 ID:Ak0x7Qvg そもそも、@Scriptとか言われても意味ワカンネって感じの方は、 Open BoR 導入について とか検索してもらって、 どうすればPakファイルの中身の取り出し方を調べてみても良いかもです。 Pakファイルを解凍するとDataフォルダが出てくるんで、 そのフォルダの中にはいくつかのフォルダとTXTファイルが入ってます。 最初に一番いじることになるのは MODEL.TXTと CHARSフォルダかと思います。 これは ENTITYと呼ばれるファイルを設定しているもので、 プレイヤーや敵、障害物、アイテムの内容を設定しています、 簡単な所では必殺技出したら敵は全滅とかの決め事を纏めたもの。 attack 44 13 49 62 5 0 0 0 9 12 とか見ても何ソレて思うかも知れませんが、最初の2ケタの数字4つは 画面上のキャラクターの座標 横44 縦13 そこから横49ドット縦62ドットの位置 敵に当たった場合 5ダメージ与える 吹っ飛ぶか?0だから無し ガード不能か?0だから無し ヒットマークなど演出は?0だから表示 攻撃が当たったら100分の9秒位止まる 攻撃の範囲は12ラインほどと知ってしまえば何て事はない数字の羅列になります。 実際 5ダメージの所を100にしてしまえば、ワンパンK.O.という事が想像できるかと思います。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/23
24: 名前は開発中のものです。 [sage] 2021/02/22(月) 01:29:59.35 ID:Ak0x7Qvg 基本ヨッパラって書き込んでいるので、てにをは、や日本語としてどうなのかについてはゴメンナサイです。 Pakファイルを解凍して出てきたDataフォルダの中にあるMODEL.TXTそして CHARSフォルダを覗くと、キャラやアイテムなど色々な名前のフォルダが並んでいるかと思います。 だいたいフォルダ名は、キャラそのものを指して入る事が多いので適当のフォルダを開いてみると たぶん大量の画像ファイルと一つかいくつかのTXTファイルが入っていると思います。 TXTファイルは大概キャラそのものの名前である事が多いので、見てみると最初に Name XXX Type Playerとか HP 100 MP 100とか書いてあると思います。 ゲームに詳しい人は一目見ただけでなんとなく、名前はXXXでプレイヤーキャらで 体力は100で攻撃くらって0になったら倒されてしまうんだな、 MPって、何か技とか使うと減って、無くなると技が出ないとか? と察することが出来るのではないでしょうか? お察しの通りそのまんまの事が多いので、ゲームに慣れているほどわかり易い内容になっています。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/24
25: 名前は開発中のものです。 [sage] 2021/02/22(月) 01:43:08.21 ID:Ak0x7Qvg 少し戻りますが、MODELS.TXT これはOpenBoRの要と言ってよいファイルで、 プレイヤー、敵、アイテム、細かい演出などなどの基本を設定しているファイルです。 自分でMODを作り始めた時、試しに起動してみたらエラーで落ちた そんな時は大概ここで読み込むファイルを指定し忘れたから、ということ多いです。 あ、エラーで落ちた!ってとき何処をみればいいのか? OpenBoRのEXEファイルがあるフォルダにLOGSというフォルダあって、そこに OpenBoRLog.txtというファイルがあるんで、それを開けば XXXとかいうファイルLoadしろって言うけど、ねーからそんなもん とか下の方に書いてあるんで、ソレをたよりに修正してゆくことになります・ http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/25
26: 名前は開発中のものです。 [sage] 2021/02/23(火) 00:41:59.00 ID:XlcKRtDD MODELS.TXT を見てゆくと最初のほうの数行以外は殆どが Know か Load で Data/Chars/xxxといった内容になっています。 大雑把に Know はいずれ使うから覚えていてと指示しているもの Load はすぐに Data/〜を読み込んでおくというもの 昔はPCのメモリも少なかったんで重要なもの(プレイヤーとか)だけ 読み込んでおいて、その他出番の少なそうなものは Knowにしておいて 必要になったものだけ都度読み込むという仕様だったようですが、 8ギガ超えのメモリを搭載しているのが当たり前の現在では 最初から全部 Loadでもよいようです。 とはいえ私の想像なので実は何か理由があるのかもしれませんが、 いまのところ全部 Loadでも不具合は無いようです。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/26
27: 名前は開発中のものです。 [sage] 2021/02/27(土) 02:13:36.78 ID:BZAtihYI @script if (frame == 1) { void vSpawn; clearspawnentry(); setspawnentry("name", "Test"); vSpawn = spawn(); bindentity(vSpawn, getlocalvar("self"), 50, 1, 60, 1, 0, 1); } @end_script これは機能するのに @cmd bindentity "test" getlocalvar("self") 50 1 60 1 0 1 これだと上手くゆかない なかなか難しいものです http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/27
28: 名前は開発中のものです。 [sage] 2021/02/27(土) 02:45:28.85 ID:BZAtihYI 必死になってDCマニュアル読みこむより 過去に作られたシンプルなスクリプト 例) void spawnEnt(void vName,void x,void z) { clearspawnentry(); setspawnentry("name", vName); void ent=spawn(); changeentityproperty(ent,"position",x+openborvariant("xpos"),z+openborvariant("ypos")); } こんな感じのものを ~data/script/~に適当な名前(spawn00とか)で設定しておき 使いたいキャラの設定ファイルのヘッダー(上のほう)に animationscript data/scripts/spawn00.c と記入、 anim idle frame data/chars/test/Test01.gif @cmd spawnEnt "Test_spawn" 0 0 1 あとは上のように使いたい Animの Frameと一緒に書き込んでおけば Test01が表示された時に Test_spawnが同時に表示されるというもの ?それなら最初からある CustEntityとかとSpawnFrameでいいんじゃ? 確かにAnimの中で一回だけ表示するならSpawnFrameなりで十分なのですが 複数回表示するときはFrameと@cmdセットで使えば、 いちいちFrameコマを数えたりしなくてすむのでなかなか便利です。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/28
29: 名前は開発中のものです。 [sage] 2021/02/28(日) 18:25:57.18 ID:aAXgr/zu game joltでopen borを検索すると結構色んなmodが見つかって楽しいよ。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/29
30: 名前は開発中のものです。 [sage] 2021/03/04(木) 01:04:42.36 ID:flx7Tt6m Open BoR のビルド違いによってMODによっては動作が変になる。 基本バージョンは3のまま結構な期間経過しています。 Build6391あたりが一番手に入り易く、公式的にも安定しているっぽいですが、 2016年あたりを境に過去のMODは動作がおかしくなったり エラーで落ちたりし易くなるようです。動いてもキャラがブルブル震えて変な動きになったり。 原因としては Scriptを使っていることが多く、過去のビルド3789とか本体のファイルサイズが2メガ弱位だと エラーが発生してもある程度受け流してくれるwのですが、本体のファイルサイズが3.4メガくらいになると スクリプトや内部の予約語?的な名称を厳密に判断したりしてエラーが出易くなっているようです。 これは、MODにあったBuild環境のOpen BoRをMOD作者さんが提供してくれるか、 片っ端からちょうど良いビルドを探すしかないようです。 上記のファイルサイズが2メガ弱か3.4メガかの違いが大雑把な分け方になりそうです。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/30
31: 名前は開発中のものです。 [sage] 2021/03/04(木) 01:18:13.47 ID:flx7Tt6m ご本人の許可は取ってないとは思うんですが、 kt住江氏の作品が海外で良くみかける上、 評判も良いよう(星で評価されてると大概5)なので なんだか自分まで嬉しくなってしまいます。 Streets of Rage Z2 というキャラはメガドライブ版からの流用っぽいですが、 Final Fightなんちゃら系によくあるレベルアップスクリプトを導入していて なかなか楽しめますね。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/31
32: 名前は開発中のものです。 [sage] 2021/03/04(木) 01:30:05.90 ID:flx7Tt6m remove 0か1 これはハドーケン!とかナイフとかの飛び道具系 Entityのヘッダーに設定するのですが、 使うときは CustKnife xxx(このEntityに設定) ThrowFrame 1なんて感じで 投げると 0なら敵に当たったら消滅、1なら貫通する xxx(投げられるEntity)これの HitFlash を爆発系のEntity(AttackをBlastにするとか)にすれば 連鎖爆発みたいなこともスクリプトを使わずに行えます。 よく血しぶきてきな演出で HitFlash を設定し、そのHitFlashにさらに CustBomb xxx TossFrame 1なんてすればチがドバドバみたいなこともできます。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/32
33: 名前は開発中のものです。 [sage] 2021/03/06(土) 03:14:00.97 ID:jHze2gK/ 結構便利なコマンド anim Attack 内に記述して使う cancel {start frame} {end frame} {hits} {sequence of inputs} {freespecial#} start frame と end frame で指定したフレーム内で sequence of inputs のボタン入力があったら freespecial# を実行するというもの hits は当たったかどうか anim attack3 loop 0 delay 5 offset 121 152 cancel 9 99 1 A freespecial3 frame data/chars/Test/empty.gif こんな感じ start frame は入力を受け付けるフレームなので、きちんと数える必要がありますが end frame にかんしては99とか大雑把でOK コンボに一味加える感じで使えます。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/33
34: 名前は開発中のものです。 [sage] 2021/03/09(火) 01:00:15.73 ID:vWs4Sul9 Rescue Command という Mod が Weapons を上手く使って変身を表現しているのが面白いですね。 そもそも Weapons とはゲーム中キャラクター(Entity)が武器を拾ったさいに 素人の想像では基になったキャラ(Entity)に武器のEntityを重ねて表示して 武器の分だけ攻撃力を上昇させたり、攻撃の判定を大きくしたりなんて処理をしてるのかな? と思いますが、Open BoRでは 別なEntity、武器を持ったキャラの画像(Frame)を使った Model に完全に切り替えることになります。 なので、Weapons に設定したからといって武器である必要はなく、完全に別キャラ(Entity)でよい訳です 別キャラなんで Anim Attack#はもとより SpecialやFreespecial だって完全別にしてOK なので、初期は弱能力キャラで武器を拾うもしくは、初期キャラのSpecialなどで別キャラ(Entity)に切り替えることが できる事になります。アイデア次第で夢が広がりますね。 強制スクロール時のキャラを設定する事ももちろんできますので、キャラ管理も楽になりますね。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/34
35: 名前は開発中のものです。 [sage] 2021/03/09(火) 01:57:36.98 ID:vWs4Sul9 Cancel コマンドについて飛び先は基本 Freespecial#である必要があります(@Cmdとか@Scriptとか言い出すとキリがないので)。 たとえば Anim Jump に Cancel 3 99 0 Freespecial# として、 Freespecial#に Jumpframeを組み込む事でダブルジャンプなんてことも出来るわけです。 これはプレイヤーに限ったことでは無く、どんなEntityでも良いわけで(一応Typeによって制限はありますが) Range 設定などによって敵AIに色々設定できますが、やはりどうしても単調になりがちな敵の動作などに ちょっとした味付けが出来るわけです。 私などは、ついついAnim Attackだから攻撃動作させなきゃなどと固まった考えに陥りがちですが 別に Anim Jumpにダッシュをさせたって良いわけです もちろんAnimごとにOpen BoRの基本設定があるので、それに則った動作をさせるに越した事はありませんが。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/35
36: 名前は開発中のものです。 [sage] 2021/03/09(火) 02:27:25.00 ID:vWs4Sul9 基本的コマンド Attack について、もっとも使われるコマンドの一つになるかと思います。 Open BoRで作られるModは殆どが2D横スクロールアクションで、 ゲーム画面でキャラクター(Entity)達は 左右への移動(X軸)手前や奥に移動できる奥行き(Z軸) ジャンプなどによる上昇、下降(Y軸(A軸))で管理される事が基本になります。 そこでキャラクターが攻撃動作をさせようというときに Attackコマンドが使われます。 書式は attack{#} {x} {y} {right} {down} {damage} {power} {block} {noflash} {pausetime} {z} 基本的に Frame(画像の表示)と一緒に使われます。 Frameの手前の行に Attack 10 30 50 50 10 0 1 0 10 20 などと数値を書き込むと、Attackの次に記入されたFarmeが表示されたとき その画像が横100,縦200の大きさだった場合には、画像の左上0,0から横10ドット縦30ドットを基点に、 さらにそこから横に50ドット、縦に50ドットの範囲で四角形を形成し、 そこに敵などのEntityのやられ判定(Bbox)が重なると攻撃が成功したと判断され、 以降ダメージ(例では10)、吹っ飛ぶか?、防御は出来るか?、 当たったと表示するか?(打撃やチなどのエフェクト、1で表示しない、普通は0) 攻撃が成功したら設定した時間分硬直する、 攻撃がZ軸に数値分影響を及ぼす、 という動作が実行されます。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/36
37: 名前は開発中のものです。 [sage] 2021/03/09(火) 02:36:19.87 ID:vWs4Sul9 色々と書かれていてパニックになりそうですが、羅列された数字の意味が分かってしまえば なんて事ないですね、特にゲームに慣れた方なら感覚的に理解できるかと思います。 Open BoRでは基本的にこの繰り返しで作られています。 画像が表示されて、それぞれに攻撃判定ややられ判定があって、ジャンプさせる事ができたり 走ったりが簡単に作れるようにAnimという形で基本設定がされています。 パラパラ漫画の要領がわかれば誰でもゲームが作れる、そんな素敵システムがOpen BoRなのです。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/37
38: 名前は開発中のものです。 [sage] 2021/03/09(火) 23:07:14.40 ID:vWs4Sul9 Bindentity を使って燃やされエフェクト anim burn @script if(frame==0) フレーム0の時 { void self = getlocalvar("self"); 自分の情報 void e; 仮の入れ物 clearspawnentry(); これから表示用の入れ物をクリア setspawnentry("name", "BurnFX"); 表示用の入れ物に BurnFXというEntityをセット e = spawn(); 入れ物に入れた Entityを出力する準備 bindentity(e, self,0,1,0,1,4); 自分自身に上の Entityをバインド(一緒に動く) } @end_script delay 30 landframe 2 offset 225 198 frame data/chars/test/empty.gif 何も描画しないGIF画像 delay 300 frame data/chars/test/empty.gif delay 20 frame data/chars/test/empty.gif frame data/chars/test/down.gif 自分がダウンした画像 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/38
39: 名前は開発中のものです。 [sage] 2021/03/09(火) 23:08:13.02 ID:vWs4Sul9 こんな感じで BurnFX(燃えた画像)というEntityをModels.txt で設定しおき。 Anim Burn はもともと炎上攻撃に対するリアクション専用 Animで Painと同じように使います。 炎上攻撃 burn {x} {y} {right} {down} {damage} {knockdown} {block} {noflash} {pausetime} {z} アタックと同じようにつかいます。 他にShock電撃 Freeze冷凍など とはいえエフェクトを用意しておかないと、あまり効果は感じません。 これの便利なところはキャラ(Entity)毎にやられパターンを作らずとも 共通のエフェクト(例ではBurnFX、冷凍ならFreezFXとか)を作れば あとは Bindentityで貼り付ければいいわけです。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/39
40: 名前は開発中のものです。 [sage] 2021/03/13(土) 00:39:54.70 ID:eh+j2tUI 上でも少し触れましたが、基本はパラパラ漫画の要領で 1枚ずつ絵を表示して、その絵に攻撃判定ややられ判定を一緒に添え付ける事を繰り返してゆく。 一連の動作にしてゆくことになります。 動作のうち大雑把な纏めとして Anim(Animationの略)という括りで動作の整理が行われます。 攻撃その1なら Anim Attack1、ジャンプなら Anim Jumpなどなど ただどのAnimでもかならず Frame という画像を表示するコマンドがほぼ必須で 例えば Anim Attack だからといって、いきなり Attack 0 0 30 80 10 0 0 0 10 10 などと書き込んでも機能しません、対というか属する Frameが必要になります。 Frame data/chars/test/test.gifなどと一緒に記述してはじめてAttackなどが機能します。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/40
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 616 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.018s