1. AI War 2
  2. News

AI War 2 News

Beta 3.702 Bugfixes And Mod Conversion

New beta build! https://wiki.arcengames.com/index.php?title=AI_War_2:The_Great_Refactor#Beta_3.702_Bugfixes_And_Mod_Conversion

This one is mostly bugfixes, but also converts the Civilian Industries mod to work in the new framework. There's a four and a half hour video where you can watch me doing that, if you're inclined.

This also specifically disables all of the other code mods that are known to not work. They are still distributed to you, but if you go in the file system and get them to be enabled again, all you'll get is errors. So... uh... maybe wait for the mod authors to get those updated first. Non-code mods largely were not affected at all, but now there's no longer a case of you having to wonder "should this mod work, or should it error?" If a mod that you see in the distributed list from us is broken now, we want to hear about it.

On that subject NR SirLimbo is working like crazy to get his selection of popular mods ported over, but it's going to be a TON of work. He's been building his own modder framework on top of our codebase (that's what "AMU" is for), and so naturally that's a lot more difficult to port over than a "traditional native code mod" like Civilian Industries. You can keep up with his progress and send him encouragement on the modding section of our discord server, but he's estimating it may take him a couple of months of very intensive work to get it all going again (after all, unlike me, this isn't his fulltime job, and that's still with him really working like crazy on his projects).

This build fixes most of the really major bugs that I am aware of, although I am aware of several that I didn't have time to fix today. I'll get those tomorrow, along with continuing on with whatever else is new. Thank you to everyone doing the testing on this new code framework!

Once the errors start quieting down, then some of the other exciting things I have planned are going to get some attention, like loadouts for fallen spire ships, better fallen spire fleet organization/setup, and... well, there's a whole list of things prior to DLC3, and then there's DLC3 stuff as well. Expert mode will be getting some more attention soon, too, but it's all mostly based around how long I am responding to bugfixes. I'm definitely pleased with where things are, overall, at the moment. The game is going through those first bumpy bits after a major transition, but it's not quite as bad as I had feared it might be (so far -- it's early yet).

Enjoy!

Beta 3.701 Natural Object Order

New beta build! https://wiki.arcengames.com/index.php?title=AI_War_2:The_Great_Refactor#Beta_3.701_Natural_Object_Order

This one is just bugfixes, as you might expect. I also made something like 4 hours of video tutorials on how to mod the game and how to use a variety of the code, which you can check out if you're into that sort of thing. The goal of that was to help ease the transition for existing modders into the new framework.

The number of bugs that people found were not overwhelming in number, which is nice, but I think at least part of that was because the ones that were found were severe enough to prevent too much testing. Ironically, most of those really severe bugs were just a few small things that were pretty easy to fix, so... well, that's a good thing.

The really big culprit was that I had allowed NaturalObject (aka no ownership) units to be in any order, rather than always being the 0th faction in the list, and that caused all sorts of crazy bugs if you happened to have it out of position 0 in your new save. If it was in position 0, then a lot of those same things were fine.

Other bugs included a few xml typos, a couple of years-old bugs that just became relevant but were not new, and some places where I had switched something to a new more efficient format, but the old format would throw an error if it was still called, and there were still some lingering calls to them.

All in all, so far none of the bugs were really very time consuming to fix, but as noted they were severe enough to really prevent deep testing by very many people. Hopefully this build is a lot more straightforward for people to test further with.

Thank you for the help with testing!
Enjoy!

Beta 3.700 Bulk Of The Great Refactor

New beta build! https://wiki.arcengames.com/index.php?title=AI_War_2:The_Great_Refactor#Beta_3.700_Bulk_Of_The_Great_Refactor

Wow, it's been 26 days since I last pushed a public release. You know, the last release was called "Code Will Change," and that was SUPPOSED to just be a reference to a Persona 5 Song (Life Will Change), and a kind of play on words about how much code had changed in the prior build. Instead, uh... it was prophetic.

