1. AI War 2
  2. News

AI War 2 News

Beta 3.709 Upgrades And Serialization Fix

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

This one upgrades to a newer version of unity, fixing a number of bugs of relevance, including likely fixing the freeze on startup that was sometimes happening.

Additionally, this release should fix the bug where sometimes units would just turn feral on you when loading a savegame, and all bumrush you for no reason. Apparently testing with the golemite AI faction really makes for a show. If you see this again, please do let us know.

A number of performance improvements have been made in this build, although there's more I wanted to do. I'll continue pushing on with that over time. I also made some adjustments to have a death registry, which has some single player uses (it's related to those performance and correctness bits above), and then also will be the final solution to the ghosts problem in multiplayer once I finish wiring that up.

Final solution? How can that be? Well, the client will be told of things that have died, and the client can ask the host about dead things, as well. That way, the worst thing we can have is not a ghost, or an accidental death -- both two outcomes possible before -- but instead just a "stale data for some reason" issue. That is far less severe, and should be easier to debug if it happens, but even that happening should be way less likely.

SirLimbo continues to be on a roll adding things to the main game and for DLC, working on some changes that affect how mines show their remaining "number of times they can go off," and then also adding a bunch more stuff for the Brutal Guardians in the Dire Guardian Lair for DLC3.

I was hoping to redo some of how transported ships work, or how drones work, while we're in here doing this much surgery anyway. That's been on my wishlist for a long time. Unfortunately... wow. It's just really complicated to try to change it, and it would lead to worse performance if I did. Given I'm trying to make performance go the other direction, I don't feel great about that. It was worth a shot, but I'm going to give it a pass.

I still have some other during-beta things to refactor, to speed up, and to make easier to use in general, but the list is growing shorter. Then it's just a matter of getting the last of the bugs out, making sure multiplayer is going well, and then it's the new-feature train for a while.

More to come soon.
Enjoy!

Beta 3.708 Bugfixes And Death Spawn

Another new beta build! https://wiki.arcengames.com/index.php?title=AI_War_2:The_Great_Refactor#Beta_3.708_Bugfixes_And_Death_Spawn

This one is smaller, but hits a number of bugs that were bothering people. It also adds some more new features that SirLimbo is working on for some of his new guardians and such.

There is still a serialization bug at the moment (probably), and at any rate I still have more to break in serialization in general. I didn't quite get through my entire list of things I wanted to, but I wound up finding some interesting nests of programming errors and sorting those out. Whether there is a wider issue on that front at the moment or not I am not yet sure, but I have a couple of targets set for review tomorrow.

In the meantime, hopefully things work out well savegame-wise, but please let us know if not. Badger would love some feedback on those new wormhole invasion styles, by the way! Those are in the base game, and are on by default, unlike what I reported last time.

If you're a tester for DLC3, then more feedback and testing with the necromancer and the sappers are also greatly desired at the moment. Lots of changes have happened with them since the last time we got much meaningful feedback.

More to come soon.
Enjoy!

Beta 3.706 Expanded Wormhole Invasions And Raid Engines

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

(Please note: this one again breaks savegames, and there's a known save corruption glitch from the prior version.)

Well! It's been a busy six days since the last release. This new build mainly has cool new things from Badger and SirLimbo, however, so let's talk about those things first. I tried to fix one bug that could cause a freeze on startup, but other than that I didn't contribute anything here.

First of all, Badger has added options for Wormhole Invasions in the lobby that make it so that you can have something more interesting than the old style of them. Specifically, you can have them just send waves (well, that's a bit different), OR you can have them... you know... drill through the fabric of reality, forge a link between one of your undefended planets and somewhere in deep enemy territory, and spawn several waves at your soft underbelly.

That last option might sound crazy, but it's not meant to be purely punitive. The cool thing about it is that it also changes the nature of the map so that you can now ALSO directly go attack the AI deep in its own territory. Yeah, sure, your underbelly just got exposed, but you also now have a direct link directly into potentially useful territory. If it suits you, you can just reinforce your empire on that side, and use it as a new launching-off point against the AI. Or if it doesn't suit you, you can protect your empire by destroying the projector to shave off that unwanted link.

Remember that you have to turn this option on in the lobby to give it a try. Right now, by default things still work how they did before. If this is popular, maybe this will become a default for some game mode, or maybe it will just stay a niche cool new option; it's hard to say, and we'd love feedback.

SirLimbo, meanwhile, has been expanding the concept of "raid engines" in general by adding a lot of new features that allow for the creation of Dire Guardian Lairs, which was a concept we had in the original game. This new implementation takes it to new levels, though, and the new units that will be involved will be part of DLC3, so I won't say too much about them yet.

For my part, I had two days where I was out of town, and then I've spent all weekend and the first two days of this week completely reworking Arcen's website. That thing was old and creaky, not mobile-friendly much at all, and really not... good at showing the important information. We also had two blogs, which I had started neglecting to update because of how much of a pain it was. I'm still not done with the makeover, but there's a lot of good stuff there, and hopefully it really enhances people's ability to find out what they want to know about Arcen as a company.

I also wrote a couple of blog posts as a response to some questions that some students sent me:

1: https://arcengames.com/what-are-the-different-phases-in-a-development-cycle-when-creating-an-indie-game/
2: https://arcengames.com/what-tools-do-developers-use-to-make-an-indie-game/
3: https://arcengames.com/have-you-noticed-a-change-in-the-way-a-game-is-developed-throughout-the-years/

I'll post a bit more about this tomorrow when I hopefully finish the last of my changes, and then I'll be back to my normal coding. For now, feel free to poke around the revamped site (the game pages have yet to be reworked; if anything seems temp-y or unfinished, it probably is).

More to come soon.
Enjoy!

Beta 3.705 Blazing Collections And The New Spire

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

(Note: all savegames won't work when loaded into this version, because of the major under the hood changes. There will be another release or two like that coming up in the near future, then I'll be done with that.)

Okay, this is getting a bit ridiculous. This is five days of really intensive work (like 12-14 hour days for all five). Initially I started with a few mild bugfixes (fun!), and then I started moving in to splitting up the fallen spire faction and necromancer so that they have the new relationship that they need (cities and their mobile fleets separated out (exciting!), and I got partway through that. I also started working on modules/loadouts (even more exciting!).

Then something else grabbed my attention again: the performance of our collections (lists, dictionary, queues, stacks, etc) left a lot to be desired. The ones that were most problematic were ones from Microsoft, and the source is open. The others that were problematic tended to wrapper these problematic ones.

So at first this led into a big investigation with myself and NR SirLimbo profiling the heck out of the microsoft classes and then my adapted version that stripped out some suboptimal things in their code. In general, depending on what we were testing -- and SirLimbo had to create a new in-engine testing framework for us to be able to measure this with a sensitivity in the nanosecond range -- down to a millionth of a second or so, for our practcal measurement purposes).

The general results of that were that, on average, the worst result from my new versions on windows or OSX was about a 0% to a 2% improvement for certain activities, and then closer to a 10% improvement for others (Sort in particular). Then for certain things that have to do with initializing data to the proper size, the improvement was about 300%.

I then started porting over more data structures, and finding all sorts of really unfortunate things in there. Doing things like looping over dictionary.Keys instead of just dictionary actually is hugely slower, did you know that? It's not documented anywhere, you have to just check the code. There were a bunch of other strange gotchas.

And our own ArcenSparseLookup collection, which Keith implemented 5 years ago with notes in there saying "this is TEMPORARY, and has bad performance, will need to replace this later" has been all through our codebase. I spent the last 9 hours or so (split between last night and today) replacing that thing. It was used all over the place, and had at best half the performance of the newer version of the dictionary that I now use, before you even get into further improvements. And I did get into further improvements.

So how much faster are things? I don't rightly know! These were a thousand little paper cuts, all over the place, slowing things down. We no longer are covered in said paper cuts. Things feel snappier, but I haven't run any real stressful load cases just yet. I'll be very interested to hear what you experience.

I'm going to be out for the next day or two, but then I'm going to be circling back around to bugfixes, the fallen spire, and so on. The fallen spire _might_ be playable right now in this build, but I'm not certain. The ablity to switch which mobile fleet each city is bolstering isn't there right now, and that's the main thing I just outright didn't finish.

Anyhow, lots of exciting progress on a lot of things. I didn't really expect another digression into performance improvements, but these ones are extremely nice and are things I can carry with me into future projects, too.

More to come soon.
Enjoy!

Beta 3.704 Unexpected Turbo Sim Speed

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

Weeell... this is cool and unexpected. I sped up the sim last release, right? Um... well, I did it again, except even moreso this time. I am able to run 111 factions at almost full sim speed now, which is just plain insane. My framerate stinks when I do it, but that's a separate matter. We also can run far more planets than anytime in the past, so we've increased the max planet counts to 300 on all maps. It does take a more powerful computer to run these, which the game warns you about, but there's no reason for it not to be an option now.

This isn't just about crazy high planet counts or crazy high faction counts, though. This will have tangible benefits to lots of players, whether they are on weaker hardware or are just getting into giant late game battles that previously slowed down a lot, etc. It's possible that battles of sufficient size will still cause slowdown, but the effect won't be compounded by this general load, so there's a lot more margin for giant battles to take up room if they need to.

Quite aside from the above, this release contains just an absolute ton of bugfixes, almost all of which are things that resulted from the great refactor, but a few of which were much longer-standing. It's getting cleaner and cleaner, which is thanks to the folks who keep testing things out and reporting what they find. Thank you in particular to Vinco, BoBy, Arctic, whimsee, nas1m, and HarryT -- you all rock!

Let's see... I also got started on the very earliest part of modular loadouts for ships, although there's not a lot to see yet. But it's nice to be getting started on that. A new planet naming style by Angel of death is now in the game, as well.

If anyone is wondering how NR SirLimbo is coming with his work on his mods (AMU and the like), it's an impressive and intensive task that he's going through. He's documenting it on discord, and it's really awesome to see how he's not just porting things over, but rather is actively making his modding framework and tools even better than it already was.

More to come soon.
Enjoy!