Author Topic: Quasar4x - An Aurora4x VB6 clone  (Read 163218 times)

0 Members and 1 Guest are viewing this topic.

Offline JustAnotherDude

  • Sub-Lieutenant
  • ******
  • J
  • Posts: 114
  • Thanked: 56 times
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #195 on: October 19, 2019, 02:21:04 PM »
Hell yeah! So exciting. You're work has been so speedy. The gifs are so satisfying to watch, the performance feels nuts!

I know you're going for a roughly 1:1 translation but have you considered doing something similar to the C# combat reports? A4X reports get a little illegible after you reach a certain point, difficult to get useful information out of.
 

Offline Tangent

  • Able Ordinary Rate
  • T
  • Posts: 3
  • Thanked: 1 times
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #196 on: October 21, 2019, 10:03:13 PM »
I started playing Quasar4x a few days ago, and hadn't an account on here to report some bugs I stumbled across until now! (Might I recommend there be some other way to contact you, such as a thread on the game's page on itch. io?)

I made a short album on imgur highlighting the bugs that occurred: https://imgur. com/a/AhQQa04

Includes:
- hidden button tooltips
- renaming a ship class not modifying its class summary
- every officer and active scientist died suddenly for no apparent reason!?
 
The following users thanked this post: Kyle

Offline Kyle (OP)

  • Moderator
  • Captain
  • *****
  • K
  • Posts: 472
  • Thanked: 973 times
  • Quasar4x dev
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #197 on: October 22, 2019, 01:07:18 AM »
Progress update 2019-10-22:

Smaller update than usual but includes some fixes I want to get out there.  And it does include one new feature implemented that I'm very happy to be done with, due to it's hard-to-test random nature:  Maintenance Failures!  Now you can watch a ship deteriorate until it explodes if you so desire!

Fixed some reported bugs, thanks to those who reported them:
- scientists can have more labs than they're allowed assigned to them after the project is started
- empire wide commander accidents
- second system map not closable
- putting zero in for deployment time crashed the game
- negative deployments should be prevented
- renaming a class wasn't updating the class summary
- tooltip was showing for a couple hidden SM buttons on the research tab

And a quick clarification for @Breith in dc on what modders will have access to in AI.  Modders will have access to the database which contains the entire game state.  A modder puts their code in a .gd script which is loaded and executed by Quasar when it's time for the AI to take its turn.  All an AI script needs to know is the Race ID and it can do anything that Quasar itself can do.  When I say API I refer to optional functions such as pathfinding helpers.  Modders can choose to use the functions I provide or roll their own.

I'm also thinking about, when the time comes, making a wiki page explaining all the fields and tables in the database, to save others the headache of learning the A4X/Q4X DB :)

Alright!  That's all for now, I continue with more end-of-turn goodness tomorrow, starting with Damage Control mechanics!
 
The following users thanked this post: Tchey, Remon_Kewl, joansam, Lava, twice2double, Tangent

Offline Kyle (OP)

  • Moderator
  • Captain
  • *****
  • K
  • Posts: 472
  • Thanked: 973 times
  • Quasar4x dev
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #198 on: October 25, 2019, 07:01:55 PM »
Progress update 2019-10-25:

New build pushed. The following are now functional!

- Damage control

- Orbital maintenance modules

- All the remaining default orders:
        Survey Nearest Asteroid
        Survey Nearest Moon
        Survey Nearest Planet
        Follow Higher Fleet in System
        Move to Entry Jump Point
        Refuel in Current System
        Survey Nearest Planet or Moon
        Survey Next Five System Bodies
        Survey Next Three Survey Locations
        Load Colonists at 25m+ pop
        Load Colonists at Capital
        Unload Colonists < 25m
        Build Jump Gate at Nearest Jump Point
        Pick up automated mine from population
        Deliver automated mine to mining colony
        Unload Passengers
        Move to Mineral Source
        Move to Gas Giant with Sorium
        Salvage Nearest Wreck
        Terraform Colony

- All conditions:
        Fuel less than 50%
        Fuel less than 40%
        Fuel less than 30%
        Fuel less than 20%
        Fuel less than 10%
        Fuel tanks full
        Parent fleet in system
        Sub fleets in same location
        Current Speed not equal to Max
        Supply Points less than 20%
        Supply Points less than 10%
        Hostile Active Ship Contact in System

- All conditional orders:
        Unload 90% Fuel at Colony
        Unload Fuel at Colony and Move to Sorium Gas Giant
        Join Parent Fleet if in System
        Refuel at Colony
        Refuel at Nearest Tanker (10%+ fuel)
        Refuel at Colony or Tanker
        Resupply at Colony
        Resupply at Supply Ship (10%+ supplies) W4J
        Resupply at Colony or Supply Ship
        Activate Shields
        Deactivate Shields
        Clear Order List
        Incorporate Sub-fleets in Same Location
        Change to Maximum Speed
        Active Sensors On
        Overhaul at Colony

