1. AI War 2
  2. News

AI War 2 News

Beta 3.703 Smooth Sim

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

This one does two really cool things that I didn't have on my radar, but now I'm super excited about:

First, the performance of the entire simulations should now be better. You heard me! Giant planet counts, giant battles, whatever. I'm not saying it will be buttery smooth on every machine, but it should be somewhere between moderately to drastically improved, depending on your machine. A lot of the reasons why I was able to do this have to do with the timings of triggering sim steps, and less to do with the actual sim steps themselves. Essentially we had some dead air time (less than fully utilized CPU) between certain types of actions. Those gaps are now closed, so your CPU will run flat-out when it has to. Also along with this, you can now see (by right-clicking the clock in the bottom left) how close your simulation is to being at the point where it would start slowing down. Nifty!

Secondly, the speed of the simulation is measured more accurately AND it does a much better job of sticking closer to 100% sim speed when things are going well. It averages between 99-103% now, whereas previously it was almost always 95%. That 5% drop was causing visual micro-stutters in the movement of ships, so now things move much more smoothly around. I've tested this at 30, 60, and 100 fps.

There are a number of notable bugfixes in this one, including the fix to the "AIP goes up by 10 every time I load a save" bug, and errors with wave and spire debris notifications.

I also made two new youtube videos today to help modders and faction designers understand the intricacies of multiplayer and threading in the game as much as I can:

https://youtu.be/EV2WTB5l0vA

https://youtu.be/7JxIbYIy_2I

And for those who would rather skip that degree of info dump, there are diagrams: https://wiki.arcengames.com/index.php?title=AI_War_2:The_Great_Refactor#New_Diagram_For_Modders.2FProgrammers:_AI_War_2_Threading_Model

I am now done with all of the videos and similar supplemental materials I had planned for modders, which is excellent. Now I can really continue to focus just on bugfixes and other improvements.

At the moment I know there must be plenty of bugs in here, but there have been very few reports. If you have some spare time and would be interested in testing, please do give the latest betas a play!

More to come soon.
Enjoy!

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!