1. AI War 2
  2. News

AI War 2 News

Beta 3.510 Threads And Science

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

This one hits a number of bugfixes, and some quality of life improvements as well:

1. Double-clicking to center on a selected fleet should now work as you would expect it to, rather than being overly aggressive as it always has been before.

2. The "are you sure?" from the tech tab, including hotkeys and settings to bypass it, now also applies to the hacking tab. This is actually a pretty big deal, since hacking points are your most finite resource and you don't want to accidentally spend them when you think you might be opening a submenu.

3. The ships that benefit from a tech upgrade or downgrade, or a fleet upgrade, have been a thorn in our side for quite some time. Either not showing counts correctly, or not showing all the items being counted, etc. The presentation on all this has jumped up a substantial amount, and it now shows accurate mark levels, differentiation between mobile ships and defenses, and other things of that nature. This was quite a lot.

4. There were a number of random-seeming threading bugs that were popping up still in the last version. Those should be all fixed now, with some new strategies for tying threads together and monitoring and managing them. I wasn't directly seeing what many others were (go figure), so I can't verify that it's definitely all fixed, but fingers crossed it should be.

5. Fixed several longstanding minor bugs and ui annoyances that predate the beta, just as a palate cleanser of sorts between some of these other large items.

More to come soon.
Enjoy!

Beta 3.509 De-Apocalypsing The Code

New beta build! https://wiki.arcengames.com/index.php?title=AI_War_2:Finalizing_Multiplayer#Beta_3.509_De-Apocalypsing_The_Code

This one is HUGE in terms of how many bugs it smashes. The recent version 3.500 added pooling to a lot of new parts of the game, and prevented a giant memory leak, but it also introduced a fairly apocalyptic number of bugs. I've been super stressed about it, honestly, wondering if that would smash my whole schedule and last for months, or what.

Well, today I wound up being able to duplicate and smash two really major bugs that were systematically destroying the game if you played for a long while in one game, or as soon as you loaded up a savegame or starting a new game after quitting to the main menu from playing previously.

Some of these are a bit amusing. The details are all on the chris-talks-code-gameplay, in really great detail as I explored through these things today. But the short version is:

1. Since 3.5, if you started a new game fresh, it wouldn't save what mods and dlc you had enabled in the save. This was troublesome, but not a world-ender.

2. After pooling kicks in (aka, after loading a save or starting a campaign after exiting to the main menu, or after playing long enough), the systems on new ships would be kind of randomly scrambled around. So... the cloaking device on ship A is now a random weapon from ship B, which has a weapon from ship C, etc. As you can imagine, this made for all sorts of truly insane bugs.

3. A whole bunch of pooled external objects were being incorrectly re-added to the pool and then redistributed, which meant that multiple things were sharing the same data storage. It's like if 400 people try to share one footlocker. Uh... yeah, it gets confused fast.

4. Pools of external objects were busted in general after the first load, and would just keep giving out the same initial object over and over again. The footlocker problem all over again, just a different location and even more severe.

Some other smaller bugs were also fixed, and many bits of preventative code were added.

This stuff will help with the stability of multiplayer (since single player and multiplayer have a huge amount of their code in common), but multiplayer on the beta branch is still not ready for playing. I have some more breaking in that area to do before I get to fixing, but the result should be really worth it. Lower bandwidth requirements, more accuracy, fewer desyncs that require repair. I'm hoping to get the main game, AND multiplayer, out of beta really soon.

I won't be around much tomorrow, as it's my daughter's birthday. Not sure how much this weekend, either. Maybe in bits and pieces. But definitely back to normal schedule on Monday.

More to come soon.
Enjoy!

Beta 3.508 Hotkey Heaven

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

This one finishes fixing up the orbital stuff for DLC3, which you can see some videos of on discord if you're interested (the chris-talks-gameplay-code section).

More relevant for everyone, the various hotkeys (like V for pursuit mode) now work as toggles properly, versus you having to hit V for on, and Ctrl+V for off. This was really buggy prior to last October, hence the switch to this awful system, but now it works great because I took a bit of a different premise.

A number of balance shifts have been made, most notably a global speed cap on player units to keep them from being multiplicatively speed-boosted to insanely overpowered degrees.

The tooltips have seen a number of updates for added correctness and informativeness, and there's a slew of random bugfixes.

More to come soon.
Enjoy!

Beta 3.507 Spare A Moment For Your Orbitals

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

Okay, this one is largely a digression. But first, what's the stuff in here for the bulk of folks?

- More tools for looking at threads that might be misbehaving. It seems to be intermittent.

- Badger got the tech window code to provide a more accurate count of upgradable ship lines. It does not fix problems with the turret count though.

- Several bugfixes that were pretty minor.

Beyond that, I took a bit of a side track today, and worked on a major new gameplay mechanic for DLC3. Well, kind of a cluster of them. The core thing is ship orbits around other ships, the gravity well center, other ships orbiting other ships, and so on. There's more I need to do there to make it fully smooth, and I haven't had time to test the versions that are not focused around the fleet leader, but it's a start.

