himeshi’s blog

Simutrans本体改造まわりのお話をつらつらと

2023年のOTRP

この記事は、Simutrans Advent Calendar 2023 5日目の記事です。

adventar.org

本記事では昨年と同じく、OTRPの今年の動きをかんたんに振り返ってみようと思います。

開発状況

今年はv33_1からv35_1まで10回のリリースを行いました。斜めタイル停留所を実装した関係でリリース回数は多めですが、主な新機能としては斜めタイル停留所と路線間での発車枠共有の2点です。アップデートの細かなヒストリーはOTRP更新情報サイトを参照していただければと思います。

otrp-info.128-bit.net

去年の年末のノリと勢いから2023年のあけおめリリースとして実装した斜めタイル停留所でしたが、開発段階からアドオン作者の方々にアドオンの試作をしていただきました。また、機能のリリース早々に高品質なアドオンが公開されました。アドオン作者の皆様ありがとうございます。

斜めタイル停留所といえば、いつも熊谷半島の白井-西白井間の長い駅間を思い出します。この動画は2011年なので12年越しにようやく斜めタイルに駅を置けるようになったわけですが、12年前に斜めタイル停留所が実装されていたらここにも駅が置かれていたのでしょうか...

白井 - 西白井間の斜め線路(熊谷半島開発記 第13話より)

OTRPは当初から本家standardとの互換を意識しており、OTRP専用のアドオンを要する機能は一部の例外を除き開発しない方針でした。しかし年月が経つにつれてOTRPとstandardの互換は失われ、2022年にKU-TA版のマージを行ったことでstandard追従は実質不可能になりました。こうした状況を考慮し、今回OTRP専用アドオンを要する機能を解禁することにしました。斜めタイル停留所のようなOTRP専用アドオンを要する機能はSimutransコミュニティのアドオン制作リソースをstandard用とOTRP用に分散させるため、アドオン資産の有効活用という面でコミュニティに負の影響をもたらす可能性があります。したがって本家standardにも斜めタイル停留所の仕様を持って行き、アドオンだけでも両者共通で使えるようにすべきではあるのですが、斜めタイル停留所リリース後しばらくは不具合修正が続いていたこと、斜めタイル停留所機能の仕様および実装がそれなりに大きいことから本家に提案を行うに至っていないのが現状です。

新機能の話ではありませんが、長い間配布バイナリの置き場として使っていたOSDNがついに使用不能になってしまいました。ファイル自体はまだミラーサイトからダウンロードできますが、インターネット上のサービスは今回のように突然利用できなくなるリスクと隣り合わせであると改めて実感させられる出来事でした。現在、最新版のバイナリの配布自体はGitHubに移行しています。

余談ですが、v33_4はついに幻のバージョンとなってしまいました。某プロ野球チームもアレしたので、33-4ネタでいじられることも今後減っていくことでしょう...

OTRPの利用ログ解析

それでは毎年恒例のOTRPログ解析のコーナーです。まずは月毎のアクティブユーザ数です。解析は12月初頭に行っていますので、11月までの数値でお考えください。

主に今年の前半にMAUが800前後から600前後に減少しました。月毎にDAUを解析する限りでは3月下旬にDAUの減少傾向が見られるのですが、なぜこのようになったのかは不明です。ちょうど新生活が始まる時期ですので、新生活の開始とともにシムトラ漬けに日々から足を洗った層が存在していたりするのでしょうか。

なお、今回は本体バージョンを4つに分類しています。グラフ中赤色は現時点での最新版(v35_1)、緑色は斜めタイル停留所実装(v33_1)以降、オレンジ色はKU-TA版取り込み(v31)以降、青色はそれ以前の本体を利用しているユーザ数です。

直近月の11月の日毎のアクティブユーザ数も見てみましょう。DAUは80前後で安定しており、ほとんどのユーザが斜めタイル停留所実装(v33_1)以降のバージョンを利用しているようです。


最後に、OTRPユーザにおけるpakセットの利用分布をみてみましょう。最近の傾向をつかむために、今年6月以降のログを解析しています。

分類不能な割合が多いのですが、"other"のうちの半分ほどは64系のpakセットであるようです。昨年に引き続き128jpが全体の半分に迫る構図となっており、128jpの勢いを感じます。一方で64系も少し復調が見られ、128無印勢力が縮小する構図となりました。

おわりに

Simutransコミュニティに視点を移してみると、今年はコミュニティとしては元気な年だったかなと思います。ちょくちょくNSが開催されたりUlyseesさんが参加されたオフが開催されたりプレス即出しアドオンリリースが行われたりと、界隈のメンバーは変わりつつ皆さま活発に活動されているなという印象です。

