2022年12月20日火曜日

シミュトランスパッチ制作講座:索引

(´・ω・`)らんらんと一緒にSimutransで学ぶC++

ミジンコ向け、ゲーム改造しながらC++覚えよ?
(´・ω・`)げーむ改造オモロー
~ごめんね、まだ準備中なの(´・ω・`)~

基礎篇



パッチ制作実例 



パッチ関連 

備忘録:シミュトランスからジムトランスへバックポートできそうなUI機能

 


ソースコード解説



フォーラム関連




バグ報告しませう(´・ω・`)

パッチ制作に興味あるニンゲンは3%くらいしか居ないみたいでした(´・ω・`)
プログラミングは向き不向きあるし、やってみたいと思った人がやればいいと思う。
けれど、バグ報告は誰でもできます
だからバグ見つけたら積極的に報告して欲しいっていうのを前回話しました。
でも、ちゃんとしたバグ報告じゃないと逆に開発の邪魔になる場合があるので、それについて書きます。


この定食の主要成分

  • バグのないプログラムなんてない。誰でもミスはする。そもそも開発者はほとんどがアマチュア
  • バグ報告する人少なすぎ問題
  • バグ放置しても損するのはプレイヤー全員
  • ちゃんとしてないバグ報告はむしろ迷惑になる
  • それ本当にバグ?(誤報をなるべく避ける)
  • バグ報告は必要情報をしっかり書く

バグ報告の必要性

らんらんがシミュトランス始めたのは2018年の春で
当時のシミュトランスは本当にバグステンデッドだった(´・ω・`)

ダイアログ開くとクラッシュ、
電柱撤去するとクラッシュ
って具合に、不意打ちクラッシュで数十分の作業がパーになったりとか日常茶飯事

(´・ω・`)くそげ

そういうバグって開発元に報告するべきだよねって
そうすれば別のらんらんが数時間無駄にするが防げるのだし。

バグって単純なミスかプログラム作った人の想定外の事態が起こって発生する場合が多くて、
単純なミスって自分じゃ気が付きにくいわけじゃないですか。

前回言った通り開発の人達はアマチュアなので、助け合いで25年間続いてこれたわけ。
開発の人達は頑張ってメンテナンスしてきてるわけだけど、一般的にバグのないプログラムなんて無いって言われてます。
ましてアマチュア達がの趣味でやってるんだからね。

Simutransはまだバージョンアップ続いてるわけじゃないですか。
機能追加されるってことは新しいバグが増えてる可能性がある、というよりほぼ間違いなく増えます(´・ω・`)
それで開発の主要メンバー減ってるって前回らんらんが言ったんだけど、
泥版対応の時見てて思ったんだけど、やっぱ人減った影響大きくって
ジムトランスからシミュトランスに変更取り込んだら、うーんこれバグではってのいくつもありました(´・ω・`)
人減ったぶん、バグの洗い出しが遅かったり、漏らしたりが増えたんじゃないかなって。

それでバグ見つけるの大変で、偶然気が付いた人が報告するのが手っ取り早いところあるんです。
単純なミスでも他人なら気が付くことが多いし、
想定外のパターンだって、偶然誰かがそういう想定してないパターン発見してしまうことの方が多いわけ。
だから見つけたらその人が報告するって流れがあると、それによって多くの人が助かるんだよね。

らんらんはバグ報告は開発への投げ銭みたいなものだと思ってる。
その投資でSimutransは良くなるんだからね。バグ見つけたら投げ銭チャンスよ。

バグの事例

1.
Simutransって1タイルの中に最大255のオブジェクトしか配置できないんだけれど、
船とか飛行機とか一杯同じタイルに入れるじゃないですか。
それで偶然255以上入ってしまった時に、なんかバグが発生するとかいうのも、2年か3年くらい前にあったみたい。
そんなのも23年とか経って今さら見つかったりするわけ。

「お前がこのバグを発生させた一番乗りだ。おめでとう」

尊師がバグ報告した人にそう言ってたのが印象的で覚えてるんだよね。
もちろん報告したニンゲンは海外のニンゲンだったね。
日本はまた1番になれませんでした(´・ω・`)
また次頑張ろ?

2.
ジムトランスのバグをそのままシミュトランスにらんらんが取り込んだおかげで、バグ発生から10ヶ月ほど遅れてようやくらんらんもこのバグの存在に気が付いたのだけど

***.ja.tab読み込めるようにした際にja.***.tabが読み込めなくなった

っていうバグがジムトランスの123.0.1で発生してました。これ仕様じゃなくてバグね(´・ω・`)
それでggって見るとね、これをwikiやブログで仕様だと拡散してるニンゲンたちが居たみたい。

(´・ω・`)ちょっと待って。普通に考えてこれまでの互換性を棄ててそんな仕様にするってのは考えられないよ

尊師はそんな酷いことする人じゃありません!

そうだとしても文句くらい言いに行っていいのよ?遺憾砲も発射しなくなったらこの国は終わりよ

これで分かる通りね、みんなバグにちゃんと気付いてるのよ。報告しないと損するの自分達だよ?
それで投げ銭チャンスもらんらんに奪われました。
また次頑張ろ?


