Official development blog

Color Customization

I’ve always enjoyed adding accessibility features, hence Cogmind’s sizeable options menu and even more extensive config files. Not everyone will have the same habits or abilities, or play a game in the same way, so where possible it’s nice to be able to accommodate different needs. Although I’ve talked a fair bit about fonts before (still more to come on that front!) and four years back also wrote about some of my ideas on potential adjustments related to color blindness, it’s about time for a generalized set of color customization features.

As the player base has grown a fair bit over the past few months, I’ve received a few requests for ways to tweak the brightness and/or saturation, so that was the trigger for finally implementing a display filtering system.

Essentials

Many games come with a simple “gamma” adjustment option, so that’s where I started. Easy enough:

cogmind_color_filter_brightness_66_tiles_comparison

Comparing the default appearance to a 66% brightness setting.

While it’s true perceived color brightness is non-linear, adding in more complex calculations to compensate would slow the filter down so I implemented it as a direct percentage modifier, just [RGB * (0.0~1.0)].

Note that for comparison purposes the majority of screenshots in this article use the same scene, and all can be clicked to open at full size.

Some players may also want to drop the saturation to take the edge off the eye-burning terminal contrast :P

cogmind_color_filter_saturation_66_tiles_comparison

Comparing the default fully saturated appearance to 66% saturation.

Since I store colors using RGB and it’d be slow to convert everything to HSV simply to adjust the saturation then convert back again, I found an alternative formula for direct RGB saturation adjustment that seems to work nicely.

Filter Settings

So how are these options made available, and how to create a system that will support additional filters? For now I opted to make it a string in the advanced.cfg file. For example the line “renderFilter=BRIGHTNESS(90)|SATURATION(90)” adds two filters, a first which drops the brightness by 10%, followed by a second that then desaturates all colors by 10%.

There are currently eight different filter types, and the code converts this string into a set of filters that the engine renderer applies in separate passes over the terminal grid colors, both foreground and background. They’re applied to every cell individually, so this isn’t some GPU-optimized image modification, just an operation repeated for each cell, meaning each filter pass on the standard-dimension UI costs an additional 12,720 operations xD. Yeah there are better ways used by more competent programmers to achieve effects like this, but it works well with my current engine setup :)

At most the minority of players who will use filters seriously will probably only need one or two anyway.

Getting Wild

Having taken care of basic needs, there are of course even more frequently requested adjustments like the ability to outright change terminal colors.

Traditional terminal players are used to being able to fairly easily customize the appearance of a roguelike, including the color palette, but they also only have worry about maybe just 16 colors. Unfortunately there is a huge range of colors in Cogmind so it would be a lot more work to implement a way to customize individual details, but for now I’ve at least added a very simple method with a broad effect: hue shifting. It can lead to some crazy schemes, but there are reportedly a number of people out there interested in something like this.

cogmind_color_filter_hue_shift_180_pink

