Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Westicles

17
Posts
4
Followers
A member registered Nov 13, 2025 · View creator page →

Creator of

Recent community posts

Two things addressed in v0.9.9, just shipped.

Bulk-buy research. The BUY MODE bar (×1 / ×10 / ×100 / ×1000 / MAX) at the top of the factory now applies to research too — same way it applies to machines and supports. Tap a research node with MAX selected, you'll buy as many levels as you can afford in one click. Shift+click for ×10, Shift+Alt for ×100, Ctrl+Shift for ×1000 also work. The arm/confirm safety prompt is skipped when you're in a bulk mode (you've already deliberately opted into it). Plain ×1 still asks for confirm to prevent misclicks.

Eight higher-tier achievements added. The existing list capped out at things like "1B ore lifetime" and "1000 machines" — those were rushable, fair point. New ones push an order of magnitude up: 1T ore, 1M prototypes, 2500 machines, 250 prestiges, 50 publishes, 1000 patents, 25 Legacy Marks, and a "single run 4 hours" entry. Total goes from 71 to 79.

If you'd already earned the PERFECTIONIST capstone, it'll un-light until you reach the new milestones — that's intentional. The capstone is "earn every other achievement," so it has to move with the list when content gets added.

True auto-buy for research (toggle, priority queue, set-and-forget) is still in the v1.0 queue. Bulk-buy via the mode bar covers most of "make it go faster" without having to design the priority logic, but if it doesn't go far enough I'd love to know.

(1 edit)

Quick follow-up. A lot of what you flagged has landed in two updates since your comment.

v0.9.7 shipped:

- Bulk-buy for supports. The BUY MODE bar now controls Power Nodes and Boost Relays the same way it controls machines. Your specific ask, fixed.

- Challenge goals scale with lifetime patents. Directly addresses "challenges were completed as soon as I started them." A 30-schematic challenge becomes 60 at 25 patents, 90 at 100, 150 at 400, 210 at full mastery. The banner, the grid, and the start confirmation all show both the original goal and the scaled value so there's no surprise.

v0.9.8 just shipped:

- Three challenges unlock earlier. PACIFIST, TALL, and SLOW BURN are now available after 2 prestiges instead of needing a first Publish. This is your "move some challenges into the early game" suggestion, directly.

- Locked research nodes are visible from the start. Before this, anything with unmet prerequisites was hidden entirely. Now the whole tree renders as faint ghosts from run 1 so you see what's coming.

- Welcome Schematic. New games (and existing games where you haven't yet prestiged) start with 1 Schematic so the Research tab is usable in the first five minutes instead of waiting through a full first prestige to open it.

Still on the list, not yet touched:

- Ascensions becoming trivial at high play counts. This is about the Prestige formula itself, not the challenges. Prestige reward scales with production, and late-game production is so huge the formula becomes effectively free money. Needs a softcap or scaling requirement, similar to what v0.9.4 did for the Patent curve. Design risk, so I'm being careful.

- Exhibitions feeling like "click upgrades quickly." The hardest one. Real decision weight would need things like mutually-exclusive Archive upgrades or pool picks that lock you out of other options. Needs design time, not a patch.

Both of those are v1.0 balance pass material. I'd rather land them right than rush.

Thanks again for the writeup. Comments this specific are the difference between a v1.0 that ships with these problems unaddressed and one that doesn't.

(1 edit)

Good catch, that was a bug. My last patch switched damage upgrades from flat +1 to "+2% of the hero's base damage" per level, meant to scale better at late waves. For the archer (base 4) that's only +0.08 per level. Effectively a nerf at every level for every hero in the game. Definitely not what I wanted.

Just pushed a fix. New formula is +1 OR +10% of base, whichever is larger:

  • Archer (base 4) gets +1 per level, same as the old chunky 4 → 5 → 6.
  • Cannoneer / Crossbow (base 10) also land on +1 per level at current stats.
  • Once prestige multipliers inflate the base (Sharpened Edge, Promotion stacks, class bonuses), the 10% kicks in and upgrades keep scaling. A 3x-dmgMul cannoneer gets +3 per level.

So the floor is the chunky feel you remember, the ceiling actually scales into late waves. Thanks for flagging it quickly, sorry for the break.

(1 edit)

The challenge banner (the pinned ⚠ CHALLENGE · NAME · timer · progress · ABANDON strip at the top of the factory view) was doing a full DOM replacement on every single render frame, about 15 times per second. Every one of those replacements destroyed and recreated the ABANDON button. If your cursor happened to be anywhere over the banner, the browser was re-evaluating cursor state 15 times a second, hence the hand/arrow flicker.

The "getting faster the more challenges I did" is interesting. My best guess is that the flicker itself was constant (15 Hz the whole time), but you noticed it more as you did more runs because the banner content was updating more visibly (schematic counter climbing faster, timer ticking, etc.). Or simply because once you see it, you can't unsee it. Either way, the underlying cause was always there.

Just pushed v0.9.6 with the fix. The banner now builds its DOM exactly once per challenge session and per-frame only mutates the text inside it. Button stays put, cursor stays put.

This bug dated back to v0.6.0 when the banner was first added, so thanks for being the first person to flag it. Live updates often hide this kind of thing from players because it doesn't feel like a bug, it just feels like the game is "janky" or "their computer's being weird." Much easier to fix once someone actually names the symptom.

Hey rofltastic, thanks for the really detailed writeup. Honestly this list hit almost every sharp edge I'd been circling. Just pushed a patch that directly addresses every point.

Automation for overnighters

  • Auto-Dismiss Events (Settings, 5 / 15 / 30 / 60s). Dismisses the popup with no pick, no reward, no penalty. Click any option to cancel and resolve normally.
  • AFK Auto-Restart. If a wave stays active longer than 1 / 2 / 5 / 10 min, the run auto-ends, banks your RP, and starts fresh with your commander setup. No cap on frequency.
  • Offline progress. Closed-browser time now grants RP based on your last run's RP-per-minute pace. Welcome-back toast on return.
  • Wall Breached auto-retry. When AFK Auto-Restart is on, the gameover screen shows a 10s countdown and auto-restarts, so a breach doesn't stop the overnight loop either.

The wave-41 soft-lock story

  • Damage upgrades are +2% of base per level now (was flat +1). Late waves finally scale properly.
  • Bosses are fully immune to knockback. Cannon "concussive" and crossbow "heavy" builds can't shove bosses back faster than they advance. That was your stalemate path.
  • Sell Hero button. Every filled slot gets a 50% refund button with a confirm dialog. Mid-run pivots are real.
  • Priority targeting. Per-hero chip row: Closest / To Wall / Low HP / High HP / Tanks. CC-heavy builds can now explicitly focus bosses.

Commander auto-upgrade (the real fix)

  • You weren't imagining the damage-dumping. There was a literal typo on the progress-reset path that silently fell commanders back to dmg-first even when you'd set speed priority. Fixed.
  • Also rewrote the distribution: commanders now round-robin one upgrade each per cycle instead of slot 0 draining the treasury before anyone else gets a turn. Matched presets end with identical level counts.

Thanks again. Detailed feedback like this is the most useful thing a player can give a dev. Let me know if anything still feels off after the patch, especially how AFK Auto-Restart plays overnight for you.

That's rough, sorry. Losing your first publish is the worst possible moment for this to happen. Thanks for reporting it; this is exactly the kind of feedback that forces me to harden the save system.

A few things that could have caused it, in decreasing order of likelihood:

  1. The autosave window. Up through v0.9.4 autosave fired every 5 seconds. If you hit publish and refreshed inside that window, the publish result hadn't landed in localStorage yet, so the page reloaded the pre-publish state and then got clobbered by the fresh-state fallback.
  2. Cross-origin mismatch. If you played on the itch.io embed and then loaded the GitHub Pages build (or vice versa), those are two separate localStorage buckets. Same game, separate saves, and they don't follow each other.
  3. Private / incognito browsing or an overly aggressive "clear site data" setting will wipe localStorage on tab close.
  4. iOS Safari eviction. Safari can evict localStorage from sites you haven't visited in about 7 days, even without you asking it to.

Just shipped v0.9.5, which addresses 1, 3, and 4 directly:

  • Rolling backup slot. Every save also mirrors to a backup slot. If the primary slot is ever unreadable, the game resumes from the backup, so you'd lose at most around 60 seconds instead of the whole run.
  • pagehide save handler. The save-on-exit path now fires reliably on mobile (iOS Safari wasn't firing the old beforeunload handler on tab-swipe). Your work gets persisted the moment the tab closes, not 5 seconds later.
  • Persistent-storage request. The game now asks the browser to pin its storage so it's not evicted under low-storage pressure.
  • First-play warning about saves being browser-local, with a pointer to Settings → Export for manual backups.

For now, the strongest protection is still Settings → Export. It gives you a base64 string you can paste into a note, email, or file. Two-second habit that's saved a lot of players from exactly your situation.

Again, genuinely sorry about the lost run. If the "having issues clicking" part was an actual UI bug (not just a slow moment), I'd love specifics: which button, what tier were you on, desktop or mobile? That might be its own fix.

Another round of changes just went live, driven almost entirely by this comment. Thank you — genuinely.

Monster spawn locations — fixed. Bosses now always spawn from the far right edge (no more materializing inches from the wall via an unlucky top/bottom roll). Minion top/bottom spawns also pushed deeper into the field with a minimum 90px distance from the wall. Even surprise-angle spawns give you a beat to react.

Merchants too expensive — prices cut ~40%: Healing Tonic 40g→25g, Sharpening Stone 75g→45g, Lucky Charm 60g→40g. Affordable even on a commander-drained purse. "Automate events" is a good idea I'm still sitting on — might ship as a prestige bonus down the line.

Screen flash spam during swarms — was a real bug. 100+ enemies whaling on the wall every frame kept re-triggering the flash before the previous one faded, locking it into a solid red strobe. Now rate-limited: only re-fires when the previous is nearly gone. Still impactful on first hits, no longer strobing.

Scholar's Mind exploit — 100% broken, you nailed it. Kill one goblin, reset, claim +5 RP, repeat. Fixed: the flat prestige RP bonus now requires at least 1 cleared wave OR 20 kills before it unlocks. Legit runs still get it; kill-and-reset returns zero.

Skills costing gold — agreed. Pulled the one-time equip fee entirely. Skills are now free to equip and free to cast, cooldown-gated only. Research unlocks them once, then swap between slots as your build needs.

Prestige grindy / redoing not fun — Ancestry (new prestige bonus) exists specifically for this: preserve 1/2/3 of your favorite research nodes across the wipe so you don't re-climb the same ladder every time. Still tuning baseline shard yields.

Bonus rounds of polish you'll also notice:

  • The war wolf now walks with a proper leg animation (was ghost-gliding before), has double HP (60 → 120), and bards heal it from anywhere on the wall for 2 HP/sec each.
  • Range indicators are color-coded per hero class now — archer rings are reddish-brown, crossbow purple, mage green, cleric gold, bard pink. Overlapping rings are finally distinguishable. Bards also show their aura ring (was invisible before).
  • Bard chapter got four new research nodes (Double Time, War March, Extended Refrain, Healing Chorus) — strength, range, and wall regen. Fully-researched bard grants +70% fire rate, +55% damage, +90 aura range, plus wall HP regen.

New patch is live on itch. Keep the feedback coming — this is how the game gets sharper.

Ha! You're not alone — that discovery happening hours in was exactly the feedback we needed. Your comment was actually the push for a full discoverability pass that just shipped:

  • First time you cross 500 lifetime RP, a big gold toast fires telling you prestige is available and pointing you at the Pause menu.
  • A pulsing crown badge sits on the Pause button until you open the prestige screen for the first time.
  • Clearing wave 50 now pops an "ENDLESS ZONE REACHED" notice and everything banks 1.5× RP from there on, so pushing deep actually pays.

Also doubled down on prestige instead of nerfing enemies (per your wall-at-50 feedback) — the tree went from 10 → 20 bonuses, including things like:

  • Empire's Reach (+0.5% damage per wave past 20, scales with run depth)
  • A roaming pixel-art war wolf that bites and slows enemies on the field
  • Dual Imbue (stack two elements on one hero)
  • Phoenix Down (first wall-breach = 50% HP revive)
  • Ancestry (preserve research nodes across the prestige wipe)

Plus the Bard phantom "Alchemy" tooltip is squashed and the projectile hitbox scales with enemy size now — those were both direct from your comment thread.

Genuinely appreciate you sticking with it long enough to find the prestige system. Enjoy the new tree! 🐺

Thanks for flagging this — you were right, the cube-root curve was still unbounded and a stockpile run could cash out massive patent counts in one publish.

Just shipped v0.9.4 with a softcap above 100 patents/publish. Normal play is untouched (100 K prototypes is still ~92 patents), but past that the curve compresses:

  • 1 M prototypes: 200 → 119
  • 1 B: 2 000 → 235
  • 1 T: 20 000 → 722
  • 1 e14: 92 831 → 1 793
  • 1 e15: 200 000 → 2 889

So the worst-case overnight farm now caps around 2–3K patents instead of 100K+. Full mastery (~904 patents) still takes the intended 8–12 publishes, and a dedicated stockpile run shaves 2–3 off that rather than ending the meta-layer outright. Existing patents and progress are preserved — only future publishes use the new formula.

Let me know if it still feels too generous after a few runs. If stockpiling is still the dominant strategy I can tighten the softcap further or flatten the curve earlier.

Hey, thanks for sticking with it long enough to flag both of these — they were real and they're both fixed now.

The commander problem was the design itself. Every setting used to be on by default, including auto-upgrade, which is exactly what was vacuuming up your gold into one hero. Total rebuild this update:

  • Every setting (Auto-Hire / Auto-Upgrade / Auto-Imbue / Auto-Skin) now defaults to Off — the commander does nothing until you explicitly turn something on.
  • Auto-hire is now free of gold but each hero type can only be auto-hired once across your wall, so a fleet of commanders can't all spawn archers.
  • Default 50g reserve so even when auto-upgrade is on, it never drains the treasury below your spending money.
  • New BROKEN flag — if you manually drop a hero into a slot whose commander expected something else, the commander pauses its automation (with a pulsing red "Commander ⚠ BROKEN" warning on the hero panel) instead of dumping gold into the wrong hero. Resets when the run resets.

Projectile lifespan was a hardcoded 1.8s, which was way too short once you upgraded mage range. Now it scales with range / projSpeed with a 50% margin (capped 2s–5s). Long-range mage bolts make it to the target.

Both shipped in the latest build. Give it another shot if you've got the time — appreciate the feedback either way.

(1 edit)

Brutal but every single point was real and they're all fixed in the current build. Receipts:

"Bosses are immune to clicks with no explanation." They weren't immune — your taps were just landing invisibly against a huge HP pool with a hitbox sized for goblins. Boss tap radius now scales with sizeMul (a 2.55× ram had the same 9-pixel hitbox as a normal goblin), and every tap spawns a floating damage number so you can SEE it landing.

"Archer aiming and arrow speed makes no sense." This was the worst bug in the game. Heroes were firing at where enemies were, not where they'd be — arrows landed behind moving chargers basically every shot. Fixed with full intercept-quadratic target leading on every projectile-firing class. On top of that, projectile lifespan now scales with range / projSpeed so long-range bolts don't vanish mid-flight, and there's a new hero leveling system with crit chance scaling 0% → 30% per level.

"Enemies spawn off screen / Archer enemies stay entirely off screen damaging you." Ranged enemies' stop position is now capped at W - 18 so any archer goblin that's actively shooting the wall is guaranteed to be on-screen and tappable.

"The skill menu covers part of the screen." Shrunk #skill-panel (narrower min/max width, tighter padding, smaller font) plus a mobile-landscape override that goes smaller still. The battlefield stays visible.

"Browser zoom moves enemies around." This was a real bug — resize() re-derived canvas W/H from innerWidth on every zoom tick, which visibly shifted the simulation. The handler now short-circuits when visualViewport.scale !== 1, so Ctrl-+/− is a no-op for game state.

"Super grindy / spent an hour, can't afford the first skill." RP yield is up +25% per wave, you now start with 3 hero slots open (was 1) so you can field a real team from run 1, the first skill is way cheaper (5 RP + 15g for Smite, was 12 RP + 25g), and the skill bar is visible from your very first wave so it doesn't take 2-3 runs to even discover skills exist. Plus a 1× / 2× / 3× game speed toggle in the top-left.

"100 upgrades but the archers keep missing what's the point." This was the heart of it. Lead-targeting fix means archers actually hit moving things now. Affordable research nodes pulse gold so you know what you can buy at a glance. And there's a new Bestiary in the Pause menu that explains every enemy + boss including the Goblin King, Bull Champion, Iron Vanguard, Master Archer, High Priest, Coven Matron, and Siege Lord boss variants.

Polish was the part you said was already fine. The balance and bugs you called out are the ones we burned through this update. If you've got the time to take another run at it, the rough edges you hit are gone. Either way — your write-up was concrete enough to actually act on, so thank you.

(1 edit)

Honest feedback like this is what actually moves a game forward — every single thing you flagged was real, and they're all fixed in the current build.

Tutorial UI overlap. The coachmark placement code used to fall back to "below the anchor" and clamp into viewport, which sometimes pulled the explanation box ON TOP of the very button you needed to click. Rewrote it: now it tries 8 candidate spots (4 sides + 4 corners), each clamped to viewport AND rejected if it would overlap the anchor rect. Worst case it lands in an opposite corner — it can never sit on the target.

Enemies attacking from off-screen. Archer enemies used to park at their stop distance which on narrow phone screens (and for boss archers) could be past the visible edge. arriveX is now capped at W - 18 so any ranged enemy that's shooting at the wall is guaranteed to be on-screen and tappable.

Bad aim — the big one. Heroes were firing where enemies were, not where they'd be. Arrows landed behind moving chargers basically every shot. Fixed with full intercept-quadratic target leading on every projectile-firing class (archer, mage, crossbow, cleric). On top of that:

  • Long-range bolts no longer vanish mid-flight — projectile lifespan now scales with range / projSpeed.
  • New hero leveling system — kills grant XP, levels grant crit chance scaling 0% → 30% (crits hit for 2× and inherit through splash + chains).

Cannoneer "even worse." You called this exactly right — slow shells + moving targets = the splash never fired. Now cannon shells detonate on a timer at the predicted impact point. Even if the target dodges or dies before the shell arrives, the splash still lands and damages whatever's nearby.

Constant clicking with no automation. Three new features, all built-in, no external tools:

  • Hold-to-damage — keep your finger / mouse pressed on an enemy to chain-tap them.
  • Restless Hand research (Command chapter, 4 stacks) scales the hold-tap rate up to ~5.5 hits per second.
  • Sentry Marksmen research unlocks wall auto-tap so the guards chip at the closest enemy automatically while you focus on upgrades.

No time to manage upgrades. Same root cause — once auto-tap and hold-tap exist, your hands are free for actual decisions. Plus a 1× / 2× / 3× game speed toggle in the top-left to chew through the slow stretches.

Slow progression. RP yield is up +25% per wave, you start with 3 hero slots open (was 1), first skill is way cheaper (5 RP + 15g vs the old 12 RP + 25g), and the skill bar is visible from your very first wave so you actually know skills exist.

The artwork still pulled you in. If you've got it in you to give it another shot, the rough edges you hit are gone. Either way — appreciate the receipts.

(1 edit)

Thanks for the detailed write-up — you flagged four real problems and they all got addressed in subsequent updates.

Save loss on restart. Added visibilitychange / pagehide / beforeunload flush handlers so progress writes to localStorage on tab close, page hide, or browser shutdown — not just at run end. Also added a one-time Save Backup nudge that fires after 3 runs pointing you at Settings → Export Save, which copies your full save to a paste-anywhere code. That's the real safety net — browser storage can still get evicted under disk pressure or by clearing site data, and only an export survives that.

Grind. RP yield up +25% per wave, you now start with 3 hero slots open (was 1) so you build a real team from run 1, first skill is way cheaper (5 RP + 15g to equip Smite, was 12 RP + 25g), and the skill bar is visible from your very first wave so you know skills exist. Plus a 1× / 2× / 3× game speed toggle in the top-left to chew through the slower stretches.

Units useless even with upgrades. Root cause: heroes were firing at where enemies were, not where they'd be. Arrows landed behind moving chargers basically every time. Fixed with full intercept-quadratic target leading on every projectile-firing class (archer, mage, crossbow, cleric). On top of that:

  • Cannons now always splash — shells detonate on a timer at the predicted impact point, so even if the target dodges the splash still lands.
  • Projectile lifespan now scales with range so upgraded mage / cleric / crossbow bolts don't vanish mid-flight.
  • Mage / Crossbow / Cannoneer / Cleric base damage all nudged up.
  • New: Hero leveling + crits — every hero earns XP from kills, levels up, and gains crit chance scaling 0% → 30%. Crits hit 2× and inherit through splash/chains.

Auto-clicking. This is now a first-class feature, no external tools needed:

  • Hold-to-damage — press and hold your finger / mouse on an enemy to chain-tap them.
  • New Restless Hand research node (Command chapter, 4 stacks) scales the hold-tap rate up to ~5.5 hits per second.
  • Sentry Marksmen research auto-taps the closest enemy automatically while you focus on upgrades.

Bestiary, hero panel DPS / KILLS / LVL / Crit% display, range indicators, and a real commander rebuild also shipped. If the artwork pulled you in originally it might be worth another shot — appreciate either way.

Thanks for the bug report. v0.9.1 and v0.9.2 should address both of these issues.

Background play should work better now after  the latest update. 

Thanks for the bugs. Both fixed in v0.6.2 — auto-prestige now waits at least 30 s per run so it can't lock you out, and the Research tab stays visible once you've unlocked it (it was hiding itself on publish, oops).

Appreciate the feedback. Made some changes that are now live with v0.6.1. 

  • Publish economy rebalanced: the patents-per-publish curve is now cube-root-based instead of square-root, so a single grindy publish no longer buys every mastery upgrade. Full mastery now takes ~5 publishes instead of 1.
  • TALL challenge stays winnable regardless of fast_start patent level (was impossible at higher levels).