Official development blog

Data and Insights from a Month on Steam

So last month Cogmind “launched” … for the second time :P

It’s now on Steam EA and doing fairly well. Not like indie smash hit amazingly well, but that’s a given considering it’s way too niche for that kind of attention. Still, the relatively unexciting screenshots and two-year-old alpha trailer are apparently sufficient to attract the type of player who will enjoy Cogmind, and that’s all that really matters.

To be honest, going into Steam I had zero expectations, which from a sanity point of view is probably the safest way to do this sort of thing. Cogmind’s “first launch” was Alpha 1 back in 2015 (see the comprehensive month-1 postmortem), and at the time I was pretty nervous/excited, but also had more savings remaining to fund work on it (regardless of sales), plus the project was flexible enough that if necessary it could be completed in a short while. (In gamedev time, a “short while” means a year or less ;D) Since then I’ve already found there are just enough players out there to keep development humming along, even without help from Steam, so while putting Cogmind on another platform was a big move that could affect the feasibility of long-term development work, whatever the result it wasn’t nearly a make-or-break thing for the current project like it is for a lot of other new devs.

I must say it feels really good to have this milestone behind me. It’s nice to no longer have that pressure building in the background--I was starting to worry about Steam’s rapidly changing landscape:


Number of games released on Steam each year, as of November 14th, 2017 (source: SteamSpy).

Nearly as many games were released this year so far as the entire 2006-2015 period. Now that anyone with $100 (and a game with some semblance of playability) can release on Steam, the flood gates are open and tons of people are doing just that. A good game with decent outreach can still do fine, but Steam is notoriously bad at “discovery” in the first place, and the sheer number of games means the exposure value of being on Steam is greatly reduced, and getting worse each day.

This trend was inevitable, but I didn’t quite have enough time to get in ahead of it.

Still, in hindsight I continue to stand by all my previous decisions, such as with regard to pricing, releasing only via my own site for the duration of alpha, and extending development to include more features and content.

Earlier I shared what goes into preparing for a Steam release, and now it’s finally time to talk about Cogmind’s first month on a new platform! We’ll be looking at reception, rankings, traffic, sales, and more.


First of all, let’s look at the traffic data to help give the rest of this article some context. (*Note that some of the data in this post is not equivalent to a month beginning on launch day, because it was compiled a bit before the month ended.)


Visitor sessions over Cogmind’s first month on Steam (annotated).

It’s easy to see that although over this period my own website saw a respectable number of sessions (16,103 in all), this value was dwarfed by total visits to the Steam store page: 236,665!

So while long-term exposure on Steam isn’t what it used to be, quite a lot of fresh eyes will be seeing a new game for the first time on launch day. Not to mention technically the above are people who actually visited the store page, whereas so-called “impressions” (those who had a chance to see the name and logo w/link) were much much higher. Although I have that data, I can’t release the specifics because it’s under NDA (unlike the above graph, created from my own Google Analytics tracking data).

There were not a lot of noticeable events worth annotating on the graph, at least not compared to my previous postmortems, but that’s partially because much of it is overlapping within this short period and therefore doesn’t stand out. A bigger reason would be that a mere 10% of Steam sessions originate from external websites, e.g. Reddit (about half of such visitors), Google, Twitter, and others.

So 90% of traffic is actually coming from within Steam, which itself has a huge range of different sources. Steam breaks them all down into narrow categories, but I’m not allowed to share all those details here. However, I will say that the largest chunk of Steam traffic comes from tag pages, and specifically within those lists the New and Trending tab which I’ll talk about more later.

The only two post-releases blips so far on the sessions (and therefore sales :P) graphs are:

  • PC Gamer: Just a little news piece announcing Cogmind’s arrival on Steam. PC Gamer was the only major news outlet to run anything during the launch week.
  • A comment (not even a post, but a comment!) on r/games. A lot of good games were discussed in the thread, and which was itself highly upvoted. Word of mouth is so incredibly valuable for indies :)

Notice the significant drop-off following the first week. There’s no way to know for sure, but based on anecdotes and past experience I’m guessing it would’ve dropped off even sooner had I not chosen to go with the 10% launch discount. Valve recommends launching with a discount, and it’s yet another factor that Steam might use to promote a game more heavily throughout their site. Not to mention it attracts more visitors who see a game available below full price (Steam also intentionally makes this information very prominent… everywhere).

About 73.8% of visits happened while the sale was active, and we’ll see that reflected again in some of the following sections, though I’m very interested to see whether/how that ratio changes in the future when not mixed in with so many launch factors.

Another fun little statistic to look at is the store page’s real-time visitor count. This is about where it peaked on launch day:


Cogmind Steam store page analytics on launch day (2017.10.17)--peak active users.

I launched shortly before 6 PM US Pacific Time, so it was late in much of the US and Europe was already asleep. The number of concurrent visitors would probably have been higher if earlier in the day, but I chose the most suitable time for my own time zone (9 AM!) because I’m working on this alone and have to field all questions and issues myself, after all.

Charts and Algorithms

Being far too busy with other work, following the launch I wasn’t glued to charts (or revenue, for that matter), but I did have a browser set up for occasionally checking in on various Steam lists to see how Cogmind was faring for the first week or so. This was mostly just to get a better idea of the state of the market. I watched these via a US VPN so as not to taint the data with my own profile.

Steam has a massive user base, of course, and where a game is placed or highlighted on their site will have an equally massive impact on sales. Funny enough, in general a game must be able to drive sales for it to get on, or stay at, a prominent place on most of these charts in the first place, so it’s kind of a chicken and egg question. Being a good game in the first place definitely helps here, as does pre-release hype to attract a surge of early buys and interest. Equally important is having a preexisting community to start it off and help sustain the momentum, which is further supported by organic word of mouth and random coverage (which I’ll talk about later). That said, almost any game has an audience out there and will manage to get some initial sales--there are simply so many people watching.

As mentioned in my steam prep summary, regarding exposure it’s both possible and important to have a game’s store page published before release, as early as possible. In addition to simply building interest, it also allows prospective players to wishlist it in order to be notified on release. Yet another benefit is that prior to release the game can apparently even get some placement on other Steam pages. While the “Upcoming Releases” list is not so valuable to anyone now (players and devs alike) due to the flood of games, Cogmind in particular was immediately paired with another popular roguelike, Caves of Qud:


“More Like This” Cogmind-Qud pairing.

Each of our games occupied the top slot of the “More Like This” suggestions on the other’s store page. In fact, I haven’t checked lately but this was the case from the first day Cogmind’s store page went live through to more than a month after release. Steam may be bad at discovery, but this is a no-brainer :P. Although Qud and Cogmind are technically rather different games, there’s a lot of overlap between the player bases and the two are often brought up together across the web in numerous discussions, even in many of the same articles (for example here on PC Gamer). This is interesting because it seems to imply that Steam algorithms uses some outside criteria (considering Cogmind had no prior presence on Steam), unless perhaps they simply noticed on day one that a lot of people who own Qud had also suddenly wishlisted Cogmind (?).

Now on to the placement following launch…

Steam users can browse games by category, e.g. Action, Adventure, Strategy, and within each category are four tabs: New and Trending, Top Sellers, Specials, and New Releases. The latter list is simply chronological and not all that interesting, given that new games disappear pretty quickly as a couple dozen more are released every day. “Specials” is for anything on discount, which technically would include Cogmind and its launch discount but I didn’t follow that so don’t have anything to say there.

Putting Cogmind out there is actually the first time I’ve ever really used Steam, and launch day was my first time looking at these charts so this was all new to me. At first I didn’t even know what kind of charts I should be watching, but come launch day others on Twitter were pointing out Cogmind performance on various charts so I figured those were good to keep an eye on :P

I mostly followed the Early Access category (duh), Indie, and Strategy, about which I’ll provide details in the following sections.

Main Carousels

A “carousel” would be the collection of large images prominently displayed at the top of a page, a select few games that users can cycle through and which Steam wants to promote for whatever reason. They actually list the reason below each game, be it because it’s currently selling well, it’s new and trending, or the user has showed an interest in such games before, etc. Games included in these carousels are swapped in and out fairly frequently.

Of course the most prominent carousel of all would be that on the front page of Steam. With The Flood upon us, front page exposure for new games is no longer guaranteed, but games that are popular or selling well can end up there organically. When Cogmind launched, surprisingly the initial surge of purchases was enough to get it on the front page, though only for a brief time. It was there for perhaps an hour or less, and didn’t bring in much traffic at all compared to other sources.

Still, it was definitely cool to have my first commercial game featured on the front page of the largest video game platform in the world. So of course I had to screenshot it :)


Cogmind on the front page of Steam… in 2017!

There’s no way a niche game like Cogmind could maintain a presence on that page for long (even less probable as an EA title), not to mention about a third of the slots were taken up by various Witcher products… Apparently I released on the same day as a 10-year Witcher series-wide sale, but the market is so active these days that if it’s not one thing it’s another, so no sense in putting too much effort into finding the best release window! (Technically I can identify some undoubtedly better windows, but they push the release back into next year and I didn’t want to wait that long considering Cogmind was ready. Interestingly, not long before launch I read an article about another indie studio that postponed releasing their already-completed game to next year.)

Much greater numbers of visitors were brought in via carousels on relevant category pages, where Cogmind enjoyed prominence for multiple longer periods.

Cogmind sat on the Early Access carousel for almost the entire first three days, displaying the reason as “Top Seller.” Then it disappeared for a few days before returning once again for the same reason, not coincidentally on the final day of the launch week discount. I wonder how Steam figures that, though, because sales were mostly declining in the lead up to that day. My guess is they’re probably also factoring aggregate sales over the previous week (or something like that) and also giving an extra boost to new games nearing the end of their sale period since a looming deadline can spur people to buy if they’re on the fence. On that note I did see some meaningful anecdotal evidence, several people saying they wanted to catch it before the discount ended.


Cogmind hanging out in EA carousel for a few days.

In the Strategy category, for the first two days Cogmind also sat in the main carousel, often as the leading game (!). This definitely surprised me since this category includes all Strategy games on Steam, not just Early Access. I had thought releasing Cogmind as EA would relegate it to a smaller subset of the site, mainly the EA-specific area, but that’s apparently not the case. Strategy is one of the somewhat smaller categories on Steam, and I guess there weren’t as many big strategy titles released around this time, so there was space for a niche game to edge its way in there :)

I don’t think Cogmind ever appeared in the carousel of the other category I was keeping an eye on: Indie. That wouldn’t be a surprise since it’s without a doubt the broadest and most competitive category these days.


Steam games in each category as of November 15, 2017 (remember that games can belong to more than one category!) (source: SteamSpy).

New and Trending

Based on store page visitor data this tab is source of the most visits compared to other tabs (by far)--the average user apparently doesn’t browse tabs such as “Top Sellers” all that often. This makes sense because that list is repeatedly dominated by the same few popular games anyway (even if others manage to occasionally edge their way in). New and Trending, on the other hand, is filled with mostly new (or recently updated!) games, so this is a more interesting list for users to browse, and therefore more valuable for developers to have their game appear on. Games that update often get more exposure here. This category also includes games that are simply “trending,” so even without an update those with lots of new page hits have a chance to rank here, too.

On the Early Access page, Cogmind was the #1 New and Trending game throughout the first day, though naturally started dropping over the second day as other major EA games were released. By the fourth day it was down in the middle of the second page. (Note that each page lists 10 games.) On the sixth day PC Gamer posted the release news and Cogmind was once again up on the first page, at the bottom, so store page activity is definitely a factor.

Under Strategy, Cogmind was also the #1 New and Trending game for most of the first two days, though by 48 hours it was pushed down to #2 as a non-EA strategy game took the lead. Overall Cogmind sat on first page for most of the week.


