#Lancer Tactics

1 messages · Page 8 of 1

agile tinsel
#

That would be funny

#

Also a don’t let foes in, just for stuff that pulls?

#

And a never target for more weird cases for a bombard or something you don’t want getting hit?

flint portal
#

One would prioritize movement to get there while the other prioritize hostile actions while in the zone is probably how i'd say they're distinct?

#

Oh that would be nice

#

yeah

agile tinsel
#

Maybe also tags for fellow npcs like “expendable” or “valued” for how much they are willing to hit them to hit the player like if their in the way of a line or cone.

#

(Flavor wise, RPV’s or prison soldiers to a tyrant)

#

I don’t know if this is stupid or just more work for nothing

#

The middle option could be neutral where they would normally avoid it but if their in the zone and need to be pushed out they would do it?

#

Valued- never hit no matter what
Fellow Soldier- only in emergency’s
Expendable- does not care if hit

alpine sorrel
#

yeah I think that might be getting too nuanced for this system

agile tinsel
#

Yeah

#

Really just rambling, love tactics (this game)

alpine sorrel
#

fun little bug: I'm adding a system to shunt units to nearby tiles if they end up in an invalid space (e.g. having moved on top of another unit) and it resulted in an infinite loop where these two everests are basically playing the "no after you" game to infinity

feral veldt
#

They do be shuffling

alpine sorrel
#

Multiple grapple groups! Grappling somebody who's already grappling cleanly incorporates the whole ball into one giant katamari. I've set it so you can move grappled units up only one elevation step; they get scraped off and left behind if you try to move them up a higher cliff.

crimson merlin
#

Amazing! XD

tepid temple
#

Oh wow

crimson merlin
#

*spots mount groups in the action bar

magic cave
#

just looks good

lone cliff
#

where its a slope to 2 blocks above

alpine sorrel
#

If they would end up more than 1 space away (vertically or horizontally, excepting drops), they get left behind. Basically you can't drag them upwards to a point where you wouldn't be able to be touching them anymore.

#

So in this case if you were walking alongside at ground level, they'd pop up to the first block and then be left behind

lone cliff
#

coolio!

agile tinsel
alpine sorrel
#

I dunno if I have just one top anecdote on deck, but you can see lots of little ones by going through the changelogs/updates here: https://wick.itch.io/lancer-tactics/devlog

itch.io

A mecha tactics game adapted from the Lancer TTRPG. Play in your browser

alpine sorrel
#

testing out a shader for the water surface. I'm not sure how I want to handle situating it on the map; can you set the elevation of the water, like originally planned? how does it interact with the edges of the map? do I raise the outside border to the same elevation so it's like an indoor contained pool, or replace that border texture and extend the water texture out past the camera bounds?

#

it'd probably be simplest to lock it to be slightly under the default ground level, and the water gets exposed if you dig down at all (or in the map editor carve channels). This would also prevent ever being totally underwater, which feels like would be its own bundle of problems to solve.

#

but it would be so cool to be able to have a map with like dynamically raising/lowering water

mild jay
#

Oh yeah the way flying works in the LT could make being underwater the way it works in tabletop RAW a bit weird

#

Since that’s flying+slowed if you don’t have a flight system iirc

tepid temple
#

The "indoor contained pool" sounds silly looking on the face of itself

mild jay
#

But flying is elevation +3 in the game, so what if you’re only 2 spaces under water?

alpine sorrel
#

yeah exactly

tepid temple
#

Could you replace the border texture but leave the water texture unextended? That way it can be used for both "This fight takes place in the middle of the open sea" and "This fight is taking place by the shore"

alpine sorrel
#

it'd have to be like, what, you fly up to minimum(+3 elevation, surface level of water)

alpine sorrel
dire ivy
#

Into the breach has it just be void that way the battle is kinda on a set?

#

All the action and everything you need to know is visible and anything irrelevant just... Doesn't exist?

alpine sorrel
#

yeah... I've specifically cited that as an important thing to avoid for the emotional baseline I want LT to support. I want it to feel embedded in a larger world, not like an isolated chessboard. The infinite weather-radar texture thing is an attempt at hinting at surroundings without having to actually render any of them.

lethal leaf
#

Okay, weird interaction I thought of: I have a Minotaur with an Impaler Nailgun (Vlad 2) and H0R_OS 1 (Goblin 1). I want to use Puppet Systems to hack them into the range of my Impaler and hopefully immobilize them before Metafold Maze goes off in response to the hack. I can do that in the rules. Can I do that in this system?

alpine sorrel
#

If I understand, the sequence is puppet systems > overwatch with nailgun > nailgun immobilizes > metafold maze activates and stuns?

#

Yeah, that'll work even before we add reorderable rxns because the branched-event of the puppetted movement and overwatch will resolve before the end of the puppet systems activation
edit: on closer inspection, there may be some queuing priority stuff that gets in the way — once we add the minotaur, please test this and let me know if it works!

magic cave
#

oh shit that's a good combo
writing that down for actual tabletop use

teal flame
alpine sorrel
#

This is the batch for this year, before next year's content push:

#

Subject to change as things shift around.

teal flame
#

oooh nice

#

No monarch/kobold from the demo?

#

Although I can understand why no kobold

tepid temple
alpine sorrel
alpine sorrel
teal flame
#

Fair enough

#

And I can imagine missiles have some horrific edgecases

#

Not to mention TLALOC

little jetty
#

what was the basis for selecting those? ease of implementation? hitting all the core mechanics?

alpine sorrel
#

half trying to hit varied mechanics (e.g. vlad pre-attack damage, barb size 3), half getting a spread of roles

magic cave
#

It's not a pretty solid selection. The only kind of conspicuous absence to us is the Blackbeard, since we find that to be a good kind of 'tutorial' frame (not necessarily in the sense that it's simple, but moreso thanks to the array of mechanics it presents). But then again, that might be bias from it being like. Literally the first frame we saw back in the day

teal flame
#

The grapple shenanigans are gonna be weird though

little jetty
#

I think they figured out most of it recently?

tepid temple
# magic cave It's not a pretty solid selection. The only kind of conspicuous absence to us is...

While Lancer has dominated the mech RPG space since 2019, no one at Massif Press has been able to explain why they have filled the game with so many frames when the Blackbeard is obviously the only one that could possibly be needed. While there are arguments to be made that there at least needs

wintry egret
#

Agreed, blackbeard is one of the next ones on the list. The cabling system(s) will force us to figure out map-based effects

alpine sorrel
#

Got backer names pulling into the game for boss subtitles

lone cliff
#

@alpine sorrel will also say that zachatronic's möbius front 83 also has a p slick UI. All actions like move, diff attacks, etc. are mapped to the wasd area of keys + the numbers

#

W was move, S and D were different attacks, E was usually utility action

alpine sorrel
#

Yeah I love it! My favorite part is how the tooltips look like in-universe paper printouts. A very cool and clear style.

lone cliff
#

Qyeyeye

#

I finished it a few nights ago

#

Very interesting turn based tactis

#

Very challenging

alpine sorrel
#

I've never played, just taken a lot of screenshots from LPs for reference lol

lone cliff
#

Lmao

crimson merlin
#

Didn't like Mobius Front 83. Felt like less than a sum of its parts. Tried several times to get into it. :\

uneven mortar
alpine sorrel
#

Working on Metahook — can anyone offhand think of any other mechanics that "link" characters where if one takes a status or heat, the other does as well? The only three I can think of are metahook, goblin cp, and that one priest system.

#

(annoyingly the priest is the odd one out where it only shares some conditions & not heat)

little jetty
#

i was gonna say white witch pinning spire but I think that's not what you're asking here

alpine sorrel
#

mm that is actually a good example of the other weird metahook thing where it gives some actions new valid targest

little jetty
#

mule harness also has a thing where if someone is affected by a subset of conditions, something else happens (shared space ends, knocked prone)

alpine sorrel
#

yeah... I hadn't thought of that being related but now that you say it, it might be

frigid shale
#

Oh you mentioned that whoops

little jetty
#

is it really just a non-reaction way to handle an event and effect?

#

could it be related to the berserker pseudo-reaction attack, code wise?

alpine sorrel
#

yeah there's not a different between pseudo reactions and reactions besides a flag that says "consume rxn"

little jetty
#

so metahook could be coded as a pseudo reaction as well, with the trigger being "my buddy takes heat or condition"?

#

goblin taking the turn simultaneously feels like it would be a nightmare to code, best of luck to you there

ashen kindle
tepid temple
#

Oh! Also the Kidd's Smokestack Heatsink, though that isn't a character proper

alpine sorrel
#

alas, I've gotten this far without needing applying/clearing conditions to be hooked into the event system in a way that abilities can react to. Since there are so few things that care about that, I thought I could get away with a more basic implementation

#

reacting to damage/heat isn't a problem, loads of things do that

alpine sorrel
little jetty
#

goblin gives all its abilities to the host, and takes a bunch of reactions? idk
it sounds cursed for sure. UI might be a huge challenge too, even after figuring out the coding

#

best of luck to you

uneven mortar
#

Sure fire answer: nuke goblin from orbit

lethal leaf
#

Just give the Goblin a different core.

teal flame
#

Maybe just give the host mech new actions?

digital maple
#

(Soundtrack is great lancer session music, I might add.)

crimson merlin
#

I can't tell you what I didn't like about MF83 either. I'm all on board for Fire Emblem, Advanced Squad Leader, Advance Wars, Zachtronics games in general. Game feel is so nebulous sometimes.

alpine sorrel
#

I decided to cut my losses today and just make metahook's linked conditions always have a duration of "until end of next turn" instead of trying to quantum entangle them. It's already eaten a full day of dev for such a weird niche system, it can deal. But it's working!

teal flame
swift barn
#

Just got done playing the Alpha and the Beta (for comparison) and your teams skill gain with the godot engine really shows!

May I ask what the dev teams prorities are going to be going forward?

alpine sorrel
#

The next big task is getting the campaign beat/combat system+ editor up and running, but there's an endless array of bugfixing, adding more content, and improving the UI that goes alongside that. A lot of this week was dedicated to just implementing the goblin's kit, for example

feral veldt
#

Good luck!

teal flame
worldly violet
#

Goblin is a PC frame my dude

tepid temple
#

Uh, the Goblin's kit has Osiris

worldly violet
#

heck

#

Its an early morning

#

NPC NHP uhhhh

teal flame
alpine sorrel
#

huh I guess it will be.

#

we should figure out what sort of special treatment we want to give NHPs

tepid temple
#

Suggestion that's entirely too late to be actionable, as unsolicited game design suggestions tend to be: make a Kickstarter tier where you get to suggest a name that's randomly assigned to individual NHPs

little jetty
#

there's a character name tier, you can use that for NHPs too

alpine sorrel
#

false idol, ideal image with placeholder graphics

uneven mortar
#

sicko mode

boreal dust
#

would it be possible to import images for false idol and ideal image?

alpine sorrel
#

not until we get mod support up and running, I'm afraid

#

and that won't be for a while

boreal dust
#

ah, completely understandable, worth asking

alpine sorrel
#

got celestial shackles in; goblins can now push a mech off the same building twice in a turn

quiet meteor
#

lmao

little jetty
#

You can't normally ram bigger enemies, in case that was a miss. But maybe you just coded it to be possible for this funny test case?

#

bc it is absolutely hilarious

shut horizon
#

