Cogmind - Kyzrati


And that's what happens when you combine the new overload_power hack with squads lured through some explosive machinery :D

Their power source won't go critical immediately, but it happens pretty quickly and as you can see there's a visible timer to help you plan your next few turns before the fireworks begin.

The explosive potential matches that of EM-caused chain reactions, thus it's greater for more powerful power sources. In the same way it also just destroys their power supply, which technically may not destroy the bot entirely, so it doesn't need to be a hugely expensive hack like outright destruction or assimilation. This makes it both a fun, useful and fairly frequently usable hack.

Aside from overload_power, this week's robot hacking progress can't compare with last week in terms of flashiness, but I did get close to the end of the list. So far 59 hacks have been implemented, with just a few more to go. After that there's still more related work to do in terms of lore, balancing datajacks, and more, but the entire robot hacking system will be completed next week. (No this doesn't mean Beta 7 will be ready next week xD)

Mind Probe

One of the bigger new hacks completed just yesterday is parse_system, the replacement for the old PARSE option.

Through Beta 6, parsing a robot is a regular old hack with a percent chance to succeed. Though easy to pull off, it's still not guaranteed.

The new parse_system for Beta 7 is not only guaranteed (as are all robot hacks), it's also practically free--no RIF, no couplers. (See the overview of the robot hacking system if you're not sure what that means.) Just like the manual hack 'z' entry, 'a' will always be parse_system for any bot you can jack, appearing as the first listed option. Here's a series of demonstrations parsing various common targets:



In the past it's also never been very useful--I added it mainly for fun. But now it also serves some purposes!

First of all you can see there that parse_system gives more info than it used to, including details about the AI and whatnot.

The most tangible advantage, however, is the fact that it both lists all parts attached to the bot, identifies them all even if unknown or prototypes, and even adds them to your gallery if not already there! This will be a new non-evil method to get records for some of those cool parts your friends and/or NPCs are using without, you know, murdering them :P

By extension, as part of this update, jacking a friendly will no longer be considered a hostile action.

Faster than Light

A couple weeks ago for SITREP #31 I mentioned the birth of a speedrunning community among Cogmind's players, with semi-regular contests. Those have continued, and are getting bigger and better...

This weekend we'll have simulcast races on Twitch with commentary by b_sen, along with anyone else who wants to hang out in stream, or participate in the races themselves! Full info in the announcement here (also on r/Cogmind).

Sadly I won't be there because over here in Asia it'll be 2 AM or so, although I sometimes participate in races at other times. But there'll be experienced Cogminds around if you want to learn the art of speedrunning, or perhaps about other mechanics you can put to use in your regular runs!

The simulcast even includes its own layout and everything :D (the following image is a WIP mockup, layout work by b_sen)



The latest scoreboard:



Armchair Robotics

The community has started weekly topical strategy discussion threads!

Ever since a couple years ago the core community moved from the forums to Discord, we've been having a ton of insightful strategy discussion there, but it gets interspersed with and buried under lots of other conversation, so it's not easily accessible to the majority of players. This new format will be a lot more accessible, have long-term reference value, and also provide ongoing content for the still-under-construction Cogmind Community Guide.

The first topic was just announced today: "Propulsion Type." See the full prompt and discussion in the following locations:
Visit your community of choice to contribute!

Celebrating Roguelikes

The annual Roguelike Celebration is coming up! If you can make it to San Francisco in early October, get your tickets now for a discount (the price is just to cover the costs of running the event).



This is the third one. I missed the second due to that annoying concussion-that-still-won't-go-away, but was at the first the year before. It was so much fun, I wrote about it here. Got to meet a bunch of great people I only knew (or knew of) online, and then it was only a one-day event--this time we get two!

I even gave a talk about how I became a developer and how Cogmind came to be:
https://www.youtube.com/watch?v=9yJflbg0V38

