このサイトについて

Rail Typing は個人で作っている小さなプロジェクトです。実在の路線を舞台に、駅名を順番に入力して電車を進めるタイピングゲーム。現在は東京と大阪の52路線・1078駅を収録しています。

なぜ作ったのか

日本語のタイピング練習は、多くの人と同じく単語リストから始めました。効果はある、でも退屈でした。結局続いたのは、すでに頭の中に地図がある題材を打つことです。東京で過ごした人にとって、鉄道網はまさにそれ。「新宿」を単語として暗記する必要はありません。そのホームに立ったことがあるのだから。

そこでゲームは、路線を一本の「走行」に変えました。路線・出発駅・方向を選ぶと、次の駅名を正しく打ったときだけ電車が進みます。最初のコースが山手線の30駅になったのは、環状線だからです。終点がないので走行の長さが自然にそろって比較でき、設定をやり直さずにもう一周できます。

おかげで練習に「かたち」ができました。「2分間打つ」ではなく「東京から東京まで」。前回より速かったか、そうでなかったか——それだけです。

入力エンジンの仕組み

いちばん時間がかかったのがローマ字判定で、そしていちばん自信のある部分でもあります。日本語のローマ字表記は一対一ではありません。「し」は shi でも si でも正しく、「つ」は tsu でも tu、「しゃ」は sha でも sya。一つの綴りしか受け付けないタイピングゲームが測っているのは日本語力ではなく、作者と同じローマ字表を習ったかどうかです。

そこで各かなユニットに、受け付ける綴りをすべて持たせています(先頭が正式表記)。判定は一打鍵ずつの前方一致方式で、現在のユニットの候補のうち一つでも入力済みの文字列で始まっていれば、その打鍵は受理されます。s を打った時点では shi・si・sha・sya がまだ全部生きていて、次に y を打った瞬間に sya が確定する。決める必要が出るまで決めない、という作りです。

扱いに困るかなが二つあり、どちらも判定時ではなくトークン化の時点で処理しています。促音「っ」は次の子音を重ね、「ん」は次の拍に属する n を伴います。どちらも入力開始前に「後ろのユニット」へ折り込んでしまうので、判定側が境界をまたいで先読みする必要がありません。うまく動いているときは誰も気づかず、失敗すると悪夢のようなバグを生む種類の設計判断です。

誤打鍵は飲み込まずに拒否します。打ち間違えてもバックスペースは不要——その文字はそもそも入らず、ミスだけが記録されて、そのまま打ち続けられます。確定済みの拍まで戻るバックスペースも用意していますが、こちらは状態を巻き戻すのではなく、最初から入力を再生し直して実現しています。

データの出どころ

駅名、かな読み、駅ナンバリング、路線記号、路線カラーはいずれも公開された事実です。各事業者の案内表示と公表されている駅ナンバリングから書き起こし、路線ごとに駅順を端から端まで確認しました。かな読みは自動テストの対象で、正式なローマ字で最後まで打ち切れない駅名が一つでもあるとビルドが落ちます。おかげで、認めたくない数の自分のタイプミスが見つかりました。

画面上の路線の形は、路線によって公式の路線図から手でトレースするか、実座標から投影しています。地下鉄の路線図は地図ではなく図です。大事なのは、駅の壁で見かけるあの形に見えること。

路線データにはバージョン番号があります。駅や入力ルールが変わるとバージョンを上げ、記録は同じバージョン同士でのみ比較されます。自己ベストが黙って比較不能になることはありません。

このプロジェクトではないもの

本サイトは非公式のファンプロジェクトであり、JR東日本、JR西日本、東京メトロ、都営地下鉄、Osaka Metro その他いかなる事業者とも関係はありません。各社の承認を受けたものではなく、事業者の制作物も一切使用していません。

サイト上のイラスト、路線図、音、解説文はすべてオリジナルです。効果音はサンプリングではなくブラウザ上で Web Audio API により合成しています。半分は音作りの好みで、半分は権利上の理由です。車両イラストもこのプロジェクトのために描き下ろしています。

時刻表・運賃・運行情報は意図的に載せていません。これは鉄道を題材にしたタイピングゲームであって、乗換案内ではありません。実際の移動には各事業者の公式サービスをご利用ください。

ご連絡

とくに駅データの誤りのご指摘は大歓迎です。読みが違っていたらぜひ教えてください。ご連絡はこちらへ: support@railtyping.com

非公式のファン制作です。駅名・路線名は公開されている事実情報で、ビジュアルと音声はすべて独自制作、JR東日本・東京メトロ・都営地下鉄などの各事業者とは関係ありません。