Polish Week 1: tooltips, save import, game balance tuning
Add reusable Tooltip component and rich tooltips on all TopBar KPIs (cash breakdown, compute utilization, reputation context). Add save import button to Settings page. Fix game balance: reduce GPU maintenance 100x, increase organic API demand 200x, accelerate subscription revenue timescale, boost early subscriber seeding, use sqrt scaling for model compute factor, simplify deploy to activate all product lines at once. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -38,8 +38,8 @@ export function processMarket(state: GameState, compute: ComputeState): MarketTi
|
||||
const lostSubs = consumers.totalSubscribers * churnRate;
|
||||
consumers.totalSubscribers = Math.max(0, consumers.totalSubscribers + newSubs - lostSubs);
|
||||
|
||||
if (consumers.totalSubscribers < 50 && modelQuality > 0.1) {
|
||||
consumers.totalSubscribers += 2 + modelQuality * 5;
|
||||
if (consumers.totalSubscribers < 100 && modelQuality > 0.1) {
|
||||
consumers.totalSubscribers += 5 + modelQuality * 20;
|
||||
}
|
||||
|
||||
const loadPenalty = compute.inferenceUtilization > 0.9
|
||||
@@ -51,7 +51,7 @@ export function processMarket(state: GameState, compute: ComputeState): MarketTi
|
||||
|
||||
consumers.viralCoefficient = modelQuality > 0.5 ? 1 + (modelQuality - 0.5) * 2 : 0;
|
||||
|
||||
subscriptionRevenue = consumers.totalSubscribers * (chatProduct.pricing.subscriptionPrice / 2592000);
|
||||
subscriptionRevenue = consumers.totalSubscribers * (chatProduct.pricing.subscriptionPrice / 86400);
|
||||
}
|
||||
|
||||
// --- B2B API market (organic demand based on model quality + reputation) ---
|
||||
@@ -65,7 +65,7 @@ export function processMarket(state: GameState, compute: ComputeState): MarketTi
|
||||
const priceFactor = Math.max(0.1, 1 - (textApi.pricing.outputTokenPrice / 20));
|
||||
|
||||
organicApiTokens = Math.floor(
|
||||
qualityFactor * reputationFactor * priceFactor * 50000 * (1 + state.meta.tickCount * 0.0001),
|
||||
qualityFactor * reputationFactor * priceFactor * 10_000_000 * (1 + state.meta.tickCount * 0.0001),
|
||||
);
|
||||
|
||||
let contractTokens = 0;
|
||||
|
||||
Reference in New Issue
Block a user