Official development blog

Cogmind Roadmap: Year 1 and Beyond

About one year ago I launched this new blog to provide updates on Cogmind’s development. 1,533 hours later development is still chugging along. Yes, I keep detailed stats about where time is allocated and plan to share those figures and more in a (much) later post, but today I want to write about the first year with regard to the planning that goes into a long-term indie project, as a way of reviewing both where we’ve come from and where we’re headed (1.0 of course!).

First, take a moment to look at the past year, in the form of all the images that have appeared on this blog so far:

cogmind_one_year_collage

Images from the past year of Cogmind development as shown on this blog (click for mega size).

First Roadmap

Development (re)started in July 2013 when I wrote an expanded design doc (1,320 words for the 7DRL became 18,000 words). After some time spent cleaning up the mess that was a hastily coded 7DRL, the next few months were spent adding support for basic mechanics that were missing from gameplay: guided weapons, salvos, overloading, multi-tile robotsmelee combat, large parts, factions, burnout, momentum, EM disruption, hacking, and machines. These were new systems fundamental to the updated game that could be implemented in any order I felt like, thus this period was mostly spent coding down a long list of mechanics--overall a pretty free-form phase of development.

Development time for individual items like those listed above can be measured in days, but the next phase would move into major components and require an ordered approach. You don’t want to start work on the world generation before a good chunk of the content is ready, or build robots before most of the parts are designed. At this point I also needed to know about how much longer development might take. Enter the first roadmap:

cogmind_roadmap_131214

Cogmind’s very first roadmap, which didn’t appear until after about six months of development.

Estimated time required for each component is measured in months, with the total expected time for completion at the bottom. The date the roadmap was written appears at the top.

The Cycle

Every couple weeks or so I revisit the roadmap to check that development is proceeding on schedule. Rather than update the roadmap over time, I update a new copy of it in order to keep old states for comparison, making it possible to track when and where the pace of development differs greatly from estimates, if at all.

Looking back at the first half year of roadmaps, I’m pleased to see that my estimates were fairly accurate:

cogmind_roadmap_131230-130426

The first half year of Cogmind roadmaps.

Keep in mind that this is only a high-level general roadmap. Most of the intermittent planning stages are spent writing and organizing extensive medium- and short-term to-do lists which are referenced daily/hourly.

Because frequently pausing development of a major feature is an inefficient use of time, newly discovered bugs and necessary little improvements are collected on to-do lists for later and handled in between major features. These lists tend to grow significantly and while this phenomenon is not explicitly shown in the roadmap, it is taken into consideration for the time estimates--always pad your estimates!

Four Phases

Looking at the process so far, and what still lies ahead, three phases of development emerge from the data:

  1. Mechanics: The initial roadmapless phase where basic functionality is designed and coded. A period of very code-heavy development.
  2. Content: Create objects based on all available mechanics. A data-heavy phase without much coding.
  3. World: Build the game world using content from the previous phase. A mix of equal parts data manipulation and coding. Lots of iteration is necessary to reach the intended experience, and algorithms are tweaked to fix inadequacies in the results. (Development has recently been shifting into this phase.)

So what happened to the fourth phase?

It actually belongs at the front--phase 0. Ideally development of a new game begins with a so-called “vertical slice” of the game experience to make sure the long period of development will be worth it. At the simplest level this is a prototype that proves the core mechanic, and I already had this in 2012 with the 7DRL and therefore didn’t revisit it. This is actually a small cause for worry because the new hacking mechanic, a pretty major element, has never been tested as part of the whole! (The ability to have allies is another game changer, but I’m less worried about that.)

The Last 10%

Most developers have heard the saying that the last 10% of a game is 90% of the work. Now I haven’t by any means reached the last 10% just yet, but the principle is nonetheless already taking some effect.

After a year of work there’s already a mechanically sound, mostly bug-free experience with dozens of robots, many hundreds of items, hundreds of pieces of ASCII art, a thousand sound effects, a fully-animated interface, blah, blah, blah… but no game! Every day I literally remind myself “still so much to do…”

Looking back at the first roadmap, nine months from December is… now! There are several reasons for this.

