Musings upon turning 38. AI, Technological Advancement, And What I’ve Learned In My Career So Far.

I’m turning 38 today, which somehow seems both old and young to me.  How can I only be 38?  I feel much older.  And on the other hand… I still feel like a little kid, and wonder about all these white hairs.

Why I Stopped Writing These Types Of Journals

There’s a lot of personal navel-gazing I could do, but then this would get even longer-winded than I typically am.  But I do notice that I really have not been doing any personal blogging in the last decade or so.  When I was new in my career as a game developer, I felt like I had lots to say, but did all that suddenly stop?

Partly I got busy.  Partly I was very stressed out and very unhappy for a lot of those years.  Some of that was related to work, some of that was being in an unhappy marriage but being unwilling to admit it.  Some of it was… no longer feeling like the answers to things are quite so obvious.  Or at least not easy to explain.

My Older Journal-Style Writings

My original writings on the nature of a superior AI got slashdotted, made the front page of reddit, were top on hacker news, and so on back in 2009.  I was really proud of that.  People read my work, felt like they understood what I was saying even if they don’t work in the field, and came away feeling satisfied and edified.

The problem is, a lot of it was pretty incorrect.  There WERE novel things in there, don’t get me wrong.  But the actual alchemy of what made the AI in the original AI War: Fleet Command really good was not something I myself had a good bead on.  You’d think I would have understood it, but I did not.

Where I Got Things Right

It’s true that I took a novel approach with the AI, and it’s true that it was highly performant code and gave really good results.  And a lot of the design maxims that I came up with are ones I still use:

  • Don’t try to pick truly optimal solutions or things become predictable.
  • Design your gameplay so that it is AI-friendly in the first place.
  • Have a lot of verbs for AIs to choose from.
  • Have a lot of agents so that players can’t follow exactly what the “group” is doing as a whole.

But none of these were at the heart of what I described in 2009, and in fact I was overly focused on my particular methodology.

A Hybrid Approach Surpassed The Original

Throughout the 2010 to 2014 period, Keith LaMothe actually methodically went through the original AI War and upgraded large portions of the AI code to be more “traditional” (aka more loosely based on decision trees and similar rather than flocking), and his results, when blended with mine, yielded a superior result.  When you think about it, that makes sense: blending two very different techniques should give more variability and more interesting results.

But Architectural Adjustments Surpass That

Then in 2015, I came up with a radical new approach for how the AIs should think in Stars Beyond Reach.  That was a game that was never released, but is a lot like Civilization in how it works at a basic level.  Essentially each AI would be simple, and would run in a background thread.  It would make whatever decisions it could, blind to all the other AIs, and they would all turn their results in at once.

I got the idea from bluffing/trick taking card games, of which I am fond.  In those games, I and my family are all sitting around a table, wondering what each of the rest of us are going to do, and we all put down a card that nobody else can see.  When everyone is ready, we turn over our cards and find out all together who read the table and their hands and the other players the best.

It turns out when you have AIs do the same thing, they’re able to run really quickly, and come up with results that are quite good.  When there are problems, like two units trying to move into the same space (which would be invalid), then solve who wins with a coin toss.

The end result was that we were able to run something like 14 AIs in parallel, and have the between-turn timings complete in part of one second where Civilization would groan and stutter over several seconds.  We also were doing less work than Civilization with our simulation, but the savings would have remained if we had continued to build it out.  The approach is just fundamentally better, given modern hardware.

It’s worth noting that, beyond that original idea, I did none of the coding on that.

Back To AI War, Via AI War 2

When we decided to embark on AI War 2 in 2016, we ported over the new AI handling from Stars Beyond Reach.  The old approach of AI in general from AI War Classic was out, and Keith largely built a completely new AI approach that was more traditional and didn’t have any real flocking going on.

Okay, there were a FEW flocking things, but those were largely for the individual ship combat in battles.  Not large strategic decisions.  And the result?  On par with AI War Classic, at least.

Then AI War 2 Evolved

Then Badger game along, and blew both Keith and I out of the water over the course of a couple of years.  Realizing that he had a LOT of time on the CPU with which to do calculations, and that he could store all sorts of working data about sub-groups and similar (fire teams, for example), he coded it to work based on… what I would describe as fairly traditional methods.