Honestly those placeholder graphics for the idol/image are pretty neat already

alpine sorrel
#

And yeah oops the goblin should not be able to do that. I knew it felt funny; I wonder why we lost the ram size restriction. Logged.

teal flame
#

Alternatively you could put synthetic muscle netting in or something

dusk sandal
alpine sorrel
feral veldt
#

is anyone else having trouble downloading it?

crimson merlin
#

I had to request the survey recovery link email to get the actual download from Backerit

feral veldt
#

okay there we go figured it out

#

for some reason it sends you the the late backer page/survey page- have to manully go in from the backer website

boreal dust
#

looking at this part, what if the charges get really high from HASE? i forget but doesnt one give more charges?

tepid temple
#

Well that's the job of whoever's doing the UI, haha

#

But across all the 1st party content, the max you can get a limited system is up to 12

#

Which... seems representable??

boreal dust
#

at a point would a X12 be better?

tepid temple
#

What if you wanted to put a stub cannon as your integrated weapon

alpine sorrel
#

exactly, I believe once you get over 4 it turns into a 3/9 or whatever. I believe it has enough space for 5 characters because it's the same slot where we put heavy on mounts so 12/12 should be fine.

frigid shale
#

My napkin late night math tells me that the biggest # of limited charges in core is 12 (max roll prototype weapon 3) + 3 (Eng 6) + 2 (Improved Ammo Feed) for 17 charges total. Maybe higher if frames grant a limited item bonus (Winter Scar playtest Gilgamesh still does this iirc?)

#

So yeah 5 chars should do the trick

lethal leaf
#

As long as it doesn't get into three digits, it'll be fine.

agile lagoon
#

At that point you've got more charges on limited items than you'd have turns and reactions to use them in over an entire three to six combat mission.

teal flame
#

Oh by the way, I think prone is slowed and half movement (treat all terrain as difficult)

final mesa
#

I haven't been reading much, but for the veteran tier, have we missed the time to give our input for it? Or is that still to come?

teal flame
#

the SSC FSS core bonus might not be working, it definitely isn't showing up in the mech editor

alpine sorrel
teal flame
#

I just noticed it when looking at the cheat sheet I have printed

#

I’ll check quickly in the book

alpine sorrel
#

I just double checked, you're right

#

Lol does that mean that one nelson system lets you scooch around prone at normal (albeit slowed) speed?

#

Little back/tummy wheelies

teal flame
#

Lmao

#

Go gorilla mode

#

However the Nelson would much rather be boosting

alpine sorrel
final mesa
#

Well that being slowed would shut down skirmisher (trait) and skirmisher (talent)

digital maple
sand goblet
#

it has a niche application for SEKHMET users, since she'll prioritise using movement to crawl towards the closest character rather than standing up

alpine sorrel
#

got water levels working today, completed with difficult terrain & slowed statuses for units without EVAs

crimson merlin
#

Oh heck yeah!

tepid temple
#

Ooooo, that is satisfying to look at

alpine sorrel
#

I think with even a little more juice it'll become really cool. Stuff like foam/splashes where things poke out, units making splashes when they enter, etc

teal flame
#

That means you could probably do a zero-g modifier that just floods the map with invisible water

alpine sorrel
#

yeah something like that is the plan!

#

though carpenter and I talked about how we wanna do underwater/zero-g flight today and I think we might end up handling them differently

#

for underwater stuff, we're thinking we might have swimming units fly up to right under the surface of the water

#

instead of the normal LT "flight = +3 spaces up"

#

whereas in zero-g it'd just be normal flight

#

so we'll need to finally cave and allow flight to be variable in how high it pops you up, or add a new "swimming" status that works a lot like flight but handles that variable height to match the water level

tepid temple
#

Huh, is the latter really that much easier than the former?

little jetty
#

what are your thoughts on the outside of the map area being full of water too?

frigid shale
tired aurora
#

I think the best way to do this is to have an option for “water” as the out of border terrain

#

making the playfield an island

uneven mortar
#

agua.........

alpine sorrel
#

Mounting into a shut down mech

rugged copper
#

yooooo

#

this is coming along super well, i'm so fucking excited

tepid temple
#

They’re so tiny 🤏

worn tiger
#

pilot token is extremely holdsmol

final onyx
#

Should of named him Shinji 😦

little jetty
#

guy is a cute name for a guy!

alpine sorrel
#

a fun under the hood thing is that I had to make a "human" mech frame for the pilot to drive around. ratatouille energy.

final onyx
#

Gonna hack that to turn him into a cyborg with mech weapons /j

teal flame
#

Is it just me or could you reuse some of that code for the goblin active?

little jetty
#

i imagine the pilot "mech" just disappears rather than sharing space

teal flame
#

Ah fair the goblin is still targetable

#

The leech NPC on the other hand…

alpine sorrel
#

Hey poll for whoever has played the most recent build: we experimented with being able to leave the camera at 90deg angles instead of just diagonals. I'm finding myself never wanting to be at that angle; the top-down view solves obscurity problems better.

Before I put it back to only-diagonals, has anyone else had a strong counter-experience?

final mesa
#

Oh man, now that makes me wonder what the jockeying animation is gonna be like? How yeehaw we getting?

dire ivy
alpine sorrel
final mesa
#

Honestly entirely reasonable, good on you on drawing reasonable scope boundaries.

alpine sorrel
ashen kindle
ashen kindle
# alpine sorrel Hey poll for whoever has played the most recent build: we experimented with bein...

I haven't played lancer tactics yet so take what I'm saying with a grain of salt, but when I played XCOM I use a mod which allowed the camera to rotate at 45 degree increments instead of 90 at diagonals. I found it very useful as I'd prefer using the diagonals but sometimes I'd find myself using the straight on camera angles without noticing, or when I was looking down small alleys/thinner passages or trying to gauge line of sight and stuff

alpine sorrel
#

Yeah that was the thought for why we added it as an experiment, but top-down seems to both look better and be even more effective

tidal tulip
#

Is there an incentive to remove the feature?

wintry egret
#

Just a more streamlined experience for everyone, having to click "rotate" two times instead of one is a less desireable experience imho

lone cliff
alpine sorrel
#

In the abstract sure but I'm not convinced it's needed for this game, which is why I'm polling for if anyone has run into an actual situation where it helped.

grizzled tendon
#

Hey im not hyper keeping update and i forget

#

My partner was curious what this is being made/coded in

frigid shale
#

Godot iirc? I dunno specifics beyond that

grizzled tendon
#

Ty!

#

Thats what she was looking for

glad lotus
#

Godot 4, using C# instead of the default GDScript, IIRC.

alpine sorrel
#

Mostly gdscript; only a little taste of C# to get the LOS algo to run in 2 seconds instead of 20.

crimson merlin
#

Yikes, that's massive

#

Is that sampling every square from selected square to see if there's a path?

alpine sorrel
#

Every tile from every tile, for every Z-level. I gotta warm the cache up-front because calculating from a tile is slow enough to be noticeable as you mouse around choosing a target.

little jetty
#

is that what the cool kids call ray tracing

alpine sorrel
#

Nay, that's some sorta graphic light calculation thing

little jetty
#

oh oops

alpine sorrel
#

I also have to recalculate an entire layer's cache whenever there's terrain destruction or a LOS-blocking deployable placed or moved — you can see the original KS demo sometimes hang a bit after the kobold's seismic ripper because it's doing a similar recalc in gdscript.

little jetty
#

that is wild to think about

#

how doing all the calculation upfront is faster than doing it dynamically

alpine sorrel
#

When I need LOS data, I need a lot of it, much more than what a single tile-to-tile raycast would give. The targeting helper that gives you a movement path needs to know ALL possible tiles that can hit your hovered tile so it can pathfind to them and figure out the best firing solution.

#

And yeah having it on hand from an up-front calculated cache is so much faster than trying to get it on the fly while also doing all that other stuff

#

Although it does fall back to getting it dynamically if it's not cached yet, such as if you do terrain destruction and then start mousing around before the cache has finished regenerating.

little jetty
#

that's really cool, thank you for sharing

near linden
# little jetty how doing all the calculation upfront is faster than doing it dynamically

"calculate everything up front and throw it in a cache" is a very common thing to do to speed up things in games and elsewhere - you're essentially trading processing overhead with memory overhead. There's some graphics tricks where you could either run a shader and compute the effect in real time or you can use more graphics memory and put the data you need into a texture (ambient occlusion is the prime example for this sort of thing)

agile lagoon
#

If the map is constantly changing geometry or too big then sometimes it's a bad idea. But in principle it is the best solution, especially if its only taking 2s (which can be easily hidden with animations and loading bars)

#

It can get out of hand fast though. On a 32x32 map with 10 levels of height (so, like the extremes), thats 10240 individual grid spaces you can end up in. If each cell needs to know whether it has line of sight to each other cell, that's 10240 pieces of data for each of those 10240 items, so that rapidly balloons up to 104 Million things to track

You can just about pack distance and visibility into a byte of data (5 bits for values 0-31, 1 bit for visibility, and lets just argue 1 for hard cover, 1 for soft cover)... so your map data gets to be a cosy 104mb of data.

alpine sorrel
#

good back of the napkin math! I'm not sure how to check memory usage for a specific object, but that sounds about right to me. I have some pending TODOs to condense line-of-sight storage like that from a bool[,][,] on the C# side, but I do something similar that when it reaches gdscript. For anything where I have a bunch of binary data for the entire map, I pack it up into sixty 64-bit integers (one for each row — this is why the max map size is 60x60. Probably could have used all 64 bits but I chickened out). It's then very fast to check and manipulate those with bitwise operations:

static func add_to_bitwise_array(bitwise_array:PackedInt64Array, x:int, y:int) -> void:
    bitwise_array[y] = bitwise_array[y] | (1 << x)