来年2024年のOTRPについては例によって更新を行うか行わないか含めてまだ計画がありません。新機能の実装も良いネタがあればしたいですが、シムトランス交流会議鯖(Discord)にだいぶ不具合報告が溜まってきているのでバグ修正も適宜行えればいいなと考えています。また、近年流行している生成系AIをこれから開発フローに取り込むにあたり、どうやら自動テストの整備が重要であるらしいので、本家で既に整備されているSquirrelベースの自動テストをもとにOTRPでも自動テストを整備できればいいなと考えています。

私自身も最近は状況がめまぐるしく変化しておりなかなか先が見通せないですが、来年も界隈の皆さまとともに楽しくSimutransをできたらいいなと思います。

iOSDCでポスターセッションをしたら発表者体験が最高だった話

この記事は、iOSDC Japan 2023の参加レポートです。

iosdc.jp

軽く自己紹介

ひめしです。iOS開発のお仕事を始めてから2年半ですが、Twitter (X) を中心としたiOSコミュニティには最近顔を出し始めたばかりです。

twitter.com

ちなみに、お仕事とは全く関係ないプロジェクトとして、Simutransという交通シミュレーションゲーの日本向けforkを開発、運営しています。C++96ベースで書かれたいにしえのコードベースと日々格闘しています😇

github.com

iOSDCの参加自体は、去年に引き続き今年で2回目です。が、去年は都合がつかずオンラインでニコ生をチラ見するだけだったので、現地でガッツリ参加するのは今年が初めてでした。

今iOSDCで話したこと

今回のiOSDCでは、なんとありがたいことにポスターセッションと20分トークの2本を採択していただきました。

ポスターセッション

『大規模アプリにおいてデバイス上のユーザデータを安全に暗号化する』というタイトルで、今現在所属している会社でお仕事としてさせていただいている話を書きました。(スポンサーセッションではありません)

twitter.com

ポスターの高画質版はこちらからご覧ください。

20分トーク

 『ActorでCoreDataをスレッドから解放しよう』という題目で、Swift 5.9のCustom Actor Executorを使ってglobal actorの実行を NSManagedObjectContext.perform に縛ったらいいのでは?という話をしました。

ポスターセッションは発表者体験がかなり良いです

ようやく本題です。今回20分トークとポスターセッションをさせていただきましたが、個人的にポスターセッションは発表者としてiOSDCに参加するにはかなり良い形態だなと感じました。以下、理由を書き並べていきます。

見にきてくれる人と一人ずつじっくり交流できる

これが最大の醍醐味だと思います。iOSDCのようなカンファレンスにオフライン参加する最大の意義はやはり参加者間の交流だと思いますが、ポスターセッションを出展すると1:1での会話がとても弾むので、とてもよい交流になります。 ですので、ポスターを出したら可能な限りポスター前に常駐した方がよいです。

ニッチな内容でも伝わりやすい

レギュラートークのように大勢の聴衆の前で時間制限つきでトークをすると、ニッチな内容の場合前提知識を説明しきれず聴衆をトークの内容から置いていってしまうことがあります(私の今回の20分トークがそうでした)。 ポスターセッションの場合、基本的にポスター前に来てくれた人に1:1で説明をするので、相手の知識レベルの合わせて説明することができます。 逆に、ポスターを出してもそこに発表者が常駐せず貼ってあるだけだと、レギュラートークと同様に前提知識問題が発生することになります。ですので、ポスターを出したら可能な限りポスター前に常駐した方がよいです。

会期中ずっと主役になれる

レギュラートークやLTの場合、発表者として振る舞えるのは登壇中とせいぜいAsk the speakerぐらいです。しかし、ポスターセッションの場合ポスターの前に立てば会期中ずっと発表者として主役になれます。

会期中の居場所ができる

iOSDCのオフライン会場は非常に人口密度が高く熱気に溢れているので、ずっとその中にいると多少気疲れを起こしてしまいます。そういった場面で自分のホームポジション的なものが存在するのはとてもありがたいものです。 実は今回のiOSDCでは私の所属企業もスポンサーブースを出していたのでそこを居場所にしてもよかったのですが、弊社のブースはCode review challenge(私も出題しました)の影響で常にかなりの人だかりができていたので、自分のポスターの前をメインの居場所にしていました。

twitter.com

良いポスターをつくるために

LTがレギュラートークとだいぶ違った技術を要するように、ポスターセッションも特有のコツが必要だなと感じたので簡単に列挙しておきます。

  • 遠方(5m以上)から見たときにパッと目につくポスターにしましょう。
    • 今年のA4 10枚レイアウトだとこれがちょっとやりにくいので、運営に改善を要望しました。
  • 5秒だけポスターの前に立ち止まってくれる人に対して目の動線を提供しましょう。
  • ポスター内で説明を完結させましょう。
    • スライドとことなり、図だけポンポン並べても見る人が理解しきれないことがあります。
    • 詳細な説明は、小さいフォントサイズで書いてもOK。(近づいて見れば良いので。)