Oh yeah, I guess I've only implied it so far, but yeah I'm going again :D. (You might notice me on the speakers list there, I'm going to be doing a non-Cogmind-centric talk this time around.)

The next SITREP will likely be in two weeks instead of one. Development will continue as normal, but I'll mostly likely be working on a lot of non-showy internal stuff in the short term so there won't be as much to talk about.

A note about SITREPs: These are regular progress updates where I share features coming to the next release, but aren't actually in game yet. Public releases get their own dedicated news announcement and changelogs/release notes, for example Beta 6 here.

There may be other relevant discussion of this SITREP on the GSG forums or r/Cogmind.
Cogmind - Kyzrati
Last week and in other recent SITREPs we've seen map_earth, map_walls, locate_traps, find_shortcuts, and more, but as far as information warfare hacking is concerned, these are small-time benefits compared to the potential of this week's selection!

Info for War (or not)

If you've got your RIF, datajack, and [NC] relay coupler handy, Watchers can be a gold mine of info when you map_route them. Rejoice as you steal all the scan data from their entire patrol route, including terrain layout, machines, items, and exits.



That's my favorite animation from the batch--I spent a while polishing it (okay, spent a while getting it to work xD). It'll trace the route starting from its nearest node to both ends, as you can see here going in two directions (followed by calling up labels for discovered items):



Here's another sample in Storage, where the route happens to come around in a loop:



And the same sample in tiles mode:



It's not often you'll find a Watcher inside a Garrison, but if you do it's an easy way to see a lot of corridor networks and other potentially hidden areas behind the walls.



I can imagine map_route will be one of the most commonly used robot hacks, although it's rather expensive. May your hacked Watchers have decently long patrol routes and not just a short little jaunt through a few rooms ;)

Foresight 20/20

This next hack is even more of a wildcard, because while it can be quite valuable it's not easy to find the right target and much of its information is time-sensitive: show_paths.



What that does is show the current paths of all patrol squad leaders across the entire map, but you have to specifically hack a patrol leader in order to get this info. Sometimes figuring out which is the leader is easy because they'll be a better variant, but other times you'll have to spot which one seems to be followed by the others (easier to figure out with sensors). At the same time, not all squads out there are patrol squads...

Normally the paths will glow intermittently, but when panning the map they stay visible (presumably you'll want to be able to more conveniently follow them).

Here's a sample from a different scenario in tiles mode:



Although the path data will become meaningless after a while since the patrol leaders select new routes when the current one is finished, on the good side any known paths are also permanently revealed as valid open spaces, including even pointing out hidden doors along the routes, so that can have some value in the long run.

I noticed it's kinda fun watching the ASCII<->tiles swap animation after a map_paths hack, as it traces the revealed spaces.



While working on all this stuff I also discovered A* lightning :P



Here's a path animation outtake, a little bug caused by me relying a bit too much on copy-pasted code: The paths should render directly to the console every frame, but instead I'd copied code from another blocking animation that creates stationary particles that fade with time:



Clairvoyance

What's better than one set of visual sensors? Two sets! See exactly what's up ahead, around the corner, or in that next room with a little help from link_fov.



You can merge their field of vision with your own, as if they were a drone. In some ways this is inferior to a drone because you can't control them, but better because they won't be attacked by 0b10 forces, and willing participants can be found all over the place :)

Why stop at two sets?



The blue circles appear for convenience so you know when the connection will be lost due to range--the link can only be maintained from up to 20 spaces away.

When you combine all these new indicators, robot hackers can have some pretty sweet map UI going :D



Context is Everything

All robot hacks also come with context help right in the UI via right-click or shift-letter.



This explains exactly what the hack does, which unlike machine hacking is pretty important to know immediately because robot hacking often has real consequences while facing off against enemies (I talked about this same principle before when covering robot hacking's switch from a percentage system to a finite counter system). Obviously it's also good for learning the mechanics, and having easy direct access to what hacks do so that infrequent players don't have to remember their effects.

The question is, should this same system be applied to machine hacking? From a general QoL perspective, probably--in addition to the above reasoning, it's one of the few systems in the game which doesn't already have in game help.

But there are a few drawbacks as well... Machines are encountered very early in the game, and I don't want to overwhelm newer players with stuff they don't really need to know, and infrequent players won't really be able to get much out of hacking anyway. Having context help at machines both removes a bit of the intrigue and exploration aspect of the experience while simultaneously giving players access to all kinds of detailed information that won't mean much when starting out. The details of machine hacking are not so useful compared to robot hacks. Machine hacking effects are also much easier to guess from their names, and the hacks don't generally take place under duress, so a bit of trial and error is fine there.

I'm open to input here if you all have any perspectives to add.

Here's a bonus hack: ignore_targets, Method #6 (or so?) for dealing with Crushers.



There may be other relevant discussion of this SITREP on the GSG forums or r/Cogmind.
Cogmind - Kyzrati
Another week, another batch of robot hacks for Beta 7 :)



Pretty much every bot has at least some function relevant to their job, as you can see above with the map_earth hack. Same thing below in tiles mode.



As one might expect, there are quite a few hacks that target Operators, given their access to so many systems...



Almost any combat bot can be hacked to find emergency access doors over a pretty wide range.



In general I haven't been working on combat bot hacks yet--I'm mainly going straight down my internal list, on which non-combat hacks come first, but based on some code I was working on it was more efficient to jump ahead and do a few search-based hacks like this one at the same time.

Back to non-combat hacks, how about forcing Haulers to both drop their inventory and safely identify all the contents for you?



And normally a Mechanic's special inventory of backup parts can't be accessed/retrieved, but there's also a hack to decompress those if you really want to :P



Lastly, a fun still shot from a very WIP animation that's a bit more involved.



More on that one next week.

A lot of these robot hacks also tie into AI behavior in some way, so I've been messing around in that bit of the code and making occasional related updates.

For example you may have noticed that a group of Engineers repairing lots of walls in close proximity might end up getting stuck, and the cluster of Engineers can grow larger and larger as there are incomplete projects in the queue but they're all waiting for each other to get out of the way. I left it that way since it's not too common, not all that important, and kinda funny when it happens (stupid Unaware!), but an easy fix popped into my head with the new behavior update that probably won't happen anymore.

Here you can see a group of very eager Engineers, unperturbed even by an eventual Scatter Rocket Array :P



Green for Cogmind

I didn't get quite as far along with robot hacks I would've liked this week, because an entire day's worth of work was spent switching the website over to HTTPS. For a basic website there are pretty simple ways of going about this, but my site includes a separate blog, wiki, and forums, all with content dating back years, so altogether it was a time-consuming operation.

There weren't any major hitches, it just took a while to go through all the different settings and required file updates to avoid "mixed content" warnings from browsers (where you are set up for HTTPS but still have bits of content that aren't secure).

In the end we're green across the board :D



The main mistake was forgetting that the game itself targets an HTTP address to upload scores, but that address no longer existed after the update, so until our Discord community pointed this out and I fixed it we lost a few leaderboard uploads--sorry about that xD

The r/Cogmind responses to the news this week were pretty amusing :)
Amphouse: Wow, I had no idea the "hacking update" would be this thorough. :P

Outrunning Projectiles FTW

The past few weeks there's been a new community activity among the active Discord players: Malthusis is hosting seeded speedruns (by turn count), with most everyone also playing at the same time and reporting their rate of progress to the surface. These have been a pretty fun challenge, and force you to approach the game quite differently.

The speedrunning match records so far, recording the number of turns for each player to reach their final depth (or win):



As you can see it takes around 2,000 turns to win, or closer to 1,000 if you really know what you're doing (and/or also get really lucky :P). This is more or less in line with the relevant achievements, Speedrunner and Expert Speedrunner at 2k and 1k, respectively.