static func in_bitwise_array(bitwise_array:PackedInt64Array, x:int, y:int) -> bool:
    return bitwise_array[y] & (1 << x)```
#

I use this method all the time for sight/valid targets/range, but stuff like soft cover and terrain data lives in more complex tile-by-tile dictionaries because I don't usually need to access it in bulk.

#

here's the memory usage as I switch between the map editor (the elevated bits) and the game (where it gets lower). looks like I actually have a memory leak in the editor since it progressively climbs, but the game itself is fine (the end wiggly bits are me reloading a saved game; no increase).

#

Oh also I don't track most terrain data per-voxel like that in order to avoid that 104-million number. I flatten it out and only store data for the terrain's surface, which is a much more reasonable 60x60 = 3600 complex-data objects.

dire ivy
#

Does that mean there wont be an option for roofs?

alpine sorrel
#

correct

#

which is definitely a big loss (esp. not being able to to stuff like bridges), but I made the call that it was acceptable for the significant increase of engine and editor work it would have taken to implement.

tepid temple
#

I don't think of it as a huge loss, but thinking on it, it does get rid of one niche use for Phase-Ready mod

agile lagoon
#

I ran into the huge data number when I was trying to build an XCOM like and verticality and regular terrain destruction was something I wanted to mess with and realised very quickly map sizes are hard when you add a third dimension

final mesa
#

Cubic functions grow very fast yeah.

wintry egret
worldly violet
#

I mean, if you feel like you can't live with overhangs as a map maker go back to 1998 and look at how they did 3d games

#

the level of inspiration limited tools demand and fosters really impresses me

feral veldt
#

Yeah, the stuff programmers did in the past to stuff as much game as they could into limited space is impressive as hell (and also why there are so many weird bug/glitches)

lone cliff
#

Yeah its wild

wintry egret
#

I've been playing with the trigger system in combination with the new water system and had an idea with a map that slowly filled up with water... check it out!

little jetty
#

water temple

tired aurora
#

can you do that but with lava ? bonk

wintry egret
#

Not yet but that's the plan 🔥 Lava, toxic goop, etc

slate jetty
#

Finally downloaded Lancer Tactics, after like, forgetting for a month or so.
Having a lot of fun doing pilot creation stuff.

fringe token
#

So I haven't been following the development that closely and, damn this is some insane progress

#

But at the same time I'm curious, the Kickstarter said one year of development time max right? Was the time window extended for more development?

#

......Wait, the dev schedule extends until 2025?? I didn't realize that

fickle pecan
#

Theres one year of full time development but thats hasnt started yet is my understanding

#

I wanna say olive is currently working on it every third week?

alpine sorrel
#

2/3 weeks LT, 1/3 weeks day job. The original goal was 2 years of dev, then the stretch goal added one year on top of that. Decided to do the whole thing at this 2/3 time instead of two years at 1/3 and then one full time.

fringe token
#

Ahh I see I see

#

Understood

#

Godspeed to y'all then bosssalute

alpine sorrel
#

✌️ ty believe me I'm wanting to get this thing done as fast as I can

final mesa
#

(Also olive I love your little hibiscus flower)

#

Yeah, remember, Tom described the last stretch goal as sending olive to hell, which does feel accurate.

alpine sorrel
#

Lo I think about that tweet so often, like yep, here I am

#

I love it though, so happy to be able to be doing this

#

Resent having to do my otherwise excellent and flexible day job

#

I'd Rather Be Lancing

fringe token
#

Don't we all

final mesa
#

Honestly mood. Work from home, relatively flexible hours and PTO, but at the same time, I could be playing lancer and making lancer content.

alpine sorrel
#

Working on the module & narrative beat editor. After all this time adapting a system of well-defined rules, it's odd to be out in a greenfield where I have to figure out how I want to structure things with very little mechanical scaffold.

#

I've somehow found myself needing to essentially make a visual novel engine?

agile lagoon
#

Damn Olive o_o. See I'd fall back on using Ink or Twine, but you go and make a full blown node based editor of your own for this? Amazing.

alpine sorrel
#

Godot comes with one! It's a bit jank and covered in "this will be refactored in the future" labels but not having to make that from scratch is a huge help

agile lagoon
#

oh keen 🙂

crimson merlin
#

You could scroll back up over text which was nice

little jetty
#

a lot of renpy-based VNs also let you scroll up the text

#

but also agreed, renpy is good but it's cool to see different ways to do things

tepid temple
#

That makes me think of Disco Elysium, which based their's off of Twitter

little jetty
#

time for my new diagonally scrolling vn to-

crimson merlin
#

VN with speed reading text in the centre of the screen one word at a time XD

little jetty
#

VN in the style of those content mill videos (it has minigame playing on the background)

tepid temple
#

VN where the word House is a hyperlink

rapid seal
#

I played a renpy based game once and had to transfer the entire game to my new phone just to transfer the saves

#

Probably for the best

alpine sorrel
#

A friend just pointed out that since the Lancer license is open, there's nothing stopping them from releasing a game called "Lancer Tactics 2" before we actually finish the first one. I think that's such a funny idea. Imagine getting scooped like that.

shy spruce
#

[spaceballs voice] Lancer Tactics 2: The Search for Lancer Tactics 1

little jetty
#

making lancer 2e

alpine sorrel
#

thankful that tom has enough other plates spinning that that's quite a ways out. I would implode if 2e came out before we'd finished this one

final onyx
#

I flood the SEO with Lancet Tic Tacs, the glucose mint for diabetics

little jetty
#

no i mean anyone can write lancer 2e right

#

or is that too far

#

idk in just joking

orchid pendant
#

You couldn't do anything that would imply that it's an official product, which pretty sure that would fall under. "I'm making a new edition" very much feels like it's getting away from Powered By Lancer. 😛

tepid temple
#

What if you called it Lancer Tooie?

shy spruce
#

mumbo grant bear and bird new license

final mesa
#

Lancer Kazooie is big in alternate world nerd circles.

agile lagoon
#

Taking notes for when I eventually start work on my own version of a Lancer video game :p

grand notch
#

Clearly, we need a Lancer mech sim, in the vein of MechWarrior or Heavy Gear. I'd say "or EarthSiege," but that never had a tabletop game as far as a I know.

#

Probably more like Heavy Gear, if I'm being honest. Lancer's mechs feel more Heavy Gear-ish to me, due to the feel and aesthetics. Plus they're both drawing from the Armored Trooper VOTOMS well.

alpine sorrel
#

got setting backgrounds & images working for beats and exposition scenes

little jetty
#

i love your test messages

final mesa
#

Oh my God this is gonna be the best game.

crimson merlin
#

It's certainly shaping up extremely well

alpine sorrel
#

We're doing our best. I'm feeling antsy to do a visual styling/polish pass on the whole game especially when looking at other extremely cool UI that games have done recently (citizen sleeper, in other waters, heaven will be mine)

#

Looking forward to when it doesn't feel like an App

#

I guess we'll see how far we get on that front with this much bitten off to chew

final mesa
#

Those are excellent references to be fair. Great inspiration.

sharp smelt
#

citizen sleeper mentioned

fathom holly
#

...woah that last one's a game I haven't seen before.

grand notch
#

It's a VN, so it usually doesn't look like that. That's the "who controls what" screen.

fathom holly
#

yeah i eventually figured that one out 3Dlul

alpine sorrel
sand goblet
#

writing my next visual novel entirely within lancer tactics 🤔

crimson merlin
#

That chat gif I think needs something else to make it more readable who's talking. Like the non-speaker(s) darken a bit or lower a bit or something? I guess it's not done because the name above the chat box doesn't change

alpine sorrel
#

oh 100%. I want to do a lot on that screen: resize the bubble to fit what's being said, center it more on who's talking, have the speaker to a little bounce, etc

crimson merlin
#

On top of it, as usual. ❤️

lone cliff
#

@alpine sorrel will the chat engine support different expressions and such? or other people reacting to others' texts similar to how you can do it in crosscode

alpine sorrel
#

No, changing facial expressions is not currently in scope. We could probably make it happen since it's got the machinery for regenerating the portrait somewhere in there but it'd be a somewhat expensive swing.

#

How does crosscode do it? I haven't played

#

Like I think we'd have to for every mouth and eyebrow make the full set of possible various expressions to animate.

lone cliff
# alpine sorrel How does crosscode do it? I haven't played

oh yeah its bespoke sprites/animations for crosscode, but they put a lot of focus on the main character's expressions because she has a diegetically limited vocabulary. I was more thinking like, something like having a character do a monologue and more character appear to the side as the monologue continues on, or vice versa with characters disappearing

#

would more than 2 characters also be possible? id feel at least having 4 given the screen space would be good

#

itd help with having multiple characters in a scene talking

lone cliff
#

also typical VN text effects like wiggly text, highlighting different words with different colors i assume is in the pipeline

lone cliff
#

imo it helps make it a bit more dynamic

final mesa
#

Lancer Tactics Dating Sim, if you crush the OpFor stylishly enough your crush might give you a smooch.

crimson merlin
#

You're the bonus objective of my heart

unborn glen
#

Lancer X

tepid temple
#

Lancer Dating Sim. It takes place in a highschool. One of the classes is NHP Ethics and it lowers your relationship values with every NHP classmate.

unborn glen
#

Or well lancer tactics x to counter scoop the sequel name

tepid temple
#

Unfortunately Sisyphus' values reset every day anyways

unborn glen
#

I'm trying to think what all the mechs personalities would be in a dating sim besides barbarosa being like sakura from danganronpa 1

#

Or nekomaru

crimson merlin
#

I am equally horrified and delighted that so many people defaulted to the dating sim being dating the mechs/NHPs instead of their pilots

unborn glen
#

Well there's be dating sims on actual bird png & eldritch horrors so...

little jetty
alpine sorrel
#

Part of the dialogue editor allows giving them stage directions to move around, or stack up left/right/far left/far right by default

#

I like the idea of adding anime emotes! I'll add that to the list, it's a good cheap solution

little jetty
#

ooh like lil smiley in a bubble type stuff?

lethal leaf
#

And Xiaoli is basically a Zheng anyway.

sand goblet
#

oh, here's a relevant question for the conversation/VN aspect: does this have the facility to handle things like pilot skill checks?

alpine sorrel
#

Not yet bc we're not quite sure how we want to do it. I don't want to go down to the level of skill triggers because a computer isn't flexible enough for them. So the two options I see are flat % rolls and condition-gated options (eg FTL)

#

Flat % rolls I don't think would be very interesting imo?

#

At best you're like aww that didn't work through no fault of my own and at worst it encourages save scumming

#

It could get a little better if you get accuracy from idk certain expendable reserves or conditions... but that'd be a lot of work, so I think I'm unlikely to do that for a while

uneven mortar
#

presumably pilot combat isn't a big focus for the project?

alpine sorrel
#

Correct

uneven mortar
#

thank god

#

bless tom's heart, this shit is not good in core lmao

worn tiger
#

Tbf it's not intended to be

alpine sorrel
#

He made a good call in removing so much of the pilot equipment that had mechanical effects to reduce the focus on pilot scale stuff

#

But even if he hadn't, I don't want this to become a robots-stepping-on-humans simulator

uneven mortar
#

the point of the mechs is so you don't have to fight in your little squishy body anyway, so it defeats the point of the game

alpine sorrel
#

But that presents the problem: which character does it check? You're running 1 to 4. This is kinda a wider problem of not necessarily having a single player avatar, unless we wanted to default that to the first pilot in the lineup or something.

sand goblet
#

that makes a lot of sense. I think BG3 has the advantage of having a "pov character" (i.e. whichever character starts a conversation) to handle this stuff but you don't really have access to that in the same way here so it makes sense that it wouldn't translate well

tepid temple
alpine sorrel
#

Yeah. Ime the value of triggers is flavorfully coloring your approach to a problem because it's almost always possible to describe how you're using one of your triggers for the problem at hand to get that +4/+6.

#

Without that in-person flavor, that's just a flat % with extra steps

#

Bg3 doesn't have this problem obviously bc the problems have specific keys associated with them (animal handling, etc)

little jetty
#

leveling skill triggers of all four party members is probably pretty tedious whenever you level up
I think having each character have one or two specialty skills that unlock certain dialog options is probably a simple enough answer? Maybe Granny is good at Assault, and when you tier up, you can choose between Take Control or Show Off which unlocks different options
but also other party members can get those skills too so it's not all unique

#

but also also: scope creep? I think narrative side can snowball pretty quickly

alpine sorrel
#

That's pretty similar to the background thing yeah?

little jetty
#

right, my thought was mainly that each character gets very few options but they can overlap with other characters

quiet leaf
#

something like "[John Custom Character: NHP Specialist] Let me look at the casket"

#

or "[John Custom Character: NHP Specialist] Have John look at the casket"

flint portal
#

What about a party wide "skill set"

#

?

#

Like if you take NHP specialist, for example, you don't do it for your individual characters but just as a sort of like, domain your group is good at

#

or something

#

More to represent something the group as a whole is good at than anything else

quiet leaf
#

thats what i'm trying to get at, checking all 4 characters for backgrounds

flint portal
#

Nah I mean the opposite, not individual characters with backgrounds

#

but the group

#

as in, only the group functionally has a background

quiet leaf
#

might make more sense to frame it as skill triggers, rather than backgrounds, but i jive with having what basically is a party sheet

tepid temple
#

I had my own idea for implementing skill triggers but my instinct was that it would be too hard to implement

alpine sorrel
#

I'll likely end up presenting the writers with a few options and see what they think would be most useful.

digital maple
#

My sense is that making rolls starts getting interesting when there's 2 or more alternatives. Like:

Move at speed (80% chance of a bonus, 20% chance you fail) ```
#