Seeing these things be so successful takes a lot of my notions about AI and kind of throws them out the window.  Badger’s code is great, and his strategies for the AI are clever, and in my opinion there is not a better AI opponent out there than what AI War 2 currently offers with its various NPC factions.

But here’s the thing: the actual code itself doesn’t look like something an alien wrote, or some inscrutable neural network that we can’t comprehend.  It looks like very well-organized AI code that you can find in most any game.  This is not a grand reinvention of AI as a concept, in other words.  If anything, compared to my supposed “grand reinvention” in 2009, this is a regression.  But it’s indisputably better.  So what gives?

It All Comes Down To Architecture

This is going to sound like I’m patting myself on the back and taking credit away from Badger, so I think it’s worth noting that I didn’t code any of the actual AI in AI War 2.  Or at least very little of it.  My brain doesn’t easily follow the sort of design patterns that Badger wrote, and I don’t tend to think of AI in the style that he implemented it.  So I’m not sure that I could have pulled off what he and Keith accomplished in the actual AI code.  That’s worth stating up front.

I might be able to now, with their example code already sitting there right in front of me.  But coming up with it out of whole cloth?  I’m not so sure.

It’s also worth noting that now we have NR SirLimbo coming in and making very complicated mods with notable AI, and he’s leaning on a lot of what Badger and Keith created, but also doing brand-new things all of his own. 

It’s ALSO worth noting that StarKelp, who is relatively novice as a programmer in general, came in and made a really fun and convincing faction — Civilian Industries — based around fairly simple rules and just all-around solid design.  He used the tools that were there, did not invent anything remotely new from a technical standpoint, but made one of the most fun factions by just thinking about how he wanted it to work.

So… what the heck?  Why is this sort of thing possible?

Four words: having time to think.

By which I mean both the developers/modders, sure, but mainly the AIs themselves.

Technical Revolutions In General

It feels like computing has not really been all that exciting in the last decade, at least not compared to the decade before it.  And certainly not the decade before that.  But I would argue that the advances in computing in the past decade are just as significant, but widely underappreciated and sometimes underused.

Let’s talk about the original DOOM as an example.  That was a first person shooter that was drawn entirely in software.  There was no dedicated GPU.  So all of the calculations for how to draw these polygons on the screen had to take up CPU time, and had to be run FAST.  So there was only but so much complexity that approach could ever render in an environment.

As we moved into the era of discrete GPUs, a whole array of new things became possible.  And it was very noticeable, because graphics are the easiest thing to see (obviously).  As the shader pipeline became a thing in the 2000s, suddenly we could spin off all these little mini-programs to hundreds or thousands of cores on a GPU, each one saying “take this vertex data and draw it like this.”  Later, the programs (shaders) got vastly more sophisticated, and a new era of Physically Based Rendering (PBR) was born.

So now there’s all this incredible art in tons of 3D games, and it can look pretty close to photo-real, or it can look intentionally anime-like.  You can learn how to make basic shaders on your own, and you can beat the absolute pants of of the best graphic artists from 20 years ago.  The old team working on the original Unreal has nothing on the water physics coded by random students and hobbyists around the world today.  But… that’s not remotely taking anything away from the graphic artists 20 years ago (or it shouldn’t be).

The bottom line is that now when someone goes to make a game, any game, they’re standing on the shoulders of decades of work of technical artists and technical art programmers and chip designers and more in order to do even the most basic things.  So we have all that architecture to our advantage, all of us, and there’s a whole heck of a lot of things we just don’t have to think about anymore.  They “just work,” and so we can think about the actual content.  Sound slightly familiar to something I described with AI War 2?

The Multi-Core Revolution

I follow computing closely.  I like knowing how things work, I like building computers, I like seeing all the different layers of compiled code.  Yet somehow I completely missed just how significant the multi-core revolution was.  I stumbled into it over the past few years, and really only in the last year has it dawned on me just how critical it has been.

Here’s the thing: when you’ve got a CPU that can think about a lot of complex things, and where “a lot” of data in the form of several MB of information is trivial in the scope of RAM… you’re in a whole new world.  Calculations for AIs can run on something approaching human-level timescales, and algorithms can come to better decisions than humans would.