Cogmind appearance with all hue values rotated by 180 to become… Pinkmind! (example #2: 90-shift Bluemind)

Colors have been carefully chosen in Cogmind, designed to make the meanings and implications of certain pieces of information that much easier to intuit, and obviously shifting the hue will ruin a lot of that. Some things which were obvious may not be so obvious anymore, and on the flip side unimportant elements may be overemphasized. In any case, doesn’t hurt to have this as an extra option for whatever reason!

With a system in place it’s also not hard to add new filters.

I mean we can even get crazier than hue shifting and go as far as RGB shifting! Check out the color chaos that results from a +90 shift:

cogmind_color_filter_rgb_shift_90_purple_green

Shifting all RGB values by 90. No.

Are your eyes ready yet? Let’s continue with more serious filter efforts…

Low-Contrast and More

One of my goals with this system was to enable low-contrast settings that don’t overly impact the general color design, and rather than darkening and/or desturating everything, a better approach is to start by not using a pitch black background. This required some actual changes to the source code beyond a basic filter, since for the past five years of development I’ve assumed the background is black, but the necessary adjustments weren’t too difficult and for the most part now work via a global switch.

The idea is to choose some other dark-yet-not-black color. To avoid wasting too much time here, I used Photoshop layers to tweak a game screenshot until it was low-contrast but highly readable, then made sure the system I had was capable of replicating that process step-for-step. As usual, it’s good to have a target to work towards when designing something like this. (For the same reason I always do UI layout mockups in REXPaint first.)

cogmind_photoshop_low_contrast_curves

Step 2 for creating Cogmind’s low-contrast mode: Raising the overall brightness, especially for darker colors.

In all there were more steps but I compressed it down to just two:

  1. Swap out the black background with the chosen new color.
  2. Adjust the brightness of all foreground colors using a formula derived from the PS testing above: y = 0.7176x + 59. This raises the brightness of most darker colors so they stand out just enough against the new background, but takes the edge off any really bright ones.

For reasons specific to Cogmind’s color design I did make a couple exceptions--the second step is skipped for any instances where the foreground color is itself black (this is rare but I use it for occasional reverse cell coloring--black characters imprinted over a solid color), or was intentionally set to match the background color (I sometimes do this to temporarily hide the foreground).

So what background colors did I pick as defaults? I started of course with my dark maroon background from the IDE color scheme I designed from scratch and have been using for the past 10 years or so :P

cogmind_source_chack_text_sample

Some Cogmind source as seen in my IDE, the inspiration for the first low-contrast mode.

Like my IDE scheme, this particular filter is called “Autumn.”

cogmind_color_filter_autumn_low_contrast

Interacting with various Cogmind UI features in Autumn low-contrast mode.

In fact, aside from being my IDE scheme Autumn is also a REXPaint skin, and Cogmind’s other new low-contrast mode borrows REXPaint’s default skin as well: “Sleepy.”

cogmind_color_filter_sleepy_low_contrast

Cogmind low-contrast mode “Sleepy.”

These modes still aren’t quite perfect due to the aforementioned universal assumption of black, though I did specifically update some of the particle scripts to be compatible with this new filter. The few features which might not always look great under this mode are some of the ASCII item art and intro/ending animations, but this only affects the small minority of areas that use their own dark background colors.

If more people start using low-contrast settings I might go back and invest more time in overcoming some of the remaining aesthetic challenges.

Although I implemented two named low-contrast filters, these are merely for convenience--under the hood they’re implemented through a more general filter: LOW_CONTRAST(R,G,B). This means you can create your own low-contrast scheme using your favorite color, or whatever you think works, I just thought I’d provide defaults for some tried and true colors :)

Map-only Adjustments

Earlier I mentioned this setting is called “renderFilter,” but there is a second one as well: “renderFilterMap.” All filters set there apply only to the map, rather than the entire application including HUD and other UI elements. It’s compatible with the same filters except low-contrast, as the latter must be applied across the entire application and cannot be limited to the map area since it’s handled on the engine side (as opposed to the game side).

One of the interesting filters more suitable for the map area rather than the UI: SWAP. This filter swaps the foreground and background color of every cell to create an even more colorful “dark on light” style rather than the usual “light on dark” terminal look.

cogmind_color_filter_swap_map_only

The results of a renderFilterMap=SWAP, with no other changes to the appearance.

I don’t think this is as good from a parseability standpoint since it somewhat separates color from the character it’s associated with, but maybe it could fun to play around with, plus some players can get used to or even enjoy anything :)

cogmind_color_filter_swap_map_action

Destructive ASCII action in Swap mode

Notice that these are ASCII examples, because although it’s monochrome the default tileset uses multiple shades, and the whole look is not very compatible with this kind of swapping.

cogmind_color_filter_swap_map_only_tiles

Yeah I don’t think so.

So if you’re interested in trying out this mode I hope you like ASCII, otherwise we’ll have to wait for someone to draw a non-shade monochrome tileset that focuses mostly on solid shapes and symbols. I’m sure we’ll see something like that eventually. It could look pretty cool (and of course also work in the default/non-swapped mode as well, so the idea is that we’ll get that one first then it can be simply swapped over).

Good news is the Swap filter is both compatible with and looks even better when combined with low-contrast mode!

cogmind_color_filter_swap_map_only_plus_low_contrast

Cogmind ASCII map with both a Swap filter and Low-contrast Autumn filter enabled.

All these customization features are explained a bit more in a new “Color Customization” section of the manual included with the next release (Beta 5).

Specifically with regard to color blindness, I haven’t gotten any real feedback from players who need more options in this regard, though from the start I’ve tried to design the UI such that as much info as possible is conveyed through multiple channels, color only being one of them, so maybe there isn’t much demand for additional features there. I could add new filters if necessary, and although individual color swapping would be problematic (primarily because any dynamic colors are scripted and therefore calculated via formulas), perhaps there are some formulas that could be made available as filters to adjust the final color palette that way.

