Author Topic: Prerelease 1.011E (GameCommand Rewrite, Network/AI Performance Improvements)  (Read 6637 times)

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Warning 1:  A huge chunk of the innards of the control architecture was rewritten for this version.  It is entirely likely there may be bugs relating to this, although I have not seen any yet.  If your game does something wonky, please let me know.  As much playing as people can do on this version and up is appreciated, since I want to really have any kinks ironed out by the official release time later this week.  This rewrite improves network performance as well as paves the way for several upcoming features, but the drawback of any rewrite is a spate of new bugs.

Warning 2:  There are some significant AI shifts in version 1.011A and up, which is likely to make it much harder given the same difficulty level.  So if you are loading older savegames that were close, you might find yourself losing if you are not careful.  Just fair warning!

The Latest prerelease is now out: http://www.arcengames.com/share/AIWar1011E.zip

That version is an upgrade from version 1.010, so you have to already have 1.010 (or greater) installed. Just unzip it into your game folder (usually C:\Program Files\Arcen Games\AI War\ unless you specified something else). Please make sure that your unzip process keeps the folder structure from the zip file, rather than just unpacking all of the files into the base target directory.

What's new since 1.010C:
(Cumulative release notes since 1.010 are attached at the bottom)

-------------------

-The entire GameCommand architecture has been redone, so that in many cases it should put 1/5 the load on the network compared to past releases, and when ordering big masses of ships around it should put even less load.  This also paves the way for some bulk-orders down the line.

-The number of collisions run per cycle has been increased 50X, which will cause extra load on lower-level machines in some certain circumstances (such as a lot of ships going through a wormhole all at once) but a much better game experience overall, especially when there are lots of ships moving around.

-Previously, if ships were fading in they could not shoot but they could be shot at.  Also, they would not start becoming visible until their collision detection was run, which meant that in extreme cases they could be moving around the planet before becoming visible.  Both fixed.

-Only multi-core computers, the AI thread will no longer pause for 1/5 of a second between iterations.  This logic is only now applied on single-core hosts, to help keep the CPU load lower while at the same time making the AI mildly slower to react.

-The message queue to the AI thread now processes 20x as many messages as before when there are more than 500 items in the queue.  On below-specs CPUs this should actually help performance, since a key degradation factor for performance was actually having the command queue getting too backed up.
« Last Edit: July 26, 2009, 11:27:45 pm by x4000 »
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline Admiral

  • Hero Member
  • *****
  • Posts: 547
-Previously, if ships were fading in they could not shoot but they could be shot at.  Also, they would not start becoming visible until their collision detection was run, which meant that in extreme cases they could be moving around the planet before becoming visible.  Both fixed.

Pray tell, what is the new behavior now that this was fixed? :)

a) Unattackable until fully faded in?
b) Can attack while materializing?

Cheers!

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
-Previously, if ships were fading in they could not shoot but they could be shot at.  Also, they would not start becoming visible until their collision detection was run, which meant that in extreme cases they could be moving around the planet before becoming visible.  Both fixed.

Pray tell, what is the new behavior now that this was fixed? :)

a) Unattackable until fully faded in?
b) Can attack while materializing?

Cheers!

Oh, sorry.  :)

They can attack while materializing, but they also now materialized on a regular pace (about 1 second) instead of some protracted amount of time while they wait for collision detection.
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline Pandemic

  • Full Member Mark II
  • ***
  • Posts: 172
  • Location: Miniluv ftw!
OH NOES! Unhandled exceptions!

It happened right at the start of the game... I was just flipping through the categories of build stuff :P.

Attached ;D.


-Pandemic


EDIT:
Ah-ha!

The problem is control grouping... To replicate this error, click on anything and Ctrl+1 it.
« Last Edit: July 26, 2009, 10:54:30 pm by Pandemic »
http://www.di.fm/wma/trance.asx
"Freedom is the ability to say 2 plus 2 makes 4. If that is granted, all else follows."  -George Orwell, 1984

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
The problem is control grouping... To replicate this error, click on anything and Ctrl+1 it.

Thanks for the report!  That made it really quick to fix.  Here's a new version:  http://www.arcengames.com/share/AIWar1011E.zip

New in this version:

-Cloaked enemy ships that teleport no longer make a sound.

-The teleport sound effect also now only plays for ships that are selected, or which are teleporting to a location onscreen.

CHANGES FROM PAST PRERELEASES
--------------

-There was previously an exception when setting a control group.
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline Pandemic

  • Full Member Mark II
  • ***
  • Posts: 172
  • Location: Miniluv ftw!
So I got a question... I control grouped 2 Space Docks, with #2. After a bit I needed to pause production though, so I hit 2 and reached for the pause button... But it wasn't there!

Why, you ask? Well, that would be because there were now 12 units in group 2, 10 of which were Bombers and Parasites that came out of the Docks. Is this how you meant for control grouping to work? If so, is there some way to disable it?


-Pandemic
http://www.di.fm/wma/trance.asx
"Freedom is the ability to say 2 plus 2 makes 4. If that is granted, all else follows."  -George Orwell, 1984

Offline Fiskbit

  • Arcen Games Contractor
  • Master Member Mark III
  • *****
  • Posts: 1,752
That's intended, yeah; a control dock as part of a control group will put all of the units it creates into that control group. I think this was player-requested, in fact, and strikes me as potentially useful. However, you do bring up a good point; offering this as an option or as a separate thing (ie you can set a space dock to be in a control group and put units into a different control group) would be interesting and probably helpful.
Have ideas or bug reports for one of our games?  Click here to get started with Mantis for Suggestions and Bug Reports.  Thanks for helping to make our games better!