It kind of addresses the 'feels bad to fail randomly' issue by ensuring it's the player's initiative to take those chances, and allows for a bit of flavour if there's different bonuses or effects the player gets to choose between pursuing. Doesn't address save-scumming, though...

digital maple
#

I guess I'll second Suji's thought that scope creep is likely the most important consideration. Interested to see what the writers go for!

wet ember
#

i am

#

late to this

stoic bloom
alpine sorrel
#

Got stuck hyperfocusing on making a taxonomic tree of dialogue UI layouts this weekend. May end up not doing the visual novel style after all, there's a few other options that might better fit the assets we have.

#

Specifically we have front-facing faces, which usually only show up in the VN 4-slot style when the game is such that the characters are directly addressing and looking at the player, e.g. dating sims.

#

Having them talk to each other in that perspective is less natural

#

Gonna play around with some Tales of Symphonia / heaven will be mine "portrait frame" styles which don't pretend we're seeing them all from the same perspective.

tepid temple
#

This is a fascinating and extensive taxonomy

toxic badge
#

(dialogue wheels baybeee)

final mesa
#

I hope this means we get cool cockpit portraits sometimes too.

mild jay
#

Tales of symphonia isn’t something I would’ve thought of as a reference but this break down makes it make sense. Tangentially, I also have strong nostalgia factor for it which was not spoiled by replaying it last year

tired aurora
#

it is criminal to not have Armored Core next to Acecombat up there XD

final mesa
crimson merlin
#

There is one. Click the image then view original

final mesa
#

Oh, that is helpful, thank you.

rapid seal
#

TALES OF SYMPHONIA MENTIONED??

#

Anyway, while some games use mini portraits to skimp on cutscene budget, they can be very neat if done well

#

Bonus points if you animate the little boxes sometimes

#

[i.e. moving up and down when excited, flinging another portrait across the screen if one character punches another, etc.]

grizzled tendon
alpine sorrel
#

If you click it and say "open in browser" or "open original" it should get big enough to read easily

golden rover
lone cliff
#

oh yeah various effects like a communication window or hologram filter n stuff would be good

rain cipher
#

Hmm yeah if the character builder means you can only see the characters as front-on portraits that don't change expression, having them be more representative of who's speaking like a combo of an ID card portrait and Discord icon in voice chat sounds like it would make sense.

alpine sorrel
#

Exactly

alpine sorrel
#

Mech recoloring!

tepid temple
#

Oooooooooo

stoic bloom
#

finally, trans colour goblin

flint portal
#

Will we have presets for it?

#

Like "corebook color scheme" and whatnot

little jetty
fickle pecan
#

Wooo!!!

teal flame
alpine sorrel
final mesa
#

Oh hell yeah, now we can craft the most obnoxious, eyesore mech colour schemes possible.

worn tiger
little jetty
mild jay
#

Oh god yes, great feature. Would custom colors (as in, choose rgb or hsv values) be on the table or is that a not feasible from how it works? (I did notice the gradients that seem to be associated with the current options, which seems significant)

alpine sorrel
#

Yes exactly — the technical blocker for fully customizable RGB values is how to generate the 7-value gradient ramp, which we're currently hand-crafting for each option. Adding an option for custom automatically-generated palettes would be a bit more technically complicated so I'll probably only push for that if this ends up feeling too restrictive.

alpine sorrel
#

can now set and save entire color schemes rather than always it one color at a time

uneven mortar
#

woaghe......

#

peak....

cinder island
#

this looks great

lone cliff
#

nice!

alpine sorrel
#

I'm gonna get in-depth with this next update, but I continued having a crisis of faith about the visual novel mode. So Carpenter and I threw it all out and have remade it into a more free-form Tales of Symphonia/Gravity Rush/The World Ends With You-esque comic panel format.

tepid temple
#

Big ups to TWEWY, I think it’s looking great here

little jetty
#

that looks great

flint portal
mild jay
#

The way the panels sorta bounce a little when reaching their target location is a nice touch

alpine sorrel
#

tweens are good

agile lagoon
#

Robert Penner open sourcing those equations is like a foundational plinth that no part of modern game or web design could do without.

alpine sorrel
#

oh I don't know that story!

#

neat

rain cipher
#

Yeah, I really like how the dynamics of the box animations substitute for changing expressions or character animations. Smart, and cheap!

final mesa
alpine sorrel
#

I feel like I have two action figures and I'm hitting them against each other

worn tiger
#

i can hear the plastic tonk noises

rugged copper
#

I love it more than words can express

alpine sorrel
#

this became a feature specifically because of the joy in my gf's voice as she was telling me how Tales of Symphonia sometimes did this 😄 I picture it as like having paper cutouts on popsicle sticks and doing a silly puppet show.

lone cliff
#

this is excellent!

alpine sorrel
#

having a lot of fun with this

#

shouting/thinking emotes, hologram makeup, and full-scene "lighting" effects

lethal leaf
#

This has so much character and also meme potential.

final onyx
#

Since Doki Doki I distrust any 2d character sprite that moves

#

But this looks good

lethal leaf
#

Like, I'm already buying it, because it looks fun and I want to see it succeed, but if you include an option to export conversations to GIF and a scenario editor that isn't painfully difficult, I'll buy it twice.

shy spruce
#

get bonked, idiot

lone cliff
#

yeah this is fantastic

#

how do you handle overlapping sprites?

alpine sorrel
#

In what sense?

lone cliff
#

like would someone be able to put 2 talk sprites on top of each other and how would you handle layering in that case?

#

eg. simulating something like someone falling on top of another person and the person below going "get off me!"

alpine sorrel
#

Ah there's a preset number of layout/arrangements of the portraits that you can switch between; you're not manually setting and animating their positions.

#

Which one's on top would be somewhat random since none of the layouts so far have them overlap at rest.

lone cliff
#

Ah k

final mesa
#

The dynamic movement in that second one is great, but the smacking into each other just feels videogames

worthy holly
#

I think it’s fine for the cartoony style of the portraits and the overall aesthetic of the game

#

imo adds some dynamism to the static front facing portraits

grand notch
#

The thing it made me think of is how Arknights does stuff with its portraits in the talky bits, so you can really get the idea of the motion going on.

#

Like the actual sprites/portraits were static images, but you definitely got the "these two are doing Crazy Anime Swordfight Bullshit" feeling, or "it didn't say that she got backhanded hard enough to slam her into a wall and then she slumped down, but you can tell."

#

But on the other hand, those were full body portraits, not just headshots.

stark isle
#

thank you for realising my desire and dream

uneven mortar
#

sicko

#

mode

uneven mortar
#

so when [if at all] do we see these changes in a build?

#

last build being in july and all

feral veldt
#

When it’s done and ready for next build (I think)

toxic badge
# uneven mortar so when [if at all] do we see these changes in a build?

"There's no new preview game build this month because adding this big section of the game means too many things are under construction."
From the most recent Kickstarter post, talking about August.
I have a software engineer's superstition that whenever a customer asks when a great new feature will be ready, it curses the project to be pushed back another release cycle 😆

uneven mortar
#

lmao

#

fair

alpine sorrel
#

aiming to get the next build up by the end of this week

uneven mortar
#

impossible

agile lagoon
#

Best of luck, Olive!

alpine sorrel
#

got basic choice branches working in dialogue

little jetty
#

love seeing that debug mode superspeed

#

so real for that

tepid temple
#

We love the trees

formal pawn
#

I love the portrait ramming. It tells so much with so little.

#

The animation is also really snappy

lone cliff
#

Yeah i love it too

void hornet
tired aurora
#

If there is ever fighting in dialogs like barfight, it would be extremely funny to just have 2 portraits agressively ramming each others XD

alpine sorrel
#

Includes link to the newest build, 0.1.4

tepid temple
#

Shows only the Mac build and not the PC build?

alpine sorrel
#

hm yeah looks like backerkit is having problems with it for some reason. well 19 people got it at least lol

#

ughh

#

ok should be fixed, I juryrigged a new distro rule

tepid temple
#

It's there!

nova nebula
#

Only half way through the email and just wanted to say: hell yeah

tepid temple
#

Gotta say, fighting through the sample combat made me appreciate how useful scan is

alpine sorrel
#

ohh yeah we still gotta figure out how we're gonna do that

grand notch
#

I assume the summary is still "doin' fine 👍"?

final onyx
sacred flint
#

this is so cool

alpine sorrel
#

damn apoc rail has a lot of fiddly rules and effects

frigid shale
#

mmmm yeah, whole big-ass column of rules for "I charge up my laser and shoot"

alpine sorrel
#

I think I'm gonna give it ordnance and automatically end the unit's turn after firing to enforce the "no other actions or movement" thing

#

because protocols are probably fine?

frigid shale
#

hm, probably? Trying to think of Protocols that could affect it:

  • Tlaloc
  • Lucifer
  • Agni...?
tepid temple
#

"Forced movement resets on the mech that can only be forcibly moved by 1 specific NPC" sure is a long walk

frigid shale
#

1 npc or a Ship, I guess

alpine sorrel
#

I assume that's mostly to keep you from stepping on one of your accelerate pads or the like

tepid temple
#

"Ship NPCs are good against the apocalypse rail" is a bit of anti-diegesis I never realized

final onyx
#

I think you gotta make some tweaks to the rules for your own sanities sake

#

All the CRPGs I've played based off tabletop rules have

#

98% of people won't care, 1% will but they would never be happy, the other 1% just wanted to jump on the bandwagon

little jetty
#

I'd like to say I do care but I care about seeing how you make these slight changes to make things easier to develop bc it's cool

#

is creating zones that does certain effects a thing in the game already? For things like lingering burn/soft cover/diff terrain, or Daisy Cutter, or Hive Swarm, etc

pastel flax
#

The best effect withheld from BG3 was Detect Magic and Dispell Magic. I point that out to my friends, and they go "...hm."

#

because most of them never noticed, I certainly didn't.

alpine sorrel
#

...hm

final onyx
#

Dispell magic sure

#

Detect magic, nah

#

Like, you could fold detect magic into Arcane checks basically

#

Ah sorry, I thought this was the BG3 thread 😛

#

I'm getting off topic

alpine sorrel
#

the things I'm having to add to the engine for this:

  • "automatically deal X AP damage to objects and terrain"
  • end-of-combat trigger to restore CP
  • on-targeted-tiles function for specifically weapons in order to add the modify-terrain effects
  • the biggest deal is going to be adding a mechanism that can trigger off of gaining statuses (to reset charge on stunned/jammed). I've been avoiding doing this because I don't want to have to poll every piece of gear on every unit to see if it has an opinion about every status that gets added or removed for the sake of the very few effects in that game that proc like that. I'm not sure what I'm gonna end up doing here.
