Author Topic: Quasar4x - An early look at an Aurora4x clone in the works  (Read 74483 times)

0 Members and 1 Guest are viewing this topic.

Offline Kyle (OP)

  • Moderator
  • Lt. Commander
  • *****
  • K
  • Posts: 246
  • Thanked: 568 times
  • Quasar4x dev
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #345 on: September 08, 2020, 02:50:46 PM »
Progress update 2020-09-08:

I'm also toying with the idea of adding an automation menu the way Distant Worlds: Universe does it.  Even though it's obviously not a feature in Aurora, I feel it might actually reduce overall development time because I can have automation handle the parts of my test campaigns that I'm not currently working on.  And it's not much more work than making a pure AI module.  The pure AI would essentially be the automation code with all the boxes checked.  An NPR AI module could optionally be packaged by the author in a way such that it could be dropped in as an automation suite for the player's own race with numerous options that can be individually turned on and off.

This is finally becoming a reality! 





And it's not just a pretty picture.  Preliminary AI is done for research, fuel production, construction factories, ordnance factories, shipyard upgrades, ship building, posting contracts, new colony creation, and some basic fleet orders.  The player has access to the same code the NPRs use to automate their own empire by toggling checkboxes on the General tab.  Checking all boxes on the General tab means 100% automation, with no exceptions.  (But some cheating, more on that below.)  When a box is checked on the General tab, it enables the corresponding tab with the same name.  For example, checking Colony Creation on the General tab will flip the Colony Creation tab from gray to blue and enable the tab so you can go in and make further customizations.  Currently the customizations available are limited; this system is primarily in place for more sophisticated AI mods (my own included) to take advantage of down the road.

I was right that it was a straightforward, logical step to give the player modular access to the NPR AI routines.  However, my preliminary AI borrows heavily from how VB Aurora's AI behaves, which means there is a bit of corner-cutting and cheating involved.  AI cheating is not necessarily a bad thing.  It saves programming time, improves performance, and reduces chances of the AI's empire grinding to a halt because of some edge case it isn't prepared to handle.  What the AI does do is attempt to be fair and appear realistic.  But since I have the following goals for player automation:

- 100% automation should be possible
- It should use only NPR code, allowing me to test NPRs "firsthand"
- It should not add significantly more work beyond what is required for NPRs.

Then I have to give the player access to the same cheats and shortcuts the NPR takes.  For my own testing purposes, that's fine, I need to test that the cheats are working properly anyway.  But for somebody else, it makes automation unappealing and even spoilery.  Knowing exactly how NPRs operate and precisely what shortcuts they take is immersion breaking.  In the spoiler section below I'll briefly cover one example of such shortcuts.

Off-Topic: spoiler • show




When NPR's create new colonies, these new colonies automatically receive a few free garrison ground units, a mass driver, and 100 Infrastructure.  If ruins are present, they get 5 free xeno officers on site, and some free construction units.   The player has to choose between enabling these checkboxes themselves or manually handling it themselves which would feel awkward and tedious.  This screenshot is just an example, there are other cheats I haven't listed.


Most players are going to prefer either having automation that doesn't break the rules or just not using it at all.  Because of that, and the broken immersion, I feel the most logical solution would be to hide Player Automation behind the Designer Password.  That's where NPR AI specifics are hidden anyway.  In Aurora, all you have to do is watch carefully in DM with time passing to see which magical shortcuts are taken. Speaking of Designer Mode, I do plan to make the password publicly available.  In fact, I'll bury it (quasar's, not aurora's) here: "i want to spoil the fun" since it'll pretty much be required for anyone making their own AI mods down the road.

Unrelated, on automated shipbuilding and fleet orders:  Automation currently ignores any ships or fleets created by the player.  I believe Aurora's NPR code would too, actually.  It's because AI generated fleets have an NPR type and no Task Force, while player fleets have no NPR type and do have a Task Force.  Fleets with an NPR type are assumed to have a very specific composition, and several assumptions are made about ship designs contained within that fleet as well.  An ideal AI would be able to handle any situation thrown at it, but my goal for Quasar is "at least as functional as Aurora's AI", with improvements to be made later by myself or modders.

I've already run one campaign completely automated, making use of all the categories on the screenshot above.  The game ran on its own from the very beginning to the point when it's time to create the first off-world colony.  Thanks to the "no interrupts" checkbox this could even be done while refilling my cup of coffee.  My next milestone is supporting multiple colonies and reaching the point where its time to start exploring other systems.  At present, I'm beginning work on... civilian shipping! 
 
The following users thanked this post: froggiest1982, Elvin, MinuteMan, amram, DIT_grue, Droll, tws029, Remon_Kewl, Iceranger, joansam, Avalanche

Offline froggiest1982

  • Captain
  • **********
  • f
  • Posts: 584
  • Thanked: 157 times
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #346 on: September 08, 2020, 05:18:15 PM »
Progress update 2020-09-08:

I'm also toying with the idea of adding an automation menu the way Distant Worlds: Universe does it.  Even though it's obviously not a feature in Aurora, I feel it might actually reduce overall development time because I can have automation handle the parts of my test campaigns that I'm not currently working on.  And it's not much more work than making a pure AI module.  The pure AI would essentially be the automation code with all the boxes checked.  An NPR AI module could optionally be packaged by the author in a way such that it could be dropped in as an automation suite for the player's own race with numerous options that can be individually turned on and off.

This is finally becoming a reality! 





