Author Topic: AI War 2 v0.517 Released! "External Data and Group Control"  (Read 3286 times)

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
AI War 2 v0.517 Released! "External Data and Group Control"
« on: September 07, 2017, 10:42:23 am »
Release notes here!

This one is mostly about the new architecture to support "External Data" that modders can store with various parts of the gamestate. This is obviously useful for data you want to persist across saving and loading the game, but even during normal operation it's nice to be able to store data directly on ships (for example) so you don't have to keep some kind of external dictionary and all the lookup-overhead that can mean.

It's also set up in such a way that many different mods written by different modders can coexist without anyone stomping on anyone else's data.

There's also a key addition in the ways you can add ships to a control group. Actually, it appears that the previous way of adding ships to a control group may not have been working anyway. Which made the recently-added Rally command less useful than it could be.

Enjoy!
Keith
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 BadgerBadger

  • Arcen Volunteer
  • Hero Member Mark III
  • *****
  • Posts: 1,229
  • BadgerBadgerBadgerBadger
Re: AI War 2 v0.517 Released! "External Data and Group Control"
« Reply #1 on: September 07, 2017, 12:42:06 pm »
Comments: Control Groups shouldn't have the hotkey "1". Pursue should be 1, since you click it all the time. It's much easier to hit 1 than 2. Or pursue should just be its own hotkey.

There should be a "delete control group" button, and we should be able to rename them ("Defensive fleet", for example).

I still have trouble where some ships that should be captured aren't actually being captured. I have a planet in a quick game I started today to test things where I own the planet and have lots of fuel/metal, but it's not capturing the Flagship or Armored Golem on it.

I haven't had a chance to try out the External Serialization code yet, but will give feedback when I get the chance.

Offline Draco18s

  • Resident Velociraptor
  • Core Member Mark V
  • *****
  • Posts: 4,251
Re: AI War 2 v0.517 Released! "External Data and Group Control"
« Reply #2 on: September 07, 2017, 01:33:20 pm »
This one is mostly about the new architecture to support "External Data" that modders can store with various parts of the gamestate. This is obviously useful for data you want to persist across saving and loading the game, but even during normal operation it's nice to be able to store data directly on ships (for example) so you don't have to keep some kind of external dictionary and all the lookup-overhead that can mean.

It's also set up in such a way that many different mods written by different modders can coexist without anyone stomping on anyone else's data.

Awesome. I didn't expect you to manage that so quickly, but I'm glad it's in!

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: AI War 2 v0.517 Released! "External Data and Group Control"
« Reply #3 on: September 07, 2017, 01:52:28 pm »
Comments: Control Groups shouldn't have the hotkey "1". Pursue should be 1, since you click it all the time. It's much easier to hit 1 than 2. Or pursue should just be its own hotkey.
Pursue can be its own hotkey (that works regardless of where in the submenus you are) in addition to having the button.

But to put it simply you suggest swapping control-group and pursue?

Quote
There should be a "delete control group" button, and we should be able to rename them ("Defensive fleet", for example).
Both good points. I've been avoiding having other types of controls down there at the bottom (textboxes and dropdowns instead of just buttons), but seems like we gotta bite that bullet at some point.

Quote
I still have trouble where some ships that should be captured aren't actually being captured. I have a planet in a quick game I started today to test things where I own the planet and have lots of fuel/metal, but it's not capturing the Flagship or Armored Golem on it.
Thanks for the reminder.

On the question you had about custom hidden settings a couple threads ago, would it suffice to tell you about the following enticing symbols?
Code: [Select]
ArcenSettingTable.Instance.LookupByName
ArcenSettingTable.Instance.Rows.IndexOf()
ArcenSettingTable.Instance.Rows
?

You can cache the indices yourself if you like. That's what I did in the universal dll and the core dll, separately, since they're both enum based and one dll cannot extend the enum of another.

I should probably just copy my core-level settings stuff to external and adapt that copy to serve as a usage example.

Edit: oh, on your question about UI Scale, that's ArcenUI.Instance.LastUIScale . But you shouldn't need that, and indeed I should probably make it internal instead of public because if you need to reference it then something is almost certainly wrong. The scale is applied at a very fundamental level such that everything else should adjust naturally without looking at the scale value itself. That said, I'll leave it public for now so you can figure out what went wrong (if anything).

It's possible that your UI window(s) are set up using absolute coordinates when they would be better served as relative-to-the-screen or relative-to-a-window, etc.
« Last Edit: September 07, 2017, 01:55:31 pm by keith.lamothe »
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 BadgerBadger

  • Arcen Volunteer
  • Hero Member Mark III
  • *****
  • Posts: 1,229
  • BadgerBadgerBadgerBadger
Re: AI War 2 v0.517 Released! "External Data and Group Control"
« Reply #4 on: September 07, 2017, 02:21:28 pm »
Yeah, swapping "Control Group" and "Pursue" is fine for the moment.

If I can feed the output of ArcenSetting.IndexOf() to CodeDirectiveTag and have it work as expected then I'm happy.

I bet what I did was use absolute UI coordinates instead of relative ones. I'll investigate. In the meantime, feel free to follow best lumberyard practice and make the setting internal.

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: AI War 2 v0.517 Released! "External Data and Group Control"
« Reply #5 on: September 08, 2017, 07:53:08 am »
Is the OSX version still dead-on-start?
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 BadgerBadger

  • Arcen Volunteer
  • Hero Member Mark III
  • *****
  • Posts: 1,229
  • BadgerBadgerBadgerBadger
Re: AI War 2 v0.517 Released! "External Data and Group Control"
« Reply #6 on: September 08, 2017, 08:58:28 am »
Yes, with at least similar looking error messages.

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: AI War 2 v0.517 Released! "External Data and Group Control"
« Reply #7 on: September 08, 2017, 10:13:37 am »
Ok, doing a thorough rebuild of everything with some settings rolled back to the way they were a few weeks ago.
Have ideas or bug reports for one of our games? Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!