したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

追加命令要望スレッド

1電プロ:2006/09/15(金) 07:20:09
「あやしい仕様確認スレッド」で度々命令の追加要望があるので、スレを独立させました。
スクリプトの関数の追加、またはRSPファイルの仕様追加などがあれば相談してください。

90電プロ:2011/06/04(土) 22:52:16
>>89 tzadyn
SpE4では用意しますよ。こんなイメージです。

int is_unit_collision(refer vec_out, refer vertical_out, v1, v2);

線分v1-v2と全ユニット間の衝突判定。衝突していたらユニットのハンドルを返す。
vec_outとvertical_outは衝突座標と法線ベクトル。


位置と法線と衝突相手が分かれば、距離を求めたり、反発ベクトルを求めたり、「べちょ」っと張り付いたりは、自由に出来ます。卓球ゲームが作れますね。

エンジン内部で持っている数学関係の関数を全てスクリプトで扱えるようにしますので、出来ない3次元計算はなくなると思います。
慣れるまでは方眼紙と数学の教科書が手放せませんが・・・。

大学入試レベルの数学を普通にゲーム開発で使いこなせる人なんて在野にはいないだろう、と踏んでいたら、ちらほらそれをやってる人が見え始めているので、制限なしで何でもできる仕様にするつもりです。

91電プロ:2011/06/04(土) 22:53:18
>>89 tzadynさん
おっと失礼、敬称を付け忘れてました。

92tzadyn:2011/06/05(日) 21:06:16
>>90,91
電プロさん

お返事ありがとうございます。
すでに予定済みでしたか、さすがです。
あまりよく分かっていないのですが、その構造だと、線分上にユニットが複数あったり、凹状のオブジェクトと交わったりとかした時、大丈夫ですかね?
あと、LARGEやOBJECT属性のような、ぶつかったらダメージもらうユニットと、すり抜けるユニットは、引数かなんかの指定とかで、別々に扱えるようにしてもらえるとなお便利ではないかと。

……すでにそういう予定ならすみません!

93のーすうっど:2011/08/04(木) 12:33:34
こんにちは、SpE4およびRS4の開発お疲れ様です。

イベントシーンのカメラについて機能追加のお願いです。
現行のカメラですと、常に水平のアングルしかできず、カメラワークが制限されています。
たとえば、意図的にカメラをロール方向に回転させて画面の対角線を活かした表現などを是非取り入れたいので、カメラのロール回転を追加していただきたく思います。

ご検討よろしくお願いします。

94電プロ:2011/08/04(木) 21:39:59
>>93 のーすうっどさん
あー、その発想は無かったですね。リプレイでは確かにカメラがぐるぐる回ってカッコいいので、イベントシーンでも出来ると素敵。

今のところのカメラ制御の構想が「カメラの座標軌跡→撮影対象の座標軌跡」なので、コイツに「ロール角」を別途制御できるようにすれば、
カメラを好きに動かせるでしょう。
アクション映画のようなシーンをぜひ!

95ゆめの:2011/08/30(火) 20:51:05
こんばんわ。夢乃です。
ユニットの制御を行う局面で、簡単なフィードバック制御(比例制御など)を行いたくなる場合がよくあります。たとえば、目標とする座標からユニットが離れているようなら、その離れ具合に応じて増速するような方法です。
ユニットlabel1はまっすぐ一定速度で水平飛行中、
ユニットlabel1の真後ろにユニットlabel2が同じ向きを向いて追走中として、
たとえば
float x1, y1, z1;
float x2, y2, z2;
float length, speed2, acc2;
float Kp=(何か適切な値);
while(1){
system();
get_pos(label1, x1, y1, z1);
get_pos(label2, x2, y2, z2);
speed2 = get_speed(label2);
length = (x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)+(z1-z2)*(z1-z2);
acc2 = Kp * length;
speed2 = speed2 + acc2;
set_speed(label2, speed2);
}
といったスレッドを立てるようなことをしたいわけなんですが
せっかくset_speedの仕様ではmission.incに
systemcall int set_speed(int label, float speed);
とあるように引数が浮動小数点型を使えるのに対して、
get_speedの仕様が、mission.incに
systemcall int get_speed(int label);
として書かれている通り、戻り値がintのため、滑らかな速度の逐次フィードバック制御ができません。

(この例くらいの動作なら他の方法でも実現できますが、実際はもっと複雑な制御するときに問題になります)

修正をご検討いただければ幸いです。

96ゆめの:2011/08/30(火) 20:54:58
要望についての訂正ではありませんが…スクリプトちょいミスしたので。

訂正:
length、平方根かけるの忘れてました。これだと距離の2乗に比例した加減速になっちゃいますね。

97ゆめの:2011/08/30(火) 21:03:45
再訂正:
get_speedでとるべきはlabel1の速度ですね(汗)ほかには無いと思いますが…すいません

98電プロ:2011/09/06(火) 20:58:24
>ゆめのさん
速度が整数型なのは昔の名残です。
RSE3.5においてfloatにしても不都合がなさそうなので、次バージョンで変えてしまいます。
ご指摘ありがとうございます。

ちなみにSpE4のライブラリでは座標関係がすべてベクトルになりました。

player_handle=get_handle("PLAYER", 0, 0);
pos=get_pos(player_handle);

こうすると、pos.x, pos.y, pos.zぞれぞれにX,Y,Z座標が入ります。
ハンドルを取得してからハンドルでアクセスするあたりもシステム指向になっています。

99濡烏:2011/09/10(土) 15:49:34
こんにちは
敵機に関する要望なのですが、
敵機に特定の目標を攻撃するような指定と
敵機のAIがリアルの上級プレイヤーを
再現できるレベルまであればいいと思ってます
(物量に頼らずにプレイヤーを追い詰めたいのです)

