オープンソースの交通ネットワークシミュレーションゲーム OpenTTD
(openttd.org)- OpenTTD は、Transport Tycoon Deluxe を現代環境で楽しめるよう再現したもので、原作のプレイ感を保ちながら規模と機能を大きく拡張したオープンソースゲーム
- GPL v2.0 ライセンスで配布されており、各リリースおよびソースダウンロードに含まれる
COPYING.mdでライセンス情報を確認できる - 原作より 最大64倍大きいマップ、最大255人マルチプレイ、専用サーバー、IPv6/IPv4対応など、大規模プレイとネットワーク機能が強化されている
- ゲーム内で AI、NewGRF、シナリオ、heightmap をダウンロードでき、ドラッグ&ドロップ・マウスホイール・Shift による費用見積もりなど、反復操作を減らす機能も含まれる
- BMP/PNG/PCX スクリーンショット、32ビットグラフィックス、右から左へ書く言語、フォントベースの UI スケーリングをサポートし、詳しい機能は Wiki と README で引き続き確認できる
OpenTTD がベースとしているゲームとライセンス
- OpenTTD は、Chris Sawyer が制作した Microprose のゲーム「Transport Tycoon Deluxe」をベースにしたオープンソースのシミュレーションゲーム
- 原作を可能な限り忠実に再現しつつ、新機能を追加する方向で発展してきた
- ライセンスは GNU General Public License version 2.0
- 詳細は、各リリースおよびソースダウンロードに含まれる
COPYING.mdで確認できる
- 詳細は、各リリースおよびソースダウンロードに含まれる
原作より拡大したゲーム規模とネットワークプレイ
- より大きな世界と、より多くのプレイヤーを扱えるように規模が拡張されている
- マップサイズは原作比で 最大64倍 まで拡大可能
- マルチプレイは最大 255人 まで対応し、15社または観戦者として参加できる
- 専用サーバーモードと、管理用のゲーム内コンソールを提供する
- クライアントとサーバー間のすべての通信で IPv6 と IPv4 をサポートする
- ゲーム内でコンテンツを直接追加できる
- AI、NewGRF、シナリオ、heightmap をゲーム内でダウンロードできる
- TTDPatch NewGRF 機能に対応し、グラフィックスや動作を設定・変更できる
- ユーザー作成 AI のためのフレームワークも含まれる
- 車両の移動と経路選択も改善されている
- 新しい経路探索アルゴリズムにより、車両が望ましい方向へ移動できるようにしている
- 車両の加速モデルを設定できる
交通インフラと車両管理の拡張
- 鉄道・道路・水上交通をより多様に設計できる
- 運河、船舶リフト、水路橋をサポートする
- より大きく不均一な駅を作成でき、駅同士を接続できる
- 斜面や海岸にも建設できる
- より長く高い橋、新しい橋のデザイン、橋の下での柔軟な線路・道路配置をサポートする
- 列車と車両の運用機能が増えている
- 大型列車と複数動力車両をサポートする
- 車両の複製、自動置換、自動更新が可能
- 高度・条件付き命令、命令の共有とコピーを利用できる
- 信号システムにより、より細かな運行制御が可能になる
- presignal、semaphore、経路ベース信号を提供する
ゲーム世界、言語、アセット対応
- 都市と環境要素をより多様に構成できる
- 1タイルに複数の木を配置できる
- 都市当局に賄賂を渡すことができる
- zlib 圧縮により、ゲームプレイを中断せずにセーブファイルのサイズを削減する
- 言語と基本アセットの対応範囲も広い
- OpenTTD はすでに 50以上の言語 に翻訳されている
- 動的に生成される都市名は 18言語 をサポートし、NewGRF により追加言語にも対応できる
- 自由に配布可能なグラフィックス、サウンド、音楽を提供する
反復操作を減らすユーザビリティ機能
- 建設と管理作業にドラッグ&ドロップ中心の操作を提供する
- 鉄道変換ツールで電化鉄道、モノレール、磁気浮上式鉄道へ変換可能
- 撤去、道路・鉄道の建設と撤去、駅、シナリオエディタなど、ほぼすべてのツールで ドラッグ&ドロップ をサポートする
- 列車全体をダイナマイトのゴミ箱へドラッグして売却できる
- リストや画面操作もより高速に行える
- 車両、駅、都市、産業など、ほとんどのリストを複数の基準で並べ替えできる
- マウスホイールでメニューのスクロールやズームが可能
- 画面やウィンドウの端にマウスが近づくと自動スクロールする
Shiftキーで費用を見積もれる- 高度なオプション設定ウィンドウで、ゲーム中に設定を変更できる
グラフィックスとインターフェースの利便性
- 画面表示と保存形式の選択肢が広がっている
- スクリーンショットは BMP、PNG、PCX 形式で保存できる
- 2002年のユーロ導入を含め、より多くの通貨をサポートする
- 複数の追加ビューポートで、ゲーム世界の複数の場所を同時に見られる
- フルスクリーンモードで解像度とリフレッシュレートを選択できる
- プレイ中の情報確認とウィンドウ操作も改善されている
- 特定の日付以降はカラー新聞を表示する
- 車両収益は色分けされる
- 早送りボタンまたは
TABキーでゲーム速度を上げられる - ウィンドウは相互に整列し、常に手前に留まる snappy・sticky 動作をサポートする
- より多くのショートカットキーにより、マウスクリックを減らせる
- 多様なグラフィックス・言語環境に対応する
- 32ビットグラフィックス を利用できる
- 右から左へ書く言語をサポートする
- フォントと翻訳に合わせてスケーリングされる UI を提供する
機能一覧と対応OS
- 機能一覧は、ほぼ毎日更新が必要なほど多く、About ページにはすべて掲載しきれない
- より詳細な機能と可能性は Wiki で確認できる
- OpenTTD はさまざまな OS をサポートしており、詳細は OpenTTD README で確認できる
1件のコメント
Hacker Newsのコメント
OpenTTDが今年20周年を迎え、過去最大級の大型リリースを準備中らしい。
これまでに公開された最初の大きな機能は、バスやトラックなど道路車両向けの間隔調整解除機能: https://www.openttd.org/news/2024/02/10/unbunching
特に、バスを何百台も投入してくる特定のAIを相手に1人プレイするのが好きだった。そのAIがいつもすぐに首位に躍り出ると、自分のバス路線を作ってから、すべてのバスに道路の真ん中で同時に停止するよう指示した。
すると大規模な交通渋滞が発生し、AIの収益を止めて運営費で破産させたうえで、その会社を買収し、今や自分の所有物になった何百台ものバスを再び動かしていた。
番号はプルリクエストを指しており、より詳しい説明がある。たとえば無限資金モードの説明はこちら: https://github.com/OpenTTD/OpenTTD/pull/11902
これで1日の長さ調整、優れた列車のグループ化・命名機能、さらには路線を第一級の概念として扱う機能まで入れば、友人にJGRのインストール方法を案内しなくてもよくなるので、ずっと良くなりそうだ。
関連して、最近OpenTTDLabを作った: https://github.com/michalc/OpenTTDLab
PythonからOpenTTDをヘッドレスで実行し、セーブファイルからデータを比較的簡単に抽出できるようにするもの。
つい最近Show HNに投稿したばかりなので、少し図々しいかもしれない。
それ以外にはどんな用途があるだろう?
OpenTTDとその前身であるTransport Tycoonは本当に好きだったが、FactorioやMindustryでロボット建設とコピー&ペーストを経験してしまうと、レールを1本ずつ手作業で敷く方式には戻れない。
自動レール機能や、マウスドラッグ1回で直線区間に信号機を置く機能は良いが、レールの分岐点をいちいち手で作るのはもう無理だ。
定型コードを手でタイピングしているような感覚だ。
プレイヤーの立場から見て、OpenTTDには技術的・歴史的な制約が見えていて、特定のシステムを全面的に作り直さなければ簡単な修正では不可能だとはっきり分かるものなのか気になる。
外から見ると、そしてプロジェクトマネージャーがまさに「それはそうなんだけど……」という回答を山ほど聞く直前のように聞こえるリスクを承知で言えば、すでに直線を描くシステムがあるなら、2本の線が出会ったときに自動で分岐点を描けるのではないかと思う。
もちろん、そうした「それはそうなんだけど……」という回答を軽んじたいわけではなく、たいていその後に本当に多くの情報が詰まっている。
一度使うと、もう元には戻りたくなくなる。
"Kicad push-and-shove routing, 2nd attempt" - Tom W Sep 18, 2013 https://www.youtube.com/watch?v=zxHDAHpR5Ls
昔このゲームを何時間も楽しんだが、このジャンルの他のゲームと同じように、結局は挑戦を求めるようになるのに、ゲーム内には本当に挑戦しがいのあるものがない。
会社は大した努力なしにただ大きくなり続ける。
こういう挑戦が面白さを保ってくれるが、同時に職場で解いている問題とかなり似ているようにも感じる。
MODやAIプレイヤーで難易度を上げる別の方法もある。
基本ゲームはあまりにも早くお金が過剰に余る状態になりやすく、すぐに目的がなくなる感じがする、という点には同意する。
本当にすべての物流を列車だけで中央工場1つに押し込められるのか、交通渋滞なしで可能なのか、あるいは特定の日付までに特定の金額を稼げるのかが挑戦になる。
単純な経済モデルよりずっと難しい。
TTDが好きで、OpenTTDも見事にやり遂げており、かなり多くの時間を費やしたが、正直もう少し古びた感じがする。
どんな産業MODやNGRFを追加しても、長く没頭するには足りない。
それでも年に1回くらいは数日間、新しいゲームをしに戻ってくるだろうが、実質的にはノスタルジーのためだ。
このゲームに費やした時間はとんでもなく多かった。
もう何年もやっていないし、家族のことがあるので当分もできないだろうが、引退したらこのゲームとCivで丸一日を過ごす姿を想像しても、別におかしなことではない気がする。
複合現実ヘッドセットで、机の横に表示しておける3D版TTDを期待している。
3Dレンダリングはすでにできているように見える: https://www.tt-forums.net/viewtopic.php?t=86412
https://www.youtube.com/watch?v=KY6uIxKpItM
あらゆるジャンルを通じて一番好きなゲーム。
いつまでもプレイできるし、ほぼどんなデバイスでも動く。
Cities in MotionやFactorioの列車が好きなので、OpenTTDも理解さえできれば好きになるゲームだと思う。
あまりプレイしたことはないが、OpenTTDでは乗客が任意の駅に現れて、どこへ連れて行くかを気にしていないように見えて、そこがいまいちだった。
それが正しいなら何の意味があるのか分からないし、違うなら自分が何を誤解しているのか知りたい。
Simutrans [0]は、乗客がAからBへ行きたがり、バス・列車・飛行機の間で乗り換えもしようとするので良い。ネットワークの中心になる路線は、本当に多くの乗客をさばけなければならない。
[0]: https://www.simutrans.com/
OpenTTDエンジンを基盤にして、ネットワーク図作成、可視化、リアルタイム監視ツールを作った人がいるのか、ときどき気になる。
20年か……。
それ以来、本当に近いところまで来たのはFactorioだけのような気がする。