The last 26 days have been grueling and intense, but at the same time really satisfying. The release notes JUST FOR THIS RELEASE are 44,000 words. That is novella-length, and it is also similar in length to entire sections of release notes from AIW2 and AIWC in the past.

So... what the heck is going on? Essentially, I've reconstructed most of how the game talks about "external" data, and made it a lot more controlled, better-designed, and multiplayer-friendly. It's a lot harder for modders (or faction programmers, or me) to make errors now. RAM usage is down, CPU usage is improved, bandwidth requirements should be way down, and many other benefits.

On the front end, in-game, not a whole lot is different. In this specific build, there are a few things that don't work or are temporarily disabled. Tutorials, random factions, beacons, multiplayer, and most mods are out of commission temporarily. The savegame format has also been completely reworked, so all savegames prior to this version are now unusable in this version.

Why was this worth it? Well, I had kind of hit a wall with multiplayer where it was just going to be a mess in an ongoing fashion, and this was the only way forward. But even for single player, this brings clarity to the code, makes modding easier, and reduces the chances for errors. It also should help performance, particularly in large and complex games.

We're working towards completing all aspects of this game and putting it into "long term support" by January 2022, and I wanted to really make things shine here. On the surface, not a whole lot is different in this new version, but under the hood this is just a whole new world, and I'm really proud of how it's turning out.

Expect some bugs in the short term, but please do help us test, if you don't mind. You do need to use the beta branch to see this build, of course, for now. Also, I will be breaking savegames more in the near future, just as a fair warning. There are some notable improvements I want to make to various factions (like fallen spire, etc), that should make the user experience better. I also am planning on getting loadouts in place, and adding more features to DLC1 to finish up the last kickstarter features.

Anyhow, we have a lot of things going on at the moment: kickstarter last features, DLC1 additions, loadouts, expert mode, ship encyclopedia, all the stuff for DLC3, general polish, and finishing up the last of multiplayer. This giant refactor is a strange thing to do late in the life cycle of a game, but it's hopefully a solid demonstration of our commitment to wanting you all to be able to enjoy this game for years and years. My time working on this in a fulltime capacity is winding down, and we plan on releasing the Complete Edition in January, but this game has a long and healthy life ahead of it, I predict.

In a month or so we'll also be adding a Super Supporter optional DLC that lets you help offset the costs of development, which really have been way higher than earnings. At the moment, the game needs to gross another $800,000 or so before I'll see my first dollar of actual profit from this five year project. I don't know that that will ever happen, but at the moment I'm cool with that. I'm just really proud of how this is turning out, and I'd like to see this end on a really positive note.

More to come soon. Expect rapid releases on the beta branch again, now that the bulk of The Great Refactor is done.

Enjoy!

Beta 3.605 Code Will Change

New beta build! https://wiki.arcengames.com/index.php?title=AI_War_2:Finalizing_Multiplayer#Beta_3.605_Code_Will_Change

This one's title is a reference to the Persona 5 song that I'm rocking out to right now (Life Will Change), because I'm feeling pretty darn good after today's work.

We now have some networked personal settings that can be handled really easily with xml and which transmit themselves to the host ONLY if they differ from the defaults, and which allow us to make intelligent automation decisions on the host based on client data that was previously inaccessible.

We also now have a whole new framework for checking achievement statuses, tips to give you, automation to run, and many other things that were previously very expensive (in terms of CPU time) when you add it all up cumulatively. We used to run that stuff (until today) on the main simulation thread in what we call the "stage 3 faction code."

It turns out that had a number of problems with various things like the host being a spectator in MP, or the host not being a human empire (maybe they're a necromancer), or even in solo games if there is no human empire at all (maybe you're playing solo ark plus vassals, or maybe ark empire). All those cases now work, whereas before they would not have.

