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:
Mod suppport!!
22 days ago
– Mon, Jun 29, 2026 at 06:09:30 PM
Lancer Tactics now has official mod support & a source-available modkit! For players, mods can now be downloaded through the Omninet browser alongside maps and modules, and then managed in a new Omninet tab:
There's a lot to talk about here so it seems like a natural focus of this month's update.
Background — how do Godot mods work?
Godot projects have an internal filesystem much like the one on your computer; a series of folders and files. The root is referred to as "res://"
However, to run the game Godot needs assets (images, music, etc) to be in a different format than you'd find with them sitting in your filesystem. It compiles these files into a big pile of files that look like this, all jumbled together in one folder:
To keep knowing where things are, it maintains a skeleton of the original filesystem with all the orignal files swapped out with ".remap" placeholders that just point to where in that big pile the asset they represent went. Furthermore, whenever the game attempts to load a specific asset at a location (e.g. "res://assets/icons/mech.svg"), it caches whatever it loaded into memory. Whenever we ask it to load that asset again, it doesn't have to go ask the .remap file where the original one went and load it up — it just returns whatever it ended up loading from there last time. This cache is like a ghost sitting on top of a skeleton.
For modding, this gives us an opportunity. Instead of needing to actually copy in modded files and override the originals, we can manipulate this ghost-filesystem-cache by lying about what files are at what locations. Here's what a mod looks like for Lancer Tactics (using a modified system from Godot Mod Loader):
We have a special folder where we put the actual mod files: "unpacked", then another folder with the specific mod's identifier "Wickworks-Sawhorse". Within *that*, we have a "res" folder, and that's where the lying starts. When loading up the mod, we can grab everything inside of the mod's "res" and tell the ghost-cache that the mod's files are the ones that are actually at that location. In this example, by the end of it when we ask Godot to load "res://assets/frames/horus/mf_sawhorse.png", it will return the file that's actually over in "res://unpacked/Wickworks-Sawhorse/res/assets/frames/horus/mf_sawhorse.png".
Now that we have the power to insert files as we'd like, Godot Mod Loader additionally has some functions that through dark magic allows multiple mods to all alter the same script instead of overriding it. I'm a little fuzzy on these details, but the shape of it is that while loading each successive script that extends the same file actually extends the *previous* one that also extended that script so all the changes end up getting applied.
(though there is a bug in the Godot engine that's currently preventing doing this dark magic to any file that has a class_name; a pretty friggin major restriction!! If a Godot engine dev is reading this, a fix would be much appreciated thank you!)
In order to change what mods are active, the out-of-the-box Godot Mod Loader addon expects you to restart the game so it can start work with a clean slate each time. For Lancer Tactics, I modified this so it tracks all files inserted so we can go and undo all of our lies and reset the ghost-cache to files' original locations. This was important because I'm expecting people to want to be able to make maps and modules with bundled-in mods that substantially alter the content of the game, and requiring a restart whenever you load one up would be a terrible experience.
Speaking of bundling mods with other content...
Security Concerns
Mods are code that some rando wrote that the game downloads and then runs on your machine. Godot does not have built-in sandboxing for gdscript, so this code has just as much access as the game does, ie, can read or write any file on your computer and talk to the internet. Uh oh!
To be fair, this is a issue with most mods for most games. It's a very trust-based at-your-own-risk sort of country. This is fine if mods aren't tightly integrated, but as soon as you as a developer start removing barriers and letting people accidentally stumble into downloading harmful code by just pressing buttons in-game, you start taking on the responsibility in the case of something bad happening.
Slay The Spire 2, another game made in Godot, handles this by putting a big warning screen that it forces you to click through before you can start installing mods. We've done something similar:
Additionally, LT's system distinguishes between three different types of mods:
Asset Pack: There's no security concern if there's no scripts. Mods that consist of only inert files (images, sound, json) will be allowed to be bundled with maps and modules and loaded without requiring a confirmation from the user. Assets are placed entirely implicitly by their location in the mod's "res" subfolder. Good for things like additional portrait options or alternate mech tokens.
Content Pack: These can have scripts, and will likely only swap in files implicitly like asset packs, but do have the power to control where their files go if they have special needs, but are responsible for unspooling any nonstandard changes they make on being deactivated.
Substantial Mod: as above, but the changes are not cleanly reversible so require a game restart to turn off or on. Mods are in charge of telling LT if they're a content pack or substantial; the security concern is equivalent.
Given an extra four months, I could probably add the option to script game content in a nice sandboxed environment by setting up an internal .lua API for new abilities to use. This would allow new mechs and whatnot to count as asset packs, but the time-benefit tradeoff isn't favorable given our time and labor constraints. I have it filed away as possible avenue to explore after we make a million dollars on Steam and the security concerns become less theoretical.
Mod Tooling
So! That's a lot of preamble. How does one actually make a mod?
First, you need to get your hands on the source of the game. It's possible to decompile any game made in Godot which is what bootleg (affectionate) modders have been doing up til now, but we're making the source available through official channels for convenience. Lancer's TTRPG creator ecosystem is based on a belief that it should be hackable & extensible, and we want to carry that culture forward.
We're talking to a lawyer to make sure we have all our hatches buttoned down legally to make sure we maintain ownership of the game code itself (and maybe like watermark some assets?), but once we get that squared away we'll add the modkit alongside the rest of the downloads on itch. Until then, you can request early access to it on LT's Discord server.
Once you get the modkit, there's a modding_guide.txt that should give you the information you need to start making stuff:
And make the mods in the godot editor itself; the same view I have when making the game:
I'd love to establish way to start accumulating community knowledge about modding the game that's not controlled by google/discord. Getting a wiki spun up seems like the obvious choice — it's on my to-do list.
I'm a bit nervous opening the floodgates for modding because it's a significant increase in "surface area" that I'll have to maintain. Mods can cause crashes I don't have control over, changes I make will break mods that modders don't have control over, the tooling is another editor to make sure correctly syncs with data, and runtime juggling of all these files is delicate and impossible to set up automated testing for.
But we gotta pull the trigger sometime, so might as well be now to give us a long runway before Steam release to work out the kinks with the whole thing.
The rest of the changelog
To reduce copy+paste work that I have to do, I'm going to start leaving the nitty-gritty changelog out of these Kickstarter updates; you can see em over on itch.
Points still worth keeping here:
I've bumped up the version number of the game from 0.7.x to 1.0.x. This doesn't mean the game is out of early access or anything; popping this cherry is purely a matter of not breaking semantic compatibility with mods in the future. Read this for more about semantic versioning, but the short of it is that the first number bumping up indicates a major breaking change that requires mods to be updated. Up til now I've been definitely operating on pride versioning instead lol
Fixed downloading combats with empty names from mod.io; a few versions back there was a bug that meant all uploaded maps were named ".json" with no filename. This build should now be able to handle it when it downloads a combat with no name like that.
Marko noted that we've hit the 2000th bug card card on Trello! That so many 🪲😵💫🪲
I think I've finally fixed the issue where the game crashes on exit. I'm pretty sure the culprit was FMOD, gasp.
I set up a better export-build pipeline so I only have to run a script on the command line to get PC/Mac/Linux + modkit builds that takes like four minutes. It doesn't sound like a lot but will save me a half hour of manually running around switching computers and deleting folders every time we make an update.
We also showcased at PIGCON, the first games convention the Portland Indie Game squad has done! I went to some of the first meetups the organizers put on back in 2012 & have been in-and-out since then, but it was so cool to see what a force of indie game community it's become.
I always come away with pages of playtest notes & it was very cool to see some of my indie dev inspirations speak in-person. :)
— Olive
Organizational silos & superheroing
about 2 months ago
– Thu, May 28, 2026 at 04:00:07 PM
In last month's report card I mentioned that we got a C grade in organization for the project, and would follow up with a more in-depth discussion. So here we are!Since this section is about our organizational structure, it more than the rest of these posts is co-written by my co-leads Josh Boykin and Mark Carpenter.
To give you an overview, here's an org chart with our current job roles and the lines of regular communication:
Three salient points here:
As a near-fully remote team, communication between members doesn't come for free & had to be explicitly planned. Mark, as Art Lead, ended up acting as an "axle" whose near entire job, at times, became having individual calls to make sure everyone was moving in the right direction and speeds.
Josh started working with us at the end of year 2 as a writing editor, but as it dawned on us how much we needed help on the non-Lancer-mechanics side of the game, he shifted to taking on a full Narrative Lead role. However, we never took the time to hash out the clear responsibilities of that role, a pipeline for how exactly to add narrative to the game, nor what resources were required for doing the work.
I have solid personal relationships with both Mark and Josh. Mark and I were housemates through Covid so have battle-weathered communication & trust from the quarantine years. Josh and I are now housemates in Portland so get a lot of in-person time. However, neither of them had ever met IRL pre-Lancer Tactics so didn't have existing lines of communication they could use to communicate, and as an organization we didn't invest in establishing one.
As part of the Kickstarter wrap-up, we flew Mark up to Portland and spent the week talking through the emotions and narratives that had built up. These post-mortem discussions were larger than just these, but I can share the aspects of the talks that are relevant here in terms of our organization. We kept touching on two concepts in particular: siloing and superheroing.
Siloing
I've described the experience of making Lancer Tactics as feeling "siloed", where I talk with the people I'm directly working with but only rarely interact with people more than one step away. As Programming/Creative Lead, I'd get looped in whenever there were bugs/features/designs that required code changes but there are still some contractors I've never spoken to. I think that's natural as teams get larger, but when we're still as small as we are the only reason we're not interconnected is because we didn't invest in doing so.
On the other hand, this siloing was somewhat necessary for budgetary reasons. Even with the Kickstarter, we were never close to being able to hire full-time game artists, so contractors were the only way to get the breadth of work we needed done. A natural consequence of working with someone who's only available for a short time, or a few hours each week over years, was that they never have a chance to pick up the full context of the game. Mark was left filling those context gaps for everyone, and that took up a lot of time.
For tasks that required cross-discipline collaboration (specifically, implementing the campaign modules) we especially didn't have a pipeline with clear responsibilities & appropriate resources. Writing, map designs, and implementation notes were scattered across half a dozen different google docs in various directories with no clear way to tell what was the most up-to-date versions — when "USE THIS ONE" starts showing up in your document titles, you know something has gone wrong.
A particularly rough point on this siloing front was Josh's transition from editing-contractor to Narrative-Lead-core-team-member. Mark and I worked well in the siloed structure, but it left Josh feeling on the outside when trying to pick up the narrative without much context for prior decisions or others to directly work with. We ended up with a lot of crossed wires and unspoken expectations, and those impacts rippled through the project in a number of ways.
How we're improving:
It's not actually clear to us what the ideal alternative to contractor siloing is, given our constraints. A few possibilities:
Possibly some way of more efficiently bringing & keeping everyone up to speed?
Hiring fewer people with more general skillsets for greater numbers of hours?
It would also be helpful to invest more time in making sure everyone can validate/implement their pieces in the game itself, which would allow Mark to spend more time to do vision-work and think at a higher-level instead of implementation details and making manual formatting fixes.
Additionally, we're making some changes to how the core team operates:
Plan to fly Mark up from SF to PDX at least once a quarter so the core team can work in the same physical space. Having him visit for the half-week for the Kickstarter wrapup has gotten a lot of things moving that would have stagnated if we left it digital.
We've designed an interdisciplinary pipeline for making modules with clear steps, deliverables, and timelines. I'm looking at processes like the one Mark Rosewater has described for Magic: the Gathering.
We've made some slight but structural tweaks: Josh now runs our meetings to put him in a more active administrative role, and we have checkpoints at the beginning and end of each meeting to talk about how we’re feeling as people in addition to how we’re feeling about the work.
The studio is currently operating under Wickworks, a single-owner LLC that I launched the Kickstarter with because I had it on-hand and needed to move fast. We have a separate operating agreement for the project that's more equitable, but legally I still own the business. We're looking into transforming it into a legal co-op under a new studio name (which won't include my deadname lol). We're moving a bit slow on it because it's not urgent, but the hope is that will structurally reflect the values we hold. And also because I want to join a game worker union but currently can't because I'm an biz owner. :(
We've also discussed find an experienced studio consultant to be able to come in and make recommendations. So much of what we're doing is improvised; we collectively have very little mainstream game dev experience and would likely benefit from some guidance.
Superheroing & Crunch
Many years ago, my father once said that he attended a performance review where someone on the team was hailed as a "superhero" for their work. He was the only one in the room to be taken aback by this; his perspective was that, for a company, needing to have superheroes was a failure. It's one of the few pieces of advice that he's given me that I think has really panned out (compared to misses like "to smooth things over, always apologize, even if it's not your fault"). With this framing, there was a lot of superheroing required to get us to where we are.
For myself, I really am at my happiest when I'm working on a project ("I'm not burning out!", I oft proclaim, undercut by my wrist braces), but it’s easy for big'uns like LT to consume my life. I often feel the full weight of making the completion line go up, and have adopted adaptive habits that genuinely allow me to work hard without hurting myself emotionally & physically. However, I've also been recently describing myself to friends as "a hollowed-out implement of a person, honed to output Lancer Tactics the Video Game." That's maybe not great!!
Mark's version of superheroing was spending a lot of his time filling the context gaps for contractors e.g. manually adjusting palettes so they could be recolored by the shader as we changed the requirements, because doing it himself was faster than communication and training. As described above, this might have been necessary+true given our structure, but ideally we'd find a setup where it didn't have to be as much.
Josh’s superheroing has come in filling gaps in the project around marketing and business development (connecting with other developers, making connections at conventions, etc). He’s been working in games for over a decade and has been able to make a lot of great connections for Lancer Tactics, plus help organize some of the game’s larger strategy beyond the Kickstarter. But trying to carry those things alongside the challenges with figuring out Lancer Tactics’ narrative side has been overwhelming for him at times, especially when combined with some family emergencies and working other jobs.
How we're improving:
We generally saw success when we found ways to pry Olive's fingers off of jobs — bringing Marko on to process reports & help reproduce bugs has worked fantastically and freed her up to focus more on fixing confirmed bugs and adding content+features. We'll try to keep finding more places where we can do that.
Ideally there would be more core team processes as a whole: clearer communication and support for all team members, as well as structured social interactions and process-scaffolding to keep the team cared for as well as the project.
We don't have a solution to Crunch in Video Games (TM). Games take an absurd amount of effort to make & the economic constraints are a pressure cooker. The angle that I think we have to improve matters for ourselves is to try and be less alone about the work; better integration and ability to ask each other for help and organizational structures (like the pipeline for campaigns I mentioned in the previous section).
----------------
With all that said, I'm so proud of and thankful to everyone who contributed to this project. Despite not always being set up for success, through talent and grace and toil we have ended up making a fun game & faithful adaptation of the Lancer TTRPG. Making organizational mistakes is very common for new teams & especially in the wake of an unexpectedly successful Kickstarter. You just don't know what you need until you get there.
"If you want to go fast, go alone. If you want to go far, go together." <== // ==> "Slow is smooth, smooth is fast."
Year 3 Kickstarter report card
3 months ago
– Wed, Apr 15, 2026 at 09:01:02 AM
Note before we get into it: we'll be doing a livestream celebration & AMAtoday at 3-5pm on Youtube; submit any questions you have here about the game / development / Lancer.
We're done with the Kickstarter!
"You're done with the Kickstarter? What does that mean? Is the game officially out? Aren't y'all still working on it?"
What I mean is this: it's been three years since the campaign funded. Our final stretch goal was for three years of work. From here til Steam release in a year or so, development is gonna be powered by ongoing early access sales. It seems appropriate to mark the milestone & do a wrap-up to see if we did everything we said we'd do.
That's right — it's time for a (non-judgemental, just transparent) report card!
Report Card
Apparently I love being graded, and if nobody else is going to do it I'll do it myself. Let's get into each subject:
Backer rewards: A
Download keys have been available via Backerkit throughout development. All the enemy pilot and credit names were gathered through a Backerkit survey and have been put in-game. We took care of shipping physical rewards (stickers + coins) pretty early on. I had video calls with everyone who signed up to create Instant Action encounters at the end of last year.
For the custom pilot portraits, we ended up taking each one's individual designs and breaking them down into components that can be re-used in other portraits as well; because one backer wanted a cool anthro robo-helmet, now everybody can use it. You can find them in-game in the "stock pilot" roster for Instant Action:
Finally, there's not too much I can say publicly about the Xiaoli homebrew mech. Through unforeseen circumstances we weren't able to get the final designs from the backer, and then we were not able to muster the design energy to bring it over the line ourselves (ironically, the existence of the Zheng's Tiger-Hunter Sheathe sank the design that came the furthest). I'd very much like to come back and fulfill this in future development (maybe as the masthead for when we add mod support?) but it's a miss for now.
10/11 == 91%, so that's an A for backer rewards!
Project completion: B
Looking back at the project page, these were the baseline & stretch goals, point by point:
Out of 17 goals, we finished 13, totally missed 2, and got most of the way there for the last 2. Notes for the ones we didn't complete:
Mech art: we still have a handful of NPCs that are missing new tokens, and all drones are using the same default sprite. We're still working on them & they'll will be done in followups (in this metaphor, that's summer school I guess?). Partial credit.
Content-complete: as described from the outset, this was always supposed to be a "give it our best shot" kind of goal. We ended up getting everything except about half of the NPC templates; I think that's pretty good!! But less than a ✅ still isn't a ✅ so I'm not marking it as such. Here's the breakdown:
Campaign modules #1 and #2: Oof. I'll talk about this more down in the Organization section, but we just weren't able to pull these together on time. Dia, Trey, and Eld all got their writing & design work in just fine, but we didn't have a team pipeline to turn that work into something playable by this milestone. Can't win em all.
I've said a number of times over the last few years that if I could take one thing back about the campaign, it'd be adding the second campaign stretch goal. As it became clear that this was a wayy bigger swing than I'd anticipated, we shifted our focus into making the module editor the best it could be for this release with the expectation that that would pay dividends into the future as we and you, fellow reader, make stuff. Getting these done is still essential for the eventual Steam release so we'll get to them over the next year, but it's a miss for now.
As a side-note, the "adapt TTRPG rules to digital" point sounds innocuous but as you may remember, it led to our biggest community outcry/debate/conversation when we decided that Kai's NPC Rebake would make for a better experience for LT than the vanilla statblocks. I'm very happy with where we ended up as a result of the conversation, and I think the game is stronger for it, but expect to be hearing about the feathers it ruffled for years.
On the whole, we were able to stay extremely close to the TTRPG rules. You can directly import characters you made in COMP/CON and expect them to function as they would in tabletop. Flying as a status, 2 action "points" instead of quick+quick/full, and limiting the brace triggers are the only other significant rules adaptations we had to make (that I can remember right now).
If we count the partials as 1/2, that's an arbitrarily-defined final score of 14/17 == 82%. Solid B.
Extra credit: +3 points
Module Editor: Even though we didn't manage to pull together the campaign modules themselves, we do have the tooling to do so up and running. Much like the combat map editor, we've kept our content-creation tools player-facing so we now essentially have a miniature visual-novel maker built into Lancer Tactics.
3D world: About a year into the project, a quick art test revealed to us that Lancer Tactics really, really wanted to be in 3D. With a fixed 2D camera angle, we couldn't have more than one or two elevation layers before it would start obscuring everything behind it. Since line-of-sight blockers are keystones in Lancer map design, this meant we'd be forced to have all these giant robots not be able to see past cliffs/buildings that were clearly shorter than themselves.
Moving to 3D unlocked the ability to have maps that were, well, more tactically three-dimensional. Think of how strange it would have looked to take this fall damage getting pushed off one of the 2D cliffs.
Looking back, there's a certain theatre-of-the-mind charm that I think we could have made work if 3D wasn't an option for some reason... I hope the alternate reality versions of us that went down that path instead are having a good time.
Not many games would have been able to swap out their renderer like this a third of the way through development and still come out on schedule (sans for the 3-month extension we gave ourselves for the change). My confidence that this wasn't a project-ending cascade of scope creep was ultimately born out. Good job keeping logic separate from display, me.
Mod.io support: What good is making stuff if you can't share it? We didn't promise it up front, but I got integration with mod.io working for both Instant Action combats and modules.
That's +3 extra credit points, in total. What kind of points? How do they relate to the rest of the grades? These are questions I'm not interested in answering. They're points. Next!
Financials: A
Here's the $50,000 budget we presented on the campaign page, not including the final stretch goal.
Here's where our spending is today, with a lifetime income of about $240,000 including both the final stretch goal and ongoing sales on itch.
Looking at the numbers as a whole creates a strange disconnect for me. In retrospect, that's a lot of total money that moved through the project, but at this point we've expended the Kickstarter funds so my daily concern is about the balance between ongoing sales vs our post-Kickstarter burn rate + new expenses; for every payout from itch, we find new stuff we need to hire/buy.
We've gone over the initial budgets in a number of areas, but have matched those overrides with more ongoing sales than we expected. There was one point where we technically had more budgeted to spend than we had in the account, but it didn't last long and our buffer has since recovered. Only since the trailer dropped and things have started to ramp up on itch have we started to really breath easier.
Here's the last year of sales on itch, which I feel a little awkward about sharing but also am inspired by Evil Hat Productions who keep their sale numbers public, so I'd like to be able to do the same.
The spikes are the dramatic events (thank u dragonkid11), but it's so weird to me that the baseline sale rate is so steady. The only thing powering it is statistics: "Lancer Tactics ambiently shows up on X number of people's screens via the itch.io storefront & google searches, and Y percent of those people buy it."
Looking at the path from where we are to Steam release, we now have the luxury of attempting to get there powered by these sales alone. We're still going back and forth on whether to seek additional external money from a publisher/fund for some extra muscle, but it makes me feel extremely secure to not require it for our survival.
Survival is victory. We get a simple A here.
Organization: C
Okay, so... my co-leads Josh Boykin and Mark Carpenter have been co-writing this section with me for about a week now. We have a google doc that's about five pages long where we've been trying to come to a narrative about the strengths & weaknesses of how we set up our roles & lines of communication. In the interests of the transparency that we've established in these backer updates, we think it would be extremely valuable to share but would inflate the length of this already-long update.
So here's our org chart & summary, with plans to post the full thing as a part 2 next month:
As a near-fully remote team, communication between members doesn't come for free & had to be explicitly planned. Mark, as Art Lead, ended up acting as an "axle" whose near entire job, at times, became having individual calls to make sure everyone was moving in the right direction.
Josh started working with us at the end of year 2 as a writing editor, but as it dawned on us how much we needed help on the non-Lancer-mechanics side of the game he shifted to taking on a full Narrative Lead role. However, we never took the time to hash out the clear responsibilities of that role, a pipeline for how exactly to add narrative to the game, nor what resources were required for doing the work.
This setup resulted in interdisciplinary tasks — specifically, implementing the campaign modules — slowing to a crawl because none of the Leads had all the context, resources, pipeline, or time they needed stitch all the pieces together.
Josh has pointed out that these kinds of structural issues are common for new organizations, especially in the wake of unexpectedly successful Kickstarter campaigns, so I don't feel bad about this. It's an area for growth, and through coming together and writing this postmortem I'm optimistic that we've identified and are undertaking ways to improve.
We'll discuss it more at a later date. "C" me after class.
Backer communication: A++
Slideshow of random photos like they show at funerals.
(There's a reason they call these types of writeups postmortems)
Here's a montage of all the good times we had getting here, pulled from previous posts. Suggested listening.
What's next?
Game's not done. We've still got at least a year of work ahead for us before Steam release which, for marketing purposes, is the point it'll be "officially" out (although LT is the sort of long-haul game that wants indefinite ongoing support & additional content, so who knows when the work-curse will finally be broken). Until then, we're still in early access.
Even though the Kickstarter is now technically complete & our obligations are discharged, I'm going to keep posting ~monthly updates and changelogs here. Writing these is a compulsion // an essential part of my process so may as well lol (I just did a quick count — I am now just two shy of having written 100 lifetime project updates on Kickstarter).
After our celebration livestream later today (did I mention? 3pm PST! AMA question submissions here!), we're going to be taking a week or two as a break to catch our breath and plan the road to Steam over the next year.
Thank you for coming along with us & reading (some amount of?) these updates for the last three years. All three of my Kickstarter campaigns have been life-changing but the scale of this one has been especially so. Backers are in many ways literally co-creators through playtesting, content submissions (all those pilot names & callsigns are *chef's kiss*), and comments. It's a pleasure to have gone on this journey with you. 🙏🫡✨
— Olive, Josh, Mark
Module editor & celebration livestream
3 months ago
– Mon, Apr 13, 2026 at 06:09:49 PM
We're doing a celebration livestream on the 15th (two days from now) at 3-5pm PST. Here's the youtube stream link. Josh and Carpenter will be joining me IRL as we play Lancer Tactics (I so rarely actually play the dang thing) and do a Q&A about the game & the process of making it; if you have questions for us you can drop them in this google sheet.
Writing up the promised Kickstarter report card has been more emotionally taxing than we were expecting, so it's not ready today. I'll be posting it on the 15th along with the stream. We just need a bit more time to go over what happened & how we feel about it.
Other than that, here's the changelog for this month's build:
Highlights
module editor enabled, experimentally. This basically a mini visual novel maker that can stitch combats together with downtimes & narrative beats.
can upload and download modules to and from mod.io
placeholder portraits for the new stock pilots, from the kickstarter backer rewards
added distance ruler tool (holding shift, same as the editor)
Content
a buncha new ability FX and SFX
another batch of new portrait assets: skin colors, tattoos & face smudges, hats, jewelry
added cataphract and engineer NPC tokens
new sound fx & music mixes
Added "eject pod" fx for downed lancers and certain NPCs.
increase character limit for barks (from 64 to 128)
fix npc character sheets not having name/callsign
pilot roster entries are collapsible (we still might go back to list view, but this should make it less noisy)
fix creating duplicate "custom pilots" sections when creating pilots from the category + button
Mechanics
PC
can siege ram setpieces
vlad doesn't don't dismember self when using crack shot or grappling
fix symbiosis switch control situational action not showing up
remove arcing from siege cannon direct fire
minotaur correctly loses all its speed when entering engagement with other characters; it doesn't count as larger when it's initiating the engagement
minotaur can pick up the payload (previously, it was not able to enter the minotaur's space due to localized maze lol)
annihilation nexus centered on a drone doesn't trigger your own turrets & correctly enables the followup protocol attack
can apply Leadership dice to attacks you make from drones
predator/prey concepts can use variant actions like thrown (but so can predatory logic now)
can puppet systems allies through other allies
held image only triggers at the start of other mech turns, not drones
fix dusk wing explosions not catching nearby units/playing the explosion fx
fix: hunter lunge fails to trigger drag down damage
fix weapon type restrictions (and lack thereof, respectively) for seeking payload and avenger silos
don't autoconsume all lockons when attacking with a launcher from a monarch
fix cable winch drag only working when starting adjacent
grease monkey III charge no longer resets whenever you spend any repairs
prototype weapon charges are only rerolled on full repairs
multiple Open Channels no longer can affect the same character
a bunch of fixes having to do with the ghoul nexus; it now overwatches from where it is instead of trying to do so from the unit & can recall it
lockbreaker doesn't lock out UNCLE weapons
not locked out of lockbreaker movement forever if you ever decline it
post-attack lockbreaker happens after followup aux attacks
can lockbreaker a skirmish from an overcharge action
fix deep well heat sink priority so it affects type 1 flight system
balor self perpetuating repairs during downtimes; not just at combat starts. Full repair beats actually full repair.
drake fortress CP provides knockback immunity to all sources + correctly ignores brace restrictions
fix combat drill overkill heat not corresponding with its bonus damage
NPC
Can try to break grapples from harpoon cannon & lasso
assassins mark is no longer shared between all assassins
engineer turrets aren't affected by engineer's impaired status
hard AI round cap on mobile printer being used multiple times per round
fixed berserker doing fall damage to itself when harpooning a larger character
fix witch's Blur never applying
Hive's Razor swarm is no longer a character (again? I stg I've fixed this before)
charged slash should no longer be used on allies ++ have the AI make the choice if the AI gets targeted in some other way (eg player-controlled ronin)
fix breacher thermal charge sometimes not moving because it tries to either target the line on the way there or some unreachable final target
scout rebound scan correctly auto-hits allies
scout pathfinder boost correctly consumes rxn
Engine
fix infinite range attack glitch when you have to disambiguate targets for a melee attack
fix teleporting while going in a straight line causing you to teleport individually for each step
soft-cover setpieces grant soft cover when you fire through them instead of only when the target is standing within them
invading allies no longer clears hidden since it doesn't count as an attack
can move payloads when dazed, but no longer stunned
Jericho cover no longer gives hard cover to itself
Rider units (latch drone, mule harness) do not take fall damage when their host carefully climbs down a cliff.
correctly reapply buffs when a kit is repaired (e.g. ultra siege armor resistance)
oasis wall doesn't deploy on tiles you're currently occupying for size 2+ units
fix escort+extraction not extracting the payload // triggering victory.
UI/Graphics
new combat start/new round/combat resolution banners
don't offer to consume leadership dice for bonus damage when you can't deal bonus damage with the attack
fix stabilize heal option desc when at full hp
fix meltdown causing the game to hang out for like 10 seconds afterwards. punched up/fixed meltdown camera shaking
fix "immune to knockback!" spam when targeting grav gun
numerous positioning fixes for stationary fx like shields
aoe lines and cones can target spaces outside of their elevation range, but the AOE tiles themselves get filtered out later. warn if doing an AOE attack with no targets.
heavy gunner rank 3 shows laser pointer at both of its targets
duck the music when in the pause menu
fixed NPC cloaking field aura size
brought default mech colors into new color systems
remove duplicate confirmation for eye of horus
show Action = NONE actions in the gearbar, for informational purposes (autogun, autopod)
show limited charges in glossary tooltips again (asura)
fix sentinel drone warning showing at too many tiles
only ask to confirm canceling portrait maker if no changes were made
can retry failed battles
fix water block being too tall in map previews
setting input keys no longer fails if it would clear another control
fixed bug where zooming out sometimes made hologram units totally disappear
can cancel/zoom in/zoom out while mouse is over the void
fix Control score sometimes not updating correctly
change cursor shape when hovering over texture buttons like Back
fix overcharge icon resetting to start after the fourth
full repair clears "melted down" state and lets your mech start showing up in the UI again
maybe(?) fixed errant black squares on crt-filter UI elements
can advance through dialogues by pressing space in addition to clicking screen
adjust cloaking field fxe to be less seizure-y
add terrain information to the distance investigator
defense net doesn't spam text on units moving within
Editors
add summary text entry to combat tool, which can be used for the intro banner playing
re-enable unit save-as button in combat editor
resizing map no longer fills in the lowest elevation with blocks
unit palette has a search bar, bigger sprite buttons, and lists deployables/markers with their name instead of a blank image
Added missing localizations for the new setpieces+doodads (crate, crates, consoles, etc)
removed "my_first_map" as the default map when you open the editor for the first time; instead, highlight the "new" button
add "downloads" list to the editor file lists (alongside "user" and "stock") don't fit the beat dropdown to longest beat name
dialogue blocks can stay available after being run
fix landscape block previews not having their side textures shown
No longer able to level up freely during full repairs within a module; show warning mark when there are unallocated choices for a pilot.
Beat dioramas will fall back to camera start zones // center of map if there's no mech slots
image media can be webp/jpg in addition to png
Triggers
add "rename unit" event
"Use" zone event: flag to make "use" zone actions reusable, can specify what units are permitted to take the action
Can add and remove lancers to modules via trigger.
add module trigger that modifies a unit's sitrep tags
Added extraction event to just remove a unit from the map, with flags to skip fx/logging
combat start is now the default trigger event, sorted the list alphabetically
Terrain getting damaged can trigger triggers
change faction unit counter to skip drones (so restock drones don't prevent elimination victories)
Dialogues
added 5-person conversation layouts
be able to add conversation lines after the selected one, and playtest from the last selected line
Fix crash on pasting line breaks into a conversation line
fix behind-choice word bubbles blocking choices
added a "handshake" stage direction for conversations
Internals
instead of making a ton of "_savefile" combats and littering the user directory, added an option to the pause menu that explicitly saves combats that we don't already have (so, given a only an Instant Action/editor savefile, you can still extract the map into your own editor)
refactored how mechs are assigned available sprites/meshes internally to set us up for easy modding-in of new graphics in the future
F11/F12 no longer win/lose combats; added them as console cheats instead
We're so near the finish line for the kickstarter, I'm so tired, gonna land this plane. See ya later.
Olive
3-year anniversary! (update next week)
4 months ago
– Wed, Apr 01, 2026 at 05:52:11 PM
It's been three years since Lancer Tactics funded!
We're still putting the final screws on the final-Kickstarter-phase build of the game & accompanying report card I mentioned last update, but I wanted to mark the day so here's a little amused boosh (bone apple tea):