Cogmind topping New and Trending in Strategy, and leading main Strategy carousel, during launch week.

Launch week performance on the Indie New and Trending page was very similar to that of Strategy.

Top Sellers

This would be the category devs are especially interested in watching :P. If we can’t make enough revenue, then we can’t develop more games--or in some cases even *gasp* finish the ones we’re working on!

An interesting note about the Top Sellers charts: Rankings really are by how much money games are pulling in over the previous hours, so you know that games above you are making more per hour, and those below are making less per hour. Therefore, once you’ve had a game occupy various positions on this chart, the values are consistent enough that you can essentially know how much money other games are bringing in (even once you’ve fallen off the charts). Cogmind did really well on Top Sellers lists for a while, but as a really niche EA game naturally didn’t hold top slots for long. By comparison a number of popular games are high on these lists all the time, and wow some of those games are really raking it in… You can more or less already have a general idea of sales performance via SteamSpy, though knowing the “value” of a Top Seller slot enables you to much more accurately calculate actual gross daily revenue.


Cogmind’s Top Seller page rank (10 games per page) in select categories over the first nine days. I’ve also marked the days on which Cogmind spent a lot of time in a given category’s main carousel.

With a surge of buys from fans waiting for the moment of launch, Cogmind was #2 EA Top Seller right away, under PUBG. That would be a tough one to unseat, though I did hear that Cogmind held the #1 position for short time around noon during its first full day on sale in the US (but I wasn’t awake to see it). The third day’s resurgence back to the first page was likely due to quill18, who had begun uploading his Cogmind stream videos to YouTube. This is more apparent on the sales graph rather than raw visitor sessions, because the people coming would naturally be more interested in this sort of game and therefore more likely to buy than the average visitor.

As mentioned earlier, Cogmind reappeared in the EA main carousel on the last day of the launch sale, and likewise you can see in the graph that it was also back on the first page. On the tenth day it had completely fallen off the EA charts, though reappeared on the fourth page when I later checked during the r/games comment. That single comment definitely gave a nice sales boost! Around this time it was also pointed out to me that Cogmind was in SteamSpy’s Top 20 trending games list, and also the highest player-rated game of all 100 on the list. (It seems a lot of stats-savvy players like to follow SteamSpy, too--it’s not just devs.)


Cogmind Steam EA day 1 Top Sellers list (Early Access category). Right below PUBG is about as high as we go :P

As one might expect, Cogmind didn’t do quite as well on Top Sellers lists outside the Early Access category. The other categories also include all complete games on Steam, so I wonder how many people ignored Cogmind due to the “Early Access stigma.” Would Cogmind have fared much differently if released as 1.0? We’ll never know. (Though I still think going EA was the right way to handle this.) Regardless, Cogmind’s performance on those charts certainly wasn’t bad!


Cogmind Steam EA day 1 Top Sellers list (Indie category).

Gold Rush was a fairly popular non-EA game released on the same day as Cogmind, so it ended up nearby on a number of charts. Cuphead is of course the latest indie sensation so no surprise to see it up there. I think the highest Cogmind managed was the #3 Indie slot, and only for a few hours on the first day. Only two EA games appeared on the first page: Cogmind and Rust. Everything else was a full release. It’s a competitive category, after all, with 66.6% of games on Steam marked “Indie.”

Cogmind slipped off the first Indie Top Sellers page on the first day, but came back before long as the US woke up, again making it very clear where Cogmind’s primary player base hails from (about half of players are in the US, unchanged for the past couple years). After that it was mostly downhill, though as a large category even being dozens or more games down the list Cogmind was still in good company, like on day nine when it had fallen to page 16 (games #161-170) hanging around with Gold Rush (still :P), Heat Signature, and others. There are simply so many good games out there now!

Despite some upticks in EA and Indie performance later in the launch week, in the Strategy category Cogmind’s Top Sellers performance maintained a continual downward trend. A lot of new strategy games were coming out that week, in addition to new DLCs, and these were pushing other games down fast, showing that it really does matter what else releases around the same time. There are simply too many to know them all beforehand, however, and too many variables to predict how a given week will play out, so best not to worry about it.

Tag Pages

Another more targeted way for Steam users to find relevant games is to look at tag-specific lists, e.g. “rogue-like.” The top results for a given tag appear as a collection of logos rather than a list, but looking for addition results shows them in standard list format. For pretty much the entire launch week Cogmind was among the top results for its main genre tag, along with a lot of other well-known… um… “roguelikes,” yeah.



I don’t have any data to draw conclusions from this placement, though. I mean it looks cool, in any case :D

Post-release Updates

On November 12th I released Cogmind’s first post-Steam update (or “patch” as they’re called on Steam). Out of curiosity, later that day I checked a few lists to see if it had popped up anywhere and found it pretty high on the New and Trending chart in a number of categories.

That day Cogmind was back to page 1 under Strategy and page 2 under Indie, though strangely all the way down on page 9 for Early Access--perhaps EA is weighted differently? I also found it on page 1 for RPGs and page 2 for Adventure… Do these old “genre” categories really mean much anymore? Some are so vague :P. By the next day Cogmind had again completely disappeared from all lists. And there was definitely a bit of an uptick in sales around the update, too, but not by any means Top Sellers material.

The point is, updating often is a good way to naturally generate some extra exposure and sales through the default behavior of Steam’s systems. No wonder Caves of Qud patches almost every week. Seems like a really good strategy…


While Steam doesn’t permit developers to share specific sales or revenue numbers, they do allow 1) aggregate data including both Steam and other sources, and 2) use of any graphs to show relative changes without giving any values. So have a graph :D


Cogmind Units Sold (170519-171113, aggregate across all channels).

Cogmind has already been out for a while, so a significant chunk of the core fan base already owned it by the time it released on Steam. This somewhat stymied the potential for an even bigger launch (as previously reported, over 4,000 people bought Cogmind before it came to Steam!), but as I’ve talked about before spreading the exposure over a longer period was a calculated move.

Perhaps unexpectedly to some, despite the numbers in the above graph the Steam release is not quite the boon it appears to be--pre- vs. post-Steam revenue isn’t nearly as lopsided as sales imply. Remember that Cogmind was priced much higher for most of its pre-Steam lifetime (more pricing data here). Taking that into consideration along with the extra costs of selling via Steam, honestly in the end the Steam sales are just okay. In fact, net revenue calculations show that percentage-wise a significant chunk of the first month of Steam sales were matched by my first month of direct sales! I can see why people launching right to Steam fight an uphill battle and these results further validate my earlier decision to start selling on my own back in 2015. I’ll admit it’s nice to see that after only its first month on Steam, Cogmind is closing on the gross revenue of two years of direct sales, but that’s gross revenue--a much much smaller amount actually reaches me!

Still, being on Steam now is great because:

  • A lot of the people buying through Steam are people who wouldn’t, or couldn’t, buy from my site for whatever reason, either it was too pricey back then, because it’s not set up for regional pricing like Steam is, or (most commonly) because buying through Steam is really easy and convenient for users who already have an account there. When it comes down to it this means more people playing, and more revenue in the long run.
  • I’ve noticed that selling both direct and via Steam has not significantly affected the volume of direct sales! This is kinda surprising, but even with Steam as an option out there, about the same number of people are buying from my site as the pre-Steam days. It might change down the line, though, since we’re still only a month past the EA release… something to look at again in the future. (Another factor to consider here: Linux/Mac players, of which there are a fair number, will prefer to buy from my site since there is no official support on Steam and Valve doesn’t make it easy for non-Windows players to acquire a Windows version of the game.)
  • It’s a little easier to hand out Steam keys when I need to (and easier for people who have Steam to redeem them), compared to keys for my DRM-free system.

I also have the option for people to buy from my site (in order to better support development) and then request a Steam key, and some players have been taking that option. There are usually about one or two of these per day. I’m familiar with the number because I’m handling it manually rather than via automation :P

Anyway, the good news is there’s enough support for continued development for now. (Note: I will eventually have to write about how hard it is to stop working on a fun and popular project that has a lot of momentum…)


Wishlists are an interesting thing on Steam, a convenient place for users to record games they’re waiting on for whatever reason, or… ignore them forever (easy to do nowadays when there are clearly more good games available than many people have time to actually play!). There are so many different people in different situations out there that it’s hard to say what portion of “wishes” belong to a given category, which can range from simple release timing to current price, demand/interest, reviews, platform support, state of completion, hoping for someone else to gift them… too many factors!

But based on the discussions I’ve read, devs like to keep an eye on these “potential sales” waiting to happen and find ways to convert them into actual sales. I’m not going to obsess over it, though in Cogmind’s case I can factor out a lot of significant blocking factors and say that I bet a majority of my wishes are simply waiting for a lower price. (This speculation is reinforced by the apparent effect of discounts on sale numbers, which I’ll cover next.)

Interestingly, so far Cogmind’s wishlist totals track sales pretty closely. Since release the number of outstanding wishes at any given point is about 3.5 times the number of actual sales. Info from other devs seems to confirm a relatively constant ratio between wishlists and sales, though the specific ratio for each game will of course be unique to its own set of factors.


Cogmind Steam EA Launch Period Outstanding Wishes, which basically tracks the rate of sales from launch (Steamworks graph).

Many of these wishlists are no doubt waiting for the “right price,” though I don’t plan to do any heavy discounting any time soon (like, at all during EA), just the occasional 10%.


Approximately 68.4% of total revenue from the first 27 days was earned during the launch week’s 10% discount period (which technically lasted only 6.5 days because Steam always ends discounts at 10 AM in their time zone rather than an actual week-long period ending seven days after the discount starts!). By the numbers, there was a steep drop in revenue once the discount ended, cutting daily revenue in half the very next day, and in half again the day after that, before starting to stabilize into a long tail.


Cogmind daily revenue on Steam (y-axis removed as per Steam instructions).

That’s a steep drop. Even with the launch as a conflating factor, it’s already clear that on Steam most people want their discounts! Steam of course does a lot more promotion for games with an ongoing sale, further contributing to the already strong effect temporarily lower prices have on the natural consumer desire to get a deal. There’ll be another 10% discount coming up for the Autumn sale, and it’ll be very interesting to look at the graph again after that.


The good thing is, the launch went really smoothly. It’s great to have a game that’s already been debugged, polished and extensively playtested before bringing it to a new market where the player base will grow exponentially. As a solo dev it would’ve been a real pain to have to deal with both fixing things and managing a new and growing community at the same time, but since there’s nothing major to fix, I could just focus on the latter. And I must say just the latter kept me pretty busy! I worked for 16 hours on the first day alone, responding to emails while juggling a bunch of different forums, threads, and social media channels.

Before heading to Steam I was afraid I might be overwhelmed by too much discussion, since I like to address all player concerns and questions, and Steam has such a large user base. While not unlike the 2015 alpha launch the first couple weeks were extremely busy, it later died down to relatively manageable levels (defined as being able to both engage in discussions and also complete other tasks :P). Having experienced players around to field questions was a great help (another reason to come to Steam with a prebuilt community). Thinking back to Alpha 1, the EA release would’ve been rougher if I had put that version on Steam, so I’m glad I didn’t do that and kept the player base to a more manageable size while we worked on further improving it. I mean Alpha 1 was already pretty good since I’d polished that for ages on my own, but there’s always more that can be done (even now!) so it was nice to have yet another buffer between alpha and Steam. Scale slowly, avoid headaches.

The sudden influx of players certainly blew away all previous numbers. Some were players just discovering it via Steam, others were earlier alpha supporters who had simply put their money in the pot to help get Cogmind developed and were now just showing up to start playing. And I’m honored that some even took vacation time from work to play :D