cogmind_color_filter_parser_debug_testing

Bonus GIF: Cycling through various display adjustments in real-time after hooking up the color filter parser to the debug system :D

Posted in Design | Tagged , , , , , | Leave a comment

Player Metrics: Stats and Preferences on and off Steam

Wow, Steam release. The core roguelike community has formed the majority of Cogmind’s player base for a long while, but now we’ve had a wave of new players from Steam so we’ll have to see how this wider audience, and a larger portion of players new to the genre, may have affected some of the stats.

For the past couple years I’ve been reporting stats based on player-submitted score sheets, which also include some preferences and other settings (you can sample those linked from the leaderboards if you haven’t seen one before). These “stat summaries” have simply been going to the forums High Scores thread, with the kinds of stats evolving over time along with an increase in total number and quality.

Today it’s finally time to take a deeper look at the data… Doing this sometimes helps with future design decisions, but it’s also just fun :)

I did something similar back in 2015 for the Alpha Challenge, a metrics analysis in 7,500 words and several dozen graphs, but it’s been a long time and we now have a lot more data to work with, plus we can do some interesting before-after comparisons.

Overview

In ten weeks of Beta 3 following its release on Steam, 33,181 score sheets were uploaded, compared to around 15,000 in all of Cogmind’s more than 2-year history of prior releases. We technically even lost some 2,000 Beta 3 score sheets one day shortly after launching on Steam due to a little incident with the leaderboards being overwhelmed :P (wasn’t designed for that kind of load! I did fix it the next day, though)

26,478 runs scored at least 500 points, the minimum required to be included in the scoring data. 65.2% of those runs were submitted anonymously, meaning the player did not set a Player Name in their options. This compared to a mere 5.4% for Beta 2. But we can account for that change with two main factors:

  • As of Beta 3 score uploads were changed from opt-in to opt-out, meaning a lot more submissions by players who otherwise wouldn’t bother manually activating it in the options (or even know it was an option in the first place).
  • Even though Cogmind uses non-Steam leaderboards, Steam players probably assume their in-game username is set automatically based on their account, which is not the case. (I’ve considered adding this feature, but decided not to for now.)

Anyway, lots of anonymous scores. Since we have so many non-anonymous submissions now, as of Beta 3 I removed anonymous scores from the leaderboards themselves, though they’re still included in stats below except where mentioned. Overall 1,287 unique non-anonymous players submitted scores, as well as 4,389 unique anonymous players you don’t see on the leaderboards. 342 initially anonymous players later set their Player Name and appeared normally.

Counting only those runs included in the data (26k), you can see how the submissions gradually decline following the Steam release. (You can also clearly see the effect of the leaderboard system crapping out that day xD)

cogmind_score_submissions_around_steam_release

Some of the decline can of course be attributed to be people trying the game out then waiting on it because it’s “EA” or they have other things to do, and also because many players gradually improve their skills over time and survive for longer periods, leading to fewer submissions overall. As you can see I added average run length (in minutes) to the graph, and the trend line for that rises from 62.5 minutes to 83.8 minutes, a 34.1% increase across two and a half months.

Both off and on Steam, Beta 3 was played for a total of at least 1,541,666 minutes (25,694 hours!), though I excluded a number of suspect high-time records--Cogmind’s run length records exclude idle time, but are also on rare occasions susceptible to oddities in a few system environments. And of course we don’t have data for players who are completely offline or have deactivated uploading, and I also didn’t tally sub-500 score sheets.

Scores and Wins

There was a steep drop in average score, to be expected with so many new players. It reversed the trend we’ve had over the past year, where scores were generally going up as 1) the world grew wider, 2) more sources of bonus points were added and 3) regular players got better and better. Alpha 14 to Beta 1 saw an 11% increase in average score (to 8,035), for example, then up another 5.3% to 8,461 during Beta 2. With Beta 3? Average score fell 53% to 4,503! :P

I’m sure we’ll see it rise again later into 2018.

There was, however, a fairly large raw number of wins. In the 29 months prior to Beta 3 players won a total 292 times, while during just the Beta 3 period there were 139 winning runs. Among the rapidly expanding player base we’re seeing seriously dedicated new experts, some clocking hundreds of hours in just the past couple months.