Offline Pandemic

  • Full Member Mark II
  • ***
  • Posts: 172
  • Location: Miniluv ftw!
I can definately see it's use, but I also think that having just space docks in a control group would be useful.

Make this an option, perhaps? Assuming anybody else agrees with me... if I'm all alone in this, then it's fine xD.


-Pandemic
http://www.di.fm/wma/trance.asx
"Freedom is the ability to say 2 plus 2 makes 4. If that is granted, all else follows."  -George Orwell, 1984

Offline darke

  • Hero Member
  • *****
  • Posts: 534
Just playing 011E and this does not appear to be happening:

Quote
-AI ships will now abandon their posts when they target a missile or a starship, which can either help them to kill the target or it can create a backwash of enemy ships flowing to the player planets after a missile/starship has passed through AI planets.

Nor does the usual AI assault happen when you take out their command center, or command posts. I just took out the command center of my AI10 planet with 4k ships on it, and none of them moved a muscle. Nor did any of them even react to the Lightning Missile I tossed in, other then to shoot at it. Even the free-roaming ships that a Special Force Command post spat out didn't even try to chase after it when I wandered past.

*taps head* These RomansAI are crazy!

Offline Revenantus

  • Arcen Games Staff
  • Hero Member Mark III
  • *****
  • Posts: 1,063
That's intended, yeah; a control dock as part of a control group will put all of the units it creates into that control group. I think this was player-requested, in fact, and strikes me as potentially useful. However, you do bring up a good point; offering this as an option or as a separate thing (ie you can set a space dock to be in a control group and put units into a different control group) would be interesting and probably helpful.

If an option is added, I think that adding the produced ships to the spacedock's control group should remain the default behaviour. It's an incredibly useful feature and will make ship management a lot easier if the player familiarizes themselves with it. If you'd like to select all your space docks, building them in approximately square formations makes it easy to get them all on screen at once for double clicking.

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Just playing 011E and this does not appear to be happening:

Quote
-AI ships will now abandon their posts when they target a missile or a starship, which can either help them to kill the target or it can create a backwash of enemy ships flowing to the player planets after a missile/starship has passed through AI planets.

Nor does the usual AI assault happen when you take out their command center, or command posts. I just took out the command center of my AI10 planet with 4k ships on it, and none of them moved a muscle. Nor did any of them even react to the Lightning Missile I tossed in, other then to shoot at it. Even the free-roaming ships that a Special Force Command post spat out didn't even try to chase after it when I wandered past.

*taps head* These RomansAI are crazy!


Did the AI seem to be working as normal otherwise?  The following-logic is not on the AI thread, so that might just mean that those guys at the wormhole shot at it, but were in "waiting at wormhole" mode and so did not chase it.  I'll look at it and make it break the "wait points" for AI ships when they are to follow something like that.

Also, when it comes to the AI attacking you after destroying a command post, there has only ever been a 50% chance of that happening.  With a missile there wold not be warning of the attack, so they wouldn't start to gradually swarm you like if you hit that command station with something that takes multiple shots to kill it.  So that could very well be correct, too...
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline darke

  • Hero Member
  • *****
  • Posts: 534
*taps head* These RomansAI are crazy!

Did the AI seem to be working as normal otherwise?  The following-logic is not on the AI thread, so that might just mean that those guys at the wormhole shot at it, but were in "waiting at wormhole" mode and so did not chase it.  I'll look at it and make it break the "wait points" for AI ships when they are to follow something like that.

Also, when it comes to the AI attacking you after destroying a command post, there has only ever been a 50% chance of that happening.  With a missile there wold not be warning of the attack, so they wouldn't start to gradually swarm you like if you hit that command station with something that takes multiple shots to kill it.  So that could very well be correct, too...

Everything else seemed to be working fine. Your fix fixed all the other problems I was having. :)

Previously, on that same map, on the previous version (010 at least), when I took out the command center of other worlds with a lightning missile I got some kind of reaction. Usually about 50% of the ships would wander off and hit me, which is about what I expected.

In this version I took out the command center with the lightning missile multiple times loading and saving between and every time there wasn't an effect.

It's actually a pretty common tactic for me to use on lower-tech level worlds with Ion Cannons actually, so the fact that nothing happened really quite startled me. :)

Offline darke

  • Hero Member
  • *****
  • Posts: 534
Looks like a bug definitely slipped in. :( I swapped back to the previous version (011C), and with that same file I attached to the other thread grabbed a just-made lightning missile and tossed it through the wormhole. The ships at the wormhole instantly reacted and started moving to attack my planet when the missile got out of their range.

Also when I blew up the command center they also instantly reacted and started heading for my wormhole as well.

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Can you post the file so that I can test with it?
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline darke

  • Hero Member
  • *****
  • Posts: 534
Can you post the file so that I can test with it?

Same save file as here: http://arcengames.com/forums/index.php/topic,23.msg2574.html#msg2574

There should be a lightning missile going to pop out soon on Ausuowo. But there should be a couple sitting around on Aidplu too.

Even if you just send it through the wormhole to Marku, then send it back immediately, the nearby ships will flood through with 011C. It doesn't seem to happen with 011E. The command center is just south of the wormhole the missile pops out of if you want to make it go boom and see what happens (or doesn't in the case of 011E.) :)