Since it’s pretty standard behavior for games nowadays, just before releasing to Steam I toggled on the default setting for Cogmind scoresheet uploads. This made it easier to collect scores and basic preferences from players, and showed that in the first week we already had something like 700 unique players getting far enough into the game to upload scores. (This even broke the leaderboards for a day…) That number is now over 1,000, and where during Alpha players submitted maybe 500 runs per month, in the first month on Steam that number broke 25,000. We’re going to have a really nice collection of stats to share after a while! (I’ll possibly do a blog post on it this time rather than just posting on the forums like I normally do.)


Good reviews are incredibly important for indie survival, so it was nice to hit the “Very Positive” threshold (which requires at least 50 reviews) on only the third day with a 100% positive ratio. And that’s just the ones that count towards overall review score. Valve changed its policy last year such that only reviews from owners with keys purchased through Steam count towards the score, so sadly the most avid fans (alpha backers) don’t count. Still, all reviews are valuable because people do read them (for example the current all-time upvoted “most useful” review is by an alpha backer).


Cogmind reaches Very Positive on day 3.

One month after releasing to Steam, Cogmind has a total 203 reviews, 119 (58.6%) of which count towards score. Not bad, though after the first couple of weeks new reviews slowed to a trickle, so it’ll be a while before hitting the next and final threshold: 500 reviews. From what I see, though, making it there has a very nice effect on Steam promotion, so hopefully we’ll reach it one day.

Cogmind’s first and only negative review is not in English, and by someone who apparently reviews all well-received indie games negatively just for laughs… One other serious player gave a negative review, but later changed it to positive after more play and community discussion. He also pointed out an important area I was thinking of changing anyway (giving all difficulty modes access to all maps), so yay for constructive feedback.


There are so many thoughtful reviews it’s hard to pick a representative sample, but here’s an… evocative excerpt.


Many are quite specific in the elements they point out and analyze. Some are more general and possibly over the top :P

Overall player reception has been good. There were the expected scattered complaints about map objects being too small to see clearly, though this issue turned out to be less serious than I imagined. I did try to head them off by making this aspect doubly apparent in both the system requirements and game description, pointing to a special page I put together a while back for this purpose. As it’s something I can’t and won’t be changing, the best I can do is make sure to set expectations as early and clearly as possible.

Aside: In my recent Steam dev travels I’ve heard a generalization that says for about every 50 Steam sales there’ll probably be 1 review. Interestingly that seems to hold true.


Attention from influencers and publications has been spotty so far, but in aggregate still helped reach a lot more people than I could on my own. Most importantly, the audiences of Let’s Players who enjoy a certain type of game are much better targets for news of Cogmind’s release than Steam promotional placement which feels more like wildly firing a shotgun in a general direction. On the LP front:

Together these were extremely valuable during launch month, and I know we’ll see more series later.

I also streamed a couple of times in the first month, which is all I could fit in so far, but it’s been a lot of fun! There’s definitely something to be said for the dev of a game streaming their own play experience while both teaching new players and giving everyone an opportunity to ask questions and get immediate responses. It’s also always fun when random visitors happen upon the channel and eventually from some comment or another come to realize that I’m the dev :P

Some fun smaller blogs and reviewers covered Cogmind during launch week:

None of these were people I contacted, just fans with a site to post to. I don’t religiously check Google Analytics to see where links are coming from like I used to, instead generally finding out about this kind of stuff via Twitter. I have a TweetDeck column for anything mentioning the word “Cogmind” that’s been quite useful over the years.

As for major media outlets, I’ve already mentioned the PC Gamer news, and there was also the very favorable PC Gamer article that just happened to come a couple weeks before Cogmind’s Steam debut (perfect timing!). Though there haven’t yet been any reviews by major sites, Cogmind did get very favorable coverage from the medium-sized Save or Quit and Ratgeberspiel (German).

Cogmind has also had one post-release print media appearance so far, two pages in the November issue of Canard PC (French), the leading video game magazine in France, Belgium and Switzerland. They rate it “Sans Danger,” meaning it’s safe to buy even though it’s in Early Access :D


Canard PC Cogmind Early Access review.

I’m not actively reaching out to media, but from what I hear there is more coverage to come, possibly from some other major sources.

Interviews are another way devs get the word out about their latest project. I was invited to some podcasts, but have had a sore throat for ages now (recurring issue due to allergies), so have had to pass on those. Instead I just initiated my own via AMA on r/gamedev, and was also invited to do a written interview for Indie Hackers, a pretty interesting site for entrepreneurs. They don’t really have any gamedevs over there, so were looking for something fresh. I answered questions about things like marketing, revenue, creativity, advice for others, and my own background as well as that of Cogmind. These aren’t so much coverage as just doing what I like to do--getting out there and providing info useful to other devs.

With attention also comes… lots of fake emails, though not as many as I hear other devs getting, possibly because Cogmind is Early Access (?). These are very easy to spot, often linking to YouTube/Twitch channels with no relevant videos (someone who exclusively records FPSs suddenly wants to share Cogmind?). One scammer even went as far as editing the HTML of a streaming site’s profile page and screenshotting his creation in a pre-emptive attempt to prove that he was the owner (because scammers realize lots of devs are catching on to these schemes). I asked that he use his official Twitter account to DM me real quick and never heard from that one again :P. By far the most common scam I’ve seen (a new trend?) are fake “news blogs” and “review blogs” that do have a lot of articles, but they’re copied from other sites (generally non-English sites, perhaps because it’s easier to fool English-speaking devs who just see gibberish and don’t care to look deeper). The site itself actually has no comments on anything, and there’s no real pattern to the articles--it’s random industry news or articles about major titles. Similarly I’ve heard of fake YouTube channels that just copy videos from other channels to look real, but I haven’t had any of that variety contact me yet. In any case, it’s not necessary to look deeper because once you’ve seen a couple of these emails and sites, they all become pretty obvious at a glance. Note that these scammers have no intention of actually playing or reviewing the game--all they want are keys to resell on the gray market.


Most of the points and observations I wanted to make were made on the way (wow that was a really long way) to this final section.

It’s worth emphasizing that a game will do much better if it has an audience prior to arriving on Steam, both in terms of easier community management and also a boost in attention and sales to stay higher on those charts and keep residual sales going for longer in a self-sustaining cycle. This factor will only increase in importance over time as Steam is flooded by even more games. Don’t expect Steam to provide meaningful exposure on its own--by necessity it’s doing less and less of that for individual games as time goes on.

I’m sure I’ll have more to say about Steam results further down the line, since this is by no means a regular month and sales naturally drop off after a while. We’re already easing into the long tail and can be on the lookout for patterns and other interesting findings in the months and years to come!

Until then, you can keep an eye on how Cogmind is doing via SteamSpy, a great site with surprisingly accurate data. After having used it for so long to explore how other games are doing, it’s pretty cool that I finally have a game of my own up there!


Cogmind on SteamSpy (November 20th, 2017).

Posted in Post-Mortem | Tagged , , , | 9 Responses

Cogmind Released on Steam

It’s finally happened. After over four years and more than 8,000 hours of work, Cogmind has just been released on Steam :D

“Released” but Early Access. Some say that as soon as you release on Steam, EA or not, that’s it--you only really get one launch and the “full release” won’t make as big a splash later. That’s fine, since Cogmind is a very complete experience and it’s time for anyone who’s been waiting for this opportunity to jump in.

There are of course a lot of people who don’t have much faith in Early Access games, but as long as they’re interested in the concept of Cogmind I don’t think it’ll be too hard to win them over while we spend the coming months adding optional features and content, especially considering the amount of development already allocated to ensuring maximum polish.


Break out the fireworks! (Or missiles, depending on how you look at them :P)

Thanks to everyone who’s helped make this possible! Cogmind has come way beyond what it would have been without as much support as everyone’s provided over the years, be it financial, spreading the word, or offering feedback and suggestions. A few months back I shared a lengthy rundown of features that didn’t have to happen but have certainly made Cogmind better for it, features that you all made possible.


A logo image recently put together while preparing for Steam.

Cogmind feature highlights, as it launches into the wild on Steam:

  • Build and modify a unique robot from nearly 1,000 parts, whether found or salvaged from other bots
  • Highly dynamic character development without XP/grinding
  • Dozens of robot classes, each with unique behavior within the ecosystem
  • Mechanics and environments that enable one of the most compelling stealth experiences in a roguelike
  • Extensive hacking systems--nearly 100 machine hacks so far
  • Procedurally generated world, including dozens of map types into which hundreds of hand-made areas are mixed
  • Hundreds of NPC encounters and thousands of lines of dialogue form a rich story
  • Seven different animated endings to discover
  • Fully destructible environment
  • Nearly 1,000 pieces of ASCII art
  • Huge range of particle effects like never seen in a terminal (except my other project :P)
  • Everything has sounds--more SFX than any roguelike, ever
  • Advanced terminal interface, with numerous built-in input options and tons of information at your fingertips

Composite demo of various Cogmind features.

Other interesting points regarding design and development:

  • Cogmind is all about atmosphere--there isn’t even a main menu, the player is dropped right into the game world
  • Cogmind was designed entirely in CP437, with aesthetics conforming to limitations imposed by a two-colors-per-cell grid-based display (nothing breaks that rule)
  • There is a tileset available by default (since approximately 75% of players prefer to use it!), but even that was designed to mimic the ASCII aesthetic so as to not ruin the style
  • Despite the limitations, Cogmind’s UI explores many features never before seen in traditional roguelikes
  • A niche game like Cogmind managed to raise more than $100,000 from players to fund alpha development, which was how it could keep expanding for over four years :)
  • To help build Cogmind I created REXPaint, a free editor now in use by a large number of artists and gamedevs

Cogmind inventory management demo with bonus ASCII destruction and repair :)

Alpha Supporters

I’ve sent out emails to alpha supporters who bought back when a Steam key was promised as part of those tiers. So check your inboxes (and spam, just in case) and email me at if you were supposed to receive a key but did not. Note that my response time might be a little slower than usual due to a much higher volume of activity around release time.

Those of you migrating from DRM-free to Steam can import your settings and metadata as usual. After installing via Steam, open the Steam-installed local files and copy over your old Cogmind /user/ directory into the new one. That’s it. It will automatically update from then on for subsequent versions.

A little Beta 3 was put out last week to coincide with this Steam launch, so anyone not on Steam will want to update manually. See the announcement for notes on that.

For those of you who bought ages ago just to support development and are only now being reminded you own the game but never registered your copy, therefore your name doesn’t appear in the supporters list (or more importantly the art gallery if you bought that early), go back to your original download email and use the linked form to register. There are still quite a few unclaimed items in the gallery, mostly because a lot of you probably didn’t notice the form link (just a couple quick fields to fill out, otherwise I don’t know what name you want to use!). After some time on Steam I’m going to have to reallocate remaining unclaimed items to other players!

Purchase Options

Although Cogmind is now available on Steam, it will also always be available for sale from my website as well, and the DRM-free version will continue to receive the same updates (though technically the two versions are slightly different packages).

In the near term, however, as has been indicated on the buy page for a little while now, direct purchases will NOT include a Steam key.

A big part of the reason is to encourage purchases from Steam to help push up the overall review score. Everyone playing Cogmind on Steam please take some time to leave reviews! They’re vital for encouraging more sales, and more sales is how we’re going to get more features!

Further down the line this key policy could change, but it depends on a lot of factors and we’ll have to see how things play out. So if you haven’t bought Cogmind yet and are interested in doing so to play on Steam, buy from Steam. For a DRM-free non-Steam version instead buy direct here.

GOG I’m not sure about, because despite proactively expressing interest in Cogmind they haven’t responded to my later emails, so for now I’ve decided to shelve that route.