I've only joined in twice so far, the first time practically oblivious to proper speedrunning strategy (as a combat player, to me wheels are "fast," haha) so I got trashed. But at least reached the surface on my second attempt. I did a full writeup with images on the forums. The matches will continue off and on in the future (there are more planned for this weekend), so stop by the Discord if you're interested.

In other community news, I've decided to stop weekly seeds for now. There's more about this in the forums announcement, though since it is relevant to game design, I'll copy some of the discussion here:

It's worth noting that Weekly Seeds are fun in a lot of roguelikes but I don't think the straight up "everyone play the same seed and do whatever you want" approach works very well for Cogmind.

Where in other seeded roguelike runs players will generally be up against a lot of the same opponents on the same small maps with the same set of tools at their disposal, Cogmind maps are huge, not to mention all the different routes one can take through the world, and access to completely different strategies, so instead of players being forced to compete on a fairly level playing field, what you come up against can vary greatly depending on a lot of factors. (And that's even before we start adding in the effects of a rising alert level!)

In that light, we can why weekly seeds won't have all that much appeal, and how Cogmind is more suited to special/focused challenges with greater restrictions. We'll have to keep that in mind when thinking about how to approach any future activities :)

Wallhacks

ChromaticGray has put together a cool Cogmind wallpaper for Wallpaper Engine:



As shared on r/Cogmind:
I made it for a ultrawide 2560x1080 monitor, but it should work fine on 1080 also.

Background map moves in parallax with the mouse, the Cogmind flickers and the weapons lights up in color on mouse over (that's why you only see top right colored).

Pretty awesome! Wallpaper Engine users can get it here.

I'd really like to put together some more wallpapers myself, but despite all the ideas and potential resources to draw from, I just don't have the time right now. So many other higher priorities and it's just little old me doing everything xD. The current wallpaper set on the website is the same I introduced over three years ago with the first public alpha!

There may be other relevant discussion of this SITREP on the GSG forums.
Cogmind - Kyzrati
New mechanic, new items!



Last time we got a bit of a kinetic buff with the introduction of knockback, but this is a decidedly more significant boost for KI combat builds. Kinecellerators are especially effective when combined with multikinetic volleys, although they could also be useful combined with certain cannons.

As with other weapon modification utilities, while active their effects are reflected in the info mode summary.



And of course there are better ones, too ;)

Hack the UI

But most of the week was spent on the robot hacking system, which is coming along nicely. As a further improvement on the earlier hacking interface samples I've been sharing, the header for any Relay Coupler hacks now highlights the remaining value to make that clearer.



I had noticed the potential issue while creating the original mockup, but didn't see any immediate fixes so decided to leave it like that for the time being. And of course as soon as I started sharing gifs there was already a comment about that value not being clear enough, so... yeah, I put some more time into finding a decent solution :)

Automatic removal of newly-depleted Relay Couplers also comes with its own animation in the parts list.



Hack the Bots

As for the hacks themselves, I was finally able to start implementing them this week, and have finished about one-third of the total. Here are a few samples of what's to come in Beta 7...

"generate_anomaly" attracts all nearby hostiles, in case you need some company (or have other nefarious purposes)



Like other enemy alert situations, in the easier difficulty modes this also highlights the position of any notified bots.



"generate_echo" is basically an instant one-off long range sensor.



Map walls? map_walls!



Overall, I'd say robot hacking allows for some fun stuff :P



If you've missed some previous SITREPs, or are looking for a one-stop overview of the new hacking system, check out the latest blog post.



