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

追加命令要望スレッド

38Dragon:2008/01/13(日) 22:51:22
命令追加の希望です。

現状で可能であればパイロンを選択して武装の補給を可能にして欲しいのですが。
(supplyweaponでパイロン選択して補給といった感じで)

また、RSO2で使用するわけではないのですが、
現在選択しているパイロンor発射した武装のIDを取得する命令があれば、
特殊な武装が多数作成できるので追加希望なのですが。

39水月:2009/04/14(火) 23:53:59
機能追加要望です。

ネット対戦中に
レーダーに味方のマーカーしか表示されないようにすることは可能でしょうか?

40オストマルク:2009/07/26(日) 21:08:17
こんばんは。
 日記にて今後の展開を見せていただきました。
要望の取り込みついて記載されていましたが、
まずは現状RSEで何が出来るのかをまとめ、
全ての命令が動作することを確認して
欲しいです。
 機銃の射程延長やミサイルポッドなど
イロイロ増えていますが、rsuファイルに
関するリファレンスが無く現状何が出来る
のか分かりません。
また、大分前にdestroy命令に不具合があり
本編すら動かないこともありました。

41電プロ:2009/07/27(月) 21:35:30
>>オストマルクさん
rsuリファレンスについては過去に作成し、それを元にHTML化したコンテンツが若葉堂で用意されているはずなので探してみてください。

バージョンアップで追加された命令については単体では全て動作します。
また、既存命令についてもRS3は正しく動作します。
destroy命令が本編ですら動かないのは単なるバグでした。
その件以降、本編でも動作チェックするようにしていますので、恥ずかしい不具合は減っているはずです。

また、RSEではスクリプトの記述制限がかなりユルイため、電プロの想定外の利用方法がされている自作ミッションが非常に多く、過去の自作ミッションが動かない互換性問題が発生しています。
今からガチガチに記述制限を固め直すよりは、過去のバージョンを公開することで対応することにしています。

42jojo:2009/08/02(日) 14:35:18
こんにちわ
3.5の開発お疲れ様です。公開を楽しみにしております。

一段落してからで構いませんので、
TOYBOXのsectionで、ミサイルが当たったときの衝撃波エフェクトを追加して頂けないでしょうか?
非常にリアルで秀逸なエフェクトですので、使いどこが多々あると思った次第です。

43水没王子:2009/08/30(日) 02:33:46
こんばんは。
スクリプトに関してですが、getpadnow命令でヨーボタン
の認識の追加は可能でしょうか?
relrotと組み合わせて自機のY軸の回転速度を上げるのに
使いたいです。

44電プロ:2009/08/30(日) 12:25:49
>>42 jojoさん
TOYBOXよりはcreatebombのように、特定座標にエフェクトを出すほうが制御しやすいと思います。

>>43 水没王子さん
今思えばそもそも操縦のアナログ値を取得する機能が無いですね。どれもON/OFFだけ。アナログ値を取得する機能が必要です。

いずれも、機能追加については旧スクリプトへの追加は考えていません。
2重検証になり開発時間が2倍になることに加え、その期間だけRaidersShphere4thの発売が2倍で遅れるだけだからです。
SphereScriptへの追加ということでよろしいでしょうか?

45kiris:2009/08/30(日) 18:18:19
MMDという3Dモデルにモーションを付けて動かすソフトが流行っているようですが
このモーションデータをRSEに組み込むようなことはできないでしょうか。

具体的には、歩く動きをMMDで作成し、
人型ロボの動きのパターンとして上記モーションデータを指定する、といった使い方です。
複雑な軌道を描くミサイルにも利用できるかもしれません。

難しいこととは思いますが、御一考の程、よろしくお願いします。

46電プロ:2009/08/30(日) 21:16:14
>>45 kiris さん
それ、2年後にやる予定です。RaidersSphere4thの「その次」ですね。
メタセコイアがアマチュアモデラの事実上標準になっているように、
MMDがどうなるか、動向を気にしています。