There hasn’t yet been a whole lot of advance press coverage about Cogmind’s Steam release, partially because I requested that most influencers hold off on their coverage until on or after the actual release date, though I’m still not sure what kind of reception we’ll see since Cogmind is pretty niche, after all. Some pre-release happenings:

  • Purely coincidentally, leading up to this release PC Gamer published an article full of praise for Cogmind, and despite his short time with it the author did a great job of understanding and conveying the essence of the game.
  • Well-known roguelike let’s player Aavak has started a Cogmind series which has been pretty popular.
  • Two Credits has a quick summary of the launch news, but otherwise there’s not much out there just yet.

Gonna have to rely on word of mouth and continued updates to get attention! :D

If you have any favorite LPers/streamers you’d like to see try Cogmind, or a reviewer who’s opinion you’d like to read, let them know! I’ve already written to several, but I can’t possibly find them all (and I imagine lots probably won’t notice my email anyway, but if some of their fans let them know that can be even more powerful than me self-promoting my way into their inbox).


Cogmind combat demo with particle effects.

Reminder: This blog is for occasional topical articles, not general development progress updates. The latter are posted to other locations such as the forum announcements and (in the future) on Steam.

Posted in Uncategorized | Tagged , , | 6 Responses

Prepping for Steam

Cogmind is coming to Steam this month! This was inevitable, of course, if a little later than planned as I waited to at least partially get over the serious injury which has been keeping me from making progress for months now. Anyway, here we are, with contracts signed, a store page already in the open, and a Steam build more or less done and waiting for October 16th.

It’s certainly been an interesting process filled with new challenges, plus internal preparations for Steam doesn’t seem to be the kind of thing people write much about, so I’ve decided to share my experience here.

Signing Up

Valve has “Steam Direct” now, whereby any developer can simply pay to release their game via Steam, but having already gone through Greenlight earlier this year… I didn’t have to worry about that. I thought they’d merged us into the new program and would require that I also wait 30 days from sign-up before launching, as per the Direct rules (there are other new rules as well), but that doesn’t seem to be the case. I could just click the Greenlight submit button and as soon as everything’s ready and approved it’s good to go.


The button that kicked it all off.

But before even starting this phase or touching that button, I had to worry about taxes--being outside the US made this a lot more complicated on all sides (both there and here).

This bit is more personal so I won’t go into details, but I spent a lot of time talking to the government about how to handle all this, as well as searching around on the web for other solutions. Yeah an accountant could’ve made things easier, but I don’t know any I feel I could really trust with this, not to mention accountants cost money and I’m out of that :P

Anyway, I must admit it was actually kinda fun to be reading and analyzing a bunch of tax laws. For a little while I felt like I should’ve been an accountant, haha. Basically, I’ll be taxed and fee’d to death, only getting to keep a small portion of Steam revenue, but whatever, I suppose it’s better than not having it at all.

So with that decided I clicked on the button.


Inside you can’t do anything until you sign the NDA and a developer contract that details what you must, and cannot, do. No surprises there.

Then you still can’t go much further because of course they want to first confirm your banking info and identify for tax purposes. That takes at least a day or two, though my situation being a little… different, it took them an extra few days for all that go through.

Around this time I’d already decided I was going to release Beta 2.2 before the Steam release anyway, just to kinda get back into the swing of things and also to provide something new for players who’d been waiting all summer without any significant updates.

So I worked on that while I waited. No rush. Even after being granted full access I waited a couple days before evening logging in because I wanted to get 2.2 stuff out of the way and start the next big task with a clean slate.

Store Page

Once properly signed up there are essentially two parts to publishing on Steam, the store page and the downloadable game itself. These are independent parts of the review and approval process, each with their own checklists outlined in the Steamworks UI. While there are a ton of buttons and menus everywhere, overall they’ve done a pretty good job of letting you know what needs to be done and how to get it done. This includes basic context help for most things, as well as access to helpful documentation.

It’s a good idea to start with the store page, because it can be approved and published before there’s even a build ready, allowing visitors to wishlist the game in order to be notified on release (and beyond, if they don’t buy immediately). So the longer that page is up the better.


The store page is made up of more or less two components, the description and accompanying visual media.

For the description I started with more or less the same content that’s been on my website and other locations featuring Cogmind.


Cogmind original Steam description (full size here).

The second section is a summary of more specific highlights of the game, assuming visitors bother to read that far down. (That said, I strategically positioned an animated gif that initially appears only half visible on the page, which will somewhat tempt visitors to expand the description area to its full height.)

And below that, the last full section that takes up nearly a third of Cogmind’s description space, I dedicated to explaining why people may not like the game. Managing expectations is important :)

Of course I also use it as an opportunity to say some good things, as there are often two sides to everything, but the main point was to let people know about parts of the game which may end up being a turnoff--things that over the past years I’ve identified as areas certain types of players really won’t enjoy, and therefore it’s probably not a game they should buy.

Early Access games must also answer a number of EA-specific questions, again to set proper expectations using a consistent format defined by Valve for use across the platform. Answering these was quite easy for Cogmind, considering that it’s already fun and pretty much complete--the rest is just more icing.


Cogmind original Steam Early Access Q&A (full size here).

(Note: The above content can of course be read more conveniently direct on the site now, but I wanted to save them here as images for posterity since they could change.)

Game Media

But of course almost no one likes to read these days… What they really want are screenshots and videos!

Fortunately I already have my own site with a lot of this stuff, so I just copied it all over. However the trailer is… still the same one from 2015 :P. I decided to leave it unchanged (“alpha” references and all), because

  1. doing so sure saved a lot of prep time--properly updating it would take up to a week, and would only improve it by a small amount, so it didn’t really seem worth it
  2. I’m honestly in no condition to go full blast for weeks leading up to a launch, so anywhere time can be saved is great
  3. I feel it’s a pretty good trailer as is, and still even mostly representative of the game; the only real visual differences would be the change in default font and how FOV is updated. Sure there have been a ton more interesting developments over the past couple years, but it’s not like I’m going to put spoiler content in my trailer anyway! (an updated trailer would feature more or less the same footage it does now)

I did make a few new screenshots, one created as a side effect of the “capsule images” I’ll talk about later, and a couple others because I saw some on the website that could stand to be better or replaced. (After making these for the steam page I retroactively changed them in all other places, too, e.g. official website, press kit…)


Battle in the Factory.

Most screenshots were simply copied over, though.

Capsule Images

Technically it’s not just the store page but “store presence,” as there are a few other images involved that don’t necessarily appear on the page itself but are tied to the game as found elsewhere on Steam’s website.

On Steam you’ll see that every game has a number of what are called “capsule images,” various representative images that at least bear the game’s title logo. You have to supply four of these for various locations on the website, and Steam uses them to automatically create smaller versions of each as necessary--this is important to remember while designing them, as throughout the process you have to ensure that a downsized version will also look good enough!

It was pretty easy to come up with the style for the “header capsule image,” meant first for the top of the store page itself.


Cogmind’s header capsule image on Steam (460 x 215).

Then there’s a “small capsule image,” used in all kinds of lists. For this one I just shrank the header image, but the true logo uses double CP437 lines, which look terrible when shrunk down really small, so for this version I decided to completely fill the lines. This helps it stand out pretty well at most sizes (at the tiniest possible 120×45 it doesn’t look so great, but that’s just because ASCII and not because of those lines in particular).


Cogmind’s small capsule image on Steam (231 x 87).

By far the biggest production was the “main capsule image,” which appears on Steam’s front page whenever your game happens to be there. I spent an entire day iterating on this one before coming to a decision. In this Imgur album you can see the full array of 15 iterations I was posting and discussing on Twitter as I went through this process, but I’ll cover some of the highlights here.

Technically Valve recommends including some gameplay-reflecting aspects into your main capsule, so I started with that, creating a screenshot to go behind the title:


Cogmind main capsule image concept #1: Title-on-screenshot.

Then I wanted to see if I could embed some of the ASCII aspects into the background, and also perhaps make the title pop a little more in the process (by darkening some or everything behind it):


Cogmind main capsule image concept #2: Title-on-screenshot, with ASCII.

I went through several other darker alternatives you can see in the album, including a pure ASCII background (note that this isn’t the actual ASCII in game, though--it’s the result of a signal interpreter animation, because in static form it looks a lot cooler than the standard ASCII, which is meant for readability over flair):


Cogmind main capsule image concept #4: Title-on-ASCII.

In my research I noticed other games not really doing the “reflect gameplay” thing in their main capsule image, instead going for whatever stylized art would be most interesting. That makes sense, since the player will see plenty of content on the store page itself, while this image is purely to get viewers to click there in the first place. Preferably it should attract the kind of person who might enjoy the game. Since the previous attempts were all a little too busy and had one or more non-ideal aspects about them, this new line of thinking got me exploring more stylized concepts. Well… this is Cogmind. When in doubt go green:


Cogmind main capsule image concept #12: Title-on-ASCII, GREEN.

After that I continued trying to add more features, for example a faint green bar behind the title, but once again it seemed too easy to go too far with it, and maybe simpler is best. So the final image is what you see above.

It sure was a long route to reach the inevitable simple green Cogmind style :P

Despite making a “final” decision, though, I’m still tempted to swap it out and see if a more colorful version has a better impact, but there are too many variables at play to draw any conclusions if I did that anyway (A/B testing would be more effective here, if it were possible :/). I think several of the other options look good and would appeal to some people (well, that much is confirmed because preferences were all over the place when I asked around), but it’s hard to say any are outright better than staying simple, in terms of getting people to be curious enough to click on the image to learn more.

At least the screenshot I initially put together as a background was worth adding to the main collection, and this process also reminded me that Cogmind’s downloadable wallpapers are over two years old and there are some cool new styles I should put together for new ones in the near term!

The final required capsule image is kinda funny. It’s a “large capsule,” and I couldn’t find any uses such as those described in the help text. Here I should note that before making each of these capsule images I’d naturally first search around to research how they’re used on Steam to make the best choices possible. (And during the creation process I even superimposed my own concepts over Steam website screenshots to get a clearer idea of how they’ll look in action.) Well it turns out that this particular image is no longer used anywhere on Steam, but they require you to submit one “just in case they want to use it one day.” At least it was easy to do--just a smaller version of the main capsule would work here:


Cogmind’s small capsule image on Steam (467 x 181).


Of course you also need an icon, but every game will already have its own in the first place. That and logo images to go in the “community hub” area, but those are essentially the same or similar to the capsule images from above.

The store page needs a price set before it can be approved, although interestingly this is purely for internal confirmation because said price is hidden until launch. I imagine because more people will wishlist something if it doesn’t even have a cost associated with it yet, and wishlisting is an opportunity for Steam to remind them about it later (repeatedly…). This approach also at least delays inevitable comments about price from dominating or derailing discussions prior to release.

Cogmind’s price will be the same on Steam, albeit with a 1-week 10% launch discount (another option to set). Steam recommends this approach, it’s what most devs do, and Cogmind has already been out for a while at its current price, so I went with the recommendation. There are also international pricing options by currency, but there are a ton of them Steam has a convenient button whereby you can simply use their recommended prices in all markets based on the USD price. I like the idea of regional pricing since not everyone has the same purchasing power, although in the end Cogmind is an English-only game so it’s primarily purchased in only a handful of countries anyway.

The very last thing I did was set a release date! This was rather sudden, since I hadn’t thought about it closely before and wasn’t really sure how the next few weeks would play out, being unfamiliar with some tasks still remaining in the process (I had no idea how to do a Steam build, for example).

Technically you can change it, but I wanted to announce it everywhere and changing the date on people seems like bad form. So I pulled up a list of all major game releases for the month of October to see what I should try to avoid. It’s funny because scanning down the list almost all games for the month were scheduled for just a handful of days, and looking at those days they were all Tuesdays. I’ve always tried to release things on Tuesdays myself, as it’s a pretty good day, but apparently everyone knows that :P

I chose October 17th, but by Steam time (and a majority of Cogmind players) that happens to be the 16th, so while it’s Tuesday for me here I’m actually releasing on Monday evening in the US (as I usually do).


