Official development blog

“Post-Balance” Cogmind Item Expansion

Beta 11 was a huge milestone in Cogmind development, having completed a comprehensive review of all items and their stats and mechanics in order to rebalance where necessary, a process I wrote about in detail last year. The results since then have been great, but what comes next?

Fun. Lots and lots of fun.

Beta 12 was a part of that new direction with its expanded Garrisons, new faction interactions, and the Scrap Engine, but the main thrust is still in progress, aiming to bring tons of new items, robots, and maps for them to inhabit. Heck, Kacper‘s on board and there’s even going to be a bunch of new tiles :)

Despite being under full-time development for over 10 years, and certainly adding a fair share of fun secondary mechanics to Cogmind along the edges to keep things extra interesting, most of the work needed to focus on honing the core experience, and therefore the core content. However, aside from procedural generation and the potential unpredictability of unfolding events, special items and rare encounters are where it’s at when the aim is to ensure every run is fresh and exciting.

Well, after Beta 11 that’s where we find ourselves now, switching focus more and more to brand new elements that don’t need to adhere to any sort of core content accessibility requirements. There’s already a ton of core content--many hundreds of hours worth. Now it’s time for the very rare items, the very hard-to-acquire tech, the very difficult optional opponents, and all the implications behind them.

As part of this drive, for months I’ve been creating over 100 new items, most of them including new mechanics. Some individual items take days or even weeks to build. They’re that crazy.

cogmind_ascii_art_beta13_sample_preview_large_more

Sample ASCII art from among the 100 new items.

At the time of the Beta 11 rebalance Cogmind contained about 1,021 items, a number that I’ve increased by 11% so far, the vast majority of which have not been released yet.

Sourcing Ideas

To come up with new items and mechanics, I never just sit down to explicitly think them up. Good ideas do come spontaneously, albeit inspired by random discussions among players, reactions to various situations in game, even playing other games and consuming various non-game media. And I’m always ready to note down these ideas for potential later use, since after all there’s never enough time to implement absolutely everything, not to mention many ideas must wait for just the right opportunity or location to be introduced.

Having done this for many years now, that list has grown quite long, and now that plenty of new space is coming to Cogmind, space for more outlandish stuff, earlier this year I reviewed the entire list for the first time.

It’s not organized at all, being composed of ideas just slipped in at random locations each time a new one popped up, all filed under the heading “post-1.0 items” that was chosen back during alpha when it was first created.

cogmind_item_ideas_notes_sample

The current beginning of my random still-unused item ideas list. It’s about 800 lines long :P

Here “post-1.0” essentially implies “after core stuff is done,” so we’re clearly at an appropriate junction to do this :) (regardless of versioning systems and the fact that in reality Cogmind is already far beyond what most people would consider 1.0…)

Anyway, it took a while to filter through everything (on the way even removing a few pieces of tech which had since been implemented without even recalling they were listed there at some point :P), but I did pull out a number of ideas that will no doubt be fun to play with. While none of them are central to the coming Beta releases, any time new maps are added a lot of content is needed to fill them out! Peppering them with cool stuff that you won’t see every run helps keep them from feeling too sparse or repetitive.

Balancing Levers

The idea of “post-balance” from this article’s title doesn’t mean no balance.

On the contrary, as you probably know, Cogmind is big on balance, an emphasis achieved initially through adherence to carefully designed patterns and formulas. But then Cogmind is also always expanding with new content that needs to fit into the existing world, either closer to that core or somewhere out on the fringes.

As far as core items go, simple stats are generally sufficient to enforce balance, but the tradeoffs and drawbacks required to balance more extreme fringe items may necessitate unique approaches. Some of the optional mechanisms to use for this purpose are more generic, such as giving an item limited uses, while others are item-specific, such as the Dirty Datajack being overall pretty awesome if 1) somewhat unpredictable and 2) eventually, inevitably blowing up in your face when it detonates a power source.

Rarity and difficulty of acquisition are in themselves balancing factors which allow us to make some new items even cooler than usual, which is essential one of our primary goals here, but most items still likely need their own balancing factors that come into play once acquired.