As a reminder to anyone playing Beta 6, the next weeks will be your last chance to play with the current robot hacking system before it's completely replaced by the new one. So consider doing a run where you build up a massive amount of hackware, reboot everything that's a threat, and eventually in the late-game start assimilating many of the more powerful bots to serve you :D (the new system will still include assimilation, but you won't be able to amass an army of extremely powerful bots like you can now)

Aside: Don't worry about robot hacking achievements, though--I imagine we'll eventually be getting more of those related to the new system, and the old ones will either carry over or be replaced with more relevant options. There are only a few anyway.

There may be other relevant discussion of this SITREP on the GSG forums.
Cogmind - Kyzrati
Say hello to kinetic knockback!



As you can see, like knockbacks from impact weapons this can smash them right into machines, though this way you're less likely to be in the blast radius :P

This was originally envisioned as a cannons-only mechanic, but for now I have it applied to all kinetic projectiles and it'll probably stay that way through at least the prerelease testing phase to play with the interesting tactical effects of allowing even enemies with just guns to push you around. (To testers: Good luck defending bottlenecks against Swarmers!) It'll almost certainly be scaled back to its original scope for the official Beta 7 release, though.

A cannons-only approach will mean it mainly applies to Cogmind rather than everyone, unless of course you're hunting certain Behemoths ;)

Stay away from me, melee bots!



Knockback won't be of help against Brawlers, seeing as treads are immune to knockback, but Flak Cannons could be pretty useful for keeping non-treaded bots at bay since the effect is applied on a per-projectile basis.

As part of this update, knockbacks from both kinetic and impact damage will be capable of causing robots to hit another robot behind them, damaging and displacing the second robot.

Manual Upgrade

Manual hacking of robots is already a thing, but it's a pretty simple system that's always been used purely as a way to enter random codes you might collect as a result of certain encounters. There's not much of a need to type out any commands to begin with, considering there's a complete context menu that appears to recall all the codes, as seen here using the old hack list:



But with the number of hacks increasing significantly in Beta 7, some keyboard players might be more likely to prefer entering hacks by typing them out rather than finding them in the menu. Of course no one's going to bother if you have to type out an entire command, so like manual machine hacking we'll need to facilitate the process! For this I added both autocompletion and a command buffer. Demo (the parse_system effect at the end is just a placeholder for things to come):



It kinda sucked to have to switch the whole manual robot hacking system over from its original simple architecture (which already worked nicely) to one that could support these new features, and many hacks were involved, but hey everything once again works as expected so I won't complain! Blooper:



In adding that command buffer, technically the third, I passed by the debug buffer which showed all the commands I'd recently used while testing out the robot hacking features (specifically making sure all the proper hacks appeared while hacking different types of robots). It was kinda interesting to skim that :)



While at it I also added an advanced option to alter the default cost-wise method of sorting Coupler-based hacks:



With all this peripheral work done, next week it's finally time to, oh I dunno, actually implement some hacks xD

Be The Hacker (Part 3)

Part 1 gave an intro to the robot hacking system, Part 2 covered more of its principles and basic functionality, so now we're here with the third part to take a closer look at one of the essential requirements for a serious bot-hacker: Relay Couplers.

Most hacks require a target-appropriate Coupler to pull off, and as you've seen in previous screenshots all these hacks appear in their own box with a "Coupler" header.



The numbers off to the right aren't the percentages you might expect given the other/previous systems, but are instead static costs for executing each hack. That cost is directly deducted from the Relay Coupler value seen at the top and the hack takes effect, period. So Couplers are expendable, and each has its own "remaining value" before it is depleted. You can carry or attach as many Couplers as you want, and if you have more than one applicable Coupler for the current target robot their values are combined into a new total.

As you can see, the new system is easier to balance by forcing a trade of valuable slot/inventory space for guaranteed hacking effects, whether you want them to play a non-combat role, a supporting role, or a fully confrontational "I own you all" role.



As mentioned before, hack costs are static--there is currently no way to influence the cost via utility or other means, and allowing for the modification of costs would make it easy for robot hacking to creep into OP territory again. Better to have only one variable at play, the Coupler value, which can in some cases be higher than normal so that there's room to get more out of a single Coupler!

I've generally avoided consumables in Cogmind's design, at least in the traditional sense, but Couplers don't really fit that sense anyway since they have multiple uses and are also quite flexible in what they can be used to accomplish.

Coupler value is a factor of two elements: its source, and the type of robot it applies to. An individual [Behemoth] Coupler won't let you do much, though you could combine more than one to do just about anything! A lone [Grunt] Coupler, on the other hand, will last for a lot more hacks, depending on what you want do accomplish. There are five ways to acquire Relay Couplers, two of which I'll leave for your to discover, but here are some of the main ones:



Straight to the source! Like previous and current versions of Cogmind in which Garrison Relays play a role in robot hacking (albeit through a different mechanism), so do they under the new system. Venture into a Garrison itself and blow up relays to collect the most valuable Couplers inside.



Destroying Garrison Access locations will net you some Couplers as well. They're partially used and thus not as valuable, but at least they're fairly easy to acquire!

If lucky you can also find special caches in a Garrison containing lots of high-value Couplers, but don't count on it :P

That wraps up the series on the new robot hacking system for now. I'll do a compilation on the blog at some point, and will of course continue sharing progress reports as the hacks themselves are fleshed out, among other features to come :D

Achievements Forever

If you're interested in how achievements are decided and implemented, and didn't see the series on my blog earlier, you can check out "Designing and Building a Robust, Comprehensive Achievement System" on Gamasutra. I put it there this week and it was pretty well received, even being featured on the front page for a time :D



256 is enough for now, but I'm sure we'll be seeing more later ;)

There may be other relevant discussion of this SITREP on the GSG forums.
Cogmind - Kyzrati
It's no longer just a mockup!



We've gone a step further than the designs and mockups and plans of earlier, and now have a fully operational robot hacking interface. Note that's with an emphasis on interface, because none of these commands actually do anything yet, but certainly the foundation for interacting with them needs to be in place to facilitate their implementation. So with the UI out of the way, here are some more samples...

Unlike their current state, Engineers will be hackable.



Here's an example of hacking a Recycler, also demonstrating what it looks like when some required tools are unavailable.



As you can see, non-combat classes have their own class-specific hacks, the total number of which will even exceed combat hacks, making for a lot of strategic options.

Next I need to actually code all the effects!

Spice of Life

Cogmind's 8x8/Mini font is mostly for my own purposes, and fun (hey you can play in a 480p window!), but lsend used it in combination with his 3440x1440 monitor in portrait mode to screenshot one of the largest maps in the world (kinda spoilery if you look closely, but you'd need to break out the magnifying glass :P).



This week Cogmind also got a spot in a Strategy Gamer article listing some good games doing Early Access right. You can see them here.

I haven't been streaming lately, but an increasing number of frequent players over on the Discord community have been getting into it and picking up the slack. More recently we have a lot of people newer to streaming, but all of them do winning runs and special challenges:

Be The Hacker (Part 2)

Last time I gave an intro to the new hacking system, so let's pick up where that left off. I was just about to get into the principles underlying the new system. It needs to...
  • Decouple machine and robot hacking. Even just machine hacking alone provides a wide range of extremely effective abilities, so there's no reason to keep both types of hacking under the same umbrella of supporting parts. Thus robot hacking shouldn't be based on standard hackware, we'll need something else.
  • Control the snowball effect seen with early robot hacking. Sufficient stacking of machine hackware makes pretty much any hack a success, and this is fine for players willing to invest that kind of slot use, but applying the same approach to robots makes it far too easy to eliminate any and all danger by accumulating more and more allies, or at least nearly effortlessly taking out enemies. We'll need upper limits on what is possible.
  • Remove much of the RNG. Under the old system, anything but a good robot hacking setup is too unreliable--you have to hit with a Datajack, penetrate to their system, and then there's still the final hack chance to succeed at. RNG works well for machine hacking, but with robots the time element is much more limiting, and the consequences of failures are too dire, especially for bots that are not necessarily set up for combat! Too much RNG in a system like this makes planning much more difficult, thus keeping the RNG would basically work against the combat hacker style itself. Removing the RNG here will be very good for balance.
