尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗東京駅から博多駅まで 1,069.1km(実キロ)を、最高時速 603km/h の暴走新幹線で駆け抜ける 3D ブラウザゲームです。 ブレーキはありません。アクセルを離すと惰行でゆっくり減速しますが、そのぶんタイムは伸びます。
↑ / W / Space 長押し … 加速(0 → 603km/h)。離すとゆっくり減速→ / D … 右の線路(上り線)へ ← / A … 左の線路(下り線)へZ 左窓 X 前方(運転台) C 右窓H 警笛 M 消音 P / Esc 一時停止下り線には 300km/h ののぞみが走っています。線路の ポイント(⇄ の黄色い信号) の手前約 200m で横に入力すると、渡り線を通って隣の線路に移れます。 上り線では対向ののぞみが向かってくるので、次のポイントで下り線へ戻りましょう。 ぶつかると大爆発して、その場から速度 0 で再出発です。大爆発 1 回につき記録タイムに 3 分加算されます。 記録は「タイム部門」(ペナルティ込みのタイム)と「無事故部門」(大爆発 0 回で走り切ったときのタイム)の 2 部門です。
対向列車は指令所が管理していて、全力で加速しながら追い抜けば、戻る前に対向列車とすれ違うことはありません(追い抜き中に間に合わない列車は、戻り地点より先の信号で止まります)。
ビルドは不要です。静的ファイルとして配信してブラウザで index.html を開きます(ES Modules を使うため file:// では動きません)。
python3 -m http.server 8000
# → http://localhost:8000/
GitHub Pages などにそのまま置いても動きます。
JET STRIKE(techgymjp/jet-fighter)と同じ構成で、Capacitor を使って Android アプリにしています。パッケージ名は jp.techgym.shinkansen です。
npm run build で www/ にコピー)クラウドの Claude Code からは Android SDK を入れられないので、ビルドは GitHub Actions(.github/workflows/android.yml)で行います。
npm ci → npm run build → npx cap sync android → ./gradlew assembleDebug
既定ブランチのビルドは、動作確認用 APK(テスト広告)を Release android-latest に載せます
ダウンロード: https://github.com/techgymjp/shinkansen/releases/latest/download/bousou-shinkansen.apk
リリースページ: https://github.com/techgymjp/shinkansen/releases/latest
左: APK を直接ダウンロード 右: リリースページ
GitHub Secrets に署名鍵(ANDROID_KEYSTORE_BASE64 ANDROID_KEYSTORE_PASSWORD ANDROID_KEY_ALIAS ANDROID_KEY_PASSWORD)があれば、本番広告で署名付き AAB を作り、Artifact に上げます
ローカルで Android Studio を使う場合:
npm ci
npm run android:sync
npm run android:open
android/app/src/main/res/values/strings.xml の admob_app_idjs/ads.js の UNITS.android.production(バナー・インタースティシャル・リワード)本番の広告は、Google Play / App Store 用のビルド(ADMOB_MODE=production)のときだけ使います。動作確認用 APK はいつもテスト広告です。
Android 版と同じ Capacitor のプロジェクトに ios/ を足して作っています(JET STRIKE と同じ構成)。Bundle ID は jp.techgym.shinkansen です。
ios/App/App/Info.plist の GADApplicationIdentifier(アプリ ID)と js/ads.js の UNITS.ios.production(広告ユニット ID).github/workflows/ios.yml)で、push のたびに署名なしでビルドできるかを確認するdocs/store/ios/(スクリーンショット 2622×1206 日英各 4 枚、ヘッダ 3840×1646、検索結果 3840×2560)| 要素 | データの出どころ |
|---|---|
| 線路の曲がり方 | 国土数値情報(鉄道データ N02)の東海道・山陽新幹線の線形を平滑化して使用 |
| 駅の位置 | 同データの駅位置を線路上に投影して実測。東京〜新大阪 515.4km、新大阪〜博多 553.7km の実キロに合わせて補正 |
| 市街地・住宅地・田畑の分布 | 同データの在来線駅の密度(線路から 3km 以内の駅数)から自動判定 |
| 富士山・城・五重塔・寺・古墳・東京タワーなど | 実際の緯度経度から、線路からの距離と左右を計算して配置(小さな名所は見える距離まで寄せています) |
| 川と橋梁 | 主要河川の位置と橋梁の長さ。木曽川・長良川・揖斐川はトラス橋 |
| トンネル | 新丹那・六甲・安芸・新関門など主なトンネル(位置はおおよそ)。山陽新幹線の山間部には短いトンネルを補完 |
| 海・湖 | 相模湾・駿河湾・浜名湖・瀬戸内海など車窓から見える区間 |
駅を通過するとテロップが表示され、車掌放送(音声合成)で名所や駅を案内します。
index.html 画面と HUD
css/style.css
js/main.js ゲームループ・入力・カメラ・HUD・テロップ
js/world.js 沿線の 3D 世界(0.5km ごとのチャンクを生成・破棄)
js/trains.js のぞみ・対向列車・ポイント・衝突判定
js/models.js N700 系風の車両、五重塔、寺、城、古墳、富士山などのモデル
js/route.js 線路データへのアクセス
js/route-data.js 自動生成された線路データ(tools/build_route.py)
js/scenery-data.js トンネル・海・山地・橋梁などの区間データ
js/audio.js 走行音・効果音(WebAudio で合成)
js/effects.js 大爆発エフェクト
tools/ 線路データ生成スクリプトと名所の座標
vendor/ three.js r160 (MIT License)
fonts/ 数字用フォント DotGothic16 (SIL Open Font License)
js/native.js Android / iOS アプリのネイティブ機能 (戻るボタン・共有)
js/i18n.js 日本語 / 英語の表示文言と、名所・川・トンネルの英語名
js/ads.js AdMob 広告 (Android / iOS アプリのみ)
scripts/build-web.js www/ へのコピーと ads-config.js / build-info.js の生成
android/ Capacitor の Android プロジェクト
ios/ Capacitor の iOS プロジェクト
assets/ アプリのアイコンと起動画面の元画像
python3 tools/build_route.py N02-19_RailroadSection.geojson N02-19_Station.geojson tools/landmarks.csv > js/route-data.js
著作権はテックジム株式会社に帰属します(All rights reserved)。許可なく複製・改変・再配布すること、Web サイトやアプリ(Google Play、App Store など)として公開・販売すること、名前・ロゴ・アイコン・画像を使うことを禁止します。 テックジムの受講生が学習目的で複製・改変することは許可しますが、アプリストアでの公開、広告の掲載、販売などの商用利用は禁止し、著作権表示を残してください。詳しくは LICENSE を見てください。
同梱している three.js(MIT License)と DotGothic16 フォント(SIL Open Font License)は、それぞれのライセンスに従います。線路データは国土数値情報(国土交通省)を加工したものです。