Official development blog

Fabrication

Fabrication has just been redone, and it is good.

I wrote a little about Fabricators a long while back when they were first introduced to Cogmind as a new feature we didn’t have in the 7DRL, allowing you to build robots and parts if you could get your hands on the schematics and meet other conditions.

Then for years the mechanic sat dormant, and honestly even untested (for gameplay) for that entire duration up until the first alpha. That’s when it became obvious it was likely the most broken part of the game, failing to satisfy its purpose on multiple different levels. It got a couple of quick fixes right away to address the most egregious problems (including an oversight that allowed patient and determined players to construct an army of late-game allies at the beginning :P), but even then it was not well integrated into the whole Cogmind experience.

I can’t say this was a surprise, since complex systems need testing and tweaking before confirming they actually work in the broader context, and since so many other parts of the world had yet to undergo rigorous playtesting, it made sense to wait to do any serious work on fabrication since it was a “secondary” mechanic, anyway.

So it was intentionally left at the wayside. Until now.

Background

First of all, why did fabrication even become a thing? At its core, Cogmind is obviously a game about adapting to the situation, building and rebuilding yourself from salvage as necessary.

But with the right limitations, a system whereby players can sometimes exert more control over what they have access to offers a lot of interesting possibilities. Perhaps you’ve found a really useful part you’d like to duplicate? Perhaps a certain build needs a specific part to really take off? (Or to simply avoid annihilation :P) Or perhaps there’s a very special part but you can’t obtain it directly, only get a schematic after which you’ll have to take the extra step of building it.

Thus fabrication serves to supplement the core mechanic, without completely supplanting it. The goal is that it should be impossible to build everything one needs to survive, instead occasionally filling holes in a build/strategy or just providing access to something special, without being a clearly superior option in every situation.

It should also avoid tedium, and as anyone who’s played will know (and as others can read about below) the process used through Alpha 8 is very tedious…

Original System

Quite unlike the rest of Cogmind’s mechanics, which are streamlined to facilitate relatively quick play and involve only so many elements at once, building anything under the old system is an exercise in tedium. The build process:

  1. Acquire a schematic. (Terminal hacks; Scanalyzer scans or extraction.)
  2. Acquire a container and fill it with matter. (Found; taken from Workers.)
  3. Find a Fabricator of high enough rating to build the schematic. (Found; Terminals.)
  4. Hack to load the schematic. (May fail.)
  5. Hack to start the build process. (May fail.)
  6. Wait for the build process to complete.

It was rarely worthwhile to do all these steps, and even if it were, it’s not much fun.

The original purpose behind the large number of restrictions was to counteract the old hacking system: Prior to the hacking overhaul of Alpha 6, it was theoretically possible to hack forever until you got what you wanted. (Technically fabrication wasn’t the only undertested pre-alpha feature--all of hacking was waiting on the sidelines for proper playtesting and integration.) Now that traces can no longer be reset, unless you’re an insanely good hacker, a single machine/Fabricator can only be used so many times. This paved the way for much simplified fabrication mechanics.

cogmind_schematic_energy_mantle_old

A sample schematic, which looks like the normal item information window, with the addition of fabrication details at the bottom.

Schematics are still a part of the new system, in fact playing an even more vital role as you’ll see later.

cogmind_matter_storage_art

Various matter containers.

The container requirement was originally conceived as a cool way to link a general-purpose utility with the fabrication mechanics. Cool in theory. It was actually one of the more tedious steps, and also unnecessary from a logical perspective (the machines can draw their matter from a central network, sure). So that was the first thing to go--no more inserting containers of matter.

To me the most annoying requirement, terrible from a design standpoint, was the level restriction on schematics. Schematics could only be built by a sufficiently advanced Fabricator, but the formula to determine the required tier was completely opaque, and even though it was indicated on the schematic itself, it was just another factor that would vary from item to item, an annoying little detail to remember and consider when searching for a Fabricator (while potentially further reducing the number of applicable fabrication locations). So that was the second thing to go--any Fabricator can build anything!

