Sol’s Souls Devlog 03 — Tension, Tutorials, and Three Thousand Tests

/ / 13 min read
Sol’s Souls: Green Marsian Lawns

Sol’s Souls Devlog 03 — Tension, Tutorials, and Three Thousand Tests

Devlog 02 ended with 1,499 passing tests, eight factions, thirty civic events, a founding ceremony, and the word “PLAYTESTING” in bold. Since then, the build has doubled its test count, added a new event system that makes settlements argue with each other, and shipped a complete in-game reference manual. The number is 3,111. The failure count is still zero.

This is the devlog about what happens when a game that already works gets pushed until it proves it.


Inter-Settlement Tension Events: When Your Colonies Stop Getting Along

The event system in devlog 02 handled civic disputes, colonist stories, Earth mandates, and faction pressure. All of those events happen inside a single settlement. The new tension events happen between settlements — and the difference changes the feel of the mid-to-late campaign entirely.

Six tension event templates fire when strain metrics between two or more settlements cross specific thresholds. Strain is calculated from five dimensions: resource disparity, greenery gap (yes, lawn envy is a measurable political force on Mars), faction divergence, morale gap, and overall inter-colony friction. When enough strain accumulates, the turn resolution pipeline rolls a tension event between the colonist event phase and faction pressure. The result is political friction that cannot be solved by managing one settlement well.

Petition: Inter-Settlement Resource Equity Act — When one settlement is rich and the other is not, the poor settlement’s citizens file a formal petition citing Article 7 of the Colony Charter. Your legal advisor notes that Article 7 was added as a placeholder and was never intended to be binding. The petitioners do not care. You can mandate redistribution (legitimacy up, the rich settlement files fourteen complaints), reject the petition (legitimacy down, a three-hour speech about structural neglect), or propose voluntary donations that your advisor describes as “optimally insufficient.”

SCANDAL: Inter-Settlement Lawn Gap Crisis — ENN breaks the story: one settlement has lawns rated “Excellent” while the other is stuck at “Embarrassing.” Earth’s Bureau of Interplanetary Aesthetics has requested photographs. They are concerned about brand consistency. Redirect water to equalize greenery and the rich settlement’s head gardener resigns in protest, citing “a betrayal of horticultural excellence.” Declare lawn competition a healthy tradition and graffiti appears: “GREEN IS A CLASS ISSUE.”

POLITICAL CRISIS: Ideological Divergence Warning — Your settlements have developed fundamentally different political philosophies, and they have noticed. Someone leaked a memo calling the other settlement’s governance “an embarrassing experiment.” Host a unity summit (two days of shouting followed by grudging acknowledgement) or issue a Political Harmonization Order (both settlements hate it equally, which is — technically — a form of unity).

Citizen Migration Petition — Eight citizens of the struggling settlement have formally requested transfer. They cite quality of life disparity and the fact that the other settlement has a recreational dome. Approve and the struggling settlement loses a citizen and gains a grievance. Deny and invest emergency rations instead. Establish an exchange program and nobody gains clarity on who writes the shift schedules.

Emergency Session: Critical Supply Inequity — The judicial committee convenes an emergency session. They have also billed you for it at “standard judicial rates,” which they have just invented. Implement equalization and the wealthier settlement files an appeal to be heard by the same committee that ordered the redistribution. Your advisor calls this “not a conflict of interest — efficiency.”

COLONY CRISIS: Formal Secession Motion Filed — This is not a drill. A formal secession motion cites irreconcilable governance differences and “a general sense that nobody in the capital settlement actually cares.” Earth is “observing with interest,” which means they are already drafting talking points about the failure of Marsian self-governance. If you do not act, the motion advances to a colony-wide vote. If it passes, your colony splits.

The tension events have cooldowns (8–10 turns) and suppression logic to prevent spam. They support forced rollout for scripted campaign moments, and they save/load cleanly through the full state pipeline. Twenty-seven QA tests cover data integrity, condition evaluation, text generation, forced rollout, choice mechanics, and save/load round-trips.

What the tension system does to gameplay is structural. Before tension events, the multi-settlement campaign was about logistics — moving resources and units between colonies efficiently. Now it is about politics between the colonies themselves. A player can run their individual settlements perfectly and still face a secession crisis because the settlements have diverged in ways that perfect management does not address. The inter-colony layer turns Sol’s Souls from a colony sim with multiple bases into a federation sim where the bases have opinions about each other.


The How to Play Guide: Six Pages of Things the Game Was Not Explaining

Every game needs a tutorial. Sol’s Souls has enough systems — colonies, factions, events, research, combat, legitimacy, sovereignty, civic credit — that dropping a player into Turn 1 without explanation is not minimalism. It is hostility.