Overall there are more limiting factors in the new robot hacking system, but by extension that means it can be more effective! More effective is more interesting, as it also increases the range of possibilities. The goal is not to become OP, it's to gain tools for solving a subset of unique situations and challenges.

The hacking process starts similar to how it exists now: Datajacks are still a thing, and you have to both hit the target and penetrate to its system, but after that the processes diverge significantly. Robot hackers will often want to make use of a new type of Hackware dedicated to robot hacking: Relay Couplers. As Hackware these are destroyed on removal in normal fashion, and even have limited uses, but they enable all the best hacks.



Even successfully attaching a Relay Coupler requires an installed RIF, mentioned last time, otherwise...



Couplers come in a variety of types (there are 12) and must match the target's class to gain access to high-level hacks for that target. For example a "Relay Coupler [Grunt]" is used to hack Grunts. The one exception is Relay Coupler [NC], which applies to all non-combat bots, so that one alone will be more widely applicable.

The alternative approach would've been to have Hackware that enables specific hacks, rather than targeting specific bots, taking the system in a completely different direction, but I believe it's far more interesting to be able to do almost any kind of hack to a specific kind of robot than the same hack to any robot.

Note that not all hacks require a Coupler, however, or even an RIF. So Datajacks will still have some robot hacking purpose aside from their other functions. The new Parse behavior will serve that purpose alone, as it's free and always works, usable on almost any robot. (I'll demonstrate that later once it's implemented.) There are also some cost-free hacks that still require an RIF, for use against non-combat bots.

More about Relay Couplers and hacks in Part 3 next week :)

There may be other relevant discussion of this SITREP on the GSG forums.
Cogmind - Kyzrati
This week I let the partially-implemented robot hacking system simmer for a while to instead focus on other developments.

Guessing Game

First up is a rather common feature for classic roguelikes, the ability to tag items with player-specified text as a memory aid. Tagging is usually a part of the item identification process, and due to the nature of Cogmind's items and ID system it's almost never useful, hence the absence of a tagging feature all these years. However there are a handful of special cases towards the end of the game where you may know what a particular unidentified item is (based on where you found it) but not want to immediately attach-ID it.

Here are a couple silly examples of tagging inventory items.



And here's a more realistic use (albeit with a silly tag), also demonstrating how the tag appears in the item info window itself.



I'm sure this feature could also be used for just fun screenshots and jokes, too ;)

Infinite Power

There are already a ton of ways to get data directly from Cogmind, or indirectly through the wiki or about leaderboard player performance, but one of the external pieces of data we don't yet have is robot stats.

I certainly don't want to make players record individual data points from the game to populate the wiki, so for that and other uses I've added a command line option that automatically generates a CSV file containing all the robot data. The item gallery CSV export has already been used to generate the wiki's item pages, but there's been no corresponding feature for robots, until now :)

Here's a sample excerpt of the export, which in its entirety includes 179 lines and over 8,000 data fields o_O



Obviously there are going to be massive spoilers in the complete file, but people who do this will be aware of that fact :P

Again, you don't need any of this to play since object data is available in game, but some players like to have it around as an external reference.

In other data news, we have yet another performance analysis vector, this time from PlasticHeart who's set up a page that shares graphs describing peak state part occurrences among winners, allowing you to more easily see what they were using at their strongest before going on to win.

For example here are the most often equipped utilities--you can see the importance of storage!



The contents will naturally be skewed towards flight in general, because they can pull off wins much more quickly :P (It'd be interesting to compare this data set to another that only takes each player's highest scoring win to see if/what is different.). Flight players may not use so many Lrg. Storage Units, but they'll rank extra high here because combat players often use several at once!

The page is not yet automated, but is based on recent Beta 6 scores.

Note there are somewhat bigger spoilers in other graph categories in terms of item types you might see in the late game!

The Right Tool for the Job

One of my main Cogmind dev tools, which I started releasing freely five years ago, has been updated. You can read details in the REXPaint 1.04 release notes.

People have been making cool art, maps, mockups and all sorts of things with it...



On that note, if you've dreamed of making a roguelike of your own and need some extra motivation/resources/structure, that event I mentioned last week has begun! Check out the first week of the tutorial/code-along series for beginners and experts alike.

Just think, this can happen to you just like it happened to me years ago when I first got into this :P



Be The Hacker (Part 1)

Although I didn't work on hacking this week, it's about time to reveal some more details about how this new system will work, to avoid rampant speculation based on just the tidbits I've been handing out so far :P

First a bit of history.

Back in the pre-Alpha days (2015 and earlier), robot hacking was never fully realized, since ideally it would be designed to fit in with all the other systems but there had really been almost no playtesting since the 7DRL and three quarters of the world had yet to be created, so there wasn't much to go on at the time. Rather than build up something large right away, a better long-term approach would be to just add a smaller functional placeholder that could be tweaked or possibly replaced when necessary as the rest of the game took shape.

So then, as now in Beta 6, there were just a handful of general options running the spectrum from "temporarily disable" to "permanent assimilation." As it was clearly an underdeveloped system tangential to everything else going on, Alpha players almost entirely ignored robot hacking for a long while, exploring other mechanics instead.

Then came late Alpha, and it was discovered that a Cogmind could stack Hackware like there's no tomorrow and literally own anything in the complex, especially later in a run. Here's an example of this type of build, in a screenshot shared by zxc:



A +247% to hacking and the ability to hack robots around corners before they even know you're there? That sounds mighty OP xD (zxc used such a build in early 2017 to achieve the highest ever Cogmind score, a record which still stands to this day)

Certainly it takes skill to set up, but roguelikes should technically get more challenging as a run progresses, not easier, and that's generally how Cogmind works except when it came to strategies abusing this mechanic :P