Under the old system, even if you did get a cool schematic, it was still too much trouble to go through all the steps to try and get it built. Some players would try, but as you can see it was an effort-intensive process and quite possibly that effort would go to waste at any given point of failure. Not fun.

New System

The new build process:

  1. Acquire a schematic. (Terminal hacks; Scanalyzer scans or extraction.)
  2. Acquire a container and fill it with matter. (Found; taken from Workers.)
  3. Find a Fabricator of high enough rating to build the schematic. (Found; Terminals.)
  4. Hack to load the schematic. (May fail.) -- Now much easier.
  5. Hack to start the build process. (May fail.)
  6. Wait for the build process to complete. -- Easier to wait, and can be much faster.

Item for item the new system doesn’t look hugely different from before, but the changes already touched on, along with some others, make for quite a different experience.

Schematics still form the foundation of the system, and are obtained using the same means as before, although even that step is somewhat less problematic because Scanalyzers are much less restrictive regarding what they can scan. (I’ll talk more about other related machine changes later.)

Instead of the old bring-your-own-matter system, matter is instead drawn from a map-wide network itself allocated from the central complex matter stores. The amount of matter available fluctuates over time, sometimes receiving a new infusion from the central stores, and others being drawn down from local use, including your own.

cogmind_fabricator_network_status

Results of the new “Network(Status)” hack.

Your own use, however, is of course unauthorized, and the further you drain the local network below its normal operating levels, the more likely the missing matter will be discovered after the fact and the entire network will be shut down. Causing a network outage is a fairly big hit on the security level, so there are obviously long-term trade offs involved with building bigger and better things, or more of them. But at least you don’t have to worry about supplying the matter :). (Related: One of several new Trojans reduces the chance that unauthorized matter use will be discovered by siphoning part of the required matter from other systems.)

Choosing a Fabricator is also much less of a problem now that rating restrictions have been lifted. Anything can be built by any Fabricator (hence the increased importance of schematics under this system--once you have a schematic you can build it anywhere). Rather than differentiating Fabricators based on what they can build, high-tier Fabricators instead build even faster. (Like, really fast.)

cogmind_schematic_energy_mantle_new

The new schematic readout indicates the base build time at each type of Fabricator, from tier 1 to the most advanced tier 3.

Hacking to load the schematic is quite easy now, though still only more effective hackers will have a good chance of successfully initiating the build process for better parts and robots. (Design note: The hacking part was split into two separate commands partially for UX purposes, enabling selection of a schematic and first giving feedback on the requirements, and also making it easier to repeat the more difficult second (build) hack without having to again select a schematic from a list. The third reason, implied earlier, was the original possibility of unlimited hacking and a corresponding need for a two step-process so that players had at least some chance to be both detected and traced in a single session.)

cogmind_fabricator_loaded

Visiting a low-tier Fabricator without hackware assistance.

Then there’s the waiting. This works more or less as before, though for multiple reasons fabrication can be completed more quickly than in the past. The time formulas have been adjusted, advanced Fabricators build extremely quickly, and there is a Trojan which can further accelerate the process by prioritizing all matter requests by a given Fabricator.

And while a couple alpha players wanted instant build times, I feel the strategic implications of a time cost are important because time effectively ties the fabrication into existing systems and gameplay. Any number of things can happen while waiting around ;)

There was one long-standing issue with waiting, though: It often required a little mental math. When the build process begins, it tells you how long the process will take, but then the best thing to do is add that number to the current turn count and wait until then. (In hindsight it could have also given the completion time, but it’s still something to keep track of--we can do better than that!) You could also just keep waiting until the build finished and popped out the results, though that approach is a good way to waste precious turns by over-waiting.