The How to Play screen is a six-page reference accessible from the main menu. It covers:

OVERVIEW — What the game is, who you are (Chief Development Officer of a young Mars colony), and the core loop: move, found, respond, defend, maintain legitimacy.

CONTROLS — Movement, unit actions (collect signals, found settlements, load cargo), building, combat, camera, and menu shortcuts. Everything is listed. Nothing is hidden behind a tooltip.

RESOURCES — The four resource types, how they deplete, what happens at zero, and how the legitimacy meter works as both a resource and a political thermometer.

SETTLEMENTS — How founding works, building slots, population, morale, and the relationship between settlement growth and defense exposure.

THREATS & CIVICS — Raids, environmental events, faction pressure, Earth mandates, and the civic event system. This page explains why ignoring an administrative directive costs legitimacy and why following it costs something else.

WINNING & LOSING — Victory conditions (Sovereign Mars status), defeat conditions (legitimacy collapse, total settlement loss), and what the Colonial Rating means on the endgame screen.

The guide supports keyboard navigation (left/right arrows, A/D), mouse wheel paging, and clickable tab headers at the top of the screen. QA exercises all three input methods on every page and validates layout — no text overflow, no clipped headings, no pages that render blank on edge-case window sizes.

The guide exists because the game is good enough to need one. A system that does not require explanation is a system that is not doing enough. Sol’s Souls has eight factions, thirty civic events, six tension events, governance decrees, research, combat, and a founding ceremony that determines your settlement’s political character for ten turns. That complexity is the game’s value proposition. The guide makes it accessible rather than impenetrable.


Itch Readiness Polish: The Menu Screen Sells the Game

The menu screen is a storefront screenshot. For itch.io, it is the first image a potential player sees. It has to communicate atmosphere, quality, and genre in a single static frame.

The menu got a visual pass: 40 twinkling sky stars behind the Marsian domes, pulsing dome window lights that suggest inhabited interior spaces, and inter-dome connecting pathways that show the settlements as a network rather than isolated bubbles. The menu already had the ENN news ticker scrolling satirical headlines at the bottom. Now the backdrop behind the menu options sells the world the ticker is narrating.

Beyond cosmetics, the itch readiness QA pass added targeted verification: all five menu options present and navigable, ticker text valid and scrolling, backdrop stars rendering and animating, keyboard navigation cycling correctly through every option. These are the tests that catch the embarrassing failures — the menu that loads but has invisible text, the ticker that renders behind the background, the option that cannot be reached by keyboard.

Triple-cycle save/load integrity testing was added at the same time: three full save/load cycles spanning 21+ turns each, with complete state verification after every cycle. Resources, faction alignments, research progress, event history, settlement populations, and sovereignty scores — all verified to round-trip without drift. A game that corrupts save files on the third load is a game that gets refunded on the third session.


Visual Contrast Hardening: Making Every Pixel Readable

Between the itch polish pass and the QA expansion, three dedicated contrast commits addressed every screen region that measured below a 0.30 contrast ratio.

The problem was real but invisible during normal play. Dim informational text — log headers, hover tooltips, popup choice labels, footer control pills, panel filler, credits prompts — rendered in a muted color that looked stylistically appropriate but measured below readable thresholds when sampled algorithmically. The QA system catches what the developer’s eye normalizes.

Fixes were surgical. ui_dim color references were replaced with ui_text on twelve specific text elements. Background strips and accent lines were added behind low-contrast headers. The popup overlay transparency was tuned so that background regions dim enough to communicate “inactive” without dropping below measurable contrast. QA region bounds were tightened to match actual content height rather than full panel dimensions — a credits scroll panel that extends 580 pixels does not need to pass contrast checks on the empty 400 pixels below the rendered text.

The result: zero regions below 0.30 contrast across two full QA runs. Credits scroll contrast jumped from 0.214 to 0.511. The worst map hover tooltip went from 0.107 to 0.156 (with the region skipped during popup states where the overlay dims it below measurable levels anyway). Every screen in the game is now readable in the technical sense, not just the “it looks fine on my monitor” sense.


The QA Expansion: 1,499 to 3,111

Devlog 02 reported 1,499 tests. This devlog reports 3,111. The number doubled and then some. Here is what the new tests cover, roughly in the order they were added.

Save/load integrity (1,797 tests) — Deep state verification across multi-turn campaigns. Save at turn 7, load, verify every field. Save again at turn 14, load, verify. Save at turn 21, load, verify. The tests do not just check that the game loads without crashing. They check that the loaded state is bitwise identical to the state that was saved.

Settings persistence (1,948 tests) — Full round-trip testing for every user-configurable option. Change a setting, save, reload, verify the setting survived. Change it back, save, reload, verify again. Twenty-turn stress tests with settings toggled mid-campaign.

