☆ベルトアクション作成 Beats of rageスレッド☆ (656レス)
上下前次1-新
1(2): 2019/01/14(月)03:57 ID:BfjgfhbB(1)調 AAS
フリーのベルトアクション作成ツールBeatsofrageでオリジナルの
ベルトアクションを製作するスレッドです。
http://ime.nu/senileteam.segaforums.com/
なかったので立て直しました
2(3): 2019/01/14(月)04:02 ID:R9mMQjas(1)調 AAS
いくらググっても出てこないしデフォルトでついてる壁を消す方法と1ラインの作り方の詳細がほしい。
あとできれば放物線移動をするナイフの作り方も
3: kt住江 ◆/VMXjFOJew 2019/03/22(金)23:06 ID:nuPVe/4Y(1)調 AAS
こんばんは、皆様お久しぶりです。kt住江です。
去年の10月より開発中であった、東方二次創作ベルトアクション『巫女と吸血鬼』が、
無事完成しましたので、ここに報告します。
明日の夜9時にアップする予定ですので、僭越ながら宜しくお願いします。
>>1さん
スレ設立ありがとうございます。
今後も日本人のOpenBOR開発者のひとりとして、
頑張りたいと思います。
>>2さん
機会があれば、Beats of rageの日本版開発マニュアルを作りたいですね。
正直なところ、Beats of rageは初心者殺しだらけで、
わしも何度か、心が折れかけましたので・・・
4: kt住江 ◆/VMXjFOJew 2019/03/23(土)21:12 ID:U3LwF5EW(1)調 AAS
こんばんは、kt住江です。
新作『巫女と吸血鬼』が無事に完成しました。
https://ux.getuploader.com/gikotakurpg/download/77 12300
前作『くにおくんLA』は、コチラです。
https://ux.getuploader.com/gikotakurpg/download/46 12300 ◎
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
5(1): kt住江 ◆/VMXjFOJew 2019/04/03(水)21:37 ID:oN3p4yD2(1)調 AAS
『巫女と吸血鬼』にて一部、おかしい箇所がありましたので、
修正バージョンをアップします。
https://ux.getuploader.com/gikotakurpg/download/79 12300 ◎
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
6(1): 2019/04/06(土)08:35 ID:lyXiFoQr(1)調 AAS
>>1
ありがとうございます。
>>5
おつかれさまです。楽しませてもらってます。
ChronoCrash(海外サイト)だと、ログインやら英訳やらで大変なので
こちらで日本勢の情報交換ができるといいですね。
7(2): 2019/04/07(日)09:02 ID:jFfEIfMF(1)調 AAS
>>2
自分は困ったときはまず、ここで調べてる
↓
OpenBOR(英語) マニュアル
http://dcemulation.org/index.php5?title=OpenBORManual
マニュアルで解決できないときに
Chrono Crash(英語) 公式サイト
http://www.chronocrash.com/forum/index.php
8: kt住江 ◆/VMXjFOJew 2019/04/16(火)21:51 ID:NREKrxKi(1)調 AAS
>>6さん
楽しんで戴けて、どうもありがとうございます。
僕もまだまだ、OpenBORマニュアルにて、
どのような効果を発揮するのかわからないプログラムがたくさんありますので、
今後はスレの皆様と情報交換しながら、より面白いゲームを開発できればと思っていますので、
僭越ながら、宜しくお願いします。
なお、次回作はアーケード版ダブルドラゴンモチーフの、
ダブルドラゴン二次創作を予定しています。
9: 2019/04/22(月)13:45 ID:GOpVXkaR(1)調 AAS
日本語マニュアルアップして
10(2): 2019/05/13(月)12:25 ID:PvWAiouI(1)調 AAS
今更SUPER Final Fight GOLD Plusの気に入らない所自分でいじってみたけど
数値置き換えてるだけでも楽しいな
一から作れたらもっと楽しいだろうな
11(1): 2019/08/10(土)14:38 ID:9CRYwala(1)調 AAS
borってパンチキック別枠としてコンボさせられないの?
攻撃が1種類だとどうしても作りたい感じにならないので…
12: 2020/11/04(水)10:00 ID:OIHDdznS(1)調 AAS
☆ アタマからっぽ日本人はマスコミのおもちゃ(笑) ☆
?日本人の精神を腐敗・堕落させ愚民化させろ!
?日本人の女を集中的に狙い洗脳しろ!
?ネトウヨ、ヘイトスピーチ等の言葉を浸透させ、同胞への批判を封じろ.
?韓国人識者に政治的意見を言わせ、御意見番化させろ.
?「同性婚・LGBTを全面肯定しない者は差別主義者だ!」という雰囲気を作れ!
?海外セレブやハーフモデルをもてはやし、「日本人は劣等人種だ!」と植えつけろ.
?「未だにガラケーの奴は笑い者」という雰囲気を作れ.
?「LINEに入らない奴は仲間外れ」という雰囲気を作れ!
?「日本人の男VS日本人の女」の対立を煽り、分断しろ!
?日本人同士で恋愛・結婚させない、子供を生ませないよう誘導しろ.
?日本同士で結婚していたら離婚させる方向に仕向けろ.
?我々がステマしてやれば無名女優も売れっ子女優に早変わり
?イケメンブームを定着化させ、「男は外見が全てだ!」と洗脳しろ。
- ソース -
電通グループ会長 成田豊は朝鮮半島生まれ
http://ja.wikipedia.org/wiki/%E6%88%90%E7%94%B0%E8%B1%8A
13: 2021/02/04(木)17:19 ID:jX0oqsZX(1)調 AAS
>>11
ワイが質問の意味を取り違えてるだけかもだけど
アタックの種類はいくつか設定(レバー入れ攻撃とか)出来るので、そのいくつかのアタック毎にコンボ設定すれば良いんじゃないかな。
もしするとスクリプト導入しないと駄目だったかも。調べてみる。
無限のリソース導入できるようになったり公式?も相変わらず進化してるよね。
画像と当たり判定用意すれば、作りてに特殊な技能無くてもキャラや技がどんどん増やせるのが
OpenBoRの魅力の一つだと思うんで気軽にどんどん弄って遊ぼう
14: 2021/02/05(金)01:19 ID:abFcte/J(1/2)調 AAS
自分でキャラ差し替えしたりして遊んでたDataが出てきたんで中身見てみたら
当時の自分は別人格じゃなかろうかってくらい色々組み込んであって
何も思い出せない
今ではどうやるのか全く思い出せないステージ中の段差とか導入してあるし
一番問題なのはJtoK使ってもパッドが上手く動作しないことだったり
JtoK噛ましてればX-InputもD-Inputも関係ないですよね?
15: 2021/02/05(金)23:23 ID:abFcte/J(2/2)調 AAS
キャラ差し替えや、デバグなどで毎回パック、アンパックするのは面倒。
そんなとき、
ダミーファイル(何でも良いので例えばテキストファイルを拡張子をPakに変更)を
PAKSフォルダに一個だけ入れる(他のPakファイルは何処かに退避)
OpenBoRエンジンと同じ階層にDataフォルダ(中にキャラデータとか入ってる奴)を置く
そして普通にOpenBoRをスタートするとDataフォルダが実行されます。
16: 2021/02/07(日)00:53 ID:C9uSCc3y(1/2)調 AAS
少しOpenBORManualを見てみたら以前なら@Scriptを使わなければ出来なかった処理が
通常コマンドでできるようになっていますね。
2年前の質問なのでアレですが、投射物を放物線を描いて飛ぶようにするには
Bombというコマンドがあります、直線ならKnife
ジャンプ中専用にStar、あとBoomerangてのが追加されているようですね。
乗り物に乗ったキャラの落下処理をやってくれるRiderというのも面白そうですね。
17: 2021/02/07(日)01:04 ID:C9uSCc3y(2/2)調 AAS
kt住江氏の新作は逃してしまったのですが、息災そうでなによりです。
過去作でもプレイするたび繊細な作りこみに驚かされます。
なにより8x8ドットの情念とでも呼んだら良いのでしょうか、
プレイするたび発見があり、毎回とても楽しめます。
最近はユニティなどかなり簡易にゲーム開発できる環境になってきましたが、
OpenBoRならではのパラパラ漫画がアクションゲームになるという、
気軽さは他には無いものですね。
18(1): 2021/02/13(土)01:37 ID:IDjzs9Ej(1/3)調 AAS
各種リソースから材料をいただく際に便利なツール
Fighter Factory Studio(本来無限のキャラなどを作るものです)
openBoRStats(無限のairファイルを読み込んだり、offsetを調整したり)
Alferd Spritesheet Unpacker(スプライトを自動で切り抜いてくれる)
とくにASUはユニティなどでお馴染みの一枚の画像に大量のキャラなどが描かれた
ファイルを自動で切り分けてくれる優れもの。
19: 2021/02/13(土)01:55 ID:IDjzs9Ej(2/3)調 AAS
いま色々実験してるのが
BindEntity これは別々なEntityを関連付けて処理するというもの。
昔サイバーボッツという対戦ゲームがあったのだけど
プレイヤーが操作する機体は大雑把に身体と腕(主に攻撃担当)に別れていて
ロボットなので腕は回転したり、もげたり自在に動くのだけど
これを表現するには絵を何枚用意しても足りない感じなので
機体そのものと腕は別々に表示して絵を節約してたんだけど
それを表現可能にするといえば判っていただけるでしょうか?
BindEntityによって関連付けされたEntityは
たとえばプレイヤーのAnim Idleが実行されると
もう一方のAnim Idleも実行されるというもの
位置や向きを指定することも出来るし、使いこなせれば
ダークネスイリュージョンも簡単に作れそう。
ただし、Entityは別に専用のものを作ろう。
自分に自分をBindEntityしたら落ちました。
20(2): 2021/02/13(土)02:09 ID:IDjzs9Ej(3/3)調 AAS
maxAttacks 30
maxFollows 30
maxAttackTypes 30
maxFreeSpecials 30
上は Models.txt の一例です、
キャラクターなどの Entity.txt 内の記述に間違いが無いはずなのにエラーが発生する場合は、
Models.txt や Levels.txt 内の設定をチェックしてみても良いかも。
Follow や FreeSpecial はとても便利でついつい多用してしまいますが、
標準の設定では 12になっています。
それらを解除するのが上の max~設定、
メモリーや処理スピードの関係で初期値が低くされているのだと想像します、
昨今のPCであれば上げても特に問題は無いと思います。
21: 2021/02/19(金)00:31 ID:kAXiPLiE(1)調 AAS
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」を見れば色々と変えられるので
英語で判らんチンでも一度は覗いて見てはいかがでしょうか。
22: 2021/02/21(日)22:41 ID:ke3KkwTC(1)調 AAS
便利なスクリプト、敵との距離によって技の変化とか
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を距離によって発動するというもの。
毎度おなじ動作ばかりだと飽きやすくなるので、アクセントにどうぞ。
23: 2021/02/22(月)01:12 ID:Ak0x7Qvg(1/3)調 AAS
そもそも、@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.という事が想像できるかと思います。
24: 2021/02/22(月)01:29 ID:Ak0x7Qvg(2/3)調 AAS
基本ヨッパラって書き込んでいるので、てにをは、や日本語としてどうなのかについてはゴメンナサイです。
Pakファイルを解凍して出てきたDataフォルダの中にあるMODEL.TXTそして
CHARSフォルダを覗くと、キャラやアイテムなど色々な名前のフォルダが並んでいるかと思います。
だいたいフォルダ名は、キャラそのものを指して入る事が多いので適当のフォルダを開いてみると
たぶん大量の画像ファイルと一つかいくつかのTXTファイルが入っていると思います。
TXTファイルは大概キャラそのものの名前である事が多いので、見てみると最初に
Name XXX Type Playerとか HP 100 MP 100とか書いてあると思います。
ゲームに詳しい人は一目見ただけでなんとなく、名前はXXXでプレイヤーキャらで
体力は100で攻撃くらって0になったら倒されてしまうんだな、
MPって、何か技とか使うと減って、無くなると技が出ないとか?
と察することが出来るのではないでしょうか?
お察しの通りそのまんまの事が多いので、ゲームに慣れているほどわかり易い内容になっています。
25: 2021/02/22(月)01:43 ID:Ak0x7Qvg(3/3)調 AAS
少し戻りますが、MODELS.TXT これはOpenBoRの要と言ってよいファイルで、
プレイヤー、敵、アイテム、細かい演出などなどの基本を設定しているファイルです。
自分でMODを作り始めた時、試しに起動してみたらエラーで落ちた
そんな時は大概ここで読み込むファイルを指定し忘れたから、ということ多いです。
あ、エラーで落ちた!ってとき何処をみればいいのか?
OpenBoRのEXEファイルがあるフォルダにLOGSというフォルダあって、そこに
OpenBoRLog.txtというファイルがあるんで、それを開けば
XXXとかいうファイルLoadしろって言うけど、ねーからそんなもん
とか下の方に書いてあるんで、ソレをたよりに修正してゆくことになります・
26(1): 2021/02/23(火)00:41 ID:XlcKRtDD(1)調 AAS
MODELS.TXT を見てゆくと最初のほうの数行以外は殆どが
Know か Load で Data/Chars/xxxといった内容になっています。
大雑把に
Know はいずれ使うから覚えていてと指示しているもの
Load はすぐに Data/〜を読み込んでおくというもの
昔はPCのメモリも少なかったんで重要なもの(プレイヤーとか)だけ
読み込んでおいて、その他出番の少なそうなものは Knowにしておいて
必要になったものだけ都度読み込むという仕様だったようですが、
8ギガ超えのメモリを搭載しているのが当たり前の現在では
最初から全部 Loadでもよいようです。
とはいえ私の想像なので実は何か理由があるのかもしれませんが、
いまのところ全部 Loadでも不具合は無いようです。
27: 2021/02/27(土)02:13 ID:BZAtihYI(1/2)調 AAS
@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
これだと上手くゆかない
なかなか難しいものです
28(1): 2021/02/27(土)02:45 ID:BZAtihYI(2/2)調 AAS
必死になって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コマを数えたりしなくてすむのでなかなか便利です。
29: 2021/02/28(日)18:25 ID:aAXgr/zu(1)調 AAS
game joltでopen borを検索すると結構色んなmodが見つかって楽しいよ。
30: 2021/03/04(木)01:04 ID:flx7Tt6m(1/3)調 AAS
Open BoR のビルド違いによってMODによっては動作が変になる。
基本バージョンは3のまま結構な期間経過しています。
Build6391あたりが一番手に入り易く、公式的にも安定しているっぽいですが、
2016年あたりを境に過去のMODは動作がおかしくなったり
エラーで落ちたりし易くなるようです。動いてもキャラがブルブル震えて変な動きになったり。
原因としては Scriptを使っていることが多く、過去のビルド3789とか本体のファイルサイズが2メガ弱位だと
エラーが発生してもある程度受け流してくれるwのですが、本体のファイルサイズが3.4メガくらいになると
スクリプトや内部の予約語?的な名称を厳密に判断したりしてエラーが出易くなっているようです。
これは、MODにあったBuild環境のOpen BoRをMOD作者さんが提供してくれるか、
片っ端からちょうど良いビルドを探すしかないようです。
上記のファイルサイズが2メガ弱か3.4メガかの違いが大雑把な分け方になりそうです。
31: 2021/03/04(木)01:18 ID:flx7Tt6m(2/3)調 AAS
ご本人の許可は取ってないとは思うんですが、
kt住江氏の作品が海外で良くみかける上、
評判も良いよう(星で評価されてると大概5)なので
なんだか自分まで嬉しくなってしまいます。
Streets of Rage Z2 というキャラはメガドライブ版からの流用っぽいですが、
Final Fightなんちゃら系によくあるレベルアップスクリプトを導入していて
なかなか楽しめますね。
32: 2021/03/04(木)01:30 ID:flx7Tt6m(3/3)調 AAS
remove 0か1
これはハドーケン!とかナイフとかの飛び道具系 Entityのヘッダーに設定するのですが、
使うときは CustKnife xxx(このEntityに設定) ThrowFrame 1なんて感じで
投げると 0なら敵に当たったら消滅、1なら貫通する
xxx(投げられるEntity)これの HitFlash を爆発系のEntity(AttackをBlastにするとか)にすれば
連鎖爆発みたいなこともスクリプトを使わずに行えます。
よく血しぶきてきな演出で HitFlash を設定し、そのHitFlashにさらに CustBomb xxx
TossFrame 1なんてすればチがドバドバみたいなこともできます。
33: 2021/03/06(土)03:14 ID:jHze2gK/(1)調 AAS
結構便利なコマンド
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
コンボに一味加える感じで使えます。
34: 2021/03/09(火)01:00 ID:vWs4Sul9(1/6)調 AAS
Rescue Command という Mod が Weapons を上手く使って変身を表現しているのが面白いですね。
そもそも Weapons とはゲーム中キャラクター(Entity)が武器を拾ったさいに
素人の想像では基になったキャラ(Entity)に武器のEntityを重ねて表示して
武器の分だけ攻撃力を上昇させたり、攻撃の判定を大きくしたりなんて処理をしてるのかな?
と思いますが、Open BoRでは 別なEntity、武器を持ったキャラの画像(Frame)を使った
Model に完全に切り替えることになります。
なので、Weapons に設定したからといって武器である必要はなく、完全に別キャラ(Entity)でよい訳です
別キャラなんで Anim Attack#はもとより SpecialやFreespecial だって完全別にしてOK
なので、初期は弱能力キャラで武器を拾うもしくは、初期キャラのSpecialなどで別キャラ(Entity)に切り替えることが
できる事になります。アイデア次第で夢が広がりますね。
強制スクロール時のキャラを設定する事ももちろんできますので、キャラ管理も楽になりますね。
35: 2021/03/09(火)01:57 ID:vWs4Sul9(2/6)調 AAS
Cancel コマンドについて飛び先は基本 Freespecial#である必要があります(@Cmdとか@Scriptとか言い出すとキリがないので)。
たとえば Anim Jump に Cancel 3 99 0 Freespecial# として、
Freespecial#に Jumpframeを組み込む事でダブルジャンプなんてことも出来るわけです。
これはプレイヤーに限ったことでは無く、どんなEntityでも良いわけで(一応Typeによって制限はありますが)
Range 設定などによって敵AIに色々設定できますが、やはりどうしても単調になりがちな敵の動作などに
ちょっとした味付けが出来るわけです。
私などは、ついついAnim Attackだから攻撃動作させなきゃなどと固まった考えに陥りがちですが
別に Anim Jumpにダッシュをさせたって良いわけです
もちろんAnimごとにOpen BoRの基本設定があるので、それに則った動作をさせるに越した事はありませんが。
36(1): 2021/03/09(火)02:27 ID:vWs4Sul9(3/6)調 AAS
基本的コマンド
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軸に数値分影響を及ぼす、
という動作が実行されます。
37: 2021/03/09(火)02:36 ID:vWs4Sul9(4/6)調 AAS
色々と書かれていてパニックになりそうですが、羅列された数字の意味が分かってしまえば
なんて事ないですね、特にゲームに慣れた方なら感覚的に理解できるかと思います。
Open BoRでは基本的にこの繰り返しで作られています。
画像が表示されて、それぞれに攻撃判定ややられ判定があって、ジャンプさせる事ができたり
走ったりが簡単に作れるようにAnimという形で基本設定がされています。
パラパラ漫画の要領がわかれば誰でもゲームが作れる、そんな素敵システムがOpen BoRなのです。
38: 2021/03/09(火)23:07 ID:vWs4Sul9(5/6)調 AAS
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 自分がダウンした画像
39: 2021/03/09(火)23:08 ID:vWs4Sul9(6/6)調 AAS
こんな感じで 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で貼り付ければいいわけです。
40: 2021/03/13(土)00:39 ID:eh+j2tUI(1/6)調 AAS
上でも少し触れましたが、基本はパラパラ漫画の要領で
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などが機能します。
41: 2021/03/13(土)16:15 ID:R+3whepu(1)調 AAS
日本語による解説
ありがたいです。
自分の思い描いた
ゲームを(たぶん)
気軽に作れるのは
魅力的ですよねー
42(2): 2021/03/13(土)18:45 ID:5eJPgycF(1/2)調 AAS
いきなり質問何ですが、OpenBORstatsのLevel Designウィンドウの右上にある
チェック項目のPTrans ってFrontとPanelsの透過色の設定と言う認識で良いんですかね?
下の画面に反映される場合と反映されない場合があって悩んでいます…。
43: 42 2021/03/13(土)18:46 ID:5eJPgycF(2/2)調 AAS
上の質問は自分で作っているゲーム内の話ではなくて、他の方がすでに作ったゲーム内の
ステージを見てみると言う事です。
44: 2021/03/13(土)22:15 ID:eh+j2tUI(2/6)調 AAS
>>36
Attackの説明にて {Z}の所、ここが0だと同じ座標に並ばないと攻撃がヒットしません。
たとえば 10にすると攻撃者から手前側と奥側にも10ドット分判定が発生し攻撃があたり易くなります。
必殺技などは60なんて数値にすれば、かなりの敵を巻き込む事ができます。
同じように Bbox(やられ判定)でも {Z}の指定は可能で、数値の分やられ判定に厚みがでます。
大型の敵などに設定すれば、見た目の割りにスカスカで当たらないといったことも少なくなりそうですね。
45: 2021/03/13(土)22:37 ID:eh+j2tUI(3/6)調 AAS
>>42さん
せっかくスレが立ってたので適当な事をダラダラと書き綴っていました。
OpenBoR Statsに関しては、とくにLevelDesignとか殆どやったことがなかったので
透過色に関しての設定があるなんて今まで知りませんでした。
色に関しては結構いろいろ設定があるようで、グローバルなパレットを使うだの
個別に設定するだの、Drawmethodでさらに設定できるだの、
色々ありすぎて基本手を出さないようにしてます。
あと、私の使ってる OpenBoR Statsは0.53という古いもので
Levelを読み込むと色々透過前の色のままドバっと出てきます。
公式で話題になってるのはの 0.67のようですね。
0.67で見てみると、確かに右上にチェックボックスがあり、そこをチェックして
左上2番目のリロードを押すと、透過された表になりますね。
46: 2021/03/13(土)23:16 ID:eh+j2tUI(4/6)調 AAS
攻撃動作の設定例
anim attack
delay 4
offset 46 87
frame data/chars/karin/94.gif
hitfx data/chars/karin/sounds/karin_5-2.wav
delay 6
attack 54 8 67 50 10 0 1 0 10 20
offset 46 87
frame data/chars/karin/95.gif
offset 46 87
frame data/chars/karin/96.gif
これは適当なキャラの攻撃 Animになります
Delayというのは言葉からなんとなく想像できるかと思いますが
次に実行される Frameが数値分の時間表示されるというもので、
単位はおよそ100分の1秒、ゲーム(MOD)中では基準となる時間が流れていて
その中で、Delay 4であれば100分の4秒間 Frameで指定された画像が表示される訳です。
47: 2021/03/13(土)23:28 ID:eh+j2tUI(5/6)調 AAS
Offsetはこれ以降に表示される Frameの基準点(X座標の中心とY座標の0ベース(地面と接地する点))の
設定になります。100x100の画像を表示するとして例では左から46ドットが縦の中心線、
上から87ドットが地面と接する点となります。
毎回設定しなくても同じ座標でよければ1回で以降も機能します。
Delayに関しても同じ描画時間でよければ1回で以降も同じ時間表示されます。
そしていよいよ本番の Frameこれが無ければ何を設定しても機能しません。
基本、どんなコマンドも絵(Frame)と一緒ではじめて効能が発揮されると考えてOKです。
上の例では 94.Gifを一回表示して。
次に 95.Gifを表示すると共に Attackコマンド(攻撃処理)を実行。Hitfxは攻撃が当たったら鳴らす効果音。
そして 96.Gifを表示して終わる。
というもの、いろいろ記述されていて面倒そうですが、分かってしまえば単純ですね。
48: 2021/03/13(土)23:43 ID:eh+j2tUI(6/6)調 AAS
これらを踏まえて見てみると
Offset 46 87て3回書いてるゃん?
はい無駄です
anim attack
delay 4
offset 46 87
frame data/chars/karin/94.gif
hitfx data/chars/karin/sounds/karin_5-2.wav
delay 6
attack 54 8 67 50 10 0 1 0 10 20
frame data/chars/karin/95.gif
frame data/chars/karin/96.gif
一気にキレイになりました。
これDelay 6の所をDelay 9なんてすると 95.Gif、96.Gifが少し長く表示されます
さらに95.Gifと96.Gifの間に Delay 6と記述することで 95.Gifが他より長く表示され
人間の視覚的に強調される感じとなり、見ようによっては重い攻撃といった印象に
なる(なって欲しいな)かと思います。
こんな感じで動作に味付けしてゆきます。
49(1): 2021/03/14(日)01:12 ID:Xy6iR8cQ(1/4)調 AAS
結構便利なコマンド
Anim Block が記述されているとSpecialボタンを押すたび Anim Blockが実行されます。
さらに Entityのヘッダー(HealthやらMpやら記述するとこ)にHoldBolck 1と記述しておく事で
Spcialボタンを押している間ずっと Anim Blockが実行され続けます。
記載された言葉どおり 主に防御動作に使うものですが、基本一人でゲームを遊ぶ場合
防御動作だけでは、いわゆる固められてジリ貧になるのは目に見えてます(もちろんMODによりますが)。
で、この Anim Blockの面白いところは、Bboxを設定しておき、そこに敵の攻撃(Attack)が
ヒットすると、Anim Blockpainに処理が飛ぶというところ、そうここには別にやられ動作を仕込む必要は無く
逆に Attackコマンドを仕込むことで 防御すると 自動で反撃にすることもできるわけです。
自動で反撃にには他に Counterrangeがあり、こちらの方が汎用性がありますが
@Cmdや@Scriptを使わずとも既存の処理だけでプレイヤーの手数を増やすという意味で
とても効果的だと思います。
私はすぐ頭沸騰してしまい中々有用な手は思いつきませんが、Cancelコマンドも合わせると
かなり可能性は広がると思います。
ただただ攻撃連打して、敵が集まったらSpecialで一掃みたいな単調な展開になりにくくなるかな。
50: 2021/03/14(日)01:15 ID:Xy6iR8cQ(2/4)調 AAS
訂正 HoldBlock 1 です。
あとこれを使うと Special技(Anim Special)を使うには A(攻撃ボタン)とJ(ジャンプ)を
同時押しする必要があります。
51: 2021/03/14(日)01:32 ID:Xy6iR8cQ(3/4)調 AAS
私の例文で AnimとかAttackとかアルファベットの大文字で記述している所
もし万が一参考なんかにする事があったら、できるだけ実際には anim や attackなど
全て小文字で記述して下さい。
基本どちらでも良いのですが、Open BoR Statsなどで読み込むとき
コマンドの頭文字を大文字で記述していると認識されないことがあります。
スクリプトなんかを記述するときは大文字小文字区別するんで
なかなかに面倒ですね。
52: 2021/03/14(日)02:06 ID:Xy6iR8cQ(4/4)調 AAS
counterrange {start} {end} {condition} {damage}
FollowAnim と一緒に使う事で少なくとも4種類の追加動作をすることが出来る。
以前は CounterFrame といって特定のFrameを指定する必要があったのが
{start} {end} とあるように範囲指定(0から99とか)できるようになったので、
CounterRange を記述したAnimが実行されている間にBboxに敵のAttackがヒットしたら
追加動作(Anim Follow1〜4)に処理を飛ばす事ができるようになった。
followanim {value}ここに1〜4の数値を指定して処理を飛ばす。
Blockもそうだったけど、Bboxを設定しておかない機能しない。
似たものに CounterAttack 1というのがあるが、これは自身のAttackコマンドのヒット判定が
敵の Attackで指定した範囲にも効果が及ぶというもの、いわゆる相打ちOKて感じ。
53(1): 2021/03/15(月)23:34 ID:bg70rxpE(1/2)調 AAS
anim jumpforward
delay 12
offset 34 104
frame data/chars/karin/167.gif
@cmd clearspawnentry();setspawnentry("name", "test")
@cmd bindentity spawn() getlocalvar("self") 0 1 0 1 0 1
offset 34 104
frame data/chars/karin/168.gif
Bindentityが少し成功の兆し、上のAnimはジャンプ中にレバー前入れ攻撃
Attackコマンドは記述してないので、今は格好だけですが
"test”という名前のEntity(MODELS.txtで設定したもの)を同時に表示するというもの。
それなら Custentity testでSpawnframe 2とかで十分でしょ?
一応それでも十分な効果は得られるんですが、
それだと親Entity(仮)168.gifが移動すると、子Entity(仮)"test"が置き去りにされて
なんか間抜けになってしまいます。
がBindentityを使えば親と一緒に子も動くのです。さらに機能として、向きの調整や
子Entityに複数にAnimを記述しておけば、親と同じAnimを実行させる事ができるのです。
54(1): 2021/03/15(月)23:49 ID:bg70rxpE(2/2)調 AAS
bindentity(entity, target, int x, int z, int a, int direction, int bindanimation, int sortid)
これが基本の書式ですが、貼り付けるEntity、貼り付けられるTarget、
TargetのOffsetに対してX,Z,Aドット調整して表示、Directionは向きを合わせるか反対にするか常に同じ向きか、
少し分かり辛いのがBindanimationで上の例では貼り付けるEntity(子)のほうのAnimのFrameが終わったら
自然と消去される。1だとTarget(親)と同じAnimだけ実行。
2ならTarget(親)のFrame数ともリンクさせる(面倒そうだけど、上手くできたら凄そう)。
3は機能無しで、4はTarget(親)のAnimと常にリンクして動くEntity(子)にAnim Attack1など
設定しておけば、Target(親)がAnim Attackを実行したとき一緒に実行される、
一緒に実行できるAnimが無いと消滅(KillEntityされる)。この4の機能が面白いですね。
55: 2021/03/16(火)00:31 ID:t+wd47Is(1/3)調 AAS
>>49 のBlockに関連したコマンドとして
guardpoints {int} intというのは整数という事です。ここで設定した数値分ガード(ブロック)できる。
guardrate {int} 上の数値の回復レート、mpのように設定した数値ずつ回復します。
そしてGuardPointがBlockするたび減ってゆき0になると下のAnimが実行される事になります。
Anim guardbreak
Block系は結構いろいろ設定が可能なようで、
thold {int}これを0で設定するとほぼ全ての攻撃をブロックしたり、
逆に10など設定しておけば11以上の攻撃はガード不能になります。
似たものにblockpain {int}があって、ここで設定した数値ぶんBlockすると
Anim Blockpainに処理が移行する。
敵やNPC用に防御率を設定するコマンドもあり。nopassiveblock {bi} biというのは 0か1
この辺の設定をしっかりすれば、防御の駆け引きも作れそうですね。
56: 2021/03/16(火)17:28 ID:FVENZVHs(1)調 AAS
project fgcというmodが格闘ゲームのように奥行きの無い2D作品です。しゃがみ動作もできるようになっているので2D研究用にも良いかもしれない。ver1.4辺りが手に入りやすい。
57: 2021/03/16(火)23:36 ID:t+wd47Is(2/3)調 AAS
FollowAnim 1
FollowCond 1
上の条件“同じAnim内のAttackがヒットするとAnim Follow1へ処理が飛ぶ”というものです。
@cmd changeentityproperty getlocalvar("self") "animation" openborconstant("ANI_FREESPECIAL1")
Frame data/chars/test/empty.gif
このコマンド文で強制的にFreeSpecial1に処理を飛ばすこともできます。
CounterRangeやCancelを使っても出来ることですが、力技で飛ばすのもたまには良いかも。
下の行のFrameはOpen BoRのお約束、基本的にコマンドには属するFrameが必要だから。
Attackコマンドの判定を消すには Attack 0という記述が必要です(もしくは別なAnimに移行する)が、これにも
Attack 0
Frame data/chars/test/empty.gif
といったように属するFrameが必要になります。
58: 2021/03/16(火)23:42 ID:t+wd47Is(3/3)調 AAS
スクリプト系は大変便利なコマンドが多いのですが無言で落ちたりするので注意も必要です。
あとお約束として@cmd 以降はアルファベットの大文字小文字を区別するのでさらに注意です。
59: 2021/03/17(水)00:14 ID:qqhuc2mx(1/3)調 AAS
なんだか色々偉そうに書き込んでますが、私は他人の作ったMODに
ぼくのかんがえたさいきょうのって感じで
無限などから拝借ゲフゴフしたプレイヤーキャラを登場させて悦に入る事しかできません。
まったくもってOpenBoRの仕様を理解しているわけではありません。
上の方のGuardPointsについてもAttaker側にGuardCostが必要だったり各コマンド実際には
さまざまな制限があります。
ですが、まああ、とりあえず弄って遊んでみましょう、時に新しいコマンドの使い方発見や
万が一MODなんか出来ちゃったら嬉しくない?というのが、私のやりたいことです。
スクリプトなんかについても他人のを勝手にコピペして動いた!ヤッター!程度のものです。
私が書き込んだのを信用してエラー落ち頻発で悶絶しても悪しからずでお願いいたします。
60: 2021/03/17(水)01:27 ID:qqhuc2mx(2/3)調 AAS
頼みの綱 DCマニュアルには 操作ボタンの中で
Accepted action inputs are:
A: Attack button
A2: Attack button2
A3: Attack button3
A4: Attack button4
J: Jump button
S: Special attack button
K: Alternate special attack button
とありますが、
この一番下のKボタンてどこなんだろ?
上下前次1-新書関写板覧索設栞歴
あと 596 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.031s