I’ve organized an overview of some of Cogmind’s special item balancing mechanisms below.

  • Disposable (limited uses): Interestingly I didn’t want traditional roguelike “consumables” to be an important part of Cogmind’s design from the beginning, and they still aren’t really, but technically all Cogmind items are consumable to a degree (they protect your core and have limited integrity), and later in development as I wanted to introduce more and more truly powerful items this was a good excuse to play the consumable design card. It’s a useful one since it offers really tight control, but I prefer to avoid overusing it if there are any other options available, since it’s kinda boring.
cogmind_CPS_tube

The new CPS Tube, a disposable item. You get two shots because it’s mainly meant to be a one-shot thing, but you might miss and that would be too mean.

  • Disposable-adjacent: Instead of a direct 1-to-1 use counter, an item’s remaining usage is represented in more granular fashion based on other factors, for example the new “ID Mask” item I’ll be introducing in a later post.
  • Item integrity loss on use: This concept is fundamentally similar to the disposable mechanic, although not quite the same thing since usage simultaneously weakens the item itself, making it more vulnerable to destruction, and for the same reason damage to the item directly reduces its remaining uses. The idea was pioneered by Vortex weapons, but you will occasionally see more of it where appropriate.
  • Core integrity loss on use: This one’s pretty cool, although applying it generally requires good enough lore or tech reasons. There’s a lot of room to play with core loss in the design, since it drains something you need to survive, but also tend to have a surplus of at various points on your journey, especially if you’re otherwise doing a good job protecting your core. In this case, saving core indirectly supplies you with resources that can be redirected elsewhere That said, doing so could also be risky since the weaker your core the less resilient you are to later surprises! Balancing factors with deeper implications like this are great. We definitely need more core-eating items ;)
  • Deteriorating: An item could degrade/lose integrity for every turn that it’s active. Although introduced in pre-alpha as a potential balance mechanism, this was only ever used for one item (Dirty Datajack!), and even that one was reworked along with the robot hacking system and deterioration is now a completely unused mechanic. It’s kinda fiddly so I don’t like it, but it technically still exists if needed one day. (There is a particular quest item that degrades over time, but that’s a different mechanic since it can happen anywhere and you don’t even have to attach it.)
cogmind_part_deterioration

An ancient demo image from Cogmind pre-alpha with a deteriorating item state listed on a hypothetical item.

  • Unique resource requirement: Unique resources can be a great balancing mechanic (be it via rarity, storage requirements, or other factors), and lots of roguelikes use them--think ammo types!--though in the past Cogmind hasn’t done much in this area precisely because that most common manifestation was simplified into the amorphous energy/matter system (much more appropriate for a game with a vast array of unique weaponry). We did eventually get the Latent Energy Streamer from the Exiles, which takes unique resources to the extreme by adding a whole new geographical resource layer to the world. Honestly that resource should get more use, and definitely would if Cogmind is developed long enough (there are Plans). Looking ahead, one of the new items to come is powered by… other items.
cogmind_latent_energy_visualization_animation_extended_range

Examining latent energy levels in the area.

Overall the more such levers we can add, the more interesting items and strategic/tactical considerations we can create, branching out into different design and gameplay territories. Everything on the above list has existed in some form or another for a long time, so it’s not often that high-level non-item-specific balancing mechanisms are added, but there’s a new one coming soon: chargeables.

Chargeables

We can already indirectly create “chargeable” items (and have :P) by simply giving them huge energy requirements, enough that only a small number of uses is feasible before having to generate more energy, though this approach is technically a bit of a fuzzy limitation that can be circumvented by storing massive amounts of energy in advance, so such items have to be designed taking that possibility into account.

What about an alternative item-centric approach that also essentially enforces a minimum time limit between uses? This way we know the maximum rate at which such an item can be used, plus this kind of item is likely more accessible to builds that don’t have the capability to supply large bursts of energy at once.

Two different ways to implement the same general concept will be more appropriate for different kinds of applications, further expanding the pool of item design possibilities.

When adding any new feature, or in this case a balancing mechanism, it’s important to ensure the UI can keep up with any needs. No big problems there, as charging is a fairly simple mechanic where you have charging and charged states, and it can only be used once the latter is reached.

While charging an item its charge countdown is shown in an adjacent part label, like so:

cogmind_chargeable_voltaic_drivehammer_charge_label

