intro_of_simutrans_development

トップページに戻る

序論

本書の目的

テスト

本書の目的は,Simutrans本体開発へのスムーズな導入を行うことである.そのために本書はSimutrans本体開発に必要な知識を体系化した上で,実践的な開発トレーニングを提供する.読者は本書によって開発に必要な知識を習得し,開発力を身につけることができる.

Simutransは緻密な旅客流動シミューレーションを特徴とした,交通シミュレーションゲームである.1997年にHajo氏によって制作が開始されてから20年以上たつ今でなお活発に開発が続けられ,日々進化している.Simutransが持つ数々の魅力は多くの人々を沼に引きずりこんできた.本書を執筆した2018年現在,特に日本人ユーザーの間で本体改造への関心は高まりを見せている.アドオンが充実してくるにつれて革新の余地が小さくなり,ゲームシステムへの変革が期待されている.

Simutransはオープンソースのゲームプロジェクトであるから,誰でもコードを入手でき,開発に参加が可能である.しかしこれだけ本体開発への関心が高まった今日でさえ,日本におけるSimutrans本体開発参加者は少ない.Simutransの本体開発にはC++の言語知識が必要であることは言うまでもないが,残念ながらC++の仕様を十分に理解しただけでは本体開発ができるようにはならないのである.Simutransの本体開発をするということは数万行〜数十万行といったボリュームのコードの海を泳ぐことを意味する.この巨大なコードの海を自力で泳ぎきるためにはその泳ぎ方を知る必要がある.また,泳ぐために知っておいたほうがよいSimutransコード特有の知識もたくさんある.このようにゲームエンジンの改造には環境構築から始まり言語知識,膨大なコードベースの理解などが必要である.インターネットを漁れば各々についての解説はいくらでも見あたるが,それは散逸的なものである.このため,初学者がスムーズに開発に参加できるような環境とは程遠いものがある.

このような初学者を取り巻く環境をうけて,筆者はSimutrans開発に対するスムーズな導入を提供したいと考えた.そのために本書では,開発に必要とされる広大な知識を一箇所でわかりやすく体系化する.その上で実践的なトレーニングを提供し,開発力を養う.Simutransの本体開発を通じて身につく大規模ソフトウェア開発力はあなたのこの先の人生を豊かにしてくれるであろう.今はまだ本体開発を始められない方も,本書を通じて本体開発の楽しさを感じていただければ幸いである.

このあとは環境設定と基礎的な言語知識についての説明を行った後,市道化防止機能を題材として実際に本体改造を行っていく.読者にはこのチュートリアルを自らのアタマで考え,手を動かしながら進めていただきたい.それによって,読者は巨大なコードの海の泳ぎかたを習得し,かつスムーズにSimutransを改変するための知識を得ることができる.

想定する前提知識・環境

SimutransはC++で書かれているので,本書の読者は後にあるコーディング概論の章に従ってC・C++の言語知識を習得することになる.C++の理解にCの言語知識は重要であるから,本書の読者はC言語に習熟していることが望ましい.

本書の想定動作環境はWindows10とする.といっても動作環境が問題になるのは次の環境構築の章だけである.環境構築はWindowsの場合が最も複雑であり,macOSやLinuxの場合はより手軽に済むので安心してほしい.