EchoSpire: Portals — Evaluation¶
Status: Point-in-time assessment, 2026-08-27. Not canon and not a plan — it does not get updated, it gets superseded by a later dated evaluation. Provenance: written by Grok. Claims spot-checked against the repo on 2026-08-27; the factual ones held. Two known errors: it recommends ratifying the House renames, which
story/bible/canon-decisions.mdalready did on 2026-07-03; and it treats the GDD as one document when it was forked into two, 379 lines apart.> Path note (2026-08-27 reorganisation): paths cited in this document predate the documentation cleanup. The findings are unchanged; only locations moved.GDD.md→_archive/gdd/GDD-root.md·docs/official/game-design-document.md→_archive/gdd/game-design-document-docs-official.md·docs/official/technical-architecture.md→_archive/docs-official/technical-architecture.md·docs/official/production-roadmap.md→_archive/docs-official/production-roadmap.md·docs/GraphicNovel/→ unchanged, now with a README marking it art direction, not canon.
Date: 2026-08-27 Scope: architecture, story, Kickstarter teaser/assets, launch odds Rule for this file: recommendations live here only. No other project files were changed.
This is an honest read of what is on disk, not of the ambition. The ambition is real. The gap is between a professional platform and a shippable game.
Bottom line¶
You have built something most solo developers never get to: a real game engine with tests, a content pipeline, faction/class identity that is mechanically distinct, and a story premise that can actually stick in a stranger's head.
You have not yet built the thing Kickstarter backers buy: a 20–40 minute slice of fun they can play, shown in a trailer that looks like that game.
If you launched Kickstarter this week on the current teaser plus current WPF combat, the likely outcome is a pretty AI mood piece, a "is there actually a game?" comment thread, and a weak conversion from trailer to pledge. That is not a talent problem. It is a sequencing problem.
If you freeze names, lock the story bible as canon, finish one vertical slice with real cards and real enemies, and put that in a 90-second gameplay trailer next to the propaganda teaser, the odds of a good launch jump sharply. A great launch (genre breakout, STS-level cultural footprint) is still unlikely. A funded, respected, finishable indie launch is achievable.
1. Architecture¶
What it actually is¶
EchoSpire is designed as a game platform, not a Unity project with combat scripts in the scene.
The load-bearing decision is correct:
EchoSpire.Coreowns rules (combat, effects, map gen, economy, RNG, run state).- Clients own presentation.
- The API owns data, auth, persistence, packages, telemetry.
- Admin and simulation are first-class, not afterthoughts.
EchoSpire.Core dual-targets netstandard2.1 (Unity) and net10.0 (the rest). That is rare and smart. The comment in the csproj is explicit: polyfills exist because Unity is a real destination, not a slogan.
Combat is the mature heart:
CombatStateMachine+CombatHandlerPipeline+CardResolver+EffectRegistry- Class mechanics and faction passives as composable handlers, not inheritance
- Data-driven effects (
DEAL_DAMAGE,GAIN_BLOCK,DEPLOY_CONSTRUCT, etc.) so cards are sentences, not new C# - Seeded RNG with namespace forks so combat luck cannot contaminate map gen
IGameUIso Console, WPF, Unity, and headless sim share one loop
This is how a good studio builds a deckbuilder. It is closer to Slay the Spire's architecture (rules as data + systems, UI as a view) than to a typical vibe-coded Unity card game.
Rough current shape (counts as of this evaluation):
| Layer | Evidence |
|---|---|
| Core | ~167 C# files; combat, effects, map, economy, RNG, orchestration |
| Tests | ~87 test files; docs claim ~410 tests passing as of March 2026 |
| WPF | ~359 C# files; login through combat screens exist |
| Unity | ~18 C# files: login, register, main menu, API client, theme. Not a game client. |
| Console | Full tutorial loop was the original proof of Core |
| Assets | ~290 card art JSON/JPG pairs, card frames per faction, 5 crests, hero portraits, ~20 enemy arts |
What is genuinely strong¶
- Core owns the game. Console can play. Simulation can batch. WPF can (in principle) sit on the same rules. That is the one architectural decision that will still matter at Steam launch.
- Determinism is not a slogan. Forked RNG is the difference between "we think it's seeded" and "seed 48293748 crashed on combat 3." Bug reports, daily runs, and balance sims all require this.
- Handlers compose. An Aethari Machinist is faction passive + construct grid + relics + statuses, none of which need to know each other. That is how you get 5×5 identity without rewriting combat for every combo.
- Content is data. Cards, economy, map weights live outside code. Admin/React exists to change the game without a deploy. For a one-person shop that will keep generating cards with AI, this is the right bet.
- Offline/snapshot thinking is present. Official architecture says single-player runs should survive without the server. Kickstarter backers and Steam players will assume this. Do not walk it back.
What is overbuilt, incomplete, or risky¶
The platform is ahead of the product. Official docs still describe the project as "strong technical pre-production moving into early production." That is accurate. The risk is continuing to build platform because it feels like progress.
Things that do not sell a Kickstarter, and will delay the slice that does:
- Two admin surfaces (legacy Blazor + React)
- Live-site AI agent, operational analysis records, evidence-link data
- Package model with Catalog/Hero/Campaign/Quest versioning, CDN hashes, MinCatalogVersion (the PackageModel doc still says "awaiting decision" in one place while builders exist in the API — that drift is itself a smell)
- Rival-hero / future PvP preserved in the rule system before PvE is fun
- Mini-games, quiz, subscribe endpoints sitting beside an unfinished combat UI
- Docs that disagree on the database:
technical-architecture.mdsays PostgreSQL + ClickHouse;Architecture.mdsays SQL Server + Kusto. The running API is SQL Server. Pick one and stop documenting the other.
WPF is further than its own README admits, and less finished than the screenshots imply.
The WPF README still says the shell "does not pretend gameplay now lives in WPF." The reference screens say otherwise: Main Menu, Hero Creation, Opening Story, Run Briefing, Star Map, Combat, Elite, Boss all exist. Hero creation looks like a real game. Combat does not:
- Cards read
ART PENDING/CARD 5/Dev fixture placeholder — no real card data - Boss node uses a cartoon snail labeled
REALM SOVEREIGN - Combat background has AI-gibberish carved into the architecture (
LUR BONTA-style glyphs) - Run briefing can reach "loadout confirmed" with no faction and no class locked
- Star map is a pretty aurora wallpaper with one node, not a readable rift DAG
The chrome is production. The loop is fixtures. Kickstarter will be judged on the loop.
Unity is a prototype of a shell, not a migration. Login, main menu, theme, API client. No combat, no map, no Core-driven run. Official guidance is right: do not start the Unity presentation rewrite until the product is proven in WPF. Treat Unity as a post-funding (or post-validation) cost, not a launch blocker.
Simulation AI is still RandomPolicy plus a heuristic start. You cannot balance a 5×5 matrix with random card-plays. The simulation infrastructure is a strength; the policy is not there yet. Do not advertise "auto-balancing" on Kickstarter until greedy/heuristic policies actually produce believable win-rate data.
IGameUI is a console-shaped abstraction. WaitForKey(), Divider(), GetText() are terminal verbs. WPF and Unity will keep growing a second, richer event/view-model seam (the official docs already say this). That is fine — but do not pretend Unity will "just implement IGameUI." Plan for a translation layer. Core stays; the UI contract will thicken.
Architecture recommendations¶
- Declare a shipping client: WPF for Kickstarter + paid preview. Unity is the later skin. Say this out loud on the campaign page so you are not punished for "not Unity yet."
- Freeze infrastructure. No new admin, no new telemetry store, no package-model revisions, no live-site agent work until a stranger can play 25 minutes and want a second run.
- Wire the assets you already have into combat. You have ~290 card arts and faction frames. The combat screen is still drawing placeholders. That is the highest-leverage architecture task in the repo: it is not a new system, it is connecting ones that exist.
- One database story. SQL Server (what actually runs) is the canon. Update or quarantine the PostgreSQL/ClickHouse paragraphs so future you (and future agents) stop re-litigating it.
- Keep Core pure. The March architecture risk statement is still the right one: do not let WPF become the accidental owner of combat sequencing. Every time a mechanic is implemented in a view-model "just for now," you pay for it twice in Unity.
- Simulation policies before more telemetry writers. A heuristic that prefers killing the elite and buying the rare is worth more than another Kusto code path.
- Cut the 5×5 launch matrix. Architecture supports every combo. Launch should not. Ship 2 classes × 2 houses in the demo, 3×3 at 1.0, the rest as post-launch. The engine will allow the rest; the content calendar will not.
Architecture grade: A- as an engine; C as a ship plan. The engine would get you hired. The ship plan is still a platform company's backlog wearing a game's name.
2. Story¶
You said you cannot write stories and are leaning on AI. That is visible. It is also already being managed better than most AI-assisted games, because the later story work (story/bible/, story/claude.md) is a discipline document, not just more generated lore.
There are currently three stories in the repo. They are not the same game.
Story A — GDD (GDD.md, docs/official/game-design-document.md)¶
Four division heads secretly "improve" a reality engine on the same cycle. A janitor pulls the emergency lever, saves existence, and is blamed. A century later five Houses rule the wreck.
This premise is good. The structure is clean: the catastrophe is obedience, not invasion. Class-blindness (nobody forged the maintenance logs because Maintenance was beneath notice) is the one idea that feels authored.
The GDD then does what AI lore bibles always do: it explains itself to death, names every era (Age of Unity, Prime Deviation, Era of the Veil, Reality Bleed, Schism), and turns each faction campaign into a McGuffin fetch:
| House | Campaign, as written | End state |
|---|---|---|
| Valerii | Plant Aegis Anchors | Frozen fortress forever |
| Syntacta | Retrieve Source Code fragments | Pocket dimension with no emotion |
| Aethari | Harvest anomalies / sabotage others | Infinite wealth |
| Annalis | Extract Soul-Data, erase "false variables" | Purge the untrue |
| Salvari | Chore list that is secretly repairs | Nobody thanks you; Alden gives you the keys |
The Salvari ending is the only one a player would remember. The other four are "collect five, win ideology." They are playable as skins on a roguelike, not as stories.
The GDD voice is the AI tell list you already wrote down in story/claude.md: stacked capitals, rule-of-three, "Not X, but Y," trailer words (shattered, eons, cosmic). Example:
For eons, the Aevum Sentinels were a single, harmonious order. They maintained the Aevum Spire, which served as the absolute gravitational and temporal center of the universe.
That is encyclopedia, not a world. A player does not talk like that. Alden would not. The orientation sim might, on purpose — which is exactly why Story B exists.
Story B — the bible (story/bible/) — this is the real story¶
Two pillar sentences, both keepers:
History is written by the people who broke the world. The truth survives in the records nobody thought mattered.
Design law that actually solves your "I can't write" problem:
- Truth arrives in work orders, logs, and marginalia — never in speeches.
- The opening is the official lie, playable.
- Philosophies are taught as reflexes (which order you obey in the crisis), then the game holds up a mirror at House select.
- The Salvari are hidden; you find them by not fitting.
- The Spire is never described as built.
- Alden's face is never shown (Wilson rule).
- Campaigns speak from inside conviction; nobody narrates themselves as the villain.
- "The machine did not fail; it obeyed."
This is a better story than 90% of Kickstarter lore docs. It has a theme (prestigious memory is corrupt; humble memory is honest), a structural trick (the tutorial is propaganda), and a character (Alden) with actual contradictions: he pulled the lever knowing the price, he is not sure it was the only answer, he cannot act below certainty after The Event, he never promises, he talks about machines the way other people talk about people.
The faction birth processes in factions/00-origins.md are also better than the GDD: Valerii never formed (they just never stopped commanding); Syndicate privatized fast; Axiom crystallized a generation after Hesper died of an unbearable echo; Censors and Salvari have different clocks. Asymmetry is what makes a world. Spreadsheet symmetry is what makes AI.
The July cold-read already named the real holes, and they are still the holes:
- The player is a blank. Pre-House identity, a concrete want, friction with Alden's patience — still open.
- Each campaign still needs a named NPC, a mystery that cracks the official story from that House's angle, and a complicity beat (the player serves the lie before they know it).
- "What does Alden want from this person, not any crew hand?" is unanswered.
- The Test / final choice is still a vibe, not an action with costs.
Story C — the graphic novel (docs/GraphicNovel/)¶
Visually, this is some of the strongest work in the repo. Panel 1 (cathedral-industrial workplace, not a monument) and Panel 2 (four secret commands around the orrery) are the world. Panel 8 (the Bleed as double-exposure hall) is the image you should be putting on a store page.
Narratively, it violates the bible on purpose or by accident:
- Alden's face is on the cover and in Panel 4. The Wilson rule exists specifically so he is not "a tired janitor with a noble face." The cover makes him a superhero falling through exploding trains.
- It explains the temporal lock in a narration box in Panel 5. The bible says the player assembles this.
- Panel 10 has Alden monologuing his chore list to himself ("Two hundred years. Same chore list.") and a narration box that restates the entire premise. That is the opposite of "never five words where two work."
- Combat tutorial text is stuffed into speech bubbles in Panel 18 ("Every four beats she goes into overdrive — triple attack"). Alden does not teach UI.
Use the graphic novel as art direction. Do not use it as canon prose. Do not print it as a Kickstarter stretch reward until the face rule is either formally revoked or the pages are redrawn.
Names — lock them this week¶
This is the most expensive unresolved story decision because it touches teaser, UI, crests, cards, and bible.
| GDD / game data / card folders | Teaser v7 / story bible |
|---|---|
| Valerii | Valerii (same) |
| Syntacta | Axiom |
| Aethari | Syndicate |
| Annalis | Censors |
| Salvari | Salvari (same) |
story/claude.md already flags the GDD set as a phonetic fingerprint: Valerii / Aethari / Annalis / Salvari / Syntacta. That is a real AI tell. Axiom / Syndicate / Censors are better names. They have different lengths, different registers, and they sound like institutions rather than fantasy races.
The teaser already uses the new names. The WPF hero screen still says Aethari / Annalis / Syntacta. Card art folders are wave1-syntacta-…. Crest files are syntacta-crest.png.
Recommendation: ratify Axiom / Syndicate / Censors / Valerii / Salvari in canon-decisions.md today, then do a mechanical rename pass. Every week this stays open, you generate more assets with the old names.
Also freeze "House" as the player-facing word and "faction" as the systems word. The bible already ruled this. The WPF UI has not.
Opening story currently in the client¶
WpfReferenceScreens/wpf_ref_07_OpeningStory.png opens with:
The light of something that was built.
That sentence is a direct violation of the standing rule: the Spire is never described as built. It is also the old encyclopedia voice. The playable-lie orientation in the bible is the better opening. The current WPF opening is a lore dump with a Skip button. Skip will win.
How to use AI without the story sounding like AI¶
You do not need to become a novelist. You need to become a commissioning editor with a short list of laws, which you already have. Follow them as if they were code review.
- Bible is canon. GDD is archive. Treat
GDD.mdthe waystory/claude.mdalready treats/story/archive/: salvage only, never regenerate from it. - Do not ask a model to "write the story." Ask it to draft one work order, one Alden line, one House orientation paragraph, then you accept/reject. Your taste is the authorship. The model is a junior.
- Run every player-facing sentence through the anti-AI-tells list in
story/claude.md. If you cannot hide the House name and still know who is speaking, rewrite. - Hire a human for one pass before Kickstarter: a narrative editor for a week, not a ghostwriter. Brief them with the two pillars, the Alden voice sheet, and "delete anything that sounds like a wiki." Budget: a few thousand dollars. ROI: the difference between "AI slop" comments and "this world feels considered."
- Give the player a job, not a biography. You do not need a tragic backstory. You need: unaffiliated, sitting the orientation, a concrete want (a posting, a debt, a name on a list). The blank is only fatal if they also have nothing to do.
- Write campaigns as complicity, not collection. Each House run should force the player to do the House's crime once while they still believe the orientation. Valerii: you lock a sector and someone inside does not make it. Censors: you redact a file that was true. Syndicate: you price a life. Axiom: you delete a variable that was a person. Salvari: you steal something that was holding a wall up, and you don't know that yet.
- Stop explaining Alden. The graphic novel and the GDD both cannot resist telling us he is the last Sentinel. The teaser does not. The teaser is right.
Story grade: B+ as a bible; C- as shipped text. The later story work is the best creative decision on the project. The GDD and graphic-novel prose will sink it if they stay in the player's face.
3. Kickstarter assets and teaser clip¶
What the clip is¶
TeaserMedia/EchoSpire Teaser.mp4 is 77 seconds, ~135 MB, 24fps, stills-plus-motion-graphics. Script v7 is the source of truth. I extracted frames from the actual file, not just the stills folder.
Intended job (from gemini-teaser-context.md): stop a scroller, sell the premise, not the mechanics. No cards, no UI, on purpose.
The structure is the right structure:
- Propaganda orientation (awe, sanitized tragedy, four Houses, "join them")
- Broadcast shears mid-word on "tru—"
- Pull back: it was a screen in a workshop
- A figure seen from behind: "It's a good story. Clean. Fits on a monument. / History was written by the people who broke the world."
- Title card
What works in the actual cut¶
- The idea is Kickstarter-grade. Most game teasers show the product. This one tells a lie and then admits it. That is rarer than good lighting.
- 0:22 saboteur silhouette is the best single frame. Gold cracks in concrete, coveralls, back to camera. It is the whole theme in one still.
- House taglines are tight. "The Axiom — Prove what is real" is a better sentence than any GDD paragraph.
- Alden's two lines are the product. They should be on the campaign page as the first paragraph, not only in the video.
- "ORIENTATION 07-B · PLAYBACK 4,431" is the correct kind of world detail: institutional, slightly wrong, implies this tape has been played thousands of times.
- Audio exists. SIM VO per shot, Alden VO, glory-bed music. This is a real cut, not a slideshow mock.
What does not work yet¶
The first 50 seconds look like AI luxury-sci-fi. White marble, gold inlay, nuclear family in matching white at breakfast, "It sheltered us." As in-world propaganda that is conceptually correct. As a trailer that must survive a 3-second mute-scroll on Twitter/KS, it reads as generic Midjourney utopia. People have been trained to skip this look.
The family mural is the weakest shot. It is a stock prompt: beautiful parents, two children, cathedral window, lens flare. It does not look like a workplace-civilization inside a machine (Panel 1 of the graphic novel does). The bible says the golden age was a workplace. The teaser shows a showroom.
The catastrophe is not catastrophic. T05 "sanitized fracture" is still a beautiful marble nave with purple lightning in the walls. Sanitized-on-purpose is the brief — but if the "break" doesn't read as a break even as propaganda, the later shear has nothing to puncture. Need one propaganda-legal image that still feels like a disaster: a hall with a polite caption and a body count in the fine print, or a "recalibration complete" stamp over a cracked core.
The four-House crest sequence is Hogwarts. Eagle, eye, chalice, book, quartered shield, laurel, serif subtitles. It will be read as "pick a house" before it is read as EchoSpire. The in-game crests (assets/factions/crests/) are more specific (icy machine-eagle, rusted wrenches, ouroboros-chalice) and they do not match the teaser crests. Two visual languages for the same Houses is a brand leak.
The pull-back is the payload, and it is the least finished shot. Script v7 says: wide workshop plate, two figures, screen in mid-ground, camera scales out of a punch-in. The frame at ~0:58 is a head-and-shoulders silhouette against a glitching crest on a screen. The idea lands. The room does not. The workshop still (workshop_pullback_v1.jpg) is better than what made the cut — dim, cluttered, two bodies, a real place. Finish that shot. It is the only moment that is yours and not a genre template.
The title card drops the line that should close the piece. On screen at 0:68:
ECHOSPIRE PLAY THE DEMO Coming to Kickstarter
The bible/tagline "Every death leaves an echo" is not there. "Play the demo" is a CTA with no demo attached. You are asking for a click you cannot honor. Replace with the tagline. Put "Demo" on the campaign page when a demo exists.
Alden stills still fail the age rule. TeaserMedia/stills/Alden.png is veiny elderly hands at a workbench. The registry already logs this as a known generation failure. Do not use it.
House names in the teaser will fight the game until you rename the client.
Graphic novel vs photoreal teaser¶
If you can only afford one look for the campaign:
Pick the graphic novel's industrial-cathedral ink, not the white-marble photoreal.
Reasons:
- It is more distinctive. Photoreal gold-cathedral is the default output of every image model in 2026.
- It matches the "workplace inside a machine" pillar.
- Panel 2 (four founders) explains the premise without a paragraph.
- It will still look like itself next to gameplay UI (dark navy, gold serif, heavy frames). White marble will not.
Use photoreal only for the propaganda half of the teaser, and let the pull-back / in-game / key art live in the illustrated register. That contrast is the story.
Asset volume vs usability¶
You have a lot of files. You do not have a consistent shipping set.
| Set | Volume | Problem |
|---|---|---|
| Card art | ~290 jpg/json pairs | Garbage text burned in (Ploor. rememears – every nearfair… on Gravemass Advance). Multiple generator variants of the same card. Combat UI doesn't use them. |
| Card frames | 20 (5 houses × 4 types) | Good. Heavy, readable, faction-colored. Use them. |
| Crests | 5 in-game + a different 4 in the teaser | Two identities. Pick in-game, redo teaser plates. |
| Hero portraits | Anchor etc. are actually strong | Anchor portrait is one of the best images you have: readable silhouette, rust, mass. Combat doesn't show the player at all (empty circle). |
| Enemies | ~20 authored + third-party pack | Boss screenshot is a snail. That cannot ship, even as a joke, on a campaign page. |
| UI screens | Hero creation is campaign-worthy | Combat, map, briefing are not. |
| Audio | Glory-bed, Fall (reserved), VO takes, random Suno filenames | Faction leitmotifs still blocked. Detuned Aevum fragment for the teaser tail still listed as missing in the registry. |
| Kickstarter page | No pitch deck, no stretch-goal doc, no demo build, no "what's in the box" one-pager found | The teaser is doing 100% of the marketing job. It cannot. |
What a Kickstarter actually needs (gap list)¶
A funded campaign in this genre in 2026 typically has:
- 90-second gameplay trailer — cards resolving, a map choice, a boss tell, one "only this game does that" moment (Density retaining block, a Construct grid, Overload debt, a Protection rift). You have none of this on purpose. That was a reasonable teaser brief. It is not a sufficient campaign brief.
- Playable demo — 20–40 minutes, one House, two classes, tutorial-as-lie plus one real run. The title card already promises this.
- Key art that is not a still from the teaser. One vertical poster. Graphic-novel Panel 8 or a finished workshop pull-back, not the family breakfast.
- Name lock + UI screenshots that match the trailer Houses.
- A date, a platform, a scope. "Windows paid preview, WPF, Steam, 2027, two Houses at launch / five in Early Access" is fundable. "Unity eventually, five campaigns, live-site AI, laser-tag crossover" is not.
- Stretch goals that are content, not engines. More Houses, more card waves, a comic, a soundtrack. Not "we'll rewrite it in Unity" (that's a fear) and not "we'll add PvP."
- The making-of is a stretch video, not the pitch. Your LinkedIn series ("I'm building a production-level game by myself using AI agents") is a developer story. Kickstarter backers have been burned by AI asset flips. Lead with the world and the game. Put the AI pipeline in an update or a stretch documentary. Honesty is good; leading with the factory is not.
Teaser/asset recommendations¶
- Finish the workshop pull-back as specified in script v7. This is the only shot that must be great.
- Replace the title card: tagline, then "Coming to Kickstarter." Remove "Play the demo" until the demo exists.
- Recut the first 20 seconds with one workplace shot from the graphic-novel register so "golden age" feels inhabited, not rendered.
- Stop generating new card art until combat displays the art you have, with a no-text-in-image check in the pipeline. Garbage captions on cards will get screenshot-quoted.
- Make the in-game crests the only crests. Redo T07–T10 from those files, same lighting, same camera, so the teaser and the client agree.
- Record a second trailer only after the vertical slice exists. Do not spend another month on parallax.
- Do not show WPF combat, the snail, or
ART PENDINGanywhere public. Hero creation and the teaser are currently the only public-safe images.
Teaser grade: A- concept, B- script, C+ current cut. The last 20 seconds are why people will care. The first 50 seconds are why people will swipe.
4. Honest assessment — likelihood of success¶
"Success" needs splitting, because they have different odds.
A. You finish a game that exists¶
Possible. Better than typical solo odds, because Core is real and the content pipeline is real. The threat is scope, not skill.
You will not finish: 5 authored campaigns × 5 classes × Unity rewrite × live ops × laser-tag crossover × graphic novel × auto-balancer.
You can finish: a Windows Steam Early Access with 2 Houses, 3 classes, a playable-lie prologue, Quick Play, and a card pool that is deep in those lanes.
Treat everything else as DLC or a sequel. This is the only way the architecture you already built gets used by players.
B. Kickstarter funds (modest goal, say $25k–$75k)¶
If you launched this week: low. Mood teaser + no demo + name split + AI-photoreal first impression + combat not showable. A warm personal network (work colleagues who already like how you think) can paper over some of that for a small goal. Strangers will not.
If you launch after a vertical slice and a gameplay trailer: medium-to-good for a modest goal. The premise is sticky. Class × House is a real mechanical hook. Solo-dev-with-a-real-engine is a true differentiator once people can play. You will still be in a brutal category (deckbuilder roguelike) where backers compare you to Slay the Spire, Monster Train 2, Balatro, Inscryption. You will not win "more content than STS." You can win "this world and these two systems feel like nothing else."
C. "Great launch" (press, Steam featuring, genre conversation)¶
Unlikely, and that is not an insult. Great launches in this genre come from:
- a mechanic people can explain in one sentence (Balatro: poker + jokers; STS: three acts, relics, one energy system everyone already knows), and
- a feeling people can meme (the silent protagonist of Inscryption; the tone of Hades).
Your one-sentence mechanical hook is not "it's STS with factions." It should be one of:
- You play the lie first. The tutorial is the official history, and the rest of the game is the maintenance logs.
- Houses are why you fight; classes are how. Same cards, different crime.
- Death is an echo. Failed runs are not erased; they are what the Spire is made of. (Only if you actually implement that, not just tagline it.)
Until one of those is visible in 15 seconds of gameplay, you do not have a great-launch hook. You have a good-engine hook, which journalists do not write about.
D. The AI-solo narrative as a market position¶
Double-edged.
Work colleagues responding to "how you look at things" is a genuine asset: systems thinking, architecture taste, willingness to go deep. That is why the engine is good.
Public Kickstarter audiences in 2026 are suspicious of AI-generated art, AI-generated lore, and "I made this with agents" as a substitute for play. They will inspect card captions for Ploor. rememears. They will notice House names changing. They will ask whether the demo is fun.
Use AI as leverage you are honest about in updates. Do not use it as the reason to buy. The reason to buy is Alden, the propaganda tutorial, Density/Constructs/Overload, and a slice that respects the player's time.
What would make me back it, today, if I were a stranger¶
Not yet.
What would:
- I watch 90 seconds of cards actually resolving in a House I already care about from the teaser.
- I download a demo the same hour.
- In 30 minutes I have been lied to by a beautiful orientation, chosen a House, and had one run where a class mechanic (not the lore) made me feel clever.
- The campaign page says Windows, Steam, a date, what's in 1.0, and that Unity is a later presentation upgrade rather than a promise.
- The names on the trailer match the names in the demo.
That is a high but finite bar. You are closer to it than the combat screenshots suggest, because the engine and the bible are already the hard parts.
5. What to do — ordered by impact on a great launch¶
Do these in order. Items 1–6 are launch-critical. Items 7–10 make it great rather than merely funded. Everything after that is how you stay alive after funding.
1. Freeze names and canon (this week)¶
- Player-facing Houses: Valerii, Axiom, Syndicate, Censors, Salvari
- "House" in UI; "faction" in code
story/bible/is canon;GDD.mdand GraphicNovel prose are archive- Alden: no face, no elderly hands, no first-person pre-Fall memory
- Spire is never "built"
- Write it in
canon-decisions.mdand stop generating assets against the old set
2. Define the Kickstarter slice (this week)¶
Write a one-page ship contract (can live in this file or a new one; do not expand the GDD):
- Platforms: Windows / Steam
- Client: WPF
- Contents: playable-lie prologue + two Houses (recommend Valerii + Salvari — they are the moral poles) + two classes (recommend Anchor + one of Drifter/Machinist)
- Length: 25–40 minutes to a first boss
- Demo = that slice, free
- 1.0 = that slice plus one more House and a deeper card pool
- Explicitly out: Unity, PvP, live-site AI, five full campaigns, laser-tag
3. Make combat look like the game you already have (next 2–4 weeks)¶
This is the entire launch. Not a new system.
- Real card names, costs, art, frames
- Player portrait in the empty HP circle (you have the Anchor art)
- Real enemy art; delete the snail from any build that could be screenshot
- Intent icons you already designed
- No AI garbage text on cards (pipeline gate)
- A map that is a DAG of rifts, not an aurora wallpaper with one icon
Hero creation is already close to campaign-safe. Combat is not. Close that gap before any more story panels.
4. One vertical slice that is fun, then stop adding verbs¶
Play it yourself on a clean machine, twice a week, with a timer. If a mechanic is not in the slice, it is not in the Kickstarter. Protection rifts, constructs, Density — pick the ones that photograph well and feel different from STS in thirty seconds.
5. Recut the teaser; add a gameplay trailer¶
- Finish the workshop pull-back
- Title card: EchoSpire / Every death leaves an echo / Coming to Kickstarter
- Keep the propaganda structure
- Add a second 60–90s video that is only gameplay, cut to the glory-bed or the Fall bed
- Campaign page: teaser first, gameplay second, demo button third
6. Human-edit all player-facing copy¶
One editor, one week, bible in hand. Orientation SIM can stay fluent and false. Everything downstairs gets shorter. Opening-story WPF dump gets replaced by the playable lie or by almost nothing.
7. Give the player a want, and each House a crime¶
Not a novel. Three sentences per House campaign:
- What they send you to do (the job)
- The crime you commit while still believing them
- The physical evidence that doesn't match (a fitting, a log, a body)
Salvari already has this (chores that are repairs). Clone the shape, not the plot.
8. Talk about the work, not the factory¶
LinkedIn series: keep it. That is how colleagues and other builders find you.
Kickstarter page hero: the Spire, the lie, the demo. A short "who I am" with a photo of you. A production-reality paragraph that is honest about AI assistance without making it the genre. Backers fund a game and a person. They do not fund a pipeline.
9. Stretch goals that extend the slice, not the architecture¶
Good: third House, extra class, more card waves, soundtrack, graphic novel (redrawn to the face rule), accessibility.
Bad: Unity rewrite, PvP, mobile, "AI dungeon master," laser-tag arena, five full novels of campaign.
10. After funding, do not restart¶
The failure mode I would bet on is not "the engine was wrong." It is "funding arrives and we begin the Unity client / package-model v3 / remaining three campaigns from scratch."
WPF paid preview is the product. Unity is a presentation upgrade after the preview has players. Core does not move.
6. Direct answers to the four questions¶
Architecture¶
Serious, professional, and unusually good for a solo project. The shared Core, handler pipeline, data-driven effects, and seeded RNG are the right foundations. The current danger is using that quality as permission to keep building platform instead of a playable loop. WPF is the ship client. Unity is not ready and should not be on the Kickstarter critical path.
Story¶
The premise is strong. The later bible is the version worth making. The GDD and graphic-novel narration are the AI-lore version and will read as such. You do not need to learn to write novels. You need to lock the bible, hide the GDD from the player, freeze names, and hire one human editor. Alden plus "the tutorial is a lie" is enough story for a Kickstarter if the in-game text obeys the voice sheets.
Assets / clip¶
The teaser's idea is the best marketing idea you have. The current cut is a competent first assembly with a generic photoreal front half, a Hogwarts crest middle, and an under-built pull-back. Finish the workshop shot, restore the tagline, stop promising a demo you cannot click, and do not show combat until cards and enemies are real. Prefer the graphic-novel look for key art. You already have more card art than the client uses; connect it, then generate less.
Likelihood, and how to raise it¶
A great, genre-defining launch is unlikely. A funded, finishable, respected indie launch is plausible if you sequence for a playable slice instead of a platform. The single highest-leverage move in the entire repo is: real cards on the real combat screen, in a build a stranger can run, advertised by a gameplay trailer that matches the House names in the teaser.
Everything else is downstream of that.
Appendix — evidence index¶
| Claim | Where |
|---|---|
| Core dual-targets Unity | EchoSpirePortals/src/EchoSpire.Core/EchoSpire.Core.csproj |
| Official architecture + WPF-then-Unity | docs/official/technical-architecture.md |
| Production state: pre-prod / early prod | docs/official/production-roadmap.md |
| Combat fixtures / snail boss | WpfReferenceScreens/wpf_ref_10_CombatNode.png, wpf_ref_12_BossNode.png |
| Hero creation already strong | WpfReferenceScreens/wpf_ref_05_HeroCreation.png |
| Opening copy violates "never built" | WpfReferenceScreens/wpf_ref_07_OpeningStory.png |
| Story pillars + playable lie | story/bible/00-pillars.md |
| Alden voice laws | story/bible/voices/alden.md |
| Anti-AI-tells (incl. name fingerprint) | story/claude.md |
| House rename in teaser, not in game | story/drafts/kickstarter-teaser-script-v7.md vs WPF hero screen |
| Teaser duration 77s | TeaserMedia/EchoSpire Teaser.mp4 |
| Pull-back under-built vs intended plate | frame ~0:58 vs TeaserMedia/stills/workshop_pullback_v1.jpg |
| Title card CTA, no tagline | frame ~0:68 |
| Card art garbage text | assets/cards/art/wave1-anchor-gravemass-advance-lucidorigin.jpg |
| Crest mismatch teaser vs game | TeaserMedia/stills/T07_crest_valerii.jpg vs assets/factions/crests/valerii-crest.png |
| Unity is shell-only | EchoSpire.Unity/Assets/Scripts/ (login/menu/API) |
| Graphic novel shows Alden's face | docs/GraphicNovel/CoverArt.png, Panel4/Text.txt |
| Cold-read: player is a blank | story/cold-read-feedback-2026-07.md |