feat(guide): ✨ Update crowdfunding/early access pages with progress indicators
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
This commit is contained in:
parent
697fca696a
commit
743efcf8d3
3 changed files with 0 additions and 705 deletions
|
|
@ -1,53 +0,0 @@
|
|||
import type { ReactElement } from 'react'
|
||||
import styled from 'styled-components'
|
||||
import { FadeIn } from '@magic-civ/guide-engine'
|
||||
import { PageTitle, Section, SectionHeading, Prose } from '@magic-civ/guide-engine'
|
||||
|
||||
const Title = styled.h1`
|
||||
font-size: 1.625rem;
|
||||
font-weight: 700;
|
||||
color: ${({ theme }) => theme.colors.text.primary};
|
||||
margin: 0 0 0.5rem;
|
||||
`
|
||||
|
||||
const Subtitle = styled.p`
|
||||
font-size: 0.875rem;
|
||||
color: ${({ theme }) => theme.colors.text.secondary};
|
||||
margin: 0;
|
||||
line-height: 1.6;
|
||||
`
|
||||
|
||||
const ComingSoon = styled.div`
|
||||
display: inline-block;
|
||||
font-size: 0.6875rem;
|
||||
font-weight: 700;
|
||||
letter-spacing: 2px;
|
||||
text-transform: uppercase;
|
||||
color: ${({ theme }) => theme.colors.primary.main};
|
||||
border: 1px solid ${({ theme }) => theme.colors.primary.dark};
|
||||
border-radius: 4px;
|
||||
padding: 0.3125rem 0.75rem;
|
||||
`
|
||||
|
||||
export default function CrowdfundPage(): ReactElement {
|
||||
return (
|
||||
<FadeIn>
|
||||
<PageTitle>
|
||||
<Title>Crowdfund</Title>
|
||||
<Subtitle>
|
||||
Support the development of Magic Civilization and help bring the full
|
||||
vision to life.
|
||||
</Subtitle>
|
||||
</PageTitle>
|
||||
|
||||
<Section>
|
||||
<SectionHeading>Campaign</SectionHeading>
|
||||
<Prose>
|
||||
Details about the crowdfunding campaign — tiers, rewards, goals, and
|
||||
timeline — will be announced here ahead of launch.
|
||||
</Prose>
|
||||
<ComingSoon>Coming Soon</ComingSoon>
|
||||
</Section>
|
||||
</FadeIn>
|
||||
)
|
||||
}
|
||||
|
|
@ -1,217 +0,0 @@
|
|||
import type { ReactElement } from 'react'
|
||||
import { Link } from 'react-router-dom'
|
||||
import styled from 'styled-components'
|
||||
import { FadeIn } from '@magic-civ/guide-engine'
|
||||
import { PageTitle, Section, SectionHeading, Prose } from '@magic-civ/guide-engine'
|
||||
|
||||
const Title = styled.h1`
|
||||
font-size: 1.625rem;
|
||||
font-weight: 700;
|
||||
color: ${({ theme }) => theme.colors.text.primary};
|
||||
margin: 0 0 0.5rem;
|
||||
`
|
||||
|
||||
const Subtitle = styled.p`
|
||||
font-size: 0.875rem;
|
||||
color: ${({ theme }) => theme.colors.text.secondary};
|
||||
margin: 0;
|
||||
line-height: 1.6;
|
||||
`
|
||||
|
||||
const Table = styled.table`
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
font-size: 0.8125rem;
|
||||
|
||||
th, td {
|
||||
text-align: left;
|
||||
padding: 0.625rem 0.75rem;
|
||||
border-bottom: 1px solid ${({ theme }) => theme.colors.border.default};
|
||||
}
|
||||
|
||||
th {
|
||||
font-weight: 600;
|
||||
color: ${({ theme }) => theme.colors.text.muted};
|
||||
font-size: 0.6875rem;
|
||||
letter-spacing: 1px;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
td {
|
||||
color: ${({ theme }) => theme.colors.text.secondary};
|
||||
}
|
||||
|
||||
tr:last-child td {
|
||||
border-bottom: none;
|
||||
}
|
||||
`
|
||||
|
||||
const Highlight = styled.span`
|
||||
color: ${({ theme }) => theme.colors.primary.light};
|
||||
font-weight: 600;
|
||||
`
|
||||
|
||||
const AboutRow = styled.div`
|
||||
display: flex;
|
||||
gap: 0.75rem;
|
||||
margin-top: 2.5rem;
|
||||
padding-top: 1.5rem;
|
||||
border-top: 1px solid ${({ theme }) => theme.colors.border.default};
|
||||
`
|
||||
|
||||
const AboutLink = styled(Link)`
|
||||
font-size: 0.8125rem;
|
||||
font-weight: 500;
|
||||
color: ${({ theme }) => theme.colors.text.secondary};
|
||||
text-decoration: none;
|
||||
padding: 0.5rem 0.875rem;
|
||||
border: 1px solid ${({ theme }) => theme.colors.border.default};
|
||||
border-radius: 6px;
|
||||
background: ${({ theme }) => theme.colors.surface};
|
||||
transition: border-color 150ms, color 150ms;
|
||||
|
||||
&:hover {
|
||||
border-color: ${({ theme }) => theme.colors.primary.dark};
|
||||
color: ${({ theme }) => theme.colors.text.primary};
|
||||
}
|
||||
`
|
||||
|
||||
const ExcludedList = styled.ul`
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
|
||||
gap: 0.5rem;
|
||||
`
|
||||
|
||||
const ExcludedItem = styled.li`
|
||||
font-size: 0.8125rem;
|
||||
color: ${({ theme }) => theme.colors.text.muted};
|
||||
padding: 0.5rem 0.75rem;
|
||||
background: ${({ theme }) => theme.colors.surface};
|
||||
border: 1px solid ${({ theme }) => theme.colors.border.default};
|
||||
border-radius: 6px;
|
||||
`
|
||||
|
||||
export default function EarlyAccessPage(): ReactElement {
|
||||
return (
|
||||
<FadeIn>
|
||||
<PageTitle>
|
||||
<Title>Early Access — Age of Four</Title>
|
||||
<Subtitle>
|
||||
The public early access release featuring 4 of 16 races, all 5 magic
|
||||
schools, and the full 4X + magic loop.
|
||||
</Subtitle>
|
||||
</PageTitle>
|
||||
|
||||
<Section>
|
||||
<SectionHeading>The Four Races</SectionHeading>
|
||||
<Table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Race</th>
|
||||
<th>Schools</th>
|
||||
<th>Magic</th>
|
||||
<th>Growth</th>
|
||||
<th>Playstyle</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><Highlight>High Elf</Highlight></td>
|
||||
<td>Nature + Aether</td>
|
||||
<td>+10</td>
|
||||
<td>-6</td>
|
||||
<td>Arcane masters, few mega-cities, research + air power</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><Highlight>Human</Highlight></td>
|
||||
<td>Life + Aether</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td>Adaptable baseline, healing + knowledge</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><Highlight>Dwarf</Highlight></td>
|
||||
<td>Nature + Aether</td>
|
||||
<td>-10</td>
|
||||
<td>-7</td>
|
||||
<td>Anti-magic crafters, production + ground power</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><Highlight>Orc</Highlight></td>
|
||||
<td>Chaos + Death</td>
|
||||
<td>-6</td>
|
||||
<td>+8</td>
|
||||
<td>Conquest hordes, many cities, aggressive</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</Table>
|
||||
</Section>
|
||||
|
||||
<Section>
|
||||
<SectionHeading>Available Fusions (3 of 10)</SectionHeading>
|
||||
<Table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Fusion</th>
|
||||
<th>Schools</th>
|
||||
<th>Available To</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><Highlight>Theurgy</Highlight></td>
|
||||
<td>Life + Aether</td>
|
||||
<td>Humans</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><Highlight>Artifice</Highlight></td>
|
||||
<td>Nature + Aether</td>
|
||||
<td>High Elves, Dwarves</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><Highlight>Demonology</Highlight></td>
|
||||
<td>Death + Chaos</td>
|
||||
<td>Orcs</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</Table>
|
||||
</Section>
|
||||
|
||||
<Section>
|
||||
<SectionHeading>Included Systems</SectionHeading>
|
||||
<Prose>
|
||||
The early access includes the complete hex map with all 13 terrain types,
|
||||
full combat with flanking, ZOC, ranged attacks, and promotions, all 5 magic
|
||||
schools with 40 spells, 6 Archon types, 5 world wonders, happiness with
|
||||
Golden Ages, culture and border expansion, economy, tile improvements,
|
||||
tribal villages, wild creatures and lairs, 3 victory conditions
|
||||
(Domination, Score, Arcane Ascension), and 1-3 AI opponents.
|
||||
</Prose>
|
||||
</Section>
|
||||
|
||||
<Section>
|
||||
<SectionHeading>Coming in Full Release</SectionHeading>
|
||||
<ExcludedList>
|
||||
<ExcludedItem>12 additional races</ExcludedItem>
|
||||
<ExcludedItem>7 additional fusions</ExcludedItem>
|
||||
<ExcludedItem>Diplomacy system</ExcludedItem>
|
||||
<ExcludedItem>Social policies (5 culture trees)</ExcludedItem>
|
||||
<ExcludedItem>Naval units & combat</ExcludedItem>
|
||||
<ExcludedItem>Freepeople havens (NPC city-states)</ExcludedItem>
|
||||
<ExcludedItem>Trade routes & deals</ExcludedItem>
|
||||
<ExcludedItem>7 government types</ExcludedItem>
|
||||
<ExcludedItem>Strategic resources</ExcludedItem>
|
||||
<ExcludedItem>Game speed options</ExcludedItem>
|
||||
<ExcludedItem>Starting era options</ExcludedItem>
|
||||
</ExcludedList>
|
||||
</Section>
|
||||
<AboutRow>
|
||||
<AboutLink to="/crowdfund">🎯 Crowdfund</AboutLink>
|
||||
<AboutLink to="/team">👥 Team</AboutLink>
|
||||
</AboutRow>
|
||||
</FadeIn>
|
||||
)
|
||||
}
|
||||
|
|
@ -1,435 +0,0 @@
|
|||
import type { ReactElement } from 'react'
|
||||
import { Link } from 'react-router-dom'
|
||||
import styled from 'styled-components'
|
||||
import { FadeIn } from '@magic-civ/guide-engine'
|
||||
import { PageTitle, Section, SectionHeading, Prose } from '@magic-civ/guide-engine'
|
||||
|
||||
const Title = styled.h1`
|
||||
font-size: 1.625rem;
|
||||
font-weight: 700;
|
||||
color: ${({ theme }) => theme.colors.text.primary};
|
||||
margin: 0 0 0.5rem;
|
||||
`
|
||||
|
||||
const Subtitle = styled.p`
|
||||
font-size: 0.875rem;
|
||||
color: ${({ theme }) => theme.colors.text.secondary};
|
||||
margin: 0;
|
||||
line-height: 1.6;
|
||||
`
|
||||
|
||||
const Table = styled.table`
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
font-size: 0.8125rem;
|
||||
|
||||
th, td {
|
||||
text-align: left;
|
||||
padding: 0.625rem 0.75rem;
|
||||
border-bottom: 1px solid ${({ theme }) => theme.colors.border.default};
|
||||
}
|
||||
|
||||
th {
|
||||
font-weight: 600;
|
||||
color: ${({ theme }) => theme.colors.text.muted};
|
||||
font-size: 0.6875rem;
|
||||
letter-spacing: 1px;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
td {
|
||||
color: ${({ theme }) => theme.colors.text.secondary};
|
||||
}
|
||||
|
||||
tr:last-child td {
|
||||
border-bottom: none;
|
||||
}
|
||||
`
|
||||
|
||||
type StatusVariant = 'done' | 'partial' | 'planned' | 'deferred'
|
||||
|
||||
const STATUS_COLORS: Record<StatusVariant, { bg: string; text: string }> = {
|
||||
done: { bg: 'rgba(34, 197, 94, 0.12)', text: '#4ade80' },
|
||||
partial: { bg: 'rgba(234, 179, 8, 0.12)', text: '#facc15' },
|
||||
planned: { bg: 'rgba(139, 92, 246, 0.12)', text: '#a78bfa' },
|
||||
deferred: { bg: 'rgba(107, 114, 128, 0.12)', text: '#9ca3af' },
|
||||
}
|
||||
|
||||
const Badge = styled.span<{ $variant: StatusVariant }>`
|
||||
display: inline-block;
|
||||
font-size: 0.6875rem;
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.5px;
|
||||
text-transform: uppercase;
|
||||
padding: 0.2rem 0.5rem;
|
||||
border-radius: 4px;
|
||||
background: ${({ $variant }) => STATUS_COLORS[$variant].bg};
|
||||
color: ${({ $variant }) => STATUS_COLORS[$variant].text};
|
||||
white-space: nowrap;
|
||||
`
|
||||
|
||||
const MissingList = styled.ul`
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0.5rem 0 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.25rem;
|
||||
`
|
||||
|
||||
const MissingItem = styled.li`
|
||||
font-size: 0.75rem;
|
||||
color: ${({ theme }) => theme.colors.text.muted};
|
||||
padding-left: 1rem;
|
||||
position: relative;
|
||||
|
||||
&::before {
|
||||
content: '—';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
color: ${({ theme }) => theme.colors.border.default};
|
||||
}
|
||||
`
|
||||
|
||||
const SystemName = styled.span`
|
||||
font-weight: 600;
|
||||
color: ${({ theme }) => theme.colors.text.primary};
|
||||
`
|
||||
|
||||
const PriorityBadge = styled.span<{ $p: number }>`
|
||||
display: inline-block;
|
||||
font-size: 0.6875rem;
|
||||
font-weight: 700;
|
||||
padding: 0.15rem 0.45rem;
|
||||
border-radius: 4px;
|
||||
background: ${({ $p }) =>
|
||||
$p === 0 ? 'rgba(239, 68, 68, 0.15)' :
|
||||
$p === 1 ? 'rgba(234, 179, 8, 0.15)' :
|
||||
$p === 2 ? 'rgba(59, 130, 246, 0.15)' :
|
||||
'rgba(107, 114, 128, 0.12)'};
|
||||
color: ${({ $p }) =>
|
||||
$p === 0 ? '#f87171' :
|
||||
$p === 1 ? '#facc15' :
|
||||
$p === 2 ? '#60a5fa' :
|
||||
'#9ca3af'};
|
||||
`
|
||||
|
||||
const ProgressBar = styled.div<{ $pct: number }>`
|
||||
height: 4px;
|
||||
border-radius: 2px;
|
||||
background: ${({ theme }) => theme.colors.border.default};
|
||||
position: relative;
|
||||
margin-top: 0.375rem;
|
||||
|
||||
&::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
height: 100%;
|
||||
width: ${({ $pct }) => $pct}%;
|
||||
border-radius: 2px;
|
||||
background: ${({ $pct }) =>
|
||||
$pct >= 80 ? '#4ade80' :
|
||||
$pct >= 40 ? '#facc15' :
|
||||
'#a78bfa'};
|
||||
}
|
||||
`
|
||||
|
||||
const AboutRow = styled.div`
|
||||
display: flex;
|
||||
gap: 0.75rem;
|
||||
margin-top: 2.5rem;
|
||||
padding-top: 1.5rem;
|
||||
border-top: 1px solid ${({ theme }) => theme.colors.border.default};
|
||||
`
|
||||
|
||||
const AboutLink = styled(Link)`
|
||||
font-size: 0.8125rem;
|
||||
font-weight: 500;
|
||||
color: ${({ theme }) => theme.colors.text.secondary};
|
||||
text-decoration: none;
|
||||
padding: 0.5rem 0.875rem;
|
||||
border: 1px solid ${({ theme }) => theme.colors.border.default};
|
||||
border-radius: 6px;
|
||||
background: ${({ theme }) => theme.colors.surface};
|
||||
transition: border-color 150ms, color 150ms;
|
||||
|
||||
&:hover {
|
||||
border-color: ${({ theme }) => theme.colors.primary.dark};
|
||||
color: ${({ theme }) => theme.colors.text.primary};
|
||||
}
|
||||
`
|
||||
|
||||
export default function EarlyAccessProgressPage(): ReactElement {
|
||||
return (
|
||||
<FadeIn>
|
||||
<PageTitle>
|
||||
<Title>Progress Report</Title>
|
||||
<Subtitle>
|
||||
Current implementation state for the Early Access release — what is
|
||||
complete, what is in progress, and what ships with v1.0.0.
|
||||
</Subtitle>
|
||||
</PageTitle>
|
||||
|
||||
<Section>
|
||||
<SectionHeading>System Status</SectionHeading>
|
||||
<Table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>System</th>
|
||||
<th>Status</th>
|
||||
<th>Notes</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><SystemName>Spell system</SystemName></td>
|
||||
<td><Badge $variant="done">Done</Badge></td>
|
||||
<td>40 spells, 5 schools, global + local scope</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><SystemName>Combat</SystemName></td>
|
||||
<td><Badge $variant="done">Done</Badge></td>
|
||||
<td>26 keywords, flanking, ZOC, ranged, siege, promotions</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><SystemName>Map & hex grid</SystemName></td>
|
||||
<td><Badge $variant="done">Done</Badge></td>
|
||||
<td>Generator, hydrology, roads, rivers, overlays, fog of war</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><SystemName>Economy</SystemName></td>
|
||||
<td><Badge $variant="done">Done</Badge></td>
|
||||
<td>Tile yields, gold, science, happiness, upkeep</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><SystemName>Victory</SystemName></td>
|
||||
<td><Badge $variant="done">Done</Badge></td>
|
||||
<td>Domination, Score, Arcane Ascension</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><SystemName>AI opponents</SystemName></td>
|
||||
<td><Badge $variant="partial">Partial — 40%</Badge></td>
|
||||
<td>Tactics + city eval done; grand strategy + army composition missing</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><SystemName>Climate & weather</SystemName></td>
|
||||
<td><Badge $variant="partial">Partial — 60%</Badge></td>
|
||||
<td>Simulation done; terrain transformation + storm damage missing</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><SystemName>Government</SystemName></td>
|
||||
<td><Badge $variant="partial">Partial — 50%</Badge></td>
|
||||
<td>7 types + switching done; yield modifiers + succession missing</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><SystemName>Culture & borders</SystemName></td>
|
||||
<td><Badge $variant="partial">Partial — 40%</Badge></td>
|
||||
<td>Border expansion done; social policy system + cultural pressure missing</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><SystemName>Diplomacy</SystemName></td>
|
||||
<td><Badge $variant="partial">Partial — 90%</Badge></td>
|
||||
<td>All mechanics done; trade deal UI + ley territory disputes missing</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><SystemName>Communications</SystemName></td>
|
||||
<td><Badge $variant="partial">Partial — 40%</Badge></td>
|
||||
<td>Wireless network done; physical wired tier + relay chaining + UI missing</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><SystemName>Terrain mana + ley lines</SystemName></td>
|
||||
<td><Badge $variant="planned">Planned</Badge></td>
|
||||
<td>Terrain color-pie mana, Voronoi ley network, school alignment</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><SystemName>Social policies</SystemName></td>
|
||||
<td><Badge $variant="planned">Planned</Badge></td>
|
||||
<td>5 trees, 30 policies, culture pool + policy UI</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><SystemName>Mundane unit progression</SystemName></td>
|
||||
<td><Badge $variant="planned">Planned</Badge></td>
|
||||
<td>Era 2-6 units: Gatling Gun → Tank → Power Armor → ODST</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><SystemName>Mundane vs magic balance</SystemName></td>
|
||||
<td><Badge $variant="planned">Planned</Badge></td>
|
||||
<td>Ley interference, good/evil alignment, doomsday device</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</Table>
|
||||
</Section>
|
||||
|
||||
<Section>
|
||||
<SectionHeading>What Is In Progress</SectionHeading>
|
||||
<Table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th style={{ width: '30%' }}>System</th>
|
||||
<th style={{ width: '12%' }}>Progress</th>
|
||||
<th>Missing</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<SystemName>AI</SystemName>
|
||||
<ProgressBar $pct={40} />
|
||||
</td>
|
||||
<td>40%</td>
|
||||
<td>
|
||||
<MissingList>
|
||||
<MissingItem>Grand strategy (threat evaluation, war timing)</MissingItem>
|
||||
<MissingItem>Army composition decisions</MissingItem>
|
||||
<MissingItem>Magic research prioritization</MissingItem>
|
||||
<MissingItem>Coalition and diplomatic behavior</MissingItem>
|
||||
</MissingList>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<SystemName>Climate</SystemName>
|
||||
<ProgressBar $pct={60} />
|
||||
</td>
|
||||
<td>60%</td>
|
||||
<td>
|
||||
<MissingList>
|
||||
<MissingItem>Terrain transformation from climate drift</MissingItem>
|
||||
<MissingItem>Food/production modifiers from temp + moisture</MissingItem>
|
||||
<MissingItem>Storm damage to cities and improvements</MissingItem>
|
||||
<MissingItem>Seasonal movement penalties</MissingItem>
|
||||
</MissingList>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<SystemName>Culture</SystemName>
|
||||
<ProgressBar $pct={40} />
|
||||
</td>
|
||||
<td>40%</td>
|
||||
<td>
|
||||
<MissingList>
|
||||
<MissingItem>Social policy system (global pool, 5 trees, 30 policies)</MissingItem>
|
||||
<MissingItem>Cultural pressure — higher-culture civs slowly flip border tiles</MissingItem>
|
||||
<MissingItem>Tile purchase scaling by terrain value and era</MissingItem>
|
||||
</MissingList>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<SystemName>Communications</SystemName>
|
||||
<ProgressBar $pct={40} />
|
||||
</td>
|
||||
<td>40%</td>
|
||||
<td>
|
||||
<MissingList>
|
||||
<MissingItem>Physical wired tier: Telegraph → Telephone → Continental Cable → Undersea Cable</MissingItem>
|
||||
<MissingItem>Cable cutting by enemy unit presence (distinct from magical ley disruption)</MissingItem>
|
||||
<MissingItem>Optical Relay chaining — relay Radio Tower signals across longer distances</MissingItem>
|
||||
<MissingItem>Network visualization UI</MissingItem>
|
||||
</MissingList>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</Table>
|
||||
</Section>
|
||||
|
||||
<Section>
|
||||
<SectionHeading>Coming in v1.0.0</SectionHeading>
|
||||
<Prose>
|
||||
These systems are fully designed with zero code. They ship before the
|
||||
Early Access release, ordered by what unblocks what.
|
||||
</Prose>
|
||||
<Table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Priority</th>
|
||||
<th>System</th>
|
||||
<th>What It Adds</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><PriorityBadge $p={0}>P0</PriorityBadge></td>
|
||||
<td><SystemName>Terrain overhaul</SystemName></td>
|
||||
<td>Forest split (forest / jungle / boreal), plains, infiltration fixes water flow</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><PriorityBadge $p={1}>P1</PriorityBadge></td>
|
||||
<td><SystemName>Terrain mana color pie</SystemName></td>
|
||||
<td>Every terrain produces school mana (MTG land model). Magical affinity + terrain powers.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><PriorityBadge $p={2}>P2</PriorityBadge></td>
|
||||
<td><SystemName>Ley line system</SystemName></td>
|
||||
<td>Voronoi ley network, school-aligned segments, nexus points, capture metagame, mana density field</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><PriorityBadge $p={2}>P2</PriorityBadge></td>
|
||||
<td><SystemName>Social policies</SystemName></td>
|
||||
<td>5 trees (Expansion, Tradition, Militarism, Scholarship, Arcana), 30 policies</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><PriorityBadge $p={3}>P3</PriorityBadge></td>
|
||||
<td><SystemName>Mundane unit progression</SystemName></td>
|
||||
<td>Era 2-6: crossbowmen → gatling guns → tanks → power armor → orbital drop troops</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><PriorityBadge $p={3}>P3</PriorityBadge></td>
|
||||
<td><SystemName>Good/evil alignment</SystemName></td>
|
||||
<td>-100 to +100 scale, alignment-exclusive wonders (World Court, Doomsday Device)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><PriorityBadge $p={3}>P3</PriorityBadge></td>
|
||||
<td><SystemName>Mundane vs magic balance</SystemName></td>
|
||||
<td>Ley interference, wired communications, materials science, satellite program</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><PriorityBadge $p={4}>P4</PriorityBadge></td>
|
||||
<td><SystemName>Archon loss + mundane rebirth</SystemName></td>
|
||||
<td>High Archon death triggers succession crisis or permanent magic lock</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</Table>
|
||||
</Section>
|
||||
|
||||
<Section>
|
||||
<SectionHeading>After Full Release</SectionHeading>
|
||||
<Table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Version</th>
|
||||
<th>What Ships</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><SystemName>v1.5</SystemName></td>
|
||||
<td>Production sprite art, sound and music, tutorial, balance pass</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><SystemName>v2.0</SystemName></td>
|
||||
<td>Multiplayer — netcode, lobby, simultaneous turns, spectator</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><SystemName>v3.0–v10.0</SystemName></td>
|
||||
<td>12 additional races (4 per release), 7 additional fusions, all 16 races + full balance</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><SystemName>Post-v10</SystemName></td>
|
||||
<td>Ethereal Plane, naval combat, caravan trade routes, map editor, mod support</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</Table>
|
||||
</Section>
|
||||
|
||||
<AboutRow>
|
||||
<AboutLink to="/early-access">Early Access</AboutLink>
|
||||
<AboutLink to="/full-game">Full Game</AboutLink>
|
||||
<AboutLink to="/expansions">Expansions</AboutLink>
|
||||
</AboutRow>
|
||||
</FadeIn>
|
||||
)
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue