Cogmind (Steam link) is a unique roguelike game. It is generally in the traditional style, a turn-based map exploration game. The default graphics are done with tiles, but beneath them it even has the ASCII interface aficionados know and love.
As with many traditional roguelikes, there's a heavy emphasis on the items you find. In fact, the items are most of your character. Although you get the opportunity to upgrade the number of item slots each of your bot's four major areas, Power, Propulsion, Utility and Weapons, slots are useless unless there's something in them. And those items are often taking damage or wearing out, frequently requiring improvisation on the part of the player.
This interview with Cogmind's creator, Josh Ge, is nearly two years in the making! The possibility arose back at Roguelike Celebration 2016, but various things kept coming up. We finally concluded it mid-October 2018. Because of this, some of the information in the first section is somewhat out-of-date. Most of this interview was conducted over Twitter, with some email. It has been edited for publication.
This interview was first published in the fanzine Extended Play, available for free on its homepage and on the Internet Archive. It's also available from the @Play blog.
What is Cogmind?
John Harris: First off, who the heck are you and what is Cogmind?
Josh Ge: I'm a roguelike developer relatively late to the party, having only discovered this great genre by way of DCSS in 2011. Roguelikes immediately took over my life and I began work on X-COM: UFO Defense-adaptation X@COM, followed by a 7DRL in 2013 and REXPaint, an ASCII art and roguelike development tool, that same year. Shortly afterwards I started developing Cogmind (originally that 7DRL) full time, having logged over 6,000 hours in the past few years.
With Cogmind I'm trying to innovate on the genre without losing that core roguelike experience, by drawing on methods and concepts more commonly found outside roguelike canon, like advanced particle effects, the broadest soundscape ever to appear in a roguelike, and a living world where not everyone and everything is out to kill the player.
JH: Ah, that's kinds of high-level and vague though. Let's get a little more concrete: what is your character in Cogmind, and what is it trying to do?
JG: In Cogmind you play a robot whose abilities are derived purely from what components you attach, hence there is no XP or grinding, and by necessity or choice your loadout might undergo significant changes throughout a single run. I don't want to spoil the background or story, but strictly mechanically speaking you start deep underground and are trying to reach the surface of the world, usually via some nonlinear route. You can either fight your way out or rely more heavily on stealth and hacking, but in either case, understanding and adapting to how the world as a whole perceives and reacts to you are vital skills for survival. By the end you have over two dozen active components (you know, a-z) working together in a synergistic fashion, many of them possibly scavenged from fallen enemies.
JH: Ah okay. That's kind out outside the basic "lone human exploring a dungeon" structure that's traditional for roguelikes. What is character creation like?
JG: That's just it--there is zero character creation. You start out naked, and basically create your character on the fly by collecting and attaching parts, or taking those parts from other robots. Items are a lot more common than found in classic roguelikes, as destroyed enemy robots can each leave behind multiple parts to salvage, and there are hundreds of parts strewn throughout a single map (though maps are also quite large to accommodate the different space needs, usually ranging from 100x100 to 200x200). Equipment and inventory management naturally becomes a big part of the gameplay, and therefore the interface is designed to streamline a lot of it.
JH: So, do you generally always have the same parts available every game so you largely make whoever you want, or are some more common than others, forcing the player to adapt and make use of what he finds?
JG: Yes and no. There are currently about 900 different parts in all, and while many will be found randomly, a lot of them also come from salvaging the remains of other robots. Robots have static loadouts, therefore understanding which types of robots carry what is a way to work towards putting together a certain type of build. For example ambushing lone Sentries for their armor and treads to take a more combat-oriented approach; then maybe destroying Hunters for their targeting computers and kinetic weaponry. There is also a system for "fabricating" specific parts that you really want but cannot find. Still, players who can't adapt do not get very far! This is especially true because Cogmind includes item destruction--you can lose everything and anything you have attached. All parts are destructible, and that's a core part of the gameplay. But pretty much every player can describe runs where they've found themselves in one bad situation after another and are stripped naked, only to flee and rebuild into some new form not long after.
Basic Stuff
JH: Let's talk about the level generator next. One of the most interesting aspects of the game I've read about so far is that there are entities in the game that are responsible for digging passages and rooms. How generally does dungeon generation look? Are those entities I mentioned responsible for all the dungeons, or do they just mix things up a bit after the dungeon's already generated and in play?
JG: Map generation is actually handled in full before the player enters a given map. The in-game tunnelers and engineers sometimes seen building little new areas are purely for fluff/theme purposes, and are actually drawing on information the dungeon planner had already decided on beforehand.
They do represent one of the key AI features, though, that every entity in the game has one or more real functions that either generate changes in the world or react to changes caused by the player or other entities.
JH: That is interesting I think. So, if the player prevents those units from finishing their job, the level ends up half-finished? And could you give us some more examples of entities performing some side function other than being opponents? The analogy that comes to mind, BTW, are cells in a body, how they each have important roles to play in keeping it alive and healthy.
JG: Not by any means half, as it's just a small number of areas that work like that as a bit of fluff, but the analogy is overall very apt. Most of the robots you see in the world (by absolute number) aren't there to fight you, but carry out their own duties which have a real impact on the operation of the world. You can do your best to avoid disturbing the peace, and thereby stay out of trouble, or be a hostile presence that disrupts these operations for whatever purpose. Sometimes causing trouble is unavoidable, like trying to stop Recyclers from coming to take away the salvageable parts remaining after a confrontation. Those are probably valuable to you when trying to rebuild! There are Engineers which rebuild destroyed parts of the subterranean complex, Workers that clean machines and pick up debris, Mechanics that repair other robots, Haulers that move stockpiles of components, and more.
Hacking into these other robots, combat-capable or not, can also give you access to their abilities. That's not a heavy focus of the game, but it's there for players who want to toy with it. (Some can be quite useful, though!)
JH: What kinds of limits are there on just being able to get "one of everything?" Inventory size, equipment slots, power source?
JG: Items are divided into four types of slots: Power, Propulsion, Utilities, and Weapons. You start with 2 free slots for each (except 1 for power), and gradually gain more slots as you reach new areas--you choose the slots to "evolve." The base inventory size is 4 slots, but can be expanded by using storage utilities.
JH: You mention that most of the combat is with ranged weapons. One of the things about roguelikes is that missile weapons are always a bit more annoying to use than melee, because you typically have to enter a special aiming mode to attack. Does Cogmind have any ideas for remedying this?
JG: Cogmind's UI streamlines everything as logically as possible, so when it comes to attacking with ranged weapons, 'f' enters firing mode, and that automatically aims at the the closest target in range, or the one you last attacked (if there was one). Then 'f' again fires, so ranged combat is often as easy as hitting 'f' twice. For combat with multiple hostiles there are also easy hotkeys such as Tab for cycling through all available targets using the same priority/preference system, and Shift-Tab to cycle in reverse. It's all pretty fast. Cogmind also offers full mouse support for everything, so naturally for mouse users it's as simple as clicking on things to shoot them.
JH: Let's talk for a bit about what's one of the most immediately striking aspects of Cogmind, the graphics. It uses graphic tiles for the game world, it seems, but ASCII for the interface and, amusingly, ASCII-art portraits for items. Is there anything you'd like to point out about the graphics? How long did it take to make all that art? Did using ASCII help, in the Dwarf Fortress style of taking less effort to construct a very large number of objects?
JG: Well, first of all Cogmind was actually designed purely in ASCII and for ASCII, even on the map, and about 25% of the current player base uses that mode. The tileset didn't even exist until more than two years into development, a few months before I released the first public version, so ASCII is very much at the core of the design, and even the tileset style I chose sticks pretty closely to that underlying aesthetic. That was important to me as both an attempt to keep the benefits of ASCII-styled tiles, while also helping the overall interface feel more cohesive.
There are currently over 800 pieces of ASCII art for items, and another couple hundred for both interactive and non-interactive machines. Altogether I've spent exactly 326 hours on just the ASCII art for Cogmind (yes, I keep track of stats like this :D). That comes comes down to an average 26 minutes per piece, which sounds about right. (I also have a bunch of failed/inappropriate/surplus art that got thrown out as part of that process, too.) So while individually I find each piece less difficult than I would pixel art, it's still fairly time-consuming to get it all just right, not to mention the significant multiplier when it comes to doing this for hundreds upon hundreds of objects!
JH: So, let's say I have just started a game of Cogmind. What does the general "shape" of the game look like? That is to say, are there major tasks to accomplish on the way up, like subgoals that must (or just could) be done, or is it mostly just a sort of a homogeneous journey? Like... the archetype that always comes to mind for me for this kind of thing is The Odyssey, where the nature of the journey changes several times as Odysseus returns home. In NetHack, after the initial period, there are some bits where the game changes in fundamental ways: the Mines, the Quest, the Castle, Gehennom, the ascension run and the Planes, each of which have major differences from the others. In other words, how varied is the trip up in Cogmind?
JG: There are several ways to look at this.
In terms of the world structure as a whole, I can't get into the details because spoilers, but while everyone starts from the same point there are a number of things you can do which have a significant impact at some point later on, or even throughout the rest of the game. Most of these elements don't come into play until the mid-game, but experienced players are able to leave the early-game areas within about 15 minutes (survival becomes increasingly challenging the further you get). None of these are absolutely required, but a player may decide to aim for a certain area to take advantage of whatever longer-term benefit it provides, be it a highly specific "doing this will later trigger something that I need" or a more general "this area is likely to have the kind of loot or intel I need right about now." The potential effects vary wildly, though they are not procedural; they're all features which were added very intentionally, designed to mesh with both the mechanics and lore.
On another level, each type of map will tend to have its own unique mechanical quirks, and require unique strategic approaches. So the world is by no means homogeneous.
And from an individual player character point of view, the aforementioned item destruction and potential heavy losses combined with the ability to eventually use 26 items at once mean that not only is one trip likely to vary from another, but even a single trip can include multiple unique phases. Compared to a class-based roguelike, for example, where at the beginning you choose to be a spellcaster and by the end you're likely just a better spellcaster, a single Cogmind might start out wanting to go at the enemy heavy combat style, but somewhere in the middle get crushed and have to flee, build back up into a guerilla-style hacker for a while, and then later find a sufficient cache of gear to once again transform into a fighter, likely with even deadlier firepower than before. Sometimes these are calculated shifts in strategy, and others they're just "going with the flow," where I believe Cogmind's design is at its strongest.
Project Progress (Circa 2016)
JH: Well, let's talk then about how it's progressing.
JG: It was first introduced at $30 in May 2015 on my site, and then half a year ago in May 2016 I lowered it to $25 for the anniversary. But it's gradually coming down and before long will be $20 by the Steam release. Regarding pricing I've been planning to write a blog post pretty soon to explain my decisions in more detail, but I prefer this model and it's working out quite well.
(Note: Since then, Cogmind has released on Steam, currently for $20.)
Just a couple days ago I was planning out the final stretch before 1.0, and the more I look at it the more I'm thinking it's going to be a largely symbolic milestone. There are things I want to add to Cogmind, or improve further, for which it doesn't really make sense to continue calling the game "alpha" in its current state--even at Alpha 1 it's been a complete roguelike experience, and that was 18 months ago! So instead I'm going to consider 1.0 to represent "story complete," and continue developing for some time after that. (Josh's notes on Cogmind's development are published on the game's development blog, at https://www.gridsagegames.com/blog/)
Before long I'll also be looking to write a retrospective article examining Cogmind's evolution through alpha over the past year. As of today I've so far clocked 6,272 hours of Cogmind-related work since starting over three years ago.
JH: That is a lot of time, even if you don't consider it "finished" yet. There is still a lot of value in a solid 1.0 release though, psychologically and to the players. Especially if you get a lot of players from a solid major version release, some issues may only turn up only after you get a lot more eyes looking at it, I'd think.
JG: It's a labor of love. And the psychological meaning is certainly important to me. This is why I keep feeling tempted to postpone it while I make it "perfect" with all the other things I have planned. That said, there are already thousands of players. More than enough eyes, I think!
JH: So, the 1.0 release is planned soon then?
JG: Well, the main thing that bothers me is that even on my own long-term list of things to do, I'm aware of a near inexhaustible number of things that could be improved. This is without further input. And once I call it 1.0, newer players will certainly start to bring those things up, and dealing with that as a solo dev is a significant drag on development time, which is why I keep wanting to put off that release.
The story could be completed within as little as one more alpha release.
JH: So, that means you can play the game all the way through and reach a conclusion?
JG: I believe there are some more accessibility issues I should address before daring to say 1.0, namely key rebinding and an OSX wrapper, which altogether could be rather large stumbling blocks.
The game has had an end and conclusion since Alpha 1! What I'm doing now is adding all the outlying areas and alternative endings.