One area of the game that I did work on is targeting logic.  A volunteer/modder, WeaponMaster, also contributed heavily to this area.  This was one of the heaviest part of the original AI War simulation, but I chose to break this out into its own background thread.  More specifically, I chose to have it NOT be part of the simulation at all.  Rather, it does its thinking, and later communicates its results back to the simulation to be integrated at the simulation’s convenience.

This means that instead of having 1-5 milliseconds to do the complex targeting for all the ships in a giant battle, we have… you know, whatever, I guess.  Take a few seconds if you really need it.  Maybe hand the data back to us in batches every few dozen milliseconds?

The absolute insanity of the freedom that gives us is something I can’t understate.  We’re talking about two or three or even four magnitudes of extra time to think about things if we need it.  As a result?  The ship AIs are able to make EXTREMELY good decisions in the heat of battle.  Better than any human.  You think you can micro better than the ships in AI War 2?  Please.  Unless we have a particular oversight in our algorithm somewhere, the machine figured out a better solution in roughly the time it took you to understand the basics of what you’re even looking at.

There will always be edge cases, places where humans can come in and make a better choice by hand, and I actually really like that.  But there’s definitely not a Starcraft-like urgency for you to give every order to all your moron units, because your units are instead largely as smart as you insofar as the limited scope of what they do.  So if you’re super-fast at clicking… well, there’s just not that many corrections for you to make.  If there are that many corrections, you’re better off giving us a suggestion (or looking at the open source code yourself) and we’ll just make the algorithm better again.

None of this was possible in the original AI War, and it isn’t possible in most games in general.  You can’t take that much complex data (positions, bonuses, priorities, ranges, multiple weapon systems, etc) all into one algorithm and spit out a good result in a reasonable amount of time.  So we changed the definition of what “reasonable” means.  And that was made possible by having strong multi-core machines basically be ubiquitous.

The same is true for all of the fire team logic and similar that Badger wrote, or even the simpler logic for StarKelp’s civilian industries.  In any other game I’ve ever worked on, Stars Beyond Reach aside, we would always have been thinking “do we have enough CPU time available for this?”  And if we had a novice programmer joining us, and they made some slightly less optimal choices, we would have been royally annoyed because it was making things worse for everyone.

Oh, hey.  That’s not a thing anymore, either.  If a novice’s mod code runs 20% slower for some reason, mainly because they don’t have a deep multi-decade fascination with the internals of computing and the programming languages we use, then… no harm, no foul.  That’s all on its own thread, and isn’t blocking anything else, so the game is completely unaffected.

This is, frankly, revolutionary.  Most games have not caught on to this yet.  Maybe I shouldn’t mention it, and keep a completive advantage.  But how you structure your AI code, and your simulation code as a whole, is essentially as important as what the actual AI code is, these days.  This structure, and optimizing it and refining it, is where I’ve spent the vast majority of my time over the past few years.

Not All Mult-Threading Is Equal

Right now we’re still a bit in the wild west of multithreading.  It reminds me of the “Web 2.0” days of the Internet, or the pre-PBR generation of shader programming.  There are not codified best practices for games as a whole, and any libraries that are out there (and there are a lot) are usually pretty task-specific.  We have not yet reached a state of general-purpose multi-core processing for games AI and simulations in the way that we have for game physics, game audio, or game graphics.

And I’m cool with that.  What I find most interesting is that I’m not sure how much people are even paying attention to this as a goal to achieve.  It’s certainly not on the list of any engine developers, near as I can tell.  They have indeed started making strides to make a lot of things use more cores in general, but they’re still very… task-oriented.  A lot of them follow my 2009 style of thinking, with a focus on individual agents (because in the case of these systems now, that actually is much simpler to do).

What I’m not seeing is a lot of large-scale AIs or multi-thread simulations being developed where individual parts of the simulation or AI are allowed to run for seconds at a time before their data is reintegrated.  Being able to do that is like a superpower.

I Like The Wild West

When I originally started writing this post, I was going to talk about how I’m grateful for all the various wild west periods I’ve been able to participate in.  The early days of indie game development was a big one.  I was feeling a bit sad about how some of those wild wests have instead become populous and post-gold-rush settled civilizations. 

