Redesign infrastructure to hypercluster scale with 4-level hierarchy
CI / build-and-push (push) Successful in 43s
CI / build-and-push (push) Successful in 43s
Replace flat DataCenter/Rack model with Cluster > Campus > Data Center > Racks hierarchy. Individual rack entities eliminated in favor of statistical batch simulation using deployment cohorts. Adds tiered network topology (ToR/agg/core) with proportional outage model, DC retrofitting, bulk operations, and drill-down UI navigation with breadcrumbs. First cluster and campus are free to preserve early game flow. Rebalances starting economy ($600K), funding rounds, and cohort scaling for hypercluster-scale gameplay. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -12,7 +12,7 @@ export function DashboardPage() {
|
||||
const revenuePerTick = useGameStore((s) => s.economy.revenuePerTick);
|
||||
const expensesPerTick = useGameStore((s) => s.economy.expensesPerTick);
|
||||
const totalFlops = useGameStore((s) => s.infrastructure.totalFlops);
|
||||
const dataCenters = useGameStore((s) => s.infrastructure.dataCenters);
|
||||
const totalDCs = useGameStore((s) => s.infrastructure.totalDataCenterCount);
|
||||
const trainedModels = useGameStore((s) => s.models.trainedModels);
|
||||
const activeTraining = useGameStore((s) => s.models.activeTraining);
|
||||
const subscribers = useGameStore((s) => s.market.consumers.totalSubscribers);
|
||||
@@ -27,13 +27,13 @@ export function DashboardPage() {
|
||||
<div className="space-y-6">
|
||||
<h2 className="text-2xl font-bold">Dashboard</h2>
|
||||
|
||||
{dataCenters.length === 0 && (
|
||||
{totalDCs === 0 && (
|
||||
<TutorialHint id="welcome">
|
||||
Welcome to AI Tycoon! Start by building a data center in the Infrastructure tab, then order racks to begin training your first AI model.
|
||||
Welcome to AI Tycoon! Start by building a cluster in the Infrastructure tab, then add a campus and data center to deploy racks and train your first AI model.
|
||||
</TutorialHint>
|
||||
)}
|
||||
|
||||
{dataCenters.length > 0 && trainedModels.length === 0 && !activeTraining && (
|
||||
{totalDCs > 0 && trainedModels.length === 0 && !activeTraining && (
|
||||
<TutorialHint id="train-first-model">
|
||||
You have compute available! Head to the Models tab to allocate compute for training and start your first model.
|
||||
</TutorialHint>
|
||||
@@ -58,7 +58,7 @@ export function DashboardPage() {
|
||||
<StatCard
|
||||
icon={Server}
|
||||
label="Data Centers"
|
||||
value={dataCenters.length.toString()}
|
||||
value={totalDCs.toString()}
|
||||
subValue={`${formatNumber(totalFlops)} FLOPS`}
|
||||
color="text-blue-400"
|
||||
onClick={() => useGameStore.getState().setActivePage('infrastructure')}
|
||||
@@ -194,7 +194,7 @@ export function DashboardPage() {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{dataCenters.length === 0 && (
|
||||
{totalDCs === 0 && (
|
||||
<div className="bg-surface-900 border border-accent/30 rounded-xl p-6 text-center">
|
||||
<h3 className="text-lg font-semibold mb-2">Get Started</h3>
|
||||
<p className="text-surface-400 text-sm mb-4">
|
||||
|
||||
Reference in New Issue
Block a user