Labor edge cases and event chain stress (2,058 tests) — Multi-colony save/load under labor allocation edge cases. Event chains that trigger sequentially within a single turn. Itch store screenshot capture automation.

Menu and itch readiness (2,253 tests) — Visual threshold hardening across campaign, settlement, and governance screens. Menu backdrop verification. Triple-cycle save/load spanning 21+ turns.

Data integrity and difficulty scaling (2,730 tests) — Trait math verification (every colonist trait produces correct stat modifications). Civics edge cases (what happens when civic_cred goes negative while a decree is active). Thirty-turn stress runs at every difficulty level. Full settings round-trip at each difficulty.

Defense and endstate (2,762 tests) — Comprehensive defense system coverage: raid generation, combat resolution, damage calculation, building damage, casualty effects, legitimacy impact from failed defenses. Endstate testing: every victory path, every defeat condition, every edge case where the game should end but might not.

Propaganda, weather, sovereignty (2,898 tests) — Three previously untested systems brought under full coverage. Propaganda broadcasts with signal animation and transmission VFX. Weather events and their mechanical effects. Sovereignty score calculation and threshold transitions.

Encounter, unit, research, trade (2,979 tests) — Four more systems with dedicated test suites. Encounter generation and resolution. Unit movement, assignment, and capacity. Research tree progression and tech unlock effects. Trade route mechanics.

Inter-settlement tension (3,006 tests) — Twenty-seven tests for the new tension event system: template data integrity, strain condition evaluation, dynamic text generation, forced event rollout, choice application, and save/load persistence.

Governance, council, broadcast, prologue, ceremony (3,111 tests) — The final push. 101 tests covering six systems. Governance: decree lifecycle from enact through expire, exclusive conflicts between competing decrees, amendments, rescission, processTurn effects. Council screen: three-tab navigation, faction influence bars, tensions display, history tab with scrolling. Overview screen: settlement cards, morale bars, resource deltas, card overflow checks. Broadcast screen: signal animation, transmission VFX. Founding ceremony: name pool generation, filing templates, reaction types, bonus application, determinism verification. Prologue: typewriter data, page count, snapshot structure.

Zero failures across all 3,111 tests.


What 3,000 Tests Means for Launch Readiness

A test count is a vanity metric if the tests are shallow. These are not shallow.

The Sol’s Souls QA suite does not test “does the game start” and “does a button work.” It tests “if you save at turn 21 after enacting a decree, loading a cargo, losing a raid, and having a colonist event fire during the same turn, does the loaded state preserve the decree’s remaining duration, the cargo’s destination, the raid’s damage effects, and the colonist event’s resolution flag.” It tests “if two settlements have divergent dominant factions and overall strain exceeds 0.55, does the secession event fire with the correct settlement name in the text and the correct effects on each choice.”

The depth matters because Sol’s Souls is a systems game. Every turn resolves production, upkeep, threats, events, faction pressure, and now inter-settlement tension. Each of those systems reads from and writes to shared state. A bug in one system does not crash the game — it silently corrupts the state that the next system reads. Silent corruption in a turn-based strategy game means the player’s thirty-turn campaign gradually becomes nonsensical and they do not know why.

3,111 tests with zero failures means the state pipeline is clean. Every system writes what it promises and reads what it expects. Save files are deterministic. Difficulty scaling is linear. Trait math is correct. Edge cases at resource boundaries, faction thresholds, and decree expirations behave as designed.

What 3,111 tests does not tell you is whether the game is fun. The QA suite validates mechanics. It validates that the tension events fire under the right conditions and apply the right effects. It does not validate that the tension events create the feeling of governing a fractious colony. It does not validate that the founding ceremony feels like a real choice. It does not validate that the lawn envy event is funny.

But it does mean that when a human sits down to answer those questions, the machine underneath will not betray them. The systems work. The state is clean. The save files hold. The tutorial is written. The menu is polished. The contrast is readable.

Sol’s Souls is ready for the one test suite that cannot be automated.


What’s Next

The build is mechanically complete and QA-verified. The tension events add the last major system — inter-colony politics. The How to Play guide removes the last major onboarding gap. The visual contrast pass and itch polish remove the last storefront-blocking quality issues.

What remains is itch.io readiness certification: final store page assets, platform packaging, and the human playtest that determines whether 3,111 passing tests translate into a game worth playing.

The lawns are green. The permits are approved. The settlements are arguing about it.


Sol’s Souls is approaching itch.io readiness. Follow x00f.com/games/sols-souls/ for updates.

// This devlog is about

Sol’s Souls: Green Marsian Lawns

Turn-Based Colony-Defense Satire Launch Queue
View Game → Launch Link Pending

// Leave a Response

Required fields are marked *