Some miscellaneous notes on some of these:
- Some of the default orders are pretty buggy in A4X, particularly the ones that I believe are primarily intended just for Civilians to use.  I removed 'Move to Nearest Trade Location' completely, and have hopefully made some of the others a bit more usable. 

- I will be improving upon orders whose nearest target is outside the current system later.  For now they'll find a route to another target, but it won't necessarily be the nearest or the safest.

- Previously my fleet movement processing was only doing at most 1 order per sub pulse.  So when I got to 'Survey next five bodies' I remembered why such an order exists, because multiple orders can be done in a single sub pulse.  Whoops!  So after a bit of work I changed fleets in Q4X to make the most of their time budget per sub-pulse.

- No idea what W4J means.  Extra functionality or cat on the keyboard?

That's all for now.  Next up on my list, after another short break, is genetic modification! 
 
The following users thanked this post: Manekaalecto, Tchey, Triato, joansam, Lava

Offline Father Tim

  • Vice Admiral
  • **********
  • Posts: 2162
  • Thanked: 531 times
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #199 on: October 25, 2019, 11:26:23 PM »
W4J = Within 4 Jumps

- - - -

I can't remember if Aurora throws an error if there are no valid targets within 4 jumps, or if it (silently) goes on to the next order.
« Last Edit: October 25, 2019, 11:28:15 PM by Father Tim »
 
The following users thanked this post: Kyle

Offline Cyborg29

  • Leading Rate
  • *
  • Posts: 13
  • Thanked: 5 times
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #200 on: October 26, 2019, 10:00:47 AM »
Would it be possible to include an option to delete a specific order, as opposed to only being able to delete the last one in the ship's order sequence?
 
The following users thanked this post: Triato, Gram123

Offline Kyle (OP)

  • Moderator
  • Captain
  • *****
  • K
  • Posts: 472
  • Thanked: 973 times
  • Quasar4x dev
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #201 on: October 29, 2019, 11:12:31 AM »
I'll let Steve field that question:

The program doesn't let you remove an order from the middle of the list because it would be very easy to be left with orders that no longer make sense. For example, if you had...

1) Move to Planet V in System A
2) Transit to System B
3) Move to Planet II in System B

...and you removed order 2, that would cause some problems. Equally you could end up giving orders to drop off cargo you hadn't picked up or transit a jump point in a different system ,etc.

Orders are only removed from the bottom of the list so it will always make sense.

Steve

Sorry to disappoint but any feature request that Steve has already declined with a good reason is probably not going to happen in Q4X.
 

Offline Kyle (OP)

  • Moderator
  • Captain
  • *****
  • K
  • Posts: 472
  • Thanked: 973 times
  • Quasar4x dev
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #202 on: October 29, 2019, 11:39:48 AM »
Just a heads up, my next update is going to require me to replace the current DB with a new one, so if anyone has any campaigns currently going on, they'll no longer work.  A backup will be made that you can send to me if you want it imported into the new DB.  The reason is I need to change how ID numbers are generated which requires recreating every table with different settings for the ID fields.  Currently Q4X reuses old IDs which can lead to problems in a long game, so I am changing it to only use IDs that have never been generated before (which is what A4X does).  I've spent a long time looking at alternatives and this is the simplest and safest way.  This will give me a chance to get rid of a lot of code that makes updates to databases from older versions of Q4X as well. 
 
The following users thanked this post: joansam

Offline TMaekler

  • Vice Admiral
  • **********
  • Posts: 1112
  • Thanked: 298 times
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #203 on: October 30, 2019, 04:28:18 PM »
What though might be nice for repeating orders would be a system that uses the save functionality of Aurora to be applied dynamically. Example:

Move to PLANET A
Load all minerals
Move to PLANET B
Unload all minerals
Refuel from PLANET B

When reapplying this order pattern to a different fleet having the option to exchange Planet A and B with C and D would be great. Wouldn’t get rid of different situations where you jump to other systems or have LaGrande Points in between, but nevertheless a help.
 

Offline Kyle (OP)

  • Moderator
  • Captain
  • *****
  • K
  • Posts: 472
  • Thanked: 973 times
  • Quasar4x dev
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #204 on: October 31, 2019, 03:08:55 PM »
Progress Update 2019-10-31:

New species and genetic modification is done! 

This gave me some useful test data to flesh out the handling of pops that find themselves on completely Unsuitable Planets.  Instant extinction is now implemented!

The latest build is pushed. (To Itch.)  It's come to my attention that the Itch app may not always automatically update clients when I push a new build, so make sure to right click and check for updates if it doesn't happen automatically.

This update includes some boring but important improvements that were on my list for quite awhile.  ID generation no longer re-uses IDs of previous objects that have been deleted, avoiding inevitable issues in long games where dangling ID references would start pointing to new, nonsensical things in the DB.  This limits the total number of objects of a given type (missiles, or messages in the game log, for example) generated over the lifetime of a save file to 9223372036854775807, but fortunately sqlite does go back and re-use old IDs if that limit is reached.  Hooray!