バグをバグと見分けられないようじゃただのクレーマーになるかもしれない

日本の有料ゲームの公式掲示板とか超カオスで開発の人も大変だなと思うのだけど、
営利目的でゲーム運営してるとこは、仕事でおちん○ん貰ってる担当のモデレータとか居るのに対して、
何回も言うけど、Simutransは有志が無料で対応してるのを思い出して?
わざわざ時間を割いて対応してくれてるのに、バグじゃない報告にも対応しないといけないと、ただの時間の浪費になって、そんなことばっかりだったら開発の人のやる気も下がっちゃうよ。

意外とちゃんとした報告ができてない人って多いので。
具体的に言うと、内容がこんな感じになってるも同然のバグ報告結構あるよ(´・ω・`)

(1) 開発ちゃんさぁ、バグ見つけちゃったんだけど知りたい~?(チラッチラッ

(2) よく分からないけどこんな感じのバグあるよ。どうやったか分からないけど。

(3) めちゃくちゃな設定にしたらバグった(笑)

(4) 俺っちこれ絶対バグだと思うんだけどー?(仕様です)


どういうことって言うと、

(1) 最初から全部書いておいてって思うやつ(´・ω・`)
 最初に全然必要なこと書いてなくて、これだけ言われても何もできないよって。
 この場合、開発側から質問し返して、やり取りが何回も発生することになるんだけど
 最初から必要なこと全部書いておけば、2レスで済む話だったり。

 英語でのやり取りって超面倒でしょ?らんらんも英語大嫌いだし。
 そういうやり取りを回避するためにも最初にしっかりした報告しておいたほうが、両者が得なんだよね。


(2) 曖昧な情報は開発者を混乱させるだけ。基本相手にされません。
 開発者の誰も、本当かどうか分からない事にわざわざ時間割いて徒労になりたくないし。
 ここで言いたいのは、バグを確実に再現できる方法を提示しましょうってこと。

(3) 挙動がおかしいぞって言うから、やりとりをしていくうちに変なとこ弄ってましたってパターン結構見ました。 
 そういう人に限って、そういう設定弄ったってことを最初に言わないんだよね(´・ω・`)
 それ判明しただけまだマシで、無駄な事に延々付きあったりってこともあります。
 心当たりがあることは最初から全部話して?

(4) これは超ありがちで仕方ない部分もあるのだけど、Simutransって設定とか仕様とか複雑で
 把握しきれてない内容多いと思うんで、バグだって主張できる根拠をちゃんと見つけましょう。

 例えばバグ事例の2番ね。ja.tabバグ。

 update historyに英語で

CHG: lang files are loaded if their name is *XX.tab or XX*.tab. The first is preferred to avoid confusion by name like ja-taken.tab

 って書いてあるのよ。
 この記述だとどっちでも翻訳できるよって言ってるんだよね、新しいフォーマットを優先するって言ってるだけで。

 みんな開発の人達を信頼しすぎてる部分あると思う。機能追加とバグ修正の繰り返しで開発は進んでて、
 さっきも言ったけど開発者減ってるからバグ発見と修正が弱くなってる部分あると思う。
 だからこういう"これはバグだ"っていう根拠が見つかったら、それを大義名分にして乗り込んでって、
 Simutrans貢献度ポインヨなり尊師の親愛度ポイントを稼いでください。


  あと先日、simutrans wikiに載ってる信号の画像の定義の説明がおかしいと言ってるニンゲンが居て、
 「コード見たらすぐに分かると思いますが?」なんて言ってきた人が居たけれど
 実機の動作が正解だからね?
 コード見ただけですぐ分かって、しかもそれが確実ってのなら、バグ作る人なんて最初から居ません。
 ましてニンゲンは間違える生き物なんだから。
 ちゃんと確認して、根拠に基づいてバグって言わないと、ただのクレーマーになります。
 ずっと昔から書かれてることを疑うんだから、それなりの根拠に基づいて言ってると思ったので、
 らんらんも色々調べてから、えっ正しいんだけど?(´・ω・`)って言ってるわけで、
 最初からちゃんと確認してくれてれば、らんらんもそのこと確認するのに無駄な時間使ってないわけですよ。
 (´・ω・`)はあまじ


バグ報告の前に 

・最新版本体でチェックして、そのバグ解決されてないか確認して?

⇒ナイトリー版では対応済みかもしれないよ。

・同じバグが報告がされてないか、簡単にチェックして?
⇒スレッド乱立は迷惑です
シミュトランスはバグが山積みになってるけど2ページ分くらいは軽くタイトルをチェックして欲しい

・もし報告済みのスレッドがあったら、確認して補足できる情報があったら追加報告して?


バグ報告の書き方 

ウィンドウのここの表示がおかしい、みたいな一目で分かるバグは説明だけで問題ないよ。
ちょっと分かりにくいのはスクショ貼った方が、英語で説明する手間も省略できるよ。

ゲーム内動作についてのバグは、

(1) 確実なバグの再現手順を明記する
バグを発見したらセーブして似たような操作をやってみて、それが再現できるか確かめてみる。
適当にバニラのpakset使って新規マップで同じ操作して確認するのがベター。
これで再現できると確実な再現性がある。

バグが再現できるようならセーブをロードして再度やってみる
シミュトランスでバニラの場合、それで再現できるならsveファイルを提出

新しいマップやpaksetがdemo.sveを持ってる場合はそれを使って
バグを引き起こせる手順を実行してみて、バグが再現できるならその手順を書く。


(2) またはそれを確認できるセーブを提出する
基本的にシミュトランスはバニラでプレイすることを前提としているので、セーブ提出が手っ取り早い。
クラッシュじゃなければバグってる時にとりあえずセーブする。
クラッシュするバグはその直前でセーブ。その後のクラッシュを起こすまでの手順を書く。


それでバグ報告って英語でやらなきゃいけないんだよね。
日本語のフォーラムもあるみたいなんだけど、見て分かる通り既に廃墟で開発者は見てません
投稿するだけ無駄よー。代わりにそこから報告拾って持って行け?
そのバグのこと一番知ってる見つけた本人じゃないと質問来たら返信できないよ?だから自分でやってね。

日本の英語教育って最低なので、そのせいでみんならんらんみたいに英語が嫌いだと思う。
一応それについての説明も別の記事に書いておいたので、バグ投稿の際の参考にしてね。


(´・ω・`)See you next dish!

