2013年9月23日月曜日

ヴィークルスクリプトについて(下書きそのままぶちこみ版)

tipsというかメモ書きレベルのお話

うちのスクリプト組んだ時の内容だからこのセオリーがそのまま全部使えるわけではないので
そこだけ注意

・DTCARは機能だけを参考にする
 機能的にはあれがかなり優秀なので

 pgupとpgdnでギアコントロール
 左右キーにハンドル
 前加速 後は減速と後退

 同時押しで飛行モードとかは入れるなよw

・ベーススクリプトはAelonPerkinsのRealisticCarかTerraのDIY Planeを使う
 シンプルでロジック構造にそこまで癖がないのでおすすめ

 ちなみにArlonの基礎パラメーターそのまんま使ってもほぼ問題ない

 修正すべきバグはいくつか存在するが
 そのままだとタイヤ制御周りがステアリング反応速度のボトルネックになるのと
 後進中のステアリングがぶっ壊れてるのと
 コーナリング中にブレーキングしようとすると強制カウンターステアで死ぬので
 その辺は最優先で解決する必要がある

 一番確実なのは”前進中に後キー”押された時を検出して
 その時だけはブレーキングモードにする処理系と

 タイヤ制御をコントロールイベント内部では状態フラグだけ書き換えて
 タイマーイベントでフラグ書き換わり時のみ実際の処理を行うようにする

 どうせブレーキランプとかバックランプも連動させるんだから
 状態フラグはinteger型のビットマスクに全部ぶちこんて
 messagelinkedで一括送信する仕組みにしとけ捗るぞ

・もう全部のタイヤと座席にスクリプト入れるとかするな
 ただし完全シングルスクリプトなんてもんはタダの自己満足だ

 そこ気をつけるだけで普段使いのユーザビリティーが400%くらい向上する
 あえて完全シングルスクリプトにしない理由は
 複数タイマー制御する処理とかイベントスタックとかを考慮すると
 完全シングルにするより ある程度処理系カテゴリーで分けたほうがトータルでは軽い

 といっても3~5枚程度に入るようにはしとけ

・やばいとおもった時に安全に停止出来る事が全てに優先する
 人間やばいと思った時ほど普段の癖で操作してしまう
 前後や左右の同時押しで特殊機能が発動するタイプのスクリプトは
 安全性が最優先の場合 問 題 外

 それでもそういう機能を入れたいってならデフォルトはONでも全くないから
 ”オフ出来る”ようにしとけ そんだけで随分評価が変わる

・フィーリングで迷ったら演出上はもっさりにしとけ
 イベントスタックしまくって入力反応がちょー遅いとかそういうのは問題外だが
 アクセルめいいっぱい踏み込んでももっさり加速しかしないとか
 ハンドル切れ角がMAXになるまでに時間がかかる 程度なら
 個々の車両の特性なのでドライバーがなんとかする



どうせ後で追記するだろうからとりあえずこの辺にしとく

以上