#

The only three I can think of off the top of my head are this, the Vlad shred, and the scout lock-on shred

little jetty
#

Unicomp CB also has a CP use trigger to restore CP, and that's a chance

glad lotus
tepid temple
#

Do you need the end-of-combat refund trigger, or can you just make it so that the CP is consumed the first time you fire the rail, rather than when you activate it? This would also line up with the errata that unicomp only kicks in when you expend it

#

...I say that, but I can't actually find that errata on the faq even though I swear it was there??

tepid temple
alpine sorrel
# glad lotus For the last point, would it be nicer to have a subscription channel for those g...

This is the idea I'm leaning towards right now... the big drawback of having a lightweight subscription side-channel like this is that it will be outside of the event queueing system (https://wick.itch.io/lancer-tactics/devlog/571282/event-system-aka-how-to-handle-nested-youve-activated-my-trap-card-triggers) so anything that happens due to a status change needs to be immediate & can't be reacted to itself.

#

But Apoc rail/vlad shred/scout shred/calendula shred/WW immobilized resistance all should be fine happening immediately and shouldn't ever need to produce knock-on effects, so maybe it's ok?

#

If anyone can think of any other examples, please lmk

#

oh fun just got an exciting graphical glitch

dusk sandal
feral veldt
#

No thats just Minotuar doing Minotuar things

little jetty
#

this is how it feels to chew 5 gum

shy spruce
#

oh god

worn tiger
final onyx
alpine sorrel
#

tfw no glitch effect I ever put into the game is going to be as cool as this 😔

#

we're probably going to eventually significantly increase the health of ground tiles, but until then we have the ultimate crater-maker here

crimson merlin
#

Boom goes the dynamite

little jetty
#

hell yeah

mild jay
#

Nice!

#

Also anyone else find something oddly entrancing about that visual glitch

crimson merlin
#

*survives the fully charged blast
*dies from fall

cinder island
magic cave
#

or something

alpine sorrel
#

Implementing overkill and it's rough.... overkill on an AOE weapon means that you need to

  1. roll damage up front as normal AOE rules
  2. also roll crit damage up front just in case any of the attacks end up being crits
  3. wait on actually applying overkill heat until all attacks resolve because it can be different depending on if any attacks missed/hit/crit.
    Storing, passing, and modifying that sort of state across a lot of otherwise independent events is a pain.
pastel flax
#

So it's 4 possible states?

#

Normal, Crit, Normal W/ Overkill, Crit W/ Overkill

#

or am i misunderstanding lancer rules

tidal tulip
#

per target

alpine sorrel
#

miss, miss (reliable), and maximized (from Brutal) as well

tidal tulip
#

overkill is for everyone but crit is per target yea

pastel flax
#

guh

#

So 7 states, not all applicable...

#

I'm not going to mutter about code out loud, but sounds like a nightmare to make sure the correct replacements are firing

alpine sorrel
#

all the rolls are also split up by damage type, for extra fun

crimson merlin
#

So simple in theory. Complex in practice

alpine sorrel
#

Not too simple theory either imo, I'm just kind of venting/thinking out loud here sorry lol

tepid temple
#

A healthy part of the programming process, I'm sure

alpine sorrel
#

ugh I just rediscovered that there's also bonus damage specific to individual attacks e.g. NucCav II or MC's hunter trait. So those overkill heat counters need to be kept apart & resolved separately from the rest of the attacks.

#

I'm sure it's worth it though to support the ubiquitous engineer overkill melee weapon Mourning Cloak burst 1 attacks

tepid temple
#

Is the critical bonus damage from Sekhmet another wrinkle or no?

glad lotus
mild jay
#

Sometimes, working on game code makes me think of that "me reaping/ me sowing" meme, but both of them start "me coding:"

#

I can imagine making a tactical game based on a tabletop game - which are typically free from the fetters of code considerations - feels similar

alpine sorrel
#

(testing general not-attack-specific bonus damage, that is)

#

Can anyone think of any abilities, core or not, that trigger whenever you overcharge? Is Armory Sculpted Chassis the only one?

frigid shale
#

that's the only one I can think of atm

alpine sorrel
#

I am only now realizing that I don't think I actually have the NPC data for wallflower, lol. I'll go grab that

alpine sorrel
#

I'm handling that one by giving them a different overcharge track from the get-go, so there's no trigger needed.

#

I think I figured out how to handle the triggers without adding a whole overcharge-react category; I've tied it into the normal "damage reaction" pipeline and it just checks whether the heat came from an overcharge action.

tepid temple
#

Would the Kidd's Smokestack interfere with that or would "0" heat gain (assuming the reduction happens before that check) still ping?

alpine sorrel
#

It'd still ping, 0-damage damage events go through like normal because I'm prepared for Autocooler. Good question though.

cinder island
#

i just wanna say as a mostly noncoding person i love hearing the shop talk and am very impressed by what sounds like quite a lot of fiddly little variables

lone cliff
lone cliff
alpine sorrel
#

I should probably lower my threshold for not sticking to RAW in general. I know everyone would understand if we deviate, but I don't have a good rule of thumb for when we'd want to do so besides clearcut technical or format limitations like 3D flying or brace triggers.

#

The apoc rail was finicky but technically possible so my impulse was to just do it. I'd have been open to reworking it but that opens a can of design worms I don't feel like we're really set up to tackle.

void hornet
#

Could give one of the homebrew creators a poke if something really isn't working out, figure out how to redo something in a way that preserves the spirit, still feels good, and works in game

alpine sorrel
#

🤔 that's a good thought! I'll keep it in mind next time something like this comes up.

tepid temple
#

It does seem like homebrew would get you scopecreeped into more extensive balance testing

uneven mortar
#

it's still a good opportunity to give love to certain mechanics or frames that need help in certain areas

#

Barbie's core active, Napoleon, etc

void hornet
#

honestly my suggestion would be to keep it entirely to things that cant really be added without modification to the core rulebook game

#

Otherwise you do scopecreep into balance and starting to "fix" other things

sand goblet
#

If you want my two cents, there are a lot of folks who believe certain parts of the game need "fixing" or "love" and would like to see you address their pet peeves or include their pet homebrew changes, and not all of those people should actually be listened to (before anyone decides to take this personally, this includes me). I want to echo mlister's point above about how much testing any given change would require, especially given the deep interconnectedness of the game's systems - which is something I'm sure you're more than well aware of by this point but bears repeating.

void hornet
#

Ultimately I trust Olive to make the right choice for her game.

burnt frigate
#

another good reason to avoid this is because it's a good way to end up as a lightning rod for elements of the angry pedantic nerd community who will look at this and go "see, Olive Lancertactics thinks this is bad and busted too!" which is also something that, were I in their shoes, I would be trying very hard to avoid whenever possible

alpine sorrel
#

Good notes, thanks all.

#

One of the biggest strengths we have on this project compared to most gamedev is that Lancer has been essentially paper prototyped to hell and back already and we need to do almost no actual game design. I'd be a fool to discard that without careful consideration.

ripe radish
#

Do whatever saves time and effort. If something truly can not be implemented 100% rules accurate, don't spend 20 hours of your time forcing it to work, spend 5 hours of your time and a few weeks of out time playtesting to make something close.

little jetty
#

keep making those medium-specific changes though, as needed

alpine sorrel
#

also I'm already wincing each time I see someone cite the original demo for thinking that your turret drones can proc off of your own attacks. this thing is going to exist in conversation with the ttrpg and I want them to be good neighbors.

void hornet
little jetty
#

who knows what other misinterpretations of the rule that you never realized were misinterpretations
it's like Mandela effect sometimes

alpine sorrel
#

that one was more of a lack of ability of its engine to have different units pull from the same action economy pool (that whole demo was really made of duct tape and hope), but I've run into other instances of learning new rules while making this like being able to move while prone or grunts taking no damage on successful saves

alpine sorrel
#

got combat drill working! a crit here with 3 overkills for 30 damage was too much for even hunker down

little jetty
#

hell yeah granny

crimson merlin
#

excite

little jetty
#

also noticed the sequence was Ram>Overcharge>Barrage, that's just how you're doing action economy in lancer tactics, right?

#

I feel like it was mentioned in one of the dev logs a while back

crimson merlin
#

What do you mean?

little jetty
#

like granny spend a Quick Action (QA) on ram, overcharged to get a new QA, combine that QA and the remaining QA to get a Full Action
which isn't how it works in base lancer, you'd have to commit to overcharge from the start if you wanna try and ram

crimson merlin
#

Ah. I'd wondered about that. But I wasn't going to even try to bust my player's butts over it - because it's so easy to forget to announce up front - until I forgot about it XD

#

I think it's the right move to just call it action points

worldly violet
#

It's kinda like fussing about what players have in their hands in 5e dnd, it's generally just not worth it

alpine sorrel
#

yeah exactly. in every game I've played, the GM has been chill about letting us reorder stuff so it'd work, so it hasn't felt worth it to enforce and communicate the idea of quick vs full actions.

#

I know there's gonna be knock-on effects from changing something so low-level that we're gonna have to resolve

#

but so far it's felt fine?

#

The biggest thing I think we'll have to patch is making it so you can't move between skirmishes

little jetty
#

I think you might be able to use two full actions unless that's specifically disallowed

mild jay
#

You’d need four quick actions to use two full actions

#

Overcharge gets you up to three but I can’t recall any way to get more than that

little jetty
#

Everest can get there at LL0

mild jay
#

Ohh right the once per combat free action

#

And I’m always reminding my players they have that Notlikeshade

quiet leaf
#

a limit of one full action per turn might leave the game pretty close to how it's usually played

smoky glacier
#

unfortunately, ASURA Protocol exists,

#

(take two extra quick actions or an extra full action)

cinder island
#

granny looks so f*ckin good, hype for the new character portraits
the "pouring" effect of the range indicator also looks really good on the multilayer terrain

quiet leaf
smoky glacier
#

yep! it's an addressable problem.

shell mulch
#

Is this still up?

rugged copper
#

still...up?

#

it's still being worked on, and the site with progress is still available

#

if that's what you mean

tepid temple
#

Well the kickstarter page has the progress. The demo's page on Itch is basically in the cambrian era for the project's development.

glad lotus
#

You can still back the project via backerkit, as well

final onyx
#

Scroll up and you can see an update 3 days ago

grand notch
#

The most super bare bones thing is "everything is chugging along, work is on schedule and fine."

#

The updates are usually "here's this cool thing we figured out how to do," or "implementing this rule was a giant pain but we cracked that nut."

alpine sorrel
#

Speaking of, gonna talk something out here: I often think back to the closing livestream I did for the crowdfunding campaign were we went through the core book and talked about what we thought would be difficult to implement or not. I would not have marked Jager as particularly more tricky than any of the other WA options, but it's stumping me.

The fact that I have to be able to modify ANY main weapon to run some code for that weapon after all attacks have been resolved is really tricky. I think I'm going to have to add a rider to the attack that invisibly marks each target as they're hit and then have an external reaction that runs after (any) attack is completed and checks for if any of its targets have been marked. And then clean up those marks if any are left over, I guess. It's gonna be messy 😫

At least for Shock I can have that external reaction run independently of the outcomes of each attack.

#

