競合についての見解
簡易競合対策について
ページの中段くらいに書かれています。
サイトAで配布されているスクリプト素材と
サイトBで配布されているスクリプト素材を
一緒に使ったらバグが出てきた!
というのが競合ですね、一応復習で。
(ちなみに、同一サイト内のスクリプト素材を
2つ使った時に出たバグは明記されてなければ
製作者さんに問題あるので言った方が
いいかとは思いますが。…自分のもあったりして…)
基本的にはサポート外としながらも
過去、結構な数の相談を受けています。
とは言ったものの、正直に言ってしまうと、
競合対策は
大変なボランティア
になるケースが多いので
実はあんまりやりたくないです。
ただ、せっかく苦労して作った素材なので
使って欲しい
という気もする
ので
極端に難しいモノでなければ
言ってみたら案外やるかもしれません。
…で、この競合ってヤツが厄介な理由は
別々の製作者が作っているので
作者としての責任が『どちらにある』
と言えない点です。
何故かと言うと、広い意味で競合を想定して
作られたわけではないからです。
現在、ネット上には無数のスクリプト素材が
存在しています。競合に配慮した素材もあれば
極めて競合しやすい素材も多々あります。
それら全てに配慮した素材を
1人の製作者が作るというのは
まず不可能です。
(断言できます。誰がやっても無理です絶対。
素材として配布するわけではないのなら
いくらでもやり方あるんですけどね)
ただ、使用者さん側にも言い分はあるでしょう。
「あれも使いたいけどこれも使いたい」的な。
…あまりにも入れすぎている場合は
「それ、ホントに必要?」って聞きたくなる時も
正直ありますが、仕方のない部分もありますしね。
1番いいのは自分で勉強して
自分で競合対策することなんですが、
まぁそうは言っても向き不向きもありますし
(個人的には絶対グラフィック系統より簡単だと思いますけど)
簡単な対処方法を紹介。
○導入順序の入れ替え
これが意外とハマる事が多いんですよね。
スクリプトエディタのどのセクションに
どの素材を入れるかによって
ゲームの挙動が変化する事があります。
(セクション…マニュアルのP.60よ!)
上から
スクリプトA
スクリプトB
スクリプトC
の順に導入していてうまくいかない場合、
スクリプトC
スクリプトA
スクリプトB
とか、順番を入れ替えると
正しく動作する事があります。
ただし、スクリプトがもっとたくさんある場合は
バックアップを取ってから
やらないと余計に
おかしくなる事がある
のでくれぐれもご注意ください。
何かあって困ってもオニーチャン知らないよ!
○『再定義』の素材の導入箇所の注意点
read me などに再定義
と書かれている場合は
導入箇所に注意が必要です。
(書いてない場合もありそうですけど)
一般的に『再定義』と呼ばれる素材は
デフォルトに存在している処理を改変して
全く別の処理に変えてしまう手法です。
技術的な話をするとスクリプト素材は90%以上が
再定義と推測できますが、alias
という制御文を使えば
ある程度の競合対策はできます。
alias
を検索してもヒットしない素材は競合しやすそうです。
で、この『再定義』を導入したい時は
どうすればいいのかと言うと、
とにかく
▼素材
というセクションの
すぐ下に導入した方がいいです。
構図としては↓こんな感じがいいです。
デフォルトのスクリプト
(▼素材 より上)
『再定義』のスクリプト (▼素材 のすぐ下)
alias を用いたスクリプト (▼メイン
のすぐ上)
まぁ、素材によっても色々違うんで
結局はやってみないとわからない
って事になっちゃうんですがね。
また、ウサギマスク製作のスクリプトは
『動作スクリプト1』とか『動作スクリプト2』とかで
分けてある場合が多いです。
何故分けてあるかと言うと、
同一素材でも競合しやすい部分と
競合の恐れの少ない部分があるからです。
うまく動かない場合は色々位置を変更してください。
(※『動作スクリプト1』と『動作スクリプト2』があっても
導入箇所さえ違ってなくて
根本的な競合が発生していなければ
離れたセクションに導入しても問題ありません。
ちなみに、“危”と書いてあるモノに関しては
説明書に特別な記載がなければ大抵の場合
下の方のセクションに入れた方が
競合する確率が下がります…多分)
まぁ、そんなこんなで長々と書きましたが、
ポイントとしては3つでしょう。
○極力同一サイトの素材を使用する
○競合した場合は導入箇所をいじってみる
○本当に必要な機能なのかじっくり考える
ではでは、スクリプト素材の用量用法を守って
正しくお使いいただいた上で
ゲーム製作を頑張ってくださいまし。
素材ページへ
トップへ戻る