ShadowOfTheColossus-PC
Shadow of the Colossus(PS4, CUSA08809)의 네이티브 윈도우 포트 – 직접 게임 덤프를 가져와 실행
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗ジェット戦闘機のスピード感を体感できる 3D ブラウザゲームです(Three.js 使用)。
空母からカタパルトで一気に射出 → 敵機を撃墜 → 敵空母を撃沈! 燃料が尽きる前に母艦へ戻って着艦し、給油・補給をしてまた発艦します。
index.html をブラウザで開くだけで遊べます(ビルド・サーバー不要、オフラインで動作します)。
| キー | 操作 |
|---|---|
| W / S(↑ / ↓) | 機首 上げ / 下げ(V キーで上下反転) |
| A / D(← / →) | ロール(傾けると旋回) |
| Q / E | ラダー |
| SHIFT | アフターバーナー(速いが燃料を多く消費) |
| X | 減速 |
| SPACE / J | 機銃 |
| F / K | ミサイル(照準内の敵を一定時間捉えるとロックオン → 誘導) |
| L | 着艦アプローチ開始(母艦から 3km 以内・高度 900m 以下) |
| SPACE / ENTER | 甲板上で発艦 |
| C | 視点切替(後方 / コックピット) |
| P / ESC | ポーズ |
スマートフォン・タブレットではタッチ操作(左側の仮想スティック+右側のボタン)に対応しています。
端末やブラウザの言語が日本語なら日本語、それ以外なら英語で表示します。タイトル画面の「日本語 / English」でいつでも切り替えられ、選んだ言語は次回も使われます。
文章はすべて js/i18n.js の翻訳表にまとまっています。言語を増やすときは、ここに新しい言語の表を追加します。
タイトル画面のプライバシーポリシーへのリンクも言語に合わせて切り替わります(日本語: https://techgym.jp/privacy-policy/ 、英語: https://techgym.jp/privacy-policy-en/ 。js/i18n.js の url.privacy)。
燃料がゼロになるとエンジンが停止し滑空状態になります。墜落・撃墜で残機が減り、0 になるとゲームオーバーです。
ゲームオーバー画面には、スコア・称号・撃墜数や最高速度などの戦績表・次回へのヒントを表示します。「シェア」ボタンでは、スマホなど共有機能のある端末では共有シート(対応端末は最後の瞬間の画像つき)、それ以外では X の投稿画面が開きます。シェアにはゲーム紹介記事の URL(https://techgym.jp/column/claude-code-game-jet-fighter/)が付きます。
vercel.json で、Vercel が npm run build を実行して www/ を公開するよう設定しています(Android アプリに同梱するのと同じファイルです)。
Google Play で公開中です:https://play.google.com/store/apps/details?id=jp.techgym.jetstrike
Capacitor でゲームのファイルをアプリ内に同梱しているため、ネットにつながっていなくても遊べます。
アプリ ID は jp.techgym.jetstrike です(Google Play に一度公開すると変更できません)。
Android アプリでのみ広告を表示します(Web 版には広告は出ません)。
| 広告 | タイミング |
|---|---|
| インタースティシャル(全画面) | ゲームオーバー後に「もう一度」を押したとき、2 回に 1 回 |
| リワード | 最後の残機を失ったときの「CONTINUE?」画面で「広告を見て続行」を選ぶと、残機 +1 で再出撃(1 ゲーム 1 回まで、10 秒で自動的にゲームオーバー) |
js/ads.js、AdMob のアプリ ID は android/app/src/main/res/values/strings.xml にあります。jet-strike.apk)は常に Google のテスト広告 を表示します。自分でタップしても問題ありません。ADMOB_MODE=production で本番の広告に切り替えます(scripts/build-web.js が js/ads-config.js を書き換えます)。GitHub Actions(自動): Web 版や android/ を変更して push すると、.github/workflows/android.yml が動作確認用の APK を作ります。
既定ブランチのビルドは GitHub の Release(android-latest)に自動で載るので、Android 端末で次の URL を開くか QR コードを読み取るだけで最新版をダウンロードできます。
https://github.com/techgymjp/jet-fighter/releases/latest/download/jet-strike.apk
ダウンロードした jet-strike.apk を開き、「提供元不明のアプリ」のインストールを許可するとインストールできます。
動作確認用の署名鍵(android/app/debug.keystore)はリポジトリで固定しているので、新しいビルドもアンインストールせずに上書きインストールできます。
(Release に載る APK はデバッグ版です。Google Play には下の手順で作る署名済み .aab を使います)
手元の PC(Android Studio):
npm ci
npm run android:sync # Web ファイルを www/ にまとめて Android プロジェクトへコピー
npm run android:open # Android Studio で開く
keytool -genkeypair -v -keystore upload.jks -alias upload -keyalg RSA -keysize 2048 -validity 10000
base64 -w0 upload.jks > upload.jks.base64 # Linux
base64 -i upload.jks | tr -d '\n' | pbcopy # macOS(クリップボードにコピー)
| 名前 | 内容 |
|---|---|
ANDROID_KEYSTORE_BASE64 | upload.jks.base64 の中身 |
ANDROID_KEYSTORE_PASSWORD | キーストアのパスワード |
ANDROID_KEY_ALIAS | upload(作成時に指定した別名) |
ANDROID_KEY_PASSWORD | 鍵のパスワード |
jet-strike-release-aab(.aab)ができるストアに載せる画像(アイコン・フィーチャーグラフィック・日英のスクリーンショット)と掲載文の下書きは docs/store/ にあります(docs/store/listing.md)。
バージョン番号(versionCode)は Actions の実行回数が自動で使われます。表示用のバージョン名は package.json の version です。
Android 版と同じ Capacitor で、ios/ に iOS のプロジェクトを入れています(Bundle ID は jp.techgym.jetstrike、iPhone の横画面固定)。
js/ads.js で OS ごとに切り替え)。起動時、同意確認のあとに「トラッキングの許可」(App Tracking Transparency)の確認画面を出しますnpm run ios:sync はテスト広告、npm run ios:release は本番広告で、ゲームのファイルを iOS のプロジェクトにコピーしますdocs/IOS_BUILD.md にあります.github/workflows/ios.yml)が、push のたびに iOS 版がビルドできるかを確認します(署名なし)All rights reserved. 著作権はテックジム株式会社に帰属します。無断での複製・改変・再配布、Web サイトやアプリとしての公開を禁止します。ただし、テックジムの受講生が学習目的で複製・改変することは許可します(商用利用は不可。詳しくは LICENSE)。
同梱の Three.js は MIT License です(js/vendor/THREE_LICENSE)。
index.html 画面構成(HUD・タイトル・タッチ操作)
css/style.css スタイル
js/main.js ゲームロジック(飛行・戦闘・着艦・給油・敵 AI・HUD)
js/effects.js 爆発・煙・曳光弾・スピードラインなどのエフェクト
js/models.js 戦闘機・空母・海・空・雲のモデル生成
js/audio.js 効果音(WebAudio 合成)
js/ads.js Google AdMob 広告(Android アプリのみ)
js/ads-config.js 広告のモード(test / production)
js/i18n.js 表示言語(日本語 / 英語)の翻訳表
js/vendor/ Three.js r160(MIT License)
icon.svg アプリアイコンの元画像(assets/ に Android 用の元画像)
android/ Android アプリのプロジェクト(Capacitor)
scripts/ Android に同梱する Web ファイルを www/ にまとめるスクリプト