47水没王子:2009/08/31(月) 01:27:52
>>44
はい、SphereScriptへの追加をお願いいたします。

48電プロ:2009/09/04(金) 00:07:34
(以下、ネットワークプログラムに詳しい方の情報提供をお待ちしています。)

今UDPの導入を進めているのですが、ここで疑問。
「UDPはルータを超えられるのか?」という点。

たとえばTCPの場合、クライアント側からセッションの確立を行えば、動的NAPTテーブルが構築されるのでクライアントで禁止しない限りは何もルータ設定しなくても問題なく双方向にTCPで通信できます。(つまりサーバ側だけ静的NAPT設定すればよい)
ところがUDPの場合、セッションが無いため、クライアントからサーバへはソケットが開けても、サーバからクライアントへはNAPTテーブルが無いからソケットが開けないのでは?などを考えてしまいました。

先にクライアントからサーバへUDP送信が行われていれば、ルータがその辺の空気を読んで反対側も許可してくれるんでしょうか?
家の中で実験できないので、困っています。

49wakaba:2009/09/06(日) 01:09:23
>>48
一般的にはクライアント側ルータのUDPポート開放が必須になるはずです。
UPnP使えばルータがその辺の空気を読んで許可してくれますね。

実験については、日当たり\600-で利用できるWiMAXサービスに加入するか、人を集めて試すのは如何でしょうか?
個人的には後者がお勧めです。(ルータによって挙動がまったく違うため)

50電プロ:2009/09/16(水) 21:35:30
>>49 wakabaさん
SkypeがUDPを使っている以上、何か方法はあるはずだ、と人に聞いたりネットで調べたり、実験したりでいろいろ分かってきました。
結論は、ソフトで工夫すればポート開放はサーバ側だけでOK。
※実証実験していないので実際はこの連休中に実験します。

手順
1.サーバがUDPソケットを作成、バインド(事前にポートを空けておく)
2.クライアントがUDPソケットを作成
3.クライアントが最初にUDPデータグラムを送信。(ここでクライアント側ルータにも送受信できる穴が開く)
4.受信したサーバは送信元(つまりクライアントの)ポート番号を保持
5.サーバからクライアントに送る場合は4で受信したアドレス・ポート番号へ送る。
6.クライアントは3で送信したソケットでデータを受信

必ずクライアント側が最初にデータを送るということと、サーバはrecvfrom関数で得られた「送信元」にデータを送るという2点がコツ。
UDPはバインドしなくても、最後に送信したポートを覚えている挙動をするようです。

このへんの話、昔取ったテクニカルエンジニア試験[ネットワーク]を思い出します…。

51wakaba:2009/09/22(火) 17:24:57
>> 電プロさん

以下2点の命令の追加を希望します。
お手数ですが、ご確認頂ければ幸いです。

1. 未定義を検知する方法について
現在のSphereScriptでは未定義の変数、定数、関数を検知する方法はありますでしょうか?
もしも無いようでしたら、以下の関数の追加を希望します。
exist_var(変数名);//変数が未定義かどうかを返す。既に存在している場合はtrue、そうでない場合はFALSE
//exist_var(current_hp);など

exist_define(定数名);//定数が未定義かどうか返す。既に存在している場合はtrue、そうでない場合はFALSE
//exist_define(MAX_HP);など

exist_function(関数名);//関数が未定義かどうか返す。既に存在している場合はtrue、そうでない場合はFALSE
//exist_function(get_hp);など

2. 変数の型を確認する方法
現在のSphereScriptでは変数の型を検知する方法はありますでしょうか?
もしも無いようでしたら、以下の関数の追加を希望します。
var_dump(変数名);//変数名で指定された変数の持つ、型と値を"標準出力する"
get_type(変数名);//変数名で指定された変数の持つ、型を文字列として返す

