1. AI War 2
  2. News

AI War 2 News

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.

Beta 3.603 Last of the Recent Known Regressions

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

This one fixes all of the recent regressions of which I am aware. I wish chain lightning was a bit prettier than it is at the moment, but I'll worry with that later on if I need to. This still hasn't really been stress tested with a bajillion tractor beams using the new beams pipeline, and I have not tested to see if the hacking beam works, but all of the engineering beams are working great, and chain lightning works great (if slightly less fancy than I want).

All of the other strange stuff of late with pause causing some oddities, or starting new maps being not centered properly on your planet, or saves not seeming to remember your last planet you were at, are all fixed. So is the Exit to Desktop just taking you back to the main menu!

There are certainly other bugs that I'm aware of, but all of the really annoying or serious ones seem to be dealt with now. Actually in the most recent beta you couldn't change lobby settings! So that's also fixed.

Zweihand added in a new starting fleet option, for Zenith Onslaught, which has a bunch of ships from that DLC.

There's still lots more to come in terms of bugfixes and QoL and such, but depending on the urgency of those things I may just focus on multiplayer for a bit. There's still a pair of remaining issues where I really need to rip and tear some code before things get better (notifications at the top bar, and the "description appenders" for certain units), so I had probably better start there. Those might accidentally break some things for single-player (again, sigh), but those are the last really main such things involved for multiplayer.

After that I need to load up multiplayer and start fixing whatever I find until it's fully functional again in the new reduced-scope-on-client paradigm. There are some optional things that I can do to help with RNG determinism past client-or-host-gates, but honestly when it comes to those the game self-repairs so fast in MP that I'm not overly worried about the problems those cause. I will get to that, but it's probably not urgent. We shall see.

Anyhow, MP is almost certainly not going to be ready for play this weekend, because this stuff with the ship to ship lines took VASTLY longer than I expected, but I will be supremely frustrated if we aren't in a MP-ready state for the weekend after. My hope is that maybe sometime next week, or the week after at the latest, that we can merge the beta branch back into stable. I won't be ready to declare MP out of beta until we have more testing on it, but all these code upheavals of the last month should mean that the surface area where things can go wrong in MP is way reduced, as well as bandwidth itself also being reduced.

Now that we're taking more time on DLC3, I can also try for the original vision for Expert mode, so that will be sometime soon, too. But not prior to merging back to the stable branch, unless I'm for some reason just waiting on tester feedback.

More to come soon.
Enjoy!

Beta 3.602 Linesanity

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

Please bear in mind that this one has some known issues. If you have a bunch of problems, please use the most_recent_stable_beta to get the prior build.

If you have big cases of tons of beam weapons or chain lightning or tractor beams or tachyon beams (if you have those turned visible) in a savegame, then seeing how that runs for you in the prior version versus the new version would also be really interesting to me on a variety of hardware. Some folks were struggling before with ultra-many-tractors being shown, but that should be a thing of the past (knock on wood).

Overall this new build has a couple of small QoL improvements, mainly better hover and tooltips over wormholes, and then a tiny bit of balance (one unit -- electric bombers), and then everything else is bugfixing work / refactoring.

The way that we draw "ship to ship lines" like repair lines, claim lines, chain lightning, beam weapons, and so forth has been re-coded from absolute scratch. It was having performance problems before, as well as three interlocking pools that were really complicated for me to manage, as well as various bugs like some beam weapons or hacking lines not showing up in the past.

There are NEW bugs now, but these ones are at least in a simpler (from the outside, to manage) framework that doesn't require pools. It did require quite a lot of computer science / mental acuity testing on my part, which I may or may not have passed with various levels of success. ;) There's a list of known issues, most of which are cosmetic or minor QoL right now. I don't think any of the new issues are actually about correctness or performance, but fingers crossed. This is hot off the presses, and I've only been able to test it on so many scenarios.

I'm releasing this one now, despite knowing there are still some things wrong with it, because (as noted) those are mostly cosmetic, and I could really use the testing help from folks who are interested. I'll be banging on this more tomorrow to get the rest of this out. This is one of those things that affects both single player and multiplayer, but one thing that was part of my plan this week was to get a lot of multiplayer stuff shored up and to hopefully get us closer to exiting the beta branch for both SP and MP sooner than later.