There are seven different endings in Cogmind, and a few players have discovered them all, but during Beta 3 the spectrum of wins only covered the first four types. 79% of wins were the “default” ending, 1% were special ending #1, 11% were #2, and 9% were #3. Maybe we’ll see some endings 4/5/6 in Beta 4 :) (these are the most challenging, two in particular are for super powerful builds).

Now that we actually have some players using the lower difficulty modes, it’s also more meaningful to look at how many of those are winning. Wins by difficulty mode:

  • Default: 101
  • Easier: 4
  • Easiest: 13

Comparing the number of winning players vs. the total playing each mode, the numbers look like what one might expect, so the modes are apparently doing their job. Winning player ratio by mode:

  • Default: 38/1,183 (3.2%)
  • Easier: 4/52 (7.7%)
  • Easiest: 9/52 (17.3%)

The latter two modes are mostly composed of very new players so in future versions I would expect the win rate there to rise even faster than the default assuming no new large influx of players (and that players don’t decide to move up to a higher difficulty).

I excluded 15 anonymous Roguelike Mode wins, and 6 anonymous Easiest Mode wins, from the above data. Altogether, 51 (4% of) unique non-anonymous players won at least one run of Beta 3.

Looking at all players and score in general, the trend is what one would expect:

cogmind_beta_3_score_range_player_run_counts

Players who tend to score low (which usually but doesn’t always mean dying earlier) also played fewer games on average. Playing more games clearly leads to improvement in skill level, although it’s interesting to note that flat area in the middle of the run count line, which probably reflects a combination of players who are just naturally better and also those who were playing in previous Betas/Alphas and already more skilled to begin with.

Difficulty Modes

Only a small number of players (27; 2%) ever changed their difficulty mode, in most cases (91%) to lower it. Only one player jumped their difficulty level two notches, twice a player raised it by one level, and 17 lowered it by one. 15 players dropped their difficulty from the default to Easiest.

This data is only looking at non-anonymous records, so technically only 22.7% of players, partially because these are players spending more time with the game, rather than many anonymous players who generally do fewer runs anyway before stopping for now.

Steam vs. Non-Steam

Cogmind can be purchased from two different stores, mine and Steam’s, and score sheets indicate which build they were uploaded by (I have a separate build for each), so in all this data we can also look for any differences between the two sources.

During this Beta, 956 non-Steam players finished 4,029 runs, while 4,457 players on Steam finished 22,450 runs. Thus 82.3% of players are using Steam, and playing 84.8% of the runs. A fair number of Linux and Mac players use the DRM-free option (since it’s not supported on Steam), as does anyone who just doesn’t want to use Steam or prefers to buy direct from developers, together boosting the non-Steam numbers by a good bit.

To my knowledge the majority of the experts switched over to Steam release, so maybe that helps account for the fact that the average score among Steam players was 4,386 (median 3,016), vs. 3,975 (median 2,751) off Steam.

I’ll be looking at more at Steam vs. non-Steam data when we get to the preferences later.

Exploration

One of the main draws of Cogmind is exploring the expansive foreign world, so let’s see how far into it players have managed to get so far.

cogmind_beta_3_runs_ending_at_evolution_count

Tallied on a per-run basis we can see that a full third of runs end on the first map. That’s where you’re at your weakest, and especially when inexperienced a few wrong moves can potentially lead to a downward attrition spiral since core integrity is still not all that high and coverage is minimal (lowest slot count).

A still-high quarter of runs end in the floor after that (-9, following the first evolution). Core integrity and coverage are still somewhat low, but most importantly this is the first floor into which Cogmind may enter in a suboptimal state, e.g. partially or totally naked (coming into the first floor this isn’t an issue) without much in the way of spare parts. That’s the most disadvantageous situation to be in, and it’s even more likely here because you may have even entered after passing through the unpredictable and potentially dangerous Mines. This and the initial appearance of Sentries makes the second floor just about as tough as the first for new players.

I’m pretty sure the percentage of runs ending on the first map will shrink with Beta 4 since both its size and difficulty were reduced to not be quite such a harsh early gateway for new players, and to streamline it even more for experienced players. The other two Materials floors also got some tweaks to make them a little easier to survive, so together with the opening floor changes we’ll be seeing that whole early-game peak flattening out a bit (though just as much from the fact that we won’t have quite such a surge of new players as we did during Beta 3).

