『Simutransの本体開発』を書いて
この記事はSimutrans Advent Calendar 24日目の記事として書かれたものです。
私、ひめしはこの度Simutrans本体開発初の教科書『Simutransの本体開発』を執筆し、頒布させていただいております。環境構築から始まり、シムトラ本体開発の基礎知識の解説、そして本体改造の実践演習と、ゼロからある程度本体改造を楽しめるようになるまで一通りカバーしたつもりです。
#Simutransの本体開発 刷り上がりました!実践的な演習を通じてしっかりシムトラ本体開発が身につくようになっています。
— ひめし @冬コミ二日目東T06b (@himeshi_hob) November 28, 2018
頒布は
12/8 シムトラ京都学会 800円(未成年500円)
12/30 C95二日目東T06b 1000円
です。皆さまにお渡しできる日を楽しみにしています! pic.twitter.com/U8yP4rBDu0
12月8日にはありす様主催のSimutrans学会in京都にて初回頒布をさせていただきました。おかげさまで売上部数22部を記録し、増刷をさせていただくまでになりました。ご購入いただきました皆さま、ありがとうございます。次回の頒布は冬コミ二日目です。ぜひいらしてください。
さて、本自体はシムトラ本体開発の教科書として閉じた形にしたかったので、あまり余計なことは書きませんでした。(ページ数が増えて価格が上昇するのを避けたかったというのもありますが。)この記事では、本にまつわる与太話をつらつらと書いていきたいと思います。
本を書き始めた動機
本のあとがきのところには「去年のパッチゼミで教科書が必要と感じた」とか書きましたが、実際のところこの本を執筆したのは完全に院試勉強の現実逃避ですorz
院試(大学院修士課程の入学試験のこと)は8月末でしたので7月アタマぐらいから院試のための勉強を始めたのですが、いかんせん身が入りませんでした。院試が終われば卒論の中間発表なるものを提出することになっていましたので、「気分転換にTeXの練習でもするか」とおもむろにTeXのセットアップを始めたわけです。
このときふざけて本体開発本の序論的なものを書いてみたのですが、そこでスイッチが入ってしまいアレヨアレヨと筆が進み始めてしまいました。
院試勉強だるすぎて筆が止まらないんですが( pic.twitter.com/94XtcaAeIb
— ひめし @冬コミ二日目東T06b (@himeshi_hob) August 9, 2018
とはいえこのときはただ現実逃避のために本を書いていたので、どこで頒布するとかいう話はとくに考えていませんでした。ちょうどこの時期にC94(夏コミ)があったのですが、それもあって「次の冬コミに出せ」というお声をいただくようになります。
コミケ出展どころかコミケに行ったことさえない私は躊躇していましたが、MARKさんからトドメの一言が。
必要なら明日買ってきますよ?
— MARK@社蓄5年生 (@mark8629) August 11, 2018
そしてついに退路を自ら断ってしまったわけです(
@mark8629 明日ですが、申込用紙の調達お願いできますか?
— ひめし @冬コミ二日目東T06b (@himeshi_hob) August 11, 2018
ありすさんによるシムトラ京都学会のアナウンスもあったので、京都学会に間に合うように執筆をするということがこの時決まりました。
全然別の話になりますが、本体開発本を書いたのは私がいつSimutransの活動から離れても良いようにしたいからという理由もあります。私がSimutransを始めてから8年が経ちましたが、この間にずいぶんと界隈の人が入れ替わりました。あれだけ精力的に動画を上げていたうp主さんが、あれだけすばらしいアドオンを量産していた作者さんが突然失踪することはごく当たり前に起こることです。
アドオンであれ本体改造であれ、作者が引退すると、その制作物は程度の差はあれど使えなくなっていきます。緩急坂の導入によって古い軌道系アドオンは事実上使えなくなりました。本体のパッチの場合、本家のコードの変化に追従させないと、パッチを統合することさえすぐに困難になります。アドオンやパッチが継続的に使えるようにするには、「誰か」がメンテナンスを担う必要があります。この点で、アドオンや本体パッチの製作技術を次の世代に伝えることは重要なのです。
技術を次の世代に伝えることの重要性を私が痛感した一つのできごとは、俗にいうSISショックです。SISプロジェクトの構成メンバーの方々がいろいろな事情によりアドオン制作の第一線から引退され、多くのアドオンが「死に絶えた」というべき状況になりました。SISの後継を担うアドオンは私が知る限り未だ登場していません。作者が引退すると制作物が死を迎えるというのはあまりにも悲しいと私は思うのです。
アドオン制作の場合、その制作プロセスの全てをオープンにすることはあまり一般的ではなく、オープンにしようとしても簡単ではありません(それでも最近はAdvent Calendarなどを通じてアドオン制作ノウハウを公開する方が増えており、大変喜ばしいことです)。しかし、本体開発の場合はソースコードが成果物であり、原典です。ソースコードを読み、その意味を理解し、コードを書くことでアルゴリズムを表現する術を得れば、誰でも思うように開発をすることができます。ですから、『Simutransの本体開発』では、ソースコードの読み方を解説し、実践演習を通じてコードの書き方も習得できるようにしたのです。
私はまだ学生の身分です。いつSimutransの世界からバッタリ消えることになるかは自分でもわかりません。しかし、作ったものは当分そこに残ります。このとき、本体開発を嗜む日本人が少しでもいれば、メンテナンスがされなくなり死に絶えていく運命にある遺産を蘇らせることができるわけです。未来のSimutrans本体開発を担う人の育成に、今回執筆した本が少しでも役立つことができればとても嬉しいです。
書くペースとか
8月上旬から書きあげた本ですが、ページ数だけで言えば8月の終わりには8割以上紙を埋めていました。あとから知ったのですが、最初に一気にかきあげると本は完成にこぎつけやすいそうです(要出典)。9・10月はほぼ筆を進めず、11月に残りの2割を書きつつ、既に書いた部分の修正を重ねていきました。
書く内容に困ることはありませんでした。2017年にやった本体パッチゼミの内容をそのまま本に書き下すだけだったからです。(もちろん本の内容はパッチゼミよりも大幅に充実させました。)
特に技術書的なモノの場合、本を誰かに添削してもらうというのは大変有効だと思います。今回の本ではshingoushoriさんに文体・内容の両面から添削をしていただきました。
これから本を書く人へ
これからシムトラ系同人誌を書こうとする人にむけていくつか書き残しておこうと思います。
本を書き始めるときにまず最初にすべきことは、頒布イベントへの申込みです。というのも、コミケなどの大型イベントになるとイベントの3〜6ヶ月前というかなり早い段階で参加申し込みが締め切られます。シムトラ系だと主たるイベントはやはりコミケ、ということになると思いますので、本を書くなら12・1月中に決断すべきです。
イベントに申し込むとやる気に満ち溢れると思います。そのまま全体の8割ぐらいはページを埋めてしまいましょう。締切ドリブンな書き方は締切直前の時期に忙しくなってしまうとアウトなので、スタートダッシュでほぼ全部埋めてあとは修正をするだけという状態にまでしてしまうのが良いと思います。それでも締切直前は慌ただしくなるものですが。
本を有償で頒布する場合、気をつけなければならないことは権利関係です。これについてはMARKさん(自由町というシムトラ入門本を執筆なさっています)が12/8のシムトラ学会でわかりやすく説明されていました。一度は確認してアタマに入れておいたほうが良いと思います。(下の動画の5:30あたりから権利関係の話がはじまります。)
おわりに
『Simutransの本体開発』の次回の頒布はC95(冬コミ)二日目(日曜日)東ホールT-06b「日本シムトラ学会」にて行います。頒布価格は一冊1000円です。新刊5品、既刊2品の計7品を用意してお待ちしております。ぜひおこしください。
#C95 #日本シムトラ学会 のおしながきです!
— 日本シムトラ学会 (@simumeeting2017) December 20, 2018
本体開発本や解説本、四コマに動画制作本、そして大人気のSiMusicとバラエティ豊かな品揃えになりました。
12/30(日)東ホールT-06bにて、7種類の本・CDを用意してお待ちしております! pic.twitter.com/i9WkOVJKr5
ネット通販はコミケ頒布であまった分だけやります。コミケで売り切れる可能性も無くはないです。入手したい方はコミケ来場をオススメします。どうしても入手したい方でコミケ来場が物理的に困難な場合はひめしにご連絡ください。
京都学会で本をお買い上げいただいた方へ、このたびは本をご購入いただきありがとうございました。本体開発とどのように関わるかは各人の自由ですし、本をどのように扱うかもまた各人の自由です。しかし、せっかく本を手にとっていただいたので、ただ文章を眺めるだけではなく、ぜひ演習をこなして本体開発を習得していただけると著者として大変嬉しいです。
ほしいアドオン
アドベントカレンダーのキャンペーンでほしいアドオンを挙げようというのをやっておりますので私も書いておきます。私が欲しいのは基本的にpak128無印版のアドオンです。
車両系... TOQ2000・6000系(Qシートも)、都営浅草線5500系、シティーカーアドオン(バラエティ豊かな日本車をたくさん走らせたい)
インフラ系... SIS新幹線軌道の新描画位置対応版、OTRPで使いやすい大交差点対応道路信号(pak64系だと釘ニさんのアドオンが良い例です。)