I was thinking that, eventually, there will be no more frontiers to discover, and that’s a pretty big bummer.  But rather than feeling bummed out about it, I was feeling grateful to live in the time that I do now.  I was feeling a bit bad for people 100 years from now, who will have so many things mapped out for them, and so few constraints on resources, that they won’t get to innovate in certain ways that I’ve been fortunate to be able to.

But as I started to write, and as I compared my 2009 self to my 2020 self — and in particular as I thought about computer graphics and how those have changed from 1998 to 2020 — my perspective shifted.

I can make really awesome 3D scenes, on my own, these days.  I can do character art.  I can do my own motion capture, from my own body and face, in my home, for males and females and creatures.  These technological advancements give me the tools I need to make really interactive and believable cutscenes, if I were so inclined (I am inclined, I just don’t have time in my schedule).  Ten years ago, the idea of any of that would have been impossible, and I don’t feel sorry for myself now that I have this new power.  If I am to work on a cutscene, now I get to focus on the actual content, and not the technology or minutia of it.

AI, sooner or later, is going to head that same direction.  Same with game simulations for games like AI War 2.  Right now I get to live on the bleeding edge and help do things that nobody else can do, like those developers for Unreal 20 years ago.  But 20 years from now, a novice just poking around at game development for fun will be able to casually craft something far more involved than anything I, Keith, or Badger ever can in this moment.

Thinking of it in those terms, I’m okay with that.  There are a ton of games that I’d like to create, but that I can’t because they’d be too expensive (and thus too risky) to make.  I really do love being able to push the limits of technology, and there will probably always be some area in which I can do that.  But that won’t always be so directly coupled to the game itself.

A game like Stardew Valley offers nothing new on the technological stage, but is a revolution in design and personality and just plain fun.  Even with all our modern tools, it still took one developer a really long time to make that game.  This was someone focused entirely on the content and the artistry, not someone bogged down in the details of how to push the bleeding edge of technology. 

In my own way, in my own areas, that’s the sort of thing I also look forward to being able to do. 2021 is going to have a lot of that, I think.  I’ll still be slaying technical demons and pushing the edge of technology in still other areas, because that’s just plain one of my interests, but I won’t HAVE to in the way I was forced to for much of the last decade.  That’s a welcome thought.

AI War 2 v2.701 Released! “Multiplayer Shared-Faction Reaches Beta”

It’s been sixty-six days since the last major release writeup, with THIRTY-FIVE releases in all, and notes starting here and ending here.

We are now in a mix of multiplayer alpha and beta!  (Depends on how you play, some methods are feature-complete and others are not.) If you want the full info on multiplayer’s current status, the place to look at that  is here.

Badger’s Retirement

Okay, this would be a really really long digression, but I hope you take a moment to click over and read about the legacy of Badger and Puffin.  Both have retired from working on the game fully (although both still hang out and occasionally poke things in), and so I’m now the sole remaining active developer on the game.

With that being said, this is “news” as of a month and a half ago (for Badger — for Puffin, it was much earlier this year), and we’ve had 28 releases since Badger retired, so I do okay on my own.  This isn’t a cause for concern, but rather a moment to take stock of their achievements and celebrate them.

It’s also worth noting that Badger is still doing some remaining work here and there on DLC2, and he’s already decided to return and is working on content for DLC3.

New Main Menu

You might have noticed the new main menu if you’ve logged into the game in the last month:

If your computer fans turn on and your FPS is only like 30, please don’t freak out.  This is actually the (by a really large margin) most intensive scene in the entire game.  I get 90fps on it and in the game on my main dev machine, and a measly 30fps on my under-min-sys-requirements mac computer, but it’s usable on both.  Even my below-specs mac is getting like 60-90 fps in-game with ship models turned off.

The main menu might seem like a strange thing to revise, but it’s the first thing that you see when you load up the game.  We wanted something that felt more epic and exciting, and that had a darker and more appropriate thematic feel for the game.  Personally, I also wanted a view from inside a spaceship looking out, since usually we only ever see spaceships from the outside during actual gameplay.

I also majorly updated the ending scenes (both win and loss), so those are more epic now.