Beyond the early-game it’s an understandably rapid descending graph with fewer and fewer runs surviving as the difficulty ramps up over distance--difficulty increases rather quickly in Cogmind :)

The final depth at evolution 9 is naturally the most difficult so there’s an uptick of deaths there. By contrast, anyone who can survive the first Research level at evolution 7 can probably also make it through 8. That said, the area is tough enough that many players enter the final map underpowered, accounting for some of the extra deaths there (some of the rest are opting to take on extended game content and don’t pull off the win).

Overall, this related graph tells a less gruesome picture:

cogmind_beta_3_runs_ending_at_evolution_count_bests

Taking only the best run from each player, we can see a more reasonable gradual slope, though the first half of the game is clearly still a barrier to the majority of players (70%).

This is yet more reason to continue adding content to keep players who are stuck there entertained :P. (Cogmind’s content is mid/late-game heavy, greatly increasing with each new depth, so there’s definitely room to expand the early game which is something I’ll turn my attention to again later.) However, for really accurate data there we’d technically have to factor out a bunch of low-run players. Remember the run counts per player graph from earlier--a lot of the people at the low end have only actually played 2-3 runs on average, which is not usually enough to learn all the most important survival tactics. This graph’s peak would naturally flatten out if those people played a few more runs, but many just bought and tested out the game for a bit, and will come back later.

The slight reversal of the trend in the late-game reflects the idea that many who can at least make it to that hardest segment of the world probably won’t take too long to figure out how to push through to the end, especially with… help from branches :D

86% of wins visited special branch maps that, to put it generally, significantly increase Cogmind’s chance of survival in the long run. Not that all branches are created equal--the easily accessible maps aren’t quite as useful as what’s found in deeper or more dangerous areas.

Pretty much all runs that make it out of the early game hit at least one branch or another, even if not looking for them.

cogmind_beta_3_percent_runs_entering_accessible_branches

The above graph shows the percentage of runs which actually visited any map in the given category of branches as a portion of the total number of runs to reach the depths at which those branches were available. For example more than half of players who could enter the Mines did so (many probably newer players entering somewhat unintentionally, although there are certainly players who enjoy taking Mines exits now that they’re not so deadly and can come with more perks).

The Storage branch ratio is especially low because it has fewer entrances than the average branch listed here. And the Research branches are especially high (53%!) because 1) many of the players who can reach those late-game areas know how valuable (and fun) they are and 2) exits from Research are notoriously hard to find so players are sometimes forced to take a branch just to escape before things get too hairy.

Speaking of optional maps, while browsing the stats it was interesting to note that 23 times players passed right through a special secret cave area and didn’t realize it. Also only 2 players visited the world’s most difficult area to reach.

A few plot-related stats, described in cryptic terms to avoid spoilers:

  • Cogmind was imprinted in 3.7% of all runs; players in 84 runs decided not to imprint despite having the chance. 31.6% of winning runs were imprinted, with 8 winners (5.8%) choosing not to imprint. Get your imprinting in during Beta 4 runs, because it’s going to be nerfed in Beta 5 to make it a more strategic decision with additional long-term implications (rather than a no-brainer).
  • 12 runs interfaced with DC and went on to win, of 68 total runs choosing to do so.
  • 18 winning Cogminds visited W, of 41 visits in all (43.9%).
  • 24 wins were achieved with a reset core, out of 101 total resets (23.8%).

With all the fresh Cogminds, average lore collection across all reporting players took a dive to only 6%, as did the item gallery collection rate which now averages 14%. That said, congratulations to GJ, the first (and still only) player to discover every single item in the game, and also every piece of lore! That’s a heck of a lot of stuff, but someone’s finally done it--I’ll just have to add more to keep him on his toes :P

Meta/Preferences

One of the areas I most enjoy comparing across releases is player preferences, and of course we can expect some significant changes with the addition of a Steam version accessible to a wider audience.

Probably one of the biggest questions of preference when it comes to traditional roguelikes is “Tiles or ASCII?” In many cases both are supported, and Cogmind was even designed for ASCII with an ASCII-like tileset only added two years into development. But as we know a lot of players have trouble getting into ASCII, so in the big picture tilesets will always win out. The question is by how much.

cogmind_beta_3_player_preference_tiles_vs_ascii