フォーラム投稿のための日英翻訳のお話(´・ω・`)

パッチ投稿もバグ報告も直接simutrans forumにしてもらうのが、もっとも貢献度が高く効率もいいので
そういう貢献者が増えて欲しいので日本語の英訳について話すね。


この定食の主要成分

  • 日本語を機械翻訳させるコツ
  • 欠けてる単語を補え
  • 外国人風日本語を翻訳させる
  • 長文にしないで細かく分ける
  • DeepLとGoogle翻訳どっちがいい?
  • あなたは何語を喋りますか?になんて答える?



(´・ω・`)次の2つの日本語どっちが自然だと思う?

  1. 今日映画行かない?
  2. 今日私と一緒に映画を見に行きませんか?
外国人が喋る日本語ってだいたい2番になると思うの。
でも文法的に全然間違ってないわけじゃない。
これくらいネイティブとネイティブじゃない人って差があると思うの、英語側でも。
ネイティブレベルの英語なんて求めてないのだけど、上の例文で言いたいのは、
日本語と英語は違い過ぎで、日本語って色々省かれ過ぎてるってことね。
それでも通じる高度な意思疎通技使ってる変態語と変態謎生物が日本語と日本人だと思います(´・ω・`)

つまり、そのままの日本語を翻訳にかけると、色々情報足りなすぎて酷い英訳になるのよ。
「誰」と「誰が」、「何をしに」とか情報欠けちゃってるのよ。
よく言われるの主語が無いってやつね。主語ないと勝手に私達とかって勝手に訳して主語大きくしてくれたり
でもそれ以外にも一杯欠けてること多いよ。察してってやつね。
だから外国人が喋る日本語みたいなの作って翻訳機にかけるとそれっぽい英語になると思います。
外国人が喋る日本語ってのは、英語の教科書の文章を単語1個1個直訳してパズルみたいに組み替えた文章、みんな作らなかった?そういうのね。

らんらんが言いたいのは、その前に外国人みたいな日本語文章作って翻訳機かけた方がいいよってこと。
主語を必ず入れるとか、一回出た単語は「それ」とか「あれ」にして翻訳機かけるとか。複数形意識して複数らな「それら」とか「あれら」にするとか。
翻訳した英文を再度翻訳しろってアドバイスする人は多いと思うけど、もちろんそれもやってね。
ただしこの確認方法は単語の間違いに弱いよ。でもジャングリッシュ使いほとんど同じ間違いするので察してくれると思う。

日本語完璧やん?ってレベルの某マルチリンガルyoutuberが日英機械翻訳の信頼度30%くらいって言ってたんだよね。独⇔英なら95%くらいとも。そりゃ同じ言語系だからね。数年前の話だけど。
日常会話ならかなり使えるレベルになってきているんだろうけど、
フォーラムのやり取りって専門用語も多くて、割とフォーマルで全然日常会話じゃないんだよね。だから訳す前の日本語が長文になりがち。
長い文章にしないで細かく文区切ったほうがいいよ。
逆翻訳してたら分かるんだけど長文訳させると、関係性みたいなのが崩壊してること多くて、翻訳機に依存してるような平均的ジャングリッシュ力だと、日英翻訳はうまくいったけど英日翻訳が悪いってパターンなのかどうかもよく分からないと思う(´・ω・`)
だから細かく短い文章が全部正しいってのを目指した方がいいと思います。


DeepL vs Google translate

無料の自動翻訳でだいたいこの2つの候補が挙がってくるよね。
あくまでフォーラムに書く目的で使用した場合の、らんらんの感想書いておきます。