With the entire checklist showing green I hit the button to mark for review, which they say takes 2~3 days. Two days later I got the email:


Cogmind Steam release approval email.

The only comment was that they recommend 16:9 screenshot and most of mine are 4:3. I already knew about this from the docs but chose to keep them as they were, if only because it would take a while to do new screenshots. But it’s true most people will be playing Cogmind in 16:9. I’ll consider switching the format for the full release, though I don’t consider it a huge deal.

In the time between submitting and receiving approval, I had already written up all the announcements in advance so that those could go out ASAP when the time came. (I always do this before any kind of big news, because writing them all takes a while!)

Not long after the page went live, there was already some activity on the new Steam discussion boards for Cogmind :D


Take that Take-Two.

The Build

Next up was to actually upload the game to Steam and get it installable and working.

I’d planned to have started this at the beginning of the week, but was behind schedule and it ended up being the end of the week before I got to it. The good thing is that this step is super easy (and by skipping the trailer update I saved a week, putting me right back on schedule!).

So technically you don’t even need to use the Steam API--after a few simple settings on the back end (again, good documentation), you can just take your game and upload it to Steam, which players can then download and install. Even in this capacity the Steam client is already pretty useful because of its auto-update feature, which compares new versions with what the player already has installed on a bytewise basis, then downloads as little as 1~2 MB of data within larger individual files that have changed. Pretty nifty, and although size doesn’t matter so much with Cogmind’s extremely lightweight download by today’s standards, it’s quite nice for players to have automated updates to begin with.

While for developers it’s not as simple as a direct upload (there are a pair of small scripts to edit and a command to run), the process is still quick and easy. There’s even a GUI version but I didn’t try that one because it doesn’t get much simpler than the command line tool they have. I followed a 10-minute step-by-step walkthrough video and *bam*, just like that Cogmind is on Steam and I could download and install it!


Cogmind’s first Steam build away!

After that I quickly tried a couple more builds, changing random things in the files to see how that would affect things on the user end. Everything worked as expected. (I wouldn’t want to break player data!)


Cogmind’s first install on Steam.

Keys and Testing

Shortly after uploading the first build I also ordered my first batches of keys, which were approved really quickly (like 10 minutes? probably automatically). Not the full amount I need, just some for testing, and to hand out to press soon enough.

Keys essentially come in two varieties, regular keys that can’t be activated until after release, and “beta testing” keys for immediate access regardless of release state--with these the user can essentially install and play as if a game were already released.

I handed out a few keys to Cogmind’s usual pre-release testing crowd, and one of the first observations was that the Steam Overlay doesn’t work. (Note: I’ve never really used Steam so I’m not too familiar with how it’s normally used--this is where outside help comes in real handy!)

I figured this would have something to do with Cogmind being a purely software rasterized app, and sure enough, right there in the Steamworks docs it says the Overlay is only compatible with games using Direct X, OpenGL, etc. So of course my first instinct is to see if I can get Cogmind running with OpenGL. Technically I did at one point code support for it in the engine, but at the time ran into roadblocks that were beyond me and gave up since I didn’t really need it anyway. Well, flipping that switch didn’t work out so well :P


I suck at graphics coding. Really.

Not only does it still not look right, the FPS on my dev laptop dropped from 200 to 20, haha. Me of several years ago apparently tried to get the engine to do little operations on a bunch of textures to mimic the software approach. Bad idea.

My latest idea was to just copy the composite software layer into OpenGL and that’s it, and I’m sure someone else with real skills could manage this in no time… According to porting guru Ethan Lee, that’s precisely what I could do. But I really don’t want to mess with OpenGL, and I’m also stuck in a decade past and use SDL 1.2, whereas something like this is reportedly easier in SDL2.

But without the Overlay, it wouldn’t be as easy for players to create and share screenshots, which are an important part of community building. Fortunately it’s possible to manually upload screenshot without the Overlay, and Cogmind does already have its own screenshot feature to begin with…

But enabling this feature requires integrating the Steam API.

Steam API

Valve has its own “Steamworks API” that developers can integrate into their own games to access additional features. This part I was a bit more worried about, just because I tend to have problems when it comes to fiddling with libraries and whatnot.

But sheesh, the API really couldn’t be any easier to integrate and use. Plus the docs are of course top notch, too, so the answers to most questions are right there. I just followed the short step-by-step guide and had access to all the regular Steam functionality.

Well, I did have one hitch, something most other devs probably won’t run across but I’ll mention anyway. I don’t use an English OS, and it turns out someone saved a portion of the Steamworks C++ headers in a type of Unicode incompatible with my system’s code page. It wasn’t too hard to fix, though--just import them into Notepad++ and re-encode to another compatible Unicode format. (Note: I was originally going to ignore it since it only produces a compiler warning, but it’s the highest level warning so I looked into it and discovered it has the potential to mess with Visual Studio breakpoint behavior in the debugger, thus it should probably be addressed :P)

With the API I could have Cogmind’s screenshot key (PrtScn) not only take the local screenshot as usual, but also automatically upload it to the player’s screenshot library. While at it I also added F12 as a key to take screenshots in Cogmind, to match the corresponding Steam Overlay default. It was overall very easy to do.


Cogmind’s first in-game screenshot uploaded directly to Steam.

While digging around in the API docs I also noticed that apparently Steam screenshots can be “tagged” with the location they are taken, so I figured I may as well add that feature while I’m at it.


Cogmind screenshot tagging on Steam.

And while doing that, I realized that Cogmind’s native screenshot file names could stand to be more useful, so I updated them at the same time :). Now instead of just screenshot001, screenshot002… etc., their file names include both a time stamp and location:


Cogmind screenshot filename details: time stamp and location tags.

I must say that after days of doing research, filling out forms, messing with screenshots and marketing material, and basically doing anything except looking at my IDE, it felt really good to get to do a bit of coding again! I didn’t think I was going to have an opportunity to do that for weeks more, after all the upcoming launch stuff is behind us…


There are a few other tasks related to providing a downloadable game.

Like Microsoft redistributables, which Steam makes really easy by literally providing boxes you can check for what you need (in my case MSVC 2010 x86).

It’s not required but there’s a spot to upload the game manual as a PDF so players can access it from their Steam UI. The manual is already both in game, provided as a text file, and found online linked from a number of places, but hey why not add one more :)

With the Steam API enabled I also looked at the full feature list for possibilities down the line. Achievements I was already planning to include (and they’ll be built into the game without Steam as well). Cloud saves should be pretty easy to implement, too, as long as people request it which I imagine they will. But neither of these will be in there for the first release. It’s “Early Access” anyway, and part of the reason for that was to give more time to work on Steam-related features with a new Steam-based community.


With the build basically tested and ready, I marked it for review. They say approval takes 3~5 days, and I’m only on day 2 right now. The requirements are pretty simple, though--they just want to check that it actually runs, and that it matches the description and claims on the store page. I claim Cogmind has seven different animated endings… whoever tests this had better be really good at roguelikes ;)

Update: This came by email on day 4 :D


Cogmind Steam build approval email.

After this point one had better be careful around the Steamworks UI, because there’s a new big button that allows you to release your game at any time!


Just now I’m beginning the final release prep phase, spending much of the remaining time on the community and marketing side of things--talking to people, preparing website changes, writing more announcements, seeking out and contacting the right streamers/LPers, handling key stuff, etc. Basically everything except adding cool new stuff to the game, but I’ll get to that :P

There’s certainly a lot more to this phase, but I guess I can’t give an account here of details that haven’t transpired yet, so instead I’ll just use this space to remind you to wishlist Cogmind if you’re interested and haven’t already bought it, and help spread the word if you can! Thanks :D

Posted in Gamedev | Tagged , , | 14 Responses

Beyond the Design Doc: Unplanned Cogmind Features

Building a solid game calls for a good design doc. Laying out at least the core vision, along with preferably additional details about how features and their implementation work together as a coherent whole, is a much safer way to develop rather than repeatedly wandering down the wrong path and having to backtrack.

Even back in 2012 the Cogmind 7DRL had a design doc, honestly even more important in that case because you need some real direction and focus to ensure completion of a game like that in a week! Not the best example, being my first ever attempt despite years of prior dev experience (during which I never finished a game, go figure!), but it served its purpose, and I’ve since written many more for other potential roguelikes.

The most relevant among those would be Cogmind’s own, which when the project was resurrected the next year (2013) grew from 1,119 to 18,000 words. That doc was updated and expanded throughout two years of pre-alpha development, natural during such a phase while the world and systems are still being molded into a concrete shape, and had grown to 30,000 words by the time Cogmind’s first version was released in May 2015. At that point the core of the game was complete, and the rest of the features necessary for the full experience had been mapped out, thus the plan was to more or less stick to the doc while finishing up the game.

But… things didn’t quite go down that way :P

With decent support for the alpha release, I immediately started instead looking at all the untapped potential that could be unleashed by filling gaps in the design, adding to the density of the experience rather than emphasizing its breadth. (The design doc was honestly more interested in the latter.) So I ended up setting aside the doc and working on other features--in fact, I didn’t even get back to working on stuff from the design doc proper until six months after the first release! (in December 2015 with Alpha 5)

So today I wanted to show what this means for a post-Alpha Cogmind. Essentially, how much of what has been implemented throughout two years of alpha development wasn’t actually planned to be part of the game to begin with? Sure the original game as described by the doc would’ve been good, but the extended “early access” development period has been a great success in terms of improving it further.

Each section below will also come with a mention of what else might be in store, because, well, we could be in Beta for a while as I continue adding stuff :D


Larger systems that hook into multiple aspects of the game are my favorite thing to add, where possible, since they allow strategic options to grow exponentially, forming the backbone of what players generally consider to be “depth” when it comes to gameplay.

Post-release Alpha development started out with a number of unplanned systems, features that made a lot of sense to add before expanding the breadth of the world (the layout of which was otherwise fairly linear when Cogmind was first released). Naturally the design behind new maps would be better off if they could take into account all the same systems at inception, rather than having to retroactively adjust all those maps later!


Traps are common enough in roguelikes, but honestly I’d never really considered them. Even the 7DRL design doc made no mention. The spark was a random comment on r/gamedev‘s Screenshot Saturday, one that apparently happened to come at just the right time. (Score another point for sharing info about your game with as many people as possible, as early as possible, and engaging them in conversation!)


Intentionally triggering an explosive trap to damage nearby bots (since they’re much weaker than Cogmind!).

Inclusion of traps in roguelikes is often controversial these days, though it’s easy to see where the faults lie and within Cogmind’s design it wasn’t too hard to circumvent those issues. The main reason it suddenly felt right to add traps at the time was that one of the more common requests from early Alpha players was that they wanted more environmental interactions. I didn’t want to go as far as full area-based environmental features like water, lava, smoke and whatnot because Cogmind’s design focus is on robots, plus such features would need to be built in from the ground up as a central consideration of many mechanics, the AI, overall map design, and more. (You either go all the way with it or don’t include it at all, otherwise it’ll feel out of place.)

But traps were a relatively simple way to provide more environmental interactions in the form of isolated objects. I’ve written a lot more about the subject here, and after that traps even became extractable so they could be carried around and relocated.


Luring a Sentry outside a garrison after placing EMPs.



Art for some of the trap items.

Fully implementing a new system also tends to suggest multiple related features, thus with traps came a new type of map area: Waste. Unlike shaft or chasm behavior found in other roguelikes, Chute Traps taking the player to a lower/earlier floor in Cogmind wouldn’t work very well. Instead, it brings them to a special “map between maps” that eventually leads them to another part of the same general floor they were on (after surviving whatever happens to be down there :D). Waste maps ended up having other implications for both lore and strategy as well.