UI Overhaul, And Usability Galore

Okay, so for one thing I did a complete visual overhaul of what buttons look like, and backgrounds on all the UI bits, and things like that.  This no longer feels vaguely website-ish.  It feels like… well, like a hardcore strategy game with a lot of space themes.

But that’s not all we did.  There are new functions for doing searches for units or planets by name on the galaxy map.  There are a ton of new galaxy map filters that show more information of various sorts.  You can easily see where threat is, or the hunter or warden, etc.  You can edit planet names, set priorities per planet like the first game (but with more options), add narrative notes to planets, and more.

You can also ping planets or locations on planets, and you can ping with multiple colors to help communicate meaning while you’re discussing on voice chat.  The notices up at the top of the screen now have backgrounds that indicate their severity/importance, and are automatically sorted by that.

There’s also a new fleet status window that Badger added despite being retired (he actually did a ton of QoL stuff in the last month, since he was actually starting to play both on his own as well as with his family and friends and thus noticing more things).  The fleet status window is particularly helpful for keeping an eye on what is going on in your empire, or in all the empires of players in multiplayer.

…but it’s been 66 days.  Come on, we’re just getting started.

AI Improvements

  • The AI Hunter has gotten more intelligent multiple times over, and fireteams in general have gotten smarter.  You have pre-retirement Badger to thank for these.
  • Deepstriking (the AI Reserves) got a number of AI updates from Badger right before he retired.
  • The way that AI Sentinels handle their reinforcement budget was completely overhauled by me, making them much more threatening and interesting.
  • The way that AIs use turrets has also been redone, so that they really don’t use remotely so many as before.  They really should be putting their resources into things that can strike you offensively, so the planets with a bunch of turrets are now far more rare.
  • Turrets have actually been rebalanced fairly substantially, largely thanks to post-retirement Puffin, who was still collecting ideas from the community and implementing them along with his own thoughts.
  • We made a number of changes to how strength values are calculated, to more accurately represent how dangerous ships actually are.  This makes it easier for you to make good decisions, but also plays directly into the intelligence of the AI and other NPC factions.
  • There were a number of cases where the AI Sentinels would hold onto threatfleet ships (which are not very smart) for too long rather than giving them over to the Hunters.  We looked at that and I decided to just brute force them into giving their ships to the Hunters if they can’t get whatever they think they are doing done in 3 minutes.
  • Thanks yet again to post-retirement Badger, various factions including the nanocaust and marauders are able to invade your galaxy in a delayed fashion, which is pretty cool.  Rather than having them there from moment one, they show up a while into the game.

More Mods!

  • Another new included-by-default mod is now in place: Civilian Industries, by StarKelp.  This is turning out to be a really popular mod, which involves a lot of defensive and economic buddies hanging around.  Strategic Sage has been doing a video series with the Civilian Industries helping him against the Scourge from DLC1.
  • NR SirLimbo has been adding a prolific number of mods, as well as several frameworks for modding.  His Extended Ship Variants (for the base game and for DLC1) have become really standard fare for a lot of players, and his Kaizer’s Marauders are a vastly more complex and dangerous interpretation of the base game Marauders.  At the moment he is working on a new and evolutionary style of Devourer, but that is currently still in earlier testing and not yet included for everyone in the main game.
  • I did an enormous overhaul of our XML Parsing capabilities, upgrading it so that the data is parsed faster, and also more correctly.  This fixed up a number of blocking issues that were preventing certain mods from being possible, and consequently we saw a huge uptick in new mods right after that.
  • Oh man, the mods from NR SirLimbo kept coming!  There’s a micro mods collection in there now, too.  He’s been absolutely prolifically busy on several fronts.  It’s hard to understate just how involved his Kaizer’s Marauders are, in particular.  And his AMU tool is there to support any modders who want to use it, making it easier to make complex mods like his.