52電プロ:2009/09/22(火) 18:18:34
>>wakabaさん
デバッグ用のヘルプ機能ですか?
今は何も無いです。

別の場所に書きましたが、#defineをはじめとするプリプロセッサはコンパイラがどうこうできる範囲外なので
基本的に「実行時に何かする」ことが原理的に出来ません。理由はコンパイラが食った時点でdefine内容に置き換えられているから。

変数と関数は内部的に同一なので、
get_type(変数名);
でint,float,string,function,refer,NULLのどれかが返ってくる、で良いと思います。
現在のwait_time関数みたいに、システムコールを追加して、関数でラップすれば出来ないこともなさそう。

53wakaba:2009/09/23(水) 02:02:29
>>52 電プロさん
> デバッグ用のヘルプ機能ですか?
そうなります。
それに加えて、初心者向け学習コンテンツ用と基盤系構築用です。
特にexist_varはstaticと組み合わせれば、かなり安全な基盤を作れるので。

> 別の場所に書きましたが、#defineをはじめとするプリプロセッサはコンパイラがどうこうできる範囲外なので
> 基本的に「実行時に何かする」ことが原理的に出来ません。理由はコンパイラが食った時点でdefine内容に置き換えられているから。
了解です。ってかそりゃそうですね。

なければ定義するしあれば何もしないとか、動的に定義を変更したい定数が合った場合は、constが必要になるイメージでしょうか?
--以下、フレームワークでよく見る例をconstで表現してみる---
const PACKAGE_ROOT = 'rs3original/'+ user_name +'/'+ package_name +'/';
if (!exist_const(PACKAGE_VOICE_ROOT)) { //定数"PACKAGE_VOICE_ROOT"が未定義の場合
const PACKAGE_VOICE_ROOT = PACKAGE_ROOT + 'voice/'; //定数"PACKAGE_VOICE_ROOT"を作成する 場所はパッケージフォルダ直下のvoiceとする。
}
-----
ちなみに、極力組み込み関数側に処理を持たせたほうが実行効率が上がると考えていますが、認識としてはあっていますでしょうか?
# スクリプト言語では配列の全要素に処理を掛ける場合に、スクリプト言語上のforよりも言語を作っているCの上で走る組み込み関数で処理を行った方が劇的に速いとかがザラにあるので。
もしもそうでないならば、片っ端から関数定義と言うのも手なのかもしれませんね。

> 変数と関数は内部的に同一なので、
なるほど。
function var_dump(value)
{
print_string(get_type(value) +":"+ value +"\n");
}
で一応カバーできますね。
配列を再帰的に表現したい場合はどうしたものか。

そういやNULLってあったんでしたっけ?

# print"_string"を書くのがだるくなってきましたorz
# 文字列しか出せない事は自明なので、printじゃ駄目なのでしょうか?
# いっそ、()も略して print "ほげふが";とか出来れば楽なのに。

54wakaba:2009/09/27(日) 00:31:48
電プロさん

お疲れ様です。RSEclipse開発チーム、若葉です。

sps.exeに以下のオプションの追加を希望します。
・「-c」および「-p」

現在のsps.exeでは外部から呼び出された場合、実行終了後に明示的にEnterが押されない限り、呼び出し元に出力結果を返す事ができません。
そのため、Enterを明示的に入力できない場合、なんら出力を返すことなくゾンビライクなプロセスとなってしまいます。

また、(input_string()関数を使って)対話機能をスクリプトで実装した場合も、Enterが押されるまで内容が出力されません。
# 「ほげほげを入力してください」としていても、その文章すら表示されません。

これらを回避するために、以下のオプションの追加を希望します。

----
・-c
スクリプト実行後、ユーザ入力を待たずにそのまま処理を終了します。
----
・-p
スクリプト実行時、適宜文字列の表示を行います。
このオプションはパフォーマンスの劣化を招く場合があります。
----