Other abilities that have this sort of effect are nice and contained within the context of them activating at that time. Modifying a weapon to have this sort of effect run later is the real killer here.

alpine sorrel
#

I think this will leave an edge case where if someone hits some targets with a jager and then dies due to other reactions after the attacks before they can choose a jager target, if ANOTHER player also attacks those targets before they take a turn, they'll be able to choose to try and knock them prone whether or not they hit. I can live with that. 😌

little jetty
#

jager remembers

alpine sorrel
#

This was a good week for content. I finished the mechanics for (so they work, just don't have graphical effects) all of:

  • CBs: superior by design, integrated ammo feeds, heatfall, full subjectivity sync, neurolink
  • Combat drill
  • The entire Toku frame, traits, and all licensed gear
  • Talents: Ace 1-2, Brutal 2, Combined arms 1-2, Drone commander 1-2, Executioner 1-2, Gunslinger 2, Stormbringer 1, Vanguard 2-3, Tactician 1-3, Brawler 1, Walking Armory 2.
#

Getting closer to the point where I think we'll have enough content implemented that it'll be worth it to try and set up a Compcon pilot importer 👀

sharp smelt
#

Goodness

uneven mortar
#

its so peak

glad lotus
#

Sounds like you're on fire, Olive!

alpine sorrel
#

I'm definitely starting with the lower hanging fruit implementation-wise, so it's not always gonna be that fast

crimson merlin
#

Hopefully that builds up the tools at the same time for the more difficult fruits 😉

alpine sorrel
#

Great article for how Magic Arena deals with the same sort of "there are ten thousand unique rules that can modify normal game flow" situation that Lancer has. Would've been good to have read this two years ago lol https://magic.wizards.com/en/news/mtg-arena/on-whiteboards-naps-and-living-breakthrough

MAGIC: THE GATHERING

How does MTG Arena manage all the rules and complexities of Magic? Alex Werner uses the card Living Breakthrough to explain how the systems work.

little jetty
#

that was a wild ride, thank you for sharing

#

the Game Rules Parser (GRP). This program (written in Python) takes raw English rules text of Magic cards and converts them into one or more CLIPS rules.
It's hard to believe that they have codes to read the rules text and turn that into code, rather than codes for each card individually. It makes sense though! Just not an approach i would have even considered.

alpine sorrel
#

I also did a double take when I read that! Very cool, and makes sense for a game that has such regimented text templating.

#

The big difference I see between their approach and mine is that where they're more passive and allow CLIPS to shuffle around the shared basic nouns and verbs as they please, LT takes a more active stance where it's like "hey! Does anyone have any opinions about this ability targeting these tiles?" to query for specific sorts of effects.

frigid shale
#

I know Fantasy Grounds Unity manages to interpret DND spells rules text to create predefined effects, so I can only imagine that it’s much easier and robust with parsing MTG cards

alpine sorrel
#

Wow parsing DND spells sounds like a nightmare. Witchdice does it a little by just scanning for phrases like "con save" and "for half" but it's super sketchy

#

I wonder if 5.5e has standardized that text more.

little jetty
#

I feel like mtg was written to be computer readable before that became a consideration

frigid shale
#

But it sees damage values, saves, attacks, and statuses, and populates matching buttons 😄

still needs doctoring up afterwards, usually, but it’s a strong start

#

MTG definitely has a hard advantage though lol

final onyx
#

But it makes sense and captures and automated like 90% of cards that get added

#

And then they spend the dev hours working on the rest

little jetty
#

reading the card explains the card: the engine

frigid shale
#

The card does what it says it does 😌

glad lotus
#

As the guy who wrote the Python parser to generate the initial lancer-data, I'm also surprised MTG goes that way! Though of course MTG is super rigorous with its rules text.

deft rapids
#

Until it isn't,

agile lagoon
#

Thanks for sharing that link Olive. Every time my mind wanders to "how on earth do I forward plan for these kinds of rule snowballs" I kinda default to "make everything scriptable in Lua" which only pushes the problem further down the chain

grand notch
#

I think Magic was a little more loosey-goosey with its text back in the day, but now everything is rigorously standardized to eliminate, or at least minimize, ambiguity.

little jetty
#

even for older texts, they have oracle text that follows today's standards
which is a huge challenge I'm sure

grand notch
#

There's a few old cards thay use what I will call "natural language" that are pretty short, and the Oracle text is a fucking novel. And, of course, cards that jad to squeeze to get it all into the original text box that are just two sentences now, because it relies on most of the stuff it says already being encoded in the rules, or condensed via keywords.

tepid temple
#

I do wonder how comparable Icon will ultimately be to MtG rules text

alpine sorrel
#

Invigorate! I wasn't expecting it, but setting this up actually gave me a better mechanism to do the vlad's Impact Lance as well since it's also a "line but not the full length" AOE pattern.

uneven mortar
#

its peam

alpine sorrel
#

Can anyone think of an exploit if ghostweave only checks at the end of turns for losing invisibility instead of immediately being lost on using a reaction? So it would read something like this instead:

During your turn, you are INVISIBLE. If you take no actions on your turn other than your standard move, HIDE, and BOOST, you remain INVISIBLE until the start of your next turn. If you take a reaction, you lose INVISIBLE at the end of that turn.

#

I've gotten away so far with not having a mechanism that monitors and can react to any ability activation, and it'd be nice if I could keep it that way.

rugged copper
#

it definitely makes it a bit stronger, since you can respond to the first quick of an enemy and still keep invis if they have an invade or skirmish as their second

#

but i don't think that's an issue

#

it's a rather minimal upgrade

#

not really an exploit

tepid temple
little jetty
tepid temple
#

*if hit by an AoE attack

digital maple
#

And this would have an interesting interaction between Infiltrator III and Mimic Mesh.

alpine sorrel
#

behold the mighty placeholder minotaur art & functional pred/prey concepts

glad lotus
#

It's a horse!

#

Not quite the kind of horse I was expecting. 😆

uneven mortar
#

Quadruped
Featherless
This is a dog, clearly

fickle pecan
#

honse...

mild jay
#

Behold, dog! Praise the dog!

sharp smelt
#

A horse a horse of course of course

little jetty
#

what is a horse if not a big dog

cinder island
#

ngl i seriously burst out laughing seeing the minotaur art i was expecting like a blank everest outline or a Minotaur placeholder text, but seeing pink sawhorse just threw me. there's no way some pilot doesn't have that as their actual minotaur. it looks like it's just having a little problem with the infinite labyrinth is all. it looks like a minotaur tried to disguise itself to get through a construction site and got stuck looking that way like the TARDIS. it looks like it[...]

crimson merlin
#

Sawhorse is fine for a mech because the pilot sits in an internal metafold 😛

worn tiger
#

ay dawg why is your mech built like carpentry equipment

frigid ocean
#

ive only played the demo

#

:D

near radish
#

The response from the Minotaur pilot in my game:
"Perfect. Ship it, no notes"

alpine sorrel
#

Polling the room for something that probably will never come up: there's a sunzi within the area of a hostile interdiction field (somehow). Should characters allied to the sunzi be able to teleport into the field?

quiet meteor
#

I feel like the intent of Interdiction Field is to specifically shut down stuff like Sunzi's nonsense. Also, if there's a frame that can handle a reduction in power, no matter how niche, it's Sunzi lol.

frigid shale
#

I would be surprised if the intent behind Sunzi’s Safe Harbor was “Omnigun but for Teleportation instead of damaging targets”

alpine sorrel
#

gr8 thx. the word "always" was my only hesitation.

frigid shale
#

Yeah no it made me hesitate too

#

FWIW I’d run it past #rules-questions regarding RAW and RAI, but that’s how I’d rule it as GM, at least

alpine sorrel
#

Are there other teleport spaces valid / banned effects besides those two? I feel like there are but I can't put my finger on them.

#

I guess other things in the sunzi kit

quiet meteor
#

Blink Anchor is a reaction that isn't a reaction

#

So I don't think that counts because it's the Sunzi forcing someone there

sand goblet
#

(this has another Sunzi interaction, with Realspace Breach)

tepid temple
alpine sorrel
#

I think those are both fine without this sort of thing because they're discrete effects that can do that kind of filtering on their own time. The trickier thing I'm dealing with is handling effects that modify other effects' valid target tiles.

low gust
tepid temple
#

Hmm… How about the Sunzi that’s on the other side of a Blinkshield?

low gust
#

It’s a super interesting question in general, if only because teleportation and interdiction are pure hypothetical things.

Does a teleport just fling something from A to B like a projectile shot from a gun? Does it need a stable entrance- and exit-aperture? Does the teleporting path still go through the area in-between (just ‘out of phase’ and really fast/instantly)? Or is the range simply a function of the radius of bent spacetime, where the beginning and start are the only things that matter and everything else gets bypassed?

#

Do different manufacturers use different methods to achieve a comparable outcome that all gets labeled as teleportation?

#

it’s ultimately technobabble, and you should always do what’s most interesting for the game you are playing, but feeling like these mechanics adhere to some deeper principles can really elevate the immersion

tidal tulip
#

the book mentions that you could teleport to an area you dont have vision of, mainly because tp's fail if you try to teleport to a space already occupied

tepid temple
#

You know, that clause doesn't really make sense, because you as the player can always see the board and should know whether or not a space is occupied

low gust
tepid temple
#

Hidden enemies are always visible, you just can't directly target them.

low gust
#

Uh, no?

HIDDEN characters can’t be targeted by hostile attacks or actions, don’t cause engagement, and enemies only know their approximate location.

  • Page 77 core rulebook
#

If you play things differently, that's fine, but RAW it's pretty clear that you wouldn't know for sure they aren't in the square you are teleporting to

tepid temple
low gust
#

Ok, thanks for sharing that. Is there a reason why this hasn't been updated in the most recent PDF?

tepid temple
#

Tom want's parity between the printed book and the PDF so that it doesn't feel like the book is outdated

low gust
#

Huh. Strange call - the end result being that both are dated, and I now need to double check everything in there against the RAI list. Thanks again for sharing that - this is news to me.

cinder island
#

i always interpreted this as being their approximate location within the hex itself

#

sorta like how in D&D a character technically inhabits a 5-ft square but is expected to be moving around inside that square, dodging and rifling through their backpack and stuff

#

so just like you might know that an enemy fighter is somewhere in a five-foot-square space but it's not likely you'll be able to just swing into that space and connect with his head, if my Swallowtail is Hidden in its hex and the enemy targets it with non-Blast damage, it has a decent chance of missing my mech entirely

alpine sorrel
#

today's todo list

alpine sorrel
#

I guess you just can't use the Drake CP while intangible since it requires deploying barriers?

pastel flax
#

i always thought you were deploying that from you

#

but i assume so

tepid temple
#

I always thought those barriers were an extension of you? Though reading over the RAW that’s not actually the case

alpine sorrel
#

at the risk of turning this into a code kvetch channel: man intangible was tricky but hidden is worse 😫 here are just the tests for it: hide_behind_cover_size_half, hide_behind_cover_size_one, hide_in_soft_cover_size_one, hide_in_soft_cover_size_two_insufficient, hide_in_soft_cover_size_two_sufficient, hide_from_guardian, hide_with_cover_buff, hide_while_invisible, lose_hidden_after_boost, lose_hidden_after_attack, lose_hidden_after_lock_on, keep_hidden_from_saveless_damage, lose_hidden_from_forcing_save_directly, lose_hidden_from_forcing_save_indirectly, hidden_target_cannot_be_attacked_directly, hidden_target_can_be_attacked_with_aoe

gaunt plume
#

Oh... That's a lot of lines... I can't imagine how long it takes to actually go through them all to verify they work properly saintstare

frigid shale
#

One helluva test suite

alpine sorrel
#

writing tests remains the biggest thing keeping me sane during this

#

though carpenter makes fun of me for sometimes implementing things and checking them off as done without actually ever checking them ingame

pastel flax
#

I never learned how to test properly

uneven mortar
#

this is certainly the lances of all time

void hornet
#

Good on you for writing out proper tests

#

Although this has given me the most cursed idea, that someone in silicon valley is probably already doing
You write out tests for what you wanna do, and then have chatgpt generate code until 100% of tests pass

tidal tulip
#

extremely cursed

#

playing yahtzee with software development

alpine sorrel
#

I feel like I'm more often seen people doing the reverse, scarily, since a lotta devs don't like writing them (which I understand given some frameworks... I've never had a good time writing a javascript test)

#

"write me a test for this code"

grizzled tendon
void hornet
little jetty
#

"write me a test for this pseudocode"
"ok now write me the code for this test"
Project Manager mode activated

long pebble
#

It feels illegal

#

But works surprisingly well

agile lagoon
#

I'm a fan of test based development where you're writing your tests first and then your code to match. Doing the reverse kinda feels like grading your own homework

#

"Yeah sure my own code passes my own tests"

little jetty
#

I can't seem to get used to test driven development bc I feel like when I code, I just start writing and see what happens
...which is, to be clear, a bad practice that I should really grow out of

agile lagoon
#

It is a perfectly fine way to develop if you need to get something built now

#

the best solution to a problem is the one that runs, and for all my philosophical software design pattern knowledge and best practice development standards... I get very little actually coded. 😄

#

(outside of my day job anyway. Last thing I did that wasn't day job coding was a stream overlay for running Lancer and there is no way that code is being seen by anyone but me it is terrible)

tidal tulip
#

i've always wondered how test driven development works in statically typed languages cuz you need 3 types: input, output, and the function.

agile lagoon
#

Generally with interfaces so you can have mock objects. Abstracting out everything you're not testing

cold timber
alpine sorrel
#

We're getting so close to having the PC mech mechanics done for the bones release. It's so motivating to see this green bar fill up. Remaining tough things:

  • thrown weapons being unavailable until you go pick them back up from somewhere on the map
  • iron out EVA underwater flying height
  • brace
  • straight-line movement (for ramjet; I'm thinking we're going to ignore this for normal flight)
  • scan & hidden stat information
  • disambiguating targeting a tile with two units on it (goblin CP, mule harness)
#

(This is counting talent ranks/unlocked licensed gear/mech traits/core bonuses. Most of the "future" category is core book talent ranks; there's a lot more future mech licenses to do that aren't included here)

#

it's pulling from a big sheet that carpenter put together with all that stuff on it

little jetty
#

Internet Service Provider-Northstar

#

love your sheet setup!

tepid temple
#

Wait, does that mean that individual systems are getting spritework?

alpine sorrel
#

that's for just the action bar icons.

#

we need to eventually add a third column for on-map graphical effects

#

right now most things just sort of happen & are printed to the log or use the default tech/weapon attack effect

#

I want to bring on a technical artist to fill those out with particle effects and sprites

sharp smelt
#

The comic sans has me rolling inexplicably

rain cipher
alpine sorrel
#

The guardian test checks to make sure that guardian cover is not sufficient to hide, and the size half one checks to make sure size half units can hide behind size 1 cover

#

Since there's not a good way to judge how big a piece of terrain is when it's a bunch of voxels, larger units depend on purely breaking LOS.

torn kite
#

Oooh this is great progress

fast heron
alpine sorrel
#

Lancer rules brain teaser! How can gaining a condition make your mech take damage? No special gear or traits, just a combination of basic condition rules.
Answer: ||getting immobilized while flying high enough to take fall damage||

#

Anyway this situation has forced me to sink the last two days to finally refactor how statuses and conditions work so they interact with the event tree.

#

So now the basic "gain a condition" function can queue up a damage event.

little jetty
#

And it's one of these, right?

alpine sorrel
#

Yep!

#

Though the mech it's applied to is in a certain state/position

little jetty
#

I think losing intangible (flying kinda, if you treat it as status) and getting into dangerous terrain can cause damage, but that doesn't seem to be the answer to this

alpine sorrel
#

Oh that's actually a good one too. I didn't think of that.

little jetty
#

Is it ||immobilized while flying?|| I feel like it's not supposed to work that way, but I can't think of anything else. Gonna check answer

#

oh it does work that way

tidal tulip
#

||getting immobilized while flying and falling into dangerous terrain|| is a funny visual

little jetty
#

||Jump grappling a flying enemy and taking them to the ground for fall damage||
||Grappled+Immobilized+Engaged+Dangerous Terrain+Fall Damage+L+Ratio||

fast heron
#

is there "crush damage" in lancer? Like if say a barbarossa suddenly lost flight and fell on a smaller unit?

little jetty
#

I think whoever tries to move into an invalid space gets moved to a nearest valid space, but that's kinda speaking generally and not specifically

cold timber
# alpine sorrel So now the basic "gain a condition" function can queue up a damage event.

I'm surprised you have the condition cueing the event. ||Wouldn't fall damage be a regular consequence of having altitude and no flight? Mechs that get put over a ledge by involuntary movement would have this, and the falling mechanic should look for active flight systems. If it knows to ignore those systems when the mech is suffering the immobilized condition, then the fall damage is automatic.||

little jetty
alpine sorrel
#

The event tree is how ||fall damage|| gets to be automatic. It needs to be added to the right place in the tree, so I can't have like an external system scanning for the right situation because it wouldn't know where to put in the tree.

#

So it's easiest to run that ||"hey, do we have altitude and no flight?"|| right after we ||lose flight||.

cold timber
#

ahh, interesting

alpine sorrel
#

That same check is run during movement I misremembered: ||the check also is run at end-of-turn when we can lose it from not having moved. During movement, it just looks to see if you too too large a step downwards since flight's not really involved there.||

cold timber
#

I was gonna say, ||running it during movement would kick in that effect slightly too early and have some weird snap-to-ground effect when running off a cliff.||

#

okay, that makes sense, especially after I re-read the rules and paid more attention to what happens when that condition (or the other one) are gained.

fast heron
#

is there a specific reason for the censored text just so I know if I should be using it?

alpine sorrel
#

I think the thought was to not spoil the initiating brain teaser

fast heron
#

ahhhh, gotcha

fast heron
#

was just messing around with quick action and realized how well the death's head and goblin synergize on holdout. Also, I think this game is going to be crazy good for playtesting encounters with the editor+ quick action

ashen kindle
#

Oh god

#

I'm trying to think of how many things can trigger off one thing

#

If you've been hit by a witches chain, whilst you're 3 tiles in the air. Then you get overwatched by a lurker which gets a crit, pulling you adjacent and grappling you. You brace whilst you have access to metalmarks better brace system, which because you're flying you become immobilised which causes you to drop into dangerous terrain which also causes you to exit range of chain and become jammed afterwards hit the floor, take structure damage, pop exbats, you're no longer immobilised...

#

Wait god damn it, if you become immobilised with metalmarks brace system that causes you to fall. Breaking the grapple because you're no longer adjacent, can you still carry out the move?

#

The more I think about lancer the more respect for Olive grows

tepid temple
tired aurora
#

I elect to have cool chain visualisation effect like in Masterduel (do not listen to this idea, it suck) /j

ashen kindle
#

For every ability that triggers off another ability, a small quiet high pitch ping sound akin to ultrakills parry sound happens and it gets louder for every consecutive affect that triggers

alpine sorrel
alpine sorrel
#

In today's "lancer has a thousand edge cases", I happened to discover that the way I did armor-lock plating allows a mech to brace against the involuntary movement of having started out in an invalid tile.

#

It cancelled the initial move but then the system is like "oh you're still in an invalid tile, time to choose again".

little jetty
#

I don't know what it did so sharing it for reference for people like me

#

this system doesn't change when you can brace, right?

alpine sorrel
#

It does technically (usually you can't take reactions when grappling) but this was a result of an additional trigger I added for knockback since we've also tweaked normal the brace trigger.

#

To reduce prompt spam, you can only normally brace in LT when at least half your health/heat in one go OR when resistance to the attack would prevent you from structuring/stressing.

#

And since neither of those triggers includes, like, ramming, I have armor-lock plating give players an opportunity to also brace when they're grappled or knocked back.

#

one of the reasons I'm trying to stick as close as possible to RAW; changing almost anything has knock-on effects that we'll have to deal with like this case in point

fast heron
#

oh, that reminds me, should you be able to deselect and then reselect another PC if the first didn't move/take an action/activate a protocol?

alpine sorrel
#

unfortunately no, since there's enough things that potentially proc off the start of a unit's turn

#

if we did end up adding that quality of life feature, it'd have to essentially be a quickload

fast heron
#

no worries! Just wanted to make sure it was a feature and not a bug

alpine sorrel
#

I regret to inform folks that due to the way I've coded picking targets and sharing tiles, if you friendly fire your size-1 friend on a mule harness with sharanga missiles, you'll have to pick either the mule or the rider; you can't hit both with the same attack.

#

I think I can live with that.

little jetty
#

only thing i can think of with this is how it would interact with leech, but that's out of scope anyway so it should all be good

alpine sorrel
#

Multi-individual-target attacks with against units who are sharing tiles is just really difficult since it both breaks the 1 unit-1 tile usual convention AND the attack isn't supposed to catch everyone at that tile like the rest of the AOE patterns

#

leech?

little jetty
#

it's an npc that can share tile with another npc iirc

alpine sorrel
#

oh which supplement is that from?

little jetty
#

(I've never actually read that book, wallflower ssmr)

alpine sorrel
#

ah of course

little jetty
#

scoping the project ftw

smoky glacier
#

I thought Leech is from Siren's Song Mountain's Remorse? While Wallflower added the Strider, Avenger, Lurker, and Spite

little jetty
#

oh I'm uhh, youre right

fast heron
flint portal
#

Wait hold on what does that mean for mule and aoe?

#

Oh it’s just for stuff like rainmaker missile pods

#

I see

little jetty
#

oh dang yeah, can rainmaker only hit one target if you're muled

flint portal
#

That and ronins too

#

As well as operators

little jetty
#

operator is multiple single target attacks right

#

i feel like it shouldn't be an issue (but I'm sure other problems will arise with figuring out multiattacks)

alpine sorrel
#

oh hm I didn't think about NPC multiattacks

#

maybe this is more of a problem

flint portal
#

Wouldn’t those work by making them a weird "you skirmish 3 times in a row" or something?

#

There’s less moving parts compared to players since they don’t have talents and all

#

(Or weapon mods)

alpine sorrel
#

yeah I guess that's an option for those since they can target the same unit unlike sharangas

flint portal
#

Yeah

alpine sorrel
#

missile pods might take a hit but I think a rainmaker will be overall still very good against a stacked mule harness

little jetty
#

well NPC targeting doesn't need UI right, does that help at all for this?

alpine sorrel
#

maybe... a lot of ability targeting data is passed around as tiles rather than discrete units for the pro of recording where on a size 2 unit you centered a missile rack, for example. So the abilities expect to be passed tiles, be it from the players or the AI

#

this is also not as much of an issue for size 2 units that are stacked up because I guess you can target multiple tiles in their area

#

so it'll just be an exploit for goblin CP & those size 1 mule harnessers out there

sand goblet
#

based on my experience I would expect the most common situation for this to occur would be Black Thumb (though I'm not sure if that's something you plan to implement, I assume not since it's Long Rim)

sharp smelt
#

leech sounds like a nightmare good LORD

#

SSMR's NPCs are so much more complicated...

teal flame
#

iirc the leech is specifically removed from the battlefield

#

it basically turns into a status effect

little jetty
teal flame
#

i don’t think you can shoot it while it’s hosted

frigid shale
#

Shaka has made that intent clear

teal flame
#

ah

alpine sorrel
#

Are there any abilities besides goblin CP that people can think of that temporarily modify statbocks (things like edef, not HASE)? I'm finding myself needing to implement an entire system where stats are fetched with battle-state-based information folded in instead of purely build-based information. It's not awful to have done but I'm 😑 about how many engine changes I'm having to do for the sake of one CP.

tepid temple
#

Enkidu and White Witch off the top of my head. The Lycan also modifies stats but for the whole rest of scene

alpine sorrel
#

oh right! excellent, thanks. I feel better about this now

tepid temple
#

Oh! I also forgot the Kidd's Forge-2, and the Stim Pump exotic

sand goblet
#

not an ability but potentially still battle-state-based: stunned sets your evasion to a max of 5

tepid temple
#

Would Latch Drone being against Evasion 8 also count?

alpine sorrel
#
  • I have armor set up pull from a "current" value like health and heat does so it's less of an issue when that changes (though now that I think about it, changing base armor like how Lycan does will have to account for changing that current armor value because it wouldn't update automatically)
  • no idea how I'm gonna do latch drone. hm. maybe I'll give it a special "against defense" enum that just rolls against the default. (this is also the function that handles stunned evasion)
glad lotus
#

Ultra's Argus Armor also - white witch in reverse. 😉

frigid ocean
#

hey i have a question, when the game is finished to a point for a public release, will it be free since it was crowd funded?

crimson merlin
#

Crowd funded games almost always are sold normally when completed. And usually for 2-3 times what you could have backed it for

void hornet
pastel flax
#

Oh god my friend sent me that

worn tiger
tepid temple
#

They've said as much before

alpine sorrel
#

Ya Mark and I are doing a lot of unpaid work over the three years of dev with the expectation we'll get backpaid through sales eventually. The KS money is for paying contractors, mostly.

lethal leaf
#

Yeah, I'm definitely going to pay for this, and encourage all my friends to do so as well.

flint portal
#

Oh because it came up somewhere else and its been a while

#

how do you handle invades?

#

Im saying this because its a common misunderstanding that you pick the invade option before you roll

#

when you only are supposed to pick it after hitting someone

#

(its important for stuff like Hacker 1 since you can pick the invade option AFTER they have chosen to be pushed or take more heat)

alpine sorrel
#

Mark and I talked about it and he convinced me to change it to the common misunderstanding version in order to help keep the action bar a comprehensive list of things you can do. The alternative would be to have the invades be a submenu you have to open up, see what you want to do, back out, pick the basic invade, then pick the invade option you had in mind.

#

Hacker I flexibility is a casualty that is unfortunate but acceptable. Do you know of any other places it's important?

ashen kindle
#

Chomolungma scan IG

#

"Ok they're on this much heat so I'm applying system crusher" but like... That's more niche?

flint portal
#

However if we are talking about effects that trigger on hit, there’s the mourning cloak damage trait that applies to people with no adjacent allies that interacts with knockback being on hit

#

These are my two cents but i think hacker 1 isn’t gonna work as it does RAW, it might be worth it to make the decision a coinflip on the npc end or to make it a choice for the player rather than the target, as a big part of what makes hacker 1 good at a table is the ability to pick the invade based on what your target has picked

#

Other stuff is on attack anyway i believe not on hit

#

Walking Armory would have been the closest i can think of for this but it is firmly in the "on attack" category

alpine sorrel
flint portal
#

In my eyes it needs to be somewhat knowable so that you can make use out of it, i think the coinflip my honestly work well enough for it

sand goblet
#

Chomolungma scan would be a little more impactful than just tracking heat levels/caps, since you might change your invasion option based not only on their current stats but also their optional systems (this is a bigger deal for Ultras especially, which have lots of traits that can grant immunity)

Another CRB interaction this could have is with interrupt attacks - for example, Sentinels with the Bodyguard ability or Ronins with Instinct Mode active - where the tech attack can be interrupted by an attack from the NPC (the result of which might cause you to change your mind, or at worst possible case, even cause the system granting you the invasion options to be destroyed before you would be able to select the one you need)

mild jay
#

Chomolungma gets to scan regardless of hit or miss so it could probably just scan everything as the first part of its activation before choosing tech attacks (idk if it’s even being implemented though so this may be a moot point to consider)

sand goblet
#

All told I can't think of anything that would be gamebreaking, just little bits of gameplay tech/optimisation that probably aren't the most impactful or particularly relevant to most players. I think more people would notice the Hacker 1 thing than anything else but at the end of the day the back and forth of that interaction would be a clunky thing to implement on a computer anyway

worldly violet
little jetty
#

this is kinda random but you know how Lancer Tactics abbreviates to LT? Well, so does the rank of Lieutenant, which often gets shortened to LT.
So my question is, can we get a character who gets called LT as like a tongue in cheek thing

tepid temple
#

This character, coincidentally, will be Lesbian and Trans

alpine sorrel
#

Might be a long shot, but does anyone know of any other games where you 1. don't know the maximum health of an opponent and 2. the UI still tracks how much damage you've done to them? I'm implementing scan & hidden stats and am casting about for references for how to do the switch between counting up and the revealed numbers.

shy spruce
#

various super robot wars games have a number of bosses whose health will read as ???????/?????? until you bring them down to a certain damage level, so you're not in the dark the entire time, but.

alpine sorrel
#

Interesting -- looks like it still shows the % health bar though? Just the actual numbers are hidden?

shy spruce
#

yeah, there's a bar to help you decide how much you wanna slog with normal attacks versus blowing resources to hit harder

alpine sorrel
#

oh! and that makes me think of how the original baldur's gate does that too, sorta.

#

maybe something ambiguous like this is better than showing exactly how much damage you've done to them

shy spruce
#

yeee

#

bar's more necessary for meatwalls cause srw numbers get Stupid™️

alpine sorrel
#

how do they do it?

teal flame
#

they just never actually show you a healthbar, you have to know behaviour

tepid temple
#

In Paper Mario, the percentage bar and hp number only show up after you scan an enemy, but you can see how much damage a hit does before then. Here it is in action https://youtu.be/UQL_CefbUnU?t=331

The final battle against Bonetail in Paper Mario: The Thousand Year Door for the Nintendo Switch. Bonetail is the final boss of the Pit of 100 Trials, and arguably the hardest boss in the game. It's therefore very frustrating you can only attempt her once before having to redo the pit.

Paper Mario: The Thousand Year Door Switch - Bonetail Boss ...

▶ Play video
#

(timestamp is 5:38 incase that doesn't show up)

teal flame
#

yeah i think you should be able to see how much damage you do

flint portal
#

Some games change the name color of the enemy when they get under certain levels

#

Other example, I’m currently playing ffx and it tells you the damage you did just not how much an enemy has health wise

#

But there’s spells you can use to see it

alpine sorrel
alpine sorrel
teal flame
alpine sorrel
#

yeah I've always been the obsessive one in my player group that keeps a running count. it's a lot of bookkeeping to do for somewhat useful info lol

tepid temple
tired aurora
#

You can have it as an option to have "reverse healthbar" that keep count of total damage dealt to the enemy instead

#

which will be revealed when you hover alt over it or smth

alpine sorrel
#

Did some design work today, I think it might end up something like this. The on-map, over-unit mini healthbars just don't show up until scanned like in Paper Mario, and the top-of-screen chit inspectors are going to have categories like in BG1.

#

The categories I'm starting with:

100%  Perfect
85%+  Nominal
50%+  Damaged
15%+  Compromised
0%+   Critical
#

"untouched" or "intact" are also contenders for the undamaged category

tepid temple
#

Why's the middle one have a whited-out armor? Shred?

flint portal
#

My vote is on Intact

quiet meteor
#

Untouched > Intact > Perfect order of preference

rugged copper
#

can i suggest Pristine?

#

if not i think i prefer Untouched

tired aurora
#

That approximation bar is a nice place for flavors. Maybe it get more cracked the lower it goes, or it go from pleasant blue light to dangerous blaring red

alpine sorrel
#

i put it on the first bar to see how it'd look interacting with the armor indicator. doing something to the armor icon when shredded is a fun idea though!

#

I just realized "undamaged" could also work for that first category lol

flint portal
#

My only worry with both untouched and intact is that it would still stick around if a mech got hacked or something else (so it is def not intact in the strict sense)

glad lotus
#

Sometimes simple is best. 😄

flint portal
#

Undamaged does avoid that confusion

#

yeah

glad lotus
alpine sorrel
#

thanks! 😁 I'm also looking at giving the active-unit UI a similar stylistic treatment. something like this:

#

I'm very pleased with how the rounded end of the heat bar sort of implies a thermometer

glad lotus
#

The only one that confuses me is burn - that looks like 12 burn, but I find it confusing that it's hiding max hp, and the bar highlight suggests there's only 1 burn. 🤔

worn tiger
toxic badge
#

I feel like the only time I use "intact" or see it used is when something is barely intact, i.e. on the brink of destruction 🤔
(I know that's counter to the dictionary definition, I was confused when I saw it suggested and had to look it up 😄)

alpine sorrel
glad lotus
#

My only other comment is on overshield- I wonder if it would be more intuitive for the pips to be a constant width? Maybe make the width so it can fit 6 OS, and if they have >6 then start shrinking them to fit?

glad lotus
alpine sorrel
#

That's exactly what I had before moving it to take over max HP! It did indeed end up looking discordant.

#

and yep, min max width and then shrinking works great for OS, thanks!

#

I previously got caught up trying to get them to match up to the width of the health pips below, but that can run into problems when you have more OS than max HP

little jetty
#

emperor support o7

tired aurora
#

How about you put burn number on top of the burn icon

alpine sorrel
#

that's what we have currently. it's requires putting an outline on the text to keep the number legible and I wanna not have to do that

#

I tried hard to make this design work with the icon over top of the number like super saiyan hair but it never quite fit

tidal tulip
#

if incoming burn is gonna live in the same bar as HP then you could have a pulsating color instead of a fixed one

alpine sorrel
#

yeah! I had that thought as well. give it some sort of shimmer flamey pulse to really draw attention to the fact that your mech is on fire.

#

and to link the two more clearly

shy spruce
#

what about a bigger, rounder flame on size-par with the shield that has the number as negative space?

crimson merlin
#

On hidden HP: I let players know when something goes under half hp, and if they've left an enemy on 1 or 2 hp - It's quite exciting for players to know they've almost killed something, and avoids frustration of 'wasting' a big weapon on them. I can't remember where I read about that, if it was the Alexandian or Prismatic Wasteland or what

ashen kindle