The earliest versions of Cogmind had no garrisons or Garrison Access points. This presented a couple design problems, most importantly that it was a lot easier to find exits by simply searching in the direction from which newly dispatched pursuers were approaching. It also meant that since you might be quite far from any exits, enemy responses to your activity could seem fairly sluggish.

Adding Garrison Access, or a new type of “special entrance” for combat bots, both increased enemy response times and made escaping less trivial. The system also links into many other aspects of the world, such as affecting localized difficulty by dispatching reinforcements to fights in their vicinity (dangerous!) and offering a new avenue for hacking interactions (the access point itself). Because it wouldn’t do to have these robots coming from some unreachable place, it’s possible to enter the garrison itself, adding yet another type of “map between maps.” Opting to enter could be for the good combat loot, to take out relays and improve robot hacking potential, weaken enemy resistance capabilities in nearby maps, possibly tunnel to another map, or maybe just a last ditch effort to escape other problems?


Unlocking a Garrison Access point.



Sample garrison interior layout (labeled).

More detailed info about Garrisons was written back when they were first introduced.

Unauthorized Hacks

Also in early Alpha, with players of course still calling for more ways to interact with the environment, I decided that machine hacking could provide more variety there while remaining within the confines of Cogmind’s general design principles. Sure there were already a lot of regular commands/targets for players to hack, but what about all the possibilities that become available if we start allowing Cogmind to use interactive machines in ways that weren’t intended by their creators? :)


Nuclear Reactors previously infected with a Trojan that detonates them if an enemy passes by.

The system was first described in this post, covering the beginnings of both Trojans and brute force hacks that add strategic and/or tactical elements, depending on the hack. It’s great because with such a system already in place, there’s plenty of room to expand it, so I’ve been doing that bit by bit over the years with new hacks, and will continue to do so. (As of now there are 22 different unauthorized hacks, double the number introduced with Alpha 4.)


Beyond early Alpha there was a long lull in non-design-doc systems being added to the game, mainly because as mentioned earlier it becomes harder to insert them as the world grows (plus there was still a lot of meat to get on to anyway!). But as development reached into the end-game, enough time had passed to get a feel for the strategic value of mid-game areas, some of which were still clearly lacking. I want every area of the world to have its own reasonably useful purpose that not only fits into the lore, but also makes it a worthwhile visit for at least some play styles.

So during a second pass over some of those areas, a new form of (sort of) hacking was born. It’s rather spoilery so I won’t go into the details here, but it significantly impacts how a run plays out once Cogmind gains this ability. The idea was to give anyone, not just those with a good hackware setup, access to limited capabilities along the same lines that hackers have. This feature spans a wide range of benefits including information warfare, build assistance, combat support, and more, essentially tying it into the mechanics on multiple levels. With its minor drawbacks I’ll admit it’s somewhat OP in its current state, but I plan to address that later. For now it’s a nice crutch for those who want to take advantage of it :D

Derelict Logs

Data logs found lying around in various outlying cave areas were added for Alpha 7, which was the first release to finally include caves at all. Caves were planned from the beginning, but like many map designs bringing them to life and giving them strategic value required adding new mechanics and unique content. I didn’t always know what form that would take beforehand, but with caves it made a lot of sense to have them contain data collected by Derelicts, the area’s primary inhabitants, many of whom are also interested in keeping tabs on activity in the main complex.

These logs are essentially free information that improves the player’s chances of survival at a later point in the game, providing an extra benefit for going into the caves, which are otherwise somewhat dangerous and not always worth a trip (especially for those players who turn back before reaching the best rewards at the end).


Derelict Log item.

This turned into a fairly big system on its own, as it was integrated into the terminal hacking and dialogue systems as well (meaning talking to certain NPCs could provide similar benefits), and the amounts and types of information logs reveal can vary greatly. Logs can locate stockpiles, traps, exits, hidden doors, sentry positions, key locations on the world map, and more.


I’m the least certain about future possibilities for this particular feature category, since expansive new systems can be hard to edge in without without having too large a destabilizing effect on the rest of the experience, requiring a wave of rebalancing and in turn yet more unexpected ripple effects. Not to mention the later in development, the more work required to fully integrate each new system.

One of the larger Alpha changes back in mid-2016 was a revised Fabrication system, though that was more of a simplification than a complete rework so the subsequent negative impact was limited.

Robot hacking, on the other hand, is definitely slated to be replaced by a new system. I wrote about its first implementation before release, and made adjustments later in Alpha, but it was always an incomplete placeholder system that has repeatedly shown its weaknesses. (It was hard to settle on a good design in the abstract pre-release days during which there was extremely little full-run testing, so the plan was to wait and see. Actually machine hacking was handled similarly, but ended up easier to improve via incremental patching.) It’s taken a while to come up with an alternative robot hacking system, and building it will be quite a project, but will be worth it for the range of new play style possibilities.

World and Lore

As Alpha came to a close Cogmind had 31 map types, 5 of which were not mentioned in the design doc. Waste and Garrisons I covered earlier as part of their relevant systems--those were added more for mechanical reasons, but several other maps were created primarily to flesh out the story.


World map interface with a sample route.

Although fairly easy to ignore for those players not interested, the story and its background are meant to be epic. But with that “epic story” only about three-quarters composed at the start of development, along the way I had to keep an eye out for the best opportunities to fill gaps as naturally as possible. (This approach worked out rather well, leaving a little bit of flexibility at the fringes.) That’s how we got the Deep Caves and Lab, and is also the reason Alpha 13 expanded Zion beyond its original scope. In fact, the major NPC now found there was not even part of the story to begin with!

Technically most maps grew beyond their initial scope as described in the design doc, as each needed enough content to make it a special experience of its own rather than just more of the same in a different flavor. This meant that adding a single new map could require up to two weeks: I ended up writing “mini design docs” for every single map, each of which became an avenue to introduce new items, robots, and even entire mechanics. The biggest deviation from the world plan involved one of the final maps. This most secret map of all was originally going to be not all that secret, nor all that hidden, but its nature changed significantly when it came time to actually create it, initially for lore purposes but then also to provide an even more difficult challenge.

With the world growing over time, and plot with it, the intended 3-4 different endings also weren’t quite enough. By the time development reached the end of all plot lines, it seemed that 7 endings was a more appropriate number :). Although many of the circumstances leading to each ending were achievable in earlier versions, proper endings weren’t added until Beta 1. Adding them intermittently, one at a time, would have been much less efficient, whereas implementing them all at once kept the quality consistent and made it possible to build a comprehensive system capable of satisfying the different needs of every ending at once.


Tracking who what where why now?

(There are still other elements that fall into this category, but it’s hard to talk about them without posting too many spoilers. Examples include the map shortcuts and “DM conduit,” where the latter is a result of a pretty strong driving force throughout development: repeatedly asking the question “what should happen if the player decides to do… this?”)


While it’s not a good idea to reveal absolutely every detail about the story (leaving just enough room for speculation and imagination helps draw players deeper into the world!), there is definitely more space to explore along the edges, even if only tangential to everything else that’s going on. In that vein I’ve been considering several more maps and even a couple new subfactions which might one day be added. And of course each map will in turn need more unique features to flesh it out…


As a roguelike grows along with its community, and the theory behind much of the design doc becomes the reality of watching players interact with systems and content, it’s inevitable there will be plenty of balance changes. While these changes don’t normally spawn entirely new systems (balance is more often about tweaking what’s already there), as part of efforts to cut down on experts using cheesy tactics to farm points I did introduce a “high security” mechanic. It’s a pretty heavy-handed reaction from the world that essentially tells players to “get out now while you still can” :P

Scrap was another unplanned feature added for balance purposes, piles of junk containing potentially useful parts. They can be a lifesaver in the caves where spare parts are otherwise scarce, and like traps they offer a new point of interaction with the environment (here the equivalent of treasure chests). Of course, that scarcity was created by another unplanned mechanic, self-destructing parts, which made it harder to salvage bots there in the first place! (And that bit was added to balance the caves in the larger picture.)


Scrap item info.

Overall, though, Cogmind has reached a fairly balanced state. There are still a small number of exploits to address, strategies that have emerged organically from the mix of so many mechanics and systems, though by not dealing with them right away, directly, final solutions can be integrated into other features yet to come, holding the design together more tightly. For example it’s likely that a new type of clock will emerge as part of another non-design-doc feature that I’d like to add at some point, and that can be built in such a way that it closes off some exploits as well.

Quality of Life

“QoL” would have to be the largest single category of unplanned features, getting significant new additions with every Alpha release. While Cogmind has always been relatively accessible among traditional roguelikes, there are so many different ways players might want to approach the game’s information and UI, and not all of these will be apparent until lots of different players are actually playing!

Honestly there was almost no playtesting during pre-Alpha (the public 7DRL before had already proven the core mechanic was fun, and that was enough for me at the time!), but once everyone (including myself :P) started tackling full runs there were very obvious areas with room to streamline the experience. The first release was fun, but it would be annoying at best for the UI of today to go back to that state after getting so many extra features. Some of the bigger ones, for example…


Smart inventory management (Alpha 5c). Cogmind is full of inventory management decisions, but a number of them are no-brainers so why not have the game just take care of those automatically!



Automated part sorting (Alpha 9). Long parts lists are harder to parse when they’re not organized, and repeatedly doing it manually is probably a waste of time when the game can just group like parts for the player. (Note: The visual design process for this particular feature I’ve written about before.)



Evasion breakdown (Alpha 10). There was originally no way to easily check just how effective your evasive capabilities were at any given point, since it’s the sum of many factors, but now there’s a single number and summary available right on the HUD.



Manual hacking code recall menu (Alpha 10). Before this feature it was generally necessary to write down the 4-character codes you discovered and might want to use later, but they’re only valid during that run, and you may not even get a chance to use them anyway, so it was a pretty wasteful requirement.



Slot-based part swapping (Alpha 11). For a while those players using a large inventory as part of their strategy might have to spend too much time searching for the right item. Inventory sorting has always been a thing, which helped somewhat, but why not make it possible to quickly pull up a list of valid items to choose from? :D



Manual hack autocompletion (Alpha 12). While a command buffer was added early on to simplify the process of repeating manual hacks, there are also somewhat lesser used hacks that would end up far back in the buffer, not to mention the continually growing number of hacking possibilities (91 as of today…).



Additional data visualization modes--only four were planned, but we now have eight, as well as accompanying number values. This feature was initially designed for bar graphs only, since the point was to show relative values, but it turns out that having specific numbers is useful as well.

Difficulty Modes

At first I was reluctant to add separate difficulty modes (discussed in detail here), but they do make a lot of sense for accessibility. So far they seem to be serving their purpose, but the true results won’t be in until available on Steam, where Cogmind will be exposed to a greater ratio of players not already familiar with the genre.


Setting Cogmind’s difficulty in the options menu.

I did later adjust them such that some areas are inaccessible to easier modes, partially because those areas are quite difficult by their nature (regardless of mode), and also to give players who can consistently reach them in easier modes some impetus to up the challenge. (It’s still possible to win in any mode--these are just outlying special/lore areas.)


With any sufficiently expansive game there is nearly endless potential for QoL improvements, much less a roguelike that continues to get new content updates over a long period. Most of the existing features are taken care of pretty well, but I’m sure this category is incomplete even now--it will grow in response to playtesting and feedback on new features (and to a lesser extent as a result of new types of players joining).


There are many ways to add value to a game beyond the core experience, though naturally these kinds of things should wait until later in development so there’s actually something to build off (also so it’s more apparent where the greatest value for effort can be found). While I’ve always had some “meta” ideas floating around, none of those considered early on have been implemented. Instead, as alpha development neared completion I worked in newer ideas that seemed best at the time.

Lore Collection