Flight hackers had their fun with magic wands for a while, then of course I had to nerf it, explaining the diminishing returns of high-level robot hacking over the length of a run as a result of the system adapting its defenses. That said, even the nerf itself was just a temporary band-aid, because clearly much bigger changes were necessary as part of a new system, and that point would be coming in late Beta given that all the other systems were pretty much done.

And that's where we are now, preparing to welcome the last major system. ("last" on the list, but don't worry I have more secrets planned, plus of course there's always this which might happen :D)

I've been collecting and mulling over ideas for how to revamp the robot hacking system for more than a year now. There were quite a few reasonable possibilities to think through, but also a lot of potential pitfalls! Devs are unlikely to get a system absolutely perfect the first time, but as long as it has a solid foundation it can be tweaked and expanded without too much trouble if necessary. So this foundation is extra important. I've never spent this long designing a single system before (17 hours just designing!), and it's gone through lots of iterations and refinements (all on paper) as it starts to look both relatively balanced and interesting.

It's also worth pointing out that I'm very glad I didn't move on this system earlier, or try to have a complete extensive system available from Alpha 1. It would have had a negative, limiting impact on other developments, and much about the current state of Cogmind's world and content has enabled me to make smarter choices about how to best integrate robot hacking into it all, be it the tactics, strategy, or lore. In short, doing this earlier would've meant more wasted effort and less pleasing results.

So what is this new system already?!

Well, last time I showed you that UI animation, and that's where it all begins. With this machine.



Some of you noticed a certain "RIF Installer" in the Scan window of that earlier gif, and this is what it looks like. Every garrison will now contain one of these, and it's your choice whether to use it and deal with the consequences, and of course take advantage of the benefits!

You'll only have to do it once, and the first garrison appears on -8, so that would be your earliest opportunity, though you can do it at any time. You still get all the other benefits of a garrison on top of that, and there will be another advantage particular to robot hackers that we'll get to later.

RIF stands for "Relay Interface Framework," and with that you'll theoretically have access to dozens of ways to manipulate other robots via the Complex-wide garrison relay network. Like a number of other major strategic decisions, however, this comes with a drawback as it will prevent you from forming certain... alliances ;)

Such is the cost of effectively linking up with 0b10 to facilitate access to their systems. And from this point you can probably infer that the new robot hacking system only works on Unaware! This is just the first of several limiting factors--robot hacking will be quite useful, but not a panacea. It'll be what an interesting system should be: very effective when used creatively, but also challenging you to create manageable situations to begin with. Unlike the Alpha approach of "it's an enemy, overload/assimilate it!!!" there will be many unique encounters and different methods of approaching each. As with other strategies, planning ahead will be very beneficial, and to me that also really fits the theme of a robot hacker, whether a stealth hacker or combat hacker or anything in between.

Planning ahead will also be facilitated by the fact that the new system will be removing much of the RNG from robot hacking :D

But more on that and other details next time--there's still tons more to explain, and this is a good stopping point.

Cogmind is currently 10% off through July 5th, both on Steam and DRM-free from the site. As mentioned before, unless I get some kind of a deal from Valve (unlikely to happen again) there aren't any plans to discount by more than 10% during Early Access, which could go on for quite a while because the list of potential content is basically endless xD

There may be other relevant discussion of this SITREP on the GSG forums.
Cogmind - Kyzrati
The IDE's wait is over! I'm now back to real coding again. With the new robot hacking system fully designed, this week it was time to actually start building it all.

Last time I shared an initial mockup of the UI layout, which has since changed significantly. It's getting closer to what it'll probably look like, and I noticed it was kinda fun to see how the idea was changing as I played with it, so here it is as a time lapse:



That's still just a mockup--more changes are likely before I piece that bit together. (Also note that as a mockup, the contents themselves will not fully make sense and aren't quite realistic, so don't try to read too much into it :P)

I haven't needed the UI yet since none of the hacks themselves have been implemented, but the system's foundation is getting pretty solid. First up was adding the new mechanics for getting access to robot hacks in the first place. I'll be covering the system and its design in more detail later on, but know that you'll not have access to most hacks unless you do... this first:



You'll also need to collect this new type of hackware!



Still a long way to go before this collection of features is done, but it'll be worth it.

Seeing as I'm retiring the old robot hacking system, may as well share a shot of its spreadsheet calculations that I used to aid in its design some years ago:



This is common in design, to have spreadsheets where you can enter hypothetical values and see how they affect outcomes. I'm by no means a math whiz, but predictions like this make the testing and balance effort go so much more smoothly. Without something like this, grounding the design in too many guesses would be a recipe for wasted dev time!

The new spreadsheet I've already put together has a larger and more complex data set :P. It helped me set all the base values earlier this week--now I "just" have to code all those hacks...

PARSE

Many of you are probably aware that the current robot hacking scheme includes a relatively easy command, PARSE, one that I was initially planning to remove under the new system.



I've decided to keep it, while adjusting and improving it at the same time to make it more useful.

It'll still basically open up an extra page of info about the target, and you'll still do it via Datajack, but it'll be both freely available and you'll be able to do it to almost any bot. So my question to you is whether or not there's anything in particular you might want out of this new PARSE data?

I already have a new mockup complete with some fresh ideas of my own that have convinced me it'll be worth keeping, but thought I'd bring it up to see if there's any other input before I work on that.

Markov

There has been some recent talk of putting Cogmind's lore into a markov chain generator to see what kinds of things could result, and although interested I didn't have any time to play with it myself. Then a couple days ago Raine did just that and shared some results with us. Pretty funny stuff...

It's fun guessing where each piece of this new "lore" originated.



That's some nice tech...



And this sounds like a different game entirely xD



Unfortunately some of the others, including some good ones, can't be shared without clearly spoiling parts of the game :P

Now You Make a Roguelike