これらのオプションが導入された場合、以下の作業パターンを構築することができます。
1. RSEclipse上で、SphereScriptファイルを編集する
2. Ctrl+Enterを押下する。
3. 現在編集中のSphereScriptファイルが画面下のコンソールで実行され、結果が返ってくる。
4. コンパイルエラーが出た場合2.に戻って修正する。
5. コンパイルエラーが出なくなったら「RSEを起動する」ボタンを押して、ミッションを一括反映。デバッグする。
こうすることで、RSE起動まではマウスに触れる事なくスクリプトの開発を行えます。
結構神経を使う、ファイルのドラグアンドドロップをする必要もなくなります。
多分、今まで30分かかっていたスクリプト開発作業が20分くらいにはなるはず。

この機能が追加された場合「既存開発者の開発スピードを上げ」「新規ユーザのスクリプト学習効率を上げ」何より「電プロさんのスクリプトデバッグ時間の削減」を図ることが出来ます。

以上、ご検討のほどよろしくお願いします。

追伸:
上記オプションを実現するにあたって、RSEclipse開発チームで調査した結果を以下に残します。
・-cオプション
-cオプションが渡されている場合、終了時の入力待ちをスキップする処理を追加。

・-pオプション
input_string()関数などの入力待ちが発生する関数実行時に、-pオプションが渡されている場合は「flushall()関数(Cですね)」を呼び出す。
RSEclipse開発チーム側での実験では、gets()関数の前にflushall()関数を呼べば、それまでの出力は表示されるようになるようです。

追伸の2:
本件はRSEclipse開発チームでは以下のチケットで管理しています。
https://ssl.wakabadou.net/trac/rs/tool/rseclipse/ticket/155

55電プロ:2009/09/27(日) 22:43:26
>>54 wakabaさん
>・-c
>スクリプト実行後、ユーザ入力を待たずにそのまま処理を終了します。
これはともかく、
>・-p
>スクリプト実行時、適宜文字列の表示を行います。
これの意味が分かりません。print_stringのあとにinput_stringすればきちんと表示されるはずですが…。
出ないとしたらたぶんOS依存の不具合です。

なお、SphereScriptのマルチスレッドはWindowsのスレッドを使っているわけではないので、
コンソール入力やメッセージボックス出力で全スレッドが『同期を取って』止まります。


-cオプションを追加するにあたり、外部プログラムから呼び出されたことを考えると、
返り値を渡せると良いかもしれません。ここで言う「外部プログラム」にはもちろんSphereScriptも含みます。

56wakaba:2009/09/28(月) 04:55:28
>>55 電プロさん
> これの意味が分かりません。print_stringのあとにinput_stringすればきちんと表示されるはずですが…。
私が確認した環境ではXPでした。
とりあえず、窓7あたりで確認を行ってみます。

> なお、SphereScriptのマルチスレッドはWindowsのスレッドを使っているわけではないので、
> コンソール入力やメッセージボックス出力で全スレッドが『同期を取って』止まります。
このイメージ、説明だとどうやって伝えればいんだー。orz

> -cオプションを追加するにあたり、外部プログラムから呼び出されたことを考えると、
> 返り値を渡せると良いかもしれません。ここで言う「外部プログラム」にはもちろんSphereScriptも含みます。
基本、返り値は標準出力ですね。
ちなみに現在の問題は、標準出力を受け取れないので何も表示できなくなっている状態だったりします。

どちらかというとオプションの追加をより切実に希望したいところです。

-package 11th_ONLINE.rsp -size 800x600 -window -online -host rectangle.jp -port 17328 -name wakaba -team #00000000 -autostart
# -windowでウィンドウモードで起動する、-onlineでネットワーク接続をする、-autostartで起動ボタンを押さなくても、そのまま起動する
とか。