ずっと使ってて時々バージョンアップされたりでその都度使用感変わってきてたりするので、今はこうだけどって感じね。
基本的にはどっちも大差ないと思うのだけど、
DeepLのほうがいい感じの文章作ることもあれば、
Google translateのほうがいい文章作ることもあると感じてる。
らんらんも義務教育レベルのジャングリッシュ力しか無いので注意してね。

DeepLは複数の翻訳候補を提示してくれるけど、
義務教育レベルのジャングリッシュ力だと、はっきし言ってどの選択肢がベストかなんて分からないよね(´・ω・`)

それとDeepLはものすごい口語っぽい訳をちょくちょく返してくる気がする(´・ω・`)
訳させてる文章の問題もあるのかもしれないけれどね。
フォーラムは一応フォーマルな場所なんで、だかららんらんはGoogle translate派です。
ちょっと上手い翻訳にならないなぁって時にDeepLも使ってる。

ちなみに上に出した例文の1.を翻訳にかけてみて?
らんらん的にはどっちの翻訳も意味変わってるからハズレだなって(´・ω・`)
だから上で言ったように外国人風日本語を投げたほうが上手くいくこと多いと思うよ。

あとらんらんは翻訳機に七色変化球しか投げないので、普通にやってああなってるって思わないでね(´・ω・`)


使用言語表記について

フォーラムに登録する時に自分が喋れる言語を書く欄があるのだけど、
ニッポンジンもどきみたいなニンゲンが一杯居るんだよね(´・ω・`)

あなた何語喋れる?
What language do you speak?

に対する答えは
  1. Japan
  2. Japanese
どちらが正解?
1.の私は日本国喋りますなら、Japanの略の2文字国コードは JP で、
2.の私は日本語喋りますなら、Japaneseの略の言語コードは ja なのよ。

en-USとかja-JPみたいな表記みたことない?これ言語-国の組み合わせなのよね。
フォーラムの下の方にある日本語掲示板へのリンクも"JA"になってるでしょ。
Simutransの日本語翻訳ファイルって ja.tab でしょ。jp.tabじゃなくて。
(大文字小文字の違いはどうでもいいと思う)

尊師やフォーラムにも割と居るotakuとかの日本文化大好きでちょっと日本語齧りましたみたいな外国人が間違えるのはいいのよ。
フォーラム見ててもね、やっぱちゃんとしたニッポンジンはみんな間違ってないのよ。特に隠居勢とか。

間違ってる人を見て真似しちゃう可能性もあるのでこの機会に併せて書いておくことにしました。
これからのグローバルな社会を生きていく日本国のニンゲンなら自分の国のことは間違えないで?

(´・ω・`)日本万歳

Simutrans Extended開発の現状 (1食目)

ジムトランス開発の現状は前の記事で書いた通りだけど、
らんらんはジムトランス派ではなくシミュトランス派なのでこっちがメインになるし
むしろこっちのほうが詳しく語れるし、
シミュトランスにパッチ投稿したいって変態さんがもし居るなら、色々知っておいたほうがいいと思うので書きます。

この定食の主要成分

  • シミュトランスはじぇーむ寿司(店長)の個人プロジェクト
  • シミュトランス開発のここ数年の様子
  • シミュトランス開発もまた衰退しました
  • 店長がシミュトランスのソースコードの全てを理解しているわけじゃない
  • らんらんから見たP(店長)の人物像
  • 店長はきまぐれで放浪癖があるのですぐ失踪します
  • シミュトランスのプロジェクトは個人の趣味の1つにしか過ぎない
  • 日本的な対応を海外勢に求めない
  • 焦らないで?

はっきし言ってこっちもジムトランス同様に似たような状況(´・ω・`)
それとパッチ作る人はジムトランスとシミュトランスでは開発方針が違うということを念頭に置いておいて?
内容の話じゃなくて開発の進め方ね。この点についてはまた別の講義で話すね。

ジムトランスは開発25周年だけど、シミュトランスも2009年だかからスタートしてるので既に13年目。
こっちも正直すごいよね。

ジムトランスは一応複数の開発者が居て、常時それなりに開発が進んでいくんだけど
シミュトランスはPのじぇーむ寿司のみのプロジェクトなので、じぇーむ寿司個人に完全に依存している
(敢えて一般的日本人感覚でPって表現にしてるけど、正確に言えばcoordinaterという立ち位置)

それでらんらんがシミュトランスを始めて初めてパン屋を訪れた2018年春頃は
店長とリーダーさんとドイツ本部との兼務の2人が居るっていうような状態だった。
時々来るバイト君みたいなのを除くと、メイン2人、サポート2人みたいな状態でお店まわしてるような感じ。

2018年以前のことはほとんど知らなかったのだけど、コード見てると
過去には今ぱっと思いつくが限り2人ほどパン職人が居たようだけど、らんらんが来た頃にはもう居なかった(´・ω・`)
らんらんはジムトランスとシミュトランスの差の大半が店長によるものだっていう誤解をしていたけど
意外と別の職人達の仕事だったっていうのは、シミュトランスのコード触ってるうちに次第に分かってきました。
シミュトランスに貢献したい場合、店長がシミュトランスのコードを完全に理解しているわけじゃないってこと覚えておいて?
結局ね、基本的にパッチ作るのは自分の力だけなんとかしないといけないのを心に留めておいて(´・ω・`)

2022年まで

時々バイト君みたいのが入って抜けてはしてを繰り返し色々変わっていきつつ
ジミュトランスと一緒でメインの人達は次第に居なくなっていった(´・ω・`)
リーダーさんはさすがクラシックの本場西洋とも言うべきか音楽の道へ進むために休職した。
ドイツ本部と兼務の2人も自然に(?)居なくなっていき、時々ジムトランスと兼務でメンテナンスしてくれる別の人が新しく来たっていう状態。
らんらん的には定期メンテナンスしてくれてたAC部氏が居なくなったのは痛手。
オーストラリアの情報系大学生のフレッド氏も途中から参加して、コーディングスキルが未熟ならんらんは彼に何度も助けられたのだけど、忙しくなったみたいでお店に来なくなりました。
最近だと橋脚関連のパッチ作ったPJマクド氏もリアルが忙しくなったみたいでこの人も居なくなりました。
それで結局シミュトランスも店長1人しか居ない状態になりました(´・ω・`)
そして店長は絶賛放浪中です(´・ω・`)