Prior to Steam 21% of players were using ASCII mode, a pretty good chunk but still a clear minority. With Steam that dropped from one in five to one in twenty players (5%). We’ll see similar trends with many other preferences below.

Note that in these graphs, “pre-Steam” data uses Beta 2 records, which are largely representative of the community we’ve had going for the past couple years. For most graphs I’ve also separated out Steam vs. Non-Steam players in order to examine whether there are any notable differences there. In hindsight it seems non-Steam players show no major deviations from Steam players in terms of preferences, suggesting that the post-Steam trends are a result of simply having a wider audience, and not particular to the Steam community itself.

cogmind_beta_3_player_preference_mouse_vs_keyboard

Not as many traditional roguelikes support the mouse as thoroughly as Cogmind does, but I’d argue that any roguelike wanting maximum exposure and enjoyment should include full mouse support in its design. Of course I don’t really have to argue it, because everyone will probably agree anyway, and in any case there are the facts graphed right there :P

Throughout Alpha and early Beta, about a third of players didn’t use their mouse at all, but now that’s dropped to 7-8%.

cogmind_beta_3_player_preference_movement_methods

As for movement methods, mouse is also king, though notice that even following the Steam release more than a third of players still use the keyboard to move. In Cogmind there is often a need for tactical space-by-space movement, even outside of combat, and even some players who otherwise use the mouse to select targets, get info, or manage their inventory are still open to one of the keyboard-based movement methods.

Before Steam a surprisingly low 25% of players used the mouse for movement. At the time players submitting scores were mostly more experienced (or those very familiar with roguelikes) and would like to exercise maximum precision without fear of misclicks.

Among the keyboard movement methods, as expected numpad is the most popular. Out of curiosity I always keep a close eye on vi key usage, and although pre-Steam vi usage generally hovered around 15-16% and is now below 5%, it’s interesting to note that twice as high a percentage of non-Steam players use vi as those on Steam. (There are 136 of you--more than dozens! :P) I believe one of the biggest factors here is Linux players, who to my knowledge are almost exclusively using the DRM-free version, and the same crowd also tends to be more familiar with the vi layout.

cogmind_beta_3_player_preference_window_options

No huge differences to see in window settings, although based on these graphs I’d say a lot of newer players probably just don’t realize there is a borderless window option yet :). We’ll probably be seeing borderless fullscreen rising later on, unless there really are that many more people without multiple monitors among the wider gaming population compared to what we had pre-Steam.

cogmind_beta_3_player_preference_font_size

For font sizes I’ve only shown post-Steam values. As before, size 18 is by far the most common, generally equivalent to 1080p.

cogmind_beta_3_player_preference_font_typeface

The vast majority of players are sticking with Cogmind’s default typeface (Smallcaps), and as usual Terminus is the second most popular. Interestingly X11 took over as third most popular, attracting a lot more attention on Steam than any of the other remaining options. Also interesting is that Cog slipped pretty far from its pre-Steam third place spot, which we can almost certainly attribute to the fact that it was Cogmind’s original default font back in early development, and a greater number of regular players had gotten used to it, but now it requires that players manually select it over the others.

I also compiled a lot more player-specific stats over on the forums:

cogmind_stat_summary_beta3

Note that some numbers in this post may not always be perfectly comparable across different data sets and analyses. I was using numerous different spreadsheets to work with the data from multiple sources, and sometimes excluded subcategories of data for various reasons. Even if not always fully accurate or comparable, the data does meaningfully reflect general trends.

Posted in Meta | Tagged , , , , | 2 Responses

Year 4 of the Cogmind

Each year in Cogmind development has been bigger than the last, and 2017 was no different!

As in the 2014/2015/2016 summaries, let’s start with a collage of images from this year:

cogmind_development_year_4_small

Selection of images from the past year of Cogmind development as posted on this blog and Twitter (full mega size here).

In 2017 Cogmind flew through Greenlight, entered Beta after yet more huge content updates, and has since made its way onto Steam, where it’s continued to do fairly well as we head into the post-Alpha who-knows-when-this-will-end-but-it’s-fun period of expansion!

Development Time

At the Year 4 (technically Year 4.4) mark we’ve reached 8,410 hours of total work, keeping mostly on par with previous years:

timeline - cogmind_monthly_development_hours_201307-201711