ちなみに「-package 11th_ONLINE.rsp」オプションがあるとRSEclipseからRSE.exeを起動した時点でパッケージ選択済みと出来るので、より開発が容易になったりもします。
敵配置エディタの起動も含めると、-sizeと-windowもですね。

57オストラヴァ:2009/11/04(水) 22:20:57
こんばんは
要望に関してです。可能であればお願いいたします。

1.移動する地上敵
 今のところ船舶が該当しますが、AAUNやSAMが
多少は動きつつ攻撃できるようになって欲しいです。
地上敵は倒し方がワンパターンで直ぐに終わって
しまうので動きがあるとうれしいです。
航空機が機体を水平に保ちつつ高度0で障害物
を避けて動くようなイメージ。

2.自動ロックが出来るミサイル
 rsuファイルで、UNIT_ATTRIBUTEをAUTOLOCKに
すると子弾頭が自分がロックした敵以外を攻撃
します。これを最初から発射できるように
して欲しいです。つまり敵をロックせず
ミサイルを発射し、有効射程内の敵をランダム
で攻撃できるような感じで。

58jojo:2009/11/09(月) 01:58:38
お世話になります&kari4お疲れ様です。

現在オン対レーシングと戦車のミッションを作っておりますが
これに関する追加命令要望を出します。

1)文字表示機能。
レーシングで順位表示をするのに使います。
1位 だれだれ(get_player_nameで取得)
といった風にする予定です。

2)スプライトを全クライアントではなく、生成したクライアントにのみ表示(オンライン)
レーシングでコースマップを表示機能があるのですが
あるクライアントが生成したコースマップスプライトを、
ほかのクライアントも受信してしまい、画面がカオスと化します。
rsuでNO_NETWORK属性も効果ありませんでした。

3)get_pad_trg/nowに左右ヨー、加減速キーを追加
戦車の操作に使用します。

4)機銃の射程の分だけ照準マーカーを表示できるオプション
戦車搭載の対空砲の操作に使用します。
現在、AIR_RANGE 1000でも 300付近からしか表示されません。
距離1000から照準マーカーが出るようになると、フェアな地対空バトルが可能になります。

3)、4)は優先度低めです。
お忙しいところ申し訳ありませんが、宜しくお願いします。

59電プロ:2009/11/15(日) 19:34:42
>>57 オストラヴァさん
両方ともRS4では入ります。お楽しみに。

>>58 jojoさん
ゲーム画面の場合いわゆるprintfと概念からして違うので、想像しているような文字表示は非常に困難です。
SpE4.0ではウィンドウをスクリプト側から制御できるようにするのですが、
現在製作中のゲームがあるならば、実験(というか人柱)として先行実装しようと思います。

すぴらいとがネットワークを止められない件は、単に不具合だと思うのですが、
11thでは正常に動いています。(他クライアントには送られない)
RSPファイルを見てみないと分かりません。

操縦桿とスロットルについては、get_pad_analog命令を追加しようと思っています。

ガンサイトの射程はRS4でなんとかします。


が、上記全て現在対応できる状況ではありません。冬コミ後になると思います。
冬コミでそれを「売る」ならば別ですが…。

60jojo:2009/11/22(日) 19:37:12
>>59
ありがとうございます。冬コミ後に対応して頂ければ幸いです。

SPRITEの問題だけ5分くらいで解決できそうでしたら助けて下さい。
RSPというとincludeされたrsuのことですか?
;------------------------------------
UNIT_ID 254
UNIT_NAME "レースマップ"
TEXTUREFILE_LARGE Testtube\graphics\sprite\racemap.bmp
TEXTURESTYLE SPRITE
UNIT_TYPE EFFECT ;種別(FIGHTER(戦闘機)/PLANE(航空機)/VTOL(ヘリ等)/SHIP(船舶)/VEHICLE(車両)/FACILITY(施設)/EFFECT(エフェクト))
UNIT_ATTRIBUTE OBJECT ;属性(OBJECT(飾り:攻撃対象外))
UNIT_ATTRIBUTE UNLISTED ;属性(UNLISTED(エディタでリストアップしない))
UNIT_ATTRIBUTE NO_NETWORK