でも、らんらんはよく知らないけどらんらんがシミュトランス始める1年か2年くらい前(2016年くらい?)は完全に音信不通で、完全停止状態だったみたいなのよね。
今は一応1~2か月に一度くらいは戻ってくるので。
なんとなく聞いた感じだと模型小屋を建てたりしていたみたい?
とは言え、開発に参加してる人がその間ちゃんと待っててくれてたってところが今とは違うんだよね。


もちろんシミュトランスを活性化するにはパクぶりてん以外のパクセの存在もやっぱり重要なんだけど、
本体付属のスウェーデンは未完成で、上で言った通り作ってた人は音楽の道へ行って居なくなったのでこれ以上進むことはないだろうし、
パク256アメリカというのを作ってた人も完成する前に失踪したし、
256や128チェコスロバキアの移植、192コミックの移植なんかも中途半端に終わってしまっていて
結局尊師が度々仰るように、シミュトランスはパクぶりてんのための支店から抜け出せてない(´・ω・`)

そんな感じでジミュトランスと同じように衰退しました。

(´・ω・`)ていうかジムトランスよりだいぶやばない?


P(店長)の人物像

だかららんらんもこっちのほうに人増えて欲しいので、敢えて書いておくけど
さっきも言った通りシミュトランスの開発は、Pのじぇーむ寿司に完全に依存しているので
どういう人か的なこと知っておかないとまずいのでちゃんと聞いて?

じぇーむ寿司は多趣味で超気まぐれなので、
模型小屋を作ると言って1年以上居なくなったり
今年は熱い(パソコン部屋にクーラーが無い)って言って夏の間居なくなったり、
レイアウト制作に熱中して半年居なくなったり をよくします!

レイアウトの様子とかはfacebookとか動画投稿サイトに上がってると思います。

年末年始はパクセ開発のための期間だから、その間はコーディングはしないとかPなりのルールもあるみたい。
そんな具合でベーカリーじぇーむ寿司はしょっちゅう臨時休業する。

(´・ω・`)また休業?そんなー

けれど集中している時にだけは怒涛の勢いで一気にやってしまうみたいな人だったりする。
確かにその方が効率的だったりするんでしょうね。
逆に言えば別のことに集中している時は、シミュトランスの開発は全く進まないってことを予め理解しておかないといけないと気が保たないよ(´・ω・`)

あのバカデカい模型小屋を見たら、あっちの趣味がメインでシミュトランスはもっと下の位置づけなんだろうなーっての分かるよね。
前も言ったけれどフリーゲーム開発なんて、みんな趣味で開発に参加しているなので
自分の都合を相手に押し付けないことが重要。

さすがにフォーラムの信者達もじぇーむ寿司の気まぐれさは群を抜いてると感じてはいるみたいだけど。
去年くらいにじぇーむ寿司が長期休業状態だった期間に、一部の信者達が騒ぎだして自分たちでシミュトランスのプロジェクト進められるようにとかやってるようでした。
乗っ取りを図っているようにも見えたけど失敗に終わったと思います。だって結局コーディングする人他に居なかったら意味ないよね(´・ω・`)
らんらんは特に気にすることもなくお店に荷物積み上げてました。
パッチ投稿はプルリクエスト投げておげば戻ってきた時に気づいてくれるんで、まず大丈夫なんだけど。
けど質問とかは返ってこない可能性あるんだよね。居なくなったリーダーさんのコーディングに必要な質問に対しても1年以上経った今でも放置されてたり(´・ω・`)

そんな具合でコツコツ型の尊師とは対称的な方なので、シミュトランスにパッチを投稿する際には注意してね。
日本から見れば海外のニンゲンは自由気ままにやってるように見えたりすることあるあるだけど、あっちのニンゲンにとってそれが割と普通なの。

ましてあなた達は製品を買ったお客さんじゃないのよ?