Multiplayer Bits

  • Multiplayer itself has seen a ton of improvements at a technical level and otherwise, it probably goes without saying.  But this has been the major focus of mine during this period, despite the detour into quality of life improvements.
  • Multiplayer went through a number of changes at a technical level as I experimented with how to get the smoothest experience in terms of sync, while at the same time keeping things moving.  The end result was not what I had planned on, but is instead something that relies on data I collected in real world use cases.  It works ridiculously well.
  • The ability to swap ship lines between players was added by NR SirLimbo, which was really kind of him and saved me having to do it.  He also made that interface a bit less overwhelming in general even in single player.
  • I added in the ability to finally share control of a single faction, and that’s the mode that is just now going into beta (aka feature-completeness).  The multi-faction mode will hopefully join it in beta status in the next week or two at most.

Other Visual And QoL Improvements

  • I redid all of the visuals for area of effect attacks, most notably tesla attacks.  It looks SO much cooler now.  The old version was okay, but not nearly as varied.  And when I upgraded the lighting pipeline during the runup to DLC1 late last year, the AOE visual effects actually wound up taking a step down in visual quality.
  • I added a new Stationary Flagship Mode, which I had expected to be popular but actually was almost universally hated.  But it is still something that you can enable if it solves a gameplay problem you have.  A few people were enjoying it, so that’s a win in my book.  But it’s no longer on by default for everyone.
  • The way that galaxy map links are drawn has been updated to be a gradient of the two colors of the owners between those planets, which was a cool addition of post-retirement Badger.
  • For a long while, we’ve had some trouble with trying to use one button for toggling on or off modes like pursuit and attack move and so on, and so I split those into two functions where you can clearly tell it if you are turning them on or off.  This solves a lot of intermittent frustrations people were having.
  • Post-retirement Badger added a whole host of other quality of life improvements.
  • Post-retirement Puffin added about thirty-six new space backgrounds of various sorts, for use in-game and on the galaxy maps.  These were mostly created using the shader tool I set up a few years ago, but the results are the result of a lot of artistic work and experimentation on his part.  They really spruce up the variety in the game, and in particular make the galaxy maps look nicer.
  • I also spent a goodly while making it so that we are now able to include arbitrary sprites in text.  This involved further customizing our version of TextMeshPro, which now has a number of unique features for us.  This paired well with our overhaul of the icons for various resources, and in the future we’ll do things like embedding ship icons in tooltips.
  • The visuals for shots themselves are now a lot more appropriately-scaled for various zoom levels, so battles look nicer.
  • There are also now battle indicators on the galaxy map, making it more obvious where there are fights happening in your territory without it becoming a circus.

What’s Else Is New?

  • Astro Trains got a buff to make them more interesting.
  • Post-retirement Badger also added a variety of roguelike options for not revealing things about what the galaxy you are entering entails, which is a cool feature.
  • A bunch of performance improvements in text generation, and UI updates in general, have been made.  SirLimbo and I wound up going down a giant rabbit hole on the text generation in particular, but it makes it so that really length text narratives and dynamically-generated lists of ship tooltips no longer suck the performance out of your game.
  • Error handling is also vastly more robust in the game, and when errors happen you now get much more information about what is happening and especially if there are a bunch of silent errors hammering your log.
  • Ever thought that “snipers and drones are useless, because they just aggro entire enemy planets and get me killed?”  Well, they now have a new aggro invisibility ability, which solves that problem and lets them remain useful without being unfair or annoying.
  • For our linux players, we’ve added a variety of tools to get around the unity bug with mousewheel scroll being backwards, so that is one annoyance off the list.
  • The number of bugfixes and general balance tweaks are too staggering to recount, but it’s a lot.

More to come soon!

Multiplayer Schedule?

There are two ways of playing: a shared faction, which is now in beta and thus basically complete aside from bugfixing; and multiple faction, which still has some known issues and missing features and thus remains in alpha.

I expect to sort out the remaining known issues, while fielding ongoing bug reports, over the next 1-2 weeks at the most.  At that point, multiplayer is effectively finished aside from just giving it time to collect any more bug reports people come up with.

One thing I should point out is that this is an insanely complicated game from a technical standpoint, and so the more testers the better.  The game might be working perfectly for most people in most situations, and then you come along with your friends and run into something catastrophic and wonder how anyone could possibly play this.

Send me your bug reports, and I can generally have that stuff knocked out in a couple of days.  But without your bug reports, if other people aren’t running into it, I’ll never know it’s there.

DLC2: Zenith Onslaught