Why this side track? I learned today that Zeus's availability for doing his portion of DLC3 is going to be ending later this month, so I was now the bottleneck for him being able to do the work he wanted to. There's a few other things along those lines that I'm going to knock out, and that will give the testers more time to test, too.

Then I'm not holding up anyone else's work while I continue to bang my head against the wall of the codebase and get all the post-pooling errors that remain fixed. The number is really shrinking, which is good, but the number did not shrink today.

As those drop in number, I will then shift back to multiplayer and work on that. There's some major ripping and tearing I plan to do in that area to make the client really work well. Interestingly, I found an unexpected source of desyncs in the ship creation code today when I was working on the orbital work, so that's something I can improve. The game already self-repairs from desyncs, but the less work I make it do in that regard, the better it is for your bandwidth and for smoothness on the client. So that was an unexpected and nice find, but it's a nontrivial fix to solve it. (Passing a Context object past a client-barring gate is insta-desync, is the short explanation).

Loadouts are one of those things that are on my short term list of things to make ready for the others, and that will be backported to DLC1 as well. Though I'm not sure precisely when on that bit.

There's a bunch of other features and work, and I'm not entirely sure how well things will fit into my schedule. We'll find out as each week passes.

Right now it looks like the "true" versions of Expert and Deathwish mode are not going to come to pass, unfortunately. Strategic Sage and I have been discussing that, and essentially trying to get the Fuel concept or the other things we wanted in there is a HUGE time gamble for us both, and there's no guarantee that it will yield the feel that either of us are looking for. And meanwhile, most players are super happy with the Humanity Ascendant mode as it is, so I'm chasing a very tiny minority goal there. It's something I wanted to do, but it's looking like it's not remotely commercially viable right now. I don't plan to remove those other modes, because they do add on some stricter rulesets, but they may never be as divergent as they were intended to be.

There's a few nice QoL improvements still planned for the near future, because they are fast and the sort of thing everyone will appreciate. I'm going to try to avoid making promises for the next little while, because I'm really having to react on my feet to what comes up in testing and what other contributors need for their work and so on, so it's hard for me to keep a straight-line focus like if I was working in a vacuum by myself.

Anyway, the release tempo is going to stay fast for a while, either way.
More to come soon.
Enjoy!

Beta 3.506 Setsuna Notices A Lobotomy

We're still in beta, but today strikes a solid blow against the forces of entropy that are keeping us captive there for the moment: https://wiki.arcengames.com/index.php?title=AI_War_2:Finalizing_Multiplayer#Beta_3.506_Setsuna_Notices_A_Lobotomy

SirLimbo made a number of improvements to shot compression (which was a really huge overhaul of multishot by him to work better with stacks), and this build fixes a number of things that he found over the weekend. Some of the "ships not shooting despite there being plenty of targets" bugs sound like they are fixed. All of them? Hopefully, but who knows.

On my end, I've been chasing the bug that originally Setsuna and Zweihand reported, where certain factions just seemed to go stupid every so often. The most egregious was the Zenith Trader just camping out on a planet for 45 minutes. Based on reports, Badger figured out that this had to be something to do with the long-range-planning code, and managed to replicate the problem.

I chose to go in a rather comprehensive direction, and started reviewing all of our threading code in and around that area. I'd rather not be purely reactionary to bugs as they come up, you know? In the end, today I only found the one bug (and it was two lines of very well hidden code), but along the way I simplified a lot of code, and made a lot of the threading code faster.

How much faster? It's... really going to depend a lot. The older and slower your CPU is, but the more cores you have, the better for these improvements. So older quad-cores will probably see the largest gains. Even for me on a really new octa-core (as of late last month), I seem to be feeling extra smoothness, though. This also prevents a number of possible bugs that MAY have been affecting things in the beta period with various messages from the background threads getting lost on their way to the simulation. I can't prove that was happening, but I strongly suspect it, and based on some of the bug reports that were very intermittent, that would fit. At any rate, it's no longer possible, so the problem will either go away or not.

I'm mainly setting my sights now on bugs relating to the FakeEntity, and those related to the unit cap multiplaction insanity of which Zweihand has been exploring the nature. I know that multiplayer in the beta is quite broken right now, but I'm going to do another two rounds of ripping and tearing on that before I patch it fully back up. I have some great ideas to really put a stake through the heart of the main multiplayer woes that we've had for a while, and it should also lower bandwidth requirements.

Hopefully after all those bits are done -- hopefully this week -- we'll be back off the beta branch. And hopefully we'll have multiplayer in an official state, rather than a beta state, before the end of the month.

Meanwhile, this weekend I spent my time working on concepts for ludonarrative coherence in the next game I want to make (in super early preproduction right now), and that's a fitting new goal after most of a decade chasing procedural storytelling. I really hit the high note of that with The Last Federation, and AI War 2 has mostly been a technical and design and art reawakening/exploration/R&D period for me, so having a new mission for the next half-decade feels really good. October and November will be winding down AI War 2, but there will still be lots of little releases for it throughout 2022, plus whatever modders get up to. And in the meantime, I have lots to do here, myself!

More to come soon.
Enjoy!