My first instinctive solution was to add an auto-wait feature, a command with which you could automatically wait until a nearby process completed. Unfortunately that involves unresolvable complications like how to treat potential threats that have appeared on your sensors, but may not be threatening at all (or you’re intentionally ignoring them).

Seeing as it’s quite easy to just hold a button (or spin the mouse wheel) for a short while to wait, what’s really needed here is a visible timer. So when a build starts, as each turn passes a little label pops up to report the number of remaining turns.

cogmind_machine_timer_fabrication

Starting a build and waiting through the process while the timer runs down.

The timer is also color-coded, so you don’t even have to pay close attention to the numbers--red is a while off, then orange, then yellow, and if it’s green then you know it’ll be done pretty soon and can start paying closer attention.

cogmind_fabricated_grunts_die

Short-lived friends making the ultimate sacrifice, and not even complaining that I’m doing nothing to help them.

Note that you could/can always open the machine info window to see the same countdown timer there, but that’s not nearly as convenient. Cogmind’s UI is all about making pertinent information as accessible as possible, and this works well to that end.

Strategy

Whereas before it was almost never worth it to build things except maybe as a novelty, it can now become an integral part of player strategy. This will be especially true for those carrying at least some hackware, but even those without can make occasional use of the system.

There’s always the chance that in the right hands this less restrictive system might be open to abuse, but we’ll get to tweaking it depending on how it’s actually used in practice rather than based on theoretical analysis and what shows up in a few playtests. I’m curious how players will use it in its current state.

That said, I don’t (and never did) intend for every Cogmind to be great at fabrication, and it’s still an entirely optional part of the world.

Other Machines, and the AI

With the Fabricator updated, it made sense to make similar changes to other machines in order to maintain balance (and working on related systems at the same time is a more efficient approach to development).

To that end, Repair Stations can now repair anything--rating restrictions have been lifted. Like Fabricators, tiers instead affect the repair duration, which means better stations will repair much more quickly. They also get to make use of the new on-map timer:

cogmind_machine_timer_repair

Repair Station displaying a timer while that process is underway.

Similarly, Scanalyzers can also scan anything! More advanced Scanalyzers are less likely to require additional scans to create a schematic, as well as less likely to break the part in the process.

With that, all machines have now been improved since Alpha 1 last year, working together to enable a wider range of interactions, and hopefully inducing fewer “meh, whatever”s as Cogmind spots a new one :P

Speaking of interactions, the central AI now also makes use of Fabricators, too, a bonus that comes along with the new mechanics. It builds non-combat robots to eventually replace some of those destroyed (rather than sending them in through map access points), builds combat robots to supplement garrison forces, and builds new parts that are picked up by Haulers for delivery to garrisons. It’s nice to tie another machine into the visible ecosystem, similar to how we have mechanics based out of Repair Stations, operators interacting with Terminals, recyclers using recycling units, and more.

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

4 Comments

  1. Star Weaver
    Posted June 16, 2016 at 2:34 pm | Permalink

    Wow. Quick question, are recycling machines now tied into this level-wide material store instead of /just/ being the place salvagers take your broken dreams to crush?

    • Kyzrati
      Posted June 16, 2016 at 2:43 pm | Permalink

      Recycling Units weren’t tied into it, no, but were already improved quite a bit back in Alpha 7 to be very useful. They don’t destroy the items any more, among other important adjustments that turned them into much more valuable machines under the right conditions. (Fully integrating them with the fabrication system isn’t really necessary or too helpful in the long run.)

      • Star Weaver
        Posted June 17, 2016 at 3:37 pm | Permalink

        Aha, after catching up on the blog here I went back through the release history and discovered I haven’t played the game or paid much attention to it since just after alpha 4, I think.

        Basically: DAMN O_O

        • Kyzrati
          Posted June 17, 2016 at 3:42 pm | Permalink

          Yeah, haven’t seen you around playing for a while--*lots* of improvements and additions since then :D

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>