Home Artists Posts Import Register

Content

A long time ago in my plans for 2020 I wrote a bit about an exoskeleton concept, a mechanic that I'd been considering for even a long while before that. It never actually happened then, nor did it happen later in Beta 11 despite appearing first on the list of other "planned" features for that release.

Clearly neither of those mentions were set in stone--exoskeletons just happened to be not too far off on my "involved features I really want to explore" list, while at the same time also easy to let slip further back as 1) more serious needs took priority and 2) other ideas were more fleshed out by comparison.

#2 there is pretty important because aside from that initial core concept, there was never any clarity on how to implement it on a technical level, and mechanically speaking all the concepts I had for how to merge it into the world of Cogmind didn't really make sense at the time.

Of course exoskeletons as a general concept already exist in Cogmind, referring first to simply multislot leg propulsion, and more recently expanded to include the names of Scrap Engine-generated propulsion constructs. But "exoskeletons" in the original context specifically refers to usable parts that give you additional slots while attached (usually of a different kind).

As a practical design application, I especially like the idea of enabling greater build variety at some early points in the game purely through access to more slots (and therefore more types of attached parts at once). And the first half of the game is honestly where this mechanic mostly belongs anyway, because remember Cogmind can never exceed 26 slots.

Having put it off a few times but always seeing it floating around in the background (not to mention continuing to be the subject of intermittent brainstorming!), of course I really wanted to try to finally fit this into Beta 12... Then while working on a new route through Tau Ceti IV last week I suddenly realized a place where this could be really useful to players, and would thematically fit just right.

Time to actual build this thing!

Oh it started off so easily... so easily...

It really didn't take all that long to have parts creating other usable slots when attached. But that was just the beginning of Fun Times in Design and Software Architecture... a week ago xD

I knew I was in for trouble right from the start, putting this together for the folks on Discord at the time to show what I was up to:

(modified from the xkcd "Dependency")

Of course throughout all these years the expanding source code has always assumed that slots were permanent fixtures. It's true we did get the Devolution challenge, and eventually the late-game artifact that allows you to convert slots during evolution, but those impacts are at least limited to transitions between maps while nothing else is happening. This new idea has Cogmind's slot composition changing on the fly, and tied to other parts.

Note that I've been referring to this mechanic as a type of exoskeleton implementation, since that was the intent behind the original idea (unique multislot leg-type propulsion that adds other empty slots to your build, like more weapons :D), but in theory it could take other forms as well, like a utility that gives numerous propulsion slots, or a harness for more weapons, or an extended rack of power sources. Well those all sorta sound exoskeleton-ish, too. Maybe a large energy weapon that also gives a power slot intended to be used to power it? :P

So it's really just about various thematic ways to have access to temporary slots. For the lore reasoning you'll have to wait until Beta 12 ;)

The slots are "temporary" in that losing the part that created them also removes the associated slots. As currently implemented, losing (or removing!) whatever is in a temporary slot also destroys the slot itself. So yeah they're pretty temporary, but deciding when to use them with what parts could introduce interesting strategic concerns.

As usual, there was plenty of work to do both on the mechanical side as well as for the interface. For the latter, we have a new '+' shown immediately before a part name to denote that it's occupying a temporary slot.

Slot creation items have not yet been added to the game, I'm just using several test items for now, where the above Deathgrip exoskeleton provides an additional two weapon slots.

Similar to removing a destroy-on-removal part, actions that affect temp slots must be repeated for confirmation, and in this case will also glow in a different color.

There you can see the removed weapon destroy the slot (the weapon itself is fine, however, so this is just for demonstration since you probably wouldn't want to do that, instead letting it eventually be destroyed instead). Then removing Deathgrip (also something you probably wouldn't do voluntarily unless you really had to) destroys the other slot it created, dropping the weapon to the ground.

That's the simple stuff, but there are so many features hooked into slots that the interactions had to undergo days of rigorous testing and debugging, during which it was repeatedly broken and recoded.

There are the straightforward questions like how we want to interact with Core Expanders, devolution, the CPC artifact, and more, and designing behavior around what happens in various scenarios like... swapping parts into temporary slots? Multislot parts occupying a mix of regular and temp slots? A multislot part simultaneously occupying temporary slots from different slot creators? One or more creator supporting a single multislot part is removed during level transition due to slot loss or conversion? Or how about a chain reaction in which a temp slot creator is destroyed, destroying its temp slots currently occupied by another temp slot creator which itself has other parts occupying its temp slots? Slotception!

There's also the paradox whereby it's possible to have two slot creators occupying each others' slots by manually reassigning them there via empty temp slots, and managing the result when one is destroyed or removed.

Much of this stuff sounds easy in isolation, or on a surface level, but any solution or changes in one area requires considering numerous other areas, so the process was quite a long one with all the back and forth due to "YES I've found out how to fix this issue! ... oh wait, it breaks that other thing xD"

Part of the solution that helps with more complex situations: Delay slot loss results until the beginning of the player's next action. In some rare cases the loss of relevant slots might even take a couple actions to fully play out depending on what happened, but that's fine.

Here you can see the Suspenders being removed, but they're holding up the Cargo Pants (:P), which are in turn storing the Gun Sling, which is loaded up with two Enh. Autoguns:

Some of the cases I addressed would only be possible in theory, and may never be possible unless the required parts are actually added, but we may as well use the opportunity to ensure the system is as robust as possible just to be sure. After all, it would be unfortunate to want to add some such part at a later date, only to realize the system doesn't support it, and by then I've forgotten the inner workings and it's not really worth the effort required to pry open and tweak such a complex and delicate bunch of code.

So at this point I've finally finished temp slots and this feature should (hopefully) be decently playable. Whatever you do just don't look at it too closely, and I hope I never have to revisit it again.

Narrator: He revisited it many times over the next months, each time a new crack formed in the foundation.

Comments

No comments found for this post.