01How a race is defined
One data file, a few hundred lines — and only about fifteen of them are gameplay.
Every race is a definition.txt under races/<Race>/, parsed by a single
factory into a SpeciesSkills object. The overwhelming majority of each file is
presentation: mugshots, diplomat sprite placement, transport landing animations, troop death frames,
flag artwork, voice and ambience keys. The gameplay lives in roughly fifteen lines at the end.
Grepping the entire source for literal race names turns up almost nothing outside the species package.
There is no if (isKlackon()) anywhere. A race is its numbers, its language files, and its
artwork — which is why the game supports custom species at all.
The gameplay keys, and what varies across the ten originals:
| Key | Controls | Varies? |
|---|---|---|
popmod | Population growth rate | Sakkra, Silicoid |
prodmod | Worker productivity, factories per population, refit exemption | Klackon, Meklar |
techmod | How much of the tech tree you can research; research point bonus | Psilon |
research | Six per-category research cost multipliers | All ten |
diplomod | Trade bonus, diplomacy bonus, council vote bonus | Human |
spymod | Spy cost, internal security, infiltration, diplomacy masking | Darlok |
groundmod | Flat bonus to every ground-combat roll | Bulrathi |
shipmod | Ship attack, defence, initiative | Mrrshan, Alkari |
ignoreEco | Immunity to planet environment and industrial waste | Silicoid |
relations | Baseline opinion of every other race | All ten |
personality / objective | Probability distributions for the leader's temperament | All ten |
shipdesign | 28 weights steering how the AI auto-designs ships | All ten |
Note the pattern: eight of the ten races change exactly one or two mechanical numbers
from the baseline. Only research, relations and the leader distributions vary
across the board. The design is deliberately sparse — one strong, legible advantage per race
rather than a dense stat block.
02The comparison
Every field where the ten originals actually differ. Baseline values are dimmed.
Economy, growth and combat
| Race | Pop growth | Worker prod | Factories per pop |
Ground combat |
Ship atk / def / init |
Environment |
|---|---|---|---|---|---|---|
| Human | ×1.0 | ×1.0 | — | — | — | Normal |
| Alkari | ×1.0 | ×1.0 | — | — | 0 / +3 / +3 | Normal |
| Bulrathi | ×1.0 | ×1.0 | — | +25 | — | Normal |
| Darlok | ×1.0 | ×1.0 | — | — | — | Normal |
| Klackon | ×1.0 | ×2.0 | — | — | — | Normal |
| Meklar | ×1.0 | ×1.0 | +2 | — | — | Normal |
| Mrrshan | ×1.0 | ×1.0 | — | — | +4 / 0 / +4 | Normal |
| Psilon | ×1.0 | ×1.0 | — | — | — | Normal |
| Sakkra | ×2.0 | ×1.0 | — | — | — | Normal |
| Silicoid | ×0.5 | ×1.0 | — | — | — | Immune |
Meklar also ignore factory refit costs — their factories are never stranded at an obsolete robotic-controls level.
Research
| Race | Tree seen | RP output | Comp | Constr | Force F | Plan | Prop | Wpn |
|---|---|---|---|---|---|---|---|---|
| Human | 50% | ×1.0 | 100 | 100 | 60 | 80 | 80 | 100 |
| Alkari | 50% | ×1.0 | 100 | 100 | 125 | 100 | 60 | 100 |
| Bulrathi | 50% | ×1.0 | 125 | 80 | 100 | 100 | 100 | 80 |
| Darlok | 50% | ×1.0 | 80 | 100 | 100 | 100 | 100 | 100 |
| Klackon | 50% | ×1.0 | 100 | 60 | 100 | 100 | 125 | 100 |
| Meklar | 50% | ×1.0 | 60 | 100 | 100 | 125 | 100 | 100 |
| Mrrshan | 50% | ×1.0 | 100 | 125 | 100 | 100 | 100 | 60 |
| Psilon | 75% | ×1.5 | 80 | 80 | 80 | 80 | 80 | 80 |
| Sakkra | 50% | ×1.0 | 100 | 100 | 100 | 60 | 100 | 100 |
| Silicoid | 50% | ×1.0 | 80 | 125 | 125 | 125 | 125 | 125 |
The six category numbers are cost multipliers — lower is better. "Tree seen" is the probability each individual tech survives the per-empire thinning at empire creation; techs that fail that roll can never be researched by that empire at all.
Diplomacy and espionage
| Race | Trade bonus | Diplomacy | Council vote | Spy cost | Internal security | Infiltration | Masks intent |
|---|---|---|---|---|---|---|---|
| Human | +25% | +60 | +0.20 | ×1.0 | — | — | no |
| Darlok | — | — | — | ×0.5 | +0.20 | +0.20 | yes |
| The other eight races are baseline on every column above. | |||||||
03What each stat actually does
Where the numbers land in the game's formulas.
Population growth
baseGrowthRate = max(0, (1 - currentPop / maxPop) / 10);
...
baseGrowthRate *= empire.growthRateMod(); // popmod / 100
A flat multiplier on the logistic growth curve. Sakkra's doubling compounds hard, because faster growth means earlier maximum population means more production means faster everything. Silicoid's halving is the price of their environmental immunity.
Worker productivity and factories
workerProductivity() = ((planetologyTechLevel * 3 + 50) / 100) * workerProductivityMod(); maxRobotControls() = topRobotControls() + robotControlsAdj();
Klackon's doubled worker productivity is the single largest raw economic modifier in the game —
every colonist produces twice the BC. Meklar's +2 works differently: it raises how many
factories each unit of population can operate, so their colonies out-produce equivalents at the
same population rather than needing more of it.
Ground combat
troopCombatAdj(defending) =
raceGroundBonus + armorBonus + battleSuitBonus + shieldBonus + weaponBonus
+ (defending ? 5 : 0);
// then, per individual trooper:
attRoll = random(100) + attacker.combatAdj();
defRoll = random(100) + defender.combatAdj();
if (attRoll < defRoll) attacker loses a trooper;
else defender loses a population;
Ground combat is resolved one soldier at a time as a pair of d100 rolls. Bulrathi's +25
applies on both attack and defence, and the defender always gets an additional +5.
That defender's +5 matters more than it looks. Against equal tech, an ordinary attacker
wins only 45% of individual exchanges — invading is a losing proposition unless you
bring more troops than the defender has population. Bulrathi's bonus lifts that to
68%, which flips invasion from expensive to efficient. It is the difference between
needing a two-to-one advantage and needing none.
Ship bonuses
shipAttackBonus adds to the attack level used in every to-hit calculation.
shipDefenseBonus adds to both beam and missile defence.
shipInitiativeBonus adds to combat initiative, deciding who fires first.
Mrrshan get attack and initiative; Alkari get defence and initiative. Both hit first; the Mrrshan hit
harder, the Alkari are harder to hit.
Environmental immunity
The Silicoid flag is the broadest single ability in the game. It makes waste cleanup cost zero and factory productivity immune to pollution, skips the planet's growth penalty entirely, and lets them colonise every planet type from turn one without any Controlled Environment technology. In exchange they grow at half speed and pay a 25% research premium on five of six categories.
Research modifiers
Two separate levers that are easy to confuse. Tree seen is the probability each tech survives the per-empire thinning — it determines what exists for you. RP output is a flat multiplier on research points produced. The six category numbers multiply the cost of every tech in that category. Psilon are the only race that gets all three at once, which is why they are the strongest research race by a wide margin rather than a narrow one.
04Race relations
A baseline opinion of every other species, before any treaty or grievance.
Each race declares a default opinion plus specific exceptions. This value is the constant floor of the relations scale — it is added before treaty adjustments and before the sum of live incidents, so it biases every relationship from first contact onward.
| views → | Hum | Alk | Bul | Dar | Kla | Mek | Mrr | Psi | Sak | Sil |
|---|---|---|---|---|---|---|---|---|---|---|
| Human | 31 | 7 | 7 | 7 | 7 | 7 | 7 | 7 | 7 | 7 |
| Alkari | 7 | 31 | 0 | −7 | −7 | 0 | −31 | 0 | −7 | 0 |
| Bulrathi | 7 | 0 | 31 | −7 | 0 | 0 | −7 | 0 | 0 | 0 |
| Darlok | 7 | −7 | −7 | 31 | −7 | −7 | −7 | −7 | −7 | −7 |
| Klackon | 7 | −7 | 0 | −7 | 31 | 0 | −7 | 0 | −7 | 7 |
| Meklar | 7 | 0 | 0 | −7 | 0 | 31 | 0 | 0 | −7 | 7 |
| Mrrshan | 7 | −31 | −7 | −7 | −7 | 0 | 31 | 0 | −19 | 0 |
| Psilon | 7 | 0 | 0 | −7 | 0 | 0 | 0 | 31 | 0 | 0 |
| Sakkra | 7 | −7 | 0 | −7 | −7 | −7 | −19 | 0 | 31 | 0 |
| Silicoid | 7 | 0 | 0 | −7 | 7 | 7 | 0 | 0 | 0 | 31 |
Three patterns fall straight out of the grid:
- Everyone likes Humans. Human is the only race whose default opinion of everyone is +7, and every other race lists Human as a +7 exception. Combined with their trade, diplomacy and council bonuses, Human is unambiguously the diplomatic race.
- Nobody likes Darloks. Darlok's default opinion of everyone is −7, and every other race lists Darlok as a −7 exception. The spy race starts every relationship in the hole.
- Two real feuds. Mrrshan and Alkari sit at −31 mutual — the deepest hostility in the game, and near the hate-war threshold before anything has even happened. Mrrshan and Sakkra are at −19. Meanwhile Klackon, Meklar and Silicoid form a quiet +7 bloc.
The mechanism is one-directional — each race declares its own opinions and nothing requires the other side to agree. But across the ten shipped races every pair is in fact reciprocal. A custom species could easily create a one-sided rivalry; none of the originals do.
05Leader tendencies
Not a fixed trait — a probability distribution rolled once per game.
Each race declares two six-way distributions, one over leader personalities and one over objectives. A leader is drawn from them when the empire is created, so the same race plays differently between games. Every race uses the same shape: one dominant option at 50–60%, with the remainder spread thinly.
| Race | Likely personality | Chance | Likely objective | Chance |
|---|---|---|---|---|
| Human | Honorable | 60% | Diplomat | 50% |
| Alkari | Honorable | 60% | Militarist | 50% |
| Bulrathi | Aggressive | 60% | Ecologist | 50% |
| Darlok | Aggressive | 60% | Diplomat | 50% |
| Klackon | Xenophobic | 60% | Industrialist | 50% |
| Meklar | Erratic | 60% | Industrialist | 50% |
| Mrrshan | Ruthless | 60% | Militarist | 50% |
| Psilon | Pacifist | 60% | Technologist | 50% |
| Sakkra | Aggressive | 60% | Expansionist | 50% |
| Silicoid | Xenophobic | 60% | Expansionist | 50% |
Most of these read as intended — Psilon pacifist technologists, Mrrshan ruthless militarists, Klackon xenophobic industrialists, Sakkra aggressive expansionists. Two are worth a second look: Bulrathi lean Ecologist, which sits oddly against a race whose entire mechanical identity is ground invasion; and Darlok lean Diplomat, which is either a joke or a deliberate cover story for the spy race.
These distributions matter because leader traits modify almost every diplomatic threshold in the game — war thresholds, how long grievances are remembered, pact and alliance thresholds, and how readily an empire exploits a weaker neighbour. Randomising AI personalities in the game options bypasses the race distributions entirely.
06The ten races
What each one is actually for.
Human
The diplomat
The only race with any diplomacy modifiers at all: +25% trade profit, a large relations bonus that also speeds trade-route growth, and +0.20 council vote weight. Everyone starts liking them.
Edge: alliances, trade income, and the council victory. Cost: nothing mechanical — they are baseline everywhere else, with mildly cheap force fields and propulsion.
Psilon
The researcher
Sees 75% of the tech tree instead of 50%, produces 1.5× research points, and pays 20% less for every category. Three separate research advantages stacked.
Edge: reaches technologies other empires literally cannot research. Cost: nothing — Psilon are baseline in every other respect, which makes them the least conditional race in the game.
Klackon
The industry
Double worker productivity. Every colonist generates twice the BC, which feeds construction, research and fleets simultaneously.
Edge: the largest raw economic multiplier in the game. Cost: 25% more expensive propulsion, so they expand and manoeuvre slowly — a rich empire with short arms.
Silicoid
The rock
Immune to planet environment entirely — zero waste cleanup, no pollution drag, and every planet type colonisable from turn one with no Controlled Environment tech needed.
Edge: the whole galaxy is habitable immediately. Cost: half growth rate and +25% research cost in five of six categories. Enormous reach, very slow to fill it.
Sakkra
The swarm
Double population growth, and 40% cheaper planetology on top — so they both fill worlds faster and terraform them cheaper. Colonies reach maximum population in half the time.
Edge: the fastest empire to convert territory into economy, with no research penalty anywhere. Cost: none in the stats — their limiter is social: a −19 grudge with the Mrrshan, four other races at −7, and aggressive expansionist leaders who start wars.
Meklar
The machine
+2 factories per unit of population, and exempt from factory refit costs — their industry is never stranded at an obsolete robotic-controls level.
Edge: more output per colonist than anyone but Klackon, without needing the population. Cheap computers. Cost: expensive planetology.
Mrrshan
The gunners
+4 ship attack and +4 initiative. They fire first and hit more often, and their weapons research is 40% cheaper.
Edge: wins the opening exchange of almost any fleet battle. Cost: expensive construction, and a −31 blood feud with the Alkari plus a −19 grudge with the Sakkra.
Alkari
The pilots
+3 ship defence and +3 initiative. They also act first, but survive rather than punish, and their propulsion research is 40% cheaper.
Edge: fast, evasive fleets with long reach. Cost: expensive force fields — they dodge well but shield poorly — and the mutual −31 with Mrrshan.
Bulrathi
The invaders
+25 to every ground combat roll, on attack and defence alike. That lifts the per-soldier win rate against equal tech from 45% to 68% — the difference between invasion being a losing trade and a winning one.
Edge: takes planets rather than destroying them — and captured colonies carry a chance to plunder tech. Cost: expensive computers.
Darlok
The spies
Half-price spies, +0.20 internal security, +0.20 infiltration — more than doubling the base 15% mission success rate — and their diplomatic intent is hidden from the player.
Edge: steals technology reliably and is nearly impossible to spy on. Cost: every race starts at −7 toward them, and they start at −7 toward everyone.
Read together, the ten cover distinct axes almost without overlap: two economy races (Klackon by worker, Meklar by factory), two expansion races (Sakkra by growth, Silicoid by habitability), two fleet races (Mrrshan offensive, Alkari defensive), and one each for research, diplomacy, espionage and ground war. Three — Psilon, Human and Sakkra — carry no mechanical downside at all. For Psilon and Human the compensation is having no spike outside their specialty; for Sakkra it is the relations grid, which starts them disliked by half the galaxy.
07Ship design doctrine
28 numbers per race that steer how the AI builds fleets.
Beyond the three combat bonuses, each race carries a shipdesign line of 28 values that the
AI's ship-design templates read. It is the least visible race attribute and one of the more influential:
| Positions | What they steer |
|---|---|
| 1–4 | Cost bias for small / medium / large / huge hulls — higher means the AI estimates that hull as more expensive and builds it less |
| 5 | Share of the hull reserved for modules rather than weapons |
| 6–14 | Component weights by role: shields, ECM, manoeuvrability, armor and specials, weighted separately for fighters, bombers and destroyers |
| 15–17 | Flags: match enemy speed, use reinforced armor, permit biological weapons |
| 18–28 | Preferences for specific special devices — pulsars, cloaking, repair, inertial, missile shields, repulsors, stasis, stream projectors, warp dissipators, technology nullifiers, oracle |
These weights also feed tech valuation, so a race that prefers a device will research toward it. A
separate preferredship key names both the race's ship artwork set and its preferred hull
size; the hull size biases AI design, and under an optional rule it also changes real ship cost, space
and armor.
08Fields that look like stats and are not
Worth knowing before you read a definition file and draw conclusions.
Several keys in every race file are vestigial or purely cosmetic. Reading them as gameplay values is the easiest mistake to make with this data:
| Key | Looks like | Actually |
|---|---|---|
species field 1 |
A biology type — carbon, silicate, robotic. Silicoid has 3, everyone else 1. | Dead. The setter, the field and its accessors are all commented out. Everything Silicoid-ish comes from ignoreEco instead. |
spyFactories, spyMissiles, spyRebellion |
Espionage strengths — they sit right where you'd expect spy stats. | Animation frame counts for the sabotage cutscenes. The values are literally the number of image files in each race's sabotage folder. The real spy stats are spymod. |
homeStarType |
The race's home star colour. | Dead. The parser explicitly swallows the line so it doesn't trip the unknown-key error. Star types come from galaxy generation. |
diplomod field 2 |
A positive-diplomacy modifier. Human ships 200, everyone else 100. | Dead. Commented out at every level. |
spymod field 4 |
A telepathy flag. | Dead. Every reference is commented out. Every race ships 0 anyway. |
year |
Something about race age or starting era. | The calendar epoch shown in the interface, and only the player's race sets it for the whole galaxy. |
councilDiplo |
Council voting behaviour. | Sprite scale, offset and opacity for drawing the diplomat at the council podium. |
homeworldKey looks like a terrain seed, and usually is — but the parser intercepts
four specific magic values and converts them into real bonuses: ship hit points and hull space, a rich
or ultra-rich homeworld, a homeworld with artifacts and fertile terrain, or a population income bonus
with halved maintenance. None of the ten original races use them; several of the extra races do. If
you are auditing race balance from the data files, this is the field that will surprise you.