さいごに

今回のiOSDCでは、暇ができればとりあえずポスターの前に立っていました。ポスターセッションをやるのであれば、会期中可能な限りポスター前に常駐し、参加者との交流を楽しむのが良いと思います。(トークは後からでも見れますからね。)

今回は多くの方に多大なサポートをしていただき、登壇にまで漕ぎ着けることができました。感謝してもしきれません。 来年もスピーカーするぞという決意を胸に、ネタ探しの旅に出かけてきます👋

2022年のOTRP

この記事は、Simutrans Advent Calendar 2022 15日目の記事です。

adventar.org

本記事では昨年と同じく、OTRPの今年の動きをかんたんに振り返ってみようと思います。

開発状況

昨年3月をもって開発を終了したはずのOTRPですが、今年はv31 ~ v33の5回のアップデートが行われました。アップデートのヒストリーはOTRP更新情報サイトを参照していただければと思います。

otrp-info.128-bit.net

今年は、いわゆるKU-TA版(金沢版)の取り込みをv31で行いました。KU-TA版は、金沢大学・金沢工業大学鉄道愛好会によって配布されたOTRPの派生版で、OTRP v30に多数の新機能が追加実装されたものでした。昨年6月に一般公開されその後数回アップデートが行われており、KU-TA版を本体として採用するNS鯖も見受けられるようになりました。

kanazawaxpress.blog.fc2.com

KU-TA版は多くの有用な機能を有していましたが、修正が必要な不具合が複数含まれていたことも事実です。しかし、配布元は不具合修正を行う予定がない旨をアナウンスしていました。これらの不具合を修正し、より使いやすい形で日本のSimutransプレーヤーに行き渡るようにすることを目的として、OTRPをKU-TA版ベースに切り替える形で取り込むことにしました。KU-TA版の取込みおよびソースコードの提供を快諾してくださった金沢大学・金沢工業大学鉄道愛好会様には、あらためて御礼申し上げます。

来年2023年のOTRPについては、更新を行うか行わないか含めてまだ計画がありません。ただし、本家Simutrans standard nightlyの変更を取り込むことは、本家側で大規模なリファクタリングが行われたりOTRPがKU-TA版ベースになったなどの理由により、より困難になっています。ソースコードのビルド方法ですらstandardとOTRPでだいぶ差が生じてきました。

余談ですが、Simutrans 25周年企画として開発者インタビューを受けました。OTRPの開発モチベーションに関する話なども含まれていますので、まだお読みでない場合はぜひお読みください。日本語で読めます。

store.steampowered.com

OSDNのダウンロード動向

OTRPはNSに同梱されて配布されるケースも多いため、配布サイトの統計が普及の実態を表しているとは言いがたいのですが、参考までに今年一年のダウンロード数グラフを貼っておきます。

傾向としては昨年と大差なく、バージョンアップを行った日やその週末にはダウンロード数が大きく伸びるようです。また、Ribi-Arrowのダウンロード(赤線)も一日数件ながらコンスタントに見られます。Ribi-Arrowは通常バージョンアップ時に再ダウンロードすることはないため、新規さんの流入が少ないながらもコンスタントに発生していると考えてよさそうです。

OTRPの利用ログ解析

OTRPの起動ログ収集ですが、今年は運用上のミスにより下記の期間で障害およびデータの消失が発生しました。OTRPをご利用の皆さまにお詫びいたします。

  • 1月20日~2月18日 ... DNS設定不具合によるアクセス障害
  • 5月26日~8月7日 ... ハードウェア故障によるログ消失
  • 8月20日~9月15日 ... DNS設定不具合によるアクセス障害

それではまずは、今年一年間の月毎のアクティブユーザー数です。解析は12月初頭に行っていますので、11月までの数値でお考えください。

ログに障害が起きなかった月が3, 4, 10, 11月しかないのですが、この4ヶ月についてはMAUが800程度となっており、これは昨年と同程度の数字です。

データが完全である直近月の11月でも、半数弱のユーザがv30以前のKU-TA以降前バージョンを使っているように見えます。11月はv32_2のリリースがあったので、11月について日毎のアクティブユーザー数を見てみましょう。

月のはじめは半数弱がv30以前(KU-TA移行前、緑色の領域から上)でしたが、v32_2のリリースによってv30以前を使っているユーザがある程度移行しているように見えます。v29系も未だにある程度の勢力を保っています。

最後に、OTRPユーザにおけるpakセットの利用分布をみてみましょう。最近の傾向をつかむために、今回はデータの欠損がない10月以降のデータ(約2ヶ月分)のみで集計したIPアドレスベースの分布を計算してみました。

pakセット利用分布は長らく無印128:128jp:64系が1:1:1になる傾向が続いてきましたが、今年は128jp系のpakが明らかに頭一つぬける構図となりました。128jpは近年NSにおいて採用例が増えているようなので、その傾向を反映していると考えられます。一方でnippon系は勢力を縮小することになっているようです。

おわりに

OTRPは特に手を加えられることもなくこのまま陳腐化していく... と去年あたりは考えていましたが、KU-TA版の登場とその取込みによって今年もOTRPにとってなかなか楽しい年になりました。また、直近では久々にコードのコントリビューションをいただきました。

一方で、KU-TA版の取り込みと本家リポジトリとの差分拡大によって、OTRPの開発を継続する技術的な難易度はいっそう高くなってしまいました。とはいえ、Simutrans自体が非常に古い規格のC++のまま今なお開発が続けられるしぶといプロダクトですので、OTRPもなんだかんだでこの先もまだ手が入れられそうな気もしますw

Simutransのコミュニティ自体の変化も進んでいると思います。Discordサーバなどでの海外勢との交流も少しずつ進んでいますし、アクティブメンバーの入れ替わりもみられます。また、pakセットとしては128jpが大きく躍進した年でもありました。

私自身は最近は隠居ぎみですが、今年はとあるNSにプレイヤーとして参加し手植えによる景観プレイの技法を習得するなどしました。来年もローカルやNSでまったり遊ぶ人になりそうですが、界隈の盛り上がりのために少しでも貢献できたらいいなと考えていますので、よろしくお願いいたします。

2021年のOTRP

この記事は、Simutrans Advent Calendar 24日目の記事です。

adventar.org

本記事では、OTRPの今年の動きをかんたんに振り返ってみようと思います。

開発状況

今年は、3月をもって4年間のOTRP開発に終止符を打った年でした。

その後も小規模なアップデートを数回行いましたが、基本的に以下のことを行ったのみです。

  • 各種バグ修正
  • Squirrelまわりの本家追従、I/Oライブラリの追加
  • スクリプトジェネレータ(そんなものもありましたね)
  • スケジュールにおける「出発直前に積載」オプションを追加

詳しくは、以下のサイトを参照してください。

otrp-info.128-bit.net

実は就職した現在もOTRPの開発を行う時間が取れないような状態ではないのですが、どちらかというとモチベーション的な問題でしばらくOTRPの開発を再開することはないと思います。このあたりの話はまた別の機会にでもさせていただければと思います。

OSDNのダウンロード動向

OTRPはNSに同梱されて配布されるケースも多いため、配布サイトの統計が普及の実態を表しているとは言いがたいのですが、参考までに今年一年のダウンロード数グラフを貼っておきます。

f:id:himeshi:20211224000432p:plain

2021年のOTRPダウンロード数


横軸が日付、縦軸がその日のダウンロード数です。年始は数回アップデートを行ったためダウンロードが多い日がありますが、基本的に一日一桁で推移しています。特に今年11月以降はきわめて少ない数値で推移しています。一通り必要なユーザには普及しきったということでしょうか。

OTRPの利用動向

OTRPの開発はすでに終了しましたが、より実態に即した利用状況の把握を行うため、ログ収集は引き続き行っています。まずは、今年一年間の月毎のアクティブユーザー数を見ていこうと思います。

f:id:himeshi:20211221214115p:plain

月ごとのOTRPプレイヤー数

全体として大きな変動は見られませんが、7月以降は微減傾向になっていることがわかります。ちょうど6月に金沢版OTRPの配布が開始されましたので、その影響が出ているとも考えられますが、Simutransのアクティブプレイヤー数がそもそも少し落ち込んでいると考えることもできます。

なお、比較的最近の今年11月の日毎のアクティブユーザー数は次のとおりです。

f:id:himeshi:20211221205803p:plain

11月のDAU

月のはじめに落ち込みがあったのは、ログ収集サーバのDNS設定不具合によるものです。最盛期はDAUが毎日100を超えていたのでそれよりは落ちていますが、それでも80以上は毎日キープしています。

ただし、未だに半分近くのプレイヤーがv30系に移行していません。v30系では車庫表示にバグがあると報告されており、それを要因としてバージョンアップを行っていないNSが一定数存在していると聞いています。

なお、2021年のpak利用動向(ユーザーごとに最も起動回数の多かったpakを抽出)は以下のとおりでした。無印128:128jp:64系が1:1:1になる傾向はあまり変わっていないようです。

f:id:himeshi:20211221233225p:plain

pak勢力図

おわりに

今年の早い段階でOTRPの開発を終了したこともあってOTRPに関しては動きの少ない一年でした。どちらかといえばスクリプト周りの方で動きがあった年だと思いますので、ご興味がある方はぜひ下のSimutransカンファレンスの動画をご覧ください。

