Author: Chris McElligott Park

AI War 2 – Beta 3.789 Network Consolidation

New build!

This one has a whole lot of cool new things for the necromancer, if you’re a DLC3 tester at the moment.

For everyone, there’s a lot of networking improvements in here. Accuracy, speed, and a lower number of options when it comes to steam networking. I also found that the steam networking in particular was causing some hitching and freezing on the client and host, and moved that code onto a background thread where it no longer causes that.

I’m not sure if I got all the canaries or not, but it seems like I got a number of them, anyhow. There are some new tools that allow you to send metadata headers along with the data, and if you run into a canary, then you can go into personal settings, network, and enable that to get a more precise hit as to where the problem is. If you’re the client and getting the error (most likely case), then the host actually is the one who has to enable the metadata send, because they’re the one generating the data.

Oh yeah! I almost forgot, but there are literally dozens of bugfixes for nullrefs in here. It touches pretty much every faction in the game in at least a couple of places. All that carnage from a couple of builds back with the new rash of nullrefs should be solved now. Also, tachyon beams work again, unlike the last build or two where I had messed those up with a boolean inversion.

More to come soon, but hopefully this does well for folks in multiplayer over the weekend. I still have some known bugs to iron out, but in terms of random performance drops and error popups, fingers crossed those are largely a thing of the past.


AI War 2 – Beta 3.788 Canary Search

New build!

This one fixes a bunch of more stuff with multiplayer, and a few single player bugs like tachyon beams not working. This also gives some great new quality of life improvements when dealing with cloaked enemy ships on a planet.

As far as multiplayer goes, I think it’s pretty much more solid now than it ever has been before, but there are a couple of places where I know the code is being sent incorrectly (we get “canary warnings” from that). At the moment, I haven’t been able to find those yet, so I’ve put in more canaries, and that should give us proper info on it as people hit the new canaries.

More to come soon.

AI War 2 – Beta 3.787 Yet More Performance

New build!

I had hoped to be out of beta a week or so ago, but we’re not quite there yet. On the plus side, we’re continuing to make some astronomical strides in general stability, performance, and so forth. This applies to singleplayer and multiplayer. We have a couple of dramatically-overpopulated huge savegames that would have ground to a halt in the past, and they now actually run at about half sim speed and 30fps; by simply adjusting the game speed up to 2x, you can run those in realtime, in other words.

I prefer that the game run at 60+ fps, of course, and at full sim speed; but in this particular situation, we’re talking about 9.5 hours into a game with 13 intensity-10 factions, 3 difficulty 9 AIs, and three other factions in addition. In total, under the hood, 49 factions in place, and about 550k ships in 40k groups. That is… really really extreme, and the fact that it’s quite playable now is something I’m really pleased by. Even better, the game now uses far more of your processor cores as of this version for these extreme sort of scenarios. It won’t use excessive CPU in a normal situation, but it does scale up as-need, even on 16+ cores.

There are some safety mechanisms in here that are new for various NPC factions, which allow them to force stacking when they start getting too many units spawned. This is useful even for modders, so that if they wind up with runaway unit counts on high intensities of their factions, they can have the game automatically adapt and get better performance out of it. In the event that the automated logic doesn’t get the job done, it now shows what is going over budget in a warning fashion, which should encourage people to submit savegame bug reports where more direct tuning can be done by the faction author. Overall I like giving people the tools to succeed and not shoot themselves in the foot, so this is a big step forward in that regard. These mechanisms only apply to NPC factions, not to player ones, incidentally.

Lots of bugfixes in this build, many of which are related to the recent “don’t reference a wrong unit” code that was put in. But also, this fixes a couple of notable multiplayer bugs, and so hopefully the multiplayer experience is smoother than ever, as well. I still expect some remaining small issues for a bit, but so far I’m really heartened by just how well it’s running on my test setup.

Civilian industries got some updates as well, and runs again (it was busted at the last moment in the prior build).

More to come soon.

AI War 2 – Beta 3.786 A Very Intense Patch

New build!

Whew, this one is absolutely giant. It’s mainly focused on polish and bugfixes, but it has a number of DLC3 features in there as well. I was hoping to get out of beta last week, but there were too many things that have needed attention. I’m happy with the progress that is happening now, though.

This new build includes some performance improvements for extreme faction situations, which allows factions to detect poor performance and then throttle themselves. We had a save with a ton of intensity 10 factions in it that were getting over a million units in the game, and the performance was really suffering. Now it scales up way less rapidly in there, and the performance is much better. If we are alerted to other poor-performing faction saves, we now have tools where we can fix those up when the saves are provided. This is also something that modders can make use of.

