1行でまとめろ
インフラアドオン作ってる職人ってやべえ
ロープウェイアドオンについて
ちょっと前にリリースした、(自称)超大作アドオンです。
あなたのマップに、リアルなロープウェイ(というかスキーリフト?)を追加するアドオンです。
ちゃんと乗ってくれます。 これを気軽に作り始めたら、思ったより過酷だったって話
何がヤバかったの?
・simutransの描画順
simutransって、レール、架線、信号、車両…と何枚もの画像を重ね合わせて表現しています。具体的にはこんな感じ
下:これより奥タイルのすべて->線路b->信号b->ホームb->架線b-> 架線f->ホームf->信号f->線路f->これより手前タイルのすべて:上 ※fやbはそれぞれfrontimage,backimageを表現
さらに、アドオンの属性によって様々な制約があります。 で、複雑なものを作ろうとすると、こいつらを上手い事利用しないといけなく…
何も考えずに実装、なんなら考えながら実装してもこうなります。
質の悪いことに、テクスチャが完成して、datをダ~ッと書いて、さあ動かそうって段階で発覚するんですよコレ。 絶望です。
・明記されない仕様
そもそもsimutransってこんな凝ったアドオンを作れるような作りじゃないんですよ。 でも、作りたい。というわけで…開発が意図しているか怪しい挙動でも利用します。
例えばこんな時。64ドットx64ドットじゃスペースが足りない。
じゃあ128ドットx128ドットの画像を突っ込もう。 なぜかはみ出てる部分もちゃんと表示されます。しかし、やりすぎると欠けます。
本アドオンでは、だいたいの支柱にこの技が使われています。これ無しでは成り立ちません。
・お節介な仕様
simutrans、お節介焼きでもあります。たとえばコレ。
高架下の建物のテクスチャをわざわざ一部消して表示してくれます。 高架下の建物が高架を貫通する事態を避けたかったものと思われますが…正直やめてほしい。 この手のお節介も、テクスチャが完成して、datをダ~ッと以下略 非常にやる気を削がれます。
・なんで無いんだって仕様
way系アドオンを作った人は、一度は思ったことがあるでしょう。 なんで平坦部分は終端用のテクスチャが用意されてるのに、坂は用意されていないのだ…
当アドオン、支柱がマスの境界に建っている都合上、2マスに分かれて描画されています。 ちゃんと坂に沿って滑車がついている、いちばんのこだわりポイントです。
平地は良いのです。終端テクスチャ使えば1種類のアドオンで奥側と手前側両方を表現できますから。 問題は坂です。坂にはそんな便利なものありません。つまり、どうしても2種類のアドオンで分担して描画しないといけないのです。 おかげで支柱アドオンの数が2倍になりました。
このdatファイル、すべて支柱関連です。1ファイル1アドオンとはいえ、これはちょっと… 超玄人向けになってしまいましたが、これしか方法がなかったのです。ユーザーの皆様、頑張ってください。
・なんで無いんだって仕様2
simutransのアドオン、車両より表に描画されるレイヤーと、車両より奥に描画されるレイヤーがあります。
で、1マスに1本しか入れない鉄道は良いんですよ。1マスに複数台入れる道路や運河が問題なんです。 奥行きの車線と手前行きの車線の間に何か建てようとしたとき、奥の車両に踏まれるor手前の車両を覆い隠すの2択を迫られます。
よって、こんな無茶な実装を要求されてしまいました。
これで、奥を走る車両は支柱の影に隠れ、手前を走る車両は支柱より前に描画されるようになりました。 代償として、車両サイズにかなりの制約が…
centerレイヤー欲しい。
・仕様変更
作ってみてはじめて思い出す仕様は数多くあります。
鉄道扱いで実装したものの、車両間隔詰めれないことが判明して仕様変更…
道路扱いで実装したものの、ビルが建つわ車が爆走するわ通行人が闊歩するわで仕様変更…
対処法を考えたうえで大量のdatを修正するのはなかなかに骨です。
・作業量
インフラ系アドオンは特に作業量が多いです。
軌道、車両、駅、駅舎、信号、その他諸々…モチベとの戦いです。 アドオン制作仲間を見つけておくと良いでしょう。
コピペも多いとはいえ、59ファイルありました。まだ増える見込みです。
・資料集め
マイナーなモノを作ろうとしたときに高確率で直面する問題です。
Twitterとgoogleストリートビューにはお世話になりました。
じゃあなんで作ったのよ
simutransの仕様に文句を言いつつも、やっぱ動いたときの感動はほんと癖になるんですよ。
思い描いた光景にちょっとづつ近づいていく試験マップを眺めるのははんといいものです。
あ~良いわコレ(自画自賛)
みんな作りましょう。応援しますよ?