www.youtube.com

現在進行系でいくつかプロジェクトは進めているのですが、あまりペースは早くありません。しばらくはのんびりローカルやNSでまったり遊んで、機会があればまた面白いことができればいいかなと思っています。

Simutransカンファレンス2021 運営の振り返り

先日10月16日に開催したSimutransカンファレンス2021は、最大同時参加人数33人と、大盛況のうちに幕を閉じました。参加、発表していただいた皆様、ありがとうございました。

ひめしは本イベントの運営チームとして参加しました(なお主催はかわごえ氏であり、ahakuoku氏にも運営に尽力いただきました)。来年の開催に向けて、参加後に実施したアンケートの結果とその考察をここに書き残しておきます。アンケートの回答数は24でした。

なお、アンケート自体は匿名ですが、個人の特定を防止するため個別の回答の開示はいたしません。ご了承ください。

アンケート結果とその考察

本イベントに対する満足度を教えて下さい

f:id:himeshi:20211021193135p:plain

5段階中4と5が半々でした。全体的に満足度の高いイベントとなったようです。

次の開催はいつ頃がよいと思いますか?

f:id:himeshi:20211021193350p:plain

22年中の開催を望む声が大半のようです。個人的にはネタの蓄積のことを考えると22年後半が妥当かなと考えていますが、22年前半を望む声が7割となっています。たしかに年末はアドベントカレンダーの季節と重複するので、次回は6月か7月頃を検討しても良いのかもしれません。

次回の開催場所としてふさわしいのはどこですか?

f:id:himeshi:20211021193722p:plain

次回もオンライン開催をしてほしいとの声が6割近くになりました。たしかに、会場を借りて開催していた2019年までの実績では参加者が30人を超えたことはなかったので、オンライン開催による地理的ハンデの解消はかなり重要であると考えられます。対面開催はカンファレンスとくっつけて大規模な飲み会などを開催できることが大きなメリットですが、Simutransの知見を共有し、広くあまねくプレイヤーどうしが交流するというカンファレンスの目的を考えると、コロナウイルスが収束してもずっとオンラインのほうが適切なのかもしれません。なお、オンライン開催の場合は運営上の理由により次回はDiscord以外の会議ツールを使用することを考えています。(後述)

次回の開催内容として望ましいのはどれですか?

f:id:himeshi:20211021205308p:plain

スライド発表、マップ展覧会ともに好評だったようですので、次回のカンファレンスでも2本立てで行こうと思います。ただし、2つのイベントを同日開催するのは詰め込みすぎ感も否めないので、参加者が増えれば2日間開催も検討すべきなのかもしれません。

【スライド発表】今回は7名が発表しましたが、発表者数は適正でしたか?

f:id:himeshi:20211021205513p:plain

スライド発表者7名程度では、枠に制限を設ける必要はなさそうです。

【スライド発表】今回は発表枠を10分に限りましたが、次回はどうしてほしいですか?

f:id:himeshi:20211021205605p:plain

オンライン開催では20分枠は長過ぎるという考えから今回は10分枠のみの設定としましたが、5分枠、20分枠もあったほうがよさそうです。勝手に20分ほど発表するケースも数件見られたことから、20分枠を設定した上でタイムキーピングを厳格化する必要があると考えられます。

【マップ展覧会】試遊システムで快適にマップを触れましたか?

f:id:himeshi:20211021205935p:plain

大きな支障はなかったものの、快適性に難ありという意見が多かったようです。

【マップ展覧会】試遊システムでどんな不具合がありましたか?

  • 画質が荒いと思った
  • ドラッグアンドドロップはかなり感度が高めだと感じました。
  • クリック関連の操作に支障を感じた
  • 不具合というよりは同時に複数人触るので見たいところが見ずらかった。発表者だけが触れるルームなどもあるとよかったかもしれない。
  • 複数人の操作が共有される為、操作の指針などがあるとよかった

やはりローカルで遊ぶよりは快適性に劣るようです。「複数人で触る」システムをどう使えばいいのかわからなかったとの声も目立ちました。結局、発表者が触るのを聴衆が見るというGo Live的な使い方をしている場面が多かったようです。

参加者が自分で見るだけであればローカルで実行するほうが快適に遊べることは否めませんので、導入の手間の問題および配布による著作権の問題とどう向き合うかは今後も課題になると考えられます。次回は、ファイルの配布とブラウザアクセス両方を提供してもいいのかもしれません。

【マップ展覧会】同時に発表する人数は適切でしたか?(今回は3人でした)

f:id:himeshi:20211021210834p:plain

同時に開催されているセッションを全部聞けないのは惜しいという声も多く聞かれましたが、同時に3人のほうがよいという声のほうが多数派なようです。