Firstly, because there are many variables in development and I don’t want to waste time planning too far into the future, the last 25% of my original roadmap was either oversimplified or missing important features.

My roadmaps also don’t take into account real life delays, things like vacations, family issues, the occasional freelance job… You’ll notice that the provided selection of roadmaps ended just before May. The string of good examples ends there, as that’s when I put development on hold for five weeks to deal with some other obligations. Another week in July was reserved for family, and several weeks will be eaten up come October, and probably December, too.

I’m luckier than most full-time devs in that I have relatively low operating costs and don’t need to set an absolute release date, but having a roadmap is still essential for staying on track, and of course helping answer questions like “WHEN CAN WE PLAY IT?!”

So when can we play it…?

Now that we’ve definitely moved into the latter half of development, it’s time to revisit the roadmap and make sure it’s accurate based on what we know now.

cogmind_roadmap_140810

The latest development roadmap (ordered).

As you can see I’ve switched from months to weeks as we break larger features into smaller chunks for the final run. While using days as the unit of measure would enable more accurate individual items (some may take less than one week, some more), there’s no reason to bother with that level of detail since it’s difficult to predict--might as well fudge it and let the values average out in the end.

Adding in some previously missing elements also increases the total time required. Based on the roadmap, and knowing that at least four weeks later this year will see no development, the absolute earliest we’ll see a pretty complete game is March 2015. Game development sure does take a long time!

Current Progress

I’ve been wanting to make a prettier and more detailed public progress graph available on a new Cogmind site, but haven’t gotten around to building the site yet (hopefully soon). Instead I’ll just post the chart here for now.

cogmind_progress_140810

Current development progress, rendered of course in Cogmind’s UI style :)

Yeah, it looks full of big holes, a result of the disproportionate amount of time required by individual items (some of those bars represent week-long projects, while others took an entire month), and also because the mechanics and much internal work are underrepresented.

Also note that some remaining components will be outsourced: Sprites and ambient map sound/music. Those don’t even appear on the roadmap, as much of the work would be done in parallel anyway.

Release Schedule

So March 2015 it is? Not exactly. In fact, I’m still aiming for a first release this year. Still debating how to handle the whole release issue…

When

What state should a game be released in?

I believe a free game should be released as soon as it’s playable. This gives the developer immediate feedback from interested players and the game can grow around them. Heck, if Cogmind were free I’d release it right now since it’s already playable and fun even without a complete game world.

The issue becomes a little trickier with a commercial product, especially when you want to reach the largest possible audience in a market flooded by more and more games--many obscure games don’t get a second look so the first impression is pretty important, be it by media or by players themselves. Releasing too early is putting a greater portion of the results in the hands of chance.

Cogmind is more than just a roguelike dungeon romp, but you won’t see that in the game’s current state. By the time it’s done there will be a story, lore, NPCs… While it’s currently very “playable” in the game sense, the intended experience is simply not anywhere near complete. I hope that when people see, or play, the game they can see a greater range of what it has to offer.

So I can at least say that it won’t be released now.

How

There are two options I’m considering for how to start releasing.

One is as a demo for a Kickstarter campaign. Still not sure if I should bother with that route since it would postpone 1.0 even further, though it would give the game greater exposure (while implying that “it’s not done yet”) and bring in more money that could be spent on better audio-visual components. I almost want to do this simply as an elaborate excuse to get myself a Cogmind T-shirt =p

The other is simple alpha funding, which itself could go one of two ways. Either initially sell only through my own site without trying to reach out to a larger audience, gradually getting into the market and expanding exposure as necessary, or wait a little longer and go for a bigger early access release on multiple platforms.

Dammit, WHEN?!

“When it’s done.”

Haha, just kidding. Little roguelike dev joke there.

Each of the “hows” might have its own slight affect on the first release date. KS would be earliest, small-scale alpha would be later, and full-scale early access would be latest. I’d like to think that any of these options would see the game out there somewhere in a November-December time frame.*

*Fake fine print: No promises.

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