I finally optimized the 'No Parent-Child Overlaps' code for the System Map, so that rendering is now just as fast with it on as with it off.

Crew Quarters components auto-added to a ship design now come closer to the components that A4X would add.

Armor Calculation is now a lot more accurate thanks to the exhaustive research done in the past by the #aurora-science folks.  I was able to pinpoint a few rounding quirks for them so it may even be exact now. 

And as always lots of miscellaneous fixes were done as well, including fixing a really bad bug with fleet order processing that I introduced one or two updates ago. 

That's all for now.  I'm excited to be getting back into adding new stuff (well, new to Q4X) for the next update!
 
The following users thanked this post: Tchey, JacenHan, Remon_Kewl, joansam, Lava

Offline Demonides

  • Gold Supporter
  • Warrant Officer, Class 1
  • *****
  • Posts: 94
  • Thanked: 145 times
  • 2021 Supporter 2021 Supporter : Donate for 2021
    2022 Supporter 2022 Supporter : Donate for 2022
    2023 Supporter 2023 Supporter : Donate for 2023
    2024 Supporter 2024 Supporter : Donate for 2024
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #205 on: November 01, 2019, 02:11:23 PM »
How much work do you think is left to make the game fully playable?
 

Offline Froggiest1982

  • Gold Supporter
  • Vice Admiral
  • *****
  • F
  • Posts: 1332
  • Thanked: 591 times
  • Gold Supporter Gold Supporter : Support the forums with a Gold subscription
    2021 Supporter 2021 Supporter : Donate for 2021
    2022 Supporter 2022 Supporter : Donate for 2022
    2023 Supporter 2023 Supporter : Donate for 2023
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #206 on: November 03, 2019, 04:34:50 PM »
How much work do you think is left to make the game fully playable?

I think Kyle is doing an excellent job and honestly, I look so much forward to him than Steve as I don't really want to get into the troops' micromanagement. However, there are features that I would love to get in Kyle version from the new C# especially the new Officials rankings, the way that Planets work for colonization and max amount of pop and Low gravity infrastructure to get priority to avoid exploitations of previous flaws. Same as it was done with the underground infrastructure to Aurora, so to speak. Another important feature is the autoroute. To do not copy IMHO are the new maintenance rules, refuel, ordnance, terraforming (at least not immediately) and all that concerns systems or weapons.

I know the goal is to make a clone however I think that whatever was planned on 7.2 change list would be a nice addon and should be in the game, so please Kyle think about it.

Back to your question except for some logic, I believe that they both at the same point: the AI which is a lot (I mean really a lot) of work. Kyle will face some challenges there and he might need some insights from Steve as well but I believe he already pointed that out in a previous post that he is curious to see what Kyle would do. Also I think Steve already told him that he wouldn't help.
Finally after that diplomacy will have to be written which could take X time depending on how deep you want to go.

See the problem with AI is that a lot of testing have to be done before you can tell if it's working or not as until a specific event happens you'll never know if everything has been coded or not and if the AI is actually capable of executing the code.
« Last Edit: November 03, 2019, 04:42:15 PM by froggiest1982 »
 

Offline Kyle (OP)

  • Moderator
  • Captain
  • *****
  • K
  • Posts: 472
  • Thanked: 973 times
  • Quasar4x dev
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #207 on: November 04, 2019, 01:04:25 PM »
How much work do you think is left to make the game fully playable?
I have no idea.  If I did, I'd probably feel overwhelmed and quit :)

The best I can say is, a lot.
 
The following users thanked this post: Manekaalecto, joansam

Offline Tchey

  • Leading Rate
  • *
  • T
  • Posts: 11
  • Thanked: 4 times
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #208 on: November 05, 2019, 04:47:59 AM »
Hi !

I played Aurora last time in 2012 i think. . .

Is Quasar "playable" even if in a limited way ? I run it via itchio on Linux without issue, but then i'm lost, i forget how to play, and as it is all WIP, not sure what can be done.

As a lazy returning player, can you point me to recent Let's Play or similar so i can watch/read and maybe learn (on Quasar, not Aurora) ?

 

Offline Steve Walmsley

  • Aurora Designer
  • Star Marshal
  • S
  • Posts: 11657
  • Thanked: 20375 times
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #209 on: November 05, 2019, 05:11:04 AM »
See the problem with AI is that a lot of testing have to be done before you can tell if it's working or not as until a specific event happens you'll never know if everything has been coded or not and if the AI is actually capable of executing the code.

Yes, I've seen some very 'interesting' AI behaviour when you hit an unforeseen set of circumstances :)

It's impossible to predict every situation, so extensive testing is required. The vast majority of C# testing is AI-related and involves a lot of stepping through code line-by-line in every new situation. I am still adding and modifying AI code as those new situations arise.

 
The following users thanked this post: joansam