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

SphereScript言語仕様について

97シャーデンフロイデ:2011/01/01(土) 16:55:22
こんにちは
SphereEngine4に関して質問です。
 現状はミサイルの発射音や、FLACKGUNやチェーンガンの兵装ごとの
効果音は一種類だけしか出力できませんが、SE4では各武器ごとに効果
音を変えることは可能ですか?ユニットIDの違う、チェーンガンの
兵装が違う音を出すといった感じで。
 また、自機以外は機銃とミサイルは1つづつの選択となりますが、プレーヤ側のように複数の兵装を持たせ、距離やロックタイプに応じた
挙動(対空兵装は対空のみ、対地兵装は対地へのみ使用など)は
可能ですか?

98電プロ:2011/01/04(火) 11:10:03
>>97 シャーデンフロイデさん
細かい仕様の部分はまだ決まっていません。
爆装した敵機はきちんと爆撃するようにはしたいと思っていますが、
発射音については発想自体が無かったですね。
面白そうなので出来るように考えておきます。
ただ、何でもかんでも出来ることを増やすとサウンドカードの負荷が超えて音飛びしたりしそうなのが怖いところですが。

Win7のおかげでオンボードグラフィックの性能向上が目覚しいですが、
サウンド性能はここ10年変わっていないような気がするのです。

100JoJo:2011/05/01(日) 23:53:09
お世話になります。
3.5の新関数fog_color(int near, int far, int r, int g, int b)についての質問です。
前半2つの引数int near, int farのデフォルト値(または用法用量)を教えて下さい。
数値に関わらず分割されたマップの輪郭線がはっきり見えてしまう問題(下記SS)に遭遇しています。
http://twitpic.com/4ryijj
宜しくお願いします。

101電プロ:2011/05/02(月) 00:02:44
>>100 JoJoさん
以下を参照してください。
マップ輪郭線の問題は、near/farではなく色(r,g,b)の問題です。

/*----------------------
fog_color(int near, int far, int r, int g, int b);

<引数>
near:フォグの開始距離(晴天時はゼロ)
far:フォグの終了距離(晴天時は1000)
(r,g,b):フォグ色(空の色と合わせる事。0,0,0だと黒になり、255,255,255だと白になる。)

※rに負の値を入力すると、フォグカラーは「現在値」になるので、距離だけ変えたい場合は、
fog_color(near, far, -1, -1, -1);
と記述すると良い。
----------------------*/

102JoJo:2011/05/02(月) 00:49:52
>>101
有難うございます。デフォルト値と用法については了解しました。
では例えば、戦場の照明色を緑にしたい場合には緑の空を用意する必要があり、かつ今のところ差し替え不可能ということですか?

103濡烏:2011/05/11(水) 12:14:44
SphereEngine4についての質問です
1.SpE4では自機の地上歩行や停止などは実現可能になるのでしょうか?
2.ゲーム中でユニットのパラメータやテクスチャを変更することは可能になるでしょうか?
また、その変更を保存できるでしょうか?

104電プロ:2011/05/11(水) 23:27:30
>>102 JoJoさん
空テクスチャはエンジンに組み込まれているので変えられません。
地中トンネルのような閉鎖空間ならば空が見えないのでごまかしが効きますが、上空では無理ですね。

>>103 濡烏さん
回答します。
>1.SpE4では自機の地上歩行や停止などは実現可能になるのでしょうか?
SpE4では「動かない自機」も用意するので、スクリプト側で動作を作れば好きな乗り物になります。各種行列計算や当たり判定計算も用意するので、車両も作れます。
カメラとの位置関係も変えられるので、車を人に変えれば、何の変哲もない兵隊FPSを作ることも出来ます。

2.ゲーム中でユニットのパラメータやテクスチャを変更することは可能になるでしょうか?
出来るようになります。定義データを変更してから再読み込みするとか、別のユニットに変更するとか、いくらでも。
結果を保存するのも、そのようにスクリプトを組めば作れます。

105濡烏:2011/05/12(木) 13:35:31
>>104
返信ありがとうございます
さらに追加で質問なのですが、
1.車両やモビルスーツみたいなのを自機側のみならず
敵ユニットにも同じような動作をするようにできますか?
2.四肢のあるユニットを作成したとして、ゲーム中で四肢を動かすことはできますか?
(モビルスーツがガシャガシャと歩行するモーションなどが実現可能かどうか)