DLC3 changes abound, such as the Elderlings having some new hacks you can do against them, and lots of Wild Hives updates, and Necromancer updates… the list is long.

Bugfixes are really voluminous here in general, too. A lot of multiplayer fixes are included, but there are also many single-player ones. There were also some really nasty bugs relating to pooling of units in really high-load games, and those are now fixed. A couple of these things were pretty giant amounts of code surgery, and some of those will give a few errors in the short term rather than silently doing something wrong. As we find those, we’ll fix them and then they also won’t have errors. At the moment we’ve fixed a few hundred cases of those, but there are likely more lurking (none have shown up in testing at the moment, but that’s not an ironclad thing by any stretch).

A lot of this had to do with making things more resilient when the game is under extreme load. Making it work more correctly in those cases, as well as making it not run as slowly in those cases.

Mod-wise, Civilian Industries has seen a bunch of updates from StarKelp, and they now perform a lot better and send less data in multiplayer, too. Existing civilian industries games are broken, but all other saves are fine.

StarKelp also added a new Lost Humans mod, which is a cool new thing that allows for Travelers and Lost Colonies to spawn out in the world. This is a unique mod in that it uses a non-faction-based mechanism to have these work, which is a first among mods. Very cool feature that is also very low-load.

More to come soon.

AI War 2 – Beta 3.785 Just Bugfixes

New build!

This one just has some bugfixes, none of them TOO serious. That’s kind of the idea for the period leading up out of beta. Hopefully if things are looking good, then Monday might be the day. I guess maybe Tuesday if the winter storm coming up knocks out my power, or if there are enough bugs that we need one more day of testing at that time.

More to come soon!

AI War 2 – Beta 3.784 Tractor Recursion

New build!

Lots and lots of bugfixes, a few DLC3 additions, and some quality of life tweaks. I typed up most of a longer post, had to step away for a bit to take care of something, and discord ate it when I got back. Nice. So I’ll be super brief, instead.

We need to keep an eye on this for a bit longer before we let it out of beta, clearly, but I’m quite encouraged in the main. Thanks to everyone for all your bug reports.

More to come soon!

AI War 2 – Beta 3.783 The Return Of Multiplayer!

New build!

Multiplayer is BACK, folks. There were a lot of beta-branch-specific bugs since the great refactor started, because I needed to get singleplayer working first, and then get multiplayer going.

I am very very happy to report that this should be the most stable and most performant version of multiplayer yet, beating out the stable branch most likely, knock on wood. There are still some things that I’m sure will come up in testing, but the ghosts issue seems to finally be fully resolved, which means the “my stuff explodes for no reason” issue, in other words.

There are some other small bugfixes here, but mainly this is MP stuff. There are also a number of notable balance adjustments to DLC3 content, mostly thanks to Zeus.

This feels really good, although it did take me a day longer than I originally expected. I’ve been able to play 10-20 minutes of multiplayer gametime at once without issues now, though (and I just didn’t test further than that).

More to come soon.

AI War 2 – Beta 3.782 Smooth Reloading

New build!

Hopefully we are in the last few days before this comes back out of beta. I have some known issues I need to fix in multiplayer, but once again we’ve cleaned up the full (I think?) list of known bugs of any seriousness that are afflicting multiplayer.

This build also makes it so that when you reload the xml for the game by changing enabled mods or dlc, it now does so in a smooth way with actual interface feedback about what is happening. This is how it was prior to the beta period, but since the beta period it’s been jerky and slow and seems like the program is frozen at times. All fixed now!

This build sees tractor beams able to drag ships around again properly, tachyon beams no longer over-negating cloak, invulnerable ships truly being invulnerable again, necromancy working again, stacks splitting less aggressively, ships no longer losing orders when going through wormholes, no “infinite threat spawn” situations anymore, and so on.

Improvements-wise, this includes a feature where ship lines transferred between fleets now take on the orders of the fleet they are being transferred to. And some work on vassals in DLC3, though that doesn’t have its control interface yet. Necromancers also got a number of balance improvements and tweaks.

More to come soon.

AI War 2 – Beta 3.781 Tachyon Healing Reversal

New build!

This one… fixes all of the really major bugs that I’m aware of in single-player! So heap on some more, see what you can find! ;)