Last year on r/RoguelikeDev we held our first annual "Tutorial Tuesday" event, a couple months of weekly assignments for building your own roguelike, along with a primary tutorial to guide complete beginners and also help provide structure for other devs using their own libraries and languages. There were lots of participants and it was a great success.

We're doing it again for 2018!



It starts next week, so if you want to try your hand at roguelike development and need that extra push to help you get started and build momentum, consider joining! It'll take just a day or less of your time each week, and by the end you'll have your own roguelike you can build on :D

Lots of other people will be doing the same steps during the same weeks, so there'll be other devs who can possibly help answer your questions if you have any, and obviously there's the motivation of working on a project alongside a bunch of other people. You can get help on the sub in the upcoming weekly threads, or more immediately via our Roguelikes Discord in the dev channels.

The schedule and more info can be found in the announcement.

If you don't have a preferred language or library, it'd be a good idea to get a head start on the first week by checking out the python tutorials linked last year. We'll be following a different libtcod tutorial this year, but you'll want to know some of the language first.

Note that libtcod is the library I first used when I began creating roguelikes years ago, and it makes things very easy for you, taking care of all the heavy lifting so you can focus on adding all your cool roguelike ideas :D

There may be other relevant discussion of this SITREP on the GSG forums.
Cogmind - Kyzrati
As per the roadmap, the next major feature is robot hacking, and I've finally reached the final stretch of the design phase. Just the design phase!? This is a huge system, and building it for both balance and fun on the first go is going to take some doing. I've already spent more time just designing the system than any other in the game. It's for the better, though--the design seems to be coming along well after all this refining... Soon it'll be time to put it into practice!

I don't have much to share for it yet, except for one of the latest mockups:



This is a rough WIP and could still change alot. (I haven't really spent much time delving into the UI aspect yet, just planning the underlying system and all its related mechanics and capabilities.)

Later I'll be writing a lot about this feature, but don't want to share too much too early--let's wait until things are more certain :P

In other features, a little glowing `@` marker will pop up to show the direction of Cogmind when offscreen.



No one asked for this, probably because the map will never hop around on its own without your explicit command (and there's also always the commands to recenter the view), but I can see it occasionally being helpful to know this. In particular while working on hacking ideas I saw one new potential situation where it could become useful, so put this system together yesterday.

And as someone who never uses the Evasion window (it's useful! just not the way I play), I needed someone else to remind me that it still contained a modifier for "Cloaking," even though Cloaking Devices were repurposed and based on the actual part name associated with that mechanic it should be called "Phasing," so that's fixed for Beta 7:



Note that as of this week over on our Roguelikes Discord we now have three #cogmind channels instead of two. There are just too many deep spoilers, too spoilery even for the regular hidden "spoiler" channel xD. This will allow people who don't want to unwittingly learn about all the extended end-game content to still have a place to talk freely about the many other branches.

Painting with ASCII

I finally got a chance to update the online gallery for REXPaint, one of my main Cogmind dev tools. If you like Cogmind's aesthetic or other retro-ish art and games, you'll probably like what you see there :D

Some of the newer samples:



Stream of Robots

Having already done a number of Cogmind Beta 6 streams recently (still happy with that Pure Core challenge coming through with a win!) I switched over to do another POLYBOT-7 run, only my second so far... and won again! This time it was New Game+ mode, so harder than last time.



I did a little summary of that, including links to the videos if you're interested. (For those of you who haven't heard about it before, POLYBOT-7 is my free Cogmind spin-off project.)

I've done "so much" streaming this past month that I got invited to become a Twitch Affiliate. Hahaha... My channel is basically me playing the games I make. Now I just need more games xD. Hm, I've never streamed X@COM ;)

Honestly I don't plan to do a ton more streaming or change what I do--I basically stream in a more concentrated burst in the weeks after release, then rest the channel while putting as much time as I can into developing the next release. But hey as an Affiliate I guess we could get a custom emote!

If you'd like to read some more Cogmind-related material, this week for r/RoguelikeDev's latest FAQ Friday I wrote a bit about naming things. (There are a few small spoilers in there, but it mostly avoids spoilery material.)

There may be other relevant discussion of this SITREP on the GSG forums.
Cogmind - Kyzrati
GDPR updates--DONE!

Taxes--DONE!

Time to get busy with the stuff we all actually care about!

That said, there wasn't a ton of "proper" progress this week since I still had to catch up on personal chores neglected during Beta 6 development xD

Still plenty to share with you today...

91% Achieved

Last time I reported that 87.9% of our 256 achievements had been earned by at least one player, and now that number is up to 91.0%. That leaves 23 achievements that haven't yet been earned by anyone, nearly half (11) of which are various types of wins. That set will naturally take a little while longer to complete since wins can require dedicated non-overlapping strategies. By comparison already 26 (70%) of the win-type achievements have been earned so far.

All but two of the remaining 23 are unhidden.

I should mention that among the unhidden ones, Executioner ("Evolve 7 weapon slots.") cannot actually be earned as you might expect due to a bug in the check. It is technically possible, but requires a special item used under the right conditions--kudos if you can figure that out before the achievement is properly fixed for Beta 7 ;) (Collateral Damage and Watch This! are also broken--you'll have to wait for Beta 7 for the fixed versions of these.)

Here's the full list of achievements no one has earned yet:
  • Watch This! ~~ Sneak attack a Watcher and destroy it in one hit.
  • Executioner ~~ Evolve 7 weapon slots.
  • Cannon Specialist ~~ Destroy 100 hostiles with at least 90% of damage dealt by cannons.
  • Explosive Specialist ~~ Destroy 100 hostiles with at least 90% of damage dealt by explosives.
  • Pyromaniac ~~ Cause 20 hostiles to meltdown.
  • Collateral Damage ~~ ???
  • Curator ~~ Reach 100% gallery collection.
  • Superachiever ~~ Earn 75% of achievements.
  • Perfect Achiever ~~ Earn all other achievements.
  • Gladiator ~~ Destroy 200 hostiles via melee.
  • Desperate Times ~~ Enter a main complex map at -3 or above as a naked core with no inventory items, and find an exit (do not have to remain naked).
  • Fearless ~~ Enter a Garrison with below 10% core integrity and survive it.
  • MAIN.CPP ~~ ???
  • Inspector Gadget ~~ Win while only evolving utility slots.
  • Hardcore ~~ Win with 400 hostiles destroyed but no more than 4 utility slots.
  • One Last FU ~~ Win after entering an Access garrison.
  • Partners In Destruction ~~ Win fighting alongside the Warrior.
  • The Little Core That Could ~~ Win without attaching any propulsion.
  • Look Ma, No Swapping! ~~ Win the Fragile Parts challenge mode.
  • Unstoppable ~~ Win the Gauntlet challenge mode.
  • Stunt Win ~~ Win the Inhibited Evolution challenge mode.
  • This Only Looks Like Junk ~~ Win the Scavenger challenge mode.
  • Master Trapper ~~ Win the Trapped challenge mode.
As you can see, a number of of the win achievements also happen to be challenge modes, which will be easier to access once there's an in-game menu for them. Right now it's mostly long-time players who are going for those anyway (and they've already completed the hardest ones, so these others are just a case of when they want to win them).

Hardcore, One Last FU, and Partners In Destruction are probably the only three remaining achievements that are tougher and we won't see a lot of players accomplishing.

The following achievements have only been earned by a single player each:
  • Guerrilla Style ~~ Trigger reprogrammed (or placed) traps on 30 hostiles.
  • Minesweeper ~~ Extract 30 traps.
  • I Wish There Was More ~~ Reach 100% lore collection.
  • Shutout ~~ Seal, jam, or destroy all Garrison Access machines in Access.
  • WMD ~~ Destroy 100 robots in a single turn.
  • Most Wanted ~~ Trigger high security 4 times.
  • Full Golem ~~ ???
  • Traitor ~~ Kill Warlord in his base and escape.
  • Mad Max ~~ Win with 200 hostiles destroyed and without attaching any propulsion except wheels.
  • Grand Amoeba ~~ Win the Devolution challenge mode.
  • Terminals Are For Geeks ~~ Win the Simple Hacker challenge mode.
  • Super Mutant ~~ Win the Unstable Evolution challenge mode.
Again there are a few challenge modes since not many players have gotten around to trying those, but the majority are simply more difficult achievements.

All other achievements have been earned by at least two or more players.

Glory

Ape3000 has been expanding his wonderful leaderboard data (beyond the already wonderful graphs) to include global lifetime rankings across a number of categories:
  • Achievement%
  • Lore%
  • Gallery%
  • Time played (h)
  • Number of wins
  • Best speed run (turns)
  • Best speed run (minutes)
  • Lowest score win
  • Best part rating
  • Peak influence
For example:


There are also alternative versions that include only Beta scores, or only Beta 6.

Many thanks to Ape3000 for putting these together!

Challenge Runs

Since I haven't been doing fun stuff like designing and coding, in between other work I've managed to fit in more streaming than usual to take a break and try some things I haven't gotten to share on stream before.

Having already streamed a regular Beta 6 win a couple weeks ago, last week I went for a challenge run, the hardest one there is: Super Gauntlet. I died while approaching the late-game, but it was fun :D There's a summary with some images and YouTube links on the forums.

Here I jumped down a Chute because that's often a good idea :) (in this case alert was getting high after blowing up way too much stuff and having trouble locating an exit)


Hello and goodbye.


Then this week I streamed another challenge, Pure Core (no inventory allowed!), and won this one \o/. You can find the full summary on the forums, which also links to YouTube.

I can't show any of the later screenshots from this run because spoilers, but here's my drones finding some exits out of -6/Factory, although I didn't take these until I'd later identified them because I had a particular destination in mind and didn't want to get sidetracked considering I couldn't carry an inventory but was playing a combat build anyway! :P


Now that there are enough runs building up, and some are of a different type than others, I've split my YouTube channel into multiple playlists to help make it more obvious what's what.

I'll start to cut back on streaming as Beta 7 work gets underway in earnest now that all these other things are out of the way. (Although I'm thinking of doing another POLYBOT-7 stream soonish.)

Guidance

Pimski has translated PlasticHeart's flight prep guide from Japanese, so if you're interested in how to get a flight build up and running, check that out! Certainly don't ask me, because I am a combat player even when it's a bad idea xD. That said, flight builds are generally an easier way to learn more about the mid/late-game, and how you'll probably get your first win if you haven't already.

Expert players have also been working together on a comprehensive "community guide" that covers all the branches and lots of content and strategies, so hopefully that will be out at some point as well.

Little Stuff

So far I only have a few tiny things to share in terms of features for Beta 7...

Some very special parts cannot be repaired by Repair Stations, but you won't know that unless you remember the few rules involved, or actually try to repair it and the station says it's not possible. I've wanted to do something about this for a while, so I've found a way to fit that information into the UI as a new indicator (which is also described directly in the context help).



In an even more minor modification, the robot speed format now matches Cogmind's own format while in Tactical HUD mode, rather than always showing it as both percentage and in time units.



I've been planning out the next major feature to come, which is at this point mostly ready for the implementation stage, but there'll be no details on that for a while.

A slightly less minor thing: EA contacted me to say they'd like to put Cogmind on their platform (including Origin Access). EA sucks, but I dunno, I guess it could be good for publicity. Hard to say exactly what kind of benefits it might have since I doubt they'll give me any kind of real numbers to make a decision based on...

This is the third major company to contact me since the Steam release, but I'm still just plugging along by myself :P

There may be other relevant discussion of this SITREP on the GSG forums.
...