すぐ返事するの当たり前だろみたいな感覚でフォーラムで失礼な行動を取る日本のニンゲンをこれまで何人も見てるんだよね(´・ω・`)
紅茶でも飲んで落ち着こ?

失礼さで言えばらんらんもあんまニンゲンたちのこと言えないけど(´・ω・`)
とにかくね、はっきし言って日本の感覚のほうが世界全体からずれてるので。つまり変態ってことね。時間に厳しすぎ?

結局のところ、じぇーむ寿司の個人プロジェクトなんで、それに乗っかろうとしてる以上は仕方ないんだよね(´・ω・`)

あとじぇーむ寿司は(誰に対しても)斜め読みしてるんだろうなって思うことも多いよ。
そういう場合は再度確認することも必要かも。
とは言えステレオタイプの英国紳士みたいな文章は、他の開発者達と全く違っててらんらんは好きです。
ただね、口先の丁寧さと対応の丁寧さは別で、日本のニンゲンはそれに慣れてるからそれが当たり前になっててその両方を勝手に相手に求めすぎてるところあると思うよ(´・ω・`)


これはあくまでらんらんの感想です。
シミュトランスにパッチを投稿する場合の参考になればいいなと思いましたまる。
らんらんに替わってシミュトランスを盛り上げてくれる人が現れてくれると嬉しいよ。

まだまだ続く。

(´・ω・`)次のパン祭も来てね

2022年12月12日月曜日

超初心者向けシミュトランスパッチ作成講座を始めようかと思った話(´・ω・`)

 (´・ω・`)よく来たな新たな豚候補生のミジンコたち

らんらんはシーぷらぷらとかプログラムって何㌘?ってニンゲンたちにパッチの作り方を教えようと思う。

思った以上に内容が多くなりそうだから記事を分割して投稿していくことにしたので、今回は触りだけになる。


らんらんは2018年からSimutransのフォーラムで活動してきた。
(と言っても基本はSimutrans-Extended(以下、シミュトランス)のほう)
だかららんらんの立ち位置はプレイヤーよりも相当Simutrans開発陣寄りで、
そういう視点からのお話や感想だってことに注意してください。

(´・ω・`)/ジーク・ジムトランス!


この定食の主要成分

・らんらんから見たジムトランス開発の現状

・尊師ぷりっ氏の言葉に耳を傾けろください

・『ジムトランス開発25周年』は過去を振り返るだけじゃなく、この先の25年について考える契機

・ジムトランスはフリーゲームだってこともう一度思い出して?



らんらんから見たジムトランス開発の現状

どうして今さらこんなことをするのかという話から。
wikipediaに因るとジムトランスは1999年にリリースされたみたい。
らんらんはらんらんに勧められて2018年にシミュトランス始めたけど、
翌年くらいに確かにジムトランス20周年とか言ってたのを覚えてる。
そして今年2022年に25周年を迎えたらしい。おめでとう

(´・ω・`)えっ、ちょっと待って。なんでらんらんより年取るの早いの

ジムトランスの開発がスタートしてから25年目ってことらしいのね。
だから開発者視点で開発開始からこれまでの25年を振り返るようなインタビュー記事が公開されました。
これは10年くらい前に起こったハジョーの乱によって配流された始祖ハジョーが赦免され、開発に(あくまでアーティストとして)復帰したことの結果だと思う。

始祖ハジョーや尊師ぷりっ氏(以下尊師)やベーカリーじぇーむ寿司(以下じぇーむ寿司)の話が聞けていとおもしろしだったのだけれど、
中でも尊師のインタビュー記事には改めて多くのことを考えさせられました。(´・ω・`)仰げば尊師


まさか尊師の記事でらんらんの名前が出てくるなんて夢にも思ってなかったのだけれど
なんでそこでらんらんなんかの名前が出てくるのかって、
つまりジムトランスの開発チームがそこまで衰退しちゃったんだって
今の状況見てたら察せるんだよね(´・ω・`)

らんらんがシミュトランスを始めた2018年にはジムトランスフォーラムにはたくさんの上級信者が居て賑わってた。
Tで始まる人が2人、黄色い肌の人、SoGood博士、黄緑さん、AC部氏、、、プログラムして議論してジムトランスの開発の中心になっている信奉者がたくさん居たのね。
らんらんの見る限り今挙げた信奉者は棄教したか、今はもうほとんど活動してないんだよね(´・ω・`)


