第1部:はじめに
FreeTrainは、オープンソースの鉄道経営シミュレーションゲームです。
本ソフトウェアは GNU Lesser General Public License (LGPL) version 2.1 に基づいて配布されています。
プレイヤーは鉄道会社の経営者となり、線路を敷き、列車を走らせ、駅周辺を発展させて巨大な都市圏を築き上げることを目指します。
本マニュアルは、FreeTrainの機能を拡張したい開発者(プラグイン作成者)に向けた技術資料ですが、ゲームの仕組みを深く理解したいプレイヤーにとっても有用な情報を含んでいます。
目次
1.1 FreeTrainの概要
ゲームの目的
明確なゴールはありませんが、一般的には以下のサイクルを繰り返して発展を楽しみます。
- 鉄道網の建設: 線路を敷設し、駅を設置します。
- 列車の運行: 車両を購入し、ダイヤを設定して走らせます。
- 都市の発展: 駅ができると周辺の地価が上がり、住宅や商業ビルが自動的に建設されます。
- 収益の確保: 乗客からの運賃収入に加え、子会社の売買や資産価値の向上を通じて事業を拡大します。
※ゲームシステム上、子会社からの定期的な収入(家賃など)は資金に直接計上されませんが、子会社の評価額を高めて売却することで大きな利益を得ることができます。
アーキテクチャの特徴
FreeTrainは極めて高い拡張性を持つように設計されています。ゲームのコアエンジン(時間進行、描画、基本機能)以外のほとんどの要素は「プラグイン」として実装されており、ユーザーがこれらを自由に追加・差し替えすることが可能です。
1.2 開発環境のセットアップ
FreeTrainの拡張は、その難易度に応じて2つのステップに分かれます。
XMLによるデータ定義
既存の仕組み(車両、建物などのコントリビューション)を利用し、画像やパラメータだけを新しく作成する方法です。C#によるプログラミング
新しい挙動を持つ建物や、独自のUI、複雑な運行ルールなどを追加する方法です。FreeTrain本体と同じC#言語を使用します。
本マニュアルでは、XMLリファレンスから内部の仕組み、C#によるプログラミングまでを体系的に解説していきます。
1.3 関連リンク
- FreeTrain公式サイト: オリジナルの作者である川口耕介氏によるサイトです。
- FreeTrain都市開発局: FreeTrain EX(旧称「拡張パック」)の開発者である C477氏によるサイトです。EXの仕様解説などが掲載されています。
- FreeTrain EX Av @ wiki: FreeTrain EX Av に関する情報や、プラグイン紹介がまとめられているWikiです。