The world of Cogmind contains quite a bit of useful (or just interesting) information among its lore. The way that lore is acquired, however, across many runs and from numerous different sources, doesn’t really lend itself to forming a coherent picture of what’s going on. This would be less of an issue if there were a single plot line, but the story is more a web of factions and NPCs with their own agendas and take on things. That and the lore includes quite a few tips regarding how the world works. So it eventually became obvious that we needed a central repository for all this lore, some way to conveniently reference it all.


Testing the lore collection UI (Alpha 10).

Of course meta features are often also suitable for application outside a game (e.g. integration with external programs). For example players with a growing lore collection would like to be able to read it when not in game, or even in interact with it in some other format…


Sample HTML lore export, including links (Beta 2). (Also supports exporting to TXT and CSV.)

(More on the lore and story-related features here.)

Challenge Modes

As the world approached completion in late Alpha and a handful of players had seen much of what it had to offer at the time, special modes that add new rules or enforce certain restrictions on play seemed like a fun and easy way to increase replayability. There are currently eight such modes (ideas are sourced from the relevant forum thread), with many more to come. They’ll also need their own options menu UI, as opposed to the current method of control purely via the config file.

As with difficulty settings, early in development I’d never really thought about a need for extra challenges, aiming to create a world in which certain optional areas and approaches would naturally be more challenging. The ease of tacking on new challenges makes it really tempting at this point, though, considering there’s such a high reward-to-effort ratio!

Gallery Item Stats

Players had been asking for a while if they could have access to item information via their art gallery, essentially turning it into a makeshift stat compendium. During the Alpha design process I realized this is not the ideal way to present such information, and came up with an alternative, but that alternative would also require a rather long time to implement… In any case, enough players had been asking long enough that it was time to do something :)


Item art gallery with stat access (Beta 2.1).

Sure enough, after adding this feature there were a few comments about how they’d now like it to be able to do XYZ. At least I can say that if it ever comes to be, the alternative could do that and more. That’s the thing about adding features as per player request--fulfilled requests often become the new launching ground for more requests xD


Other meta features are generally of secondary concern, so it’s hard to say much about the future of this category other than that it’s far from exhausted. I’ve always wanted to redo the score sheet, though, a project waiting on the sidelines since it’s best done as late in development as possible where all the different needs it has to accommodate can be taken into account. (The only thing worse than redoing a feature is redoing it multiple times! Really though a first “redo” of the score sheet is warranted since it hasn’t been redesigned at all since the 2012 7DRL, just expanded again and again :P)


The broadest category of unplanned features is composed of numerous smaller bits used to fill cracks in the design, either for balance or sometimes just for fun.

One of the more frequent goals here has been to make combat more viable and varied, since the environment and overall mechanics otherwise tend to give the strategic advantage to those who prefer (and are capable of) avoiding confrontation. While that tendency will never be fully reversed, combat became a lot more interesting, and reliably winnable, as Alpha progressed.

Some examples involving differentiation of combat styles:


“Gunslinging” was only added in Beta 1, allowing a single volley composed purely of guns to be redirected across multiple consecutive targets. Before this it was easy to waste shots on a target that was already destroyed. I originally considered that part of the tactical considerations necessary for turn-based volley combat--fire many weapons and risk overkill, or fire fewer and risk the target surviving to continue the fight? But the volley timing adjustments later in Alpha made that consideration less and less of a factor anyway because firing extra weapons required almost negligible additional time, just additional resources.

Cannons also got their day in the sun, with an overflow mechanic allowing surplus damage after destroying a single part to transfer to another part. This had the greatest effect on powerful late-game cannons that might otherwise blast a weak part but then have no other effect, making them randomly ineffective and unreliable. (There is still some room here to further differentiate cannons and guns, for which I have some ideas.)

Melee combat wasn’t part of the 7DRL version, and while I added it to the commercial version because it’s cool (and players would expect it!), it was meant to be relatively niche, had to be balanced against ranged combat, and ended up being underutilized for a while. By late Alpha the core combat styles were pretty clearly defined, so it was time to revisit melee and do something to make it more desirable. Many somethings were done :P

Actuators and other utilities were added to help builds with a melee focus (Alpha 11), sneak attacks provided another tactical edge (Alpha 12), multiple targets could be hit with a single swing (Alpha 14), and most importantly, melee-specific multiwielding became a thing.


Attaching multiple melee weapons at once (Alpha 14). Players designate a primary weapon, and other weapons might contribute to attacks.

Additional damage types were also created (secret, so I won’t mention them here), and some of the existing types were given new effects:

Thermal weapons were given a dedicated heat transfer stat, rather than being a simple side effect of damage (Alpha 12). By decoupling the two, heat transfer could become a goal of its own, either to cause meltdowns or for its other negative modifiers. Before that the thermal weapon design space was quite limited because heat transfer always had to play a secondary role to damage, and a weapon with better damage would also be better at transferring heat, so it could only make good weapons even better rather than serving as a point of differentiation.


Overheating a robot with lasers.

Electromagnetic weapons were given a “spectrum” (Alpha 4). Their attacks sometimes causing chain reactions in robot power sources made the EM tactics game somewhat more interesting, especially earlier in a run where it happens more often (due to the types of weapons).


Triggering a chain reaction in Grunt’s power source via EM Shotguns’ spectrum.

Impact weapons were always something to be avoided, in both senses :P. Essentially they were quite dangerous in enemy hands since they could smash your processors and weaker parts, but useless to the player who would rather outright destroy targets than cripple them. Once given the ability to inflict significant system corruption by smashing parts (Alpha 14) they became pretty decent.


Corrupting bots with a Shock Maul.

Once the main game was completed earlier this year, it became easier to explore extra features that might work out, rather than focusing mostly on what absolutely had to be done at each phase of progress.

One result of this experimentation was “visible sound effects.” For a while I’d been thinking of closed-captioning sound effects for accessibility reasons, but simply showing color-coded sound effects would already be a big step in that direction, and far easier to implement. Plus it’s a tactically interesting new way for everyone to view the map, rather than just those who might benefit from captioning. It’s worked out pretty well!


Visible sound effects for combat occurring nearby but out of view (Beta 1).

I also came up with an optional way for players who really want every single combat detail to get that rundown on the map rather than squished into a small secondary log not really made for that much info.


On-map detailed combat log (shown here closer to the action than it really is) (Beta 1.2).

But the miscellaneous features I’m most interested in exploring, beyond the design doc, beyond even strict balance considerations, are unique parts with either excellent stats or sometimes completely new mechanics. Content like this won’t have to take into account balance in the same way as previous developments, because these parts are not at all guaranteed (unlike pretty much everything else in the world--an intentional design decision enabling players to somewhat plan their build/strategy ahead of time). I’ve relied on this principle in a few places in the world already, but prior to Beta it was more important to keep the core game balanced for proper testing. So there’s still a lot more that can be done here, and it should make Cogmind even more fun--after all, there’s nothing wrong with getting to feel OP for a while if it’s not something you can do every time!


Now, obviously a massive collection of features were planned from the beginning, but not nearly everything we have now! Technically none of the features discussed above would’ve happened had I strictly gone by the docs and worked straight through Alpha to 1.0. Imagine how different Cogmind would be without garrisons, trojans, imprinting, automated UI features… and all that other stuff!

The point is, design docs are really important, especially in clarifying the vision for the experience and setting down basic principles to build a world based on that vision, but in the best of cases it can also be treated as a flexible framework on which the development process can expand. Pre-Alpha and Alpha finished the design doc over four years and even let a lot of other features leak in at the same time, while with Beta it’s clear sailing with more ideas to explore on the horizon :D

Posted in Design | Tagged , , , , | 5 Responses

Cogmind Alpha Year 2 Sales Data (Pre-Steam)

Cogmind recently made it through a second whole year of its pre-Steam early access program, and as this period comes to an end I’d like to take the opportunity to, like the first year, share some data and pretty graphs :)

This is an interesting milestone because it more or less coincides with the completion of Cogmind’s primary content, represented by the Beta release just last month, meaning it took around two years of work to bring the game from Alpha 1 to Beta 1. And it’s still amazing that support has been sufficient to maintain full-time development for this long--Cogmind’s lifetime revenue passed the $100k mark in April :D. So a big thanks to everyone who has helped it reach this stage!


@’s celebrate the Beta :)

For a more general summary of late-alpha progress you can check out the data in my 2016 annual review, whereas this article will instead be mostly looking at revenue and pricing. And while the first year of sales data was neat simply because it was seemingly the first time anyone in this genre has provided so much open data, the second year is much more interesting due to tier and pricing changes.


Let’s jump right in: Cogmind made US$ 40,325 in its second year. Looking purely at the numbers, that’s only two-thirds of what it made the year before, but it’s important to note that a $25k chunk of year 1 revenue was earned in the first month of alpha alone, the result of pent up interest from two years of open pre-alpha development prior to that. In that light, the second year has technically been a little better than the first in terms of revenue, an 8% increase from $37k to $40k.


Cogmind Year 2 daily gross revenue, annotated (Year 1 graph here). (Click on any image in this article to see at full size.)

Year 2 started with a minimum price drop, from $30 to $24.99 (albeit by adding a new lower tier without any perks, and keeping the old price as an option). This naturally sparked a good number of sales in the short term, which eventually died off as player growth returned to normal once those who’d been waiting for that to happen got their hands on it. At this point the price change didn’t seem to have any long-term impact, but we’ll get to data on that later.

The next noticeable bump coincides with the Roguelike Celebration, an awesome event at which I gave a talk and news about Cogmind subsequently made the rounds. The effects of that alone lasted for a good couple weeks.

Then the obvious spike is obvious :P. RPS has been following Cogmind since pre-alpha and I hadn’t expected to see anything more until after alpha, but it was a nice surprise to have a sudden article about my work arrive the following month.

Starting mid-November, buyers in the EU could finally get Cogmind “VAT-free,” which basically boils down to a loss for me though it’s technically the industry norm to include VAT in the list price. Considering I was still losing money throughout development it took me a year and a half to reach a point where I was willing to eat a 20% cut in revenue from those regions. Since I made that change, between November 15 and June 6th $5,085 of actual revenue received originated from EU countries, meaning $1,271 went to extra taxes (a low estimate). That’s all money I could’ve kept for development if Cogmind was available before 2015 when the EU introduced VAT for online purchases!

For New Year’s day I made an ASCII fireworks gif (actually the first iteration of the one shown at the top of this post) and that garnered some attention, which pretty much always translates to more sales. That’s not why I made it--it was just a fun side project to see if it was possible with the engine, but it’s nice that it had that side effect :)

Valve pre-announced the end of Greenlight in February, and since I 1) wasn’t sure whether I’d like what would replace it, 2) know that having a little Greenlight campaign is itself at least worth some exposure, and 3) already had all the required media on my own website anyway, I decided to put Cogmind up for voting. There was literally only two days between the time of this decision and hitting Publish :P. It was greenlit not long afterward, but that wasn’t really the point--notice that nice little spike in the graph… it’s nice to have some free exposure from Steam when people who’d rather not wait can already buy from my site! Putting Cogmind on Greenlight clearly contributed an instant $750 or so to revenue :D

In April I again lowered the price, to its current and final base price and the level at which I’ve always planned to sell Cogmind once the main game reached completion. In that sense the price change came a little earlier than expected, since the Beta release wasn’t to happen until early the following month, but sales had been flagging over the previous six weeks and I couldn’t let revenue fall too much since I’m relying on it to get by before bringing a mostly complete Cogmind to Steam. (Other reasons: It was also a good excuse/opportunity to do a little advertising that didn’t overlap with the upcoming Beta release, and I also wanted a longer buffer between the price change and Cogmind’s upcoming Steam debut.) I actually silently lowered the price a week before even announcing the change, just to see what kind of impact it would have on random visitors. It seems to have been beneficial, though one week is too short a period and there are too many other factors at play to really draw any conclusions. (I’ll share more data below to shed light on conversion rates.)