I still have some known multiplayer bugs that I need to fix before we’re able to leave beta, but beyond that and whatever new is reported… that’s where we are. So that’s quite exciting!

Also exciting? Your own tachyon beams (you know, the ones for revealing clocked enemies?) will no longer accidentally heal enemy cloaking devices, making them perma-cloaked no matter how much the enemy shoots you. Yes… in the past build, I made an error and tachyon beams were your own worst enemy, creating invisible unhittable terrors of enemies who could shoot you with impunity. Seeing that was actually pretty menacing, and I understand it cut a swath through several player empires. Uh… my bad!

This new version has some performance improvements (again), and also a lot of improvements to how notification hovers work. If a notification talks about things on multiple planets, it now highlights all the planets of relevance.

The necromancer got a number of new powers in this build thanks to Badger, and also got a bit of a nerf to the very late game since they were getting absurd apparently. Finding the ideal power curve for that new player faction is a work in progress, but sounds like it’s coming along. I particularly like that the Neinzul Elderlings have sanity that they lose, and are losing it faster now. That’s fun.

The build yesterday also had some bugs in the new hull system from SirLimbo, which is understandable for something so huge. Those are fixed now, although it sounds like there are a few final gasps from other bugs in that bit of code.

Thanks to everyone who has been testing, and hopefully the next few builds are uncommonly clean for how things have been the last half year. We’re finally nearing the exit of beta, and the end of the great refactor, which is a milestone I will really relish.

More to come soon.

AI War 2 – Beta 3.780 Nomadic Ark Empires And The Hull System

New build!

The last couple of builds had some notable bugs, apologies for that. Those are all solved, and performance has been boosted yet again (compared to the distant past, not just the recent past), and there are some quality of life improvements.

Beyond that, there’s a very cool hulls system that -NR-SirLimbo has added to the game, mainly for mods. This is something that lets you create more AI War 1 style hull types and ammo types and vulnerabilities and strengths. It’s not something the main game uses much, but it is used in order to provide Heroic Ship traits (really big ships that are immune to most “bs attacks,” so to speak). Beyond that, it’s a really interesting platform for mods to do cool things.

The More System Defenders mod has returned, and there was at least one other mod depending on it that is now working again, too.

The Ark Empire in DLC1 has been very close to completed! Thanks to Badger on the most recent batch of items there. I still have a very few last bits to add in, but in general you start with an Ark that is nomadic in the middle of enemy territory. In other words, you don’t automatically have your first planet, you have to fight for it… or you can opt NOT to take that planet at all, and instead to take one of the neighbors as your first planet. And your actual king is an ark that is mobile and that you can move around as you wish, so your empire is permanently fluid.

It’s a very interesting way to play, and gets back to the original kickstarter goals and designs. I don’t think it’s going to be the way that most people prefer… but then again I could be wrong. It also includes build-your-own-starting-fleet mechanics, which are super exciting. The normal empire that we have now is something that we built because the Ark Empires just “didn’t feel like AI War” when it was the only way to play. But now the Ark Empires are much more advanced, and optional, so I’ll be curious to see what people find is more fun in the end.

Badger also made a number of major improvements to the Intel menu, making it way more readable. Necromancer got some tweaks from Badger, and expert mode got some tweaks from Tom.

Puffin is also still steadily working away on his massive Classic Fusion total conversion mod.

Lots of cool things afoot! More to come soon.

AI War 2 – Beta 3.777 Last Refinements For The Year

New build!

This is quite a big one! Dozens of bugfixes to the game and to various mods, and things should be running better than ever. Plus a whole lot of other things:

Doomsday mode (a new DLC1 feature) got some refinements from Badger.

Expert mode got some more refinements from Tom.

The message log has been upgraded a ton so items in it are clickable, and same for the right-side temporary messages that pop up. They have tooltips explaining what will happen when you click each line, and the message log has a new icon in the bottom left so it’s clearer that it’s not just for MP chat.

Speaking of icons, the tabs on the left sidebar have gone iconic rather than text-based. We have more room now, they’re more attractive, and people have not been a fan of the sideways text that used to be there.

Puffin has been busy on his Classic Fusion mod, which is not yet released, but which is seeing a lot of internal updates frequently. Three new mechanics have been added by him to the game in general to support some of what he wants to do there, and that’s the devourer, weapon points, and infestation ship mechanics. Goodness!

The list of bugfixes is pretty intense, and StarKelp has made both improvements and fixes to his Civilian Industries mod.