Cogmind Monthly Development Hours, 2013.7-2017.11 (click for crisper full-size version). (The color coding is for different aspects of development tackled each month, the subject of a future in-depth article to come when Cogmind is complete.)

You can see development ramping upward into 2017 as I was eager to finish up the coding (green) and content (orange) to finish the story before a planned Steam launch, but then in April I got that nasty concussion which resulted in a serious hit on productivity.

Still, this year added 2,046 hours, a slight 3.2% increase over the year before. Work on the game itself (923 hours), however, fell 19.8% compared to 2016, a ratio shift that reflects two factors: 1) progress all but ground to a halt while I tried to recover over summer but couldn’t very well stop community interaction altogether, and 2) preparing for Steam inevitably requires a lot of non-game work. You can clearly see the Steam EA release there in October, with a peak resembling my own EA launch of Alpha 1 back in 2015 :). Now that Cogmind is released on Steam and that side of things is stabilized, the graph will start shifting back to more content-focused work over the coming months.

Overall it’s been a great year for progress, though it could’ve been even better had I not hit my head… Luckily when things were at their worst (late August when I was incapacitated most of the time) I finally found a treatment that worked well enough to get me back to full time work!

matrix_acupuncture

Acupuncture!

I’m still dealing with some of the effects now, but have at least gotten noticeably better--I mean, otherwise that 243-hour work month when I launched on Steam wouldn’t have been possible :P

Features

To summarize this year’s highlights: Content was added or adjusted to greatly expand the experience for players across the entire spectrum, as Cogmind got easier difficulty options, the first challenge modes, and an extended end-game with deadly challenges few have even reached, much less survived. Most importantly, in the first half of the year the story was completed with seven different endings to uncover. (I also animated all the endings, which took quite a while!)

cogmind_mapgen_interesting_caves_red_open

There is no map like this in game (honestly it wouldn’t make for enjoyable exploration), but it’s an experimental precursor to… something secret added this year.

I decided to signify the shift into a new post-story phase by declaring Cogmind “Beta,” the massive release of which was both aptly and inaptly dubbed “The End.” This happened around the same time as Cogmind reached two full years in my own “early access” program, which has gone well enough.

Of course plenty of other features came out this year, too, as linked from the ten releases beginning with Alpha 13 in the Release History. And we still have one more update to look forward to this month :D

cogmind_various_2017_feature_gifs_collage

Mix of various feature gifs from the year. Because gifs.

News and Writing

As with last year, most updates have been discussed via release notes on the forums (and now Steam) rather than covered here on the blog. At both of those places I’ve also started regular weekly updates (“SITREP Saturday”) rather than posting randomly once every 10-14 days like I was doing before, so that they’re more predictable.

Although I haven’t been sharing as many design articles this year due to the changing nature of the kinds of things I’ve been working on (for example much of the game content added this year was secret :P), there are definitely more on the way in 2018. But I have been continuing to write FAQs over on r/roguelikedev, where #55~67 are all from this year and you can read about topics like Mob Distribution, Character Archetypes, Status Effects, and Transparency and Obfuscation as they relate to Cogmind.

Exposure

For years I avoided seeking out too much attention for Cogmind, even shying away from some decent opportunities that presented themselves, because the game world was not only incomplete, but more importantly it was definitely priced for hardcore fans of the genre (for those of you new to Cogmind, know that for a long while it was $25-30 as a more reliable way to “crowdfund” the scope I was trying to build into it--we can thank the early adopters for making the current version possible!).

I didn’t want Cogmind’s first impression on a wider audience to be primarily that it’s strangely overpriced for an indie game, which often fall between $10-20, so I turned down some offers for exposure back then. That changed with the Beta and the price drop, although it’s interesting to note that despite my attempts to contact some press and LPers this year, almost all of the best channels interested in Cogmind found it on their own, both before and after the Steam release.

This year Cogmind was one of the subjects of an article on PC Gamer (which also later announced the news of Cogmind’s Steam release), and even appeared in two magazines, PC Guru and Canard PC. There have been more than a dozen other smaller pieces this year as well.

cogmind_steam_EA_release_coverage_collage

Some of the coverage Cogmind received this year, mostly around its debut on Steam.

But often more helpful than media coverage these days, Let’s Players were responsible for the biggest boost in exposure, with popular players like quill18, Aavak, and Nookrium definitely driving interest around the Steam release. (Also many thanks to the smaller channels out there doing even more streams/videos over the long term <3)