【マップ展覧会】発表時間30分は適切でしたか?

f:id:himeshi:20211021211016p:plain

今回は発表時間を30分としましたが、事前の説明に時間を要したため実際にマップを触れた時間は20分程度でした。事前説明の時間をきちんと考慮して、実際にマップを触る時間を30分となるようにするのがよさそうです。

 

その他の運営上の課題

アンケート項目とはしませんでしたが、運営の視点から課題として感じられた点がいくつかありましたので、それについてまとめておきます。

発表時間の管理について

今回スライド発表の発表時間は一律10分でしたが、20分にわたって発表がつづいたケースが数件見られました。本来発表者に対して適切に残り時間をお知らせし、スケジュールの維持に務めるべきでしたが、運営の準備がそこまでまわっておらず参加者の皆様にはご迷惑をおかけしました。

残りの発表時間をお知らせする定番としてベルを鳴らす方法があります。今回もahakuoku氏がベルを鳴らしていたのですが、Discordの仕様によりベルの音がほとんど発表者に届きませんでした。次回のカンファレンスにおいては、発表者に残り時間をわかりやすく提示するとともに、タイムオーバした発表者に対して毅然とした対応を行うことが必要だと考えられます。

Discordの使用について

昨年のシムトラ学会6につづき今年もDiscordのGo Liveを用いましたが、運営上深刻な問題が2つありました。

  • GoLiveの視聴は自動的に開始されないため、発表者が変わるたびに参加者全員が手動で視聴先を切り替える必要がありました。この結果、30人近い参加者全員の視聴開始を毎回待つ必要があり、著しい時間のロスが発生しました。
  • 一部のPowerPointユーザで、アニメーションを用いたスライドが共有されない不具合がありました。このため、一部の発表者は発表が不可能になりました。

これらはDiscordの仕様でありイベントの進行に著しい支障をきたすものでしたので、次回はDiscord以外の会議ツールを使うべきだと考えています。具体的なツールとしてはzoomを想定していますが、zoomにも以下の問題が考えられます。

  • 荒らし参加者の流入制御がDiscordよりも手間になる。(Discordの場合は事前にサーバに参加している人だけがイベントに参加できる。また、なりすましユーザかどうかの判別がつかない)
  • zoomを普段使いしているユーザが本名暴露事故を警戒し、使用に対して難色を示される。また、参加者によって名前が適切に設定されないとDiscordやTwitter上の名前と紐付かない。
  • Simutransカンファレンスのイベント規模では有料プランの利用が事実上必須。

会議ツールの選定は今後の課題だと考えています。

対面開催の併用およびサテライト会場設置の際の機材運用問題

今回のSimutransカンファレンスは完全オンラインイベントということになっていましたが、実は一部で非公式にサテライト会場が設置されていました。ただし、こうしたサテライト会場ではマイクとスピーカの配置および運用に起因するハウリング問題などが発生しがちで、実際に今回もその問題が見られました。

サテライト会場の発生自体は禁止すべきではないと考えていますが、適切に機材を運用しないとハウリング問題や回線容量不足による通信障害が発生します。特に前者はイベント参加者全員の体験を悪化させるので、運営側がノータッチというわけにもいきません。よって、サテライト会場を設置する際のハウリング対策を義務化するとともに、代表的な対策方法を提示するといった取組が必要になると考えられます。

 

以上、来年の運営の参考になれば幸いです。

 

日本人プレイヤーのための本家フォーラム参加のてびき

本記事では、機械翻訳の利用を前提にして、Simutransの本家フォーラムに参加するにあたって知っておくべきことを紹介します。

日本勢が本家フォーラムに参加する最も典型的な目的は新機能の開発、導入に関する交渉だと思いますので、本記事では新機能について議論することを前提にお話します。

機械翻訳の利用