Also, our timeframe for releasing DLC3 (aka NA) has been pushed back to January. There's an actual much more accurate description of what is in the new DLC there now, though: https://store.steampowered.com/app/1466780/AI_War_2_The_Neinzul_Abyss/

This is going to be the final DLC, and it's a really big one. Some of the things that you may notice that have vacated from the old page description are roguelike stuff (that is out NOW, for free, in the base game instead!), and the Obscura (those got cut and replaced with a ton of other stuff).

My goal is to finish up all the kickstarter last items by sometime in November still, and so when the AI War 2 Complete Edition comes out in January, that should really be the complete thing. We will of course still have some bugfix releases, and the modding scene will hopefully continue to grow post-complete-collection, but I'll be working on some other projects. At the moment a smallish hex-based turn-based strategy game is sitting at the top of my interest pile, but I keep switching concepts, so we'll see what sticks. Part of my time will start going to that starting in November.

Anyway! In the short term, it's all AI War 2, all the time. Lots more to come soon.
Enjoy!

Beta 3.601 Tuning Before A Respite

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

The last one for a few days. I'm going to be out of the office for some family functions until Monday the 23rd, after which I'll be back to working on things.

This version has a lot of really notable polish and quality of life improvements, as well as some notable fixes to recent bugs. Hopefully the single player experience is going to be really solid and playable with this build, but more testing will be needed to be sure.

Multiplayer is I'm sure all kinds of busted right now, but that's something I'm going to finish tackling after I am back in the office. Essentially, there are still some more bits that I need to split up so that they work properly on the host and the client with the client having less data being sent to it now. There are also a variety of things likely going wrong on the client at the moment (inactive thread warnings that are harmless, etc) that would make the current beta really not suitable for playing multiplayer at all.

The work of this week has made a rock-solid MP experience, which also uses less bandwidth, a lot closer to reality. I am maybe a week or two out, knock on wood, from reaching that. The downside is that in the meantime the beta branch doesn't really have playable multiplayer at all. The stable branch does. Please excuse our construction debris!

As far as single player goes, the number of serious bugs SEEMS to be falling to an all new low since the major 3.500 update and all the pooling that came with that, but I also think that people have been testing a bit less in the last week, so it may just be fewer reports. At any rate, my hope is to have another stable branch release of the game in general within a few weeks, but it just depends on what testing is like.

I am not feeling great about how things are progressing on my part of the schedule for DLC3, but everyone else's work seems to be on time, so that's good at least. I'm not sure how I'm going to really handle this predicament, but it will become more clear as I get through with the pooling-related bugbears, and get MP potentially out of beta for the first time in this game's life. It will work out either way, but I'm hoping for something that doesn't involve insane overtime on my part or a delay in the DLC3 release date.

This new build really feels a ton better with some of the QoL improvements, by the way. Holy cow does it make the at-planet window better (thanks Asteroid for the suggestion!), and the planet highlighting when hovering over notifications on the top bar working well again is really a relief (because I find I can't tell what is going on without that).

More to come next week.
Enjoy!

Beta 3.600 Multiplayer Sprint

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

There's a saying about going through cycles of bugging and debugging, when it comes to code. The last few weeks have been debugging. Today and for a few days is mostly going to be bugging.

The multiplayer code simply doesn't need to be doing as much as it has been trying to, and so there's a bit of a shift in the design so that several new categories of data are host-directed and the clients thus do less as well as seeing exactly what the host sees. This will be a bandwidth-reducer as well as lowering the surface area for multiplayer-related bugs. There are a few benefits to general efficiency when it comes to single-player, too.

In the very short term, the beta branch of multiplayer is no longer feature-complete, as the client is now temporarily blind to a few things (notifications, intel tab) and may have some extra errors that happen when hovering over certain units. Among the other bugs already reported. My goal is to sprint through all of these things in the next few weeks, although from Thursday through Monday I'll be traveling, so there will be a brief hiatus.

This particular build also includes some excellent new fixes and tweaks for single-player, with the map darkening and focusing now working a lot better (it had been a regression sometime recently). The notifications temporarily do not function when it comes to the map darkening and highlighting, but that's part of the general rework of those that I'm doing for multiplayer purposes and now also this purpose.

Lots of mods got updates to function with the latest code, and all of them should now be functional again. And a couple of other random bugfixes.

More to come soon.
Enjoy!