Not that I can draw a huge audience myself, but I’ve been continuing to occasionally stream as well, and we often have new players drop by to mingle with the regulars and pick up tips, which goes a long way towards improving the skill level of the community as a whole. As of the most recent stream I’m uploading them to YouTube where they’ll live longer than on Twitch, in case people want to watch them later.

We’ll see if Cogmind gets any mentions in end-of-year articles, but I can say that just this week we already made the IndieDB Top 100 list for 2017--voting for the final round is actually ongoing right now.

Obviously the best new point of exposure for Cogmind in the long term is Steam, where it’s accessible to a greater number of players and can integrate more closely with the gaming community at large.

Steam

We’d been talking about it in the future tense for so long that it almost feels unreal, but 2017 was finally the year Cogmind arrived on Steam.

Early in the year Valve announced they’d be getting rid of Greenlight by replacing it with a simple paywall, and I knew we were close to a Steam release anyway, so I figured I’d respond by quickly putting Cogmind up there and try to beat the inevitable deluge of games to Steam. Given all the assets I already had lying around it took only two days from decision to campaign, which was pretty cool.

cogmind_steam_greenlight_100percent_top_100

Well that didn’t take long!

Cogmind made it through pretty quickly, though I still planned to wait at least a couple months for the Beta before it’d be Steam-ready.

cogmind_greenlit_yes_votes_graph

Clearly a dedicated fan base at work :P

Unfortunately my accident essentially coincided with Beta completion, meaning I had to give up the plan to reach Steam before all those other games, and also forgo a preferable early-summer Early Access release.

Staying alive for the long-term seemed a little more important at the time xD

But hey come October believe it or not it really did happen! Player reviews have been good, and the leaderboards certainly exploded. I’ve actually already covered a lot of details from the Steam release and its aftermath in my postmortem, so check that out if interested.

cogmind_steam_EA_portmortem_graph_collage

Some graphs shared in my recent Steam EA month-1 postmortem for Cogmind.

2018

All that’s behind us now… what we want to know is what great things 2018 will bring!

Well, certainly we’ve gotta finish the stuff still listed on the long-time roadmap, which altogether will take at least a few months, or more considering it’ll all be mixed in with other improvements, too. So without a doubt we’ll get those built-in achievements, an expanded robot hacking system, more ambient audio, and revamped score sheets.

This means Early Access will easily last another six months, and probably longer because I don’t want to bother calling it 1.0 if we’ll still be getting new extra features for much of the coming year.

Exactly how much longer will really depend on what happens on Steam while the remainder of the confirmed features are being worked on. If reception and sales are sufficiently good, I’ll have trouble stopping myself! I can’t be specific about the virtually endless list of potential features I’ve accumulated (player expectations and all that…), but I’ll admit there is room for, plans for, and a desire to add, many new items, mechanics, robots, maps, NPCs, factions, everything…

cogmind_2018_item_art_preview_concepts

2018 awaits :)

Posted in Gamedev | Tagged , , , | 2 Responses

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:

annual_steam_releases_2006-20171114

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.

Traffic

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.)

cogmind_steam_launch_month_visitor_sessions

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_171017_steam_store_page_analytics

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:

steam_more_like_this_coq_cogmind

“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_171017_steam_front_page

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_171017_steam_ea_main_capsule

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_by_category_through_171115

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_171017_steam_strategy_new_and_trending_main_carousel

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_steam_launch_week_top_seller_page_rankings

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_171017_steam_ea_top_sellers_long

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_171017_steam_indie_top_sellers

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.

cogmind_steam_launch_week_roguelike_tag_page_1

Seriously?

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…

Sales

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

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

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

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%.

Discounts

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_steam_revenue_171016-171113

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.

Reception

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.)

Reviews

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_steam_ea_day_3_reviews_very_positive

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.

cogmind_steam_review_unix_acid

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

cogmind_review_last_great_roguelike

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.

Coverage

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

cogmind_canard_PC_november_2017

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.

Conclusions

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_steamspy_info_171120

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.

cogmind_fireworks_steam_ea

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.

cogmind_steam_capsule_main_final

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
cogmind_branding_composite_optimized

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_composite_inventory_management_destruction_ascii

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 gridsagegames@gmail.com 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.

Coverage

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_composite_destruction_tiles

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