11 Comments

  1. Nico
    Posted August 11, 2014 at 2:03 am | Permalink

    Nice! Been following this game since I first saw it mentioned on RPS. I love the art style!
    As a programmer myself, I’m always interested in what languages/tools etc games I find interesting use. Would you care to share something about your dev setup? Or maybe you already have and I didn’t notice..

    • Kyzrati
      Posted August 11, 2014 at 7:46 am | Permalink

      Thanks! And no problem, I haven’t gone into detail about that yet before, no. Maybe that could be the topic of a post when I’ve got nothing else to show :)

      I use…
      Visual Studio 2010 for coding (C++),
      Very Sleepy for profiling,
      Notepad++ for design notes and scripting (I have my own syntax highlighting for the game’s scripts),
      REXPaint for mockups and art,
      Photoshop for font/glyph design,
      Audacity for sound effects,
      OpenOffice Calc for spreadsheets (time records and some data calculations),
      yEd Graph Editor for flowcharting,
      TED Notepad for TODO lists,
      SilverNote for primary design doc (don’t recommend it),
      FBackup to keep progress mirrored on external drives,
      LICEcap for gif recording,
      Bulk Rename Utility for working with lots of asset files
      …whew =p

      • Nico
        Posted September 17, 2014 at 2:46 am | Permalink

        Thanks for the reply!

        • Kyzrati
          Posted September 17, 2014 at 6:25 am | Permalink

          Yep! And since then I’ve added yet another utility called “gifsicle,” an amazing solution for compressing animated gifs that saves a ton of space without any impact on the quality. (All gifs on the blog have since been compressed using that method.)

  2. Posted August 11, 2014 at 11:52 am | Permalink

    Hey, just wanna say that I never got into ASCII games because to be fair they just look so intimidating to beginners, but Cogmind looks so beautiful I feel drawn to it despite my usual reluctance towards the genre. Best of luck with further development!

    • Kyzrati
      Posted August 11, 2014 at 12:08 pm | Permalink

      Thanks--hopefully when it’s finally released we’ll be able to draw in at least *some* players who tend to avoid this kind of game. I’ve designed Cogmind to be both deep and straightforward, so while it may look intimidating it is really easy to pick up and play, even for beginners. There will also be a glyph-based icon/sprite mode for those who dislike the alphabet :)

  3. grits barley
    Posted August 13, 2014 at 7:11 am | Permalink

    Just take my money, already! But seriously, I pay Mojang for their alphas.

    • Kyzrati
      Posted August 13, 2014 at 7:49 am | Permalink

      Glad you’re psyched. I honestly wish it were easier to take your money ;)

      The business side of things is so *ugh* when all I want to do is make a game! (And donations aren’t an option in my country--Paypal (and any other company) is forbidden to offer donation services here.)

      On a related note, yesterday I was toying with the idea of releasing even earlier than any of the above options, but for a higher price, something like $20--essentially a simpler kind of private crowdfunding so anyone who is really keen to get their hands on the game and help improve it early on can both do that and support development. It could come with other perks, at least a mention on the website.

      The caveat being that doing this could actually slow down progress towards 1.0 as I have to spend more time interacting with the community rather than implementing all the content/elements that I already know are still to do.

      To be clear, $20 is not the actual price of the game, which will be more like around $10 when it comes out (or less on sale); the idea was to intentionally require more to keep the scale of early access small and manageable while giving those who really want to support the project financially a way to do that.

      • Fluff
        Posted August 13, 2014 at 4:20 pm | Permalink

        As much as I would love to get my hands on it right now, and would give you that money.. I would have for it to slow you down and potentially become a burden.

        • Kyzrati
          Posted August 13, 2014 at 4:49 pm | Permalink

          Thanks for chiming in. Was just an idea I was throwing around and got curious what people thought about it. Does seem like it would be a bad idea for many reasons.

          • Fluff
            Posted August 14, 2014 at 1:13 pm | Permalink

            No problem, and definitely. The selfish side of me wants you to do it.. because again, I really can’t wait to get my hands on it. :P But it sounds like the cons outweigh the little bit of extra money you would be getting from us.

Post a Comment

Your email is never published nor shared. Only the anti-spam entry is required. See here for the privacy policy.

You may use these HTML tags and attributes <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>