And it's not just a pretty picture.  Preliminary AI is done for research, fuel production, construction factories, ordnance factories, shipyard upgrades, ship building, posting contracts, new colony creation, and some basic fleet orders.  The player has access to the same code the NPRs use to automate their own empire by toggling checkboxes on the General tab.  Checking all boxes on the General tab means 100% automation, with no exceptions.  (But some cheating, more on that below.)  When a box is checked on the General tab, it enables the corresponding tab with the same name.  For example, checking Colony Creation on the General tab will flip the Colony Creation tab from gray to blue and enable the tab so you can go in and make further customizations.  Currently the customizations available are limited; this system is primarily in place for more sophisticated AI mods (my own included) to take advantage of down the road.

I was right that it was a straightforward, logical step to give the player modular access to the NPR AI routines.  However, my preliminary AI borrows heavily from how VB Aurora's AI behaves, which means there is a bit of corner-cutting and cheating involved.  AI cheating is not necessarily a bad thing.  It saves programming time, improves performance, and reduces chances of the AI's empire grinding to a halt because of some edge case it isn't prepared to handle.  What the AI does do is attempt to be fair and appear realistic.  But since I have the following goals for player automation:

- 100% automation should be possible
- It should use only NPR code, allowing me to test NPRs "firsthand"
- It should not add significantly more work beyond what is required for NPRs.

Then I have to give the player access to the same cheats and shortcuts the NPR takes.  For my own testing purposes, that's fine, I need to test that the cheats are working properly anyway.  But for somebody else, it makes automation unappealing and even spoilery.  Knowing exactly how NPRs operate and precisely what shortcuts they take is immersion breaking.  In the spoiler section below I'll briefly cover one example of such shortcuts.

Off-Topic: spoiler • show




When NPR's create new colonies, these new colonies automatically receive a few free garrison ground units, a mass driver, and 100 Infrastructure.  If ruins are present, they get 5 free xeno officers on site, and some free construction units.   The player has to choose between enabling these checkboxes themselves or manually handling it themselves which would feel awkward and tedious.  This screenshot is just an example, there are other cheats I haven't listed.


Most players are going to prefer either having automation that doesn't break the rules or just not using it at all.  Because of that, and the broken immersion, I feel the most logical solution would be to hide Player Automation behind the Designer Password.  That's where NPR AI specifics are hidden anyway.  In Aurora, all you have to do is watch carefully in DM with time passing to see which magical shortcuts are taken. Speaking of Designer Mode, I do plan to make the password publicly available.  In fact, I'll bury it (quasar's, not aurora's) here: "i want to spoil the fun" since it'll pretty much be required for anyone making their own AI mods down the road.

Unrelated, on automated shipbuilding and fleet orders:  Automation currently ignores any ships or fleets created by the player.  I believe Aurora's NPR code would too, actually.  It's because AI generated fleets have an NPR type and no Task Force, while player fleets have no NPR type and do have a Task Force.  Fleets with an NPR type are assumed to have a very specific composition, and several assumptions are made about ship designs contained within that fleet as well.  An ideal AI would be able to handle any situation thrown at it, but my goal for Quasar is "at least as functional as Aurora's AI", with improvements to be made later by myself or modders.

I've already run one campaign completely automated, making use of all the categories on the screenshot above.  The game ran on its own from the very beginning to the point when it's time to create the first off-world colony.  Thanks to the "no interrupts" checkbox this could even be done while refilling my cup of coffee.  My next milestone is supporting multiple colonies and reaching the point where its time to start exploring other systems.  At present, I'm beginning work on... civilian shipping!

Very interesting indeed.
 
The following users thanked this post: ExChairman

Offline joansam

  • Petty Officer
  • **
  • j
  • Posts: 19
  • Thanked: 19 times
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #347 on: September 10, 2020, 08:49:12 PM »
This is great Kyle! Fantastic work - I’m really looking forward to playing with various forms of automation enabled so I can focus more on the military or economic side in different games!  :D
 
The following users thanked this post: Kyle

Offline Gram123

  • Warrant Officer, Class 2
  • ****
  • G
  • Posts: 60
  • Thanked: 18 times
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #348 on: September 11, 2020, 06:31:21 AM »
This looks fantastic. I'll start a game and try the new automation as soon as the civilian shipping is up and running!
 

Offline Kyle (OP)

  • Moderator
  • Lt. Commander
  • *****
  • K
  • Posts: 246
  • Thanked: 568 times
  • Quasar4x dev
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #349 on: September 14, 2020, 03:27:28 AM »
Progress update 2020-09-14:

When you take a really long break you sometimes forget what you have and haven't done.  Turns out I still needed to do NPR generation.  I had empire creation in place but all the parameters were taken from player inputs and the home system taken from the prebaked Sol system.  Well, now NPR generation is done, including randomization of almost every parameter, generation of starting ships, and a decent homeworld system randomly selected from the pregenerated homeworld systems that come with Aurora.  This completes the SM Add NPR menu item too.

Same-system civilian shipping is done but still needs a lot of testing.  Civilian Mining Complexes are now implemented. 

Automation is still changing shape.  I reduced all the cheating checkboxes to a single "NPR Cheats" checkbox, so no direct spoilers to worry about any more.  It'll still only be available in designer mode because I very much don't want cheating to be a part of player automation. 

I'm discovering more and more NPR simplifications, cheats, and assumptions in Aurora that are making it less and less feasible to use NPR behavior for player automation.  They really need to be two different things.  I'm kinda sad to realize this, because I wanted automation to help with testing and because it's so cool, but I really don't want to go down the rabbit hole of writing new automation mechanics that Aurora doesn't have -- at least not until much later on.

So for now, when I'm working on AI-related things I'll just be watching a "pure" NPR play, and doing things manually as a player race for mechanics the NPR circumvents.  I don't really have a good idea on what few things I'll be working on next, which is why I figured I'd just wrap up what's been done so far in a progress post first before wandering off into the unknown.  Onward!

 
The following users thanked this post: MinuteMan, tws029, joansam, Avalanche

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72