project-image

Lancer Tactics

Created by Olive

Be gay // do giant robot crimes. A mecha tactics game adapted from the Lancer TTRPG (under its third-party license). The game is NOW AVAILABLE on itch.io!

Latest Updates from Our Project:

NHP portraits, in-person playtesting, finished HA mechs
6 months ago – Fri, Oct 10, 2025 at 04:44:09 PM

(looking back at my calendar) Wow, I went to a lot of conventions in a month!

I’ve done showcase/workshop circuits for my games before, but not since COVID hit. Since the last update here, I attended SIX, PAX, and QGCon. Most large spaces and gatherings are still fairly inaccessible to me ’cause people got tired of wearing masks, but I was able to make it through all three without catching the rona. Nice! (Worth noting that I felt genuinely safe at QGCon — the organizers put a lot of care into setting up air filters and setting clear mask policies)

Going to SIX and PAX was the first time Carpenter, Josh, and myself have been in the same physical space. My strongest memory from the trip is walking along a lake with them in the gathering dusk talking about our hopes, dreams, and politics of what we want to make of LT. We then got midnight pizza and root beer as we talked about possible futures beyond this project. The sorta stuff that’s impossible to swing on the weekly video call standup.

Look at the arts and crafts I did to make signage for a little play station for LT at QGCon!

A staples-printed poster being mounted on cardboard using a box cutter and gluestick.
Lancer Tactics modest booth with signage, laptop running the game, and stickers.

It’s also the first time I’ve showcased LT in-person, and got I think literally like six pages of playtesting notes & todos out of it. I watched SO many people play through the tutorial. Some takeaways:

  • the d20 system has a crazy amount of variance. Some folks cleaned up the starting enemies in one turn while others struggled through no fault of their own for like eight turns before dying. We’re not currently cheating rolls in the tutorial but this makes me want to start — we’re otherwise statistically guaranteeing some percentage of players are going to just have a super depressing introduction to the game.
  • folks really want to be able to click around the map to inspect it, but our move-by-default clicking controls kind of makes that impossible. We may end up making clicking the map show stuff by default and you have to double click or something to actually move.
  • people who have never played Lancer actually did fairly well picking things up! I was worried that we were leaning too heavily on outside-of-game knowledge of the system, but at least for the tutorial there seems to be enough of an on-ramp that it’s feasible to pick up and play LT.

But even with all that traveling and nonsense, we’ve made a buncha progress! Check out this big changelog! Wow! I haven’t made as much progress as I’d have liked to on finishing all the talents & NPCs because of a larger-than-typical bug load (big thanks to Marko for staying on top of the QA reports!), but that’s the nature of game dev.

Warning: I upgraded to Godot 4.5 and it’s been mostly fine but I’ve noticed a few inconsistent crashes/long load times since then. As always, please let me know if you run into any unexpected technical glitches. (I am getting weary of getting hit with unassailable engine/graphics bugs here… I love Godot, but I’m noticing this is as a pattern) (The AMD graphics card thing is resolved at least)

This also means that this update is PC-only as I’m running into export/rendering problems for both Linux and Mac. Hopefully will be sorted by the next build.

Changelog

Project

  • Paid Steam their $100 to start setting up Lancer Tactics in their backend. The plan is to get a page up to start collecting wishlists as soon as we get a short trailer made. This’ll simmer on the backburner while we wrap up our Kickstarter obligations — just to start preparing for an eventual release over there sometime late next year.
  • Created new Discord server for specifically Lancer Tactics. It’s still private while we get it set up & find how we want to handle community management.
  • We’ve contracted Alicia Feng (CORVIDAY) to draw the rest of the hundreds of system/trait/weapon action icons that we still need. I am SO PSYCHED about this, their work is absolutely stunning. Here's a few of the new icons, fresh off the presses:
Alicia's new icons in the action bar

NHPs

Lancer famously has a lot of names you have to pick on your character sheet. There’s your pilot name, your pilot callsign, and also your mech’s name. But here on the Lancer Tactics team, we ask the big questions. The questions nobody else is brave enough to ask. What if you could pick just one more name?

A character sheet with a section for NHPs

Introducing the NHP portrait maker! If your mech has an NHP equipped, this section will show up allowing you to both name your paracausal co-pilot and play dress-up even more by having a second entire character to make in the LT piccrew. This companion will show up alongside your pilot in most places in the UI. Right now they’re all Cortana-blue, but we plan on giving them the option to be other colors in the future (alongside more chromatic flexibility in general in the portrait maker).

NHP portrait maker

I still haven’t implemented cascading, so for a limited time only you can get traumatized alongside your favorite paracausal friend without risk of them becoming an elder god.

Here’s all the standard-line NHPs! I’ve left them all conveniently unlabeled so you can play a little guess-who’s-who.

Oh did you think alt text would help? Nah it’s just 9 NHPs in a grid.

New content

Gameplay

  • Remaining HA license implementation: Saladin, Napoleon, and Iskander.