本家フォーラム(https://forum.simutrans.com/)は英語での議論が原則であり、これまで英語が苦手な日本人の参加を阻んできました。しかし、近年機械翻訳技術の著しい進展により、機械翻訳単体でも安定してそれなりに読める文章を生成することが容易になりました。

言うまでもありませんが、本家フォーラムに参加している人たちは全員が英語ネイティブではありません。したがって、多少の英語の乱れは許容されています。英語を日本語にするときも、日本語を英語にするときも、以下のどちらかのツールを利用すれば良いと思います。

Google Chromeには、ページをまるごと翻訳する機能がブラウザに組み込まれています。使い方は下のリンクを参考にしてください。

Google Chromeのページ翻訳ツールを有効にする方法 | パソコン工房 NEXMAG

オススメは、フォーラムのスレッドを読むときはChromeのページ翻訳機能を使い、メッセージを投稿するときはDeepLで日英翻訳を行う方法です。こうすることで、素早く快適にスレッドを読むことができ、かつ正確に意思疎通を行うことが期待できます。

メッセージを投稿するときに英語ができる人に英文をチェックしてもらうことはあくまでオプションです。チェックをお願いするのが面倒であれば、さっさとDeepLの出力結果をそのまま貼って投稿しましょう。

本家フォーラムのルールおよび慣習

本家フォーラムでは英文の乱れには寛容であるかわりに、ルールの遵守が求められます。必ず一度は以下の記事に目を通してください。英語で書かれているので、早速Chromeのページ翻訳機能を使いましょう。

forum.simutrans.com

特にこのフォーラム特有のもので重要な条項は以下のとおりです。

  • 同一人物が同じスレッドに2回以上連続して投稿すること(double post)は禁止されています。但し、24時間以上間隔があいていればこの限りではありません。
  • 1つのスレッドでは1つのことがらだけ議論してください。2つ以上の事柄を議論する必要があるときは、スレッドを分けてください。

議論及び交渉の一般的な心がけ

英語の壁がなくなったからといって本家フォーラムでスムーズに議論できるわけではありません。本家フォーラムで目的を実現するためには、以下のことに気をつける必要があります。

  • いわゆる「クレクレ星人」的な振る舞いは嫌われます。本家nightlyの開発を担っている人たちもヒマではありませんので、要求ではなく提案をし、自ら開発プロセスに参加してください。
  • 本家フォーラムに参加している人たちは、「欧州に住んでいる人」と「米国に住んでいる人」が多数派です。鉄道や街づくりに対する認識は、日本人とかなり異なります。また、欧州勢と米国勢でも認識が異なることが多いです。日本人の価値観を勝手に前提とせず、参加者が持つ鉄道や街づくりに対する価値観を最大限尊重し、それらを整理しながら議論を進行することが必要です。
  • フォーラムには下の画像のようにバッジがついているユーザがいます。バッジがついているユーザは基本的に2年以上フォーラムで活動し、かつ何かしらの業績を上げた人であり、「常連さん」の扱いです。議論するときは、バッジがついているユーザの同意を得ることを目標にしてください。

f:id:himeshi:20211007205930p:plain

本家フォーラムの主要人物

本家フォーラムには長年にわたって貢献し続けている人々がいます。彼らの立場を知ることは、議論をすすめる上で重要です。その一部をここで紹介しておきます。この情報は記事を執筆した2021年10月時点の情報です。Extendedで活躍している人物については原則省略しています。

  • Prissi氏 ... Simutrans standardの開発リーダー。nightlyへのコミット権を持つ
  • Dwachs氏 ... Squirrelまわりを中心に見ている。nightlyへのコミット権を持つ
  • ceesac氏 ... コードのリファクタリングを中心に活動。nightlyへのコミット権を持つ
  • Isaac Eiland-Hall氏 ... Forumのサーバー提供者。アメリカ人。機能開発に口を挟むことは少ない。
  • Jamespetts氏 ... Extendedの開発リーダー。Extendedの参考にするために、たまにstandardの案件にも顔を出してくる。
  • Leartin氏 ... pak192.Comicの開発リーダー。機能開発のスレッドに対して積極的に建設的な意見を発信する。
  • Yona-TYT氏 ... 開発者。機能開発のスレッドに対して積極的に意見を発信する。

現在Activeなユーザのうち、nightlyへのコミット権を持つのはPrissi, Dwachs, ceesac氏の3名のみです。その他の開発者はフォーラムにパッチファイルを投稿した後、コミット権を持つ人のうちいずれかが代理でコミットする仕組みです。そのため、最終的にパッチをnightlyに取り込むかどうかの決定権はこの3名にあります。但し、ceesac氏とDwachs氏は主に見る領域が限定されているため、基本的にはPrissi氏の判断によってパッチはnightlyに取り込まれます。

新機能に関する議論と交渉をスムーズに行うために

本家フォーラムにおける議論のスピードは、日本のTwitterやDiscordにおけるそれと比べてかなり遅く、スレッドに投稿するのはせいぜい一日数回です。よって、機能追加を行うための議論は基本的に数ヶ月かかることが普通です。

機能追加のための議論を実際にフォーラムで行うときは、以下のことを意識しましょう。

  • 提案する機能は可能な限り小さいものにしましょう。いきなり大きな構想を語っても、誰も議論できませんし実装もすすみません。大きなプロジェクトも小さな単位に分割し、一つ達成するごとに次を出すようにしてください。
  • 最初の投稿では、まず数文で完結に「何を実現したいか」を述べます。その後、そのモチベーション、実現したいこと、機能の詳細などを、可能な限り詳細にかつ具体的に述べます。可能な限り、図や動画を併用して説明してください。
    なお、フォーラムのスレッドには64KBまでのファイルしか添付できませんので、画像は下のサービスなどを用いて別途アップロードしてください。(本家フォーラムと同じid, passwordで入れます。)

    simutrans-germany.com

  • バグ報告を除き、コードの実装は基本的に提案者が行うものです。よって、こちらが行うのは「提案」であり「要求」ではありません。
  • フォーラムでは頻繁に議論が発散します。議論の発散を防ぐために、スレッドに返事が来たらすぐに返信し、議論の主導権を常に持ち続けてください。投稿が来たことを把握するために、メールによる通知機能を使用してください。
  • 機能要件の議論をするうちに、あれもこれもと要件が膨らんでいくことがよくあります。要件が膨らむと実装が大変なだけでなく、パッチを投稿しても大きすぎて見てもらえなくなるので、追加された要件についてはスレッドを分けて議論するようにしてください。

このように、本家フォーラムで機能追加に関する議論を行うには、数ヶ月の間継続的に、スレッドへの投稿に素早く反応することが求められます。これを一人で行うのはしんどいので、フォーラムに慣れないうちは2,3人でチームを組んで議論に参加するのがおすすめです。

おわりに

少し前までは日本人プレイヤーの要望はとりあえずOTRPが吸収していましたが、そんな時代も終わりました。日本勢に必ずしも好評とは言えない仕様変更も見られるようになった今こそ、日本のプレイヤーが本家フォーラムで議論に参加することがこの先のSimutransの明暗を分ける状況になっています。

英語という障壁を機械翻訳で克服したとしても本家フォーラムでの議論には忍耐と辛抱が必要ですが、その先にはよりよいSimutransが待っています。皆さんが少しでも本家フォラームでの議論に参加するようになり、Simutransが魅力的なゲームになることを期待しています。

 

 

Simutransカンファレンス2021 開催のお知らせ

Simutransカンファレンス2021を以下の通り開催することにしましたので、お知らせいたします。皆様ふるってご応募ください。

スケジュール

  • 10月3日(日)スライド発表応募締切
  • 10月9日(土)マップ展覧会発表応募締切
  • 10月16日(土)13:30-18:00 Discordサーバ「Simutrans inst Japan」にてオンライン開催

プログラムは10月10日ごろに発表する予定です。

聴講は「Simutrans inst Japan」Discordサーバにご加入であればどなたでも自由にしていただけます。参加ご希望の方で当サーバに加入されていない方は、ひめしにお声がけください。

イベント概要

本イベントの主催者はかわごえ(@EF65_536)です。ひめしは運営スタッフとして参加しております。本イベントに関するお問い合わせは、Twitter @simumeeting2017 もしくは適当なDiscordサーバにてお願いいたします。

なお、本イベントは昨年まで「シムトラ学会」として開催していたものを引き継いだものです。

Twitterハッシュタグは、 #SimuConf2021 です。

スライド発表

Simutransに関する話題について、1枠10分で発表していただきます。DiscordのGo Live機能を使用して、スライドを流しながらお話していただく形式です。あなたのSimutransに関する知見を共有し、議論しましょう。

イメージとして、昨年開催したときの動画を掲載します。

www.youtube.com

 

マップ展覧会

あなたが普段遊んでいるローカルやNSのマップを、参加者の皆さんにも遊んでもらう企画です。WebブラウザでSimutransを遊べるシステムを用いて、Discordで通話をしながらマップを眺めたり議論したりします。Go Liveでただマップの様子を配信する形式とは異なり、参加者は見たい箇所を自由に見ることができます。また、参加者へのpak配布は不要です。あなたのマップの魅力を全力でアピールしましょう。

なお、参加者にマップについての理解を深めてもらうため、マップを触る時間の前に、マップについて2分以内のスライド発表をすることができます。

f:id:himeshi:20210807164723p:plain

ブラウザでSimutransを遊ぶシステムのイメージ

 

応募方法

締め切り前の早めの応募にご協力をお願いいたします。

応募フォーム(共通):

forms.gle

スライド発表

10月3日(日)までに、応募フォームにお名前と発表題目を入力し、送信してください。

発表枠は1枠10分(質疑応答としてさらに5分)です。異なる題目で2枠以上の応募も可能ですが、応募多数の場合は1枠のみの発表とさせていただきます。

マップ展覧会

10月9日(土)までに、応募フォームに必要事項を記入の上、マップの動作に必要な環境一式をまとめたzipファイルをひめしに提出してください。提出いただいたファイルはマップ展覧会で用いるシステム構築のみに用い、参加者に対して配布されることはありません。OTRPv30で動作しないマップを用いる場合は、提出時にひめしにご連絡ください。

スライド発表とマップ展覧会は、両方応募いただいても構いません。

 

ご意見ご質問等ありましたらお気軽にひめしまでどうぞ。皆さまの参加をお待ちしております。