要はモビルスーツ同士の戦闘を作ってみたいんですが・・・

106電プロ:2011/05/12(木) 20:36:42
>>105 濡烏さん
敵の動きもスクリプトで組めば、そのとおりに動きますし、
アニメーションを使えるので、スクリプトと統合して歩かせることも容易です。
ただこの「容易」はプログラマにとっての話であって、そうでない場合かなりの茨の道になるかと思います。

「簡単に俺得ロボットアクションが作りたい」というイメージでの質問であれば「できません」という回答です。

まぁ、「飛行機しか飛ばせない」はずのRSE3.5で戦車造った人がいるくらいですから、1年くらい待ってれば誰かがロボットアクションのスクリプトを作って公開してそうな気はしますw

107アルマロス:2011/05/15(日) 03:28:32
>>106
ロボットアクションについて質問させてください。

1.オブジェクトとの接触について
 現状ではビルや地面に接触すると、当たった角度に
よってダメージを受け弾き飛ばされます。
オブジェクトとの接触時にダメージを受けたり弾かれる
ことが無いようにできますか?

2.地面に立たせた際の挙動について
 橋などのステージ既存オブジェクトや、後から追加したオブジェクト
の上に乗るという挙動は可能ですか?
現状はスクリプト側で高度0まで下方向に移動させるように
すれば地面に立っているようにはできます。しかし、それだと
高度0より高い位置にあるオブジェクトの上に乗ろうとすると
貫通して高度0まで落下してしまいます。

3.被弾時の挙動
 例えばFLAKの弾を受けると機体が左右に傾きますが、
ロボットアクションの場合、常に機体は水平である
必要が有ります。被弾時に機体が左右に傾かない
ようにすることは可能ですか?

108電プロ:2011/05/15(日) 17:54:25
なんかロボットアクションに反応する人多いなw

>>107 アルマロスさん
今のところの構想では、「何もしない」自機を用意しておき、スクリプトで全て、移動・アタリ判定計算・移動制限などを実装する仕組みになります。

飛行機として持っている挙動だけでなく、重力や当たり判定なども全て無効化しますので、全てプログラマが実装してください。
エンジン側は何もしないので、逆に言えばプログラマの好きに作れます。
ロボットとなるとちょっと大変ですが、戦車くらいならば(本職のプログラマならば)1日で実装できそうです。もちろんが壁あたればダメージを受けずに停止するように作れます。

一応、自動車の走行や航空機の離着陸などを想定して、走行可の建物とそうでない建物、というような使い方の出来るフラグは用意するつもりです。
それと、今回はユニットに「重さ」というパラメータが加わるので、自機を重くして、弾を軽くすればダメージだけ受けて自機は動かなくなります。

109FROST:2011/06/10(金) 01:27:47
SpEで行列の計算をするにはどうすればいいのでしょうか。

110FROST:2011/06/10(金) 15:54:13
言葉足らずでした。
行列を扱える型があるのかどうか知りたいのです。また、もしあるなら、そのような型で定義した型同士を足したり掛けたりすると、行列の計算になりますか?

111電プロ:2011/06/11(土) 11:05:27
>>110 FROSTさん
SphereScriptはオブジェクト(C言語でいうと構造体と配列、代数学で言うと行列)が型として使え、線形計算も行われるため、行列の加減算はそのまま書けます。

オブジェクト(行列)の掛け算および割り算は、代数学的な拡張が多すぎるので、サポートしていません。必要に応じて関数を自作して、内部で要素ごとの計算により逆行列・内積・外積などを実現してください。

DirectXのDXライブラリで言う、D3DXVECTOR3及びD3DXMATRIX型に相当する標準の行列及び各種計算関数はSpE4で提供される予定です。


行列という単語が出てくるということは、恐らくアフィン変換をやろうとしているのだと思いますが、SpE4ではあんまり『行列』って意識をしないでも必要十分な座標計算ができるようなライブラリを用意します。
例えば、
・ユニットから見た、ある絶対空間ベクトルの相対空間ベクトルを得る関数
・ユニットから見た、ある相対空間ベクトルの絶対空間ベクトルを得る関数(↑の逆関数)
・自機の上下、前後、左右に相当する絶対空間上の単位ベクトルを得る関数
・オイラー角表現からその方向の単位ベクトルを得る関数
・単位ベクトル表現からその方向のオイラー角を得る関数
などなど。