HA mech license ring

Oh lol right this is a hella buried lede. All player mechs are ingame now. Yayyy. (sorry, I finished them like three weeks/an eternity ago so have already gone through the emotional catharsis of summiting this particular peak)

OH ALSO I made a tier list of how hard each mech was to implement in Lancer Tactics! This post is already too long, so I’ve broken the rating scale and anecdotes out into its own post here.

All core book mechs arranged from S to F tier
  • Bonded I, II, III; able to choose a fellow lancer from the current squad
  • Juggernaut I, II, III
  • Technophile I, II, III
  • Implemented COMP/CON system; can hand over control to an AI and have the computer drive your unit for that turn
  • Handing over control to the AI is available for all NHP systems
  • Handing over control to AI lets it make overwatch decisions (and any other Y/N question) (it always answers “yes”. YMMV)
  • Added Zero-G map “weather” that puts everyone in zero-g (currently, all NPCs will be slowed lol)
  • Add some more tips to tutorial: explain 2 quick actions + speed / structure / stress
  • Add a tutorial line about shooting both pistols as part of the same action.

UI

  • Raleigh and Blackbeard tokens from Gen! Fantastic work as always.
Raleigh and Blackbeard in the catalog ring
  • A bunch of new portrait assets from Martina
  • Can open character sheets mid-battle
  • Show the increased damage for Engineer’s Prototype Weapon in the character sheet at rank 3
  • Added inline glossary tooltip system where you can hover over words in descriptions to get a sub-tooltip. These will slowly roll out as we update our massive game text spreadsheet with the appropriate annotations.
A tooltip for grapple with highlighted words that can be sub-tooltiped
  • Added little speech blips for speaking characters…… which caused me to have to recompile the sound banks…. which broke version compatibility somehow on windows…… which I could only figure out how to fix by upgrading the FMOD plugin…… which required upgrading to godot 4.5. What an avalanche of changes by one tiny change. 😐
  • Text blips also play for barks and boss intros. I assume. I implemented it on my PC laptop while traveling and it can’t play sound because a lady once bumped into it and broke off my headphone aux cord in the socket and then I accidentally superglued it in there while trying to get it out so I was flying by my instrumentation on this one.

Ability FX

  • Added a batch of new FX from Jude incl a sick blue flamethrower for the Plasma Thrower that I don’t have a screenshot for rn but you should go check it out ingame.
  • Blue line connection effect for metahook and investiture
  • Burn damage now persistent and animated
  • Added lingering smoke fx, replacing the placeholder static sprite with the cool new smoke particles
Smoke cloud with a lotta particles