それで代わりに増えた人が居るのかっていうと、AC部氏の後を引き継いで?コードのメンテナンスを精力的にやってくれてる#ceaacc氏くらいのもので
つまり今ジムトランスの開発って尊師と同志(バグ修正と外部スクリプト担当のちょっと怖い人)と白っぽいカラーコード氏の3人だけになっちゃってるのよね。
これは開発コアメンバーの話ね。たんぱつの小さいパッチとかは除きます。(もちろんチュートリアル関係で頑張ってる人とかも居るの知ってますよ)
尊師のインタビューの中で2007年以前に参加していたプログラマの名前が7人挙がってるけど、
その中で尊師を除いて2018年の時に残ってたのは1人だけ。つまりその11年の間での世代交代はうまくいってた。
で、現在は開発のコアメンバーがゴッソリ減ったけれども、代わりになるような人がほとんど増えてなくって
世代交代がうまくいってなくってジムトランスは衰退しましたってことが明らか。
らんらんはずっとシミュトランス側でらんらん♪してただけなので、あまり尊師以外のジムトランス開発の人と絡むことはなかったし、だからそういった変化に簡単に気付けなかったかもしれない。
今思うとコロナ禍の前後で変化があったような気がしないでもないのだけど、とにかくここ数年で一気に側近の上位信者は居なくなりました(´・ω・`)

要するにバグ修正と外部スクリプトとメンテナンスを除くと、実際今ジムトランスのゲーム本体のゲーム部分の作業してるのってほぼ尊師1人みたいな状態になってるんだよね。
最近は活発に見える時はシナリオ+スクリプト関連のことが多い。

手を動かす人(プログラマ)無しで、機能要望だの改善要望だの議論しても何も動かないでしょ?
だから主要プログラマが居なくなったら過疎るよね、やっぱり。
時代の流れでプレイヤーのコミュニティは別の場所に行ったとしても、開発の中心はフォーラムのままだと思う。(じぇーむ寿司はこれよく言ってる)

去年から今年にかけてジムトランスの泥版対応がジムトランス開発の中心内容だったので、
ほとんどゲーム内容は変わっていない一方で結構一杯バグが増えて徐々に対処されていって、
一応ひと段落ついてからのここ数か月はだいぶ尊師の出現頻度も下がってるようなんだよね(´・ω・`)

らんらんはこれまで生まれてはすぐに死ぬくそげをたくさん見てきたけれど、くそげじゃなくてもバージョンアップされなくなったげえむは衰退していずれ死を迎えるしかないんだよね。

尊師のインタビューにはそういう現状への嘆きとかお願いとかが詰まってます。
だからみんなも尊師の言葉に今一度耳を傾けて欲しい。


尊師のインタビュー内容から

インタビュー記事全文はここからどうぞ

Simutrans has been in your hands for most of his lifetime (17 years, double the time than in the hands of his creator, Hajo). Do you think it will survive without you? How do you envision this transition?


ジムトランスは尊師がトップだった期間が最も長くて、始祖が携わってた期間の2倍以上だけど、じゃあ今度は尊師が居なくなってもやっていけるのか、どういう移行を想定してる?というインタビュアーのボロロン氏からの質問に対して

ジムトランスはもう十分成熟してるからgithubから誰でもフォーク作れるし、だから自分居なくてもジムトランス自体は無くならない(フォークで続いていく)し、実際泥版対応以外この2年間尊師ご自身はほとんど何もしてないよーって言ってます。その後が重要(´・ω・`)

 And then there are the forks, like OTRP and extended (although its stability is rather experimental to me). These are sucking on Simutrans; maybe Simutrans (standard) will fizzle out due to everybody contributing on forks.
 OTRPやExtendedみたいなフォーク(コピー品)がジムトランスをsuckしてるって仰ってます(´・ω・`)you suck!!
養分にしてるって感じかな、らんらんは英語大嫌いなのでふいんきだよ(´・ω・`)
そんでみんながそっちに移っていってきっと消滅するだろうねって尊師は仰ってます。

So maybe Standard just dies in active development, and will rather be the base for various shorter and longer surviving forks.

 だからきっとジムトランスは稼働してる開発としては死んでて、生まれては消えていく様々なフォーク(コピー品)の土台になるでしょうね、みたいな感じの予言をされてます(´・ω・`)

I would not mind retiring as coordinator and just occasionally submit patches (as I do now anyway).

今後のジムトランスの展望やロードマップについて聞かれて、ロードマップはなくて、尊師はいつでも教団トップを辞めてもいいし、たまにパッチ作るだけでいいし今もそうしてるって仰ってます。最近尊師のアクティブ低いように見えたのはらんらんの勘違いじゃなかったわけね(´・ω・`)


尊師の予言を聞いて、

悲しくない?

みんなもそういう未来を望んでるの?(´・ω・`)


だから尊師のインタビューの最後の言葉を再度届けたいと思います。

Please consider to contribute, whether spreading the word, reporting bugs, running a public server at home, paint a simple object, or help with coding. Simutrans can only live another 25 years if there is contribution from players.
 口コミ、バグ報告、オンライプレイサーバーを立てる、ゲーム用オブジェクトを作る、パッチを作る、なんかで
貢献することを考えてみて? じゃないとジムトランスは次の25年を生きることはできないよ。

それでらんらんがフォーラムに居て思うのはね、日本の人達って世界から離れたとこに居て、はっきし言うと吸うだけ吸ってる存在?

尊師の言うsucking on simutransは日本人達全体に当てはまるような気がしたわけ。
もちろん貢献する義務なんて発生しないし、吸うだけ吸って世界の人達から離れた場所でワイワイやってるのも自由なのよ。