100FROST:2011/09/16(金) 15:42:12
AIを上級プレイヤーを再現できるレベルにするのは不可能ではないでしょうか。人間の動きは有機的です。それができたらいまさら現実で無人機開発に困ってません。
とりあえず敵エース機の機動性や速度やレベルをいろいろいじってみればいいのではないでしょうか。調整次第ではガンぐらいでやっとたおせるぐらいになると思いますよ。

101電プロ:2011/10/02(日) 18:14:32
>>99 濡烏さん
強いだけの敵は実は簡単に作れます。
敵はゲーム中の全オブジェクトの3次元座標を知ることが出来るので、ミサイルと機銃を馬鹿正直に避ければよいだけです。
集中力と時間が無限大のCPUならば、どんな上級プレイヤーでも勝てません。24時間飛び続けるわけにはいきませんし。
でもこれで「上級プレーヤーを追い詰めた」と思う人はいないでしょう。

かなり昔の話になりますが、エース○ンバット2のときにNAMCOの中の人が強い敵機の実験をしたらしいのですが、
とてもつまらないゲームになったそうな。

格闘ゲームで「強いCPU」は簡単に作ることが出来ますが、
それがゲームとして受け入れられることはない、という話と同じですね。
話し出すと長くなるのでこの辺で。

102Potema:2011/12/20(火) 02:42:53
追加要望です。
 現在スクリプトでは2スティックゲームパッドの
左スティックの入力がget_pad_nowで判定可能です。
 右スティックの入力に関しても同様に入力の判定が
出来るスクリプトを追加して頂けませんでしょうか?

 某アマコアのN系より前だと上下を向く、左右ヨーの
右スティックでやりそうな動作をL1,L2,R1,R2のボタン
入力でやっていましたが、流石にプレーしづらいです。

 右スティックの入力を判定できれば航空物以外について
操作性が良くなりそうなので、ご検討願います。

103電プロ:2012/01/08(日) 00:07:17
>>102 Potemaさん
SpE4では飛行機以外も想定しています。
右スティックを主要操作に割り当てるとキーボードプレイが完全に不可能になってしまう懸念がありますが、
「そういうもの」として切り捨てた上で、2スティックでグリグリ操作して遊ぶゲームを作るのも悪くないかもしれません。

技術的には何も難しいことはないので、覚えておきます。

104Potema:2012/01/23(月) 22:53:32
追加要望です。
ユニットを破壊した際、誘爆するユニットを実現して欲しいです。
 例えば、燃料タンクを破壊した際、周囲のユニットにダメージ
といった感じで。
 ACアサホラではヘリコプターのミッションで誘爆する
ユニットが出ており、効率的な攻撃を行う際の鍵となって
いました。
 現状では対地ミサイル撃っとけばとりあえずなんとかなるので
地上攻撃にもっと戦略性が欲しいです。

105電プロ:2012/02/03(金) 22:49:15
>>104 Potemaさん
RS4thだと台本の収録が終わってるのでメインで入れるのは無理ですが、
おまけのギミック的に入れるのは面白いかもしれませんね。
弾薬入りのコンテナを爆破すると周りの戦車ごと吹き飛ぶとか。

当然スクリプトで実現することになるので、あとで誰かが別のゲームに流用したいと思っても可能でしょう。

106u-rontea:2012/03/16(金) 18:47:50
AI関連についての要望です。
敵機に特徴的な機動をさせるための追加スクリプトが欲しいです。
具体的に再現したい敵の機動を挙げますと、

わざと失速しての追い越し狙い。
バレルロールをかけながら突っ込んでくる。
左右ではなく上下方向の旋回を多様してレーダーをかく乱させる。
高速で直進しミサイルを撃って距離2000あたりのミサイル射程外で反転。(RSEで高速な機体を作ってもすぐ旋回してしまうため。)
一撃離脱戦法をするプレイヤーを最高速度で追いかける(現在の仕様ですと相手はあまり加速しないようなので容易に一撃離脱できる)
空中戦力を無視し地上物ばかり攻撃する(似たような命令があったはずですが、効果を実感できなかったため。)

自分が思いつく限り挙げさせてもらいました。
また、AIスクリプトファイルのようなものを作成できるようにし、
エディタでの敵配置時に指定できるようにすれば(R-21にはnomal.AI、黄色いR-21にはミサイル回避を重視するyellow.AIのような感じで)
ミッションを作るたびにいちいちAI関連のスクリプトをコピペしたりせずに済むと思うのですがどうでしょうか。

107Potema:2012/03/16(金) 20:12:55
追加要望です。

現状では距離約300ほどで機銃の命中予測が表示されます。機銃の射程距離が変更可能なので、任意の距離で機銃の命中予測が表示できるようにして欲しいです。

また、setsectionで任意のユニットからユニットへの攻撃が制御できますが、機銃の命中予測地点に対しても攻撃が制御できるようにして欲しいです。
例えば、現状ではそこそこの性能の機体であれば同じ方向にレバー入れて加速していれば大抵回避できます。機銃の命中予測地点に任意で攻撃が出来れば、同じ動きをし続けていると被弾するといった制御が可能になりそうです。ロボット物作る場合にも役立ちそうです。

108電プロ:2012/04/05(木) 20:13:38
>>106 u-rontea さん
>>107 Potema さん
要望ありがとうございます。

敵ユニットの動作はスクリプトだと動きが重過ぎると思うので、DLLか何かで拡張できる仕組みに出来ないかなー、などと考えています。

機銃の射程変更はどこかで書いたと思いますが、自動的にガンサイトも換わるように作っています。射程と弾の初速からサークルの位置を逆計算していますが、デモ版だとなぜかイマイチな動きに…。計算結果はあっているようなんですけどね。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板