Tag for an attached chargeable weapon.

In this state the item cannot be activated, of course begging the question of just when and how it’s charged. I originally imagined this to be something you could actively toggle, but that would require utilizing the third item state (overload style), which might have other uses for a chargeable item, so it’s best to avoid that approach. Instead the charging happens automatically, as described in the state context help on the item’s info page:

cogmind_chargeable_item_state_context_help

Different object states have also been getting unique context help relevant to their specific mechanics, rather than a generic description of the stat.

The so-called “charge rate” is specified in the item’s description, which includes a phrase like “Charge rate: 20 energy * 35 turns” or whatever its energy/time requirements are.

When the item is ready to be used it’ll play a charge up sound and you are free to blast away. It will also indicate that state directly in its name, in case you want to charge it up then store it away in your inventory for later.

cogmind_chargeable_voltaic_drivehammer_name_charged

They should be afraid. Very afraid.

That said, chargeable items don’t have to be weapons! This just happens to be the first one I created. I wanted a weapon designed around a particular offensive concept but if made as powerful as planned it would be too ridiculous if used in rapid succession, but I also didn’t want to make it yet another case of disposable weaponry and would prefer it become a long-term tool one could reuse again and again if you keep recharging it.

The other chargeable item I put together after this one, which I’ll be sharing next time while discussing a different topic, is actually a utility.

This whole article started out with a discussion of balance, and while I’m sure this new mechanism has potential, I can’t yet say I’m entirely sure just how the balance will work out with these brand new items. They will likely get some tweaks after playtesting, and purely from a theoretical design standpoint I think it may be necessary to at least require that charged items remain attached to retain their charge. We shall see. It also really depends on how they want to be balanced in the bigger picture, as well as how people abuse, I mean use, them :P

This is the first post in a series on new item mechanics. I won’t be covering anywhere near everything (or even the coolest mechanics because I don’t like to spoil much :P), but some of these also offer a chance for relevant discussion of the bigger picture:

This entry was posted in Design and tagged , . Bookmark the permalink. Trackbacks are closed, but you can post a comment.

One Comment

  1. Kyzrati
    Posted November 20, 2023 at 1:23 pm | Permalink

    After posting about this article in a few places, among the responses was a great question I feel is worth addressing with more clarity, especially for any readers not as familiar with Cogmind, and also just to reemphasize some balancing points for chargeables:

    “Love the chargeable items, but just curious how you dissuade player from moving back and forth to charge them instead of progressing further? Isn’t the optimal play just to charge it back up right away by moving turns forward without going anywhere?”

    Yep you can indeed just sit there and pass time if you want (no need to move--just regular waiting will work, too :P). And that’s a great question! I probably should’ve covered that in the article…

    First of all the primary goal with these is to avoid letting the player use them too frequently. Basically it acts as an enforced cooldown, so that I can know the absolute soonest they’d be able to once again deploy some mechanic, which has an impact on encounter design and also simply understanding the player’s overall power level a given point.

    In that sense the only thing I need to be careful about is what happens when the player manages to acquire multiple chargeables, like a whole stack of super powerful things that makes up a larger chunk of their inventory, and just expends them all to deal with whatever issue they have, then slowly recharges them all. I mean to an extent that should be okay, as long as there’s still a chance they could be overwhelmed when they’re low on power and have to deal with the consequences. So I think overall that won’t be too big of an issue (especially if such items are only uniques, not easy to acquire, and not that plentiful to begin with).

    The other important balancing mechanic to consider in Cogmind is that time is itself a cost. In other roguelikes you can maybe just wait around forever, but in Cogmind most maps are alive and filled with other bots doing their thing, including tracking you down. Basically the various food clocks do put pressure on chargeable items, especially considering that many of them require charging for a fairly hefty chunk of game time.

    Anyway, we’ll see how it balances out--players are crafty so I’m curious how they’ll try to abuse these in the specific context of Cogmind, but for sure I’m aware of and expecting that some people will love to just sit around and charge these kinds of things to full sometimes for repeated use as quickly as possible. Adjustments will be made as necessary given these considerations ;)

Post a Comment

Your email is never published nor shared. Only the anti-spam entry is required. See here for the privacy policy.

You may use these HTML tags and attributes <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>