steamの統計によるとジムトランスは全体の20%くらい日本人プレイヤー居るみたいだけど、じゃあフォーラムの5人に1人、投稿5つのうち1つ、貢献者/パッチ投稿者の5人に1人は日本人ですかっていうと、全然じゃないの(´・ω・`)

変態の国はプレイヤーだけがやたら多くて、でも開発への貢献者は少ないっていうなんか残念な状態に見えました。
だってバグ報告すら全然してないように見えるんだもの。(この件は次回また掘り下げます)

あくまでらんらんの感想です。

もちろんpak.nipponみたいに、良い形で存在感示してるものもあるの分かってます。

日本人の9割方英語が大嫌いなのも分かるけど、らんらんなんてTOEIC350点よ(´・ω・`)
英語みたいに読みづらい文字の言語らんらんも大嫌い。機械翻訳で十分なのよ。

らんらんはずっとシミュトランスにばかり肩入れしてきたので、どこか尊師やジムトランスに対して後ろめたい部分もあったんだよね。

今まで尊師にはアドバイスを貰ったり、自分で直せないバグを(シミュトランスに輸入するために)直してもらったりしてきたし、
尊師の仰る通りシミュトランスはジムトランスを宿主にして生きていると思ってるし、大変感謝してるのよ(´・ω・`)
でも両方に貢献するのはらんらんの消費時間が倍以上になるってことなので、はっきし言って無理げ(´・ω・`)
らんらんは面倒な事に巻き込まれないようにふざけて来たのに、ちゃっかりシミュトランスの次期大規模バージョンアップの中核みたいな感じに紹介されてるし(´・ω・`)そんなー
時々尊師自ららんらんのシミュトランス向けパッチをジムトランスにお取り込みなさっているのだけど、
それは何か違うっていうか、できればジムトランスを良くしたいって思ってる有志にやってもらいたいんだよね。

オープンソースのフリーゲームってそういうものじゃないの(´・ω・`)
それにらんらんはシミュトランスプレイヤーであってもジムトランスプレイヤーじゃないので。
ジムトランスはバグチェック目的でしか起動してないんだよね。


無料でプレイして必要なら課金するというタイプのゲームとか
宣伝目的だったり広告収入目当てあったり色々あるけど
ジムトランスもシミュトランスもそういうの無しで無料で提供してくださっています。
この手の素人の自主制作同人ゲームってやっぱりプロのレベルじゃないからお金取れない、
だから無料ってのはあります。(その考えって今の時代では古い気がするけれど)

けれどそこらへんのくそげよりよっぽど出来がいいと思うよ?
25年も開発やってるのは伊達じゃないんだよね。

らんらん達は無料でゲーム提供してもらってるのだからそういった開発へのご恩返しがあって、開発とプレイヤーとの間の循環がちゃんと機能して欲しいなと思います。ぶりぶり

色んなニンゲンたちが機能追加してバグ直してって成長して今のジムトランス・シミュトランスがあるわけ。
直接寄付もできるけれど、バグ報告やパッチ投稿も開発の人達へのお返しの形の1つです。
だから尊師のインタビューの最後の一言を心に留めておいて欲しいというのがらんらんの言いたいことです。
(´・ω・`)推し活の形の1つとして考えてみて?

ハードルはめちゃくちゃ低いので、一歩踏み出してみてほしいと思いました。
だから尊師の挙げた貢献方法の中でらんらんが教えられそうな2つ、バグ報告と、超初心者向けパッチ制作についての講座をやってみようと思いました。
というのもね、バグ報告して?パッチ投稿して?ってお願いした結果、間違ったやり方でそれをやられても迷惑なの。
だからもしこれからそういった貢献をしてみたいって思ったニンゲンまたは豚が居るのなら、らんらんの講座を読んでみて欲しい(´・ω・`)

パッチ制作はシミュトランスとジムトランスで多少は違うだけで、ほとんど同じ。
違う部分も可能な限り補足してくので、その違いは気にしないで。

じゃあ、次の食器の上で待ってるからね(´・ω・`)See you next dish!

追記:
この記事は少し前に書かれました。こんな内容の記事書いておいてあれだけれど
らんらんとシミュトランスにとって、パッチ作成講座を今やるメリットが無いとは思ってたのね(´・ω・`)
シミュトランスver15.0が出て落ち着いてもっと人が増えてからやるべきだと思って本当はそうするつもりだった。
でも多分ver15.0は永遠に来ないと思います(´・ω・`)
だからパッチ作成講座読んでみたいと思ってる人がどれほど居るかで決めようと思います。
もし読んでみたいって希望者が居ればここにコメントするか、らんらんの固定ツイートにいいね押してください。

追記2:
講座の内容はシミュトランス改造で覚える実践C++みたいな感じの内容です。

路線の「各駅待機状況表示」の改良について考える #その4

 フォーラムに新たに報告されたバグに対応したり 色々平行作業したり躓いたりあったけど、とりあえず進捗状況(´・ω・`) 本当はExtendedに提出しないでおこうと思っていた機能を、ある程度は提出することにした。 理由は (1) Extended バージョン15.0のために、UI...