ultratears
Unofficial native Windows port of Tears of the Kingdom 1.4.3 using static recompilation. Builds locally from the player's own extracted game dump; no game files included.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗VRChatのイベント「ロリっ子喫茶ぷぷりえ」のカードゲームで、VRChat上でプレイできます。 幼女デッキとお菓子デッキを使って相手のお貸しポイントを先に無くした方が勝ち!
推しのカードでデッキを構築しよう!
ドキュメントの入口は docsの目次。CPUの評価式・重み・探索・学習は CPU仕様 を参照。
能力説明とイチゴ・ぶどうのFAQは ルール・裁定集 を参照。
カード効果の機械向け処理と、提供ルールへの対応状況は カード効果の実装状況 を参照。
Next.js / game-core の分離方針、Vercelへの配置、未確定ルールは 対戦ゲームの設計 を参照。
ゲーム本体の独立パッケージは packages/game-core に置く。
ゲームは /game/。開くとフレンドと集まれるルームに入り、招待リンク(Discordに貼れる)で友だちを呼んで対戦・観戦したり、空席にCPUを呼んだりできる(集まって遊べるルームの設計)。ひとりでのCPU対戦・両側操作は /game/cpu/。Firebaseの保存済みデッキも読み込める。/game/editor/ には新カードの効果を試す盤面も用意している。操作と対応範囲は 盤面エミュレータ を参照。
このプロジェクトは mise でNode.jsのバージョンを管理している。
mise install
pnpm install --frozen-lockfile
pnpm run dev
miseをシェルへ有効化し、このディレクトリで指定のNode.jsが選ばれている状態で実行する。
パッケージマネージャーは pnpm を使う(pnpm-lock.yaml が正)。pnpm workspaces が packages/game-core をリポジトリ内でリンクするため、game-core を npm に公開する必要はない。
mise run install と mise run dev も、それぞれ同じpnpmコマンドを呼び出す補助タスクとして利用できる。
ルーム(フレンドとの対戦・CPUを呼ぶ・招待)まで手元で試すときは、ルームサーバーとWebアプリをまとめて起動する。
pnpm run dev:rooms # ルームサーバー http://localhost:8099 と http://localhost:3000/game/
ルームサーバーが応答してから、そこにつないだ pnpm run dev を始める。Ctrl+C で両方止まる。ルームはプロセス内に持つので、止めると消える(REDIS_URL を付ければそのRedisを使う)。ポートは ROOM_PORT・PORT で変えられる。別の人として入るときはシークレットウィンドウを使う。
型チェック・Lint・カードデータ検査をまとめて実行する場合は mise run check を使う。
VRChatのカードゲーム「ぷぷりえーる」は、VRChatのワールド内でデッキを構築する必要があり、保存は各自がデッキデータをメモする必要がありました。これをブラウザ上で構築してユーザーごとに保存できるようにしたいと思い開発を開始しました。
また、2Pickで構築したいという要望や、webアプリがあったらいいなという話があったため、このプロジェクトを進めることになりました。
短期間で必要な機能を形にするため、Next.jsを使い、AIも活用しながらハッカソン並みの速度で開発した。 VRChatでユーザーと話し、要望を聞きながら実装を繰り返している。 現在のスタイリングにはPanda CSSを使用し、ユーザーごとのデッキ保存にはFirebaseを利用している。
カード画像はリポジトリのサイズを抑えるため WebP(幅800px)で管理している。 画像を追加・更新するときは以下の手順で行う。
public/images/yojo|sweet|playable/ に置くsrc/data/*.json にカードを追加する(imageUrl は .png のままでOK)pnpm run cards:optimize を実行 → WebP変換 + JSONの imageUrl を .webp に自動更新pnpm run cards:check で整合性チェック(CIでも自動実行される)pnpm run cards:optimize
pnpm run cards:check
.png の参照が残ったままだと cards:check がエラーになる(変換し忘れ防止)OGP用カードPNG(public/og-cards/{yojo,sweet,playable}/)と一覧用WebP(public/deck-thumbnails/)はGit管理しない。
pnpm run build・pnpm run dev・pnpm run test:deck-images の前に自動生成する。
手動では pnpm run cards:generate を使う。元画像または生成スクリプトの更新時だけ作り直し、OGP用PNGは可逆圧縮する。
生成物は内容ハッシュ付きで .next/cache/pplale-assets/ に保存し、public/ へハードリンクする。.next/cache は next build でもVercel・CI・Dockerのビルドキャッシュでも保持されるため、クリーンなチェックアウトでも変更のないカードは再生成しない。
caption.png と profile-bg.jpg は引き続き同梱する。
クリーンな環境でもテスト用ヘルパーの型を解決できるよう、本番ビルドとルームサーバーテストの前にgame-coreも自動でビルドする。
firebaseを使うためには必要です。
NEXT_PUBLIC_CPU_SERVER_URL(任意): CPU サーバーの URL。設定すると「さいきょう」がそのモデルを使い、同意したプレイヤーの対戦記録を送る(services/cpu-server)。