112FROST:2011/06/11(土) 12:12:18
 なるほど、加減算はできても掛け算はできないんですか。回転行列を何回か使うので行列の掛け算ができたら楽だったんですが… 行列の掛け算は無理やり何とかしようと思います。
 自機の上下、前後、左右に相当する絶対空間上の単位ベクトルを得る関数は是非欲しいですね。

113アルマロス:2011/07/06(水) 23:53:08
こんばんは

get_pad_nowに関してです。
 現状は加減速やヨーの入力に対応していませんが、
次期では対応するものと考えて良いですか?
 また、PSのアナログパッドのR3スティック
(右側のアナログ方向キー)の入力を読み取る
ことは可能ですか?
視点切り替えなどに使えるものなら使ってみたいです。

114電プロ:2011/07/09(土) 09:41:24
>113 アルマロスさん
加減速やヨーは「軸」なので、get_pad_analogで取得できます。

get_pad_analog("PAD_ROLL");
get_pad_analog("PAD_PITCH");
get_pad_analog("PAD_THROTTLE");
get_pad_analog("PAD_YAW");

115アルマロス:2011/07/18(月) 08:47:40
<<114 電プロさん

上記114の加速やヨーの読み取りに関してです。

リファレンスが無いので使い方の確認です。
get_pad_analog("PAD_THROTTLE")>0;//加速ボタン押下
こうですか?分かりません。

また、ストール中など加減速やヨーが自由に出来ない
状態でもパッドを押下した事自体は読み取られますか?


次期verについて質問です。
1.ロックオンが発生する範囲
 ロックオンカーソルが発生する範囲が
知りたいです。ミサイルの射程に敵がいる場合、
画面の中心からみてどの位置にいる敵にロック
が発生しますか?
 また、ロックオンが発生する上下左右の範囲を
任意で設定はできますか?


2.兵装の装填数
 任意の数値を設定することは可能ですか?
機体の搭載量と兵装のリロード時間とパイロン
で割り出されているようですが、任意の装填数
を設定したいです?
 機体や兵装の設定を変えた際、出撃しないと装填
数が分からないのでバランスをとるのが非常に
手間がかかります。

116ジオペリア:2011/07/20(水) 23:54:17
こんばんは、早速質問があるのですが、今更こんな事いうのもアレですがSphereEngine4のエディターで旧スクリプト(RS2ndで使ってたやつ)は使えるのですか?

117電プロ:2011/07/21(木) 21:54:27
アルマロスさん

>get_pad_analog("PAD_THROTTLE")>0;//加速ボタン押下
>こうですか?
そのとおりです。

失速中でも、スロットル値は入力どおりに読み取れたはずです。

>1.ロックオンが発生する範囲
このアイディアはなかったのですが、変えられると面白そうなので、一応変えられるようにするつもりです。
敵の対空砲や地対空ミサイルなどは既に射撃範囲をパラメータ化できているので、それに順ずる形で航空機のロックオン範囲も設定できるようにします。

>2.兵装の装填数
RS2nd/RS3rdと、この仕様のおかげでゲームバランス調整が容易になっているという実績が有るので、
リロード時間で自動計算させるという基本仕様は今回も変えません。

ただしこれも例によって、スクリプト側で変えられるようにはなっているので、
自分で作るなり、誰かに頼むなり、もしくは電プロに頼むなりして、
任意の武装数に設定できる仕様を作ればそのとおりになります。
例えば『原作と同じバランス(キャラ設定や見た目など?)にしたい』という意味でのバランス調整であれば、
搭載量を即値指定するほうがやりやすいのは確かなので。


ジオペリアさん
旧スクリプトは使えません。
ちなみに、現状の新スクリプトについてもライブラリが完全に入れ替わるので
RSE3.5のゲームをSpE4に持ってくるには、かなり本格的な「移植作業」が必要となります。

118<削除>:<削除>
<削除>


新着レスの表示


名前: E-mail(省略可)

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

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

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

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