And lastly, a last-day-of-the-year surprise from ArnaudB, he’s created a new “From Spire Frigate to Dreadnought” mod, which lets you hack the lone spire frigates to turn them into massive spire battleships or dreadnoughts.

Wow! Well, more is going to be coming very soon, but not before the end of the year (which is in about five hours where I am).
Happy New Year!

AI War 2 – Beta 3.774 Metal Flows

New build!

Whew, okay, lots of cleanup in this one, largely from the work yesterday. The way that metal outflows were working is much faster as of yesterday, but there were a variety of problems I needed to fix up today. It’s even faster now, and also actually fully correct as well.

Another thing that has been really-wrong for a long while (during the beta) was the way that tech previews were showing ship counts. That’s now vastly more efficient, as well as actually — again — being correct. This also applies to the strengths/weaknesses R view, all of which I had to pretty majorly re-code.

The other bug that has been biting a lot of people lately is one where a bunch of ships would complain about the “squad in central registry was actually” errors flooding through the game. The root issue is there in the stable build (though silent), and has been there for years (it’s the root of the ghosts in multiplayer, also), but it’s gotten much worse in the beta since we now do so vastly much more multithreading (and now has errors that pop up when there’s a problem). That should now be fixed, and we should not be seeing that error anymore, knock on wood. There are a few specific cases where we might see an error about the central registry if the timing is just wrong and I need to update some code, but that should be rare.

Right! There’s still other bugs that people have noted, and I plan on trying to plow through a ton of those tomorrow, as well as actually getting to my correspondence. I wanted to go ahead and get these major fixes in today, though, so I focused there first.

This build also includes a planet cap of 120 by default now (though you can unlock it with a personal setting in the performance section), because anything above that is kind of death by a thousand paper cuts for performance on even very modern machines. 120 planets was the original limit in the first AI War, and things should perform quite nicely up to there on machines in this game now. The only places where I’m still seeing performance lag (though I’ll need more data) is currently on 180 planet maps with tons of factions and deep into the midgame, and even there I’m still averaging 60 fps now, with full sim speed, so that’s a lot of wiggle-room and should see normal map sizes really play very nicely.

And lastly, now the expatriate tech can upgrade human resistance fighters and ALL outguard (not just some of them), which makes the HRF in particular way more useful as an ally than they ever have been in the past.

More to come soon.

AI War 2 – Beta 3.773 The Turbo

New build!

This one is a bit unexpected in its content. There’s a few bugfixes and QoL improvements, but then mostly I focused in majorly on both sim performance and framerate for the game, and got some pretty magical results.

Overall there were some places where in a giant galaxy from user deadzone with a ton of ships and factions, I had like 60% sim speed at best. I now have 100% sim speed on that, with some very occasional dips that I haven’t yet located.

That particular save also was extremely choppy, and was giving me a framerate that was maybe in the 40s, but extremely jerky because the frame times were so uneven. I’ve done a ton of work on that, and I’m now seeing closer to 60-70 fps, with some dips still on that as well, but with it largely being smooth instead of jerky.

I get so used to playing midsize games, or the early game, or just whatever saves people are sending in, that I don’t usually see these performance hotspots unless someone happens to give me a save that has it. If you’ve got such a savegame, then please feel free to either pop it on our bugtracker or send it to me on discord.

The changes to make this work so much better were nontrivial, so there are likely going to be some cross-threading bugs resulting from this. That will keep us on the beta branch slightly longer, but honestly it just depends on testing results.

I have a big backlog of correspondence as well as bugtracker tickets to look at since being out for the holiday, and I promise I’m not ignoring any of that — I just wanted to really focus on this thing today, since it’s the sort of thing that both is really important as well as leads to potential new bugs. Having this in sooner than later, and then dealing with the existing reports, should let me double up on dealing with those reports plus new ones.

So how is performance now? I’m getting pretty diminishing returns on the one savegame that was a big problem for me so far. All the other saves I have were already fine. Do you have any saves that still are problematic in the new version? If so, send them on over!

More to come soon.

AI War 2 – Beta 3.772 Refinements And Polish

New build!

Okay, I really need to stop predicting what my next day is going to be like. I was planning on finishing up the bugfixes for multiplayer today, but instead I had to spend a bunch of time on the phone with Intuit (uggggh), and then there were a rash of other issues that affect both single player and multiplayer, so I worked on those, instead. We really are getting close on the beta being back to the stable branch, but there’s still just a bit too many things going on for me to be ready to pull the trigger yet.

