1. AI War 2
  2. News

AI War 2 News

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!

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!