尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗日本語の説明は README の後半にあります。
An unofficial rocket fuel calculator for the Oxygen Not Included base game.
Select a rocket head, engine, modules, thrusters, oxidizer type, and target distance to calculate the required fuel amount, fuel tank count, and oxidizer tank count.
Install dependencies and start the development server:
npm install
npm run dev
Open http://localhost:3000 in your browser.
This project should be run with the Node.js version pinned in .mise.toml:
mise install
mise exec -- npm run dev
package.json selects Node.js 24.x for Vercel deployments. Vercel manages minor and patch updates; .mise.toml pins the local version only. After deployment, check node -v in the build logs (temporarily prepend it to the Build Command) and confirm 24.22.1 or a newer patched 24.x release. See Vercel's Node.js version documentation.
npm run dev
npm run build
npm run start
npm test
Set GTM_ID=GTM-XXXXXXX in .env.local for local development, or in Vercel Project → Settings → Environment Variables for deployments. Select Production (and Preview/Development if needed), save, and redeploy. No NEXT_PUBLIC_ prefix is needed. Configuration is applied at build time.
Without a valid ID, neither GTM nor the consent dialog is enabled. GTM loads only after analytics consent; choices are stored in localStorage for 180 days and renewed when the consent version or container changes. Cookie settings allows changing the choice; withdrawing consent reloads the page to stop loaded tags. Previously created cookies are not deleted. Storage failures keep the choice effective only for the current page.
Consent covers analytics only. Advertising consent signals remain denied. Configure the GTM container for analytics and ensure every advertising or custom tag respects the appropriate consent checks; arbitrary custom tags do not automatically respect Google consent signals. Vercel Analytics continues to run independently.
Help opens a guide with usage, base-game scope, calculation assumptions, and limits. Its content is included in the initial HTML while the calculator stays compact. The provisional mobile layout supports tap controls and vertical scrolling; a full mobile redesign and Japanese localisation remain separate work.
See SEO and responsive layout for metadata, sitemap, structured data, verification, and post-deployment checks.
The core fuel calculation lives in:
src/domain/rocketFuel.ts
The UI passes a plain rocket configuration into calculateRocketFuel, and the function returns either a feasible result with required fuel and tank counts, or an infeasible result with a reason.
Calculation tests are in:
tests/rocketFuel.test.ts
When changing calculation behavior, update the tests in the same change.
src/app/ Next.js App Router pages and layout
src/components/ UI components
src/components/Results/ Fuel and tank result display
src/domain/ Pure calculation logic
src/hooks/ React-facing state wrappers
src/provider/ Context providers
src/contents/data.json Rocket parts data
tests/ Calculation tests
public/assets/ Game-related UI images
Bug reports, requests, and questions can be sent through the contact form (no account required). If you have a GitHub account, Issues works as well.
Oxygen Not Included is developed by Klei Entertainment.
This project is an unofficial fan-made calculator.
Oxygen Not Included の Base Game 向け非公式ロケット燃料計算ツールです。
ロケットのヘッド、エンジン、モジュール、スラスター、酸化剤タイプ、目的距離を選択すると、必要な燃料量、燃料タンク数、酸化剤タンク数を計算します。
依存関係をインストールし、開発サーバーを起動します。
npm install
npm run dev
ブラウザで http://localhost:3000 を開いてください。
このプロジェクトでは .mise.toml に固定された Node.js バージョンを使用してください。
mise install
mise exec -- npm run dev
Vercel 向けには package.json で Node.js 24.x を指定します。マイナー・パッチ更新は Vercel 側が管理し、.mise.toml の固定はローカル環境だけに適用されます。デプロイ後は Build Command の先頭に一時的に node -v を追加してビルドログを確認し、24.22.1 以上の修正済み 24 系が使われていることを確認してください。Vercel の Node.js バージョン仕様も参照してください。
npm run dev
npm run build
npm run start
npm test
Vercel の対象プロジェクトで Settings → Environment Variables を開き、キー GTM_ID、値 GTM-XXXXXXX を登録します。Production を選択して保存後、再デプロイしてください。Preview / Development は必要な場合だけ選択します。NEXT_PUBLIC_ は不要で、設定はビルド時に反映されます。ローカルでは .env.local に設定します。
有効な ID がある場合だけ同意ダイアログを表示し、許可後に GTM を読み込みます。選択は localStorage に180日間保存し、同意文面やコンテナの変更時は再確認します。Cookie settings から変更でき、同意撤回時には読み込み済みタグを停止するためリロードします。作成済み Cookie の削除は行いません。保存できない場合、選択は現在のページ内だけ有効です。
同意対象はアクセス解析です。広告関連の同意シグナルは拒否のままです。GTM コンテナも解析用途に設定し、広告タグやカスタムタグには必要な同意チェックを設定してください。任意のカスタムタグが Google の同意シグナルに自動対応するわけではありません。Vercel Analytics は別途動作します。
Help から使い方・Base Game の対応範囲・計算前提と制約を確認できます。説明は初期 HTML に含め、通常の計算画面を圧迫しないモーダルにまとめています。スマホはタップ操作と縦スクロールによる暫定対応です。本格的なスマホ設計と日本語化は別途対応します。
メタ情報、サイトマップ、構造化データ、公開後の確認手順は SEO and responsive layout を参照してください。
燃料計算の中心となるロジックは次のファイルにあります。
src/domain/rocketFuel.ts
UI は calculateRocketFuel にプレーンなロケット構成オブジェクトを渡し、関数は到達可能な場合は必要燃料量とタンク数を、到達不可の場合は理由を返します。
計算テストは次のファイルにあります。
tests/rocketFuel.test.ts
計算結果の挙動を変更する場合は、同じ変更内でテストも更新してください。
src/app/ Next.js App Router のページとレイアウト
src/components/ UI コンポーネント
src/components/Results/ 燃料量とタンク数の表示
src/domain/ 純粋な計算ロジック
src/hooks/ React 向けの状態ラッパー
src/provider/ Context Provider
src/contents/data.json ロケット部品データ
tests/ 計算テスト
public/assets/ ゲーム関連の UI 画像
不具合の報告、要望、質問はお問い合わせフォーム(英語)から送れます(アカウント不要)。 GitHub のアカウントをお持ちなら、Issues に書いていただいてもかまいません。
Oxygen Not Included は Klei Entertainment によって開発されています。
このプロジェクトは非公式のファンメイド計算ツールです。
googletagmanager.com/gtm.js の通信がないこと。