There’s an interesting poorly-performing mid-game save that deadone77 provided, and before we come out of beta I want to see if I can’t get that running smoothly. I suspect it already runs better than the stable branch would have with that scenario, but now with all the beta improvements I can actually see which parts are slower and I think I can deal with that. I suspect that if I can get that solved, then that will be a major performance boon for games in general in that sort of state, which will be great for all of the more active factions.

Anyway, so there’s still some random bugs, there’s that performance thing I want to get dealt with, and there’s the MP bugs that I still need to work with. As far as getting out of beta goes, that’s the full list of what I’m aware of. Tomorrow is Christmas Eve, so I’m going to be signing off for a few days to spend time with my family. I hope that you and yours are having a great holiday season if you celebrate anything around this time, and if the next holiday for you is New Years, I’ll be seeing you well before then.

That’s the other big reason I don’t want to go out of beta right now: doing that right before a holiday where I’m not around and a number of new people are likely to show up seems unwise. I’ll be back on the 27th or so.

Thanks so much to everyone who has been working so hard on testing, and discussing, and tweaking and fixing things!

AI War 2 – Beta 3.771 Expert Mode And Civilian Industries

New build!

Thanks to Tom, this one has a version of expert mode that is very close to feature-complete. Balance feedback is still needed from more folks on it, and I have some more ui work to do on the top resource bar, and there are some more optional features planned for expert mode, but the really core stuff is all there from Strategic Sage’s point of view, which is super exciting! He and I had been plotting these features since May, so that was quite the wait, and I thank him for his patience and ongoing advice on it. Tom has really made expert mode happen way faster than I would have been able to, which is a huge boon, I’m really grateful.

In other news, I’ve reviewed all the mods since we’re nearing the end of this beta period, and marked the ones that are not ready yet as being disabled, and let the various authors know for those who did no already know. On that note….

Civilian Industries has been something that took a ton of work to convert over, but StarKelp came in and smashed the last of the issues with that, and it’s now back in working order for the first time since entering the beta period! That’s quite exciting since this is one of the most popular mods, particular for newer players.

I’ve been working primarily on multiplayer, getting the bugs in that ironed out so that the beta branch will be as-good-or-better than the current stable branch for multiplayer. I’m not quite to that point yet, and I would not call the multiplayer playable on the beta branch just yet, but I think perhaps tomorrow it will be. There’s a few other last-minute bugs that I see have been reported for single player as well, so I’ll knock those out before we get off the beta branch in general.

More to come soon.

AI War 2- Beta 3.770 Bug Roasting

New build!

Not quite off the beta branch yet, but I’m hoping that either tomorrow or the next day will see that. There were some severe regressions and some other major issues that just got missed in the last build, but those are all cleared up now and I’m currently not aware of any major bugs in the single player game for the base game and the first two DLCs.

If there’s more I’m missing, please continue to let me know!

Multiplayer remains offline in the beta branch, but I aim to get that sorted out tomorrow. I had been hoping to get that all done today, but the vast majority of my day got taken up by the other bugs on the roster. For multiplayer, the main thing that I have to get working again is the initial handshake and the way that deserialization buffers work; during the refactor, I changed that back in July, and I recall thinking “oh yeah, I’ll have to check and make sure that all does right when I get to testing multiplayer.” At the time, I thought that was going to be August!

Still, as extra-long as this giant beta period has been, the game is exceptionally polished from it. The extra throughput that we have made a severe memory leak I introduced a couple of days ago something that almost flew under the radar. That’s maybe a strange flex, but in the past, or indeed in most programs, a memory like that would have been paired with far more substantial general program slowdown. (I’ve thoroughly checked this for other leaks, and beyond that one boneheaded one from the 17th, we’re good).

I’ve done a couple of major system refactors in my past work, twice on really large business systems spanning a bunch of servers, and a few times on games for Arcen (including the original migration from my hand-coded engine over to have Keith and I piggyback Unity back in 2010), and this has by far been the largest. The entire AI War 2 project has in general been a time of pushing technical boundaries in order to open up new gameplay and modding and performance abilities, and that has been a challenge to balance along with the regular schedule for the game, but I’m really glad to where the technology has (very nearly) arrived at now.

When we first set out to work on AI War 2, neither Keith nor I had ambitions for nearly such complex factions, AI that would process so much data, or support for mods of such complexity. But that’s how the game and its community have evolved, and the modern version of the game really handles all of it very well.

More to come soon.