61通行人T:2009/11/22(日) 20:55:44
>UNIT_ATTRIBUTE NO_NETWORK
           ↑ココ
……全角スペースだからじゃないっすか?

62jojo:2009/11/22(日) 21:57:56
マヌケが見つかったようです
お騒がせしました。
>>61通行人Tさん本当に有難うございます。助かりました。

63堀江伸一:2010/01/26(火) 20:10:34
機体の物理挙動を表す連立方程式に一回微分を導入することで、機体の向きと機体の進行方向をばらばらにすることができるような?

後は、特定の操作が行われたとき、上昇や下降や回転などが行われたときに機体の向きを変える関数。
これらの関数に機体の向きと進行方向の2つの変数を追加して機体挙動を設定してやれば、やればなんとなくリアルっぽいフライトシミュレータになるような。

後は機体の速度、機体の各速度で機体を回す関数をかましてやって、、、、
いやなんでもないです。


妄想です、寝ます^_^

64JoJo:2010/02/01(月) 02:28:54
4の台本お疲れ様です。
開発日記にありました「3.51のオンライン部分の見直し」に際して、1つお願いがあります。
もしお時間があればご検討下さい。宜しくお願いします。

現在、『舟_ONLINE』(ttp://renars3.blog46.fc2.com/blog-entry-50.html)という
小船(高速艇)を操縦できるオンラインパッケージを公開しています。

オンライン対戦では遅延対策として、速度、角度などからRの未来位置を
予測しつつ動かしていると思いますが、これが船で裏目に出ております。

set_posでプレイヤーユニットを一カ所に固定しても
予測動作で動き続け、飛び立とうとします。(ttp://livetube.cc/Hiko/RaidersSphere_船ONLINE )

この結果、見た目もさることながら、狙いが非常につけにくくなり対戦になりません。
(大人数で大幅に遅延するとき等、特にひどくなります。)
大きなマイナスポイントになっています。

将来的に公開される戦車のパッケージでも同じ現象が起きますので
予測飛行をしないUNIT_ATTRIBUTEを実装して頂けると有り難いです。

;-----------------------------------------
以下別件です。
v3.21以前から
自機の近くから発射されたレーザー(自機含む)の
(LARGE,HUGE属性への?)当たり判定が極近距離で消えています。
入射角など諸条件で消える閾値が変わりますが、おおまか50程かと思います。

例えば、短距離レーザーで「剣」を再現すると切れないナマクラになってしまいます。

65電プロ:2010/02/05(金) 23:18:39
>JoJoさん
どのようにして船を実現しているかにもよるのですが、
何も小細工せずにHUDに表示される速度、またはset_speed();した速度を元に軌道予測するのが本来の仕様です。
ユニットの座標跳びが酷くなった県も関連性があるはずですが、全体的に見直す必要があるので、
これらの件もまとめて対応します。

レーザーについては、当たり前ですが短距離レーザーを想定していなかったので、計算がバグっているのかも知れません。
画像範囲に合わせるのが本来の動作ですので、内部の処理を確認しておきます。

66ドレイク:2010/07/06(火) 11:52:18
要望です。
可能であれば実装して欲しいです。

1.自機以外の機体の装備を複数設定可能に
 現状では敵機は機銃+ミサイル一種類だけですが、
サブやセンターの武装を可能にして個性を出せる
ようにして欲しいです。
 エースコンバットのように敵機がたまに高性能ミサイルや
長距離ミサイルを撃てれば戦いにメリハリが出せると
思います。

2.カウンターを画面表示出来る関数
 エースコンバットのようにハードモードでは機銃に
制限をつけ、残り弾数が表示できるようにしたいです。
自作でやっているのを見たこと有りますが、ソースが
有り得ないボリュームになっていたので、共通関数
として使うことが出来ればうれしいです。
 表示する座標と数字を指定し画面表示できる
関数を希望します。

以上です。

67KEN:2010/08/09(月) 16:59:40
やはり機体は最高速度だけでなく、加速性能もほしいです。実機つくるとすごい速さでマッハ2ぐらいになったりするのは違和感が出てしまいます。
ミサイルが加速性能を決められるなら何とかなりませんか?

68<削除>:<削除>
<削除>

69KEN:2011/02/15(火) 16:14:16
敵機体のユニットIDを取得するにはどうすればいいですか? できなければ追加していただきたいのですが。

70ジオペリア:2011/02/15(火) 20:57:30
はじめまして。
 追加命令の要望です。可能なら実装してくれると嬉しいです。
追加命令の内容   「画面を揺らす」
イベントモードでトーチカや大型の武装船が発砲したときや、フォーチュンなどのデカいヤツが墜落したとき等に画面を揺らせばイベントシーンにも味が出ると思います。

71JoJo:2011/02/21(月) 02:42:52
ロックオン(ミサイルシーカーが赤)した敵機のラベルを取りたいのですが
get_lockでは
いったんロックオンした後ロックオンから外れた場合も
距離、画面内外に関係なく(次のロックオンまで)
同じ敵機の値を返し続けてきます。

ロックオン中のみラベルを返し、
その他の場合は0ないし-1を返す新関数あるいは仕様変更をお願いします。

72KEN:2011/02/22(火) 22:45:39
JoJoさん get_lock命令は返値でロックしているか否かを返すから、それで判断させてはダメなのですか?

ところで捕捉範囲外でも、ロックオンしようとして選択した敵機のラベルを返すのですか? それはそれでBVRミサイルを再現するのに使えそうだと思うのですが。

73電プロ:2011/02/22(火) 23:59:51
>>ジオペリアさん
このあたり、RS4thでいろいろ機能拡張を考えています。

>>JoJoさん、KENさん
「最後にロックした敵」が分かるようにあえて値を保持しています。
ロック解除かどうかは戻り値で判断してください。
書くのが面倒ならばラッパー関数を作ればよいでしょう。
ここで「誰か作ってー!」って叫べば多分誰か作ってくれるはず。
(誰も作らなかったら電プロが作ります)

74JoJo:2011/02/23(水) 01:23:48
>>KENさん、電プロさん
返り値は盲点でした。有難うございます。

76Y1:2011/03/08(火) 14:53:30
RS4でRaidersを「手動で」着陸させるような事は出来ないでしょうか・・・
出来たらかなり拡張性が広がると思うのですが、いかがでしょうか?

77電プロ:2011/03/23(水) 23:52:00
>>76 Y1さん
RS4thでは、というかSpE4では「着陸可能ユニット」が用意されますので、空港も空母も自由自在に作れます。
チョロッと弄ればレースゲームもどきも作れるか?

78Y1:2011/03/27(日) 18:47:59
成程・・・深い

ありがとうございます!

79ホビロン:2011/04/18(月) 08:16:12
RS4thの追加要望です。

1.機銃の弾の差別化
 ガンとビームガンは音が違うだけで特に違いが有りません。
例えば、ガンだとダメージを受け易く、ビームガンだとダメージを
受けにくいといった防御面での調整を可能にして欲しいです。

2.チェーンガンのカスタマイズ
 パイロンに装備する兵装で、ボタン押しっぱなしのとき一定間隔で
射撃、ボタンを離すと撃つのをやめるといった兵装が欲しいです。
 搭載機銃とミサの同時撃ちをやめさせたり、また、空いた
搭載機銃のボタンで何かやったりしてみたいです。

以上です。

80電プロ:2011/04/21(木) 20:58:31
>>79 ホビロンさん
SpE4では両方とも出来るようになるでしょう。
2はちょっと大変そうですが、スクリプトから強制的に武器発射させてフルオート射撃させればほぼ同じ結果が得られるはず。

81KEN:2011/04/21(木) 22:08:56
>>80
しかし、選択中の武装を取得する関数がないので、うまくいかないのでは? ミッション開おめるとか始からボタンを監視しても、イベント中は止めたりとめんどくさいんですよね・・・

82\(^o^)/:2011/04/21(木) 22:31:41
エンジン炎を「EFFY」風なモノに出来ないでしょうか

83濡烏:2011/04/23(土) 00:34:53
命令要望というわけではないのですが、
使用する3Dモデルのテクスチャを複数枚にしてもOKになりませんか?
テクスチャを1枚絵にまとまるのはなかなか手ごわい作業ですので…

84電プロ:2011/04/23(土) 11:30:02
>>81
「SpE4では」両方とも出来るようになります。
構造が根本的に変わって「選択中の武装」という概念がスクリプトに委ねられるので、武器周りの自由度はかなり上がります。

>>82
エンジン炎はユニットごとにXファイルで指定するようにしたので、
モデルを作れば簡単にEFFY風になります。

>>83
複数テクスチャは、ゲームを作る時の管理が大変だなーと思って、
エンジンの簡易化のために1枚になっています。
テクスチャ2枚使用の検証用データ(当たり判定とかバンプマップの妥当性も含めて)もないので、今のところ対応しません。
ワイドディスプレイもXBOX360コントローラもそうですが、検証用の素材があればそのうち対応できると思います。何かあれば送ってください。

ただ、複数テクスチャにすると、バンプマップもスペキュラマップも全部全部増えるので、ゲーム製作において自爆する人が出てくるんじゃないかとちょっと心配です。

85濡烏:2011/04/25(月) 16:24:50
>>84
http://hatsuyume.flop.jp/rsedit/uploda/src/RS_file63.zip
参考までに1種類から3種類までのテクスチャを使ったxファイルをアップしておきました。
検証用の材料として使っていただければと思います。

86電プロ:2011/04/29(金) 11:30:17
>>85
サンプルデータありがとうございました。

できました。
http://hatsuyume.flop.jp/rsedit/uploda/src/RS_file64.jpg

描画エンジン自体は元々(実はRS3の頃から)複数テクスチャに対応していたのですが、
テクスチャを別口で指定するというRaidersSphereEngineの都合上、
マテリアル番号との関連付けが「手作業で一個一個確認しながら」になるので、見送っていました。

作っているときは意識していないでしょうが、頂いたサンプルにはマテリアル情報が8個、テクスチャがそれぞれ独立して8個、
ただし重複分を除くと結果的に3個、というデータ形態になります。

バンプマップなども含めるとパラメータが膨大になるので、
この管理を製作者にやらせるのか否か、という判断になります。
RS3では「リソース管理で苦労させるよりもモデルで苦労させるほうがまだマシ」として1枚テクスチャ縛りにしています。

87KEN:2011/04/30(土) 18:07:44
今のところ「味方」と「敵」の2勢力での戦闘しかできませんが、3勢力の三つ巴の戦闘はできませんか? 通信対戦で乱戦ができるなら、ミッションでもできるといいのですが。

88濡烏:2011/04/30(土) 22:21:39
>>86
サンプルはDOGAで速攻で作ったものなので
マテリアルとかまで意識してませんでした

いつか複数テクスチャに対応するときがくるのかもしれませんが、
しばらくは1枚テクスチャと格闘しようと思います

89tzadyn:2011/06/04(土) 21:06:46
衝突判定を検出する命令って作れますかね。
座標(X, Y, Z)から向き(X, Y, Z)方向、みたいなのを引数にして、
衝突判定までの距離Lを返す、
みたいな。

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(省略可)

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

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

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

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