More than just solving problems, though, this provides a really high-performance and easy-to-read model for modders to follow with their own factions. It is quite "puppy proof" (as described in the prior release notes), without restricting what coders in that part of the codebase can do. So, yeah. I'm feeling good.

There's still more to do for multiplayer (waves, some notifications, and AIP are not visible on clients right now, and I'm not sure MP clients even connect properly because of general bugs that I just haven't bothered to fix yet during this rip and tear phase). And there are a couple of other little odds and ends there. But overall these are great strides forward, they benefit both solo and MP, and we're coming closer and closer to being back off the beta branch for solo, and hopefully then shortly after out of beta for MP.

Happy weekend!

Beta 3.604 Puppy Proofing, Part 1

New beta build! https://wiki.arcengames.com/index.php?title=AI_War_2:Finalizing_Multiplayer#Beta_3.604_Puppy_Proofing.2C_Part_1

Not a lot is different in this one, from an end-user player perspective, but... uh... a LOT is different, at the same time? I fixed a couple of minor bugs, or made them report themselves better so I can see them and smash them when they surface again. Also, chain lightning looks suitably awesome again. But that's about it...

...Until you see this giant section called "Rip and Tear for Multiplayer." I am essentially ripping the guts out of many parts of the game, and putting it back together differently. At the moment, on the beta branch, it means multiplayer is completely trashed, by the way. Why do all this -- is this just shuffling the furniture around?

No, it's... super important, but it's really also very hard to explain. But I'll give it a shot. See... coding multiplayer games is hard. And no two are exactly alike. Trying to code multiplayer is like trying to... um... analogies are also hard. It's a bit like trying to teach in a foreign language that's just similar to one you actually know? The assumption is that you're going to make many mistakes, some of them hilarious, and people will correct you and it will be fine.

The problem is, that's assuming that you have someone to TALK to, in that analogy. Let's instead imagine you are writing a paper in this foreign language you sort of know. It's going to be a long paper, maybe a dissertation. Maybe a whole series of novels! This is a big important project to you, and you keep it mostly under wraps until it is done. You test it all in single player and it's great, and then you show it to people and... well, native speakers are going to give you an absolutely apocalyptic amount of feedback, and require you to pretty much redo the whole thing.

Right, so who am I talking about, anyway? Me? Badger? Modders who code to the game?

...Yeah, pretty much all of the above. Every multiplayer game is like a new foreign language, and as I've been developing this one, I've been putting in safeguards against even myself, and learning what doesn't work. But what gets really discouraging is when there's a seemingly infinite surface area for cross-threading issues or memory leaks to pop up in, in particular. So, with my code architect hat on, I have to think about that less from a "just fix what's in front of you" sort of manner, and more from a "make it so that we can't break it so easily" standpoint.

The engine of your car is really dangerous. It's hot, stuff moves around really fast, there are gears, etc. But it's also REALLY hard to get your hand caught in there. A lot of thought goes into making it so that the appropriate service technicians can get in and do what needs doing for maintenance or for more drastic repairs, but so that they don't cause collateral damage and nobody gets hurt. This is a lot like that.

I'm less worried about the bugs of today, as far as multiplayer goes, than I am the bugs of next year, or the year after. If AI War 2 has a rich modding scene, I want it to thrive for years after my main time with it is through, and to do that I need to code to protect against errors in code that hasn't even been written yet, potentially by people who have never even heard of the game yet. As a side bonus, lest that seem needlessly ambitious, it also solves some bugs that have very much been present in the last year in actual code, and which I have struggled repeatedly to eradicate.

This last month has been a lot of stepping back and trying to make the whole thing "safer" (harder to create bugs via mistake-because-did-not-know-secret-word-conjugate or whatever), as well as lowering the amount of data being sent. In essence, pulling it a bit more toward the single player experience.

I'm getting close, but new things pop up all the time still. When I'm done and it's tested, we should be out of MP beta for good.