The most recent mini-surge surrounded the Beta release, a pretty big milestone considering it allowed me to declare Cogmind essentially complete by multiple metrics. A number of people were waiting to hear that, and the price had already been lowered the previous month, factors that combined to generate a decent amount of revenue for May.

Another factor that I find valuable in examining daily revenue graphs, but that you might not immediately notice above, are “zero days.” Any day during which there are no sales at all is a zero day, and too many of these, especially in a row, can honestly start to get demotivating. On the other hand, ongoing streaks of anything-but-zero days are quite motivational--even if just one or two sales. I always keep an eye on that sales number (it’s easy to follow because I receive an email for every purchase, and I don’t look at them but each one increments a label-based counter in my inbox :P), and if I start to see zeroes it means I’m not quite doing enough outward-facing development, like sharing my progress across social media. I always work harder when there are continued sales every day, so getting into a routine of posting updates is a nice long-term self-reinforcing cycle--especially when I wake up in the morning and get to see how many there were overnight! That’s been a ritual wake-up habit for the past two years now…


The all-important Order counter :P

Throughout Year 2 I made a more concerted effort to ensure there was always something to show at least once every week, and I believe this is reflected in the relative number of zero days: Year 1 was 9.8% (36) zero days, compared to 4.9% (18) in Year 2. In fact, the improvement is technically even better than that: notice a third of Year 2′s zero days occurred close together over summer 2016--that was during my one-month vacation. No work, no pay xD


Cogmind Year 2 revenue zero days.

Looking at revenue on a monthly basis, there’s been a clear positive trend over the past year. (May passed $3k with its Beta release, though isn’t shown here as it technically extends into the third year.)


Cogmind monthly gross revenue, annotated.

I’ve labeled a few of the larger effects already discussed earlier, though I can find no reasonable explanation for March. The graph includes Year 1 for comparison, though I didn’t annotate those months--that stuff was covered with the first year’s data.


Cogmind Year 2 monthly gross revenue by country.

By country the revenue data doesn’t hold many surprises. Comparing to Year 1′s country revenue graph, the only notable difference is that Germany overtook Australia, somewhat interesting because as an English-only game Cogmind is assumed to mostly sell in native English countries. Of course, Germany does have plenty of English speakers as well as three times the population of Australia, and (perhaps more key here) more than one German LP’er picked up Cogmind over the past year. (Plus there was the mentioned VAT change in November!)

That graph would be far more interesting if there were localization, but at least this gives you an idea of what an English-only fairly text-heavy game can achieve in an international sense. Localization is a great idea for any game that can manage it, but sadly it’s simply not possible with Cogmind.


But we do have some extra interesting data to analyze for Cogmind’s second year of sales, now that we’ve been through multiple tier and pricing adjustments!

At the beginning of the year I wrote a lot about Cogmind’s first price change in 2016, including some common and not-so-common variables factored into my pricing decisions. Here I’ll add to that discussion with some final results of that change and the most recent third phase.

As a reminder, Cogmind’s base price was $30 for the first 12 months, $24.99 for the 11 months following that, then $19.88 for the last month of the second year (and on through today). In the context of daily revenue above I already talked about some of the more immediate effects of those price changes, but the bigger picture holds a few more details. One element I finally have enough data to explore is Cogmind’s conversion rate.


Cogmind lifetime conversion rate (2015.5 ~ 2017.5) based on buy.html visitors.

I wouldn’t read too much into that graph because there are a lot of factors at play here, so many that this data is not quite as meaningful as it appears, but it’s fun so I wanted to talk about it anyway :P

First of all, notice that it’s specifically the buy page! Unlike most other indie developers, I don’t put a buy link on Cogmind’s main web page. In fact, I also don’t even put it front and center at the top of the buy page itself! I prefer to 1) avoid generating impulse buys and 2) manage potential player expectations. Thus I intentionally force visitors to wade through other stuff before finding a link to actually buy the game :). Yes, it’s counterproductive from a marketing standpoint, but I don’t care, I’m here to build a good game and foster a healthy community, not rake dollars from random people on the internet.

Thus this source data definitely skews the conversion rate higher, because anyone arriving on that page already has a somewhat higher interest in purchasing than the average visitor. (Note that based on general industry data, those rates are high.) For comparison I did the same with /cogmind/index.html.


Cogmind lifetime conversion rate (2015.5 ~ 2017.5) based on index.html visitors.

Part of the problem with sourcing stats from main page hits is that they’re filled with referral spam which can’t always be completely distinguished from real visits (which, like incessant referral spam, may simply leave without visiting other pages :P). This is why using the buy page provides nicer metrics, because it doesn’t get referral spam--we just have to remember all the additional factors that feed into the buy.html stats.

Getting back to those factors, Cogmind’s exposure comes primarily via roguelike-focused channels, so new visitors coming to the buy page are already going to be of a rogueliking disposition and even more likely to buy :)

Also specific to the fact that I prefer basing data on the buy page, there are a lot of people who have followed development for a long time, even years, who eventually make the decision to buy when it’s right for them, whether due to a lower price, the right timing, or a combination of other personal factors. I believe there’s a fairly steady stream of people who fall under this category, and they’ll naturally just go to the buy page and… buy. This is often after having mostly obtained information about the game through one of the other channels I frequently use,  like Twitter, r/Cogmind, the forums, the dev blog, TIGS, Bay 12, Facebook, etc…

Regarding what appears to be an upward trend in the conversion rate, while it makes some sense when paired with the fact that the price comes down for each period, I think that trend is much less meaningful on breaking down the average number of daily visitors and thinking about where those numbers are coming from. For example in its first year of release Cogmind had the greatest exposure on a number of major websites, so naturally visitors from those sites were less likely to be among the target audience. That was the highest average at 71.8 visitors per day. The second period, during which there was much less general exposure, saw a significantly lower 47.5 visitors/day. And the most recent period with the lowest price, albeit shorter, recorded only 43.5 visitors/day, yet had the highest conversion rate.

Of course, knowing this doesn’t negate the fact that Cogmind’s website and my frequent (if minimal) outreach efforts are fairly effective at selling the game to those who are interested. And on the reverse side, supporting the likelihood of an improving conversion rate, obviously during each consecutive period Cogmind was closer and closer to completion with a longer and longer history of steady releases. That helps convince anyone just discovering the game that it’s both a substantial and promising project.

One of the buyer behaviors I’ve really been looking forward to quantifying is the percentage of those opting to pay more than the minimum price, and how that changed along with the tier adjustments.


Percent of Cogmind buyers opting to pay more. (This data just looks at the two lowest tiers for a given period, since the higher tiers are more complicated and aimed at group buys. The Prime tier and each respective basic tier are more directly comparable.)

After Cogmind’s first year, during which $30 (“Prime Tier”) was the lowest price, I added a new perk-less Alpha Tier for $24.99. For the next 11 months, buyers could decide whether they just wanted the game, or if they could afford and would like to contribute a little extra in return for having their name in the credits. Surprisingly 13.8% of individual buyers still chose the Prime tier!

Part of the equation here would be the relatively low difference in price, percentage-wise. Only 20% more for some extra perks and to support a project they like? Why not? Compare to the rate after the price was lowered to $19.88, which means a 50% (!) increase for Prime, and the ratio of buyers choosing that option was basically halved. Many of the long-time fans interested in paying more to back the project will have already done so anyway. (Though also note that data for the latter period was only collected for about a month, because the Prime tier was removed as of the Beta release. That said, I don’t suspect we’d see much of a difference if I continued to sell that tier--it was removed primarily because development was entering a new phase, and keeping the “early supporters” tier active for much longer didn’t seem right.)

In the end I’m very glad I chose to handle tiers and pricing the way I did, because otherwise Cogmind wouldn’t have gotten nearly as much pre-Steam development as it has! Lowering to $19.88 sooner also probably would’ve been a bad move based on what I’m seeing now, since over the long term there’s been no noticeable increase in the raw number of buyers. Anything in the $19-$30 range really falls into the “too expensive” category for a lot of people, even more so if it’s not on Steam where the convenience of purchases can take some of the edge off a price, or where there’s more likely to be some sort of discount to provide additional impetus. (I’m still not working at getting more exposure to make up for the loss in revenue per player--it’s just the same old social media channels--but that’s why I chose April/May to do this, around when it’s time to transition to Steam.)

However, I certainly wouldn’t claim that sticking with $24.99 would continue to generate a proportionally higher revenue. Conversion rates would likely drop if the price remained unchanged. Each time I’ve reduced the price over the past two years, I was already feeling that sales were starting to flag and would likely continue to do so if I didn’t take action. Even if that may not have come to pass, I also knew that there was already pent up interest in a lower price, and it was about time to lower the gates a bit further and let more fresh players in.


So where does this funding go? Well, as a solo dev with relatively low asset costs, much of it naturally goes to pay my meager salary, and my job is to both create and sell Cogmind :)

As always I’ve been maintaining my detailed records of development time, which show that compared to 3,065 hours of pre-alpha development and 2,177 hours for the first year of alpha, Year 2 continued at a stable 2,192 hours of work. These numbers aren’t too pretty, because it shows that this is a lot of work for the amount of revenue coming in--certainly not worth it in an economic sense, but that’s okay for now as long as it’s been sustainable.


Cogmind development time, July 2013 ~ April 2017 (excludes 2012 7DRL work).

There’s always more coding to do along with any new features, so that has of course continued its long-term upward drive, and community-related efforts are finally starting to catch up to it as I spend a little more time on promotional stuff as the core game approached completion. Content-focused development accelerated significantly over the past year, which is what ate into coding time.

Comparing only the major development categories of Year 1 and Year 2 more directly, the shift from code to content is clear, while other areas stayed more or less constant.


Cogmind Alpha development time breakdown by major categories.

Because “what’s a good percentage of time to spend on outward-facing efforts?” is a common question among newer gamedevs, let’s also look at the major category breakdown for the project as a whole so far.


Percentage of Cogmind development time invested in each major area, July 2013 ~ April 2017 (excludes 2012 7DRL work).

So altogether it’s 66.7% game stuff vs. 33.3% community/marketing. This is really a bare minimum, which I can get away with because the traditional roguelike community is pretty tight knit with a small number of key places to stay in touch with players, making that part of the job easier. Other experienced devs will say literally half or more of your effort needs to be some kind work that helps get your game noticed (or in my opinion just as valuable: serves as time spent interacting with the existing player base).

I have much more behind-the-scenes dev stats and dedicated analysis to share once Cogmind is complete, though wanted to share a little of it in this article to give the revenue more context. (There’s also a month-wise breakdown of development hours in the latest annual review.)

Aside from dev time there have been a number of other expenses, but they account for less than 6% of the total budget (which doesn’t really have room for anything more xD). Music is something I’ve been thinking about, but how much money can be budgeted there is still an unknown for something that may not be entirely necessary and for which there are multiple valid approaches at different cost levels.

Cogmind still hasn’t broken even, but the hope is that it will as soon as it’s launched on Steam.

Next Step

It’s been a good two-year run of alpha releases (see history), and the ability to extend pre-Steam EA development has been wonderful for fleshing out the original vision--some of the stuff I’ve been adding, even entire maps, was totally not planned from the beginning! And as a result of sufficient support despite the previously higher prices, the player base could be kept from growing too large and distracting (as mentioned in my pricing article) while still getting constant feedback on new features and mechanics.

Now that the Beta is out and further development is mostly optional fun stuff, it’s time to seek out more exposure and put Cogmind on Steam :D. Performance there will be extremely important for the future of Grid Sage Games… so hopefully it can make a splash.


Making a splash.

Posted in Post-Mortem | Tagged , , , | 6 Responses