Our first non-kickstarter-related expansion comes out in early 2021.  Maybe January, or potentially February.  You can read all about it, at least in a limited preview format.  We’ve had a number of testers banging on this for months now, and the detailed unit design and art to go with it are the last pieces we’ll be putting together.

This expansion represents a large opportunity for us, since it will coincide with the game fully launching its multiplayer mode.  A lot of news outlets didn’t fully cover the original launch of AI War 2 because we released it in a crowded season and it came out with too little advance notice.  So we’re trying to turn that around with this expansion and hopefully get some more traction with a wider audience for the base game itself.

DLC3: The Neinzul Abyss

Our second piece of DLC for 2021 will hopefully come out more around the middle of the year, and you can read about that here.  It’s something that came into existence largely because Badger kept adding too many things to DLC2.  DLC2 was either going to be massively expensive, or any other DLC we ever did was going to look paltry and small by comparison.

We made the sensible decision to split these out into two products that we can thus offer at better prices — and also take extra time to do cool extra things for DLC3.  I’m looking forward to getting to fully design my first faction, versus just collaborating on factions with others or doing the art and technical support for them.

Remaining Kickstarter Stuff?

There’s a diminishing number of things.  I covered a lot of it back in update #65.  Interplanetary Weapons are something still coming for free to the base game (they were a stretch goal), and I’ll be working on those while I work on DLC3.  The backer planet naming will happen around the same time, as well as the ability to send some taunts back from the player at the AI.

We’ll probably do another batch of AI taunts as well, and the Cyber Cipher reward for mysterious messages will be something that we tackle during that DLC3 period.  Design and Name an AI is something that will be around the same time as the third DLC3, same as the Text-Based or Design-based Mercenary Stuff.  There are two lingering art-related backer rewards I still need to follow up on, but then that’s it.

What Happens After That?

That really depends.

The release of this game started out going well, and I think that the reviews that folks have been leaving for the game were a big help for folks passing by at the start.  2020 has been a rough year, though, when we really look at the data.  The company’s income has fallen to less than half of what it was in 2019, and that was already one of our lower years in terms of income.

We do have those two new DLC planned for 2021, along with the giant multiplayer updates and so on that are free, so hopefully that trend will turn around.  If you’ve been playing the game and enjoying  it, we’d greatly appreciate it if you’d drop by and leave your own thoughts, too.

If the trend doesn’t turn around?  I don’t know, exactly.  The structure of modern online stores may ultimately wind up forcing our hand.  I’d probably have to either choose between working on an entirely new project unrelated to AI War 2, or start working on a sequel instead of more expansion.  Both prospects have a lot of downsides, but they also have some substantial upsides.

Right now I don’t feel super inclined to leave the AI War franchise after all this work and developing this giant engine, so I’m more inclined to stick to something closer to home than try to reinvent the wheel.  If you look at the evolution of AI War 2 since launch, the current build you’re able to play is already practically AI War 3.  It looks better, plays better, has better AI, has more content, and is much more technically advanced.

Right now the frustration is that more or less we’re doing most of that work for free (personally I have still lost about $240k in making AI War 2, versus earning any actual money, if you look at my spent money versus earned), and it’s hard to get press attention for a “year old game.”  Since we started this project, more than half a console generation has come and gone, sheesh!  I have no shortage of ideas, but I don’t want to work for someone else and right now the open market is feeling fairly indifferent.

I have a lot of hope for 2021, though. 🙂

Please Do Report Any Issues!

If you run into any bugs, we’d definitely like to hear about those.

Thank you!

Problem With The Latest Build?

If you right-click the game in Steam and choose properties, then go to the Betas tab of the window that pops up, you’ll see a variety of options.  You can always choose most_recent_stable from that build to get what is essentially one-build-back.  Or two builds back if the last build had a known problem, etc.  Essentially it’s a way to keep yourself off the very bleeding edge of updates, if you so desire.

The Usual Reminders

Quick reminder of our new Steam Developer Page.  If you follow us there, you’ll be notified about any game releases we do.

Also: Would you mind leaving a Steam review for some/any of our games?  It doesn’t have to super detailed, but if you like a game we made and want more people to find it, that’s how you make it happen.  Reviews make a material difference, and like most indies, we could really use the support.