個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗サッカーの コーナーキック をテーマにしたブラウザゲームです。 選手A がコーナーから蹴り、選手B がジャンプ(ヘディング)かスライディングで合わせてゴールを狙います。全 10 本で何点取れるかを競います。
画面は 操作中の選手の背中越しの3D視点。ナイター照明のスタジアムで、選手の動き・ボタン・花火・歓声・質感は techgymjp/jackal(ジャッカル)と同じ作りです。
index.html をブラウザで開くだけで遊べます(Web 版はビルド不要)。Android アプリ版と iOS アプリ版もあります(下記)。3D描画に同梱の three.js(vendor/three.min.js, MIT License)を使っています。
GitHub Pages などの静的ホスティングにそのまま置けます。
後半になるほど相手の反応が速くなります。ナビ ON なら、キックの軌道(ためる前は一番低い軌道と一番高い軌道、ためている間はその高さの軌道)、ボールに合わせる場所(緑の輪)、 「今押せば当たる」タイミング(足元のオレンジの輪とボタンの点滅)が出ます。
| 操作 | タッチ / マウス | キーボード |
|---|---|---|
| 落下地点を動かす(選手A)・選手B の移動 | 左下の 方角リング(16方位・中心から離すほど速い) | 矢印キー / WASD |
| キック(選手A・長押しするほど高く) | 「キック」ボタン長押し → 離す | Space(または I)長押し → 離す |
| ジャンプ(選手B・ヘディング) | 前・左・右・ダッシュの真ん中の「ジャンプ」ボタン | Space(または U) |
| 前・左・右スライディング(選手B) | 右側の「前」「左」「右」ボタン | I / J / L |
| ダッシュ(選手B) | ダッシュボタン長押し(スタミナ消費) | Shift |
| 一時停止 | — | P / Esc |
| 音のオン/オフ | 画面上部のスピーカーボタン | M |
| ナビのオン/オフ | 画面上部の「ナビ」ボタン | N |
方向は画面基準です(前 = 画面の奥)。
タイトル画面は「プレイ」と「あそびかた」のボタンだけにして、操作の説明は「あそびかた」のページにまとめています(キーボードは Space でプレイ、H であそびかた、Esc であそびかたからタイトルへ)。 Web 版だけ、タイトル画面と「あそびかた」に Android アプリ版(Google Play)へのリンクを出します(新しいタブで開く。アプリの中では出さない)。
音はすべて Web Audio API で合成しています(音声ファイルなし)。
日本語と英語に対応しています。端末の言語が日本語なら日本語、それ以外は英語で表示し、タイトル画面左下のボタンで切り替えられます。
文言は i18n.js にまとめています。
Capacitor でゲームのファイルをアプリに同梱し、Android アプリにしています(オフラインで遊べます)。
構成は techgymjp/jet-fighter の docs/ANDROID_PORTING.md、techgymjp/jackal と同じです。
jp.techgym.cornerkick(Android のパッケージ名には - を使えないため、リポジトリ名から - を抜いた)ビルドは GitHub Actions(.github/workflows/android.yml)で行います。
npm ci → npm run build(www/ に Web ファイルをコピーし、ads-config.js と build-info.js を生成)→ npx cap sync android → ./gradlew assembleDebugandroid-latest の corner-kick.apk を差し替え(動作確認用・テスト広告)
https://github.com/techgymjp/corner-kick/releases/tag/android-latest(QR コード: docs/apk-qr.png)https://github.com/techgymjp/corner-kick/releases/latest/download/corner-kick.apkANDROID_KEYSTORE_BASE64 / ANDROID_KEYSTORE_PASSWORD / ANDROID_KEY_ALIAS / ANDROID_KEY_PASSWORD)があれば、本番広告で署名付き AAB を作り Artifact に上げるAdMob のアプリ ID は android/app/src/main/res/values/strings.xml の admob_app_id、本番の広告ユニット ID は ads.js の UNITS.production にあります。
動作確認用 APK はどれもテスト広告、Google Play 用の AAB は本番の広告です(広告ユニット ID が空の種類は出さない)。
手元で試すとき: npm install → npm run android:sync → npm run android:open(Android Studio が必要)。
アイコンと起動画面は assets/ の元画像から npx @capacitor/assets generate --android で生成しています。
Android 版と同じ Capacitor のプロジェクトに ios/ を足しています。構成は techgymjp/jet-fighter(JET STRIKE)の iOS 版と同じです。
ビルドと App Store への提出は Mac の Xcode で行います。手順は docs/IOS_BUILD.md です。
jp.techgym.cornerkick(Android のパッケージ名と同じ)。Team ID GNM3VTX9YGios/App/App/Info.plist の GADApplicationIdentifier、本番の広告ユニット ID は ads.js の UNITS.ios.productionnpm run ios:sync(テスト広告)/ npm run ios:release(本番広告。App Store 用)/ npm run ios:open.github/workflows/ios.yml)で、push のたびに署名なしでシミュレーター向けにビルドできるかを確認するdocs/store/ios/(スクリーンショット 2622×1206 日英 各 4 枚、ヘッダ 3840×1646、検索結果 3840×2560)| ファイル | 内容 |
|---|---|
game.js | ゲームの進行・ボールの物理・選手と守備の動き・入力・2D の表示(HUD・ボタン・ゲージ・ミニマップ) |
scene3d.js | 3D 描画(スタジアム・ゴールとネット・選手・ボール・花火・カメラ) |
sound.js | 音(Web Audio API で合成) |
i18n.js | 日本語 / 英語の文言 |
ads.js | 広告(Android アプリのときだけ動く) |
android/ | Android アプリのプロジェクト(Capacitor) |
ios/ | iOS アプリのプロジェクト(Capacitor) |
テスト用に window.CornerKick(newGame(seed)、update(dt)、setBot(fn)、forceSide など)を公開しています。
著作権はテックジム株式会社に帰属します(All rights reserved)。許可なく複製・改変・再配布すること、Web サイトやアプリとして公開・販売すること、名前・ロゴ・アイコン・画像を使うことを禁止します。 テックジムの受講生が学習目的で複製・改変することは許可しますが、アプリストアでの公開・広告の掲載・販売などの商用利用は禁止し、著作権表示を残してください。 同梱の three.js は MIT License です。詳しくは LICENSE を見てください。
Corner Kick — a 3D football browser game about scoring from set pieces.
index.html in a browser to play. An Android app (Capacitor) is built by GitHub Actions, and an iOS app is built with Xcode (docs/IOS_BUILD.md).