Project Plateau
Project Plateau: four glass plates, one living valley, and the road back to camp.
翻訳待ち
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗歩いた距離だけ日本を旅する、位置情報ゲームのリバイバル作品です。
#クリックトリップ)。ビルド不要の静的サイトです。位置情報 API は HTTPS(または localhost)でしか動かないので、GitHub Pages などで公開するか、ローカルでは次のように起動します。
python3 -m http.server 8000
# → http://localhost:8000/
Capacitor でゲームのファイルをアプリに同梱し、Android アプリにしています(パッケージ名 jp.techgym.clicktrip)。構成は JET STRIKE と同じです。
Google Play: https://play.google.com/store/apps/details?id=jp.techgym.clicktrip(2026年10月公開)
npm run build で www/ にゲームのファイルをコピー(広告の本番/テスト切り替えとバージョン表示を生成)。Web 版の公開(Vercel)はこちらnpm run build:app(android:sync・ios:sync・ios:release と GitHub Actions が使う)。Web 版だけの部分(Google Play へのリンクと、それを端末によって隠す処理)を取り除く。目印は HTML が <!-- web-only -->〜<!-- /web-only -->、JS が // web-only:start〜// web-only:end。iOS の審査で「審査中に隠した機能」(Guideline 5.6)と見なされないよう、アプリには最初から入れないnpm run android:sync で Android プロジェクト(android/)に反映.github/workflows/android.yml)が行い、動作確認用の APK(テスト広告)を Release android-latest に載せます。Secrets にアップロード鍵があれば、Google Play 用の署名付き AAB(本番広告)も作りますdocs/apk-qr.png(直接ダウンロード)、docs/release-qr.png(リリースページ)docs/store/アプリだけの動き:
js/ads.js の production に入れ、空の種類は出しませんFLAG_KEEP_SCREEN_ON)はしていませんAndroid 版と同じ Capacitor のプロジェクトに ios/ を足して iOS 版にしています(Bundle ID jp.techgym.clicktrip、iPhone 専用・縦画面)。構成は JET STRIKE と同じです。
docs/IOS_BUILD.mdnpm run ios:sync(テスト広告)/ npm run ios:release(本番広告。App Store 用)/ npm run ios:open.github/workflows/ios.yml)が push のたびに、署名なしでビルドできるかを確認します.github/workflows/ios-release.yml が本番広告でビルドして TestFlight にアップロードします(scripts/ios-profile.py でプロビジョニングプロファイルを用意)docs/store/ios/(スクリーンショットは縦向き 1206 × 2622、ヘッダ 3840 × 1646、検索結果 3840 × 2560)ios/App/App/*.lproj/InfoPlist.strings)All rights reserved. 著作権はテックジム株式会社に帰属します。無断での複製・改変・再配布、Web サイトやアプリとしての公開を禁止します。ただし、テックジムの受講生が学習目的で複製・改変することは許可します(商用利用は不可。詳しくは LICENSE)。
観光地データは「国土数値情報(観光資源データ)」(国土交通省)を加工したもので、その利用条件に従います。
| パス | 内容 |
|---|---|
index.html, css/style.css | 画面 |
js/app.js | ゲーム本体(距離の計測、スワイプ移動、到着判定、保存、記録・地図) |
js/geo.js | 距離・方位・移動先の計算と 2km マスの定義 |
js/i18n.js | 表示言語(日本語 / 英語)の切り替えと画面の文言 |
js/ads.js | AdMob 広告(Android アプリのときだけ動く) |
js/sound.js | BGM と効果音(Web Audio API で合成。音声ファイルなし、曲はオリジナル) |
js/art.js | 観光地イラストの描画(モチーフ指定から SVG の風景画を合成) |
data/spots.json | ゲームで使う観光地 2000 件(座標・解説・クイズ・イラスト指定) |
data/spots_base.json | 国土数値情報から選んだ 2000 件の元データ |
content/spots_*.json | 観光地ごとの解説文・クイズ・イラスト指定 |
content/en_*.json | 観光地の英訳(名前・所在地・解説・クイズ) |
tools/build_spots.py | 国土数値情報 P12 の GeoJSON から 2000 件を選ぶスクリプト |
tools/merge_content.py | spots_base.json と content/ を合わせて spots.json を作るスクリプト |
tools/art-preview.html | イラストの一覧確認ページ(開発用) |
tools/store-screenshots.js, tools/store-compose.html | ストア用のスクリーンショットと App Store のヘッダ画像を撮る(開発用) |
tools/render-assets.js | assets/*.svg からアイコン・起動画面・ストア画像を書き出す(開発用) |
scripts/build-web.js | アプリに同梱するファイルを www/ にコピー |
android/ | Android プロジェクト(Capacitor) |
ios/ | iOS プロジェクト(Capacitor) |
国土交通省「国土数値情報(観光資源データ)P12」2014年版(全国約1.7万件)から、次の方針で 2000 件を選んでいます。
元データの都道府県ごとの収録数に差があるため、宮城・愛知・福井・神奈川・香川など一部の県は件数が少なくなっています。 座標は資源の範囲(点群・線・面)のうち重心に最も近い点を代表点としています。
解説文・クイズ・イラスト指定はゲーム用に作成したもので、最新の現地情報とは異なる場合があります。
利用条件(商用利用の可否など)は上記ダウンロードページの記載に従ってください。
出典: 「国土数値情報(観光資源データ)」(国土交通省)(https://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-P12-v2_2.html)を加工して作成