Editor

  • Add subcategories for landscape items
  • Show controls for cycling variations and total number of variations possible for setpieces/doodads.
  • Attached lights to streetlight doodad
  • Blocks can have different types of rubble (buildings destroy to metal rubble, etc)
  • Randomize rotation for some setpieces & doodads (toggleable via checkbox at bottom of palette)
  • Editor warns you when you’re about to exit with unsaved changes
  • Can flood fill setpieces & doodads
  • 1/2/3 hotkeys to switch to blocks/setpieces/doodads
  • Kinda janky implementation of shifting selected palette item with ]/[ but it’s something
  • Hide painting object when mouse leaves the map
  • Hold alt for a temporary editor eyedropper

New 3d assets, including:

  • 3D trees! There’s more to iron out about them, but finally pulled the plug on them being the only non-mech environmental asset. I also like how many more types we have, incl cypress, olive, baobab, sycamore, acacia, ponderosa, and pear.
A bunch of 3D trees on a test map
  • Big obelisk
  • Crop rows
  • Vine trellis
  • Planter variants
  • We also have some test 3D models of smaller bushes like blackberry and sagebrush, but are still dialing in how we want to do smaller foliage. We did an art test for adding simpler scattered grass like this but it hasn’t made it into the build yet:
Simple 3D flat planes with grass scattered throughout a map.

Bugfixes

Engine

  • Polished payload movement so it doesn’t fall off each time you take a step up a ledge ++ give it an EVA so it doesn’t sink in the water.
  • Gain self heat before followup attacks on a weapon mount
  • Wrecks no longer get cover from themselves
  • Refactored attack sequencing so it waits for all attack rolls to finish before rolling damage, which fixed OPCAL CB bonus damage getting used up on misses as well. (this single thing took like 3 days lol but simplified a lot of stuff)
  • Reactions can be marked as “count as free actions” for brace restrictions, which keeps integrated weapon CB from triggering on that turn.
  • Fix attacks running multiple times when there’s a knot of nested variant actions (such as triggering disdainful blade from a weapon you could also throw)
  • Fix knockback being able to go in any direction, regardless of what the UI claimed was possible
  • Don’t double-apply armor when an attack deals multiple damage types
  • Default to saving json files (pilots, maps) in human-readable format (also easier for git to merge changes)

Systems

  • Turrets drones no longer offer to shoot allies
  • Add missing accuracy to liturgicode
  • Add missing accuracy to variable sword (and a test to hedge out this reoccurring again)
  • LUCIFER is now correctly limited 2
  • Tlaloc protocol correctly costs 2 self-heat
  • Stabilizer mod is not unique
  • Fix scylla not being able to attack with melee weapons
  • Can use ordnance weapons after bracing
  • Can re-up active camouflage
  • Avenger Silos (and many other on-attack rxns) now correctly require the triggering target to be a character
  • Snicker-snack trigger requires LOS
  • No sneaking in firing a vorpal gun via the second attack in a aux/main sequence
  • Can no longer bentham/foucault off turn
  • Fix zero in being able to be used more than 1/round (I’ve said that before though 😅 )
  • Disable bolster if you have no allies
  • Smite/sear/beckon only do self-damage if you hit
  • Mimic mesh only lasts until end of next turn instead of for the entire match
  • Fix ghostweave lose/gain invisibility at the start of turn also breaking hidden
  • Fix having retractable profile equipped causing ghostweave invisibility to always deactivate at end of turn if you moved
  • Sekhmet activation no longer persists between combats
  • Sekhmet can stand up
  • Improve sekhmet flowcharting to activate & check after any player action, not just ones that add more action points
  • Fix softlock when sekhmet wants to attack a symbiosed goblin on a size 2+ unit
  • Getting stunned by basilisk cancels all attacks in the AOE
  • Getting stunned while on a mule harness no longer also knocks off everyone else riding
  • Getting knocked off mule harness now correctly makes you prone
  • Destroying a MULE harness while there are riders correctly ends their attachment
  • Fixed AOE burst calculations while riding a mule harness
  • Armor lock plating doesn’t trigger when you already have knockback immunity (ie when riding mule harness - a modification I had to make to stay sane in LT)
  • Delayed fire pinaka missiles can target empty tiles + does not double-gain self-heat
  • Fix plasma thrower flames (and other props) from being damaged by aoe effects
  • Fix plasma thrower being able to put down flames in prev attack areas
  • Plasma thrower line variant’s attack fx now looks like a line instead of a cone
  • Fix AOE attack fx pointing at 0,0 when they have no valid target unit in their area

Movement

  • Gaining flight from being underwater with EVA actually removes the prone condition instead of just suppressing it.
  • Cannot clear underwater slowed via stabilize
  • Cannot jump while prone
  • Cannot hunter I lunge while slowed/immobilized
  • Puppet systems no longer allows you to send your target up a vertical wall for free
  • Fix not being able to knockback flying units up elevation
  • Cancelling duat first gate movement clears the NPC’s speed so they can take no standard movement
  • Fix long range teleports failing

Repairs/character build/talents

  • Balor self-perpetuating healing happens automatically instead of doing the discount repairs thing
  • Full repair now correctly restores core power
  • Destroyed weapons/systems no longer persists between fresh runs of a playtest map or tutorial.
  • No longer able to use core bonuses on integrated mounts
  • Executioner talent tree now works even when target dies
  • Sort grunts/deployables to back of attack so nuccav doesn’t get used on them
  • Fixed attaining centimane 2 breaking centimane 1 and 3

UI (targeting)

  • Multi-target lines (Drake fortress protocol) now calculated with correct start tile for size 2+ units
  • Invalid movement endpoints from terrain no longer count as free tiles to deploy stuff to
  • Indicate turret attack target when asking to confirm
  • Fix disambiguate choice never clearing its “using action” ui panel
  • Move “current target(s)” counter for abilities to the right of the screen to not overlap with using action panels

UI (tooltips)

  • Show speed and sensor range in unit inspector
  • Did a pass over all PC kits to make sure the right actions show up in kit tooltips
  • “1/1 scene” instead of “0/1 scene” when you haven’t used something
  • Show mimic gun rolls in tooltip
  • Show boost tooltip when asking about boosting
  • Show “7%” in attack preview instead of “07%”
  • Skip showing basic weapon range in tooltip if you have a line/cone pattern
  • Kit tooltip shows topbar if it costs SP
  • Fix missing trigger text for tach loop and tacsim

UI (battle log)

  • Hack/slash ongoing effect uses correct text description
  • Battle log doesn’t omit the names of units that are different but happen to match
  • Saves are called as such in the battle log (instead of checks)
  • Don’t update unit statuses at start of combat until after we’ve applied passive buffs (fixes Slowed showing up before the EVA kicks in)
  • Fix all checks being logged as “contested”

UI (character sheet/roster)

  • Show weapon mounts for frames in catalog ring
  • Can clear integrated weapon CB mount slot
  • Fix missing fuel rod gun
  • Added missing roles to dusk wing in catalog ring
  • Fix catalog ring hexes being drawn over mechs lower down
  • Pilot roster can handle non-standardized pilot file names, but renames them to its preferred format
  • Added confirm button to pilot roster renamer to make it clearer that it’s not saved until confirmed
  • Renaming pilot folders doesn’t try to include the number of pilots in the folder name
  • Fixed bug with portrait maker where it doesn’t save all choices for multipick slices
  • Can add custom barks to the “unknown” empty barkset
  • Pilots no longer yell at themselves for friendly fire after having damaged themselves

AI

  • Archers no longer suppress suppressed targets
  • Fix case of npc getting stuck in loop walking back and forth out of a zone
  • AI doesn’t ditch its current controlled sitrep zone to get into another one

Editor

  • Fix being able to make overhangs at the top elevation layer with the terrain paint tool
  • Fix lockup on placing large swathes of terrain blocks
  • Can go up to 60x60 map appropriately… I don’t know why I had it at 59x59
  • Fix on crash on resizing a map that has zones

Progress summary

As always, you can download the latest build (0.4.1) via itch.io, and if you backed at an appropriate level obtain a free download key to do so via Backerkit. Again, this update is PC-only due to some rendering/export bugs I wasn't able to sort out in time.

By my count, here’s what the current content progress bars look like:

  • PC mechs: 29/29 🌟
  • Core bonuses: 30/30 🌟
  • Talents: 26/29 (remaining: Siege Spec, Leader, and Skirmisher)
  • Sitreps: 4/6 (remaining: Control and Recon)
  • NPC mechs: 12/30 (+gotta Rebake everything)
  • NPC templates: 2/12

With 6 months left for the target 100% mark in March… that’s 1.25 NPCs and about half a template per week for me, on average. With everything else that goes into making a game on top of that (e.g. Dia’s campaign module, which thankfully Carpenter + Josh will be implementing using the maps that Eld has already sketched out), ngl it’s looking pretty tight but manageable. We can do this. 💪 ✨

Olive

All IPS-N mechs implemented
7 months ago – Mon, Aug 25, 2025 at 09:39:16 PM

(This month’s update is somewhat truncated since I’ll be at PAX + associated meetups for the rest of this week.)

We’ve got the rest of the IPS-N done and dusted, rounding it out with the Raleigh, Lancaster, and Tortuga. Other than that, we’re maintaining our bug steady state with a buncha fixes to offset the ones I’m sure I introduced with specifically Lancaster and its cursed winches and harnesses.

Oh! On a bsky recommendation, I also made an account on mod.io to start investigating hosting user-made maps (and eventually, someday, mods) via that. So, um, yeah. Nothing more to say here besides watch this space.

As always, you access these builds by claiming your itch.io download key via Backerkit's digital rewards page.

New Content

  • Finished implementing the IPS-N catalog. Only three PC mechs left to do... we're getting so close...
  • Pilot barks on structure/stress/destroy target/death/brace events
  • New batch of community maps from celtarican, venator_iv, and markopolodev.
  • Add AI and NHP tags, enforce their uniqueness. No cascading yet.

Content Fixes

  • Fixed crash on arc projector attacking a size 2+ enemy
  • Add missing briareos frame to IPSN catalog
  • Player deploys first for extraction sitrep
  • Fade cloak asks to confirm activation
  • Mag parry only works against kinetic-damaging attacks
  • Vijaya rockets correctly deal explosive damage
  • Fix missing CPR accuracy
  • Metahook breaks when linked unit is exiled/intangible
  • Ghostweave invis into integrated cloak preserves hidden
  • When lose assassin, hive, iceout, lotus, or sentinel drones, the gear is also destroyed
  • Add concept of “mission critical entity” that can’t be stepped on and is not a deployable (term is from Interpoint’s Enhanced Combat supplement)
  • Fixed Snow_Crash triggering on miss if energized swarm hits an npc
  • Fixed metahook -> lesson of the held image not using extended metahooked sensor range
  • Mines cannot be placed adjacent to each other
  • Fix mag cannon not pulling
  • Can no longer scylla with vorpal gun
  • Fixed Mino CP not stunning
  • Swarm body now only deactivates when YOU move, not when anybody moves
  • Hive drone damage is now AP
  • Ferrous lash save is now AGI
  • Ferrous lash cannot move units uphill (could be talked out of this)
  • Ferrous lash can move flying units over grounded units and vice versa
  • Large units no longer collide with themselves during forced movement eg ferrous lash
  • Increase neurolink targeting CB bonus from +2 to the correct +3
  • Energy damage increases manticore CP charge die instead of only heat
  • Fix double flank activation (cancelling the first) soft-locking the game
  • Grapple cable range works for duelist 3 free grapple
  • Fix stabilize clearing ALL conditions on the indicated character
  • Can jump while slowed
  • Centimane/tidal suppression is 1/round
  • Fix being able to deploy multiple OROCHI drones of the same type
  • Made a trait to make certain deployed effects (e.g. mag field) dissipate on their owner’s deaths. deployables shut down but remain in place.
  • Can’t fold knife if slowed
  • Fix fliers getting soft cover when above 10 elevation
  • Fix accumulation of _savefile maps
  • Specific-attack-roll bonus damage inherits damage type correctly
  • Stabilize doesn’t force you to spend a repair if you’re at zero heat

AI

  • Sentinel does not eye of midnight when it’s already applied
  • Fix NPCs getting stuck in loop self-doubt about whether they can move
  • Fix crash when the AI controls orochi deployment

UI / Graphics

  • When starting with UI at 2x scale, double the min screen size as well
  • Telegraph grunts not taking damage on saves
  • Don’t ask for confirm rerolls on attacks where player is not controlling the attacker
  • Omit the unit’s name in the battle log if it’s a repeat from the previous line
  • Experimenting with using a decal for the tile cursor instead of a flat mesh – it’ll conform to whatever you’re hovering over, but also sometimes weirdly smear.
  • Tile cursor highlight locks to LOS blocker height, not standable elevation height. Feels more natural for tall non-LOS-blocking setpieces like windmills and radio towers
  • Fixed placing large deployables not showing the entire correct placeable area
  • Add trigger text to mimic mesh tooltip
  • Show sentinel acc in attack preview during overwatch
  • Current-action bar has a dark toggable back window instead of stacking them and eating up so much play area 
  • New batch of icons for GMS gear and Balor
  • Character sheet uses kit action icons instead of manufacturer icons
  • Can clear integrated weapons from NPC mechs
  • Unique tag enforced for weapons
  • Fixed crash when a pilot roster folder is empty
  • Show full rules text for sitreps in instant action screen
  • Holdout zone doesn’t require entry/end zones (but can still use them)
  • Fix being able to launch on maps with a required zone that exists but is empty.
  • Actually full repair lancers on pressing “full repair”
  • Camera needs things to be closer together before it’ll zoom in automatically (may cause it to zoom out too much… keeping an eye on this)

Map editor

  • Fixed bug with painting/deleting multiple setpieces not always updating all of its component tiles
  • Reduce instances of getting stuck in line-painting mode when holding shift and the window losing focus
  • Change painting preview when changing brush size by hotkey
  • Select a block/setpiece/doodad by default when changing to that tool
  • New doodads! Landing pads, rail tracks, potted plants, wiring
  • New setpieces! Modular buildings, shipping crates, elevation-changing pipes, radar dishes, greenhouse dome, gravel piles, new rock spire formations, statues.

— Olive

All SSC & HORUS mechs, pilot barks, visual landscape palette
8 months ago – Wed, Aug 06, 2025 at 05:41:40 PM

What’s up, Youtube? It’s ya girl Olive with another Lancer Tactics content update. This month, we’ve finished implementation of all SSC & HORUS mechs, almost all the core bonuses, and some big improvements to the map editor interface for painting blocks and setpieces.

As a reminder, Kickstarter backers should have a link to their download key on their Backerkit digital rewards page. If you’re having trouble accessing it, please lmk.

This last month, we’re happy to have brought on Mark Jorgensen, the creator of Interpoint’s Map Creation Tool, to handle QA and start working through our backlog of bug reports from the google form. Ty to everyone who’s submitted something through that — we’ll get to it if we haven’t already!

Carpenter, Josh, and myself will be attending PAX West (and SLICE) in Seattle at the end of the month. It’ll be my first time at PAX, and I think the first time I’ve gone to a large gaming convention since the start of the COVID pandemic! If anyone has any recommendations of events or wants to meet up while there, lmk!

After experimenting with Compatibility mode last update, I’ve moved back to Forward+. It ran fast and reliably, but on many machines (my own included), the shader compilation step could take upward a minute in the loading screen and still had consistent stutter when using abilities. So with a heavy heart we’re back to Forward+ by default. If you’ve got a computer that F+ doesn’t work on, you can still toggle it to Compat mode and I’ve also added a toggle in the options menu to disable ability & movement fx. Having a degraded visual experience is better than it not running at all, I hope. Frustrating that Godot doesn’t have a one-size-fits-all rendering solution that I can use for a game with this low a level of visual fidelity. That’s PC gaming for you, I guess.

Finally, I accidentally wrote a full second blog post about the process of implementing the Balor in Lancer Tactics. I was going to put it at the end of this update, but it would have tripled the length of this thing and even I thought it was excessive. If you’re the kind of sicko who likes reading how-the-sausage-is-made technical details, go check it out!

New Content

Finished Manticore, Balor, Gorgon, Swallowtail, Black Witch, finishing off the SSC and HORUS catalogs. Still using placeholder tokens for most of them, but Gen finished the new Monarch! What a beauty.

This update adds Nerveweave, Kai Bioplating, Fomorian Frame, Gyges Frame, Titanomachy, Briareos, Held Image, Thinking Tomorrow’s Thought, Transubstantiation, Adaptive Reactor, Stasis Shielding, and Universal Compatibility.

That’s everything besides that one Horus NHP guy! 29/30 hell yeah!!

And a few new basic things:

  • Self destruct action
  • Jump action
  • “Survive” sitrep. Can modify round limit in instant action.

Pilot Barks

I got a bee in my bonnet this week and sketched out a system for pilot “barks” in combat where they say a short line to comment on notable events like deploying or taking structure damage. There’s more styling to do to figure out how to keep them from taking up so much space and running into each other, but I think they’re quite neat.

Added a “Dossier” section to the character sheet where you can customize those barks. You can pick from an overall preset (“temperment”), pick individual preset lines, or write your own entirely new ones. These are SO fun to come up with for me.

Content Fixes

  • Standardized drone deploy/redeploy action across different systems
  • Snipers now prioritize shooting at their marks
  • Auras trigger correctly on combat start
  • Ability dice that don’t last between scenes now reset on combat start
  • Fix assassin drone triggering on allies
  • Saves now have the context for the action that forced them (so e.g. retracted profile can give difficulty to specifically search checks)
  • Added a Priority file to keep track of reaction priorities instead of having hardcoded numbers everywhere
  • Standardized at what point abilities can interface with and modify attack rolls
  • Fix line/cone attacks not being able to fire over cover due to LOS issues
  • Fix genghis CP cloud invisibility applying when only the attacker is inside the cloud
  • Stressing heat clear now triggers “on clear heat” effects e.g. mathur stop
  • Blackbeard grapple pull works correctly when blackbeard is flying (it pulls, then BB lands to match the fallen unit)
  • Grappled ends when either unit is exiled
  • Goblin symbiosis ends when goblin is exiled (changelog drinking game: every time there’s a symbiosis bugfix)
  • Fix shepherd drone movement using up orochi drone speed
  • Hydra can no longer take orochi drone reactions while grappled
  • Fix external batteries not triggering on all structure checks
  • Deployed drones are now lost when the gear that deployed them is destroyed
  • Can’t end movement on a drone
  • Fix spotter 3 not always consuming the placed lock
  • Annihilation nexus attack doesn’t hit originating drone
  • Fix suppress being able to be used against hidden targets
  • Can no longer overwatch against hidden targets
  • Fix losing hidden even when you decline to overwatch
  • Fix bristlecrown hitting self
  • Fix bristlecrown not ignoring engagement penalties
  • Burst attacks hit other units on the originating unit’s tiles
  • Can end sekhmet turn when stunned
  • Fix zero in crackshot damage
  • Fix stormbending lighting/thunder bug that resulted in duplicate actions getting run
  • Fix stormbending thunder radius: now correctly burst 2
  • Open door heat is now optional to apply
  • Fix Flank overwatch not doing half damage
  • Fix hyperspec fuel injector’s free boost circumnavigating the stunned prohibition on doing anything
  • Fix crash when last argument of kings kills its target
  • Fix apoc rail bug where if you started charging your rail but were exiled at/died before the end of a combat, you would not regain your CP.
  • Optimization of tile picking calculations for barb & apoc rail
  • Omnigun damage now correctly doubled from exposed

AI

  • Discovered that AI inordinately prefers targeting size 2+ units because they have more available target tiles. patched by having them prefer closer target tiles in the case of a tie
  • AI with melee weapons slightly prefers attacking targets who are not themselves equipped with a melee weapon invigorate calculates LOS from last target picked
  • AI will now sometimes try to take actions to clear effects (e.g. hack/slash) from themselves

UI / Graphics

  • Explicitly make the save game folder if it’s not there already (will fix autosaves not happening on some computers, I think)
  • Fix duplicate actions being shown in assault cannon tooltip
  • Fix mine trigger text
  • Stabilize won’t try to reload destroyed weapons
  • Stabilize heal logs how much HP was healed
  • Refactored stabilize action to use the variant action system instead of the choose-your-own adventure sequence
  • Zero In uses the variant action flow instead of an interrupt prompt
  • Log when units deploy.
  • Exposed singularity logs & show the die roll for range
  • Added automatically-generated dynamic aura effects to help delineate ability areas
  • Character sheet styling; make button/tooltip clickable areas larger
  • Add little counter numbers to hase/cbs/licenses/talents in the character sheet
  • “Add” buttons go away in character sheet when it’s full up. can clear individual talents. chill out all the Xs on the character sheet to keep them from being the dominant visual element.
  • Styling for fight setup to get it fitting on small screens better
  • The little on-map healthbar uses correct blue for overshield
  • Instant action warning/disable launch when lancer mechs are wrecked. full repair them all on choosing them
  • Color code instant action modifiers to make it more clear when they’re making it harder or easier (sorry red green colorblind folks!! 😬 it’s emphasis information, not exclusive)
  • Trigger tool styling (reduced edward tufte chartjunk lines) + added tooltips
  • Give playtesting a map some random lancers so the deploy lancers event works
  • Fix non-destroyable setpieces still hanging out when the blocks under them get wrecked (fumarole)
  • Better text for honorable challenge trigger
  • Fix fragile description to not specifically call out the goblin
  • Weapon tags stack correctly in tooltips (no more double-thrown tags)
  • Fix grapple lines not always clearing // supress laser pointer not always applying

Map editor

  • Landscape tool uses a visual palette instead of a text list.
  • Tooltips for setpieces in the palette to explicitly list their dimensions, health, and terrain properties.
  • Better previews for placing blocks; see the shape and rotation of ramps before you place them.
  • Can only put down ramps in “blocks” paint mode. “paint” and “fill” paint modes do not change geometry.
  • Better “texture dappling” for ramps; they’ll integrate better with their surroundings. There’s still a few bugs left in this but it’s way better now.
  • Setpieces store what variation they are, so you can hypothetically delete them and re-place if you want a specific one.
  • Started work enabling hallway/corridor/room maps by painting “forbidden interior” setpieces. We still don’t Officially™ support interior maps, but I wanted to make sure the engine could handle it for the future.
  • Added eyedropper tool for terrain editor
  • Added “Line” painting tool by holding shift
  • Can ctrl+scroll wheel hotkey to change editor implement size
  • A new batch of setpieces, including windmills with animated blades:

Take your Balor to work day

{Excessive notes about the technical process of implementing the Balor has been removed from this location ‘cause it was too long. You can go read it here instead.}

That’s all for now. Have a nice… August? Already? Wow. Don’t like that. Hm.

Olive

Compatibility rendering mode, eight new mechs
9 months ago – Wed, Jul 02, 2025 at 01:38:06 PM

Version 0.3.0 is live & available via itch.io! My planned contract work is unexpectedly somewhat on ice (😬), but that means I had about two weeks to sink into just doing content which has been incredibly gratifying. I was able to hit an average rate of one mech per ~two days, which bodes well for the still-waiting mountain of content to get through.

Rendering mode

First off, I could use some help: I'm experimenting with downgrading Godot's rendering mode from Forward+ (modern graphics e.g. Vulkan) to Compatibility (OpenGL). This sort of rendering technology is *extremely* hardware
and system-dependent, so there's only so much testing I can do on my end.

Downshifting to Compatibility has given an extreme increase in resting performance (can now easily get 60FPS on a huge monitor & my laptop no longer feels like it's a jet taking off), but I'm seeing a lot more shader stutter (brief hangs when new effects are added to the map). I've added an up-front "compile shaders" step that can take up to 60s on the first game load, but should be fast after that.

So I'm looking for feedback for anyone playing the early access builds: on your machine, how is the performance feeling?

  • Are you getting a good framerate (visible in the lower-left corner)?
  • Does the shader compilation step mostly go away after the first time you wait through it?
  • Are you seeing a noticeable amount of shader stutter as you use abilities & attacks?
  • If a previous build crashed with some sort of weird Vulkan error, does this one work for you?

(if you send me feedback on these, please include your OS)

You can upshift back to Forward+ via the graphics options, if you need a point of comparison or want to see if any stutter issues go away there.

New content

With that out of the way, here's the list that I know y'all came here for :p We got 8 new mechs implemented, with placeholder graphics:

  • Metalmark
  • Duskwing (sans OASIS wall)
  • Hydra
  • Pegasus
  • Genghis
  • Blackbeard
  • Sherman
  • Monarch

I look forward to hearing the new batch of bugs that I'm sure I missed with them :)

We've also added Escort & Extraction sitreps. The payload's token is also still a placeholder; until we get a final version, Perfect Form Minotaur gets to make a reappearance:

Mechanics changes & fixes

  • Fix Ace I triggering when you miss an attack.
  • Fix panopticon not triggering because the lock-on usage record was cleared before the check happened
  • Losing hidden now happens *after* the triggering event instead of immediately when you use something. Mastermind now using this as the timing in order to correctly be hidden while executing.
  • Don't try to overwatch guys while you're intangible.
  • Flying/landing provokes overwatch.
  • Fix integrated weapon CB being able to fire off-turn
  • Fix turret attack being limited to 1/round no matter how many turrets you had out
  • Unstoppable can only target the originally hit unit
  • Can no longer move diagonally to a tile if there are two kitty-corner obstructions between you and it
  • Better "must move maximum" pathfinder calculation
  • Puppet systems now lets you yeet your target off an edge instead of letting them try to climb down safely
  • Fix archers' moving target triggering on involuntary movement
  • Fix limit break bonus damage being applied to tech attacks.
  • Fix Jager triggering on misses
  • Fix not being able to use ordnance weapons for the heavy gunner attack
  • Goblin CP can't start sharing turn until the next round
  • Goblin CP ends if either unit goes intangible/is exiled
  • Correctly lose/gain engaged when start flying/become intangible
  • Fix AOE options being given to prototype weapons with different configurations
  • Fix inability to attack with melee prototype weapons & not using the right attack effect for the chosen weapon type
  • Overwatching with sharanga missiles lets you pick a second alternate target after fulfilling the mandatory target on the moving unit

Graphical changes & fixes

  • Fix broken interdiction field effect
  • Laser pointer lines for suppress, snipers mark, covering fire, assassin drone, DH mark for death.
  • Line effect for grapples
  • Anime line effect for To The Death

UI changes & fixes

Added some tweening of the targeting UI; here's the before & after:

  • Intangible/invisible units looks like our token holograms, just to have some kind of effect on them.
  • Pilot token 3rd color channel no longer says "glow"
  • Fix prototype weapon choices being shown for CB-added flex mounts
  • Warn if ending turn would cause you to stop flying because you didn't move
  • Added prompt + confirm to skip dialogues.
  • Don't say "doubled" in log for heat or burn damage when exposed
  • Fix broken meltdown status text
  • Make right-click the primary cancel button that shows up in prompts.
  • Confirm boost via the action bar, adjust its description.
  • Fix the camera "untwisting" when moving to overhead mode
  • Fix blademaster deflect ability text
  • Now have to confirm before hiding.
  • Don't show "clear" buttons for integrated mounts
  • Rearrange instant action screen to make it clearer where to edit the reinforcement modifiers


Combat editor

  • New fetchers to get closest/furthest/center/random tiles.
  • Fix setpieces being cleared at 0,0 while clearing elsewhere. Better "is cursor active" detection when off-map.
  • Can place props (non-deployable units) in the unit picker modal. Yes Mark I'm sorry I was still using the word "prop" somewhere in the codebase. I'm not proud.
  • Improved trigger descriptions for array props (there it is again)
  • Fix warning lighting not showing up in dialogues
  • Speaking NPCs without portraits no longer show up as narrators
  • Don't clear what we're painting in the landscape editor on undo/redo

Campaigns

  • Optimized the module editor; it's still not perfect, but should be MUCH faster when loading modules with many moments
  • Beat rest types are saved correctly
  • Moment autoplays
  • "End" moment for modules (there's just one; it's now automatically added on load)
  • Stubbed out Combat 2 map, still need to do dialogue and custom triggers

Stay cool, northern hemisphere friends.

Olive

Keeping the fire lit, more talents
10 months ago – Thu, Jun 05, 2025 at 11:52:47 AM

Heya! As I mentioned in the last post, I'm mostly doing Crescent Loom work May & June, but I've been able to sneak in some Lancer days. I just posted an updated build, 0.2.9, with some new content and bugfixes.

The most notable change is most of the rest of the talents; we're now up to 23 of 29! It's now easier to list the ones we *don't* have from the core rulebook, all of which are tricky in a way that I'm going to wait until I try tackling them:

  • Bonded (when/how will we designate a bondmate?)
  • Juggernaut (we don't yet have "knocked into" concept in the engine)
  • Leader (will have to do some game design in adapting the open-ended nature of what a "command" is)
  • Siege Specialist (for jackhammer, what's terrain and what's the floor?)
  • Skirmisher (we don't have a "skirmish" concept, so will have to adapt the second rank)
  • Technophile (we don't have an AI tag yet... plus this one is SO roleplay-heavy. may ultimately skip since we're not doing pilot combat, honestly.)

Changelog

Content

  • Crack Shot I, II, III,
  • Centimane I, II, III
  • Duelist II, III
  • Exemplar II, III
  • Ace III
  • Engineer I, II, III
  • Grease Monkey I, II, III
  • Heavy Gunner I, II, III,
  • Infiltrator I, II, III,
  • Spotter I, II, III
  • Added another community map from Titania: Big Dam Heroes
  • Deployable bunker can now be placed on slightly uneven terrain, filling in gaps as needed.
  • everest replaceable parts now actually reduces repair cost
  • more weapon fx work & variations
  • added other ramp shapes (thank you Clarity for making me these simple meshes in blender)

UI & Graphics

  • deployables copy the color scheme of their owner
  • Add modulo operation to combine-number trigger fetcher.
  • false idols look like whoever they're copying
  • added tooltip for trigger timings, describing when PRE/POST rxns are called
  • setup screen shows wreck if your mech is destroyed

Bugfixes

  • Fixed Use Map Settings; no longer clears out all triggers.
  • Refactered how instant action is serialized to help fix some data desyncs,
  • better timing of when a parent action spends resources (action points, reactions) when it triggers a child action; e.g. Overwatch shows up in the log before the attack now instead of after.
  • fix teleport + flight only costing one space of movement no matter how far travelled
  • don't spend actions for false idol until after picking the deployment position
  • meltdown explosions respect intangible
  • Don't reset apoc rail if goblin CP attaches to it.
  • Better prevention of spawning multiple units with the same ID (e.g. for tracking who you can target with Eject Power Cores)
  • Don't consume charges on using the Turret Attack reaction. Better UX for confirming a turret attack.
  • AI correctly attacks webjaw snares even when standing on them
  • Added validation steps to make sure maps are not too large or small
  • stressing no longer double-applies exposed/impaired
  • fix crash on killing a priest who has abjured you
  • mark for death actually verifies attack targets are the ones we focused on ++ falls off when that unit dies


That's all for now. Have fun!
Olive