Aurora 4x

Other Games => Quasar4x => Topic started by: Kyle on August 17, 2018, 12:42:59 PM

Title: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on August 17, 2018, 12:42:59 PM
State of the Game, as of 2021 July 27th

Quasar4x can now be considered a fully playable game, as all the features including AI are in place now.  Star Swarm was recently added. The only obviously missing feature is Invaders.  My original goal has been met, the game is fully playable and feature complete.  I continue to add QoL features and make fixes.  Further testing and fixing will always be needed.

You can download the game here: https://ozer0.itch.io/quasar4x



Original Post:

As I mentioned in this post (http://aurora2.pentarch.org/index.php?topic=10122.0), I'm hoping to create a replica of Aurora4x that functionally behaves identically to the original version, as deterministically as possible. I've made progress since my initial post and would like to share some screenshots now, as well as a bit of info about my project.

Here are my objectives for the finished product:

A REPLICA As mentioned already, it should behave identically to the original version.  This means I should be able to load up Aurora4x and Quasar4x side by side, on identical database snapshots, and every action I take should have the same effect in both games.  Further, every control, every button, every piece of the UI should be present in the same location so that an experienced Aurora4x player will feel right at home and know where everything is and what everything does. The database is identical.  It contains all the same pregenerated names for systems, ships, commanders, and so on.

With all that said, note that I am not matching Aurora4x pixel for pixel.  I use a larger font wherever possible and a dark theme for eye comfort. The system map has a slight control layout adjustment but is still largely the same. Finally, and I know this will be a dealbreaker for many, but I've reverted to American English spelling.  I am not matching action for action either when a fix is necessary, for example in A4X searching by two traits in the Search Leaders tool doesn't seem to work correctly.  In Quasar4x, that is fixed, and stats are displayed for both abilities, not just ability A. It's hard to explain why I feel this is not breaking the don't-change-anything spirit of the project, but hopefully you see the reasoning behind it. 

FAST The primary inspiration for this project is to improve upon the incredibly slow speeds that turns in Aurora4x can take when things start to really get going.  I hope to improve turn times by 10x or more through in-memory database caching, parallel processing, and C++ optimizations where profiling suggests it's needed.  And of course by not using VB6.

PORTABLE The engine I use can compile for Windows, Linux, Mac, and tablets.  I use all of these regularly and I will definitely make sure they are all supported.  It should also be a bit more portable and future-proof than VB6.


FAQ:

Q. What engine and why?
A. Godot (https://godotengine.org).  It's portable and open source.  It is well optimized for GUI intensive applications, as compared to Unity which has slow and limited UI capabilities (16k maximum lines in a text window last I checked), and it renders everything every frame.  Godot is simple and straightforward, which is perfect for a game like this.  And Godot uses GDScript, a forgiving language that allows for quite rapid development.

Q. GDScript?  But... But... C#!
A. Never fear, this is another awesome thing about Godot.  It allows you to write any part of the program you desire in C# or C++.  So GDScript will be used where possible, and C++ will be used for intensive calculations where speed has become an issue.

Q. What database platform?
A. SQLite (https://www.sqlite.org/about.html).  Its open source, portable, and quite fast if used correctly (Group multiple inserts and updates in single transaction, for example).  It's super simple and straightforward, perfect for this kind of project and for fast development in general.

Q. Why not wait for Steve's C# version?
A. I have been, for years!  But I'm impatient!  Also, I am predicting Quasar4x will be closer to Aurora4x than Steve's C# version will be. I believe he has improvements and new features in mind, whereas I want to remake a classic that looks and feels like the original.  Also, it will be nice to have a project I can work on myself.  If and when Steve releases A4X C#, I'll continue with my project because I feel the C# version will be different enough to feel like Q4X will still be worth having around.

Q. Do you really think you can copy all the AI logic that goes on behind the scenes?
A. Perfectly? Nope, probably not even close, sadly, unless Steve changes his mind and gives me a peek.  I do have a process to ensure Quasar4x replicates Aurora4x's behavior however, which can be applied to the AI logic.  I take a snapshot of the database before and after I take a turn in Aurora4x and use a script to analyze what changed. I do the same with the UI controls as well.  Finally, when I run out of clues as to how the AI thinks, I guess I'll have to come up with something original, which can help keep the project fun!

Q. Are you gonna get tired of the project and give up?
A. Not gonna lie, it could always happen.  I might even give up tomorrow!  I'm a pretty determined and motivated person in general though.  It helps that this is a project I've been wanting to do for years now, and every time I thought about it, I had no doubts it was just what I wanted to do.  I play lots of Steam games so I shouldn't get burned out too easily on this.

Q. Do you have any collaborators?  Want any?
A. Nope, and nope, not for now anyway.  I'm OCD about everything being how I want it, so if something doesn't look like I made it myself, I'd probably ignore it, or at best copy paste parts of it in. If Steve wants to collaborate of course I would do that, but currently he isn't interested.  I'm fully prepared to be solo til the end and am fine with that!  This is a hobby project and so far I'm enjoying it.

Q. Why are you so dead set on making an exact replica with 0 enhancements?
A. I like Aurora4x pretty much exactly the way it is.  I don't think there's a thing I want to change. I think a lot of people are probably 95% happy with the existing game as well, and I doubt nearly that many would agree on a particular change, or that the change would actually be that good. Statistically, most ideas turn out to be bad. Also, adding embellishments can lead to ever increasing project time as the developer gets lost in the weeds.  An "exact replica" is a concise, finite, self explanatory, and reachable goal. 

Q. So, an Aurora4x clone.  Are you really not going to add anything more?
A. I do have a few pie-in-the-sky dreams of adding multiplayer and adding ever increasing depth to the AI.  I've always kind of wanted to make a game with computer components that seem human-like -- not in the species they are in game, but in how they play the game, as if another human were controlling their empire.  But for now, those are all just maybes.  I'm willing to bet by the time Quasar4x is completed I'll want a good long break.

Q. Isn't this.. an insanely complex and daunting task?
A. Yep

Q. Hows your progress?
A. I'll try to keep this thread updated.

Q. Can I try it?
A. Sure. https://ozer0.itch.io/quasar4x.  Be warned, the game may still have bugs and crashes.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on August 17, 2018, 12:43:16 PM
Game Details:
Off-Topic: show
(https://i.imgur.com/1bLru8K.png)


Create New Game:
Off-Topic: show
(https://i.imgur.com/0TdzCy1.png)


System Map:
(https://i.imgur.com/xosv2HZ.png)

System Map - Body Info:
Off-Topic: show
(https://i.imgur.com/2ZVys74.png)


System Map - Sensors:
Off-Topic: show
(https://i.imgur.com/vOETkpm.png)


System Map - All Bodies:
Off-Topic: show
(https://i.imgur.com/6uOrLqG.png)


Colony Summary:
Off-Topic: show
(https://i.imgur.com/tpqBCqu.png)


Colony Summary - Environment:
Off-Topic: show
(https://i.imgur.com/iMsbBO3.png)


Colony Summary - Mining:
Off-Topic: show
(https://i.imgur.com/g43BAv7.png)


Colony Summary - Research:
Off-Topic: show
(https://i.imgur.com/PacIthU.png)


Colony Summary - Ground Units:
Off-Topic: show
(https://i.imgur.com/ETtQ1ZS.png)


Colony Summary - Teams:
Off-Topic: show
(https://i.imgur.com/FoQysAy.png)


Colony Summary - Industry:
Off-Topic: show
(https://i.imgur.com/2DNPdfA.png)


Task Forces:
Off-Topic: show
(https://i.imgur.com/0BuHNW2.png)


Class Design:
Off-Topic: show
(https://i.imgur.com/LOKR1aJ.png)


Ships:
Off-Topic: show
(https://i.imgur.com/0GG6OlP.png)


Fleet Orders:
Off-Topic: show
(https://i.imgur.com/cPxeoBS.png)


Commanders:
Off-Topic: show
(https://i.imgur.com/Coalgkv.png)



Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on August 17, 2018, 12:43:26 PM
Misc info about the screenshots:
- If you see '?'s scattered around, those are just my little TODO reminders to show that I have some more work to do on the immediate code. 
- Most buttons don't do anything. I am in the process of UI design and populating controls with data from the database
- I don't show them all but every tab in every window is fully designed!
- Quite a lot is functional.  For example on the leaders page, it really pulls from the database and displays all the info, and the info changes when you click a different rank or different officer.  The ability dropdowns in the search panel work and it displays leaders ordered by their stats, with your requested filters applied.
- The system map is very functional.  You can zoom in, out, pan, and most of the controls that dictate what is displayed are functional.



Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: MasonMac on August 17, 2018, 05:03:49 PM
Interesting project, hopefully it does get more attention. The source code being available may also mean that we get mods, yeet.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: MarcAFK on August 18, 2018, 01:01:42 AM
Modding Aurora has always been a dream of mine, mostly I want a way of tweaking the mechanics to work as a modern military simulator. However.... There might be other engines more suited for it :p
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on August 25, 2018, 09:26:47 PM
Progress update 2018 Aug. 25!

I've completed the UI layout for most if not all of the windows in the game, setting up the foundation to go back through them adding functionality.  I plan on making a couple passes through each of them, making them more functional with each pass. (Generally, information display and other low-impact functionalities will come first)

I've completed my first pass on the System View window.  Everything is calculated "for real", with just a couple exceptions (Star Type, Jump Point Survey details, tabs for 2nd through 4th stars)

(https://i.imgur.com/QsmrV7c.png)

The Jump points tab doesn't have much to show right now.  Here is the hierarchy tab (fully functional):

Off-Topic: show
(https://i.imgur.com/Z6kNQcB.png)


The options tab (fully functional):

Off-Topic: show
(https://i.imgur.com/BIwdi9K.png)


And the System Graphic tab (functional, and this was fun to code, a rare opportunity for graphics!):

(https://i.imgur.com/jz6bOWE.png)

And now, the part that really excites me:
I've gotten a first glimpse of what Quasar's exact speed improvements will be over Aurora4x, and I'm not disappointed!

Take a look at this:

(https://i.imgur.com/CyAXx18.gif)

Total time to load Quasar4x System View, which involves pulling all the star and system body data, doing calculations such as colony cost, formatting, and displaying: 

464 ms

For reference, here's Aurora4x, doing the same thing, on an identical database (literally the same schema and the same data in every table):

(https://i.imgur.com/HXxgTRr.gif)

5720 ms

Woohoo!!  Well over my arbitrary goal of a 10x improvement!

Changing options is much faster as well:

A4x:

(https://i.imgur.com/FJ5TnQR.gif)

Q4x:

(https://i.imgur.com/nVE1Sud.gif)



Musings on floating point calculations:

I've noticed that the rounding and general floating point calculations in Aurora4x can be really wacky.  For example, in the Auror4x System View, Mars is shown to have a mean orbital distance of 229m km, when Mars' actual orbital distance is 227.9m km.  This may or may not just be limited to the System View, but it led me to realize something very discouraging:  I had originally said I wanted my game to behave deterministically the same as Aurora4x and I know now that that will never quite happen because of the dreaded... Floating Point Calculations!  I'll never be able to match Godot's floating point math processor with VB6's, so differences are going to crop up everywhere and propagate like crazy.  Ships will deliver their goods a pulse earlier or later, causing economy and timing to skew, and who knows what else.  I need to be able to run Q4X and A4X side by side and make sure what happens in A4X happens in Q4X, but with floating point skew that wont be possible for more than a turn or two.  As far as I can figure, the best I will be able to do while I'm developing is to refresh the Quasar4x database from Aurora's database after every single turn to keep things in sync.  Ah well.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on August 27, 2018, 12:22:42 PM
Here is the Race details page: (as usual the data and images are pulled from the db and processed as needed, not just typed in as placeholders)

Off-Topic: show
(https://i.imgur.com/zbu9i8D.png)


Musings of the day:

Since the database is identical in structure and usage to Aurora4x, one will be able to import their existing Aurora4x games into Quasar4x.  Initially one would need to send me the Stevefire.mdb file and I'd send them back the converted quasar4x.sqlite file, but some form of automated service could feasibly be put into place.  (I already the conversion scripted.)

And since the final database structure and usage is already known from the very beginning of my project, that means as soon as I get Quasar4x into a skeletal playable state, sans many features still on the todo list, one could theoretically start playing the game and never have to worry about a "wipe" because the structure and content of the "save game" (database) is actually already in its final form. 
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on September 05, 2018, 02:07:28 PM
Progress update!  2015-Sep-05

(https://i.imgur.com/yLWXhrS.gif)

Screenshots are going to be progressively less interesting as development continues given that much of Aurora is plain UI and behind the scenes calculation.  Nonetheless, development does indeed continue at full throttle!  It's hard to tell from the screenshot that much has been done since the last update but in fact this is a pretty significant milestone. 

Much of my work since my last update has been on revamping the "refresh" methodology, to ensure that all windows are persistantly showing up-to-date information.  My goal is to make the "Refresh All" button useless, and instead have all the data up to date while maintaining fast UI responsiveness.  This was time consuming because I had to fundamentally change the code for almost every functional control in the game.  But now I have a rock-solid methodology in place and should hopefully never have to do that again!™

After I posted my last update, I made a sudden change in my direction.  Rather than flesh out every single UI control in the game to function as completely as possible without advancing time, I wanted to dive into temporal space and start emulating Aurora as time passes.  What's the point of finishing the UI if you're eventually going to find out that the end-turn code makes you want to jump out the window?

So now I have pulses and end-turn pulses implemented, with both automatic and manual sub pulse lengths.  And I can proudly say that Q4X behaves identically to A4X for the first 400000 seconds!  As in, the same database updates occur in both games. Without alien races or user input, it's actually not much at all, but that's good!  It makes for a very easy controlled environment from which to build upon.  The next step is to emulate the first production cycle and the cycles beyond that.  Beyond that, development iterates on what is already in place.  For example, currently emulation is only accurate if the user does not change anything and there are no alien races.  What would remain is to gradually add support for user input, little by little.  That said, the task overall is obviously monumentally complex and I proceed one step at a time.

Regarding source: I had originally announced this would be open source. My reasoning was to make sure nobody felt I was trying to personally gain anything from this project.  I've since discussed with Steve and he is fine with going closed source (again, as long as nobody is gaining any benefit from that, monetary or otherwise)  I've since changed to a closed source philosophy primarily because I feel more relaxed that way and I feel the game is probably going to be fun when its behavior is more of a black box.  I may revisit sourcing again down the road if I feel it might help with community bug reports.  Moddability remains on my road map but is in the very distant future.

Musings on performance: I'm not too familiar with VB6 but I don't believe it has good support for processing while waiting for user input. I forgot to mention in my OP that another huge optimization I will be able to have is allowing expensive calculations such as path finding run while the user is navigating the UI assigning orders and so on.

The playable prototype is now located here https://ozer0.itch.io/quasar4x and I'll update the OP as well.  As I said in the OP, it's the emptiest of prototypes, but I like to accompany my forum updates with something tangible.

Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: JacenHan on September 05, 2018, 02:16:21 PM
It seems like you are making a lot of progress. I'm looking forward to more updates!

Edit: Trying to start the prototype drops me these errors:
Off-Topic: show

(https://i.imgur.com/rZV8Zxd.png)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on September 05, 2018, 03:55:09 PM
Should be fixed, thanks for letting me know!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: JacenHan on September 05, 2018, 04:28:32 PM
It works great now, thanks!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on September 07, 2018, 04:49:56 PM
Progress Update 2018-09-07:

Boom :)

(https://i.imgur.com/ieJfumm.gif)

- This is realtime, not a timelapse
- Moons and Trojan Asteroids are computed as well
- Overlapping bodies are displayed, otherwise it's much slower. Should be easy to optimize that eventually.
- Yes, this reads, updates, and writes to disk every frame.  Praise sqlite. 
- The download (https://ozer0.itch.io/quasar4x) of this prototype has been updated.

Onward!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: MasonMac on September 07, 2018, 05:23:24 PM
Awesome!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: SerBeardian on September 07, 2018, 05:30:41 PM
So, this is just plain amazing.
Definitely looking forward to this.

Also looking forward to having all the broken features in Aurora fixed, like missile tracking bonus, laser warheads, the uselesness of orbital habitats at their actual job...

Also, if that wasn't you who posted the lovely spinning video on the Discord, you have a special channel ready for your (re)creation. :)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: procdrone on September 07, 2018, 07:21:18 PM
I just discovered it, and already fell in love with it.  Keep it coming!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: JustAnotherDude on September 08, 2018, 09:56:22 AM
First of all, this is amazing and I love you for it

Second of all, right now the game doesn't play well with smaller resolutions.  The new game screen isn't entirely visible at my laptops resolution.  Not sure if that is a priority for you but thought you should know.

Third of all, this is amazing and I love you for it.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Tchey on September 09, 2018, 02:38:12 PM
Hi,

If you can, i'd love to play/test that on Linux, but i only can find an Windows . exe from itchio.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Noble713 on September 11, 2018, 09:51:02 AM
Hi,

If you can, i'd love to play/test that on Linux, but i only can find an Windows . exe from itchio.


Same here! I'm on Kubuntu 18.04 on my desktop and will probably be migrating my laptop to Kubuntu as well (away from ParrotSec).
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on September 11, 2018, 05:06:16 PM
Thanks for the encouraging responses!  Here is a progress update for 2018-09-11:

Off-Topic: show
(https://i.imgur.com/wZGbwHg.gif)

(https://i.imgur.com/1WezgZ4.gif)

(real-time, not time-lapse)


Q4X now behaves identically to A4X for at least the first 10 days*.  It can actually be mostly identical for an indefinite amount of time passed, except that Aurora4x will start promoting and killing commanders and probably some other stuff I haven't thought about yet.  I actually had an officer die in an accident in the first 5 days in my Aurora4x game (poor guy), so I went ahead and hardcoded him to die on the Quasar4x side as well just so the games stay in sync.  Not shown in the screenshots or in the game (yet) are the Missile Complexes passively gaining TF Training points, but they do gain them. 

*When I compare databases, I ignore small differences that creep in due to strange quirks in Aurora4x's calculations, such as the bug (http://aurora2.pentarch.org/index.php?topic=10163.0) where a difference of 1 second can mean the difference between gaining 200k population and 250k population.  Almost every calculation I've replicated has some kind of quirk with it.  I've added an internal setting that lets me turn on "A4X emulation" which attempts to emulate some of A4X's quirky math and is turned on for now.

As requested I've posted a Linux build! (and a Mac build, but I'm unable to test that).  Regarding lower screen resolutions, I want to get quite a bit farther in development before I work on things like that.

So, now I have a baseline for developing the game along its temporal axis.  It's now time to return to the UI and start fleshing out the functionality of all the windows as much as possible.  Even at 2025 Jan 1 with a barebones colony, there is a lot that can be done in the game on turn 1.  This will prepare the way for the next phase which is the user making changes AND advancing time to see the effects on the universe.  My next progress update will probably be after a few, not all, of the windows have been completed, since they might take a bit of time to do.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Tchey on September 12, 2018, 01:22:25 AM
Thanks for the Linux update, it seems to work, and indeed so far it's more an empty shell than a game, but it's a great start anyway.

Cheers !
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: El Pip on September 12, 2018, 04:27:50 AM
Knowing nothing at all about coding you appear to have made a very impressive amount of progress. As there is nothing I can do to help, all I can say is congratulations, please keep it up and I look forward to your future efforts. :)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: TMaekler on September 12, 2018, 07:09:05 AM
Can you write back the data into the A4x DB? Or is it a one way extraction?
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Odin on September 13, 2018, 01:50:09 PM
Will be there multimonitor support?
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on September 16, 2018, 08:45:31 PM
Progress update:  No snazzy screenshots to share this time around.  As mentioned last time, I'm going back through all the windows and giving functionality to controls like buttons so they actually do something beyond pose for a pretty screenshot.  Currently I've "finished" the Race Details screen and System View screen, with misc things like picking flag / hull / race / planet images, renaming race / system / planet, moving columns left and right on System View etc.  I'm currently working on the Main Menu, running into surprises I honestly have never seen before like the Ammo Management page. 

Will be there multimonitor support?  Yes, although as you can see the game is all "virtual" windows drawn inside one Operating System window, so they can't be spread around without making the OS window itself be big.  Can I write data back into A4X DB?  Nope, haven't needed to, and the SpaceMaster features should be sufficient if I do need A4X writing in the future for testing edge cases or whatever.

No new build published this time around since the update is pretty boring.  The next build I do post will have the graphics separated from the program files so they don't have to be re-downloaded every time (or downloaded at all). 
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on September 21, 2018, 11:24:55 AM
Hello!  So I've been working on Q4X for a couple hours already this morning, and have been every day since my last update (!) and began to feel a little overwhelmed (that happens a lot with this project, go figure, right?)  so I figured hey why don't I take a break and write a progress report?  That should help me regain perspective on how much I'm accomplishing, so here's my progress update for 2018-09-21

No screenshots again.  Mainly just to save time and get back to coding, but also there's nothing milestone-y to show, just a lot of misc. stuff.  Next time I promise I'll have some.  I will just list what I've done since my last post:  (Kinda wish I'd done this for my previous post, the list would be about as long)

Main Menu:
- calculations > loadout calculation
- calculations > dice rolls
- empires > ammo transfer (layout only)
- empires > order of battle
- empires > class deployments
- empires > transfer system knowledge (layout only)
- empires > foreign aid (layout only)
- empires > linked everything that opens a window that you can open from the F3 screen
Commanders:
- Add rank
- delete rank
- rename rank
- retire commander
- rename commander
- auto rename commander
- reorder seniorities
- potential assignments list
- grant title
- pp rules
- create medals - new medal
- create medals - select medal image from disk
- create medals - list
- create medals - name, prom value, and description
- create medals - save changes
- award medal
- graphics in Medals Awarded pane

Still a lot more to do in the commanders window.  When you take into account that the Award Medal, Create Medals, Commands, Vacancies, and Highly Rated buttons all open up new panels with their own batch of controls, there is actually a *lot* going on in the Commanders window.  Lots more to do in the Main Menu too, but I'm done with it for awhile.

Why focus on main menu / commanders in particular?  No major reason, but I do have a well-defined objective of replicating everything that A4X does, so it's gotta be done at some point, so might as well.  The items I do first are things that don't depend on other things being done -- the Race window, System view, Commanders window, and portions of the Main Menu are well encapsulated areas that can be completed with minimal knowledge or dependency on other areas of the game.  (As compared to, say, "Ships Requiring Repair" which requires me to have some ships first, and then damage them)

I think next up will be the Colony Summary window and its 12 beefy sub-tabs (eep!) at least the portions that are relevant on turn 1.  But before that I'll need to implement having multiple empires in a single game, and the mechanics that go into "logging in" to particular empires.  Additionally I'll need to add support for going between two different games rather than requiring a restart -- since A4X supports that, I gotta too!  Once I finish the Commanders window though, I'll publish a new build in case anyone wants to play a pointless micromanage-the-commanders minigame. ;)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on September 25, 2018, 12:26:18 PM
Progress update 2018-09-25:

I'm done with the Commanders window for now.  As promised, I've updated the download (https://ozer0.itch.io/quasar4x) page if anyone feels like giving commanders a hundred different personality traits or assigning and unassigning them until they go insane. :)  I've made the download available through the itch.io app (https://itch.io/app) which, after initial setup, is the easiest way of all to stay updated.

Since my last post I've done:
- assign commander
- unassign type
- unassign all
- commands panel
- vacancies panel
- highly rated panel
- add personality trait
- remove trait
- edit notes and save
- change location to ship
- eligible only checkbox
- unassigned officers only checkbox
- all the controls on the popup panels like sorting
- random background picture

I found an old save file of mine from A4X, only dated 2086 or so but still fairly advanced, a handful of systems colonized, a full array of ship design,s and so on.  It helped me find some kinks in my migration script that I was able to hammer out.  I'm now able to export the A4X save file to a Q4X save file with 1 click and load it in Q4X!  Which means I will now be going back yet again through all the windows to make sure everything is displayed correctly, as well as working on windows that still on my todo list such as Colony Summary, now that there is relevant data for them to work with.  Also this means I now have enough meaningful data to create the 1 remaining window I have left to design: the Galaxy Map.  Additionally I still have adding multi empire / multi game support at the top of my list.  It's a lot to do but I forge onward 1 step at a time!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Tchey on September 26, 2018, 01:31:13 AM
Thanks for your work.  As a itchio and Linux user, i'm following this project with great interest.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on October 03, 2018, 01:45:13 PM
Progress update 2018-10-03:

Possibly the least fun I'll ever have on this project, but super important stuff is now either done, or done enough to ensure a massive rewrite won't be required later on:

- Game Details > Delete Game
- Create New Game > Generate Spacemaster Empire (the generated data is a static prototype, but the game is now able to handle the mostly-empty SM Race)
- Main Menu > SpaceMaster On/Off (limited effect for now)
- Main Menu > Game > Game Info (switch freely between games!)
- Main Menu > Game > Select Default Race
- F9 window > Create Empire (static prototype only)

And finally, all windows: Switch freely between multiple empires, requiring Race Password unless in SM Mode.  So yeah, not a fun batch of updates, but super important to get out of the way early because freely switching between empires and games is a pretty core layer of functionality that almost everything else sits on top of.  There is still more work to do in this vein but the essential groundwork is in place so that I can safely move on to more interesting areas. 

I am now finally starting on what I posted last time: Loading up my 2086 game and going through all the windows to make sure everything is displayed correctly and as many controls as possible are functional, as well as designing the Galaxy Map.  That might be a few weeks and a couple progress updates worth of work, but after that comes the dive into... playability!! 
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: MasonMac on October 08, 2018, 08:23:30 AM
Allow us to full screen the system map?
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on October 18, 2018, 03:13:26 PM
Progress update 2018-10-18:  (Make sure your browser window is wide enough!)

Off-Topic: show
(https://i.imgur.com/2WFZ3Be.gif)


Phew!  That took a lot of work.  As I said in my last update I am going through all the windows with my 2086 game and fleshing out display and functionality. So back on October 3, I figured I'd go through the windows in alphabetical order, and the first up was Ammo Management.  Took an hour or so, easy!  (Although, I'm leaving it disabled without SM Mode because it's cheesy free ammo).  Next up, Class Deployments.  Easy!  Another couple hours.  These were actually pretty well done from my previous pass-thru.  Next up was Class Design.  Ok no problem.  Right?

HA!  What a ride.  Remember, not only am I making things display data from the database correctly but I'm making it actually work.  That means calculating Armor values, Crew requirements, every possible module combination for ships, and you get the idea.  Armor modules were by far the worst to do.  I'm fully aware of how it's supposed to be calculated (http://aurora2.pentarch.org/index.php?topic=2292.0), and of all the forum (http://aurora2.pentarch.org/index.php?topic=6755.0) posts (https://www.reddit.com/r/aurora/comments/4d2q6q/calculating_armor_added_with_a_new_component/) and spreadsheets (https://www.reddit.com/r/aurora/comments/42kp5o/calculation_for_increasing_hs_requirement_of/) in google-land on the topic.  Turns out, none of them are completely accurate when put to the test.  I never was able to get a perfect match but I come pretty close with a lot of fudging.  I will revisit later on.

In making Q4X one of my hopes was that existing A4X spreadsheets and forum posts with ultra precise ship designs would work in Q4X but unfortunately with armor differences and other rounding errors that won't always be the case.  11000 ton ships will become 11050 ton ships, and so on.  The way I have it set up, ships in A4X do keep their statistics intact when imported to Q4X, but as soon as you edit the design, the Q4X math takes over and your values change slightly.  In general, Q4X makes much more precise calculations than A4X because A4X likes to perform rounding multiple times in a formula.

New windows and linux downloads are available (https://ozer0.itch.io/quasar4x) if anyone wants to take a poke.  I recommend using the https://itch.io/app (https://itch.io/app) for nice small patch sizes.  I replaced the database (the save-game) with my year-2086 game that was used to record the animation above, for a better demonstration.  If you want to try out the 2086 game and you've run an older version of Q4X in the past, make sure you close Q4X, delete the old save (at %APPDATA%\Roaming\Godot\app_userdata\Quasar4x\quasar4x.sqlite) then restart Q4X. 

Here's a list of changes:
- New Major calculations: dynamic Ship Design Summary, Armor Thickness, Armor Columns, # of Armor components, Maint Supply amount, # of Crew Quarters, DAC chart, Electronic DAC chart, Design errors and warnings, Show Refit cost from selected other ship, show eligible additional classes if this is primary class for a shipyard, Maint Life, AFR%, IFR%, 1YR msp cost, 5YR msp cost, Ship Range and Duration on full power
- New Minor calculations: Fighter vs Regular class, Commander Priority, cost of ship, size, +4 Armor for PDC, Ship thermal, cross section size, rank required, protection value, cloaking sensor reduction, engine power, fuel efficiency, fuel capacity, # harvesters, # terraformers, salvage rate, MaxSpeed, shield strength, shield recharge rate, daily shield power cost, reactor power, required reactor power, damage control rating, jump rating, jump distance, cryo capacity, active sensor strength, EM sensor strength, grav survey rate, geo survey rate, ECM, cargo capacity, magazine capacity, troop capacity, drop capacity, cryo drop capable, Jump gate construction time, cargo handling, notes, build points, tons per man, capacity per HS, crew HS required, actual crew HS, spare crew HS, armor area, armor strength, armor width, internal HTK, build time, load time, missile GPS, missile MCR, Max repair, thermal signature, EM signature
- New Functionalities: Change class, Ship vs PDC, change hull, keep excess crew quarters, obsoletion, show size in tons, weapon range bands, target speed bands, enter deployment time, enter armor rating, rename class, auto-rename class based on theme, select name of class from db, re-number ships in class, create new hull and abbrev, create new class, delete class, give class to NPR, upgrade armor, unlock/lock, copy design, show civ designs in class dropdown, don't use theme for new class name, sort class dropdown by alpha size hull or cost, enter/exit SM mode, text file for copy paste, list available components, add component by double click or add button, remove component (double-click/add), 1/5/10/100 components at a time, components display window, group/ungroup components, show obsolete compoenents, show commercial components only, preferred mag loadout, add/remove 1/10/100/1000 ordnance to pref loadout, ignore size restriction, obsolete ordnance, show obsolete ordinances, component summary and sort by amount/size/cost/crew/htk, total materials required, min rank and class priority, record notes, show ships in class, hide/show under construction, show civ ships.
- And a few other odds and ends.

Next up will either be the next window in the alphabetical list which is Colony Summary, or switch gears and do the Galaxy View window.  Haven't decided yet!  (Edit: It'll be Galaxy Map ;) )I may be taking a few days off to play the latest Oxygen Not Included update as well! ;)

Thanks for reading!  It's a lot of fun to take a break and do a writeup like this and sort of see for myself how much I've done. 
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Father Tim on October 18, 2018, 10:27:17 PM
In making Q4X one of my hopes was that existing A4X spreadsheets and forum posts with ultra precise ship designs would work in Q4X but unfortunately with armor differences and other rounding errors that won't always be the case.  11000 ton ships will become 11050 ton ships, and so on.  The way I have it set up, ships in A4X do keep their statistics intact when imported to Q4X, but as soon as you edit the design, the Q4X math takes over and your values change slightly.  In general, Q4X makes much more precise calculations than A4X because A4X likes to perform rounding multiple times in a formula.

You may have done a better job than you think.  In Aurora, the very same ship design may be 11,000 tons or 11,050 tons depending on whether you increase the armour value from X-1 to X, or decrease it from X+1 to X.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on October 19, 2018, 11:12:57 AM
Wow, thanks for mentioning that.  Really thought I was losing my mind!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: JustAnotherDude on October 19, 2018, 11:59:37 AM
I remember the Discord chat, which is filled with utter nerds, going insane for about a week on the armor calculations, so getting it somewhere close to that arcane beast is an accomplishment.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on October 25, 2018, 02:57:56 PM
Progress Update 2018-10-25:

(https://i.imgur.com/mYn2Tmv.png)

The first update containing realtime animation! (Also the last one!)

(https://i.imgur.com/WdkUSYU.gif)

Rather than go silent for many weeks, I've decided to post an update on what I've got done on the Galactic Map so far.  I'm really happy to have realtime dragging!   Also the quirky color scheme of A4X's multi-select has been replaced with a diagonal line effect.  Fun fact, the circles, rings, and diagonal lines are rendered using a GL Shader, for ultra fast performance!  This means theoretically tens of thousands of systems could be rendered and dragged around with not too much of an FPS hit, and look crystal clear at any zoom level.

There is still a lot of work to do on the Galactic Map, but a lot of the heavy lifting is done.  The graphics, selecting, and dragging are all done, as is pulling real galaxy data from the database and rendering it.  Nothing in the animated gif is a placeholder for demo purposes, the numbers are actual calculated colony costs, lines represent real connections from surveyed data, system positions are saved and loaded to disk.  Zooming and scrolling is implemented as well.  Here's the full list:

- Sidebar View dropdown, GUI layouts for all sidebar views, Refresh All Map Data button, Scroll Map, Zoom Map, Minimize Sidebar, QV button, QV panel, Map display Options all load and save to disk, Show suitability 2 to 2.9, Show Suitability 3 to 5, show uncolonized <2, show uncol < 4, Show Task group locations, Map Key panel, help panel, Save Positions, Restore positions.   Map graphics: hull icon for fleet present, orange lines for jump gate connections, green lines for non-gate jump connections, bright green for currently focused system, empty circle for systems without bodies, blue/cyan/gray tiny circles for stats, drag, and multi drag.

What's next is a tossup.  I may shift gears again and go back to my alphabetical pass thru of all windows, which would mean working on the colony summary, or I may continue on the Gal Map, or a little of both.  I will be slowing down my pace the next week or so to enjoy some other activities.  Marathon runners gotta pace themselves! ;)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on November 02, 2018, 12:59:44 PM
Progress update 2018-11-02:

(https://i.imgur.com/HDrGtKt.gif)

(https://i.imgur.com/ZC1lTv9.gif)

Done with Galaxy Map!!*  This one was a hefty one because unlike all the other windows, I didn't have anything done in a previous pass.  So it was really like 2 ½ passes in one. 

*For now.  A few of the things not done in this pass: The Fleet Maintenance statistic is hidden since its usefulness is questionable (http://aurora2.pentarch.org/index.php?topic=10210.0). The Populations context menu isn't currently implemented since it's just a dubious list of numbers on the A4X side.  Map labels aren't done yet.  I'll get back to all of these later. 

I added an "Unsaved Changes" message when you've moved systems around but haven't saved them yet.  Also fixed a few things in Q4X that weren't working correctly in A4X:  Show time to system at speed below honors different speeds when they are entered.  Show Task Group Locations hiding fixed.  Double clicking Jump Point Data rows selects the system instead of erroring.  Col cost 7 to 10 stats are correct.  Select Random color works.  Planets tab shows comets.  Survey point cost doesn't overlap with sector name. Open Fleet Window and Fleet Moves on the context menu have been combined into just Fleets, since they seem to be identical in A4X.

As for a list of what I've done since my last post, the short answer is pretty much everything else.  The long answer is feel free to try it (https://ozer0.itch.io/quasar4x) and see! 

And a special mention for 'Show distance from selected system'.  This required creating the code that finds the shortest path between any two systems taking into account distances between warp points in a system.  (Thanks to Dijkstra (https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm) for the assistance.)  This will be re-used many times later on, so it's nice to be done with that!

Colony Summary is next!  It's really like 12 windows rolled into one so that'll probably be broken into a few updates. Fortunately, the groundwork (https://i.imgur.com/tpqBCqu.png) is already in place for this one!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on November 09, 2018, 10:42:48 AM
Progress update 2018-11-09:

I haven't spent a whole lot of time on Q4X since my last update, but I did get a chance to fix the Populated Systems tree on the colony summary and complete the Environment / GMC tab.

Populated systems tree is now showing Auto Mine count, Civ Mine count, Orbital Transform count, and ordered similarly to A4X.  A few systems were missing or named incorrectly in my previous build which is also fixed.  On the Env/GMC tab: everything is functional; Select Gas, add or remove gas to atmos, set max atm, view atmos data, select species to modify, and view species info.  New win & linux build pushed to Itch.

I do believe I'll have more time to work on Q4X for my next update, which will be more work on the Col Summary window. (aka Population and Production window)

Musings of the day: In fixing system naming for the Populated Systems list I realized there's another way Q4X is going to be faster than A4X.  I'm pretty sure A4X runs very basic SQL such as "select * from Table" or "select Column1 from Table" and does most of the data processing on the VB side.  I'm not sure if there's a benefit to moving the heavy computing to the SQL side in a VB program, but I know there's a huge benefit to doing that in Q4X.  The sqlite engine is a library written in blazing fast C (not even c++), and I do a LOT of game logic on the SQL side.  Many of my queries are dozens of lines long.  This means there's even less work, if any, I'll have to do in C++ down the road because the sqlite engine will already be faster.  Additionally, by doing work in SQL, I can make direct use of query optimization and I can add something very powerful to the database that doesn't exist on the A4X:  indexes!  The A4X databases does have indexes but does not have any dual column indexes, and has at most one index per table.  Since my last update I have added 5 new multi-column indexes to the database (and will be adding more) and saw the run-time in one query (related to system body naming) go from >2000ms to 13ms!  I am very excited to see what other super easy speedups will be made possible with more indexing.  (By the way, no disrespect to the A4X database, it is organized very well and I don't think Q4X would have been possible without such a clean schema!)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Froggiest1982 on November 09, 2018, 05:50:40 PM
Following you now from another post thanks to Erik Luken, you are my new hero right now! If I knew more about coding I would have been super happy to help.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: firefly2442 on November 11, 2018, 12:59:29 PM
Wow cool, someone else who's heard of Godot.   I actually tried starting something very similar using Godot but ran into snags with the UI.   Do you use any tools for building the UI?  That was one thing I struggled with, Aurora4x has very complicated UI screens and it seemed to be incredibly difficult to get the layout the way I wanted.   If you ever change your mind about collaboration, let me know.   I would be interested in helping.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: TMaekler on November 12, 2018, 06:14:46 AM
In the beginning of this project I thought: why doing this? At that time C# Aurora was already on its way - so already speedy turns ;-)
But now I think that some AARs don't need the new complexity of ground combat - and Quasar 4X might become a good alternative if your AAR focuses only on the space side of things.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Froggiest1982 on November 12, 2018, 03:15:20 PM
In the beginning of this project I thought: why doing this? At that time C# Aurora was already on its way - so already speedy turns ;-)
But now I think that some AARs don't need the new complexity of ground combat - and Quasar 4X might become a good alternative if your AAR focuses only on the space side of things.

That was my point when I was asking Steve and I was redirected here. I am sure I will enjoy all the new features of C#, but still, sometimes the good old flavour and simplicity (compared to the new mechanics) will be great to have.

I am curious now to see how he'll work around the AI and possibly the only extra feature respect to the original would be on that part and the diplomacy.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on November 13, 2018, 05:04:59 PM
Progress update 2018-11-13:

3 more tabs of the Colony Summary (aka Population and Production) plus most of the controls along the bottom done for now, including:

Main: Hide CMC checkbox, Group by function, set Capital, Rename system body, Abandon population, and the other buttons that open other windows
Wealth Trade tab: numbers are all calculated correctly now
Ground units tab: ground forces dropdown, required/actual occupation, police strength/modifier, text for copy paste, ground units list, rename ground unit, convert GU to cadre, disband GU, transfer HQ, Clear HQ, transfer GU to PDC or pop
GU training tab: units training list, rename unit in training, add task, delete task, use cadre, cadre stats, rename unit type

Also made a bunch of fixes for other windows I'd broken without realizing, so the prototype demo is less crashy.

Regarding Godot, I did have a bit of wrestling with it to support the types of controls I needed.  Specifically dropdown menus, Trees for the table layouts, and the bordered panels required some work to get right, but I managed to do it all with the built in controls and theme tools provided.  I had to make a couple concessions for layout, such as tabs, and haven't visited how to limit the height of a dropdown that has many items.

Regarding ground units, it should ideally be identical to A4x 7.1 just as any other feature. 

Regarding AI, I'm actually pretty excited for what I have in mind for that.  Rather than do it all myself, I plan to expose AI logic in external config files, one file per AI "personality", and allow players to design their own AI to use and to share. (Modding, in other words)  The files would be a scripting language that is as simple as I can make it with a well documented set of functions available (like GetShortestPathToSystemBody("Luna") or whatever).  So, while I would include AI "personalities" that seem to resemble AI in A4X as close as possible, I would be using the same external config system that anyone else would use, and developing that system in parallel.  And anyone else that wanted to could try making their own AI variant.  I'd like to have a way to pit one AI type against another and watch both sides, since I need to do that anyway to test that AI is working correctly.  So it might be fun to see whose AI can beat the others :)

AI is a LONG way off, but now you know my vision for it :)

I'm actually a little more nervous about galaxy and race generation.  Might externalize that into config files as well! 
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on November 19, 2018, 02:56:56 PM
Progress update 2018-11-19

Progress will be very slow or non existent til 2019 due to holidays etc.  Probably just one more update this year in mid Dec.  I do have Civ/Ind status tab done (supply/demand contracts, select colonization status, show civ ships, toggle industrial facilities)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on December 18, 2018, 04:55:04 PM
Progress Report 2018-12-18:

Teams / Academy tab is done for now.  As warned, it's not a big update this time.  Hopefully I'll be able to return to regular updates next month.  Latest prototype build has been updated.

Specifics that are done in this tab: Academy level, Officer grads per year, racial training level, crewmen and junior officers, list available officers by team type, show this pop only, show unassigned only, create team, list teams on this colony, list members of team, list commanders stationed at colony, open officers window, transfer team to ship, rename team, disband team.   

Meta Musings: Not going to lie, the grind is getting real.  At this phase in the project, none of the code is particularly challenging, there is just so.. darn.. much of it, and the end result of finishing a section is a lot like seeing two pages of numbers add up in an accounting program.  It's one of the reasons progress is currently slow.  I'm fiercely determined however, and love to code, so it's not going to die.  Q4X is and will be my only programming-for-fun project until otherwise notified.  And if I ever do move on, I will absolutely make it open source / MIT License first. 

Anyway!  The holidays call, happy times are here and I hope everyone is well!  See you next year!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: MasonMac on January 21, 2019, 11:25:57 AM
A little thing, but would you be able to change the color of the planet orbit to a darker color? It still kinda hurts my eyes. Thanks.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: se5a on February 02, 2019, 01:26:23 PM
looking good, in hindsite maybe this is what we should have aimed for at the start with pulsar. I think we made a bunch of mistakes with that, starting from scratch half way through being one of them, and on that rewrite we should have aimed to get something graphical right off the bat rather than try build a complete 'engine' first. on the flip side, there were not as many options for C# out there back then. ah well lessons learned. If I ever start another game project I'll do stuff differently and end up with a bunch of different problems :p
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: MasonMac on February 16, 2019, 06:33:34 PM
I hope you haven't stopped working on the project
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on February 19, 2019, 09:02:12 AM
I'm back, after a much-needed "vacation" from hobby coding!  My pace won't be as fast as when I started out, but I can tell you that the itch to work on this has firmly resettled itself!

And I have a progress update (2019-02-19) from the past week or so!  Shipyard Tasks tab and Manage Shipyards tab are done for this phase.

Specifically, in the Shipyard Tasks tab: Show annual ship building rate per slipway, show available slipways, display all shipyard tasks, delete task, pause/unpause task, raise/lower priority, rename ship, select name of ship from themes, show ship delivery schedule for all shipyards.  In the Manage Shipyards tab: Display Total naval and commercial shipyard capacity, display chart of shipyards and their type, slipways, assigned class, current activity, progress%, completion date, and Mod rate.  Set shipyard complex activity, show build cost, completion date. Display list of eligible ship classes to retool, delete activity, pause/unpause activity, rename shipyard, auto-rename shipyard. All task types (Extra slipway, capacity expansion options, and retool) update DB identically to A4X and display correctly.  Create task Construction, Repair, Refit, and Scrap all update DB correctly.  List eligible classes to construct, repair, scrap, or refit from.  Pick eligible ships in orbit, set ship name, show build cost, create build names checkbox, show completion date (sometimes inaccurate for refits currently), select fleet, set default fleet.  Show required minerals for activities and tasks, pick new name from theme, show refit details.

I don't currently have my itch.io build push environment set up on this computer, so no new build this time around. I don't think that'll be much of an issue since by now you know that my progress updates are real and the current build has plenty of material to see how the final product will look and feel on your computer.

Next up is the research tab.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on March 04, 2019, 02:32:42 PM
Progress update 2019-03-04:

Actually finished these things last week and had planned to do more before my next update, but I'm currently hooked on a binge of Civ 5, so I figure'd I'd get this out there along with a warning that there will be another delay while I get Civ 5 out of my system :)

Research tab and Mining tab of the F2 screen are done.  Specifically, on the research tab: Display total research facilities & RP per Facility, Display chart of current research projects, Cancel project, pause/unpause, Add/Remove research labs, chart of researchable projects, dropdown to change chart RP type, Create project, delete project, show available, all, completed, or completed excluding start in chart, display technology description, show chart of eligible scientists for project, show matching scientists only checkbox, pick allocated labs, show available labs, use max labs checkbox, research queue, queue project, queue top, remove from queue, reorder queue.  Mining tab: show/pick mass driver dest, display ground-based mines + annual production, mouseover annual production details, finished the remaining few columns in the mining, set/display reserve level.

Up next (when I get back to the project) will be Industry tab and Summary tab then the F2 window will finally be done for this pass!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on April 26, 2019, 01:33:19 PM
Progress update 2019-04-26:

F2 window is DONE!  (For now)

In the past few days I completed the last two tabs, Industry and Summary.  Specifically, on the Industry tab: Construction and ordnance production stats and hint; Display available installations or projects for each Construction category; display cost breakdown for each project; Industrial Allocation panel fully functional; Create new project, modify existing project, cancel, pause / unpause, Select default fleet for new fighters, move project up or down in queue, Fuel Production panel fully functional; Stockpiles button shows Ship Component Stockpile, planetary missile stockpile.  Scrap or disassemble component in ship component stockpile.  Scrap missiles.  On the Summary Tab: Every field that I can compare to my test save calculates and displays correctly. 

Also pushed my latest build to itch (still classed as prototype and will be for a very long time).

I was on another break doing non-coding things in my free time but I've got the itch back to work on this project.  Next on my list is the F3 window (System Map) for which a lot of work is already done (https://i.imgur.com/xosv2HZ.png), especially in the graphics area - the work remaining for this phase of System Map is primarily
- flesh out the functionality in 9 tabs on the left
- add in the remaining labels, sensor rings, and movement trails in the graphical view,
- add support for switching the view from one system to another
- flesh out the right-click context menu
- click on fleets etc to jump to appropriate info window

None of these should be particularly complicated, and I'm really looking forward to getting these done because F3 is like the glue for everything else in the game and future demo builds will look and feel a lot more complete.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: procdrone on April 28, 2019, 09:29:17 AM
As always, Marvelous progress.  Keep it coming :)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on May 02, 2019, 12:55:14 PM
Progress update 2019-05-02:

Glorious, glorious clutter!

(https://i.imgur.com/bXRdjU2.png)

System Map is done! (for now)

Latest build pushed to Itch. Some things added since the previous build: fleets; jump points; show active sensor ranges, passive sensor ranges, and signature detection range; Mineral packets; show max weapon range on ships, show max fire control range; Minerals tab; shift-drag yellow measurement line; highlight colonies, mineral bodies, surveyed bodies; list the fleets, ships, and pops in context menu; create pop or jump to existing pop in the F2 window; Galactic map context menu shows populations which also link to F2 window;

A few other odds and ends were done too, and a few bits are left unfinished because I have no data for them in my current test game;  Ruins, Wrecks, Salvos, and anything to do with Contacts.  The UI is all ready to go for these, though.  At some point I may start a thread requesting a very advanced save file or two, but for now I'm going to move on to the remaining windows.  My first 1-system, no-AI campaign is still far away, but it is in sight!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: JustAnotherDude on May 02, 2019, 01:02:42 PM
Amazing progress, got to say! What are you planning on doing next? More menus, or getting stuff like surveys and JPs sorted?
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on May 03, 2019, 09:31:25 AM
Thanks  :D

I decided to work on System View next.  I've been in the process of going through every window and comparing my test game (12 systems, no AI, year 2086) between A4X and Q4X, making sure all the data is displayed correctly and the UI has as much functionality as it can.  Here are all the windows for this phase, and what I've completed:

Ammo Management
Class Deployments
Class Design
Colony Summary
Combat Overview
Commanders
Create Research Project
Dice Rolls
Events
Fighters
Fleet Orders
Foreign Aid
Fuel Situation
Galactic Map
Geo Survey Report
Intel Window
Loadout Calculator
Order of Battle
Potential Colonies
Production Overview
Race Details
Racial Medals
Sectors
Shipping Line Information
Ships
Ships Requiring Repair
System Map
System View
Task Forces
Tech Data on Ships
Turret Design
View Technology

... Although this list is wildly misleading.  For example, Colony Summary is essentially 12 windows in 1, and a lot of these are trivial like Order of Battle, Loadout Calc, etc.  I was going in alphabetical order but now I'm just kind of picking windows to work on arbitrarily.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on May 06, 2019, 12:44:07 PM
Progress update 2019-05-06:

My previous post inspired me to knock out some "easy" ones on the list, so now it looks like this!

Off-Topic: show
Ammo Management
Class Deployments
Class Design
Colony Summary
Combat Overview
Commanders
Create Research Project
Dice Rolls
Events
Fighters
Fleet Orders
Foreign Aid
Fuel Situation
Galactic Map
Geo Survey Report
Intel Window
Loadout Calculator
Order of Battle
Potential Colonies
Production Overview
Race Details
Racial Medals
Sectors
Shipping Line Information
Ships
Ships Requiring Repair
System Map
System View
Task Forces
Turret Design
View Technology


System View, Foreign Aid, Loadout Calc, Shipping Line Info, and Order of Battle are now done for this phase.  New build is on Itch.

Specifically, on the System View: Display System Type, Age and ID.  Stars table shows info about orbiting other stars.  Clicking a row in star table jumps to the appropriate tab.  Tabs support 4 stars instead of 1.  Jump points tab displays list of JPs, Layout graphics, and Travel times.  System graphic supports 4 stars instead of 1.  Several fixes to data displayed.  Show jump point survey status. No JP Survey button. Show SB Surveys checkbox.   Foreign Aid window fully functional instead of skeleton UI.  Loadout Calc totals by line item.  The bottom two checkboxes in Order of battle window.  On the Shipping Lines window: show list of lines and info about them. Show recent deliveries.  Show Ships in line.  Click fleet to focus it on sys map.  Subsidise button.  Clear Orders.

I removed Tech Data on Ships from my list since I currently have no data for it.

Next up I need to go back to System View and do the Enter/Explore and Hide WP buttons on the Jump points tab since I just noticed I forgot to do those.  Then I have a few more fairly "easy" windows I can knock out.   

Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on May 07, 2019, 04:56:42 PM
Progress update 2019-05-07:

Geological Survey Report, Potential Colonies Window, and Sectors window are DONE!  Latest build pushed to Itch.

(I am firmly within the addictive grip of coding)

Specific additions since previous build:
System View, Jump Points tab: Enter/Explore jump point (currently doesn't reveal new systems, I prefer to require a ship at the jump point to do that), Hide/Show jump point (leaves a gap in the connection between the two systems in the galactic map)
Geo Survey Report: select species, select system, create colony, fixed discrepancies in results
Potential Colonies: Add sorting, tweaked number formatting, Open system on system view, Goto Body on galactic map, display atmospheric gasses, display mineral deposits, auto center sysmap and galmap.
Sectors window: show capital, show commander, show radius, list sectors, list current systems, total current systems, list available systems, total possible systems, show color, change color, move systems between available and current systems list, rename sector

There are yet a few more windows to do that should be pretty quick.  My next update will most likely be on Thursday.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on May 09, 2019, 12:31:09 PM
Progress update 2019-05-09:

Fuel Situation, Production Overview, Task Forces DONE!  Latest build pushed to Itch.

Ships Requiring Repair and Fighters removed from the list, no data to work with currently.  The list is starting to look good:

Off-Topic: show
Ammo Management
Class Deployments
Class Design
Colony Summary
Combat Overview
Commanders
Create Research Project
Dice Rolls
Events
Fleet Orders
Foreign Aid
Fuel Situation
Galactic Map
Geo Survey Report
Intel Window
Loadout Calculator
Order of Battle
Potential Colonies
Production Overview
Race Details
Racial Medals
Sectors
Shipping Line Information
Ships
System Map
System View
Task Forces
Turret Design
View Technology


Fuel Situation: fully functional and results matches A4X results; Production Overview: fully functional and results match A4X, except "All Player Races" and "Show Allies"; Task Force Organization: Fully functional and results match A4X.

I think I see one more batch of easy ones I can do before we get into the last gruelling bits! 
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on May 13, 2019, 12:12:39 PM
Progress update 2019-05-13:

Race Details, Intelligence Window, View Technology, and Commanders Window DONE!  Latest build pushed to Itch.

Race Medals removed from the list, no updates necessary.  Missile Design added to the list, I forgot about it.

Ammo Management
Class Deployments
Class Design
Colony Summary
Combat Overview
Commanders
Create Research Project
Dice Rolls
Events
Fleet Orders
Foreign Aid
Fuel Situation
Galactic Map
Geo Survey Report
Intel Window
Loadout Calculator
Missile Design
Order of Battle
Potential Colonies
Production Overview
Race Details
Sectors
Shipping Line Information
Ships
System Map
System View
Task Forces
Turret Design
View Technology

Race Details: display correct ord and fighter capacities, display correct species pop, fix the species dropdown, fix empire color selction
Intelligence Window: list known alien races, choose alien abbreviation, select alien naming theme, remove knowledge of alien race, rename alien race, choose colors for civs and aliens, update sysmap with chosen civ color, show alien race picture, show alien flag, show first contact date, show comms status, show current diplo rating, show treaties statuses, show currently assigned diplo team, choose diplo team assignment, show list of known alien race ship classes, auto center sysmap on selected ship, show sensor data, show and update notes on class, show weapons and sensor data, show list of known ships in alien class, rename alien class, auto name alien class and ships based on selected theme, show correct class names, reset known data of class, delete class, rename alien ship, renumber ships in class, toggle destroyed status of ship, list known systems of alien race
View Technology: double-click headers to sort by any column; rename tech; mark/unmark obsolete; show/hide obsolete; display data for the categories Active Sensors/Missile FC, Beam FC, CIWS, ECM, EM Detection, Engines, Jump Engines, Magazine, Meson Cannons, Missile Engines, Missiles, Power Plants, Standard Shields, Thermal sensors
Commanders: LOTS of things fixed, too complicated to list what was done

The remaining items on my list are fairly beefy and will take a bit longer to do.  (Commanders is gigantic too but fortunately I had a lot of it done in the previous phase.)  Next up is Create Research Project!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Demonides on May 14, 2019, 11:37:04 AM
Props for You ;]
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: punchkid on May 20, 2019, 04:19:18 AM
This is awsome, I can't believe I haven't seen this project before now.

I have been thinking of making my own clone of aurora in c++ for a few months now. 
Then I find this, so now I guess I can just sit back and wait.

If you want any coding help do let me know.

Also, I really like your ideas for a "configurable" AI.  Should make for a lot of fun.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on May 20, 2019, 11:12:21 AM
Thanks :D

Project update 2019-05-20:

Create Research Project is done!

(https://i.imgur.com/T3sZ8qJ.gif)

Specifically, Suggest Name,Create project, Lasers, Missile Launchers, Power Plants, Engines, Shields Standard, Active Sensors/Missile Fire Control, Thermal Sensors, Jump Engines, Beam Fire Control, Particle Beam, Meson Cannon, Railgun, Plasma Carronade, EM Detection Sensors, High Power Microwave, Gauss Cannon, Cloaking Device, Magazine, CIWS, New Species, and Missile Engines.  All formulas under these categories are in place and match A4X.

Also implemented the SM-only "Instant" button on the research page for quick testing of techs.  Latest build pushed to Itch.

Next up I believe is Turret Design
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on May 21, 2019, 09:48:25 AM
Progress update 2019-05-21:

Turret design window done!

Off-Topic: show
(https://i.imgur.com/YpavLVE.gif)


As with Create Research Project above, the database updates made after pressing Create match the database updates that A4X does.

Next is Missile Design.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: xenoscepter on May 21, 2019, 09:24:15 PM
Will this be a clone in the sense that it is exactly like Aurora 4X is in the v.7.1 or will this be a clone in the resto-mod sense, like a '67 Chevy Bel Air "restored" with modern amenities and a "better" engine.

Not trying to be mean, but not sure if it sounds like it so I though I'd say so up front. I'm genuinely curious.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: amram on May 22, 2019, 02:16:32 AM
Quote
I'm hoping to create a replica of Aurora4x that functionally behaves identically to the original version, as deterministically as possible. I've made progress since my initial post and would like to share some screenshots now, as well as a bit of info about my project.

and:

Quote
Q. Why are you so dead set on making an exact replica with 0 enhancements?
A. I like Aurora4x pretty much exactly the way it is.  I don't think there's a thing I want to change. I think a lot of people are probably 95% happy with the existing game as well, and I doubt nearly that many would agree on a particular change, or that the change would actually be that good. Statistically, most ideas turn out to be bad. Also, adding embellishments can lead to ever increasing project time as the developer gets lost in the weeds.  An "exact replica" is a concise, finite, self explanatory, and reachable goal.

Q. So, an Aurora4x clone.  Are you really not going to add anything more?
A. I do have a few pie-in-the-sky dreams of adding multiplayer and adding ever increasing depth to the AI.  I've always kind of wanted to make a game with computer components that seem human-like -- not in the species they are in game, but in how they play the game, as if another human were controlling their empire.  But for now, those are all just maybes.  I'm willing to bet by the time Quasar4x is completed I'll want a good long break.

My understanding is, its resto-mod sense, with a very heaving leaning towards all original parts.  Fixes where things need fixing, and not a whole lot more than that.  He also mentions having some wishes he'd like to see, but first and foremost, it sounds like patched 7.1, without the slowdown.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Steve Walmsley on May 22, 2019, 06:06:54 AM
I see you are making really good progress through the UI and surface-level functions.

Have you tacked the sequence of play yet? Movement, detection, combat, system generation, etc.?

I can share a list of the high level steps if that helps.



Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on May 22, 2019, 04:06:15 PM
Quote
I'm hoping to create a replica of Aurora4x that functionally behaves identically to the original version, as deterministically as possible. I've made progress since my initial post and would like to share some screenshots now, as well as a bit of info about my project.

and:

Quote
Q. Why are you so dead set on making an exact replica with 0 enhancements?
A. I like Aurora4x pretty much exactly the way it is.  I don't think there's a thing I want to change. I think a lot of people are probably 95% happy with the existing game as well, and I doubt nearly that many would agree on a particular change, or that the change would actually be that good. Statistically, most ideas turn out to be bad. Also, adding embellishments can lead to ever increasing project time as the developer gets lost in the weeds.  An "exact replica" is a concise, finite, self explanatory, and reachable goal.

Q. So, an Aurora4x clone.  Are you really not going to add anything more?
A. I do have a few pie-in-the-sky dreams of adding multiplayer and adding ever increasing depth to the AI.  I've always kind of wanted to make a game with computer components that seem human-like -- not in the species they are in game, but in how they play the game, as if another human were controlling their empire.  But for now, those are all just maybes.  I'm willing to bet by the time Quasar4x is completed I'll want a good long break.

My understanding is, its resto-mod sense, with a very heaving leaning towards all original parts.  Fixes where things need fixing, and not a whole lot more than that.  He also mentions having some wishes he'd like to see, but first and foremost, it sounds like patched 7.1, without the slowdown.

Yep, that's 100% correct!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on May 22, 2019, 04:12:39 PM
I see you are making really good progress through the UI and surface-level functions.

Have you tacked the sequence of play yet? Movement, detection, combat, system generation, etc.?

I can share a list of the high level steps if that helps.

I do have a game loop that does little more than do orbits, grow population, and grow wealth.  So basically no  ;D  I'm getting closer and closer to being ready for that though.  Just a few more windows to go.

I would LOVE to have a list of the high level steps, the more detailed the better!  Feel free to create a new thread with any info you want to lend me, or PM me, whichever works for you!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on May 22, 2019, 04:16:52 PM
Progress update 2019-05-22:

Missile design is done!

Off-Topic: show
(https://i.imgur.com/XcKVnzf.gif)


(Excuse the glitches from the encoder, can't be bothered to redo it)

Everything on the window is fully functional and stores correctly in the database.  Laser warheads, enhanced radiation, secondary stages, you name it.  Latest build pushed to Itch.  Onward!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Steve Walmsley on May 23, 2019, 12:17:34 PM
I see you are making really good progress through the UI and surface-level functions.

Have you tacked the sequence of play yet? Movement, detection, combat, system generation, etc.?

I can share a list of the high level steps if that helps.

I do have a game loop that does little more than do orbits, grow population, and grow wealth.  So basically no  ;D  I'm getting closer and closer to being ready for that though.  Just a few more windows to go.

I would LOVE to have a list of the high level steps, the more detailed the better!  Feel free to create a new thread with any info you want to lend me, or PM me, whichever works for you!

Here is a general overview of the sequence of play. It isn't exhaustive and many of the items will have sub-sections. Movement is huge for example because so many things can happen. However, it gives you an idea of what to work through.

Check if the increment needs to be shorter than selected due to combat or missile interception
Create Fleet Training Moves
Generate NPR Movement Orders
Check Conditional Orders
Movement Phase (Ships, Missiles, Mass Driver Packets) - this is quite substantial as there are about a hundred different movement order types. Also, need to handle missile interception, final point defence, damage, etc.
Detection Phase - check all sensor types vs all objects that can be detected.
Check Default Orders
Damage Control
Shield Recharge
AI Combat Assignments
Combat Phase -  ship to ship, vs population, shipyards, ground units, etc., plus damage resolution.
Boarding Combat
Star Swarm and Invader Activities

Every 5 days (ish) you have the construction phase

Population Growth
Check Available Workers
Orbital Movement and Comet Motion
Check Lifepods
Update Wealth
Update Trade
Ship Maintenance
Ground Unit Maintenance
Disaster Updates
Mining (including civilians)
Fuel Harvesters
Fuel Refineries
Terraforming
NPR Pop AI
Upgrade Shipyards
Shipyard Tasks
Ground Unit Training
Genetic Modification
Construction Factory Production (includes PDCs, space stations, ship components, etc.)
Ordnance Production
Fighter Production
Research Projects
Missile Geo Survey
Civilian Activity (shipping line builds, mining colony creation, etc.)
Mass Drivers
Ruin Recovery
Reduce Radiation and Dust
Readiness Recovery
Combat Load Fatigue
Crew Morale
Ground Combat
Communication and Diplomacy updates
Commander Health
Commander Experience
Commander Assignments
Check Fuel
Reduce Danger Ratings
NPR Colony Creation
Industrial Reactivation
Delete Old Points of Interest
Wormhole Moves

Another large area is system generation, which is not really part of the sequence of play. Here is a link to the rules I used.
http://sol.trisen.com/downloads/wg.pdf
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Cyborg29 on May 24, 2019, 04:36:02 AM
If possible, i would like to ask a feature to be included: mouse map dragging for system and galactic view.

In either case, awesome work so far!  ;D
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: joansam on May 24, 2019, 01:58:38 PM
Looks phenomenal! Nothing wrong with a faster Aurora.   

How long do you think it's taken you to get this far, and what percent do you think you've completed at this point? It's extremely impressive.

I've started working on an Aurora-inspired Unity game (multiplayer, simplified commercial side of things, slightly improved graphics) but am kinda reluctant to really get into it due to the time involved.   
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: JustAnotherDude on May 24, 2019, 03:01:42 PM
I, for one, would surrender my firstborn child for a MMO style strategy game in shouting range of Aurora.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on May 29, 2019, 04:36:12 PM

Here is a general overview of the sequence of play. It isn't exhaustive and many of the items will have sub-sections. Movement is huge for example because so many things can happen. However, it gives you an idea of what to work through.
Off-Topic: show

Check if the increment needs to be shorter than selected due to combat or missile interception
Create Fleet Training Moves
Generate NPR Movement Orders
Check Conditional Orders
Movement Phase (Ships, Missiles, Mass Driver Packets) - this is quite substantial as there are about a hundred different movement order types. Also, need to handle missile interception, final point defence, damage, etc.
Detection Phase - check all sensor types vs all objects that can be detected.
Check Default Orders
Damage Control
Shield Recharge
AI Combat Assignments
Combat Phase -  ship to ship, vs population, shipyards, ground units, etc., plus damage resolution.
Boarding Combat
Star Swarm and Invader Activities

Every 5 days (ish) you have the construction phase

Population Growth
Check Available Workers
Orbital Movement and Comet Motion
Check Lifepods
Update Wealth
Update Trade
Ship Maintenance
Ground Unit Maintenance
Disaster Updates
Mining (including civilians)
Fuel Harvesters
Fuel Refineries
Terraforming
NPR Pop AI
Upgrade Shipyards
Shipyard Tasks
Ground Unit Training
Genetic Modification
Construction Factory Production (includes PDCs, space stations, ship components, etc.)
Ordnance Production
Fighter Production
Research Projects
Missile Geo Survey
Civilian Activity (shipping line builds, mining colony creation, etc.)
Mass Drivers
Ruin Recovery
Reduce Radiation and Dust
Readiness Recovery
Combat Load Fatigue
Crew Morale
Ground Combat
Communication and Diplomacy updates
Commander Health
Commander Experience
Commander Assignments
Check Fuel
Reduce Danger Ratings
NPR Colony Creation
Industrial Reactivation
Delete Old Points of Interest
Wormhole Moves

Another large area is system generation, which is not really part of the sequence of play. Here is a link to the rules I used.
http://sol.trisen.com/downloads/wg.pdf


This should be REALLY helpful!  When I advance time, it will hopefully help me to sort the massive jumble of database updates into the order they belong!

Now if you were to paste a list of all lines of code containing "Rnd" it'd be a dream come true ;)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on May 29, 2019, 05:14:15 PM
Progress update 2019-05-29

(https://i.imgur.com/ktkFd49.gif)

Ships window is DONE!

Off-Topic: show
(https://i.imgur.com/cHvUDSa.gif)


This was a huge amount of changes.  I decided to implement the Apply Damage button as fully as I could, so in addition to the UI being functional in the window, ship damage and destruction is now in place. 

(https://i.imgur.com/7ahoeFg.gif)

The following damage and destruction mechanics are in place:
- shield absoprtion
- the 3 familiar cone-shaped armor damage templates
- very high damage scales only the penatration of the cone, not the width
- shock damage from heavy hits
- components can be destroyed (or survive
- destroyed components kill crew
- ships that are slowed due to damaged components are split into their own fleet
- a destroyed bridge can kill the commander
- a destroyed engine or power plant can trigger a secondary explosion
- a destroyed magazine can trigger a secondary explosion if there is excess ordnance that failed to eject
- destroyed ships create lifepods with remaining crew
- commanders have a chance to escape into the lifepod
- destroyed ships wrecks containing minerals, components, and tech

(https://i.imgur.com/WZErODz.gif)

Mechanics match A4X as closely as possible, with possible deviation in the RNG.  All events are logged.  I completed just enough of the Events Window so that the damage logging can be seen.

(https://i.imgur.com/JnHpF7Q.gif)

I completed the Ships Requiring Repair window as well.  Here is a jumbled list of what was implemented in the Ships window: 
Limit list by 'no fighters' or 'military only'; sort by size, alpha, or hull; show commander and relevant bonuses; show basic information, power info, maintenance info; assign population; dynamic ship design display showing the effects of damaged components on the ships stats; range bands and target speeds on ship design display; class design display; combat settings: select point defense mode for selected fire control; set max pd range; assign eccms to fire controls; toggle auto fire, sync fire; raise/lower shields; activate/disable active sensors; assign weapons to fire control (single, group, or clear all); combat summary; transfer ordance between ships and/or pops; assign missiles to launchers (single, group, or clear); armor status; list DAC; show damaged systems; begin DC; add DC to queue; abort dc; re-order DC queue; remove from dc queue; abandon ship destroys ship and leaves lifepod with commander and crew; the Apply damage button; Delete all cargo; Misc tab: transfer fuel or maint supplies between ships or pops; set maint priority; toggle transponder; transfer ship to Alien empire, with or without commander; show military/commercial tonnage destroyed; toggle release of tech data; save changes to notes. Buttons on bottom: rename ship, select name from theme, delete ship, destroy ship, pick name of ship from class theme; zoom to ship's fleet on galmap; add custom history to ship; toggle all active sensors off; SM Repair All; SM Refuel All; Auto FC.

Transfer ship to Alien empire is an interesting highlight; this is a pretty hefty bit of code in place that can be adapted for ship capture later on. 
Another nice mention is the Auto FC button; the code for this should be reusable for AI later on.

Intentional deviations from A4X mechanics:  Auto FC I think may be a bit better than A4X's version; Added population dropdowns to the Misc tab, to remove ambiguity of multiple pops of different species stacking in the same location; Added the Apply Damage control to the Ship Design Display and Armor Status tabs, might remove them later; And reworked Ship Design Display to match Class Design Display much more closely. 

Finally, there are a few sections such as parasites that I am saving for later.  Screenshots of all the tabs are in the offtopic bar above.  Latest build pushed to itch. 

I'm very close to the end of this UI phase.  I have the rest of the Events Window to do (filtering, coloring, etc).  And, all of the Task Groups window, which is another beefy one, so it will be another while before my next update.  After that, I can finally shift gears and start a campaign!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: procdrone on June 02, 2019, 11:03:08 AM
You are doing gods work. 

During few discord conversations, we had few arguments, and i have two questions.

1.  Are you going to implement any fixes to known bugs or modifications to the baseline formulae, or is this going to be as close as possible clone ONLY?
2.  Do you have any strategy regarding building an AI? Any ideas?

Cheers!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: xenoscepter on June 02, 2019, 03:14:45 PM
I already asked that, and it would seem his stance is to get it as close as possible to the VB6 Aurora 4X, but in some sort of C.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: amram on June 03, 2019, 01:14:27 AM
You are doing gods work. 

During few discord conversations, we had few arguments, and i have two questions.

1.  Are you going to implement any fixes to known bugs or modifications to the baseline formulae, or is this going to be as close as possible clone ONLY?
2.  Do you have any strategy regarding building an AI? Any ideas?

Cheers!

the opening post of this thread to the rescue:

Here are my objectives for the finished product:

A REPLICA As mentioned already, it should behave identically to the original version.  This means I should be able to load up Aurora4x and Quasar4x side by side, on identical database snapshots, and every action I take should have the same effect in both games.  Further, every control, every button, every piece of the UI should be present in the same location so that an experienced Aurora4x player will feel right at home and know where everything is and what everything does. The database is identical.  It contains all the same pregenerated names for systems, ships, commanders, and so on.

With all that said, note that I am not matching Aurora4x pixel for pixel.  I use a larger font wherever possible and a dark theme for eye comfort. The system map has a slight control layout adjustment but is still largely the same. Finally, and I know this will be a dealbreaker for many, but I've reverted to American English spelling.  I am not matching action for action either when a fix is necessary, for example in A4X searching by two traits in the Search Leaders tool doesn't seem to work correctly.  In Quasar4x, that is fixed, and stats are displayed for both abilities, not just ability A. It's hard to explain why I feel this is not breaking the don't-change-anything spirit of the project, but hopefully you see the reasoning behind it. 

more specifically,

I am not matching action for action either when a fix is necessary, for example in A4X searching by two traits in the Search Leaders tool doesn't seem to work correctly.  In Quasar4x, that is fixed, and stats are displayed for both abilities, not just ability A. It's hard to explain why I feel this is not breaking the don't-change-anything spirit of the project, but hopefully you see the reasoning behind it. 


If it needs fixing, in the sense that it's functionally broken, I suspect it will receive the needed fix along the way.  Having kept tabs on this project the entire time, I have noticed a few times where he's deviated from purely original, in order to fix it, or give something that it badly needed, such as real time dragging of systems in the system map:

Off-Topic: "real time display of position when dragging systems around in system map" • show

(https://i.imgur.com/WdkUSYU.gif)


purely matching aurora would have those not visibly move until he let go, easy enough to program once you have the code in place to display them and move them - simply don't update the new position until release, all the rest of the code can remain as it is and you get 7.1 behaviour.

also:

I added an "Unsaved Changes" message when you've moved systems around but haven't saved them yet.  Also fixed a few things in Q4X that weren't working correctly in A4X:  Show time to system at speed below honors different speeds when they are entered.  Show Task Group Locations hiding fixed.  Double clicking Jump Point Data rows selects the system instead of erroring.  Col cost 7 to 10 stats are correct.  Select Random color works.  Planets tab shows comets.  Survey point cost doesn't overlap with sector name. Open Fleet Window and Fleet Moves on the context menu have been combined into just Fleets, since they seem to be identical in A4X.

so as far as 1) goes, we don't need an answer from him, he's already put action in place which speaks louder - if he's aware it doesn't work right in 7.1, or badly needs a repaint - odds are it gets it along the way.

Can't speak on 2) for him, no posts where he's given any evidence to work with yet, so, that one is all his.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on June 03, 2019, 09:58:47 AM
Regarding point #2, I plan to see how closely I can emulate A4X's AI, but externalize the logic to script files, one file per AI "personality", and allow players to improve upon them or even design their own AI to use and to share.  The scripts will have access to plenty of helper functions for computational things like pathfinding, determining the best place to mine a particular resource, and so on.  While developing the default AI, I would be using and developing the same external scripting system that anyone else would use, in parallel.

The default AI will consist of the same types as in A4X, i.e. star swarm, precursors, proper NPR's, etc.  I have yet not researched A4X AI in depth but I would imagine there are a few shortcuts/cheats to simplify empire development.  Initially I will copy that behavior and will need to make sure it can't be abused by the external scripts. Later on I will review ways to get rid of the shortcuts. 

AI is still a very long way off but here's some good news: we should be able to play with this external scripting idea much sooner because I would like to use this model for Civilian Shipping behavior as well. It will be a great opportunity to prototype the idea on a simpler scale.

And just a quick note on an unrelated topic, in my previous progress update I forgot I had one more window to work on after the Fleet Orders window, which is the Combat Overview window.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: TMaekler on June 04, 2019, 03:37:48 AM
This is seriously cool. Seeing what Glavius with his AI was able to do for Stellaris, I am looking forward to see what is possible with your scripting solution.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: punchkid on June 04, 2019, 08:47:25 AM
Is there any chance you will consider open sourcing this at some point?
I would love to be able to fork it, add some sort of interface to it and try to create a web based UI.   (Been selected for a big react, redux project at work, so this would be an excellent way to learn)
This would have the added benefit of making it a lot  easier to develop some kind of multiplayer version in the future, but recreating all the game logic etc.   would be too big of a job and it also seems a bit silly to do all that work a 3rd time.   

Anyways, I am really impressed by the progress you've been making. 
 
Edit:
Or just sharing the database diff code you are using.  That way I would be able to do something similar to what you are doing I guess.
Maybe just write the whole thing as a web app.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: procdrone on June 04, 2019, 05:01:29 PM
Quote from: Kyle link=topic=10149. msg114759#msg114759 date=1559573927
Regarding point #2, I plan to see how closely I can emulate A4X's AI, but externalize the logic to script files, one file per AI "personality", and allow players to improve upon them or even design their own AI to use and to share.   The scripts will have access to plenty of helper functions for computational things like pathfinding, determining the best place to mine a particular resource, and so on.   While developing the default AI, I would be using and developing the same external scripting system that anyone else would use, in parallel.

The default AI will consist of the same types as in A4X, i. e.  star swarm, precursors, proper NPR's, etc.   I have yet not researched A4X AI in depth but I would imagine there are a few shortcuts/cheats to simplify empire development.   Initially I will copy that behavior and will need to make sure it can't be abused by the external scripts.  Later on I will review ways to get rid of the shortcuts.   

AI is still a very long way off but here's some good news: we should be able to play with this external scripting idea much sooner because I would like to use this model for Civilian Shipping behavior as well.  It will be a great opportunity to prototype the idea on a simpler scale.

And just a quick note on an unrelated topic, in my previous progress update I forgot I had one more window to work on after the Fleet Orders window, which is the Combat Overview window.

This is actually big news.  Fully customizable AI is something we REALLY appreciate!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: MasonMac on June 06, 2019, 06:26:11 AM
Is there any chance you will consider open sourcing this at some point?
I would love to be able to fork it, add some sort of interface to it and try to create a web based UI.   (Been selected for a big react, redux project at work, so this would be an excellent way to learn)
This would have the added benefit of making it a lot  easier to develop some kind of multiplayer version in the future, but recreating all the game logic etc.   would be too big of a job and it also seems a bit silly to do all that work a 3rd time.   

Anyways, I am really impressed by the progress you've been making. 
 
Edit:
Or just sharing the database diff code you are using.  That way I would be able to do something similar to what you are doing I guess.
Maybe just write the whole thing as a web app.

I think he said that it would be open source after its finished
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on June 07, 2019, 02:40:08 PM
Progress update 2019-06-07

At long last, this phase of the project is done!  I've completed the last windows on my list which were the event log,

Off-Topic: show
(https://i.imgur.com/1IfDlNK.gif)


The Combat Overview window,

Off-Topic: show
(https://i.imgur.com/w58lOtW.png)


And the Fleet Orders window.

Off-Topic: show
(https://i.imgur.com/MOKaiHc.gif)


Specifically, on the Combat Overview window:  system dropdown, task groups tree, fleet sync fire on/off, fire controls, display eccm, assign eccms, display current point defense mode and range, set pd mode and range, display weapons, assign 1, many, or all weapons to fc, clear weapon assignments, assign missiles to 1 or all launchers, raise/lower shields, (de)activate active sensors, fleet auto fire, fleet cease fire, display assignment summary, copy assignments of selected ship to same TG, same System, or same Race.   

The Events window was halfway done in the previous update; for this update i completed: delete old events, copy to clipboard, show research only, use race colors, jump to event, select bg and text color for highlighted event type, reset color, reset all colors (with confirmation box), filter events.

And last but not least, on the Fleet Orders window I completed: select task group, display location, grav points, geo points, max initiative, current initiative, set max initiatve, senior officer, time and distance for current order or all orders, current speed, max speed, set max speed, center maps on fleet, list current ships along with their class, fuel, ammo, thermal, maint, crew, morale, grade, and training, fire delay, and sensor delay.  In tab 1: display locations available for next order, actions available per location, and current plotted move.  add move, remove last move, remove all moves, set min distance, set max/min amount, set order delay, cycle moves, repeat moves x times.  Display fleet order of battle, save/use/delete order templates, display default/cond/escort orders, set grav or geo order. display cargo and ground unit info for fleet.  Toggle moons, asteroids, task groups, waypoints, comets, lifepods, wrecks, survey locations, exclude surveyed, filter orders, show all pops, auto-routing to distant pops, auto include lagrange points, no auto-route jump check.  In tab 2: select task group to protect along with distance and offset bearing, primary default order, secondary order, condtional orders A and B, start/stop task force training, combine with other task group, set superior formation, list subordinate formations, copy orders to subordinates with or without speeds, default orders, or conditional orders.  Move ships between task groups in same location, split task group, divide task group.  On tab 3: show task group history, senior officer in system, task force commander, officers within task group, SM set task group position to selected system and body or to capital, show average fleet training, total fleet mass, sync fire on/off, transfer fleet to alien empire with or without commanders. Tab 4: show naval organization chart, add branch, rename branch, delete branch or ship from chart, move stored branches under selected branch, copy stored branches, add ship to branch, add task group to branch, assign ship as mothership , create task group out of selected ship, branch, branch + subordinates; add to stored branch list, remove from stored branch list, clear stored list, center map on selected ship, show fleet and location.  Buttons along the bottom: open system map to current task group, add colony, open OOB, create new task group, rename task group, delete task group, toggle fleet active sensors, toggle fleet shields, equalize maint, equalize fuel, save escorts, recall escorts, deploy escorts, detach ship, detach ship and escort fleet, assemble taskgroups in location into one TG, clear default orders, clear conditions.

Latest build pushed to Itch.  Some commentary on a few selected features:

- Auto routes support infinitely long routes instead of stopping at 4
- Lagrange points are only auto-included for the first move.  Whenever a fleet changes systems it will plot a new lagrange point jump if applicable.
- Naval Organization is more stable than in A4X, because it safely deals with cycles.  In the distant future I hope to also update it so that you can have ships under more than one branch at a time.
- Delete button can delete ships from the chart instead of just branches
- Fleet can't be deleted without first removing ships from it. (In A4X if you accidently hit Yes you could lose all your ships)
- You might have noticed no support for fighters or parasites in this and all other windows; I hope to use fighters/parasites in my first test asap so I can fill in these features
- I'm pretty sure there will be more bugs to fix related to Fleet Orders than any other area due to how much you can manipulate fleets and how many parts of the game have a logical dependency on fleets.
- As you might have guessed, the majority of my time was spent on the Fleet Orders window, especially on Tab 1.  I can't begin to describe how many different things can go on in that tab, but it should be fairly complete!

SO!

A new phase of the project begins, this one much more free-form.  (And, I hope, a lot of fun!)  It's time to start working on time advancement.  I plan to start a fresh 1-system no-ai game in parallel on A4X and Q4X and conquer Sol while developing and fixing along the way.  I may add some sort of achievement with a progress bar you can optionally display where the goal is to gain X wealth and Y population while in Sol, or something like that because I like the idea of having something meaningfully playable early on.  I'm itching to get working on civilian AI & the external scripting concept.  I'm hoping not to be on this 1-system no-ai phase for *too* long, as soon as possible I'd like to throw in one more system with some AI force-spawned so we can get into the really fun stuff.

I'll try to throw out an update sometime next week, although I have no idea what or how much I'll have done.  Onward!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Cyborg29 on June 11, 2019, 12:08:35 PM
@Kyle, is it true that you're going to make quasar4x open-source when it's complete? If so, do you mind if someone creates mods/changes to the game?
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on June 11, 2019, 12:30:15 PM
I have no plans to make this open source at this time, but I do want to be mod friendly.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Jovus on June 11, 2019, 12:54:53 PM
I have no plans to make this open source at this time, but I do want to be mod friendly.

Having taken a quick look at what's on itch.io right now, you should probably include a license ASAP. A simple "all rights reserved" would be enough, if that's what you want to do. But right now it's arguably in the public domain.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on June 12, 2019, 04:13:29 PM
Progress update 2019-06-12:

A baby campaign is born!

Off-Topic: show
(https://i.imgur.com/F8Da52L.gif)


I've added a second game to the save-file that comes with Q4X, called A Fresh Start.  This is a Conventional Sol start generated by A4X and imported to Q4X.  I've gotten the first 5 day tick of Q4X to match the first 5 days of A4X (and it can keep going).  I did something like this awhile ago as a proof of concept, but this time meaningful actions can be taken such as researching and constructing, and I have a new framework for future time-related activity.

(https://i.imgur.com/i9vFRp4.png)

I disabled the New, Save, and Delete buttons so its nice and obvious that generation isnt really supported yet, and the user can just click straight into Fresh Start or Example Game.  The game I've been working with in my previous updates is still there in Example Game, so more advanced features of the UI can be tested, but time advancement is only meaningful in the Fresh Start game.  Finally I get to play the game, although having to stay one step ahead of myself on the development.  I made a little album of what I've done so far in the Fresh Start campaign;

Press F3:
Off-Topic: show
(https://i.imgur.com/kSXUdbZ.png)

That looks better:
Off-Topic: show
(https://i.imgur.com/ijrdNkh.png)

Lets disable fuel production:
Off-Topic: show
(https://i.imgur.com/dox61W0.png)

Start research on TNT:
Off-Topic: show
(https://i.imgur.com/DPhVKRp.png)

Queue up a military academy:
Off-Topic: show
(https://i.imgur.com/oe5il5N.png)

Assign a governor of earth:
Off-Topic: show
(https://i.imgur.com/glwNkcf.png)

Assign fleet HQ commander:
Off-Topic: show
(https://i.imgur.com/sEbUVtV.png)

Enable Auto assignments:
Off-Topic: show
(https://i.imgur.com/K159EeE.png)

Check the mining report:
Off-Topic: show
(https://i.imgur.com/3Mp9U30.png)

Press the 5 day button!
Review events:
Off-Topic: show
(https://i.imgur.com/WGEFeV6.png)


I've pushed my latest build that can do all of this.  I'm basing the start of my campaign off of Quill18's Aurora series (https://www.youtube.com/watch?v=zcWln8Ne1RA&list=PLs3acGYgI1-sRFRB4BPB-FbmVuvwIKH92) so I can have a nice checklist of development goals to meet.  So my progress can be quantified as: 33:30 minutes into Episode 1 of 32.  I plan to continue through all the episodes ensuring I can support every action he takes, and take the similar actions in my own campaign.

I was about to start working on a little side project of improving my database-diff scripts when this happened:

(https://i.imgur.com/LsSKLpw.png)

Aside from gender assumption (fixed in Q4X), I realized I had hit my first major RNG hurdle.  Up until this point I've been able to reverse engineer all the RNG I've come across such as damage to ship, between googling and straightforward empirical data.  Commander health and experience RNG isn't so easily deduced empirically, and there isn't much to be researched online about it because it's just not that important how exactly it works.  So unless Steve would like to drop in and enlighten me, I'm at a crossroads.  I could

1. Make up a completely new system and tweak over time if crazy things seem to happen.
2. Develop an AutoIt (https://www.autoitscript.com/site/) script to run the same 5 day turn over and over, gathering stats on random events that occur
3. Externalize commander health and experience to a script that anyone can edit, similar to what I plan for AI.  If a better script emerges in the community I can upgrade to that.

Currently my plan is to do #2 to prototype how feasible it is to solve future RNG issues that way; then use the results to create #1, and implement with #3.   (Again, #3 would mainly be as a nice way to prototype the external scripts idea)

This isn't a roadblock by any means, I can just migrate my A4X save to Q4X after a random event occurs.  But there's really no reason to delay support for commander health/exp, better to tackle the unknown sooner rather than later.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Jovus on June 13, 2019, 10:36:23 AM
I could

1. Make up a completely new system and tweak over time if crazy things seem to happen.
2. Develop an AutoIt (https://www.autoitscript.com/site/) script to run the same 5 day turn over and over, gathering stats on random events that occur
3. Externalize commander health and experience to a script that anyone can edit, similar to what I plan for AI.  If a better script emerges in the community I can upgrade to that.

Currently my plan is to do #2 to prototype how feasible it is to solve future RNG issues that way; then use the results to create #1, and implement with #3.   (Again, #3 would mainly be as a nice way to prototype the external scripts idea)

From my own development experience, I'd press hard for the ultimate solution being #3, so I'm glad to see you're leaning that way. More important than modding or borrowing work from the community, even, is modularity. Having it be a separate self-contained module that you call via an internal API is a great way to isolate it for debugging and tweaking, even if (as you are) you're using a sane database back-end for other things. This is especially true for officer mechanics, since that's one of the more opaque and popular areas for improvement in Aurora 4x itself.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: sloanjh on June 17, 2019, 11:52:42 PM
[SNIP] But right now it's arguably in the public domain.

My understanding from corporate lawyers through work (both my company and others) is that (US at least) all material is by default copyrighted by the author (i.e. he does not need to include a copyright notice), and that in order to use copyrighted material the author needs to give you an explicit license to do so.

Not saying he shouldn't add a license, just saying that my understanding is that publishing content does not put it in the public domain unless that's explicitly stated.

John
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Jovus on June 18, 2019, 11:24:24 AM
I'm not a lawyer, copyright or otherwise. Maybe the default position is that it's public; maybe that it's all-rights-reserved; maybe that it's something else. Maybe that he has rights to it but passersby can't be blamed for not realizing that, or maybe it depends on what State or even county he lives in. I have no clue.

Point is, inclusion of a license clears all that up, and may help avoid some unpleasantness now or later if he doesn't want people reverse-engineering or forking his work.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on June 18, 2019, 12:39:35 PM
I am indeed in the US, and reserve all rights, but the game is free to download. Based on Jovus's advice I went ahead and added:

(https://i.imgur.com/VwCSO97.png)

By the way, next progress update is still a few days out but I've been making good progress on commanders.  I have the basics done for skill ups, new commanders joining, the development of health issues, and dying of old age.  I still have a few types of officer events cropping up that I need to add implementations for.  In the interest of moving things along, I am mostly just doing option #1 from my post above, making educated guesses about how the rng works and at least giving the appearance that it's working like A4X.  It can be revisited later.

I've also finally updated the engine from Godot 3.0 to 3.1, which I had not been looking forward to.  The new version added improved code warnings, so I had about 100 tiny things to fix.  Also it updated the graphics library to GLES3.0, which introduced noticeable lag on the System Map.  Fortunately I realized my video drivers were from Sep 2018, and the System Map is now silky smooth after I updated them.  So I highly recommended updating if your drivers are that old!  The Godot update required me to update the sqlite interface (https://github.com/khairul169/gdsqlite-native) as well.  This update was a headache because they changed how null fields are handled. The new way is better, but I had to fix 50 files or so.  There are a lot of untested changes now.  Better now for anything to break than later, I guess. 

I completed a proof of concept prototype for the external scripting system, and I'm pretty excited about how straightforward and powerful it is.  The language will be GDScript (http://docs.godotengine.org/en/3.1/getting_started/scripting/gdscript/gdscript_basics.html), which is the same language I use for the game itself (except for the bits in C++).  A user script can be loaded while the game is running.  The game and the script can talk to each other at the code level without any parsing or limitations.  It can even interface directly with the database.  There is no need to edit scripts with notepad, because I can include an project file that can optionally be used with the Godot Editor (http://docs.godotengine.org/en/3.1/_images/editor_ui_intro_editor_06_script_workspace_expanded.png) to edit the scripts with code completion and syntax coloring.

With great power comes great... security concerns.   As with most modded games, there is a risk involved when installing a 3rd party mod.  I'm going to have to plaster warnings everywhere to install mods only at your own risk.  Prior to loading custom scripts, Quasar4x will first scan them and refuse to open them if they contain the strings "OS" or "File."  No computer game out there has completely safe modding support but this should hopefully help a bit.

The folder structure including the scripts will be organized like this..
- Quasar4x.exe
- flags
- medals (etc.. etc..)
- scripts (new!)
- scripts/commanders/_Default.gd
- scripts/civilian_shipping/_Default.gd
- scripts/civilian_shipping/Terran Federation.gd
- scripts/Precursors/_Default.gd
- scripts/Invaders/_Default.gd
- scripts/Star Swarm/_Default.gd
- scripts/NPRs/_Default.gd
- scripts/NPRs/Barnard's Star Aliens #138.gd

And so on.  So the _Default.gd is what I write, and ship with the game.  You can copy _Default.gd to, say, "Barnard's Star Aliens #138.gd" or whatever you've identified a newly discovered alien race as.  Then you make changes to that file and will affect only the Barnard's Star Aliens.  In this way you can apply different personalities to different alien races without me having to add any UI for setting that up.  The script can be in place ahead of time, too. You can have a file called scripts/NPRs/TheBorg.gd, and when you discover an alien race, you name them TheBorg and they will now follow the logic contained in the TheBorg.gd script.

I'm not quite ready to fully develop and release the external scripting system yet, because I've achieved my goal of a concrete plan for how to do it, and I think I can get commanders close enough to A4X that I can just move on to the next task as soon as I wrap up a few remaining commander events.  And the real reason is it makes me nervous in a self-conscious sort of way because it means revealing some of my less-than-beautiful code.

Off-Topic: other thoughts • show
While I'm here I might as well mention I've got a few exciting new ideas about how one could feasibly support multiplayer in a game like Aurora4x / Quasar4x.  (Calm down, this is years away, if ever)  The showstopper is timing right?  Each player needs wildly varying amounts of time to pass in game, wildly varying amounts of time to spend issuing orders, and wildly varying schedules in real life.  Here's how I would do it, *if* I were to do it.  Initially, it would feel like a single player game.  Each player would start in their own universe, their own save file.  They are the host of that universe.  Occasionally, you can discover a wormhole that can take you to someone else's universe.  This wormhole will be open if the other person is currently playing and otherwise closed.  So if it's open, you can send a fleet through, and that fleet will now exist in their database (save-game) and be deleted from yours.  You can only see and communicate with that fleet as long as the wormhole is open.  Fleets disappear ("go out of phase in the quantum realm?") if someone logs off.  Abuse-prevention code would be added as needed.   Time is entirely independent between universes.  The host can close a wormhole at any time, which is equivalent to switching to offline play.  Their fleets in other worlds disappear to limbo, as do other players fleets in the host world.

Guests would have a limited budget on the amount of time spent on issuing orders per in-game-day.  The host of a universe dictates the budget, and will hopefully allow for some wiggle room per verbal agreements.  Obviously a lot of real-time out-of-character communication should be taking place in a discord or wherever, to help coordinate the timing.  There would be a list of every player in the universe, and whether or not they are ready for time to advance (and, secretly, they will have recorded how much time they want their next pulse to be.)  Once you've clicked 'ready', you stop spending your budget.

I would want AI to play a huge role in both helping to protect weaker players, keeping stronger players in check, and providing a common enemy for players to work together against.  I have more details written in my notes but I don't want to derail my own thread. (Please start a new thread if you wish to talk about this further)


Well I guess this turned out to be a progress update hah.  I'll have a new build and screenshot in a couple of days. I'm really excited about being close to done with commanders because then I can get back to some nice deterministic things like completing construction and research!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Erik L on June 18, 2019, 03:34:24 PM
You might want to add something in there about Aurora and Steve. I'm not a lawyer, and this is not legal advice. :)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on June 18, 2019, 04:15:39 PM
You might want to add something in there about Aurora and Steve. I'm not a lawyer, and this is not legal advice. :)

Oh that's been in there from day 1.  I clipped the image out of habit from the 56k modem days.  (Self Now == Dated)

(https://i.imgur.com/8BKZxJs.png)

(edit: hi Whipple!)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Erik L on June 18, 2019, 06:55:33 PM
You might want to add something in there about Aurora and Steve. I'm not a lawyer, and this is not legal advice. :)

Oh that's been in there from day 1.  I clipped the image out of habit from the 56k modem days.  (Self Now == Dated)

(https://i.imgur.com/8BKZxJs.png)

(edit: hi Whipple!)

Pfft. 56k? You modern youngsters. Try an acoustic handset. I think that thing was 300 baud.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Father Tim on June 18, 2019, 07:41:38 PM
Pfft. 56k? You modern youngsters. Try an acoustic handset. I think that thing was 300 baud.

300 baud?  Pssh!  There's no way my tape drive could have kept up with that.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: ZimRathbone on June 18, 2019, 10:08:35 PM
Pfft. 56k? You modern youngsters. Try an acoustic handset. I think that thing was 300 baud.

300 baud?  Pssh!  There's no way my tape drive could have kept up that.

Tape Drive?  Luxury, lad.  We used to dream of having a tape drive, just needed to make sure you had three rubber bands to keep the cards together.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Korsar13 on June 19, 2019, 01:57:00 AM
Quote from: ZimRathbone link=topic=10149. msg114962#msg114962 date=1560913715
Tape Drive?  Luxury, lad.   We used to dream of having a tape drive, just needed to make sure you had three rubber bands to keep the cards together.
I still remember punched tape. . .  as long-term memory for the control computer at the factory.  1987, IIRC.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Myvar on June 19, 2019, 03:05:04 AM
Have you giving any thought to adding an in-game node editor, this will allow people with no coding skills to edit the scripts, and to keep us coders happy who don't like node editors you can make it so you can add your own node types that are linked to a script file, this way people can make scripts that can be shared easily and non coders can drop the new scrips in an use it as a new node in there node script thing ?
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: boggo2300 on June 19, 2019, 04:43:56 PM
Pfft. 56k? You modern youngsters. Try an acoustic handset. I think that thing was 300 baud.

300 baud?  Pssh!  There's no way my tape drive could have kept up that.

That's actually a pretty high tech acoustic coupler, mine was 120baud and most of the ones I used at school were 80!

I was so proud when I got my actual Modem (though it didn't have the Hayes command set, so had a telephone handset attached that you used to dial, then hit the att(ach) button,  that was 1200 baud!!)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: ZimRathbone on June 19, 2019, 06:58:50 PM
Quote from: ZimRathbone link=topic=10149. msg114962#msg114962 date=1560913715
Tape Drive?  Luxury, lad.   We used to dream of having a tape drive, just needed to make sure you had three rubber bands to keep the cards together.
I still remember punched tape. . .  as long-term memory for the control computer at the factory.  1987, IIRC.

When I was in uni in Edinburgh  ('79-'80 or thereabouts) there were actually some computers in the Chemistry department that were hand programmed using switches - I never actually used them (I was on a Physics/Maths track) but I remember some of my friends bitching about them. 
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: amram on June 19, 2019, 07:04:49 PM
I'm in compsci now, pretty sure I'd be about ready to kill people if I had to deal with switches for programming a machine.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on June 21, 2019, 04:13:51 PM
Progress update 2019-06-21:

Alright, let's get this thread back on track :P

I decided against externalizing commander logic into scripts for a couple of reasons: It requires a much more complex interface with the database than AI ever will; There is practically nothing in the database related to how an AI thinks, which makes AI much more suitable for an external module.  So for commanders, I plan to instead post a "Rules" thread at some point in the future, where I basically write down an english language description of how commanders are processed in the sequence of play.  This will accomplish the same intended effect of allowing the community to review the logic and point out where they see discrepancies with A4X mechanics. 

Anyway, I've completed the work I want to do with commanders for this phase of my campaign.  Commander health risks, retirement, dying of old age, accidents, promotions, skill ups, mass re-assignments, and new recruits are implemented.  There are still a few things left to do but this feature set should support a reasonably realistic campaign for a good long while, and it will be easy to fill in the gaps with the framework I have in place now.  The latest build is up on Itch, and this includes the new Godot and SQLite engine versions as well.

So here is the progress in my campaign from my last update:

(https://i.imgur.com/DlNe7L7.gif)

The Military Academy finishes constructing, and progress stops there.  This brings the amount I have implemented in Quill18's Aurora series (https://www.youtube.com/watch?v=zcWln8Ne1RA&list=PLs3acGYgI1-sRFRB4BPB-FbmVuvwIKH92) to 38:00 in Episode 1. (forward from 33:30)

Onward!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on June 24, 2019, 04:38:13 PM
Progress update 2019-06-24:

The baby campaign continues.  We'll set up the shipyard to expand capacity by 2000 tons:

(https://i.imgur.com/dq6Lo2k.png)


Check how far along we are with research:

(https://i.imgur.com/yDULvOS.png)


Then auto-run at 30 day increments until research completes.

(https://i.imgur.com/g8s64IF.png)


Lots of new research has been unlocked:

(https://i.imgur.com/YvqbPvK.png)


Get geo sensor research started:

(https://i.imgur.com/ANXfOWu.png)


Turn fuel refining back on:

(https://i.imgur.com/GHiL7mF.png)


Start converting CI to Construction Factories and Mines, at a 60 40 split:

(https://i.imgur.com/bzpMsQu.png)


Advance 30 days to make sure everything is running properly. 
First, let's take a look at the Industry tab -- looks like 2 CI's were converted to Factories, and 1 CI was converted to a mine, with a little bit of credit left over:

(https://i.imgur.com/4bHNiKk.png)

Is 1067.9 the correct construction rate?  (997 CI + 2 * 10) * 1.05 governor bonus = 1067.85.  Yep, looks good!

(https://i.imgur.com/yVpuDq4.png)

Looks good again!

Latest build is pushed.  This brings me forward to 7:55 in episode 2 (https://www.youtube.com/watch?v=kAAmcyk9bRc&list=PLs3acGYgI1-sRFRB4BPB-FbmVuvwIKH92) of 32 in the quill18 playthrough.  Onward!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: joansam on June 24, 2019, 05:12:27 PM
Wow - gotta say you're doing a phenomenal job with this.  Extremely impressive!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Cyborg29 on June 25, 2019, 04:55:50 PM
I'd like to ask a question: are you going to include a VB6 database/save import feature?
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: MasonMac on June 25, 2019, 07:31:59 PM
I'd like to ask a question: are you going to include a VB6 database/save import feature?
He said yes, I believe. Right now I think you have to ask him to convert a save file first
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on June 26, 2019, 01:01:54 PM
I'd like to ask a question: are you going to include a VB6 database/save import feature?
He said yes, I believe. Right now I think you have to ask him to convert a save file first
I am most likely not going to provide a tool to do so, mainly because the script has a ton of dependencies that would be annoying to deal with and because its typical use would be one shot and done, not something needed on a regular basis. 

That said, I will always be happy to convert save files on request!  Literally happy.  It will give me more test data to work with!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on June 26, 2019, 01:49:38 PM
Progress update 2019-06-26:

The test campaign continues! Latest build is up. Geological Survey research completed:

(https://i.imgur.com/MTbyjsG.png)


Research labs are left inactive for now.  Shipyard finishes upgrading to 3000 ton capacity:

(https://i.imgur.com/nOHSI5C.png)


Start another 1000 ton expansion:

(https://i.imgur.com/RAbFnJH.png)


Expansion to 4000 tons completes.  Lets create our first ship class!  Open the design window and click New:

Off-Topic: show
(https://i.imgur.com/FDH3cHX.png)



Rename to Savant:

(https://i.imgur.com/qvKgMOW.png)


Change the hull:

(https://i.imgur.com/Q2Jd7Gg.png)


Add the Geo Sensors (You'll need a wide browser window):

Off-Topic: show
(https://i.imgur.com/GM4EUPy.png)



Let's create our first research project, a commercial engine for our Geo ship:

(https://i.imgur.com/asodOID.png)


The project now appears in the research panel.  Lets start researching it:

(https://i.imgur.com/UzgM7IL.png)


Add the engine to the ship design:

Off-Topic: show
(https://i.imgur.com/PFmZNDM.png)



Set deployment time to 120 months and add one more engine for a little better speed:

Off-Topic: show
(https://i.imgur.com/gCPAQBE.png)



Retool the shipyard for the GEV Savant.  The retool is instant since it's the first one for this shipyard.  Note that this locks the class design.

(https://i.imgur.com/ESczEob.png)


Start constructing our first ship:

(https://i.imgur.com/cZHXvlM.png)


Start some new research projects:

(https://i.imgur.com/xkks9Rc.png)


Finally, let's skip 30 days to make sure everything works, and check our production overview:

Off-Topic: show
(https://i.imgur.com/ofnFqlD.png)

(https://i.imgur.com/PbKU2nL.png)

(https://i.imgur.com/GoEiqrb.png)



Nice!  This brings us all the way to the beginning of episode 3 (https://www.youtube.com/watch?v=pDGgt_IWGZc) of 32 in quill's series.  Next up is letting time pass and finishing construction of the first ship!  Interestingly, you can see what's in store for Quasar4x after that by checking out the titles of quill's upcoming episodes.  The series is really serving as a nice, well-defined checklist.

Off-Topic: One small note • show
As game time passes, there is a skew in almost all of the numbers between A4X and Q4X.  Almost every calculation A4X does, especially time or prediction related, has some amount of error when compared to their known formulas.  So every few steps, once I'm as sure as I can be that my calculations on the Q4X side are correct, I re-import the A4X game into Q4X to re-sync the databases.  Otherwise my two saves would become hopelessly different and I would no longer be able to see the meaningful updates on the A4X side.  So, while each screenshot is a result of actions taking place on the Q4X side, the numbers will be off from a game played solely in Q4X from Year 1.


Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Cyborg29 on June 27, 2019, 09:12:31 AM
Quote from: Kyle link=topic=10149.  msg115139#msg115139 date=1561572114
I am most likely not going to provide a tool to do so, mainly because the script has a ton of dependencies that would be annoying to deal with and because its typical use would be one shot and done, not something needed on a regular basis.   

That said, I will always be happy to convert save files on request!  Literally happy.    It will give me more test data to work with!

In that case i'll include my current database.   It currently has 4 different games, but only the "Terran Federation" has been played for some time.   I hope it helps, because i can barely wait!  ;D

Edit: I remember you mentioning that you didn't have enough data to work with fighters and fighter wings, do you still need it? Because i could build a few and post the database again.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on June 27, 2019, 06:12:39 PM
Quote from: Kyle link=topic=10149.  msg115139#msg115139 date=1561572114
I am most likely not going to provide a tool to do so, mainly because the script has a ton of dependencies that would be annoying to deal with and because its typical use would be one shot and done, not something needed on a regular basis.   

That said, I will always be happy to convert save files on request!  Literally happy.    It will give me more test data to work with!

In that case i'll include my current database.   It currently has 4 different games, but only the "Terran Federation" has been played for some time.   I hope it helps, because i can barely wait!  ;D

Edit: I remember you mentioning that you didn't have enough data to work with fighters and fighter wings, do you still need it? Because i could build a few and post the database again.

Done, posted here http://aurora2.pentarch.org/index.php?topic=10439.0 (http://aurora2.pentarch.org/index.php?topic=10439.0) and made a new thread for conversions.

It will be awhile before I need outside test data, still have plenty of development to do before I'm at that point.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on June 28, 2019, 02:10:43 PM
Progress update 2019-06-28

Ready for some fun?  :)

The first ship has completed construction and a commander was automatically assigned:

Off-Topic: show
(https://i.imgur.com/D0R1i87.png)


We'll kick off another ship construction, a second Savant class ship named Spartan.  Press 'Detach' to detach the first ship into a new fleet, and issue an order to survey Luna:

Off-Topic: show
(https://i.imgur.com/25UlPLT.png)


Set default orders to survey nearest body:

(https://i.imgur.com/hGyzW5V.png)

Advance time 1 hour, to see the ship move toward its first survey target:

(https://i.imgur.com/CMEji3z.gif)

Actually, hang on.  Let's have some fun.  First we need to turn off 'no overlap' because I haven't gotten around to optimizing it yet:

(https://i.imgur.com/NUilsr2.png)

Let's fly to Luna again but this time set auto-turns for 30 second increments.

(https://i.imgur.com/6Arh9Hh.gif)

Note that there are 6 sub-pulses per frame here.  Let's try 1 day increments, with the default of 48 sub-pulses per frame:

(https://i.imgur.com/Y4nmL40.gif)

Finally, let's see 5 day increments, starting with the default amount of 60 sub-pulses per frame, and then for fun, switch to 5 subpulses per frame:

(https://i.imgur.com/cPqglUd.gif)

:)   New Build is pushed and this brings us to 13:30 in episode 3 (https://www.youtube.com/watch?v=pDGgt_IWGZc) of 32.  Onward!



Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: amram on June 28, 2019, 03:43:53 PM
Now that is awesome, its very nearly an RTS now, in the sense that paradox games are real time....sorta...(small time increments that auto advance while you play)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Lava on June 29, 2019, 11:58:05 AM
First: Wow! Awesome work, I love this project, and the speed you're checking one milestone after the other is absolutely mindblowing!

Are you interested in bug reports (yet)?
[Should we open a new thread for bugs, or is it to early for that to be useful?]

Anyway. . .
In Quasar4x-win64 Version 32 there's a bug in Industry Project completion.


The problem is not with creating new buildings on the planet - if your project is n $building, the first n-1 are build and active on the planet without problems, the problem only occurs if Amount Remaining reaches 0 and/or the project completes. . .

[All "tests" done with fresh database, obviously. ]
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on July 01, 2019, 11:39:06 AM
It's probably a bit too early for bug reports because there is a LOT of time-related things simply not done yet.  Appreciate you checking it out though!  I just pushed a new build which I believe gets rid of the issue you saw.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on July 01, 2019, 12:33:15 PM
Progress update 2019-07-01:

I continued the campaign up to 24:25 in episode 4 (https://www.youtube.com/watch?v=txp9Or_8BIg) in Quill18's series.  Latest build is pushed. New capabilities include: Producing new shipyards, construction task queue processing, and shipyard continual capacity expansion.  Here's a more or less complete text log of how the campaign progressed.

Off-Topic: show
Put a space in front of the Shipyard TG so it shows at the top of the list.
2nd geo ship, the Spartan, finishes constructing. Detach it into its own fleet.
Give it same orders as the first, default orders to survey nearest body and refuel if < 30%
But first, survey Jupiter.
Pass more time. Research into Pressurized Water Reactor and Active Grav Sensor Strength 10 finishes.
Assign Michael Willis to research Nuclear Thermal Engine Tech with 2 labs
Assign Harrison Wade to research Turret Tracking Speed 2000 km/s with 1 lab
At this point Construction Rate is up to 4236 / year.
30 day auto turns until 10cm Meson Focal Size research completes.
Assign 1 lab to Natasha Gardner (15% SF) to research Improved Geological Sensors
Convert CI to Construction Factories completes
Set CI to Mines to 100% and let those finish
Start producing a Commercial Shipyard using 100% of construction factories
Queue a Military Academy, 2 mass drivers, 50 auto mines, 20 fuel refineries, 2000 infrastructure at 100% each
Start expanding shipyard by 2000 more tons
Cancel all research except the engine and assign Cryogenic Transport research to Elizabeth Talbot (LG 10%)
Commercial Shipyard completes. The construction queue advances and Military Academy starts being produced
Military Academy finishes, Mass Drivers begin
Cryogenic Transport completes.
Allocate all 5 labs to finish Nuclear Thermal Engine research. The RP we researched from last time is still there.
The 2 Mass Drivers finish, Automated mines begin
Naval Shipyard finishes expanding to 6000 tons
Nuclear Thermal Engine research completes.
Create Research Project Corianis NT 125 EP Commercial Nuclear Thermal Engine:

Engine Power: 125     Fuel Use Per Hour: 11.05 Liters
Fuel Consumption per Engine Power Hour: 0.088 Liters
Engine Size: 50 HS    Engine HTK: 25
Thermal Signature: 125     Exp Chance: 5
Cost: 31.25    Crew: 25
Materials Required: 31.25x Gallicite
Commercial Engine

Development Cost for Project: 312RP

(There is a popup to confirm it was created)
Oliver Lee (20% PP) will research this project with all 5 labs
Rename the 10k ton commercial shipyard to Yellow Dog Dockyard
Set it to continuous expansion
Advance time to confirm continuous expansion works
125 EP Commercial engine completes research

Create new ship design
Rename the class to Valdyr
Set Hull to Freighter
Not too far off from A4X values!
(https://i.imgur.com/boCpbXS.png)
Start and complete Cargo Handling Systems research
Fuel Refinery Completes
Add Cargo Handling System x 5 to Valdyr design
Design is now:
   
Valdyr class Freighter    33 500 tons     115 Crew     399.3 BP      TCS 670  TH 250  EM 0
373 km/s     Armor 1-92     Shields 0-0     Sensors 1/1/0/0     Damage Control Rating 1     PPV 0
MSP 7    Max Repair 31 MSP
Intended Deployment Time: 24 months    Spare Berths 2
Cargo 25000    Cargo Handling Multiplier 25

Corianis NT 125 EP Commercial Nuclear Thermal Engine (2)    Power 125    Fuel Use 8.84%    Signature 125    Exp 5%
Fuel Capacity 300 000 Liters    Range 18.2 billion km   (565 days at full power)

This design is classed as a Commercial Vessel for maintenance purposes

Copy class and rename to Joeb
Remove 5 cargo holds and add 10 cryo transports

Joeb class Colony Ship    33 750 tons     210 Crew     1403.9 BP      TCS 675  TH 250  EM 0
370 km/s     Armor 1-93     Shields 0-0     Sensors 1/1/0/0     Damage Control Rating 1     PPV 0
MSP 26    Max Repair 31 MSP
Intended Deployment Time: 24 months    Spare Berths 1
Cryogenic Berths 100000    Cargo Handling Multiplier 25

Corianis NT 125 EP Commercial Nuclear Thermal Engine (2)    Power 125    Fuel Use 8.84%    Signature 125    Exp 5%
Fuel Capacity 300 000 Liters    Range 18.1 billion km   (565 days at full power)

This design is classed as a Commercial Vessel for maintenance purposes

On DAC/Rank/Info tab, Valdyr shows up as eligible alternate class for a Joeb-fitted Shipyard
Set up some research:
(https://i.imgur.com/5Wu4Dzk.png)
Infrastructure completes
Turret Tracking research completes
Research Turret Tracking 3k
Beam FC Range 10k research completes
Queue up construction for 5 more research facilities
Stop continual capacity expansion. Kind of forgot about it so it's around 63k now
Instant retool of commercial shipyard to Joeb class
Start construction of Valdyr 001 freighter
Add a research lab to Jump Point Research
A new research lab finishes construction, pausing auto turns so we can assign it. I'll just spread the labs around somewhat arbitrarily.
Another lab finishes construction.
Valdyr 001 finishes construction. Create fleet from it using Split TG. Rename new fleet to Cargo TG 1


At this point I've decided to bring this phase of following along quill's campaign to a close.  I'm not coming across new areas that need to be coded frequently enough and it is getting tedious to progress in this fashion.  Every single click requires me to take the same action in two different games (A4X and Q4X), then run a db diff to check for differences, scan through a lot of false positives, possibly redo, and finally re-import the A4X game to Q4X because of floating point drift, ID mismatches, and commander RNG.  I had a brief moment of reflection deciding what I wanted to do next. I've always been excited to do a campaign of my own and add code whenever I hit an undeveloped area, but I'm realizing the problem with that is there's so much stuff I know isn't done I find myself getting impatient to reach the point in the campaign where the new code is needed.  I also want to get the game to a point where other people can have a meaningful campaign sooner rather than later.  I very much look forward to the point when someone else is running a campaign and coming to me saying "hey I ran into this feature that isn't implemented or is broken, can you please fix so I can continue the game" because it's going to soon become difficult to keep track of what's broken or isn't implemented and I like having some focus on what needs to be worked on next.

For now I've decided to shift gears and start implementing most of the SM-Only features from Aurora.  Just before this post I finished implementing the "All Research" button on the Colony Summary window (which as a side effect included adding support for about a dozen research categories that add instant racial bonuses such as wealth generation rate.)  SM Only features were on the to-do list anyway so I figured I might as well do some (or most) of them now.  This will help me set up situations for development and testing of new feature support faster than a normal campaign will do it, including adding support for most of the possible fleet orders.  I kind of want to break some ground into the star system generation code as well.  And maybe start over on a campaign of my own, with no log, just something for fun.  I'll be bouncing around for a bit.  Onward!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Myvar on July 02, 2019, 02:52:18 AM
Keeping track of things can be hard and will get harder when people start playing in the way you described, it might be worth creating a GitHub repo that is empty, you don't commit code to it or anything, it just has a Readme and thats it, then you use the Issue and Projects(very use full to plan and prioritize stuff) section to help you managed stuff.  This will especially be useful when others start playing, Valve does this for steam on linux: https://github. com/ValveSoftware/steam-for-linux they have a repo but its empty thay purely use it for admin
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: TMaekler on July 02, 2019, 07:31:05 AM
The thing you did with "put a space in front of...", I always do that ingame to keep important ones at the top. But I do that with several levels of importance. Could you imagine adding a "level of importance" to the groups (which is a separate field) and then sort them first according to the group importance and then to the name? That would be awesome... .
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on July 10, 2019, 04:53:17 PM
Progress update 2019-07-10:

This update focused on implementing many of the Spacemaster-only features from Aurora, an area which was I had previously left mostly incomplete.  Primarily I needed the 'Fast OB Creation' feature from the Spacemaster menu, to quickly create fleets for testing fleet orders as I start adding them in, but I added a lot more than that because it had to get done sooner or later anyway.  Adding these was pretty grindy so I'm glad to have them out of the way.  The following are now implemented, all of them only accessible when SM is enabled:

On the Industry tab:
- Add Missiles to population stockpile
- Add Maint Supplies to population stockpile
- Add Ship Components to population stockpile

On the Manage Shipyards tab:
- SM SY Mod button opens the Modify SY panel
- Add Shipyard
- Delete Shipyard
- Update shipyard slipways, capacity, and type

On the Research Tab:
- Instant RST button (Immediately research a project you created)

On the Env / GMC Tab:
- Set ATM button

On the Commanders window:
- Promote
- Demote
- Move commander to specified population
- Add extra officers
- Replace all (replaces entire officer corps with new randomly created officers based on a specified number of years)
- Reset commander to capital

On the Create New Research Project window:
- Immediately create and research the designed tech

On the Ships window:
- Refuel selected ship

On the System View (F9) window:
- HW Minerals (delete all deposits on selected body and randomly generate homeworld-like mineral distribution)
- JP Survey (survey all jump points in selected system)
- All SB Survey (instant geo survey of all bodies in system)
- Star SB Survey (same, but only for bodies of selected star)
- Body Survey (same, but only for selected body)
- No SB survey (set all sb's in system as unsurveyed)
- Add JP (Adds a new randomly generated warp point)
- Delete Jump Gate
- Delete JP
- Add JG
- Change JP bearing and distance
- Connect JP to other unlinked JP
- Break link between JP's

At the bottom of the F3 window:
- All Research (Immediately research all techs with cost and prereq costs below the specified amount)
- Field Res button (same as All Research but for only 1 of the 8 research fields)
- SM Mods button and corresponding window:

(https://i.imgur.com/spmyQTM.png)

On the Main Menu:
- Deleted the Game Parameters menu. These options are all either irrelevant or not interesting
- Compact Database from the Misc menu (issues the sqlite 'vacuum' command)

And more new windows from the Main Menu > Spacemaster menu:
- Compare Tech (Also available from F3 Research tab):
(https://i.imgur.com/ixaF9AW.png)

- System Summary:
(https://i.imgur.com/UXDfGK2.png)

- Comparison (of races):
(https://i.imgur.com/kCz32TA.png)

- Fast OB Creation:
(https://i.imgur.com/KlsdgF8.png)

Miscellaneous Musings:
- Always seems like I tick off a ton of To Do items with each progress update, this one included, yet there is always a lot more to do.  I do wish I could provide a relative percentage of my completion.  It's very hard to make clear to other people, heck, it's hard to know myself, what's done, what isn't done, and how close the program is to an actual game.  If someone were to create a granular list of absolutely everything that is possible in A4X, I would happily add it to my OP and start crossing off items as they were completed, but creating such a list is a huge chore and I bet it wouldn't even be detailed enough!

- I do check the quasar4x channel in Discord from time to time, and one topic that struck me was the conversion of A4X games to Q4X.  Seems like it's unclear why I support that and what the difficulty is to migrate a file.  In fact, it's extremely easy to migrate, and I do it many times a day for my own purposes.  All it requires is one command line.  Here is an example of me running it, with an extra 'date' command to show that a migration takes only ~30 seconds to complete:

(https://i.imgur.com/j4bSZ3d.png)

Someone mentioned it was a waste of time to make this utility but a) I wouldn't be able to make quasar4x without it and b) the utility is already done; I did it, along with the majority of my db-diff scripts, before I created this thread!  If it wasn't clear before, Q4X doesn't just behave like A4X in game, it makes the same database manipulations too.  So any game from Aurora4x, no matter how advanced, is natively understood and handled properly after being converted to sqlite.  Q4X does add a few indexes and adjustments to speed up data access, but these are automatically created when the game is loaded for the first time.  The purpose of the migration tool is to enable me to quickly import an advanced Aurora game into Q4X to make sure the UI display and updates to DB are as similar as possible.  However!  It does have the completely coincidental side effect of allowing someone who was anxiously waiting to try Q4X for real to go ahead and start a game in A4X, and when the lag becomes unbearable, set it aside and import it into Q4X when its ready.

- QoL features: make no mistake, I'd love to add QoL stuff to Q4X the community has been wanting in A4X, but like it says in my OP, for now I need to keep my goal well-defined and reachable.  Let's have a playable game before we think about the feature creep.  Trust me I'm the first one to get frustrated after using a clunky tool a few times and want to redesign it with new QoL in mind.  Why do you think I created Q4X??  I lost patience with the slow turn times *real* fast and passionately wanted to fix the problem.   I think the majority of veterans here put up with way more minutes that I've ever been willing to deal with.

- 3rd party tools: Additionally, I think I've used most of the spreadsheets and calculators out there, and I've probably been just as frustrated as anyone else that the numbers don't always line up.  While it's a very long way off, I do at least share the vision that any calculator or spreadsheet should be able to exactly match what is done in the game.  I'd like to support this by either adding in in-game utilities, mod support for custom "spreadsheets", or at the very least be able to publicly post "excel" like formulas to help fill in the missing pieces. 

- Monitor sizes: I don't have a whole lot planned for supporting gigantic displays, but it shouldn't be too hard to add a UI scale slider some day.  That's only needed if the text is too small for you to read though.  The main window itself can be any size, *and* every window in the game is resizable by dragging on the edge, and the UI elements all readjust themselves accordingly. My only regret is that the game is confined to a rectangular "master" window, rather than the A4X style of multiple independent dialogs.  Afaik, that will never change.  But!  Did I mention I want to support tablets some day?  I think I did in my OP.. either way, Godot does support deploying to Android and I've already confirmed Quasar4x works on my phone, but that was a long time ago.  I eagerly look forward to being able to take Q4X on the road with me some day.  I just hope the game doesn't instantly melt the batteries..

- Pies in the Sky: Can you tell I'm not afraid to talk about stuff that is probably years away from becoming a reality, if ever?  That's the nice thing about a hobby project with no deadline, budget, boss, producer, etc...  It's no skin off my back if "promises" are broken!

- Coding language: When I record the cool animations of time passing, computations are done with debug mode enabled and purely* in GDScript.  Additionally I don't go out of my way to optimize anything, that is for much later on.  Still everything is quite fast.  The reason for this is that my code makes heavy use of queries and database updates written in SQL.  There are entire functions that are not much more than a series of SQL statements.  These are all passed to the sqlite3 dll (.so in linux) which is written entirely in C.  C is a very fast language, about as close as it gets to assembly language.  The sqlite3 dll of course has been extremely well refined over the years, and the SQL language itself has been heavily analyzed and has numerous optimizations that sqlite3 implements (https://www.sqlite.org/optoverview.html).  These facts don't help much with your traditional video game, but they are perfect for Quasar4x.  (I do still plan to make use of C++ for intensive calculations such as pathfinding)

Latest build pushed.  Where do I go from here?  Well, I had a few more items on my Spacemaster-only list but I'm kind of sick of this vein of work so I'm most likely going to jump into the next items on my list from my 2019-07-01 update, fleet orders being the most likely thing I take on next. 
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: procdrone on July 10, 2019, 10:39:19 PM
As for QoL, like on discord, ill keep it up here as well.

Do the basic first, wrap the project and then add QoL or features.

Feature creep is simply the worst thing that might happen to developing project.
Well that, and the abandonment (i pray to all gods that not. )

Cheers on the new update, the steady progress you're making shows how much work you are pushing into this.  its absolutely insane.  We are all proud.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on July 16, 2019, 03:53:46 PM
Progress update 2019-07-16:

Just a quick update to "come up for air", no screenshots this time.  I'm going through all the fleet orders implementing them and doing all the side-tasks that pop up as well.  Here's all possible fleet orders and what's been done:

Standard Transit
Move to
Join
Load Colonists
Refuel Target Fleet
Unload Colonists
Refuel from Colony
Divide Fleet into Single Ships
Geological Survey
Gravitational Survey
Load Fuel Refinery
Load Construction Factory
Load Mine
Load Infrastructure
Load Automated Mine
Unload Fuel Refinery
Unload Construction Factory
Unload Mine
Unload Infrastructure
Unload Automated Mine
Refuel from own Tankers
Reload Own Fleet from Colliers
Provide Ordnance Reload for
Load Ordnance from Colony
Load Tracking Station
Unload Tracking Station
Squadron Transit
Land on Assigned Mothership
Follow
Load [Mineral Type]
Unload [Mineral Type]
Load All Minerals
Unload All Minerals
Build Jump Gate
Unload 90% Fuel to Colony
Refuel from Target Fleet
Activate Shields
Deactivate Shields
Load [Mineral Type] when X available
Pickup Commander
Drop Off Commander
Load Ground Unit into Transport Bay
Unload Ground Unit from Transport Bay
Unload All Ground Units from Transport Bay
Enter Hyper Speed
Leave Hyper Speed
Equalise Fuel Percentage
Equalise Maintenance Supplies
Incorporate Sub-Fleets
Transit and Divide Fleet
Detach Non-Survey Ships
Unload All Installations
Rescue Survivors
Unload Survivors
Deploy Escorts
Detach Tankers
Detach Colliers
Active Sensors On
Active Sensors Off
Pickup Team
Drop Off Team
Salvage
Load Research Lab Components
Unload Research Lab Components
Send Message
Load Maintenance Facility
Unload Maintenance Facility
Load Mass Driver
Unload Mass Driver
Begin Overhaul (rewind clock)
Abandon Overhaul
Absorb
Activate Transponder
Deactivate Transponder
Intra-system Jump
Resupply from Colony
Resupply Target Fleet
Resupply from Target Fleet
Resupply from own Supply Ships
Unload 90% Maint Supplies to Colony
Load PDC Component
Unload PDC Component
Extended Orbit
Launch Missiles at
Load Terraforming Installation Components
Unload Terraforming Installation Components
Load Trade Goods
Unload Trade Goods
Move To Trade Location
Picket (Speed 1km/s)
Load Ship Component
Unload Ship Component
Load Ground Unit into Drop Module
Combat Drop Ground Unit
Load GU into Drop Module from Fleet
Load GU into Drop Module within Fleet
Attempt Boarding Action
Load Ordnance Factory
Unload Ordnance Factory
Load Fighter Factory
Unload Fighter Factory
Move To Wreck
Move to Mineral Site
Load Genetic Modification Centre
Unload Genetic Modification Centre
Receive Cargo
Unload Ordnance to Colony
Land on Specified Mothership (No Assign)
Land on Specified Mothership (+ Assign)
Tractor Specified Ship
Tractor Specified Shipyard
Release Tractored Ships
Release Tractored Shipyards
Load GFTF Components
Unload GFTF Components
Load/Unload Minerals to Reserve Level
Load/Unload Fuel (To Set Level)
Load/Unload Supplies (To Set Level)
Add Replacement Crew
Enter Wormhole

I've been using SM tools to quickly set up isolated scenarios for these.  Progress through this list should speed up a bit, as the first few fleet order types led me to add or update some of the underlying framework.  (On the other hand, I've been going at a more relaxed pace lately)  The 'load colonists' order includes support for partial loading.  The Transit fleet order was a big one.  It adds support, for the first time in Q4X, for passing through a jump gate and arriving at a newly generated system on the other side.  Currently, you arrive at the Barnard's Star system with the same layout every time, but it's all ready for the randomness to be added.

Whenever this list is finally done to my satisfaction, most likely I'll be working on conditional and default orders next.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Father Tim on July 16, 2019, 05:56:11 PM
A question about Fleet Orders:

In VB6 Aurora, most (but definitely not all) unload orders will create a colony at the destination if there isn't one.  This leads to two bugs:  (A) the rare order that does not automatically create a colony, causing items to disappear or future orders to fail, and (B) the creation of multiple colonies on the same rock, because (for example) installations were sent from two different sources.

Will Quasar alter these errors in some way?
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Steve Walmsley on July 16, 2019, 06:15:22 PM
A question about Fleet Orders:

In VB6 Aurora, most (but definitely not all) unload orders will create a colony at the destination if there isn't one.  This leads to two bugs:  (A) the rare order that does not automatically create a colony, causing items to disappear or future orders to fail, and (B) the creation of multiple colonies on the same rock, because (for example) installations were sent from two different sources.

Will Quasar alter these errors in some way?

In case it helps, for C# Aurora, I have removed the automated creation of colonies by fleet orders. Instead, you create them manually on the Fleet Orders, System View or Mineral Search windows. This is clearer and avoids bugs.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on July 16, 2019, 09:32:57 PM
A question about Fleet Orders:

In VB6 Aurora, most (but definitely not all) unload orders will create a colony at the destination if there isn't one.  This leads to two bugs:  (A) the rare order that does not automatically create a colony, causing items to disappear or future orders to fail, and (B) the creation of multiple colonies on the same rock, because (for example) installations were sent from two different sources.

Will Quasar alter these errors in some way?

In case it helps, for C# Aurora, I have removed the automated creation of colonies by fleet orders. Instead, you create them manually on the Fleet Orders, System View or Mineral Search windows. This is clearer and avoids bugs.

Good to know!  This is what I'll do then.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on July 19, 2019, 10:41:35 AM
Progress update 2019-07-19:

Completed some more fleet orders.  The list now looks like this:

Standard Transit
Move to
Join
Load Colonists
Refuel Target Fleet
Unload Colonists
Refuel from Colony
Divide Fleet into Single Ships
Geological Survey
Gravitational Survey
Load Fuel Refinery
Load Construction Factory
Load Mine
.
.
.

One additional side-task completed was fleet interception.  I first noticed the interception trajectory occurring in A4X while testing 'Refuel Target Fleet', and wound up spending quite a bit of time adding my own interception code.  That was a fun experience.. it really tested my memory of high school math (and my ability to re-learn what I've forgotten).  Pay attention when your teacher covers quadratics and discriminants kids, you'll need it some day.  I included support for maintaining a minimum distance from a moving target (fleeing if necessary), making a best effort trajectory when your ship is too slow to ever catch up, and landing on an intercept point that occurs between sub pulses rather than in the middle of one of them.  This should make missile code much less work later on!  I tried to catch all the edge cases but if I missed any I'll fix them.  My intention is to make the minimum distance setting "just work."

A question about Fleet Orders:

In VB6 Aurora, most (but definitely not all) unload orders will create a colony at the destination if there isn't one.  This leads to two bugs:  (A) the rare order that does not automatically create a colony, causing items to disappear or future orders to fail, and (B) the creation of multiple colonies on the same rock, because (for example) installations were sent from two different sources.

Will Quasar alter these errors in some way?

In case it helps, for C# Aurora, I have removed the automated creation of colonies by fleet orders. Instead, you create them manually on the Fleet Orders, System View or Mineral Search windows. This is clearer and avoids bugs.

Good to know!  This is what I'll do then.

This warning from Tim and info from Steve saved me a ton of time, thank you both.  I would have seen the automatic population creation and tried to reproduce it, unknowingly heading myself into a quagmire of tricky issues to solve.  My Unload Colonist code safely pops up a notice that the order is not possible if the target isn't suitable.  So this kind of input is exactly what I need going forward, keep it coming.  I haven't actually played A4X long enough to run into most of these kind of not-immediately-apparent problems that creep up on the veterans.

I also added support in 'load/unload colonists' for carrying multiple species, even on the same ship, and the fleet will unload the correct species based on where you tell a ship to unload.

Onward!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: SerBeardian on July 23, 2019, 04:45:15 PM
Quote
So this kind of input is exactly what I need going forward, keep it coming.


Not sure if this is what you meant by this (as some on the Discord think), and I'm sure some of this stuff will already be fixed simply by the code rewrite, but:
Deep Breath
- Missile Tracking Bonus doesn't work at all.
- PD not firing within first tick of missile launch (ie. at point blank)
- Docked ships calculate deployment time based on time since launch from hangar, letting hangars essentially reset morale clock instantly.
- PDCs and Orbitals are not scrappable via industry, only shipyard. PDCs can be refitted, but Orbitals can't. Which means your Orbital is stuck as it is until you can get a shipyard large enough to accommodate. This is not really practical when Orbitals are frequently >1mton. You're also stuck with PDCs where they are forever as well, even if you can keep them up to date.
- PDCs also can't store MSP at all. This means they can't repair docked ships (which may be a design choice), but it also means they can't Damage Control themselves either. Since PDCs can't be repaired via industry either, this means repairing PDCs is essentially impossible.
- The Tractor Train bug - Ship A tractoring Ship B tractoring Ship C makes the whole thing ignore Ship C's mass when calculating speed. Same with Ship C and D and E... This means that you can have two FACs with tractor beams pull a multi megaton station around at thousands of km/s.
- Tug Fuel bug - Tugs use fuel when attached as if they were not. This means that when a tug loses 95% of it's speed due to pulling a giant station around, it will also use 95% less fuel as if it's throttle was set to 5%, when it should be at 100%.
- A few problems encountered when ships have zero fuel capacity, like PDCs and Orbitals without any fuel tanks. Specifically anything related to them moving around.
- Ships restocking crew losses will sometimes pick up too much crew, resulting in life support failures. This problem has proven impossible to fix without deleting and respawning the ship.
- Releasing a shipyard from a tug while away from a colony = very bad juju. Shipyards should be able to exist away from colonies (even if they can't work), and also be picked up and moved again later.
- Related to the "slow missile flying backwards" bug, two-stage missiles seem to calculate the release point based on the distance to intercept point, but the intercept point seems to be based on the carrier stage speed and time on target. This means that if your carrier stage is very slow and a fast ship is the target, then the intercept point could be a lot closer than the separation distance, resulting in some really dodgy separation windows (like a 20mkm terminal stage with a 18mkm separation distance separating 140mkm away from the target).
- More annoyance than bug: opening the component design window without having any levels in all the Active Sensor techs throws an error at you that you don't have the required tech (because Active Sensors are the default option). This doesn't affect gameplay since you can ignore the error and move on to the component you want to design, and you'll have all Active techs soon enough anyway, but this error popup probably shouldn't be as obnoxious. I would recommend only appearing when you try and actually confirm a component that is missing techs.
- Not being able to queue the next level of the tech that your scientist is working on eg. queuing Mining 14 immediately after Mining 12 for the same scientist. You have to queue another tech first, then either wait for that tech to finish, or cancel the research and put the one you want in, losing any other queued techs in the process. Related: Not being able to switch out the current research without cancelling the entire job, which means losing your research queue for that scientist.
- Planets with Ruins do not have Relics available as an export good for Civ shipping.
- Not being able to flag a colony as "not for population use", resulting in civs shipping colonists to that 0-cost colony you just created... on the enemy homeworld so you could land your invasion force.
- Being unable to manually set colony categories. Especially egregious for orbital mining colonies, which are considered "other colonies" by the game.
- Automated Assignments will auto-assign Leaders (which is great!). It will also fire anyone without a job for 6 years, and anyone over 65 without a job. This is crippling when you're just starting to build your navy and just DON'T HAVE enough ships to give them all jobs, but have too many ships to allocate officers manually, resulting in mass layoffs (or many, many lost officers gathered from before you started building a navy). Even worse: This will can scientists as well! That 65% PP guy you have a break to because you needed all labs on a different project? Retired now!
- No ability to pick up POWs from your colonies once dropped off (or do anything else to them for that matter).
- SM Jump Points: While the buttons all work, a lot of the Jump Point modifications done via SM don't update the displayed JP information unless you press other buttons (like linking a JP doesn't show that link unless you press "enter/explore JP" afterwards.
- There's a HW Minerals button that runs the HW mineral generation process, there's an ALL Minerals button that rerolls the entire system, but there's no "This Body" button that rerolls just that one planet naturally. I would request this button.

Aaand I'm out of time, gotta get to work, but that's my big gripes atm that are bugs or annoyances that stick true to AVB6. Might post more later.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on July 25, 2019, 12:35:05 PM
Not sure if this is what you meant by this (as some on the Discord think), and I'm sure some of this stuff will already be fixed simply by the code rewrite, but:

- Missile Tracking Bonus doesn't work at all.
sounds like something I would fix right away i'm leaving this broken for now, to match Aurora 7.1.

- PD not firing within first tick of missile launch (ie. at point blank)
sounds like an order of operations thing, but it sounds annoying, I'll see what I can do  low priority to change this  fixed

- Docked ships calculate deployment time based on time since launch from hangar, letting hangars essentially reset morale clock instantly.
sounds like a missing check for recreational modules? I just saw http://aurora2.pentarch.org/index.php?topic=4819.msg48844;topicseen#msg48844 (http://aurora2.pentarch.org/index.php?topic=4819.msg48844;topicseen#msg48844) Leaving as-is for now until I gather more info.

- PDCs and Orbitals are not scrappable via industry, only shipyard. PDCs can be refitted, but Orbitals can't. Which means your Orbital is stuck as it is until you can get a shipyard large enough to accommodate. This is not really practical when Orbitals are frequently >1mton. You're also stuck with PDCs where they are forever as well, even if you can keep them up to date.
I'll keep this in mind.  Would like to know why it is currently this way. 

- PDCs also can't store MSP at all. This means they can't repair docked ships (which may be a design choice), but it also means they can't Damage Control themselves either. Since PDCs can't be repaired via industry either, this means repairing PDCs is essentially impossible.
No DC or repair sounds super annoying, and doesn't make sense. My guess is it's just more development time that never made it to the top of the list?  Unfortunately not something I would change right away, in interest of saving time

- The Tractor Train bug - Ship A tractoring Ship B tractoring Ship C makes the whole thing ignore Ship C's mass when calculating speed. Same with Ship C and D and E... This means that you can have two FACs with tractor beams pull a multi megaton station around at thousands of km/s.
Will fix this one the minute I get to this fleet order, and sounds like an easy fixIt doesn't appear that A4X intends to support tractor trains, unfortunately.  In Q4X I've made it so that trains should be impossible to create.

- Tug Fuel bug - Tugs use fuel when attached as if they were not. This means that when a tug loses 95% of it's speed due to pulling a giant station around, it will also use 95% less fuel as if it's throttle was set to 5%, when it should be at 100%.
Will fix as soon as i get to tugs, and sounds easy Fixed!

- A few problems encountered when ships have zero fuel capacity, like PDCs and Orbitals without any fuel tanks. Specifically anything related to them moving around.
Will keep in mind.

- Ships restocking crew losses will sometimes pick up too much crew, resulting in life support failures. This problem has proven impossible to fix without deleting and respawning the ship.
Will fix / prevent as soon as I get to this point, and sounds easy to fix

- Releasing a shipyard from a tug while away from a colony = very bad juju. Shipyards should be able to exist away from colonies (even if they can't work), and also be picked up and moved again later.
Will fix as soon as I get to this point From the database structure in A4X, it's clear that shipyards aren't intended to be released in space. In Q4X, I've made it impossible to release a shipyard anywhere other than at a friendly population. Shipyards are destroyed if their tug is destroyed.

- Related to the "slow missile flying backwards" bug,
Will fix, and sounds funny, can't wait to see this

- two-stage missiles seem to calculate the release point based on the distance to intercept point, but the intercept point seems to be based on the carrier stage speed and time on target. This means that if your carrier stage is very slow and a fast ship is the target, then the intercept point could be a lot closer than the separation distance, resulting in some really dodgy separation windows (like a 20mkm terminal stage with a 18mkm separation distance separating 140mkm away from the target).
- Will try to fix if at all possible!

- More annoyance than bug: opening the component design window without having any levels in all the Active Sensor techs throws an error at you that you don't have the required tech (because Active Sensors are the default option).
Oh that got annoying real quick.  Already changed, this is how it works now:
Off-Topic: show
(https://i.imgur.com/XyAYFpR.png)


- Not being able to queue the next level of the tech that your scientist is working on eg. queuing Mining 14 immediately after Mining 12 for the same scientist. You have to queue another tech first, then either wait for that tech to finish, or cancel the research and put the one you want in, losing any other queued techs in the process. Related: Not being able to switch out the current research without cancelling the entire job, which means losing your research queue for that scientist.
nice to have but will delay for now

- Planets with Ruins do not have Relics available as an export good for Civ shipping.
nice to have but will delay for now (and need to research it more)

- Not being able to flag a colony as "not for population use", resulting in civs shipping colonists to that 0-cost colony you just created... on the enemy homeworld so you could land your invasion force.
sounds like an easy fix to the civ ai, when i get to that point

- Being unable to manually set colony categories. Especially egregious for orbital mining colonies, which are considered "other colonies" by the game.
has bothered me too, but will delay for now

- Automated Assignments will auto-assign Leaders (which is great!). It will also fire anyone without a job for 6 years, and anyone over 65 without a job. This is crippling when you're just starting to build your navy and just DON'T HAVE enough ships to give them all jobs, but have too many ships to allocate officers manually, resulting in mass layoffs (or many, many lost officers gathered from before you started building a navy). Even worse: This will can scientists as well! That 65% PP guy you have a break to because you needed all labs on a different project? Retired now!
probably won't change, but we'll see

- No ability to pick up POWs from your colonies once dropped off (or do anything else to them for that matter).
will research further when i get to this point

- SM Jump Points: While the buttons all work, a lot of the Jump Point modifications done via SM don't update the displayed JP information unless you press other buttons (like linking a JP doesn't show that link unless you press
"enter/explore JP" afterwards.
might actually be a non-issue already but either way my philosophy is to make the refresh button irrelevant. I want every window to be correct at every point in time. Currently, the refresh button is still often necessary but that's because the program is still rapidly growing.  Implementing magical auto refresh will be a phase down the road.  Most likely i will just have every user input trigger the global refresh since it's so fast anyway, with optimizations here and there for any noticeable UI lag (F9 is probably the only window with any noticeable UI lag). You can already see how fast Refresh All is, all the animations I post have a global UI refresh after every frame.

- There's a HW Minerals button that runs the HW mineral generation process, there's an ALL Minerals button that rerolls the entire system, but there's no "This Body" button that rerolls just that one planet naturally. I would request this button.
That struck me as odd. will most likely add since it's useful for testing, its very easy to add, and there's room for it This has been added, the button is called SB Minerals

Thanks for the input!  For any new input just keep in mind that nice-to-haves will be put on the back burner.  Changes that reduce workload AND prevent future bugginess are the juicy ones I'm looking for, like the elimination of auto-colonies.

Edit: might be changing some responses as more information becomes available to me.  I'll mark edits with strikethrough.  Not going to bother with any sort of official organization for now since I'm in creation mode and these are just things I'm keeping in mind
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: JacenHan on July 25, 2019, 12:46:21 PM
- PD not firing within first tick of missile launch (ie. at point blank)

I thought this was considered a feature? I know Steve intentionally used it a few times in his campaigns, even if it was changed for C#. I personally prefer the new system, but if the goal is to remain as close to VB6 as possible, sans bugs, this seems like something that would stay the same.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on July 25, 2019, 03:06:50 PM
Progress update 2019-07-25

More fleet orders implemented, up through and including Land on Assigned Mothership -- which means for the first time Quasar4x supports parasites!  There is a still lot of work to be done with parasites but I've got a foothold now, enough to land them, launch them, and start adding working on additional parasite-related fleet orders and parasite UI elements that are currently just placeholders.

I grouped together installations on my fleet order checklist since they're all mostly the same implementation.  So my fleet order checklist now looks like this:

Standard Transit
Move to
Join
Load Colonists
Refuel Target Fleet
Unload Colonists
Refuel from Colony
Divide Fleet into Single Ships
Geological Survey
Gravitational Survey
Load [Installation]
Unload [Installation]
Refuel from own Tankers
Reload Own Fleet from Colliers
Provide Ordnance Reload for
Load Ordnance from Colony
Squadron Transit
Land on Assigned Mothership
Follow
Load [Mineral Type]
Unload [Mineral Type]
Load All Minerals
Unload All Minerals
Build Jump Gate
Unload 90% Fuel to Colony
Refuel from Target Fleet
Activate Shields
Deactivate Shields
Load [Mineral Type] when X available
Pickup Commander
Drop Off Commander
Load Ground Unit into Transport Bay
Unload Ground Unit from Transport Bay
Unload All Ground Units from Transport Bay
Enter Hyper Speed
Leave Hyper Speed
Equalise Fuel Percentage
Equalise Maintenance Supplies
Incorporate Sub-Fleets
Transit and Divide Fleet
Detach Non-Survey Ships
Unload All Installations
Rescue Survivors
Unload Survivors
Deploy Escorts
Detach Tankers
Detach Colliers
Active Sensors On
Active Sensors Off
Pickup Team
Drop Off Team
Salvage
Send Message
Begin Overhaul (rewind clock)
Abandon Overhaul
Absorb
Activate Transponder
Deactivate Transponder
Intra-system Jump
Resupply from Colony
Resupply Target Fleet
Resupply from Target Fleet
Resupply from own Supply Ships
Unload 90% Maint Supplies to Colony
Load PDC Component
Unload PDC Component
Extended Orbit
Launch Missiles at
Load Trade Goods
Unload Trade Goods
Move To Trade Location
Picket (Speed 1km/s)
Load Ship Component
Unload Ship Component
Load Ground Unit into Drop Module
Combat Drop Ground Unit
Load GU into Drop Module from Fleet
Load GU into Drop Module within Fleet
Attempt Boarding Action
Move To Wreck
Move to Mineral Site
Receive Cargo
Unload Ordnance to Colony
Land on Specified Mothership (No Assign)
Land on Specified Mothership (+ Assign)
Tractor Specified Ship
Tractor Specified Shipyard
Release Tractored Ships
Release Tractored Shipyards
Load/Unload Minerals to Reserve Level
Load/Unload Fuel (To Set Level)
Load/Unload Supplies (To Set Level)
Add Replacement Crew
Enter Wormhole

Here's a grav survey revealing jump points:

(https://i.imgur.com/1uF1Zgg.gif)

And here's a bunch of survey parasites.  Granted these could have just been ordinary ships, but they are indeed parasites and were previously docked on a mothership, carried to Sol, launched, and divided.

(https://i.imgur.com/cBfFJfo.gif)

Looking forward to the combat animations? :) I *wanted* to have the carrier fly in from the bottom of the screen to the center in this animation and then automatically divide, creating a firework-like effect.  The caption was going to be: "Ready for some fireworks?"  But sadly, there's no Launch Parasites order and dividing just keeps the parasites in the same TG.  Darn!

A lot of other bits and bobs have been added outside of the fleet orders checklist.  Cycle moves is implemented.  The following events can now occur:
   Overallocation of Labs
   Reduction in Labs
   Shore Leave Complete
   Transit Failure
   Probe Out of Fuel (occurs when cycle moves gets cancelled due to a problem.  Its a weird event name but I'm keeping it because I find it funny.)
   Illegal Order
   Orders Not Possible
   Jump Point Found
   Unable To Land
   Loading Problem

The following UI elements were implemented:
   SM Add (for Fighters) (on Industry tab)
   Current Mothership (Ships window)
   Assign Mothership (Ships window)
   Land Parasite (Ships window)
   Launch Parasite (Ships window)

The following behaviors were added that are different from A4X:
- Can't land more parasites on a mothership than the current hangar capacity available (http://aurora2.pentarch.org/index.php?topic=8144.msg115460#msg115460)
- Can't teleport installations (http://aurora2.pentarch.org/index.php?topic=8144.msg115379#msg115379) using load/unload with a gigantic minimum distance.
- Limiting the amount of things to load on a ship doesnt increase the load time 20 fold (http://aurora2.pentarch.org/index.php?topic=8144.msg115347#msg115347)
- Can't cancel a time-based order such as loading installations to eliminate loading times (http://aurora2.pentarch.org/index.php?topic=8144.msg115347#msg115347) without SM enabled
- Prevent weirdness (http://aurora2.pentarch.org/index.php?topic=5749.0) caused by cycling orders with disjointed system locations

Of course, it's kind of funny to list the fixed issues given that I'm leaving behind an enormous wake of my own bugs and unfinished bits :)

Work on fleet orders continues, and most likely will finish some more parasite-related UI elements. Onward!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: se5a on July 27, 2019, 04:56:04 PM
Nice,
How'd you select the target for the parasites?
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: iceball3 on July 29, 2019, 01:31:33 PM
Fantastic stuff!
If you were hoping for a silly fireworks effect, I know VB6 aurora has a "deploy escorts" option that might be handy, though as you've said, you haven't gotten to it yet.  :)
Do take care with recreating one though! I remember I stopped using that one much because it was -really- buggy at times.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Gram123 on July 31, 2019, 08:20:46 AM
Earlier in this thread you followed Quill18's youtube video.  I Just wonder, did he upload his database someplace since you are able to replicate that game.  If so where?
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on July 31, 2019, 02:36:42 PM
Progress update 2019-07-31:

No specific milestones achieved, just a lot more stuff done, including:

Follow
Load [Mineral Type]
Unload [Mineral Type]
Load All Minerals
Unload All Minerals
Build Jump Gate
Unload 90% Fuel to Colony
Refuel from Target Fleet
Activate Shields
Deactivate Shields
Load [Mineral Type] when X available
Pickup Commander
Drop Off Commander
Load Ground Unit into Transport Bay
Unload Ground Unit from Transport Bay
Unload All Ground Units from Transport Bay
Equalise Fuel Percentage
Equalise Maintenance Supplies
Incorporate Sub-Fleets
Transit and Divide Fleet
Detach Non-Survey Ships
Unload All Installations
Rescue Survivors
Unload Survivors
Deploy Escorts
Detach Tankers
Detach Colliers
Active Sensors On
Active Sensors Off

Fixes from A4X:
- Load All Minerals honors the Maximum Amount to Load number
- Detaching ships of a certain class doesn't miscalculate the new fleet's maximum speed (http://aurora2.pentarch.org/index.php?topic=8144.msg115545#msg115545)

Removed "enter/leave hyperspace" from my list of orders to do, and removed the Hyper Limit checkbox from the system map.

Unload survivors is a little odd.  You get more crew back into your pool than there were survivors.  You seem to get back the # of survivors x Grade Points / 100, or that's just a coincidence and it's a bug, but that's how I'm doing it for now.  It vaguely makes sense, as a way to remember that these are "better" crew than the greenies idling back at your capital. In my test case, I gained 40 crew from 21 survivors rated at 196 grade points.

Additional things implemented in the UI:
List of survivors on the Ships window, and the Eject Into Space button
Fighter Squadrons window (was previously all placeholder) is fully functional now except for the display of the Commander, Ordnance, the Reload button... and double clicking the fighter list 'cause I just realized I forgot it

Earlier in this thread you followed Quill18's youtube video.  I Just wonder, did he upload his database someplace since you are able to replicate that game.  If so where?
Nah, I just roughly took the same actions he did in roughly the same order.
Fantastic stuff!
If you were hoping for a silly fireworks effect, I know VB6 aurora has a "deploy escorts" option that might be handy, though as you've said, you haven't gotten to it yet.  :)
Do take care with recreating one though! I remember I stopped using that one much because it was -really- buggy at times.
Yup, I just finished my "first draft" of deploy escorts functionality and slammed into some error popups on the VB6 side.  Fortunately I know what's *supposed* to happen so I just go off of that instead of the db diffs.
Nice,
How'd you select the target for the parasites?
I set the default order to Survey Nearest Body before dividing the fleet up, and then copied orders (including default orders) to the new subordinate fleets of parasites.


Hoping to have Fleet Orders done by my next progress update.  Not gonna lie, it's been a real grind, and I can't wait til it's over!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: TMaekler on August 01, 2019, 01:23:03 AM
Unload survivors is a little odd.  You get more crew back into your pool than there were survivors.  You seem to get back the # of survivors x Grade Points / 100, or that's just a coincidence and it's a bug, but that's how I'm doing it for now.  It vaguely makes sense, as a way to remember that these are "better" crew than the greenies idling back at your capital. In my test case, I gained 40 crew from 21 survivors rated at 196 grade points.
Hmmm, Steve should take a look at that. Sounds odd... maybe he can clear up, what is happening there... well, not maybe, only he can :-)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Steve Walmsley on August 01, 2019, 02:58:57 AM
Unload survivors is a little odd.  You get more crew back into your pool than there were survivors.  You seem to get back the # of survivors x Grade Points / 100, or that's just a coincidence and it's a bug, but that's how I'm doing it for now.  It vaguely makes sense, as a way to remember that these are "better" crew than the greenies idling back at your capital. In my test case, I gained 40 crew from 21 survivors rated at 196 grade points.
Hmmm, Steve should take a look at that. Sounds odd... maybe he can clear up, what is happening there... well, not maybe, only he can :-)

That is working as intended. The pool doesn't track grade, so if you add higher grade survivors to the pool you create additional crew to reflect that experience.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on August 01, 2019, 12:22:18 PM
Woohoo, I guessed right :D
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on August 10, 2019, 07:34:50 PM
Progress update 2019-08-10:

At long last, I am done with Fleet Orders!!*

*With a few exceptions that will be done later

The following orders were completed:

Pickup Team
Drop Off Team
Salvage
Send Message
Begin Overhaul (rewind clock)
Abandon Overhaul
Absorb
Activate Transponder
Deactivate Transponder
Resupply from Colony
Resupply Target Fleet
Resupply from Target Fleet
Resupply from own Supply Ships
Unload 90% Maint Supplies to Colony
Load PDC Component
Unload PDC Component
Extended Orbit
Picket (Speed 1km/s)
Load Ship Component
Unload Ship Component
Load Ground Unit into Drop Module
Combat Drop Ground Unit
Load GU into Drop Module from Fleet
Load GU into Drop Module within Fleet
Unload Ordnance to Colony
Land on Specified Mothership (No Assign)
Land on Specified Mothership (+ Assign)
Tractor Specified Ship
Tractor Specified Shipyard
Release Tractored Ships
Release Tractored Shipyards
Load/Unload Minerals to Reserve Level
Load/Unload Fuel (To Set Level)
Load/Unload Supplies (To Set Level)
Add Replacement Crew

The following mechanics were completed:
- Overhauling (and regular maintenance while in orbit)
- Constructing PDC Prefabs

The following UI elements are now functional:
- Prefab PDC components list (F2 > Industry tab > Stockpiles button)
- Show current tractor link (On ships window, Misc tab)
- List available other ships to link to
- Create Link
- Break Link

The following issues in A4X were dodged:
- In A4X, when calculating speed, there is a bug where the effective size of a pair of linked ships is the Tug's size plus the Tug's size.  In Q4X this is fixed and the Tug's effective size is the Tug's size plus the payload's size.
- In Q4X, Fuel use of the Tug correctly factors in the mass of its payload (so fuel use is higher than in A4X)
- In Q4X, Ships being tugged dont use fuel
- From the database structure in A4X, it's clear that shipyards aren't meant to ever be released in space.  In Q4X, It's impossible to release a shipyard anywhere other than at a friendly population. Shipyards are destroyed if their tug is destroyed.
- The Load/Unload To Reserve (or Set) Level orders in A4X acted weird when I tried them out, so I just implemented these how they are supposed to work according to this post (http://aurora2.pentarch.org/index.php?topic=2828.msg48502;topicseen#msg48502) rather than try to figure out what A4X is doing.  I've also made it so the fleet will make the best attempt and the order won't fail if it can't match the reserve or set amount perfectly.

Phew!!!

So, there are still quite a few basic mechanics to implement such as mass drivers, but first I really need to dive into System Generation.  It's the area I've been least looking forward to, so I really need to tackle this before moving on.  If I can manage to get this part done then I'm going to be pretty confident I can handle everything else.  It's tempting to just generate 10000 systems in A4X overnight with a mouse-click script and pack them all into a zip file for Q4X to pick from but no!  I must resist! 

At this moment I have no idea how I'm going to do this, but I will post my progress when I make it.  Onward!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: procdrone on August 12, 2019, 06:11:51 AM
In case it slipped your mind, Steve already shared his method of doing it in this thread.     I hope that is of help.   

Quote from: Steve Walmsley link=topic=10149.    msg114654#msg114654 date=1558523214
Another large area is system generation, which is not really part of the sequence of play.     Here is a link to the rules I used.     
hxxp: sol. trisen. com/downloads/wg. pdf

For some reason forum insists on changing the link, but I hope you can easily see the changes to use the link properly.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on August 12, 2019, 09:49:20 AM
Yep that's what I'm using
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Bughunter on August 12, 2019, 11:05:55 AM
This does sound like a challenge to achieve 1:1 functionality in. At the same time getting that close is probably not needed and can also be adjusted over time when play experience gives some idea how it differs from the original.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on August 16, 2019, 01:11:40 PM
Progress Update 2019-08-16:

No build push this time, just a quick mini update on my sys gen progress.  System and Star gen is done!*

(https://i.imgur.com/Ovh4Y0R.png)

(https://i.imgur.com/O0avmpH.png)

(Run Test is what I spam to instantly generate new systems and display them)

For Systems, parameters generated include Age, Abundance, # of stars, and Name.
For Stars, parameters generated include: parent star to orbit (if any), orbit bearing, orbit distance, luminosity, mass, radius, orbital period, color, and spectral class description

The parameters generated are determined based on pages 4, 7, 8, and 10 of sol.trisen.com/downloads/wg.pdf (http://sol.trisen.com/downloads/wg.pdf), and further modified by a few customizations I found in A4X.  (including: No more than 4 stars, certain orbital combinations of quaternary systems prohibited such as A-B-C-D, and abundance modifier slightly increased).  Thankfully the A4X (and thus the Q4X) database includes the StellarType, SystemAge, SystemAbundance tables which have quite a few calculations already done.  These parameters have effects on each other as well as an effect on the rest of the things generated in the system

If I were to highlight one particular piece of work I'm happy to be done with, it would be the code that makes sure multiple star orbital patterns are valid.  Turns out, its very common to discard many orbital configurations before finding one that works.  In many cases, the orbit of a star around its parent would result in overlapping stars due to how big they can be. Or an orbit would take a star too close to another star's gravity well.  This can happen quite a lot, primarily in 4-star systems, and coding the verification of that was kind of tricky.  I've made sure to make it so that the chance of getting 1, 2, 3 or 4-star arrangements, as well as the chances of seeing the various orbital parenting arrangements, is unaffected by all of the generations that got discarded.

*I still have protostars/nebulas to do, but moving on for now.  Next up is.. (browses through the pdf) planetary orbits! 
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Breadabix on August 21, 2019, 08:53:06 AM
Ive only just found this, and was wondering if this is playable for exploration.  I much prefer playing this without NPRs, I just like exploring throughout all the different systems that have the possibility of existing, however boring this sounds.  Doing this in A4x after a while becomes almost impossible.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Steve Walmsley on August 21, 2019, 09:07:07 AM
Ive only just found this, and was wondering if this is playable for exploration.  I much prefer playing this without NPRs, I just like exploring throughout all the different systems that have the possibility of existing, however boring this sounds.  Doing this in A4x after a while becomes almost impossible.

You can turn off all the NPRs and spoiler races in VB6 in the Game Details window.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on August 21, 2019, 03:56:14 PM
Progress Update 2019-08-21

Again no build push, just another quick update. I've completed the bulk of the work for planet gen:

(https://i.imgur.com/4UPESZQ.png)

And it's not just the names and orbits that are generated, it also generates:
- Type (dwarf, terrestrial, gas, super jovian)
- density, radius, gravity, mass, escape velocity, tidal force, tidal lock, axial tilt
- length of day, length of year
- tectonic activity level
- magnetic field strength
- planet image
- base temperature
- surface temperature
- hydrosphere type, if any
- extent of hydrosphere
- total atm's of atmosphere, if any
- albedo
- greenhouse factor
- the amount and types of gases in the atmosphere

These aren't generated in isolation.  There are interdependencies between all of these parameters combined with the parameters of the star it orbits.  Atmospheres follow the same "laws of physics" that A4X follows (surface warming, gasses frozen or escaping the atmosphere, re-recalculating surface temperature).  There was a very old but super helpful post (http://aurora2.pentarch.org/index.php?topic=1134.msg9537;topicseen#msg9537) that helped me organize how things are done. Nearly all of the things described there are done in Q4X now.

I'm currently in the middle of a sort of statistical analysis phase.  I think there might be some issues in the atmosphere generation, but to check that I first have to go back down through the layers of dependencies, starting with the age of the system itself and the types and orbits of the stars.  I have a save file with 1000 SM Generated systems in A4X and a button to quickly generate 1000 systems on the Q4X side to compare the results for major statistical differences.  I've already fixed three bugs that would probably never have been found by normal play. 

The first bug I found was I had a 100 in my code whereas the world gen pdf (http://sol.trisen.com/downloads/wg.pdf, chart 1.3.1) had a 200, resulting in all my stars being capped at half the distance from the primary star than they should have been.  This leaves much less room for planets to form without being caught by another star's gravity, which in turn skews the planet generation toward warmer, non-gas planets, which finally affects the average generation of atmospheres.

The second bug I found was in the average number of stars per system (wg.pdf, page 4).  I had a single '<' that should have been a '<=', resulting in about 0.02 fewer stars per system on average, again skewing the amount and types of planets generated.

The most recent bug was in the random roll for System Abundance (wg.pdf, chart 1.2.3)... how much "stuff" the system had to work with when it was first formed.  I had a '*' in the random roll where I should have had a '+', resulting in an average of 1.5 lower abundance (total range is 2 to -3) than in A4X, which was the biggest impact of all.  (Footnote, the A4X DB comes with a System Abundance table that seems to include the tweaks Steve made to improve average system quality.. nice!)

Each of these bugs was literally a change in one character each, and it had a huge impact on the spread of systems generated - while at the same time not being noticeable without comparing the averages across 1000 systems between A4X and Q4X.  Bug #2, for example, resulted in over 50 fewer stars than expected.  I personally never paid much attention to all the columns in the F9 page when I was playing A4X, but it's really cool and surprising to realize how every single stat has a significant rippling impact on the layout, distribution, and composition of the stars and planets in the system.  I am of course saving all of the database queries for re-checking system generation in the future, for those times when someone is feeling really unlucky and thinks there's a bug ;)   It's really nice to be catching and fixing this stuff now, and overall I'm pretty happy at how close I've otherwise come.  I have a lot more checking of stats to do, and then its on to asteroids!


Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Breadabix on August 21, 2019, 04:28:32 PM
I know you can disable NPRs in aurora 4x, my issue is the lag later game, takes far too long to do anything.  Processing a 30 day amount of time takes a very long time.  This so far looks a lot smoother, even later game, but ive read generation of systems isnt finished yet?
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: sloanjh on August 23, 2019, 08:12:07 AM
I know you can disable NPRs in aurora 4x, my issue is the lag later game, takes far too long to do anything.  Processing a 30 day amount of time takes a very long time.  This so far looks a lot smoother, even later game, but ive read generation of systems isnt finished yet?

Do you have asteroid motion turned on?  If there aren't any NPR and you're not building a lot of ships (or planetary sensor installations) I'm confused where the lag would be coming from.  Unless by "later game" you mean waaaaay later game.

John
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on August 23, 2019, 05:24:25 PM
Progress Update 2019-08-23:

Don't mind me, just walking my asteroids..

(https://i.imgur.com/grADEci.gif)

Asteroid gen is done, including all the stats and calculations that were already done for planets.  I still have to do statistical comparison to A4X asteroid generation, then it's on to moons!

(@Breadabix: nope nothing's finished yet)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Breadabix on August 23, 2019, 05:57:38 PM
As for the lag later game it is very far in, but as im weird and enjoy exploring more than combat/NPRs I get there pretty quick, and Kyle that looks strangely very satisfying.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on August 27, 2019, 04:31:02 PM
Progress Update 2019-08-27:

(https://i.imgur.com/WBelHh2.png)

Moons are done.  Somewhat arbitrary timing on the progress update, because the moons themselves were easy.  I have spent the vast majority of my time further analyzing and fixing differences between A4X and Q4X sys gen.  It's been a real challenge because there are so many variables that play off each other and there is a lot of specifics the guide doesn't help with.  I want to make sure the the overall mass, temperature, and atmospheric composition of generated systems come close enough to A4X, since that's what everything else (such as colonizability and terriforming costs) is balanced around.

I think I've come close enough for now that I can finish up the sys gen without having to go back and re-re-rebalance things like I have been.  Up next is comets.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Demonides on August 28, 2019, 09:44:33 AM
NICe bro ;]
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on August 28, 2019, 04:56:18 PM
Progress update 2019-08-28:

Comets are done!
Lagrange points are done too.
And warp point generation.
..And survey locations.

(https://i.imgur.com/p0zxi8z.png)

The most time consuming part was actually how many jump points to generate per system.  It will have a huge impact on the shape of the galaxy, and it was tricky to match A4X's statistics.  Mass of the primary star plays a role but there is also a not easily matched curve to the RNG. After trying a few different formulas and fiddling with the numbers a ton I think I've landed pretty close.

At this point I've gone ahead and pushed a new build containing all the stuff I've done thus far in case anyone wants to mess around with it.  The SM Create System button on the F9 window is functional so system generation can be easily tested.  Here's a few sample clicks of the button:

Off-Topic: Create System • show
(https://i.imgur.com/m0magcu.gif)
Note: the glitchy planet icons is just in the encoder, not in the game itself


I've implemented system generation via Jump Point transit as well:

(https://i.imgur.com/STlmAQG.gif)

The system generation phase isn't over though!  I still have Nebula systems, Mineral deposits, Trojan asteroid clusters, and Known Systems to do before I'll consider this phase of sys gen complete. Onward!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: joansam on August 30, 2019, 01:23:08 PM
Just popping in with quick words of encouragement - really stellar (teehee) work.  You are really quite good at this stuff.  As for me, I’ll start playing some peaceful games with it once a bit more of the system generation’s done - looking forward to it!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on August 30, 2019, 03:49:15 PM
Progress update 2019-08-30:

Trojan asteroids are done.  Frequency and quality is statistically similar to A4X.

(https://i.imgur.com/edPbXdM.png)

Nebula generation is done:

(https://i.imgur.com/i0Rr3vL.png)

Ship penalties in nebulas are still to-do, but the frequency and intensity is statistically similar to A4X, including the tendency for nebula systems to cluster when exploring by ship.  Graphics for nebulas on the galactic map is done as well:

(https://i.imgur.com/3UJm6Dx.png)

And a big one: Mineral deposit generation is done!  Steve was kind enough to give me the algorithm for mineral deposits on non-gas, non-comet bodies awhile ago.  I'm super happy to have a 1:1 match with A4X generation in this area.  Gas planet generation wasn't too hard to replicate, it's a pretty straightforward distribution based off of radius.  Comet mineral deposits were a bit of a struggle but I believe I've gotten close enough.

Moving on to UI, there were very few buttons and controls that don't do anything... and now there are even fewer.  On the System View (F9) window, I've implemented the following spacemaster-only buttons:

Delete Star
Create Nebula
SB Minerals
All Minerals
Redo Comets

The 'SB Minerals' button is new for Q4X, allowing SM to reroll minerals for just one body instead of being forced to reroll the whole system.  Here's some example mineral rolls on a fairly decent terrestrial planet:

(https://i.imgur.com/JivY7e8.gif)

Next up is Known Star System generation.  The A4X database already comes with templates for the known systems, so it should be fairly straightforward.  I also have to look into black holes, anomalies, and theme naming, and then I should be finally done with sys gen!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Bughunter on August 30, 2019, 03:54:15 PM
Impressive that you are actually pulling this off. If you ever need to apply for a new coder job remember to link this thread from your CV  ;D
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Father Tim on August 31, 2019, 07:00:41 AM
On the topic of nebulae, and mineral generation, do you have the 'increased chance of minerals in nebula systems' coded as well?
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on August 31, 2019, 11:22:40 AM
On the topic of nebulae, and mineral generation, do you have the 'increased chance of minerals in nebula systems' coded as well?

Wasn't aware of this feature.  I can't find any information about it either, do you happen to have a link?
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Father Tim on September 02, 2019, 07:56:44 AM
I do not, as it predates these boards.

When Steve introduced nebulae, he said habitable planets would be less likely in nebula systems, so as a compensation he was upping the TNE mineral chance for bodies in nebula systems.  This was in 2005 I think. . . maybe 2006.

I'm sure Steve could take a quick look at the code for VB Aurora and tell you about nebula minerals, but I'm afraid I can't.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on September 02, 2019, 05:53:56 PM
Progress Update 2019-09-02:

New build is up and the following things are done:
- Generation and functionality of Anomalies (Unusual Stellar Radiation, Unusual Magnetic Field)
- Known System generation for when 'Use Known Stars' is enabled
- Honor the Local System Chance and Local System Spread settings in non-Known Star games
- In Known Star games, follow the A4X method of picking nearby systems to generate
- Put jump gates on all jump points (when enabled in the game settings)
- Fleet Intra-system Jumps via Lagrange Points
- Low Fuel event
- Non-Known system names use racial theme when possible
- SM Generate Known System window (appears when clicking Generate System in a Known Stars game)

(https://i.imgur.com/Sc0DfJt.png)


A lot more things were done beyond this list, as well.  I always try to include any improvements that pop up along the way; for example, while working on Anomaly bonuses, the test planet I was using had poor colonizability, but the penalties such as worker distribution, efficiency, and negative growth were not implemented in Q4X, so I took the opportunity to use the data I was working with to improve those areas.

In testing the Local System logic, I made a game with a maximum of 5 systems in A4X, but through exploration it created a sixth system anyway.   I've opted to honor the limit so that if the maximum number systems has been explored, remaining warp points will always link to an already generated system.  If there are an odd number of warp points in the game, going through the very last warp point creates one more warp point to link to in a random system.  The maximum number of systems is still easily increased via the game settings. 

I've also left in a difference between how A4X and Q4X pick systems.  Whereas A4X will create a new Jump Point if all existing Jump Points are in use, Q4X will instead move on and try the next system in its list in whatever system-picking logic it's currently running.  So there will be at most 1 surprise jump point in any game, and that will be the very last one as described above.  These differences are mainly because I assumed that's how it was supposed to work when I wrote the code, and after learning more later on, I decided I liked my way.  I was already worried about epic-length games winding up with too many Jump Point links, but it turns out Q4X will tend to have fewer than A4X.  Key word here is "epic-length" of course, it's probably not going to be a noticeable difference until you're near the 1000 or whatever system limit :)

There are more things to do in non-AI system generation such as ruins and black holes but I will visit those in a later phase of development.  I've met my goal and then some, which was to see whether I'd even be able to manage system generation at all (and I did it!).  For now, Q4X is officially no longer a single-system experiment, and it's time to move on!  Next up are the (currently disabled) Game Details and Create New Game windows, which are now needed to set parameters like Use Known Stars and Local System Chance/Spread.  After that will be the ability to generate additional player races, so that more than one player is supported in a game.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on September 03, 2019, 04:16:21 PM
Just a quick mini update, I pushed a new build which enables the Save Game button on the Game Details window so the settings described in my previous post (Known Systems, Local System Chance/Spread, etc) can actually be tested.

Additionally, the following settings on the Game Details window now have an effect as well:
- Minimum Comets per System
- Orbital Motion for Planets/Moons
- Orbital Motion for Asteroids
- Realistic Commander Promotions
- Use Commander Political Bonuses
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Ranged66 on September 09, 2019, 05:13:38 AM
One thing that irked me and always made me reroll nebula systems, is that ships don't go back to max speed by themselves upon leaving.

E.g. ship max speed is 2000, nebula brings it down to 700. Upon entering normal space again, it will stay at a speed of 700 instead of going back up to 2000. It added an unnecessary layer of extra micro that I really didn't want to deal with, and made repeated routes through nebula awful.

Will you fix this when you add nebula-effects? :)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Erik L on September 09, 2019, 12:36:31 PM
One thing that irked me and always made me reroll nebula systems, is that ships don't go back to max speed by themselves upon leaving.

E.g. ship max speed is 2000, nebula brings it down to 700. Upon entering normal space again, it will stay at a speed of 700 instead of going back up to 2000. It added an unnecessary layer of extra micro that I really didn't want to deal with, and made repeated routes through nebula awful.

Will you fix this when you add nebula-effects? :)

That is most likely working as intended. There is a conditional order, "If not max speed, set to max" you can set up too.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Steve Walmsley on September 09, 2019, 02:17:06 PM
One thing that irked me and always made me reroll nebula systems, is that ships don't go back to max speed by themselves upon leaving.

E.g. ship max speed is 2000, nebula brings it down to 700. Upon entering normal space again, it will stay at a speed of 700 instead of going back up to 2000. It added an unnecessary layer of extra micro that I really didn't want to deal with, and made repeated routes through nebula awful.

Will you fix this when you add nebula-effects? :)

That is most likely working as intended. There is a conditional order, "If not max speed, set to max" you can set up too.

For C#, there is an 'Always use Max Speed' checkbox for each fleet, so you don't need to use up a conditional order slot.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on September 10, 2019, 12:43:39 PM
Progress update 2019-09-10:

The current phase of the Create New Game window is done!  New build is pushed.  The 'new' button on Game Details is re-enabled, and most of the Non-AI controls on the Create New Game window are now functional.  Previously, the Create Game button would essentially import a static dump of a game I had generated on the A4X side.  It now generates the game from scratch, based on the parameters selected.

The following controls are now functional:
Starting Year
Max Number of Systems
Local System Gen. Chance
Local System Gen. Spread
Construction Cycle Time
Min. Comets per system
Empire Title and short name, Species Name, Homeworld Name
Government Type
Main Empire Theme
Commander Theme
Technology
Max Deviation in Oxygen pressure, Gravity, and temperature
Max Atmos Pressure
Starting Population count
Wealth Creation Rate
Industrial Percentage
Number of starting Shipyards
Number of starting Research Facilities
No missile bases for conventional start
number of Sol Jump points
System Body survey completed
Jump Point survey completed
Starting Tech points
Generate Sol System or SM game
Jump gates on all jump points
Realistic commander promotions
Commander political bonuses
Real Star systems
Orbital motion for planets/moons/asteroids

These all have fully functional impact on gameplay. For example, the Government Type setting and starting population have complicated and widespread effects on what you start with on Turn 1, especially in a Trans-Newtonian start.

Game name and SM Password were already done.  The remaining controls record their settings in the proper place in the DB, they just don't do anything because they are AI related.  I've updated the mouseover tooltips over these controls to say that the settings have no effect in-game.

I've made just a couple tweaks to the UI to try and reduce some of the ambiguities.  Controls that have no effect under certain conditions, such as Local System Gen settings in a Real Stars game, will become disabled and say N/A when they have no effect.  'Number of computer controlled Empires at game start' is another control that will go N/A when the box above it is disabled, and I updated the wording in the section.

(https://i.imgur.com/ly63S0P.png)

So now system generation and new game generation are done!  Those were the two areas I was most doubtful of whether they would be possible when I started on Q4X!  I'm now going to move on to a multiple-race game.  Q4X already fully supports multiple races but I need to add all of the features that have to do with races interacting with each other.  (Minus combat, that's for later).  I also have to do some general testing to make sure switching between races is a smooth and bug free process.  After multi-race is done, my focus will be on finishing all the gameplay features that do not have to do with AI or Combat, so that empire growth and exploration is fully playable.  That will of course be over a series of updates; there are a lot of core mechanics still missing. 
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Remon_Kewl on September 11, 2019, 03:28:47 PM
In a new game I get a crash when in the Commanders window I choose the Civilian Administrators or Leading Scientists from the dropdown list
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on September 12, 2019, 01:42:44 PM
Progress update 2019-09-12:

The SM-Only Create Empire button on the F9 window is done.  It checks for suitable atmosphere, confirms whether you want a methane breathing race when applicable, and opens the Create New Empire window.

The Create New Empire UI was already done but it only imported a static data dump of a new empire taken from the A4X side.  It now creates new empires from scratch based on the parameters specified.  I was able to reuse a lot of the code from Create New Game.  There is new code for picking Ideal gravity, surface temp, and oxygen level based on the homeworld you selected, and for setting the new empire as a neutral race. 

One more item is done in the Main Menu: SpaceMaster > Add Sol System.  Now you can have as many suns and earths as you want, and you can put new races on all of them! (The earths, not the suns). 

And finally,

In a new game I get a crash when in the Commanders window I choose the Civilian Administrators or Leading Scientists from the dropdown list

This is fixed.  Thanks for the report! 

For the next couple of weeks I am not going to have as much free time to work on Q4X as I normally do.  That may or may not make a noticeable difference on how far apart updates are or how much is in them, but fair warning given.  Onward!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Remon_Kewl on September 12, 2019, 02:28:48 PM
Thanks for the fast fix.   

Also, I'm not sure if that's something that you haven't worked on yet, but new administrators/scientists spawn with 0 administration rating, which means you can't assign them to jobs.   
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on September 12, 2019, 04:27:50 PM
Thanks for the fast fix.   

Also, I'm not sure if that's something that you haven't worked on yet, but new administrators/scientists spawn with 0 administration rating, which means you can't assign them to jobs.

Fixed!  (Don't worry, I'm not distracted :) I just had like 5 minutes so this fit right in)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on September 19, 2019, 05:42:13 PM
Progress update 2019-09-19:

The current phase of multiple player support, alien contacts, sensors(!), and intelligence gathering is done!

(https://i.imgur.com/OJAqCpw.gif)

Same thing at 5 second auto-turns and zoomed in:

(https://i.imgur.com/UvjDSIM.gif)

And the event log:
Off-Topic: show
(https://i.imgur.com/oM9V8Nu.png)


Phew. This was a rough one.  As part of the multiple-player support, I wanted to include alien contacts, but that wound up being quite an ordeal.  I think this is the most I've ever had to redo, re-redo, and re-re-redo various parts of code in this project, as more and more mechanics and situations emerged.  I had a lot to learn along the way about how A4X functions, learning that required rethinking and redoing how I coded things.  There are so many "moving parts" involved in sensors, contacts, and intel.  They involve multiple tables working together tracking the various bits of information each race has learned about every other race.

The following items were implemented:

Smoothly switching between races on any window with a race dropdown
Smooth transition between default races
SM View on Events window
Fleet orders involving contacts
Contact list on the F3 system map window
Show/Hide lost contacts
Display contacts and movement tails on in F3 window, colored by allegiance
Display alien active sensors on F3 in red
Contact names include the intel known about them in F3 and anywhere else
When an alien ship has multiple active sensors, only be verbose about the sensor with the biggest radius.  Show only radius on F3 window for the smaller ones.
'Distances' checkbox on F3 contacts tab (show distance from selected target on the contact name)
Planetary thermal sensors detect ships
Ship thermal sensors detect ships
Active sensors detect ships
EM sensors detect active sensors
Lost contacts are logged.  Info about a contact detected by active sensors is retained to support Show Lost Contacts on F3.
Discovering new alien races
Discovering new alien classes
Discovering new alien ships
Record maximum observed speed and thermal for alien classes and log when changed
Record all the types of active sensors detected via EM per alien ship
Record and log target cross section (estimated tonnage)
Pick starting friendliness (political modifier) based on detecting species xenophobia and race xenophobia
Log changes in thermal signature
Thermal signature when towing another ship and when being towed should be accurate

Fleet orders involving contacts - this includes trajectory prediction.  It also lands the fleet right on top of the contact, not just nearby.  This is significant because movement happens before detection, so when moving toward where you *think* a contact is based on your sensor intel, the contact has already moved but detection of its new location has not yet occurred so your fleet would move to the wrong spot.  The game will peek at the contact's actual location, but only if the target contact is in sensor range.

Currently all aliens are classified neutral.  Other than the starting friendliness, no further diplomacy is supported for now

You might have been wondering how I got both races to show side by side in the first animation.  No video editing was done, that is now possible in Q4X.  Earlier today I added a "Second System Map" item to the Help menu, so you can have one race open in the main system map window, and another race open in the second one, and see how the world looks from either side, simultaneously.  I renamed the Help menu to Quasar4x, and this is where I will put any new toys that aren't present in A4X, to keep things tidy. 

(https://i.imgur.com/WiTErpG.png)

The "Second System Map" is experimental but it works if you just want another view on things. It was done primarily just to aid with development, but I thought it was cool, so I left it in. Much farther down the road I may polish it up and add support for unlimited system maps. There was very little effort in making this feature, due to the modular nature of the window, and the fact that quasar's state, like aurora's, is stored almost entirely in the database (when not processing an end-of-turn).  It wouldn't be a very big leap to support running multiple quasar4x's side by side, it would just involve adding some code to lock the other quasars' UI when processing the end-of-turn.  The database already handles its own locking for when players make quick updates, although it couldn't hurt to add a few quick safeguards.  Then after that, it's not much more of a leap to have the database be stored remotely rather than on the current computer, allowing many connections from many different places....

Whoa, got lost in the clouds there!  So anyway, there is more work in the areas covered by this update but for now I'm calling the current phase of multi-empires, sensors, contacts, and intel gathering complete!  The parts not done should be straightforward to add later on when they're needed, because the code for these features is all set up now and functioning (to great detail) from end-to-end.

And now, at long last, it's time to go back to the basics, and fill in quite a few easy bits that are missing from basic gameplay.  For example, mass drivers, research queues, terraforming, team ops, ground unit training, the list goes on and on.  There are a lot of core gameplay mechanics that should happen when time passes that don't, making a peaceful non-ai game as of yet still unfeasible.  I plan to change that, starting with the most basic of missing mechanics items and going from there!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Breadabix on September 20, 2019, 07:35:55 AM
Hows the multiple player system going to work with this? Are we going to be able to set up multiplayer games kind of like in Civ 5 or it it going to be multiple person inputs from the same PC?
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on September 20, 2019, 11:32:43 AM
Hows the multiple player system going to work with this? Are we going to be able to set up multiplayer games kind of like in Civ 5 or it it going to be multiple person inputs from the same PC?
Oh that's years away if ever, I was just daydreaming.  For more of my thoughts on it and general discussion check out http://aurora2.pentarch.org/index.php?topic=10438.msg115082#msg115082 (http://aurora2.pentarch.org/index.php?topic=10438.msg115082#msg115082)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Breadabix on September 20, 2019, 06:35:41 PM
Makes sense it is possibly years away if it happens at all, there are some serious flaws in a multiplayer aurora/quasar that need addressing.  Hope it happens eventually but understand if it doesnt :)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Steve Walmsley on September 21, 2019, 05:59:26 AM
Makes sense it is possibly years away if it happens at all, there are some serious flaws in a multiplayer aurora/quasar that need addressing.  Hope it happens eventually but understand if it doesnt :)

One of those flaws in that Aurora is designed as a single-player game :)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: alex_brunius on September 23, 2019, 03:36:52 AM
One of those flaws in that Aurora is designed as a single-player game :)

True. A much more streamlined combat and order UI would be needed for one ( pre set up rules of engagement + click on map to order ). But that said I would kill for a version of Aurora ( even a very simplified one ) that supported real time multiplayer ( similar to Stellaris but without fancy graphics and instead with good ship design and colony development ).
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Ranged66 on September 23, 2019, 07:25:06 AM
Is there any chance you can get civilian shipping and mass drivers up and running next?  ;D

I love playing Aurora as a peaceful empire builder, colonizing the galaxy, and with those done Quasar will have that part sorted :)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: TMaekler on September 23, 2019, 10:44:10 AM
What would be a nice addition as a kind of "multiplayer" would be an option to "export" the state of each empire into a standalone file which you then can send to the multiple players. Based on that file each player then can for example create new ship designs, plan research, production, etc. Everything that has a "cue". Those inputs then could be exported and send back to the SpaceMaster who can import them and continue the game on his computer.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: procdrone on September 23, 2019, 01:15:35 PM
The most important thing for import/export to me, personally, would be able to import/export ship designs and component designs.

. . . But let Kyle finish the base product first, features/improvements later :)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: TMaekler on September 24, 2019, 06:34:09 AM
The most important thing for import/export to me, personally, would be able to import/export ship designs and component designs.

. . . But let Kyle finish the base product first, features/improvements later :)
Yes. My ideas go into the direction to make it easy to play multiplayer "pen & paper" style...
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on September 25, 2019, 04:02:26 PM
Progress update 2019-09-25:

Sorry, not a very exciting one.  I've had very little time to work on Q4X since my last update, but hopefully I'll be able to pick the pace back up a little bit.

New build pushed, the following minor items implemented:

- Relations with alien races decays from xenophobia.
  (still no diplomacy, this is just to stay in sync with the a4x side)

- Racial colonization skill affects colony cost

- Transfer trade good infrastructure to population when needed

- Population shrinks when there is insufficient infrastructure

- Overcrowding increases unrest

- Unrest decreases wealth modifier
  (Other negative impacts of unrest are still to-do)

- If no cause for unrest, unrest decreases based on species determination rating

- Randomized trade good production rates for new populations (was static)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Gram123 on September 27, 2019, 05:00:20 AM
Quote from: Ranged66 link=topic=10149. msg116457#msg116457 date=1569241506
Is there any chance you can get civilian shipping and mass drivers up and running next?  ;D

I love playing Aurora as a peaceful empire builder, colonizing the galaxy, and with those done Quasar will have that part sorted :)

+1 Cant wait to be able to play this in a peaceful version.   I don't need military to have fun :) And huge amount of respect to Kyle for doing this!. 

But would need the civilian sector, asteroid mining, terraforming modules, TUG and stuff like that to work.  Is all that stuff already working? 
 
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Enoch on September 27, 2019, 12:04:12 PM
I've been following this project for weeks so I thought it was time I popped my head in to say thanks.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: procdrone on September 27, 2019, 12:43:05 PM
Of course, me and most of our discord community are closely following your project Kyle, it is something beautiful and much anticipated.

You're doing great work, Kyle!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on September 29, 2019, 04:22:02 PM
Progress update 2019-09-29:

Mass drivers are done!

(https://i.imgur.com/YdVmsWS.gif)

Latest build has been pushed.  I debated on implementing bombardment for when the destination has no mass driver, but opted to put that on hold for now in the interest of finishing more of the basic mechanics first. So for now rather than bombardment it will just delete the packet and no minerals will be delivered.

Here are some additional things that were implemented:
 - button on the Population (F2) window named Independence (http://aurora2.pentarch.org/index.php?topic=8130.msg83761;topicseen#msg83761) (This button does a lot!)
 - background radiation is reduced by 100 per year. Dust is reduced by 250 per year
 - radiation reduces manufacturing efficiency and population growth
 - manufacturing efficiency and unrest affects shipyard modification
 - manufacturing efficiency affects financial centers
 - ground forces reduce unrest
 - radiation increases unrest
 - changing greenhouse gasses changes surface temperature
 - dust level decreases surface temperature
 - adding slipways to shipyard (capacity modifications already done)
 - partial completion of shipyard capacity modifications that are cancelled early
 - lots of fixes

A lot of items on this list that involve a gradual increase or decrease over time, for example 'ground forces reduce unrest', are much easier said than done.  The amount of words it takes to refer to a feature often doesn't come even close to giving an accurate estimate of how long it takes to implement.  This is because there are so many factors that go into a particular increase or decrease, with no feedback but for one single number.  For example, when I was testing Continual Capacity Expansion, I was getting a capacity increase from 1000 to 1004.780239 while Aurora was giving an increase to 1005.3148.  From this information alone, how does one determine what is wrong?  These are the factors I can think of that go into computing this number:
- time passed
- number of slipways
- amount of duranium available (less the reserved amount)
- amount of neutronium available (less the reserved amount)
- type of shipyard (naval or commercial)
- the current capacity
- the planetary governor's shipbuilding bonus
- the sector governor's shipbuilding bonus
- the racial shipbuilding bonus
- the racial shipyard operations bonus
- the population's unrest
- manufacturing efficiency
- the population's political status (only the default is currently implemented)
- the order of operations (efficiency calculated before shipyard modification, unrest and radiation changes calculated later on)

In this case, it was the racial shipyard operations bonus (0.9) that I was missing.  Finding the issue wasn't as bad as it might sound, but imagine having to consider this many factors for almost every time-related mechanic!  This is a good example, by the way, of one of the many fixes I usually don't bother to mention.

It's great to be done with many of the less interesting but important things on this list like unrest and efficiency penalties.  It'll be that much less work to do for upcoming additions.  Onward!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: twice2double on September 29, 2019, 06:52:49 PM
Very exciting! Thanks for all your hard work.

I've been playing Aurora4x on a Windows 7 VM with the high contrast theme.  The few things that annoy me about the game are 1) Windows-only 2) Performance 3) White background.  I'm limited to 5-10 star system games because of performance issues.
Quasar4x essentially addresses all my gripes about Aurora4x.

Oh I'm also really hoping you change your mind about open-sourcing this thing so I can help out  ;D

P. S.  Any chance Godot would make it easy to incorporate some mouse-based map pan/zoom capabilities?
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on October 01, 2019, 02:07:48 PM
The few things that annoy me about the game are 1) Windows-only 2) Performance 3) White background.  I'm limited to 5-10 star system games because of performance issues.
Among other issues me too :)  I can't wait to play a game with thousands of systems and many races.  They don't even have to all be empty systems either.  Theoretically, and I'm daydreaming here, a universe could be created containing well evolved alien empires with their own histories, and conflicts or relationships with each other, both current and past.  The code should be straightforward, it would just fast forward time for a few hundred years after new game creation, just like how Dwarf Fortress does it.  I have no idea how long that would take, but if it takes a one-time overnight run who cares, right?  (I'm years away from being ready for that sort of thing, but it's still fun to think about)

Quote from: twice2double
Oh I'm also really hoping you change your mind about open-sourcing this thing so I can help out  ;D
Well, the thing is I've put a stupid number of hours into this thing so that won't happen, but not to worry: when it's time to start on AI that part will be effectively open source since the AI will be contained in external modular scripts in GDScript.  I plan to implement the AI, the API, and the docs for the API in parallel, starting with the most crude and fast AI that I possibly can so the coders in the community can get their hands on it.  The outcome I most hope for is that someone else will take the AI and zoom way ahead of me with it, leaving me with time to improve the API for them as needed and otherwise spend my time fixing bugs and filling in whatever other features are still to-do.

Quote from: twice2double
P. S.  Any chance Godot would make it easy to incorporate some mouse-based map pan/zoom capabilities?
Yep, would be possible, but no point in adding luxuries until there's a game to play.

I gotta leave this disclaimer, I've had way too much coffee and needed a break from coding, so I'm just here writing about ideas for way way into the future, so stay relaxed everyone ;)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Bughunter on October 01, 2019, 02:41:51 PM
Having it play natively on Linux will be great.

About the AI, would be nice if we could have different NPR:s using different AI modules so you could have your AI fight someone else's AI and see who wins. That would create a whole new way to "play" Aurora.. and hopefully some great AI:s too.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on October 01, 2019, 05:01:18 PM
About the AI, would be nice if we could have different NPR:s using different AI modules so you could have your AI fight someone else's AI and see who wins. That would create a whole new way to "play" Aurora.. and hopefully some great AI:s too.
Yep, I agree and that's exactly what I want to do!

I'm also toying with the idea of adding an automation menu the way Distant Worlds: Universe does it (https://66.media.tumblr.com/6a9c294b8e25433c808d31409676436e/tumblr_inline_nqchudXsyP1qe86h3_1280.png).  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.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: JustAnotherDude on October 01, 2019, 05:39:34 PM
I will literally kiss you if you do that. That makes Aurora at larger scales much more viable, less micro more murder. That and I'm tired of setting up automine colonies, that smeg's boring.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on October 03, 2019, 01:01:59 PM
Progress update 2019-10-03:

The production cycle is a little less unfinished! Latest build is pushed.

It's now possible to:
- convert manned mines to automated
- build sector command hq's
- create sectors
- build missiles
- build fighters
- manufacture ship components
- manufacture maintenance supplies
- build orbital habitats
- build PDCs
- build PDC prefabricated sections
- assemble PDCs from prefabricated sections
- refit PDCs
- retool shipyards
- add ground units via SM

Additionally:
- Construction brigades are functional
- Unrest and Manufacturing Efficiency affect fuel refineries and mining
- Unrest and Manufacturing Efficiency affect production rates of installations, ordnance, and fighters
- Ships and PDCs can be built as conscript-only
- And as always, lots of little fixes, and minor mechanics that accompany these broad bullet points.

Prefabricating and assembling PDC sections in A4X seems to have numerous bugs, so Q4X doesn't come close to replicating whatever A4X is doing; I've made it so it should work how one would expect it to.  I believe there will be much less head-scratching when players use prefab PDCs.

Refitting PDCs is a notable feature on the list.  It's a huge function that is now finished and should be almost completely reusable when I get to Ship refits.

I'm now done with the F2 > Industry tab and Shipyard Modifications as they relate to the production cycle!  There are a lot of core mechanics still to go.  These are at the top of my list:
- underground infrastructure
- sorium harvesting
- shut down/restart industrial sectors
- training ground units
- repair, refit, scrap ships
- research queue support
- race improvement research
- terraforming
- geological survey teams
- default fleet orders
- conditional fleet orders
- fleet training exercises
- population admin level requirements
- new species / gene modification

Once these are done I'm planning on adding the disaster mechanic.  It might be nice to provide an optional progress bar in the q4x-only toy corner (https://i.imgur.com/WiTErpG.png) that gives you a particular wealth goal to reach, and possibly a general score as well.  I'm also considering adding an option to the disaster menu where the disaster radiates at a constant pace from the Sol System, requiring steady expansion, or a series of long distance moves, to keep ahead of it.  These optional features will hopefully keep things interesting until AI and combat get here.

Onward!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: ReviewDude01 on October 06, 2019, 03:56:44 PM
Suggestion: Add SM delete active missiles in system button
Or make AI not fire missiles that have 0% or 1 % chance to hit their target (specifically make AI stop firing these salvoes after for example 3. or 4. missed salvo or change target or retreat etc. but this slows performance of Aurora a lot)
 
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: chrislocke2000 on October 07, 2019, 02:26:10 AM
If you are dealing with the PDC bugs taking the opportunity to remove the requirements for minerals when you assemble them would be a great quality of life improvement.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on October 08, 2019, 02:04:20 PM
If you are dealing with the PDC bugs taking the opportunity to remove the requirements for minerals when you assemble them would be a great quality of life improvement.
Since that's not a bug but rather intentional behavior in Aurora, I don't currently have any plans to make these types of changes.  This might be moddable some day. Edit: there was already no mineral requirement!

Suggestion: Add SM delete active missiles in system button
Or make AI not fire missiles that have 0% or 1 % chance to hit their target (specifically make AI stop firing these salvoes after for example 3. or 4. missed salvo or change target or retreat etc. but this slows performance of Aurora a lot)
Thanks for the suggestion.  The SM option would be very easy to add, but also doubtful whether it will be necessary.  My intention is for the game to be optimized enough to well enough to handle tens of thousands of active missiles.  AI scripts will be external and modifiable by anyone, but I'll try to make sure my initial AI logic doesn't flood the database.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on October 08, 2019, 02:24:49 PM
Progress update 2019-10-08:

Work on the production cycle continues.  Latest build pushed.  The production cycle can now:
- refit ships
- scrap ships
- repair ships
- use the research queue
- terraform
- train ground units
- skip industries that are shut down
- reactivate industries
... all obeying unrest and efficiency rules.

A couple more outliers in the UI have been implemented:
-   F2 > Industry > Stockpiles > Fighters in Orbit
-   F2 > Industry > Stockpiles > Scrap Fighters

And previously I had listed race improvement research as something still to-do, but found out it's been done.  So unless I forgot any exceptions, most research should be functional.

Here's the top of my to-do list now:
- underground infrastructure
- sorium harvesting
- geological survey teams
- default fleet orders
- conditional fleet orders
- fleet training exercises
- population admin level requirement
- new species / gene modification
- asteroid mining ships
- orbital habitats
- ship maintenance breakdowns
- disaster updates
- mass driver bombardment


Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: DIT_grue on October 09, 2019, 02:45:03 AM
If you are dealing with the PDC bugs taking the opportunity to remove the requirements for minerals when you assemble them would be a great quality of life improvement.
Since that's not a bug but rather intentional behavior in Aurora, I don't currently have any plans to make these types of changes.  This might be moddable some day.

Are you sure about that? I thought what I was remembering might have been one of the unreleased changes, but it appears to go back considerably further:

No Minerals for Prefab PDC Assembly

For some reason I thought I had made this change in a previous version but it appears not :)

So for the next version, PDC assembly only requires wealth and production capacity; minerals are no longer required. Supplying the minerals was a micromanagement task that didn't real add anything to game play.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on October 09, 2019, 11:10:49 AM
If you are dealing with the PDC bugs taking the opportunity to remove the requirements for minerals when you assemble them would be a great quality of life improvement.
Since that's not a bug but rather intentional behavior in Aurora, I don't currently have any plans to make these types of changes.  This might be moddable some day.

Are you sure about that? I thought what I was remembering might have been one of the unreleased changes, but it appears to go back considerably further

Ah yes, I was thinking wealth cost, not minerals, when I posted.  Q4X actually already doesn't spend minerals to assemble PDCs.  Thanks!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on October 11, 2019, 11:31:59 AM
Progress update 2019-10-11:

Implemented the following features:

- Underground Infrastructure

- Sorium harvesting

- Orbital Terraforming

- Orbital Asteroid mining

- Orbital Habitats

- Geological team surveys

- Disaster updates (the optional 1-2% heating or cooling of Sol)

There's a lot involved in each of the items on this list so I figured I'd double space it  ;D

The following UI elements are now functional on the Ships Window > P&C&GU Tab:
List teams on ship, transfer team to create pop, transfer team to existing pop, transfer team to another ship


Playing in fullscreen is now possible

(https://i.imgur.com/fsa9mHs.png)


I added a Settings window to the Q4X-only menu

(https://i.imgur.com/K7zMC1V.png)


Which will give me a place to put some quasar4x-specific settings.  There are two to start:

(https://i.imgur.com/ydnuwZn.png)


The first setting is the option to make frequent backups.  I don't like it because it's slow (a pause of about 1-2 seconds when you click an end-turn button), so it's off for now, but I wanted the option to be ready in case save-file corruption ever became a concern.  Eventually I'll change the timing so it happens while the user is idle, I just have other priorities before thinking about the afk-detection and UI-locking code that would be necessary.


The other setting is for a wealth progress feature I added:

(https://i.imgur.com/OKo4Wmc.png)


When enabled, this displays a simple progress bar showing how much wealth your empire has earned:

(https://i.imgur.com/T0oJw29.png)


Here's what happens when you finish Tier 1
Off-Topic: spoiler • show
(https://i.imgur.com/QaAStQF.png)

Each new Tier uses a different color! Discover them all ;)  Hands off that SM button...

(https://i.imgur.com/rxEbSz2.png)


You can read about it in the screenshotted tooltip, but to reiterate, it's obviously optional and it's hidden by default. And eventually the wealth progress box will go away.


As a reminder because it's buried a few pages back, although default/conditional orders are still to-do, the default Grav and Geo survey orders are actually in place already. 


I've edited the first post in this thread where I had said Q4X "An almost empty prototype."  I think I can now proudly say that this is no longer true, so I have rephrased the paragraph to just say there's no AI or combat and that there will most likely be bugs! 

Speaking of bugs, feel free to report any you find and I'll upload fixes right away. I appreciate any reports, because it's no fun to go hunting for bugs in your own code. I will be preferring fast, frequent fixes over large comprehensive updates.

I also plan to start hanging out in Discord to field any questions or issues that might arise in more of a real-time fashion, although news will still always go here first.

And finally, I need a break!  I'm going to try and relax this weekend and do something other than programming, which believe it or not is kind of hard to do because whenever I'm not working on Q4X I have this annoying voice in my head saying "this is a waste of time, you're not being productive, you should be creating something!"  So I hope all of you enjoy your weekends as well and I'll talk to you in the next update!

Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: joansam on October 18, 2019, 03:21:37 PM
You deserve a break, Kyle! I'm constantly impressed with the rate of progress you're making. As a CS major who's tried making his own games before - you have a fantastic work ethic. I've been checking in every couple weeks and love watching Quasar4x making leaps and bounds.           

Side note:
I would love a Distant Worlds-style automation menu, even if it's not super detailed. The 2 things that keep me from regularly playing Aurora are the complexity of the civilian economy, and the general game/UI complexity that often take 5 clicks to do something that should take one or two. Some automation would fix at least one of those, and maybe 2.           

Keep up the good work! But also - take some time off, go see a movie or something. When you're ready to get back to work and need some inspiration, watch this:
;)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on October 19, 2019, 01:50:48 PM
Progress update 2019-10-19:

:)

(https://i.imgur.com/XkmG9Rm.gif)

Well, maintenance breakdowns and other things were next on my list but I decided to heck with that, that's no fun, let's play with lasers!!  Q4X now officially has combat!*

*Limited to Turreted Lasers.  Spinal mounts and ship mounts are still todo, as well as missiles and all other weapon types.  But with the exception of missiles, all these other things are just easy variations on code that is now in place!

Here's a sample of the event log zipping by while this is happening:
Off-Topic: show
(https://i.imgur.com/Mv8tc3g.gif)


And an event log sample that's holding still:
Off-Topic: show
(https://i.imgur.com/EMA5uOC.png)


Just for reference, the combat overview at the beginning:
Off-Topic: show
(https://i.imgur.com/CTngejN.png)


And a 'No Interrupts' checkbox that I added a few updates ago but forgot to highlight.  It's useful for making these animated gifs, and will be good to have later on when watching the AIs battle each other in extended fights:
(https://i.imgur.com/GYRsOSt.png)

Latest build has been pushed.  Here's what was implemented:
 - Shield Recharging
 - EM Sensors detect shields
 - Alien shield strength intel
 - Ship to ship laser combat
     fire weapons according to target and fire control assignments when in range
     check for sufficient power
     chance to hit calculations
     damage amount calculations
     apply damage
     event logging
     update political modifiers
     nearby ships detect weapon impacts
     record power spent
 - Show Weapon Impacts on system map and in contact lists
 - Energy weapons recharge
 - Damaged weapons stop recharging and are removed from fire control
 - Damaged power plants cause reduced weapon recharge rates
 - Shorten sub pulse length when necessary to allow weapons to fire asap

A few more of the remaining unfinished UI bits are now functional:
 - Technology Report > Lasers
 - Combat Overview > Assign Contact as Target section > contact list, Assign button, Clear, and Clear Fleet
 - Combat Overview > Show Hostile Contacts Only checkbox, Open Fire, Cease Fire, Fleet Open Fire, and Fleet Cease Fire
 - System Map (F3) > Contacts tab: Show/Hide Active IDs checkbox

A4X Bugs dodged:
- contacts disappear after restarting the game and are all rediscovered after the next tick
- a couple incorrect values displayed for shields in the game logs

There's obviously a lot still left to do in combat, not just adding the rest of the weapon types but implementing more of the combat configs like sync fire, auto fire, copying various settings around and so on.  But!  Enough is done now that combat should be fully possible using just lasers and shields.  I haven't yet decided what to work on next, so you'll just have to stay tuned.  I'm going to take another day or two of a break, then, onward!



Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: JustAnotherDude 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.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Tangent 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!?
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle 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!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle 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! 
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Father Tim 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.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Cyborg29 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?
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle 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.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle 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. 
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: TMaekler 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.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle 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 (https://www.sqlite.org/autoinc.html), 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!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Demonides on November 01, 2019, 02:11:23 PM
How much work do you think is left to make the game fully playable?
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Froggiest1982 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.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle 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.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Tchey 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) ?

Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Steve Walmsley 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.

Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on November 05, 2019, 10:40:10 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) ?

Hey, thanks for checking it out!  I would say wait awhile, it's mostly just available in case someone has something specific they want to try, or help out with bug hunting.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on November 05, 2019, 11:41:26 AM
Progress Update 2019-11-05:

Ordnance and fighter management were two of the major items still missing from the UI and now they are mostly, if not completely, done!  Specifically:

Fleet Orders bottom row:
- Launch Parasites
- Recover Parasites
- Reload Parasites. 
Fleet Orders > Naval Organization:
- Land Ship
- Land Branch
- Add Parasites
- Add TG Para  (this finishes the naval org tab)
Fighter Squadrons:
- Ordnance column
- Senior commander in squadron
- Reload fighters in squadron  (this finishes the fighter squadrons window)
Ships > Ordnance tab:
- Fast reload from population, colliers, and mothership.
- Fast reload 'Standard' button (Free reload, SM-Only).
- Para MS, Para CO, All Para MS, and All Para CO buttons.  (this finishes the ordnance tab)
Class Design > Ordnance/Fighters tab: 
- Range and Armament columns in Fighter Types list
- Current Preferred Strikegroup
- Delete from strikegroup,
- Double click fighter types list to add to preferred strikegroup
- Sensors column and Second Stage column in the missile Types list  (this finishes the ordnance/fighters tab)
View Technology > Missiles:   
- Second Stage column   (this finishes the missiles tab)

Support has been added for:
- Strikegroups (new fighters start landed on motherships in their assigned strike groups when possible)
- Missile Series (reloading from colony via orders, buttons, or new construction will make use of missile series)

Along the way, I added behaviors to existing features that my older testing scenarios missed:
- any time a ship carrying parasites is detached or transferred to another fleet, the parasites come with it
- ordnance not matching the class loadout is unloaded when reloads occur
- allow recovering and landing parasites from other fleets, automatically transferring them to their mothership's fleet, as long as they are in the same location

Bug dodged:
- don't allow over-filling magazines by substituting larger sized missiles in a series for the missile in the class loadout. No tiny fighters with a hundred size-50 missiles allowed!

A ton of hours went into this update; some of these features are deceptively beefy.  The reload button on the Fighter Squadrons window is pretty neat, for example.  You can have theoretically have every fighter in your empire in one squadron then click reload to reload them all from their respective motherships and colliers wherever possible.  I believe it may be a bit different and possibly more flexible than VB6's behavior.  The Para MS / Para CO buttons are deceptively powerful (and required lots of code) as well. These buttons will do their best to match the selected parasite's loadout across all other siblings, shuffling ammo around as needed to get as close a match as possible.  If the loadout you're trying to match has magazine space to spare it will even use the spare space across other parasites if there is nowhere else to store non-matching ordnance.  Ship-to-ship reload fleet orders have been updated to use the new code as well.

So before this update there were hardly any UI bits left unfinished, and this update finished another couple dozen of them.  I'm really excited to be slowly but surely getting past the mundane features and into the exciting things like conquest of alien populations!  That, and dozens of other big things are still ahead.  Onward!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: xenoscepter on November 05, 2019, 04:11:50 PM
Nice going, hombre!  ;D
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: joansam on November 05, 2019, 08:11:25 PM
Quote from: Kyle link=topic=10149. msg116781#msg116781 date=1572975686
A ton of hours went into this update; some of these features are deceptively beefy.   The reload button on the Fighter Squadrons window is pretty neat, for example.   You can have theoretically have every fighter in your empire in one squadron then click reload to reload them all from their respective motherships and colliers wherever possible.   I believe it may be a bit different and possibly more flexible than VB6's behavior.   The Para MS / Para CO buttons are deceptively powerful (and required lots of code) as well.  These buttons will do their best to match the selected parasite's loadout across all other siblings, shuffling ammo around as needed to get as close a match as possible.   If the loadout you're trying to match has magazine space to spare it will even use the spare space across other parasites if there is nowhere else to store non-matching ordnance.   Ship-to-ship reload fleet orders have been updated to use the new code as well.

Yeah, this sounds very involved.  Looking good! I hadn't used some of that functionality before but the inner workings are quite cool.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on November 14, 2019, 01:49:02 PM
Progress Update 2019-11-14:

Work on my current goal of conquering alien-controlled planets begins.  The scenario I'm working through is simple: Load up some ground units, drop them on an alien planet, defeat the alien ground units, and take control of the planet.  It's a nice way to discover and address functionality that is missing or bugged along the way.  For example I happened to have alien scouts positioned on the jump point into its home system, which lead to implementing transit detection.  I'm finally at the point where it's time to work on ground combat itself and decided to post an update before heading down that rabbit hole since it's been awhile.

New Mechanics (to Quasar):
 - Worsening diplomatic relationship causes military cooperation level to decrease (e.g. from Neutral to Hostile)
 - Ships detect populations (Thermal and EM)
 - Ships detect hostile transits (Grav, Thermal, and EM)
 - Active sensors detect previously uncharted jump points that have gates
 - Random division morale penalties for being in non-cryo drop pods too long
 - A steady increase in division morale of (100 + Commander.MoraleBonus) / Year to a maximum of 100
 - Switching between different HQs halves morale
 - Hostiles in system cause order delays in inexperienced fleets
 - Inexperience delays are mitigated by Operations and Comms bonuses if fleet's task force is in system
 
More UI elements now functional:
 - F2 > Ground Units tab > Training column
 - F2 > Ground Units tab > Inc Sub checkbox
 - F2 > Ground Units tab > Initiate Ground Combat Against dropdown
 - F2 > Ground Units tab > Attack
 - F2 > Ground Units tab > Ceasefire
 - Fleet Orders > Load/Unload Entire Formation if HQ Selected
 - Ships > Parasites/Cargo/GU Tab: Parasite Ships list, Ground units list
 - Commanders > Show morale deficit next to ground units
 - Tac. Intel > Status of Current Class Members tab: Shields and Thermal columns. 
 - and a new one for Quasar, Settings > Comma Separator

Bug dodged:
- Morale recovery rate can be faster without a commander than with one (http://aurora2.pentarch.org/index.php?topic=8144.msg116815#msg116815)
Quirk not dodged, for now:
- Can avoid fleet inexperience penalty by 'equalizing fuel supply' etc instead of 'move to'.  Plenty of other options too, like 'Send Message'

Latest build pushed to itch.  A lot of detection was added in this update, as well as quite a few fixes.  I don't usually bother mentioning fixes unless they address an issue someone's reported, but one fix took a considerable chunk of time for this update; While working on inexperienced fleet order delays, I wondered whether it was possible to bypass these by deleting all knowledge of the alien race on the intel window.  Turns out, it isn't, and the alien contacts remain on the System Map named after their database ID.  This required me to do a considerable amount of reworking on my contact code because I had previously been using the table of known alien ships to tie different pieces of intel together into single contacts.

Now it's time to dive into ground combat!  When I worked on weapons, I focused on just one channel of attack (lasers) and one channel of defense (shields) and implemented those to the fullest extent possible, so that ship-to-ship warfare is fully possible as long as you don't mind the limited choices available.  I want to kind of do that with ground combat too, omitting for now anything that isnt strictly necessary for a complete ground war, and fully implementing what can't be omitted.  I *think* this is the last piece needed for core gameplay sans AI -- the fourth X in 4X.  Remind me if there's something I'm forgetting.  Onward!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Nori on November 16, 2019, 08:54:59 PM
Can you play a game from start to finish? Just curious as I really like Aurora4x and my main issue with it was turn time and AI that didn't evolve their tactics or ships much (both of which will be changed in c# so that's nice).
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: amram on November 16, 2019, 09:02:06 PM
Can you play a game from start to finish? Just curious as I really like Aurora4x and my main issue with it was turn time and AI that didn't evolve their tactics or ships much (both of which will be changed in c# so that's nice).

The answer to that depends on whether or not you expect AI to be part of your game, both as civilians, and as NPR/spoilers.  AI is still on the todo list and will probably be among, if not the last things completed.

If you plan to control all players yourself, all shipping of any kind, and do not mind that the current build lacks ground combat(that was his last post's stated goal for the next update), then yes, afaik you can play out a pretty much complete game now, so few mechanics remain I can not think of any off hand.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Nori on November 16, 2019, 09:08:39 PM
Ah ok. I figured AI wasn't in, but wasn't sure from the last few posts. If he is that far though that is quite the accomplishment. I'm guessing AI is going to be a PITA though.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Froggiest1982 on November 19, 2019, 01:09:10 AM
Can you play a game from start to finish? Just curious as I really like Aurora4x and my main issue with it was turn time and AI that didn't evolve their tactics or ships much (both of which will be changed in c# so that's nice).

The answer to that depends on whether or not you expect AI to be part of your game, both as civilians, and as NPR/spoilers.  AI is still on the todo list and will probably be among, if not the last things completed.

If you plan to control all players yourself, all shipping of any kind, and do not mind that the current build lacks ground combat(that was his last post's stated goal for the next update), then yes, afaik you can play out a pretty much complete game now, so few mechanics remain I can not think of any off hand.

Hi Kyle, as I do play many times just by myself, are you able to confirm this? Once ground it's done we can play a complete game?

Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on November 19, 2019, 02:21:13 PM
Can you play a game from start to finish? Just curious as I really like Aurora4x and my main issue with it was turn time and AI that didn't evolve their tactics or ships much (both of which will be changed in c# so that's nice).

The answer to that depends on whether or not you expect AI to be part of your game, both as civilians, and as NPR/spoilers.  AI is still on the todo list and will probably be among, if not the last things completed.

If you plan to control all players yourself, all shipping of any kind, and do not mind that the current build lacks ground combat(that was his last post's stated goal for the next update), then yes, afaik you can play out a pretty much complete game now, so few mechanics remain I can not think of any off hand.

Hi Kyle, as I do play many times just by myself, are you able to confirm this? Once ground it's done we can play a complete game?

I can't think of any critical mechanics missing other than ground combat and planetary conquest either, but Aurora is so deep there's always something else around the corner.  As you know AI is still missing, and there are a lot of other big features missing that while technically not required, are pretty important, like missiles, point defense, non-laser beam weapons, bombardment, ramming, hostile ship boarding, any sort of diplomacy, ruins, nebula mechanics, political status effects, sync fire, copy combat assignment settings, tech recovery from wrecks and conquered pops, and on and on and on.

The other problem is that I'm still in full-steam-ahead development of new (to quasar) things, doing zero QA other than spot checking new additions as I make them and fixing issues I incidentally happen to run into.  Every feature I add has a chance to break something from a previous update because I don't go back and retest everything else.  So honestly, I would hold off because there will be so many bugs.  I strongly suggest starting a game without AI in Aurora4X instead.  If and when the delays becomes unbearable, send your game to me and I'll convert it to a quasar save file (it just takes one click and 30 seconds for me to do).  Remember, quasar can run ANY existing aurora game.  Also, if you happen to have MS Access, you can stave off the delays in an Aurora non-AI game for a while by setting the ShippingLines.WealthData field to 0 for every new shipping line that appears.

But, important mechanics and numerous bugs aside, yes I would say ground combat and planetary conquest are the final missing pieces for a technically complete 4x game.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on November 22, 2019, 01:14:02 PM
Combat log for progress update below:


Off-Topic: full combat log • show

2028 February 20, 21:53:46,The Roman Empire,New Hostile Contact,Rol,New Thermal Contact!  Contact ID: Zhdrbaeliprietl  001 (New), Class ID: Zhdrbaeliprietl  (New), Race ID: Rome Aliens #161, Strength 1
2028 February 20, 21:53:46,The Roman Empire,New Hostile Contact,Rol,Population Detected! Thermal Signature  10  Race ID: Rome Aliens #161
2028 February 20, 21:53:46,The Roman Empire,New Hostile Contact,Rol,Population Detected! EM Signature 100  Race ID: Rome Aliens #161
2028 February 20, 21:53:51,The Orcs,New Hostile Contact,Vinak,Hostile Shipyard Contact!  Contact Strength 40  Race ID: Ol Aliens #160
2028 February 20, 21:53:51,The Orcs,New Hostile Contact,Vinak,Hostile Ground Forces Contact!  Estimated Combat Strength 72  Race ID: Ol Aliens #160
2028 February 25, 21:59:56,The Orcs,Ground Combat,Vinak,Ground Attack on Vinak-A III vs Ol Aliens #160. Total Attack Strength: 288.1723 Combat Ratio: 2.5278  Chance of Attacker unit loss: 4%
2028 February 25, 21:59:56,The Roman Empire,Ground Combat,Rol,Ground defense by garrison of Roman Bunker 001. Total Defense strength: 114 (PDC Armor Bonus 190%) Combat Ratio: 2.5278  Chance of unit loss: 25.3%
2028 February 25, 21:59:56,The Orcs,Readiness Loss,Vinak,49th Replacement Battalion suffered a 23% readiness loss. Readiness now 77
2028 February 25, 21:59:56,The Roman Empire,Enemy Casualties,Rol,Casulties inflicted on enemy ground unit. Estimated losses: 28%. ID: 49th Replacement Battalion (Rome Aliens #161)
2028 February 25, 21:59:56,The Roman Empire,Readiness Loss,Rol,31st Low Tech Infantry Division suffered a 24% readiness loss. Readiness now 76
2028 February 25, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 22%. ID: 31st Low Tech Infantry Division (Ol Aliens #160)
2028 February 30, 21:59:56,The Orcs,Ground Combat,Vinak,Ground Attack on Vinak-A III vs Ol Aliens #160. Total Attack Strength: 288.5447 Combat Ratio: 2.6077  Chance of Attacker unit loss: 3.8%
2028 February 30, 21:59:56,The Roman Empire,Ground Combat,Rol,Ground defense by garrison of Roman Bunker 001. Total Defense strength: 110.6513 (PDC Armor Bonus 190%) Combat Ratio: 2.6077  Chance of unit loss: 26.1%
2028 February 30, 21:59:56,The Orcs,Officer Update,N/A,As a result of experience gained in the performance of his duties, WildBoy Attalos of Pandosia, Epirus  has increased his Ground Forces Training Rating to 150
2028 February 30, 21:59:56,The Roman Empire,Readiness Loss,Rol,32nd Marine Battalion suffered a 45% readiness loss. Readiness now 55
2028 February 30, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 59%. ID: 32nd Marine Battalion (Ol Aliens #160)
2028 March 5, 21:59:56,The Orcs,Ground Combat,Vinak,Ground Attack on Vinak-A III vs Ol Aliens #160. Total Attack Strength: 288.6814 Combat Ratio: 3.382  Chance of Attacker unit loss: 3%
2028 March 5, 21:59:56,The Roman Empire,Ground Combat,Rol,Ground defense by garrison of Roman Bunker 001. Total Defense strength: 85.3575 (PDC Armor Bonus 190%) Combat Ratio: 3.382  Chance of unit loss: 33.8%
2028 March 5, 21:59:56,The Orcs,Officer Update,N/A,As a result of experience gained in the performance of his duties, OddBoy Dolops of Cyme  has increased his Ground Combat Bonus to 1%
2028 March 5, 21:59:56,The Orcs,Officer Update,N/A,As a result of experience gained in the performance of his duties, Mekboy Plutarch of Olympus  has increased his Ground Combat Bonus to 11%
2028 March 5, 21:59:56,The Roman Empire,Readiness Loss,Rol,29th Low Tech Infantry Division suffered a 17% readiness loss. Readiness now 83
2028 March 5, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 19%. ID: 29th Low Tech Infantry Division (Ol Aliens #160)
2028 March 10, 21:59:56,The Orcs,Ground Combat,Vinak,Ground Attack on Vinak-A III vs Ol Aliens #160. Total Attack Strength: 291.0542 Combat Ratio: 3.4914  Chance of Attacker unit loss: 2.9%
2028 March 10, 21:59:56,The Roman Empire,Ground Combat,Rol,Ground defense by garrison of Roman Bunker 001. Total Defense strength: 83.3625 (PDC Armor Bonus 190%) Combat Ratio: 3.4914  Chance of unit loss: 34.9%
2028 March 10, 21:59:56,The Orcs,Officer Update,N/A,As a result of experience gained in the performance of his duties, OddBoy Dolops of Cyme  has increased his Ground Combat Bonus to 2%
2028 March 10, 21:59:56,The Roman Empire,Readiness Loss,Rol,28th Low Tech Infantry Division suffered a 33% readiness loss. Readiness now 67
2028 March 10, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 17%. ID: 28th Low Tech Infantry Division (Ol Aliens #160)
2028 March 10, 21:59:56,The Roman Empire,Readiness Loss,Rol,29th Low Tech Infantry Division suffered a 27% readiness loss. Readiness now 56
2028 March 10, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 14%. ID: 29th Low Tech Infantry Division (Ol Aliens #160)
2028 March 10, 21:59:56,The Roman Empire,Morale Loss,Rol,As a result of suffering casualties, the morale of 29th Low Tech Infantry Division has decreased by 10
2028 March 10, 21:59:56,The Roman Empire,Readiness Loss,Rol,30th Low Tech Infantry Division suffered a 22% readiness loss. Readiness now 78
2028 March 10, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 24%. ID: 30th Low Tech Infantry Division (Ol Aliens #160)
2028 March 10, 21:59:56,The Roman Empire,Readiness Loss,Rol,31st Low Tech Infantry Division suffered a 45% readiness loss. Readiness now 32
2028 March 10, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 27%. ID: 31st Low Tech Infantry Division (Ol Aliens #160)
2028 March 15, 21:59:56,The Orcs,Ground Combat,Vinak,Ground Attack on Vinak-A III vs Ol Aliens #160. Total Attack Strength: 292.6939 Combat Ratio: 4.4936  Chance of Attacker unit loss: 2.2%
2028 March 15, 21:59:56,The Roman Empire,Ground Combat,Rol,Ground defense by garrison of Roman Bunker 001. Total Defense strength: 65.1356 (PDC Armor Bonus 190%) Combat Ratio: 4.4936  Chance of unit loss: 44.9%
2028 March 15, 21:59:56,The Orcs,Officer Update,N/A,As a result of experience gained in the performance of his duties, Mekboy Plutarch of Olympus  has increased his Ground Combat Bonus to 12%
2028 March 15, 21:59:56,The Roman Empire,Readiness Loss,Rol,28th Low Tech Infantry Division suffered a 21% readiness loss. Readiness now 46
2028 March 15, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 23%. ID: 28th Low Tech Infantry Division (Ol Aliens #160)
2028 March 15, 21:59:56,The Roman Empire,Readiness Loss,Rol,30th Low Tech Infantry Division suffered a 50% readiness loss. Readiness now 28
2028 March 15, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 35%. ID: 30th Low Tech Infantry Division (Ol Aliens #160)
2028 March 15, 21:59:56,The Roman Empire,Readiness Loss,Rol,31st Low Tech Infantry Division suffered a 26% readiness loss. Readiness now 7
2028 March 15, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 34%. ID: 31st Low Tech Infantry Division (Ol Aliens #160)
2028 March 15, 21:59:56,The Roman Empire,Morale Loss,Rol,As a result of suffering casualties, the morale of 31st Low Tech Infantry Division has decreased by 10
2028 March 15, 21:59:56,The Roman Empire,Readiness Loss,Rol,32nd Marine Battalion suffered a 26% readiness loss. Readiness now 30
2028 March 15, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 16%. ID: 32nd Marine Battalion (Ol Aliens #160)
2028 March 20, 21:59:56,The Orcs,Ground Combat,Vinak,Ground Attack on Vinak-A III vs Ol Aliens #160. Total Attack Strength: 293.5095 Combat Ratio: 7.9158  Chance of Attacker unit loss: 1.3%
2028 March 20, 21:59:56,The Roman Empire,Ground Combat,Rol,Ground defense by garrison of Roman Bunker 001. Total Defense strength: 37.0787 (PDC Armor Bonus 190%) Combat Ratio: 7.9158  Chance of unit loss: 79.2%
2028 March 20, 21:59:56,The Roman Empire,Readiness Loss,Rol,28th Low Tech Infantry Division suffered a 6% readiness loss. Readiness now 41
2028 March 20, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 3%. ID: 28th Low Tech Infantry Division (Ol Aliens #160)
2028 March 20, 21:59:56,The Roman Empire,Readiness Loss,Rol,29th Low Tech Infantry Division suffered a 26% readiness loss. Readiness now 31
2028 March 20, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 16%. ID: 29th Low Tech Infantry Division (Ol Aliens #160)
2028 March 20, 21:59:56,The Roman Empire,Morale Loss,Rol,As a result of suffering casualties, the morale of 29th Low Tech Infantry Division has decreased by 4
2028 March 20, 21:59:56,The Roman Empire,Ground Unit Lost,Rol,31st Low Tech Infantry Division destroyed
2028 March 20, 21:59:56,The Orcs,Ground Unit Dest.,Vinak,Enemy ground unit destroyed. ID: 31st Low Tech Infantry Division (Ol Aliens #160)
2028 March 20, 21:59:56,The Roman Empire,Ground Unit Lost,Rol,32nd Marine Battalion destroyed
2028 March 20, 21:59:56,The Orcs,Ground Unit Dest.,Vinak,Enemy ground unit destroyed. ID: 32nd Marine Battalion (Ol Aliens #160)
2028 March 25, 21:59:56,The Orcs,Ground Combat,Vinak,Ground Attack on Vinak-A III vs Ol Aliens #160. Total Attack Strength: 293.575 Combat Ratio: 20.632  Chance of Attacker unit loss: 0.5%
2028 March 25, 21:59:56,The Roman Empire,Ground Combat,Rol,Ground defense by garrison of Roman Bunker 001. Total Defense strength: 14.2291 (PDC Armor Bonus 190%) Combat Ratio: 20.632  Chance of unit loss: 206.3%
2028 March 25, 21:59:56,The Orcs,Officer Update,N/A,As a result of experience gained in the performance of her duties, WildBoy Neaera of Delphi  has increased her Ground Forces Training Rating to 25
2028 March 25, 21:59:56,The Orcs,Officer Update,N/A,As a result of experience gained in the performance of his duties, Mekboy Plutarch of Olympus  has increased his Ground Combat Bonus to 13%
2028 March 25, 21:59:56,The Roman Empire,Readiness Loss,Rol,28th Low Tech Infantry Division suffered a 23% readiness loss. Readiness now 18
2028 March 25, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 12%. ID: 28th Low Tech Infantry Division (Ol Aliens #160)
2028 March 25, 21:59:56,The Roman Empire,Morale Loss,Rol,As a result of suffering casualties, the morale of 28th Low Tech Infantry Division has decreased by 3
2028 March 25, 21:59:56,The Roman Empire,Ground Unit Lost,Rol,29th Low Tech Infantry Division destroyed
2028 March 25, 21:59:56,The Orcs,Ground Unit Dest.,Vinak,Enemy ground unit destroyed. ID: 29th Low Tech Infantry Division (Ol Aliens #160)
2028 March 25, 21:59:56,The Roman Empire,Ground Unit Lost,Rol,30th Low Tech Infantry Division destroyed
2028 March 25, 21:59:56,The Orcs,Ground Unit Dest.,Vinak,Enemy ground unit destroyed. ID: 30th Low Tech Infantry Division (Ol Aliens #160)
2028 March 30, 21:59:56,The Orcs,Ground Combat,Vinak,Ground Attack on Vinak-A III vs Ol Aliens #160. Total Attack Strength: 294.4089 Combat Ratio: 110.5188  Chance of Attacker unit loss: 0.1%
2028 March 30, 21:59:56,The Roman Empire,Ground Combat,Rol,Ground defense by garrison of Roman Bunker 001. Total Defense strength: 2.6639 (PDC Armor Bonus 190%) Combat Ratio: 110.5188  Chance of unit loss: 1105.2%
2028 March 30, 21:59:56,The Roman Empire,Ground Unit Lost,Rol,28th Low Tech Infantry Division destroyed
2028 March 30, 21:59:56,The Orcs,Ground Unit Dest.,Vinak,Enemy ground unit destroyed. ID: 28th Low Tech Infantry Division (Ol Aliens #160)
2028 April 5, 21:59:56,The Orcs,Ground Combat,Vinak,Ground assault against enemy PDC on Vinak-A III. No defending units are present. PDC Captured!!
2028 April 6, 21:59:56,The Roman Empire,New Alien Class,Rol,A new ship class of the Rome Aliens #161 has been detected in Rol. Our intelligence service has designated the new class as the Shtiaba.
2028 April 6, 21:59:56,The Roman Empire,New Alien Ship,Rol,A new ship of the Shtiaba class from the Rome Aliens #161 has been detected in Rol. Our intelligence service has designated the new ship as the Shtiaba 001.
2028 April 6, 21:59:56,The Roman Empire,New Hostile Contact,Rol,New Thermal Contact!  Contact ID: Shtiaba 001 (New), Class ID: Shtiaba (New), Race ID: Rome Aliens #161, Strength 1
2028 April 6, 21:59:56,The Roman Empire,New Alien Ship,Rol,A new ship of the Shtiaba class from the Rome Aliens #161 has been detected in Rol. Our intelligence service has designated the new ship as the Shtiaba 002.
2028 April 6, 21:59:56,The Roman Empire,New Alien Ship,Rol,A new ship of the Shtiaba class from the Rome Aliens #161 has been detected in Rol. Our intelligence service has designated the new ship as the Shtiaba 003.
2028 April 11, 21:59:56,The Roman Empire,New Alien Class,Rol,A new ship class of the Rome Aliens #161 has been detected in Rol. Our intelligence service has designated the new class as the Vienchakl.
2028 April 11, 21:59:56,The Roman Empire,New Alien Ship,Rol,A new ship of the Vienchakl class from the Rome Aliens #161 has been detected in Rol. Our intelligence service has designated the new ship as the Vienchakl 001.
2028 April 11, 21:59:56,The Roman Empire,New Hostile Contact,Rol,New Thermal Contact!  Contact ID: Vienchakl 001 (New), Class ID: Vienchakl (New), Race ID: Rome Aliens #161, Strength 1
2028 April 11, 21:59:56,The Roman Empire,New Alien Ship,Rol,A new ship of the Vienchakl class from the Rome Aliens #161 has been detected in Rol. Our intelligence service has designated the new ship as the Vienchakl 002.
2028 April 11, 21:59:56,The Roman Empire,New Alien Ship,Rol,A new ship of the Vienchakl class from the Rome Aliens #161 has been detected in Rol. Our intelligence service has designated the new ship as the Vienchakl 003.
2028 April 16, 21:59:56,The Roman Empire,New Alien Class,Rol,A new ship class of the Rome Aliens #161 has been detected in Rol. Our intelligence service has designated the new class as the Yiesieltsie.
2028 April 16, 21:59:56,The Roman Empire,New Alien Ship,Rol,A new ship of the Yiesieltsie class from the Rome Aliens #161 has been detected in Rol. Our intelligence service has designated the new ship as the Yiesieltsie 001.
2028 April 16, 21:59:56,The Roman Empire,New Hostile Contact,Rol,New Thermal Contact!  Contact ID: Yiesieltsie 001 (New), Class ID: Yiesieltsie (New), Race ID: Rome Aliens #161, Strength 1
2028 April 16, 21:59:56,The Roman Empire,New Alien Ship,Rol,A new ship of the Yiesieltsie class from the Rome Aliens #161 has been detected in Rol. Our intelligence service has designated the new ship as the Yiesieltsie 002.
2028 April 16, 21:59:56,The Roman Empire,New Alien Ship,Rol,A new ship of the Yiesieltsie class from the Rome Aliens #161 has been detected in Rol. Our intelligence service has designated the new ship as the Yiesieltsie 003.
2028 April 21, 21:59:56,The Roman Empire,New Alien Class,Rol,A new ship class of the Rome Aliens #161 has been detected in Rol. Our intelligence service has designated the new class as the Kliqrv.
2028 April 21, 21:59:56,The Roman Empire,New Alien Ship,Rol,A new ship of the Kliqrv class from the Rome Aliens #161 has been detected in Rol. Our intelligence service has designated the new ship as the Kliqrv 001.
2028 April 21, 21:59:56,The Roman Empire,New Hostile Contact,Rol,New Thermal Contact!  Contact ID: Kliqrv 001 (New), Class ID: Kliqrv (New), Race ID: Rome Aliens #161, Strength 1
2028 April 21, 21:59:56,The Roman Empire,New Alien Ship,Rol,A new ship of the Kliqrv class from the Rome Aliens #161 has been detected in Rol. Our intelligence service has designated the new ship as the Kliqrv 002.
2028 April 21, 21:59:56,The Roman Empire,New Alien Ship,Rol,A new ship of the Kliqrv class from the Rome Aliens #161 has been detected in Rol. Our intelligence service has designated the new ship as the Kliqrv 003.
2028 April 26, 21:59:56,The Roman Empire,New Alien Class,Rol,A new ship class of the Rome Aliens #161 has been detected in Rol. Our intelligence service has designated the new class as the Ejdle.
2028 April 26, 21:59:56,The Roman Empire,New Alien Ship,Rol,A new ship of the Ejdle class from the Rome Aliens #161 has been detected in Rol. Our intelligence service has designated the new ship as the Ejdle 001.
2028 April 26, 21:59:56,The Roman Empire,New Hostile Contact,Rol,New Thermal Contact!  Contact ID: Ejdle 001 (New), Class ID: Ejdle (New), Race ID: Rome Aliens #161, Strength 1
2028 April 26, 21:59:56,The Roman Empire,New Alien Ship,Rol,A new ship of the Ejdle class from the Rome Aliens #161 has been detected in Rol. Our intelligence service has designated the new ship as the Ejdle 002.
2028 April 26, 21:59:56,The Roman Empire,New Alien Ship,Rol,A new ship of the Ejdle class from the Rome Aliens #161 has been detected in Rol. Our intelligence service has designated the new ship as the Ejdle 003.
2028 May 1, 21:59:56,The Roman Empire,New Alien Class,Rol,A new ship class of the Rome Aliens #161 has been detected in Rol. Our intelligence service has designated the new class as the Nianemiev.
2028 May 1, 21:59:56,The Roman Empire,New Alien Ship,Rol,A new ship of the Nianemiev class from the Rome Aliens #161 has been detected in Rol. Our intelligence service has designated the new ship as the Nianemiev 001.
2028 May 1, 21:59:56,The Roman Empire,New Hostile Contact,Rol,New Thermal Contact!  Contact ID: Nianemiev 001 (New), Class ID: Nianemiev (New), Race ID: Rome Aliens #161, Strength 1
2028 May 1, 21:59:56,The Roman Empire,New Alien Ship,Rol,A new ship of the Nianemiev class from the Rome Aliens #161 has been detected in Rol. Our intelligence service has designated the new ship as the Nianemiev 002.
2028 May 1, 21:59:56,The Roman Empire,New Alien Ship,Rol,A new ship of the Nianemiev class from the Rome Aliens #161 has been detected in Rol. Our intelligence service has designated the new ship as the Nianemiev 003.
2028 May 6, 21:59:56,The Roman Empire,New Alien Class,Rol,A new ship class of the Rome Aliens #161 has been detected in Rol. Our intelligence service has designated the new class as the Shivva.
2028 May 6, 21:59:56,The Roman Empire,New Alien Ship,Rol,A new ship of the Shivva class from the Rome Aliens #161 has been detected in Rol. Our intelligence service has designated the new ship as the Shivva 001.
2028 May 6, 21:59:56,The Roman Empire,New Hostile Contact,Rol,New Thermal Contact!  Contact ID: Shivva 001 (New), Class ID: Shivva (New), Race ID: Rome Aliens #161, Strength 1
2028 May 6, 21:59:56,The Roman Empire,New Alien Ship,Rol,A new ship of the Shivva class from the Rome Aliens #161 has been detected in Rol. Our intelligence service has designated the new ship as the Shivva 002.
2028 May 6, 21:59:56,The Roman Empire,New Alien Ship,Rol,A new ship of the Shivva class from the Rome Aliens #161 has been detected in Rol. Our intelligence service has designated the new ship as the Shivva 003.
2028 May 11, 21:59:56,The Orcs,Ground Combat,Vinak,Ground Attack on Vinak-A III vs Ol Aliens #160. Total Attack Strength: 294.5663 Combat Ratio: 1.7087  Chance of Attacker unit loss: 5.9%
2028 May 11, 21:59:56,The Roman Empire,Ground Combat,Rol,Ground defense on Rome. Total Defense strength: 172.395 Combat Ratio: 1.7087  Chance of unit loss: 17.1%
2028 May 11, 21:59:56,The Orcs,Officer Update,N/A,As a result of experience gained in the performance of his duties, WildBoy Attalos of Pandosia, Epirus  has increased his Ground Combat Bonus to 11%
2028 May 11, 21:59:56,The Orcs,Officer Update,N/A,As a result of experience gained in the performance of his duties, Mekboy Plutarch of Olympus  has increased his Ground Combat Bonus to 14%
2028 May 11, 21:59:56,The Roman Empire,Officer Update,N/A,As a result of experience gained in the performance of his duties, Centurion Numerius Stertinius Molacus has increased his Ground Combat Bonus to 1%
2028 May 16, 21:59:56,The Orcs,Ground Combat,Vinak,Ground Attack on Vinak-A III vs Ol Aliens #160. Total Attack Strength: 295.4117 Combat Ratio: 1.7128  Chance of Attacker unit loss: 5.8%
2028 May 16, 21:59:56,The Roman Empire,Ground Combat,Rol,Ground defense on Rome. Total Defense strength: 172.4775 Combat Ratio: 1.7128  Chance of unit loss: 17.1%
2028 May 16, 21:59:56,The Orcs,Officer Update,N/A,As a result of experience gained in the performance of his duties, OddBoy Dolops of Cyme  has increased his Ground Combat Bonus to 3%
2028 May 16, 21:59:56,The Orcs,Officer Update,N/A,As a result of experience gained in the performance of his duties, Mekboy Plutarch of Olympus  has increased his Ground Combat Bonus to 15%
2028 May 16, 21:59:56,The Orcs,Readiness Loss,Vinak,52nd Assault Infantry Battalion suffered a 12% readiness loss. Readiness now 88
2028 May 16, 21:59:56,The Roman Empire,Enemy Casualties,Rol,Casulties inflicted on enemy ground unit. Estimated losses: 6%. ID: 52nd Assault Infantry Battalion (Rome Aliens #161)
2028 May 16, 21:59:56,The Roman Empire,Officer Update,N/A,As a result of experience gained in the performance of his duties, Centurion Numerius Nipius Volturcius has increased his Ground Combat Bonus to 1%
2028 May 16, 21:59:56,The Roman Empire,Readiness Loss,Rol,2nd Low Tech Infantry suffered a 32% readiness loss. Readiness now 68
2028 May 16, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 38%. ID: 2nd Low Tech Infantry (Ol Aliens #160)
2028 May 16, 21:59:56,The Roman Empire,Readiness Loss,Rol,26th Assault Infantry Battalion suffered a 25% readiness loss. Readiness now 75
2028 May 16, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 20%. ID: 26th Assault Infantry Battalion (Ol Aliens #160)
2028 May 16, 21:59:56,The Roman Empire,Morale Loss,Rol,As a result of suffering casualties, the morale of 26th Assault Infantry Battalion has decreased by 8
2028 May 16, 21:59:56,The Roman Empire,Readiness Loss,Rol,33rd Heavy Assault Battalion suffered a 36% readiness loss. Readiness now 64
2028 May 16, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 47%. ID: 33rd Heavy Assault Battalion (Ol Aliens #160)
2028 May 16, 21:59:56,The Roman Empire,Morale Loss,Rol,As a result of suffering casualties, the morale of 33rd Heavy Assault Battalion has decreased by 8
2028 May 21, 21:59:56,The Orcs,Ground Combat,Vinak,Ground Attack on Vinak-A III vs Ol Aliens #160. Total Attack Strength: 294.7413 Combat Ratio: 1.9402  Chance of Attacker unit loss: 5.2%
2028 May 21, 21:59:56,The Roman Empire,Ground Combat,Rol,Ground defense on Rome. Total Defense strength: 151.9112 Combat Ratio: 1.9402  Chance of unit loss: 19.4%
2028 May 21, 21:59:56,The Orcs,Readiness Loss,Vinak,47th Replacement Battalion suffered a 5% readiness loss. Readiness now 95
2028 May 21, 21:59:56,The Roman Empire,Enemy Casualties,Rol,Casulties inflicted on enemy ground unit. Estimated losses: 2%. ID: 47th Replacement Battalion (Rome Aliens #161)
2028 May 21, 21:59:56,The Orcs,Morale Increase,Vinak,Despite suffering casualties, 47th Replacement Battalion increased its morale by 4
2028 May 21, 21:59:56,The Roman Empire,Readiness Loss,Rol,8th Low Tech Infantry suffered a 44% readiness loss. Readiness now 56
2028 May 21, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 48%. ID: 8th Low Tech Infantry (Ol Aliens #160)
2028 May 21, 21:59:56,The Roman Empire,Officer Update,N/A,As a result of experience gained in the performance of his duties, Centurion Appius Augustus Niraemius has increased his Ground Combat Bonus to 1%
2028 May 21, 21:59:56,The Roman Empire,Readiness Loss,Rol,9th Low Tech Infantry suffered a 29% readiness loss. Readiness now 71
2028 May 21, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 32%. ID: 9th Low Tech Infantry (Ol Aliens #160)
2028 May 21, 21:59:56,The Roman Empire,Readiness Loss,Rol,27th Replacement Battalion suffered a 35% readiness loss. Readiness now 60
2028 May 21, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 25%. ID: 27th Replacement Battalion (Ol Aliens #160)
2028 May 21, 21:59:56,The Roman Empire,Morale Loss,Rol,As a result of suffering casualties, the morale of 27th Replacement Battalion has decreased by 2
2028 May 26, 21:59:56,The Orcs,Ground Combat,Vinak,Ground Attack on Vinak-A III vs Ol Aliens #160. Total Attack Strength: 295.308 Combat Ratio: 1.9989  Chance of Attacker unit loss: 5%
2028 May 26, 21:59:56,The Roman Empire,Ground Combat,Rol,Ground defense on Rome. Total Defense strength: 147.7386 Combat Ratio: 1.9989  Chance of unit loss: 20%
2028 May 26, 21:59:56,The Orcs,Officer Update,N/A,As a result of experience gained in the performance of her duties, WildBoy Neaera of Delphi  has increased her Ground Combat Bonus to 11%
2028 May 26, 21:59:56,The Orcs,Officer Update,N/A,As a result of experience gained in the performance of his duties, OddBoy Dolops of Cyme  has increased his Ground Combat Bonus to 4%
2028 May 26, 21:59:56,The Orcs,Officer Update,N/A,As a result of experience gained in the performance of his duties, Mekboy Plutarch of Olympus  has increased his Ground Combat Bonus to 16%
2028 May 26, 21:59:56,The Roman Empire,Officer Update,N/A,As a result of experience gained in the performance of his duties, Centurion Marcus Falerius Cinnianus has increased his Ground Combat Bonus to 6%
2028 May 26, 21:59:56,The Roman Empire,Readiness Loss,Rol,13th Low Tech Armour suffered a 28% readiness loss. Readiness now 72
2028 May 26, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 17%. ID: 13th Low Tech Armour (Ol Aliens #160)
2028 May 26, 21:59:56,The Roman Empire,Officer Update,N/A,As a result of experience gained in the performance of his duties, Centurion Tiberius Victricus Marcus has increased his Ground Combat Bonus to 1%
2028 June 1, 21:59:56,The Orcs,Ground Combat,Vinak,Ground Attack on Vinak-A III vs Ol Aliens #160. Total Attack Strength: 298.2977 Combat Ratio: 2.0267  Chance of Attacker unit loss: 4.9%
2028 June 1, 21:59:56,The Roman Empire,Ground Combat,Rol,Ground defense on Rome. Total Defense strength: 147.186 Combat Ratio: 2.0267  Chance of unit loss: 20.3%
2028 June 1, 21:59:56,The Orcs,Officer Update,N/A,As a result of experience gained in the performance of his duties, WildBoy Attalos of Pandosia, Epirus  has increased his Ground Combat Bonus to 12%
2028 June 1, 21:59:56,The Roman Empire,Officer Update,N/A,As a result of experience gained in the performance of his duties, Centurion Numerius Nipius Volturcius has increased his Ground Combat Bonus to 2%
2028 June 1, 21:59:56,The Roman Empire,Readiness Loss,Rol,8th Low Tech Infantry suffered a 43% readiness loss. Readiness now 18
2028 June 1, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 39%. ID: 8th Low Tech Infantry (Ol Aliens #160)
2028 June 1, 21:59:56,The Roman Empire,Morale Loss,Rol,As a result of suffering casualties, the morale of 8th Low Tech Infantry has decreased by 7
2028 June 1, 21:59:56,The Roman Empire,Readiness Loss,Rol,9th Low Tech Infantry suffered a 27% readiness loss. Readiness now 47
2028 June 1, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 32%. ID: 9th Low Tech Infantry (Ol Aliens #160)
2028 June 1, 21:59:56,The Roman Empire,Readiness Loss,Rol,11th Low Tech Armour suffered a 11% readiness loss. Readiness now 89
2028 June 1, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 9%. ID: 11th Low Tech Armour (Ol Aliens #160)
2028 June 1, 21:59:56,The Roman Empire,Readiness Loss,Rol,35th Replacement Battalion suffered a 5% readiness loss. Readiness now 95
2028 June 1, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 3%. ID: 35th Replacement Battalion (Ol Aliens #160)
2028 June 6, 21:59:56,The Orcs,Ground Combat,Vinak,Ground Attack on Vinak-A III vs Ol Aliens #160. Total Attack Strength: 298.9579 Combat Ratio: 2.0906  Chance of Attacker unit loss: 4.8%
2028 June 6, 21:59:56,The Roman Empire,Ground Combat,Rol,Ground defense on Rome. Total Defense strength: 142.9978 Combat Ratio: 2.0906  Chance of unit loss: 20.9%
2028 June 6, 21:59:56,The Orcs,Officer Update,N/A,As a result of experience gained in the performance of his duties, WildBoy Attalos of Pandosia, Epirus  has increased his Ground Combat Bonus to 13%
2028 June 6, 21:59:56,The Orcs,Readiness Loss,Vinak,47th Replacement Battalion suffered a 34% readiness loss. Readiness now 62
2028 June 6, 21:59:56,The Roman Empire,Enemy Casualties,Rol,Casulties inflicted on enemy ground unit. Estimated losses: 17%. ID: 47th Replacement Battalion (Rome Aliens #161)
2028 June 6, 21:59:56,The Roman Empire,Readiness Loss,Rol,2nd Low Tech Infantry suffered a 26% readiness loss. Readiness now 49
2028 June 6, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 21%. ID: 2nd Low Tech Infantry (Ol Aliens #160)
2028 June 6, 21:59:56,The Roman Empire,Officer Update,N/A,As a result of experience gained in the performance of his duties, Centurion Numerius Stertinius Molacus has increased his Ground Combat Bonus to 2%
2028 June 6, 21:59:56,The Roman Empire,Officer Update,N/A,As a result of experience gained in the performance of his duties, Centurion Numerius Stertinius Molacus has increased his Ground Forces Training Rating to 25
2028 June 6, 21:59:56,The Roman Empire,Readiness Loss,Rol,9th Low Tech Infantry suffered a 3% readiness loss. Readiness now 46
2028 June 6, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 1%. ID: 9th Low Tech Infantry (Ol Aliens #160)
2028 June 6, 21:59:56,The Roman Empire,Morale Loss,Rol,As a result of suffering casualties, the morale of 9th Low Tech Infantry has decreased by 2
2028 June 6, 21:59:56,The Roman Empire,Readiness Loss,Rol,13th Low Tech Armour suffered a 32% readiness loss. Readiness now 45
2028 June 6, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 22%. ID: 13th Low Tech Armour (Ol Aliens #160)
2028 June 11, 21:59:56,The Orcs,Ground Combat,Vinak,Ground Attack on Vinak-A III vs Ol Aliens #160. Total Attack Strength: 299.6182 Combat Ratio: 2.1428  Chance of Attacker unit loss: 4.7%
2028 June 11, 21:59:56,The Roman Empire,Ground Combat,Rol,Ground defense on Rome. Total Defense strength: 139.8231 Combat Ratio: 2.1428  Chance of unit loss: 21.4%
2028 June 11, 21:59:56,The Roman Empire,Officer Update,N/A,As a result of experience gained in the performance of his duties, Centurion Numerius Nipius Volturcius has increased his Ground Combat Bonus to 3%
2028 June 11, 21:59:56,The Roman Empire,Ground Unit Lost,Rol,27th Replacement Battalion destroyed
2028 June 11, 21:59:56,The Orcs,Ground Unit Dest.,Vinak,Enemy ground unit destroyed. ID: 27th Replacement Battalion (Ol Aliens #160)
2028 June 16, 21:59:56,The Orcs,Ground Combat,Vinak,Ground Attack on Vinak-A III vs Ol Aliens #160. Total Attack Strength: 300.1849 Combat Ratio: 2.1155  Chance of Attacker unit loss: 4.7%
2028 June 16, 21:59:56,The Roman Empire,Ground Combat,Rol,Ground defense on Rome. Total Defense strength: 141.8968 Combat Ratio: 2.1155  Chance of unit loss: 21.2%
2028 June 16, 21:59:56,The Orcs,Readiness Loss,Vinak,53rd Assault Infantry Battalion suffered a 35% readiness loss. Readiness now 65
2028 June 16, 21:59:56,The Roman Empire,Enemy Casualties,Rol,Casulties inflicted on enemy ground unit. Estimated losses: 39%. ID: 53rd Assault Infantry Battalion (Rome Aliens #161)
2028 June 16, 21:59:56,The Roman Empire,Officer Update,N/A,As a result of experience gained in the performance of his duties, Centurion Numerius Stertinius Molacus has increased his Ground Combat Bonus to 3%
2028 June 16, 21:59:56,The Roman Empire,Readiness Loss,Rol,9th Low Tech Infantry suffered a 1% readiness loss. Readiness now 49
2028 June 16, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 0%. ID: 9th Low Tech Infantry (Ol Aliens #160)
2028 June 16, 21:59:56,The Roman Empire,Officer Update,N/A,As a result of experience gained in the performance of his duties, Primus Oppius Maximius Orissus has increased his Ground Combat Bonus to 11%
2028 June 16, 21:59:56,The Roman Empire,Readiness Loss,Rol,17th Brigade Headquarters suffered a 8% readiness loss. Readiness now 92
2028 June 16, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 9%. ID: 17th Brigade Headquarters (Ol Aliens #160)
2028 June 16, 21:59:56,The Roman Empire,Morale Increase,Rol,Despite suffering casualties, 17th Brigade Headquarters increased its morale by 5
2028 June 21, 21:59:56,The Orcs,Ground Combat,Vinak,Ground Attack on Vinak-A III vs Ol Aliens #160. Total Attack Strength: 290.0542 Combat Ratio: 2.015  Chance of Attacker unit loss: 5%
2028 June 21, 21:59:56,The Roman Empire,Ground Combat,Rol,Ground defense on Rome. Total Defense strength: 143.9442 Combat Ratio: 2.015  Chance of unit loss: 20.2%
2028 June 21, 21:59:56,The Roman Empire,Readiness Loss,Rol,1st Low Tech Infantry suffered a 16% readiness loss. Readiness now 84
2028 June 21, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 13%. ID: 1st Low Tech Infantry (Ol Aliens #160)
2028 June 21, 21:59:56,The Roman Empire,Morale Increase,Rol,Despite suffering casualties, 1st Low Tech Infantry increased its morale by 10
2028 June 21, 21:59:56,The Roman Empire,Officer Update,N/A,As a result of experience gained in the performance of his duties, Centurion Marcus Falerius Cinnianus has increased his Ground Combat Bonus to 7%
2028 June 21, 21:59:56,The Roman Empire,Officer Update,N/A,As a result of experience gained in the performance of his duties, Primus Oppius Maximius Orissus has increased his Ground Combat Bonus to 12%
2028 June 21, 21:59:56,The Roman Empire,Readiness Loss,Rol,35th Replacement Battalion suffered a 49% readiness loss. Readiness now 22
2028 June 21, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 59%. ID: 35th Replacement Battalion (Ol Aliens #160)
2028 June 26, 21:59:56,The Orcs,Ground Combat,Vinak,Ground Attack on Vinak-A III vs Ol Aliens #160. Total Attack Strength: 290.6435 Combat Ratio: 2.0048  Chance of Attacker unit loss: 5%
2028 June 26, 21:59:56,The Roman Empire,Ground Combat,Rol,Ground defense on Rome. Total Defense strength: 144.9711 Combat Ratio: 2.0048  Chance of unit loss: 20%
2028 June 26, 21:59:56,The Orcs,Officer Update,N/A,As a result of experience gained in the performance of her duties, WildBoy Neaera of Delphi  has increased her Ground Combat Bonus to 12%
2028 June 26, 21:59:56,The Roman Empire,Officer Update,N/A,As a result of experience gained in the performance of his duties, Centurion Numerius Nipius Volturcius has increased his Ground Combat Bonus to 4%
2028 June 26, 21:59:56,The Roman Empire,Officer Update,N/A,As a result of experience gained in the performance of his duties, Centurion Appius Augustus Niraemius has increased his Ground Combat Bonus to 2%
2028 June 26, 21:59:56,The Roman Empire,Officer Update,N/A,As a result of experience gained in the performance of his duties, Centurion Tiberius Victricus Marcus has increased his Ground Combat Bonus to 2%
2028 June 26, 21:59:56,The Roman Empire,Officer Update,N/A,As a result of experience gained in the performance of his duties, Primus Oppius Maximius Orissus has increased his Ground Combat Bonus to 13%
2028 June 26, 21:59:56,The Roman Empire,Readiness Loss,Rol,34th Heavy Assault Battalion suffered a 37% readiness loss. Readiness now 63
2028 June 26, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 44%. ID: 34th Heavy Assault Battalion (Ol Aliens #160)
2028 July 1, 21:59:56,The Roman Empire,Ground Unit Lost,N/A,The remaining personnel of the 35th Replacement Battalion have been assigned to other units and the unit has been dissolved
2028 July 1, 21:59:56,The Orcs,Ground Combat,Vinak,Ground Attack on Vinak-A III vs Ol Aliens #160. Total Attack Strength: 291.2781 Combat Ratio: 2.1674  Chance of Attacker unit loss: 4.6%
2028 July 1, 21:59:56,The Roman Empire,Ground Combat,Rol,Ground defense on Rome. Total Defense strength: 134.3887 Combat Ratio: 2.1674  Chance of unit loss: 21.7%
2028 July 1, 21:59:56,The Orcs,Readiness Loss,Vinak,10th Low Tech Infantry suffered a 13% readiness loss. Readiness now 87
2028 July 1, 21:59:56,The Roman Empire,Enemy Casualties,Rol,Casulties inflicted on enemy ground unit. Estimated losses: 10%. ID: 10th Low Tech Infantry (Rome Aliens #161)
2028 July 1, 21:59:56,The Orcs,Readiness Loss,Vinak,29th Brigade Headquarters suffered a 36% readiness loss. Readiness now 64
2028 July 1, 21:59:56,The Roman Empire,Enemy Casualties,Rol,Casulties inflicted on enemy ground unit. Estimated losses: 40%. ID: 29th Brigade Headquarters (Rome Aliens #161)
2028 July 1, 21:59:56,The Orcs,Officer Update,N/A,As a result of experience gained in the performance of his duties, Mekboy Plutarch of Olympus  has increased his Ground Combat Bonus to 17%
2028 July 1, 21:59:56,The Roman Empire,Officer Update,N/A,As a result of experience gained in the performance of his duties, Centurion Numerius Stertinius Molacus has increased his Ground Combat Bonus to 4%
2028 July 1, 21:59:56,The Roman Empire,Readiness Loss,Rol,14th Low Tech Armour suffered a 19% readiness loss. Readiness now 81
2028 July 1, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 11%. ID: 14th Low Tech Armour (Ol Aliens #160)
2028 July 1, 21:59:56,The Roman Empire,Readiness Loss,Rol,33rd Heavy Assault Battalion suffered a 3% readiness loss. Readiness now 78
2028 July 1, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 2%. ID: 33rd Heavy Assault Battalion (Ol Aliens #160)
2028 July 6, 21:59:56,The Orcs,Ground Combat,Vinak,Ground Attack on Vinak-A III vs Ol Aliens #160. Total Attack Strength: 292.0864 Combat Ratio: 2.2064  Chance of Attacker unit loss: 4.5%
2028 July 6, 21:59:56,The Roman Empire,Ground Combat,Rol,Ground defense on Rome. Total Defense strength: 132.3804 Combat Ratio: 2.2064  Chance of unit loss: 22.1%
2028 July 6, 21:59:56,The Orcs,Readiness Loss,Vinak,1st Low Tech Infantry suffered a 33% readiness loss. Readiness now 67
2028 July 6, 21:59:56,The Roman Empire,Enemy Casualties,Rol,Casulties inflicted on enemy ground unit. Estimated losses: 33%. ID: 1st Low Tech Infantry (Rome Aliens #161)
2028 July 6, 21:59:56,The Orcs,Readiness Loss,Vinak,48th Replacement Battalion suffered a 30% readiness loss. Readiness now 70
2028 July 6, 21:59:56,The Roman Empire,Enemy Casualties,Rol,Casulties inflicted on enemy ground unit. Estimated losses: 21%. ID: 48th Replacement Battalion (Rome Aliens #161)
2028 July 6, 21:59:56,The Roman Empire,Officer Update,N/A,As a result of experience gained in the performance of his duties, Centurion Numerius Stertinius Molacus has increased his Ground Forces Training Rating to 50
2028 July 6, 21:59:56,The Roman Empire,Readiness Loss,Rol,9th Low Tech Infantry suffered a 43% readiness loss. Readiness now 11
2028 July 6, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 30%. ID: 9th Low Tech Infantry (Ol Aliens #160)
2028 July 6, 21:59:56,The Roman Empire,Readiness Loss,Rol,26th Assault Infantry Battalion suffered a 20% readiness loss. Readiness now 72
2028 July 6, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 8%. ID: 26th Assault Infantry Battalion (Ol Aliens #160)
2028 July 11, 21:59:56,The Orcs,Ground Combat,Vinak,Ground Attack on Vinak-A III vs Ol Aliens #160. Total Attack Strength: 291.3704 Combat Ratio: 2.2963  Chance of Attacker unit loss: 4.4%
2028 July 11, 21:59:56,The Roman Empire,Ground Combat,Rol,Ground defense on Rome. Total Defense strength: 126.887 Combat Ratio: 2.2963  Chance of unit loss: 23%
2028 July 11, 21:59:56,The Roman Empire,Readiness Loss,Rol,2nd Low Tech Infantry suffered a 6% readiness loss. Readiness now 54
2028 July 11, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 8%. ID: 2nd Low Tech Infantry (Ol Aliens #160)
2028 July 11, 21:59:56,The Roman Empire,Morale Loss,Rol,As a result of suffering casualties, the morale of 2nd Low Tech Infantry has decreased by 8
2028 July 11, 21:59:56,The Roman Empire,Ground Unit Lost,Rol,9th Low Tech Infantry destroyed
2028 July 11, 21:59:56,The Orcs,Ground Unit Dest.,Vinak,Enemy ground unit destroyed. ID: 9th Low Tech Infantry (Ol Aliens #160)
2028 July 16, 21:59:56,The Orcs,Ground Combat,Vinak,Ground Attack on Vinak-A III vs Ol Aliens #160. Total Attack Strength: 292.1602 Combat Ratio: 2.3208  Chance of Attacker unit loss: 4.3%
2028 July 16, 21:59:56,The Roman Empire,Ground Combat,Rol,Ground defense on Rome. Total Defense strength: 125.889 Combat Ratio: 2.3208  Chance of unit loss: 23.2%
2028 July 16, 21:59:56,The Orcs,Officer Update,N/A,As a result of experience gained in the performance of his duties, OddBoy Dolops of Cyme  has increased his Ground Forces Training Rating to 125
2028 July 16, 21:59:56,The Roman Empire,Officer Update,N/A,As a result of experience gained in the performance of his duties, Centurion Numerius Nipius Volturcius has increased his Ground Combat Bonus to 5%
2028 July 16, 21:59:56,The Roman Empire,Officer Update,N/A,As a result of experience gained in the performance of his duties, Centurion Numerius Stertinius Molacus has increased his Ground Combat Bonus to 5%
2028 July 16, 21:59:56,The Roman Empire,Officer Update,N/A,As a result of experience gained in the performance of his duties, Centurion Appius Augustus Niraemius has increased his Ground Combat Bonus to 3%
2028 July 16, 21:59:56,The Roman Empire,Readiness Loss,Rol,11th Low Tech Armour suffered a 12% readiness loss. Readiness now 88
2028 July 16, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 7%. ID: 11th Low Tech Armour (Ol Aliens #160)
2028 July 16, 21:59:56,The Roman Empire,Readiness Loss,Rol,13th Low Tech Armour suffered a 2% readiness loss. Readiness now 57
2028 July 16, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 2%. ID: 13th Low Tech Armour (Ol Aliens #160)
2028 July 16, 21:59:56,The Roman Empire,Morale Loss,Rol,As a result of suffering casualties, the morale of 13th Low Tech Armour has decreased by 9
2028 July 16, 21:59:56,The Roman Empire,Officer Update,N/A,As a result of experience gained in the performance of his duties, Centurion Tiberius Victricus Marcus has increased his Ground Combat Bonus to 3%
2028 July 16, 21:59:56,The Roman Empire,Readiness Loss,Rol,14th Low Tech Armour suffered a 33% readiness loss. Readiness now 49
2028 July 16, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 20%. ID: 14th Low Tech Armour (Ol Aliens #160)
2028 July 21, 21:59:56,The Orcs,Ground Combat,Vinak,Ground Attack on Vinak-A III vs Ol Aliens #160. Total Attack Strength: 292.95 Combat Ratio: 2.4003  Chance of Attacker unit loss: 4.2%
2028 July 21, 21:59:56,The Roman Empire,Ground Combat,Rol,Ground defense on Rome. Total Defense strength: 122.0458 Combat Ratio: 2.4003  Chance of unit loss: 24%
2028 July 21, 21:59:56,The Roman Empire,Readiness Loss,Rol,1st Low Tech Infantry suffered a 36% readiness loss. Readiness now 55
2028 July 21, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 22%. ID: 1st Low Tech Infantry (Ol Aliens #160)
2028 July 21, 21:59:56,The Roman Empire,Readiness Loss,Rol,8th Low Tech Infantry suffered a 6% readiness loss. Readiness now 27
2028 July 21, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 7%. ID: 8th Low Tech Infantry (Ol Aliens #160)
2028 July 21, 21:59:56,The Roman Empire,Readiness Loss,Rol,11th Low Tech Armour suffered a 22% readiness loss. Readiness now 66
2028 July 21, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 9%. ID: 11th Low Tech Armour (Ol Aliens #160)
2028 July 21, 21:59:56,The Roman Empire,Readiness Loss,Rol,13th Low Tech Armour suffered a 34% readiness loss. Readiness now 24
2028 July 21, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 31%. ID: 13th Low Tech Armour (Ol Aliens #160)
2028 July 21, 21:59:56,The Roman Empire,Readiness Loss,Rol,14th Low Tech Armour suffered a 46% readiness loss. Readiness now 4
2028 July 21, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 37%. ID: 14th Low Tech Armour (Ol Aliens #160)
2028 July 21, 21:59:56,The Roman Empire,Morale Loss,Rol,As a result of suffering casualties, the morale of 14th Low Tech Armour has decreased by 7
2028 July 21, 21:59:56,The Roman Empire,Readiness Loss,Rol,26th Assault Infantry Battalion suffered a 47% readiness loss. Readiness now 27
2028 July 21, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 28%. ID: 26th Assault Infantry Battalion (Ol Aliens #160)
2028 July 21, 21:59:56,The Roman Empire,Morale Loss,Rol,As a result of suffering casualties, the morale of 26th Assault Infantry Battalion has decreased by 8
2028 July 26, 21:59:56,The Orcs,Ground Combat,Vinak,Ground Attack on Vinak-A III vs Ol Aliens #160. Total Attack Strength: 293.7398 Combat Ratio: 2.8867  Chance of Attacker unit loss: 3.5%
2028 July 26, 21:59:56,The Roman Empire,Ground Combat,Rol,Ground defense on Rome. Total Defense strength: 101.7548 Combat Ratio: 2.8867  Chance of unit loss: 28.9%
2028 July 26, 21:59:56,The Orcs,Officer Update,N/A,As a result of experience gained in the performance of her duties, WildBoy Neaera of Delphi  has increased her Ground Combat Bonus to 13%
2028 July 26, 21:59:56,The Roman Empire,Readiness Loss,Rol,2nd Low Tech Infantry suffered a 39% readiness loss. Readiness now 16
2028 July 26, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 23%. ID: 2nd Low Tech Infantry (Ol Aliens #160)
2028 July 26, 21:59:56,The Roman Empire,Officer Update,N/A,As a result of experience gained in the performance of his duties, Centurion Appius Augustus Niraemius has increased his Ground Combat Bonus to 4%
2028 August 1, 21:59:56,The Orcs,Ground Combat,Vinak,Ground Attack on Vinak-A III vs Ol Aliens #160. Total Attack Strength: 294.554 Combat Ratio: 2.9687  Chance of Attacker unit loss: 3.4%
2028 August 1, 21:59:56,The Roman Empire,Ground Combat,Rol,Ground defense on Rome. Total Defense strength: 99.2203 Combat Ratio: 2.9687  Chance of unit loss: 29.7%
2028 August 1, 21:59:56,The Orcs,Readiness Loss,Vinak,49th Replacement Battalion suffered a 38% readiness loss. Readiness now 49
2028 August 1, 21:59:56,The Roman Empire,Enemy Casualties,Rol,Casulties inflicted on enemy ground unit. Estimated losses: 38%. ID: 49th Replacement Battalion (Rome Aliens #161)
2028 August 1, 21:59:56,The Roman Empire,Ground Unit Lost,Rol,8th Low Tech Infantry destroyed
2028 August 1, 21:59:56,The Orcs,Ground Unit Dest.,Vinak,Enemy ground unit destroyed. ID: 8th Low Tech Infantry (Ol Aliens #160)
2028 August 1, 21:59:56,The Roman Empire,Officer Update,N/A,Centurion Appius Augustus Niraemius was killed during the destruction of his unit.
2028 August 1, 21:59:56,The Roman Empire,Officer Update,N/A,As a result of experience gained in the performance of his duties, Centurion Marcus Falerius Cinnianus has increased his Ground Combat Bonus to 8%
2028 August 1, 21:59:56,The Roman Empire,Officer Update,N/A,As a result of experience gained in the performance of his duties, Primus Oppius Maximius Orissus has increased his Ground Combat Bonus to 14%
2028 August 1, 21:59:56,The Roman Empire,Readiness Loss,Rol,17th Brigade Headquarters suffered a 17% readiness loss. Readiness now 83
2028 August 1, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 14%. ID: 17th Brigade Headquarters (Ol Aliens #160)
2028 August 1, 21:59:56,The Roman Empire,Readiness Loss,Rol,26th Assault Infantry Battalion suffered a 21% readiness loss. Readiness now 7
2028 August 1, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 11%. ID: 26th Assault Infantry Battalion (Ol Aliens #160)
2028 August 1, 21:59:56,The Roman Empire,Morale Loss,Rol,As a result of suffering casualties, the morale of 26th Assault Infantry Battalion has decreased by 3
2028 August 1, 21:59:56,The Roman Empire,Readiness Loss,Rol,34th Heavy Assault Battalion suffered a 29% readiness loss. Readiness now 38
2028 August 1, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 35%. ID: 34th Heavy Assault Battalion (Ol Aliens #160)
2028 August 6, 21:59:56,The Orcs,Ground Combat,Vinak,Ground Attack on Vinak-A III vs Ol Aliens #160. Total Attack Strength: 295.2295 Combat Ratio: 3.5346  Chance of Attacker unit loss: 2.8%
2028 August 6, 21:59:56,The Roman Empire,Ground Combat,Rol,Ground defense on Rome. Total Defense strength: 83.5249 Combat Ratio: 3.5346  Chance of unit loss: 35.3%
2028 August 6, 21:59:56,The Orcs,Officer Update,N/A,As a result of experience gained in the performance of her duties, WildBoy Neaera of Delphi  has increased her Ground Combat Bonus to 14%
2028 August 6, 21:59:56,The Orcs,Officer Update,N/A,As a result of experience gained in the performance of his duties, WildBoy Attalos of Pandosia, Epirus  has increased his Ground Combat Bonus to 14%
2028 August 6, 21:59:56,The Orcs,Officer Update,N/A,As a result of experience gained in the performance of his duties, Mekboy Plutarch of Olympus  has increased his Ground Combat Bonus to 18%
2028 August 6, 21:59:56,The Roman Empire,Ground Unit Lost,Rol,2nd Low Tech Infantry destroyed
2028 August 6, 21:59:56,The Orcs,Ground Unit Dest.,Vinak,Enemy ground unit destroyed. ID: 2nd Low Tech Infantry (Ol Aliens #160)
2028 August 6, 21:59:56,The Roman Empire,Officer Update,N/A,Centurion Numerius Stertinius Molacus was killed during the destruction of his unit.
2028 August 6, 21:59:56,The Roman Empire,Ground Unit Lost,Rol,13th Low Tech Armour destroyed
2028 August 6, 21:59:56,The Orcs,Ground Unit Dest.,Vinak,Enemy ground unit destroyed. ID: 13th Low Tech Armour (Ol Aliens #160)
2028 August 6, 21:59:56,The Roman Empire,Officer Update,N/A,Centurion Tiberius Victricus Marcus has escaped the destruction of his unit.
2028 August 6, 21:59:56,The Roman Empire,Readiness Loss,Rol,16th Brigade Headquarters suffered a 35% readiness loss. Readiness now 65
2028 August 6, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 32%. ID: 16th Brigade Headquarters (Ol Aliens #160)
2028 August 6, 21:59:56,The Roman Empire,Morale Loss,Rol,As a result of suffering casualties, the morale of 16th Brigade Headquarters has decreased by 7
2028 August 6, 21:59:56,The Roman Empire,Readiness Loss,Rol,33rd Heavy Assault Battalion suffered a 37% readiness loss. Readiness now 44
2028 August 6, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 22%. ID: 33rd Heavy Assault Battalion (Ol Aliens #160)
2028 August 11, 21:59:56,The Orcs,Ground Combat,Vinak,Ground Attack on Vinak-A III vs Ol Aliens #160. Total Attack Strength: 296.8064 Combat Ratio: 4.6374  Chance of Attacker unit loss: 2.2%
2028 August 11, 21:59:56,The Roman Empire,Ground Combat,Rol,Ground defense on Rome. Total Defense strength: 64.0022 Combat Ratio: 4.6374  Chance of unit loss: 46.4%
2028 August 11, 21:59:56,The Orcs,Officer Update,N/A,As a result of experience gained in the performance of his duties, WildBoy Attalos of Pandosia, Epirus  has increased his Ground Combat Bonus to 15%
2028 August 11, 21:59:56,The Orcs,Readiness Loss,Vinak,60th Heavy Assault Battalion suffered a 18% readiness loss. Readiness now 82
2028 August 11, 21:59:56,The Roman Empire,Enemy Casualties,Rol,Casulties inflicted on enemy ground unit. Estimated losses: 13%. ID: 60th Heavy Assault Battalion (Rome Aliens #161)
2028 August 11, 21:59:56,The Roman Empire,Readiness Loss,Rol,1st Low Tech Infantry suffered a 25% readiness loss. Readiness now 32
2028 August 11, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 23%. ID: 1st Low Tech Infantry (Ol Aliens #160)
2028 August 11, 21:59:56,The Roman Empire,Morale Loss,Rol,As a result of suffering casualties, the morale of 1st Low Tech Infantry has decreased by 1
2028 August 11, 21:59:56,The Roman Empire,Officer Update,N/A,As a result of experience gained in the performance of his duties, Centurion Numerius Nipius Volturcius has increased his Ground Combat Bonus to 6%
2028 August 11, 21:59:56,The Roman Empire,Readiness Loss,Rol,11th Low Tech Armour suffered a 5% readiness loss. Readiness now 63
2028 August 11, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 2%. ID: 11th Low Tech Armour (Ol Aliens #160)
2028 August 11, 21:59:56,The Roman Empire,Ground Unit Lost,Rol,14th Low Tech Armour destroyed
2028 August 11, 21:59:56,The Orcs,Ground Unit Dest.,Vinak,Enemy ground unit destroyed. ID: 14th Low Tech Armour (Ol Aliens #160)
2028 August 11, 21:59:56,The Roman Empire,Officer Update,N/A,As a result of experience gained in the performance of his duties, Primus Oppius Maximius Orissus has increased his Ground Combat Bonus to 15%
2028 August 11, 21:59:56,The Roman Empire,Readiness Loss,Rol,17th Brigade Headquarters suffered a 9% readiness loss. Readiness now 75
2028 August 11, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 5%. ID: 17th Brigade Headquarters (Ol Aliens #160)
2028 August 11, 21:59:56,The Roman Empire,Morale Loss,Rol,As a result of suffering casualties, the morale of 17th Brigade Headquarters has decreased by 9
2028 August 11, 21:59:56,The Roman Empire,Ground Unit Lost,Rol,26th Assault Infantry Battalion destroyed
2028 August 11, 21:59:56,The Orcs,Ground Unit Dest.,Vinak,Enemy ground unit destroyed. ID: 26th Assault Infantry Battalion (Ol Aliens #160)
2028 August 11, 21:59:56,The Roman Empire,Readiness Loss,Rol,33rd Heavy Assault Battalion suffered a 15% readiness loss. Readiness now 30
2028 August 11, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 20%. ID: 33rd Heavy Assault Battalion (Ol Aliens #160)
2028 August 11, 21:59:56,The Roman Empire,Ground Unit Lost,Rol,34th Heavy Assault Battalion destroyed
2028 August 11, 21:59:56,The Orcs,Ground Unit Dest.,Vinak,Enemy ground unit destroyed. ID: 34th Heavy Assault Battalion (Ol Aliens #160)
2028 August 16, 21:59:56,The Orcs,Ground Combat,Vinak,Ground Attack on Vinak-A III vs Ol Aliens #160. Total Attack Strength: 290.4585 Combat Ratio: 7.4071  Chance of Attacker unit loss: 1.4%
2028 August 16, 21:59:56,The Roman Empire,Ground Combat,Rol,Ground defense on Rome. Total Defense strength: 39.2135 Combat Ratio: 7.4071  Chance of unit loss: 74.1%
2028 August 16, 21:59:56,The Roman Empire,Readiness Loss,Rol,1st Low Tech Infantry suffered a 30% readiness loss. Readiness now 2
2028 August 16, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 21%. ID: 1st Low Tech Infantry (Ol Aliens #160)
2028 August 16, 21:59:56,The Roman Empire,Readiness Loss,Rol,17th Brigade Headquarters suffered a 14% readiness loss. Readiness now 61
2028 August 16, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 6%. ID: 17th Brigade Headquarters (Ol Aliens #160)
2028 August 16, 21:59:56,The Roman Empire,Readiness Loss,Rol,33rd Heavy Assault Battalion suffered a 8% readiness loss. Readiness now 22
2028 August 16, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 3%. ID: 33rd Heavy Assault Battalion (Ol Aliens #160)
2028 August 21, 21:59:56,The Orcs,Ground Combat,Vinak,Ground Attack on Vinak-A III vs Ol Aliens #160. Total Attack Strength: 291.9693 Combat Ratio: 8.8418  Chance of Attacker unit loss: 1.1%
2028 August 21, 21:59:56,The Roman Empire,Ground Combat,Rol,Ground defense on Rome. Total Defense strength: 33.0216 Combat Ratio: 8.8418  Chance of unit loss: 88.4%
2028 August 21, 21:59:56,The Orcs,Officer Update,N/A,As a result of experience gained in the performance of his duties, WildBoy Attalos of Pandosia, Epirus  has increased his Ground Combat Bonus to 16%
2028 August 21, 21:59:56,The Orcs,Readiness Loss,Vinak,52nd Assault Infantry Battalion suffered a 2% readiness loss. Readiness now 98
2028 August 21, 21:59:56,The Roman Empire,Enemy Casualties,Rol,Casulties inflicted on enemy ground unit. Estimated losses: 1%. ID: 52nd Assault Infantry Battalion (Rome Aliens #161)
2028 August 21, 21:59:56,The Orcs,Morale Increase,Vinak,Despite suffering casualties, 52nd Assault Infantry Battalion increased its morale by 6
2028 August 21, 21:59:56,The Roman Empire,Readiness Loss,Rol,11th Low Tech Armour suffered a 20% readiness loss. Readiness now 44
2028 August 21, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 26%. ID: 11th Low Tech Armour (Ol Aliens #160)
2028 August 21, 21:59:56,The Roman Empire,Officer Update,N/A,As a result of experience gained in the performance of his duties, Centurion Marcus Falerius Cinnianus has increased his Ground Combat Bonus to 9%
2028 August 21, 21:59:56,The Roman Empire,Readiness Loss,Rol,17th Brigade Headquarters suffered a 32% readiness loss. Readiness now 30
2028 August 21, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 22%. ID: 17th Brigade Headquarters (Ol Aliens #160)
2028 August 21, 21:59:56,The Roman Empire,Readiness Loss,Rol,24th Divisional Headquarters suffered a 39% readiness loss. Readiness now 61
2028 August 21, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 39%. ID: 24th Divisional Headquarters (Ol Aliens #160)
2028 August 21, 21:59:56,The Roman Empire,Ground Unit Lost,Rol,33rd Heavy Assault Battalion destroyed
2028 August 21, 21:59:56,The Orcs,Ground Unit Dest.,Vinak,Enemy ground unit destroyed. ID: 33rd Heavy Assault Battalion (Ol Aliens #160)
2028 August 26, 21:59:56,The Orcs,Ground Unit Lost,N/A,The remaining personnel of the 47th Replacement Battalion have been assigned to other units and the unit has been dissolved
2028 August 26, 21:59:56,The Orcs,Ground Combat,Vinak,Ground Attack on Vinak-A III vs Ol Aliens #160. Total Attack Strength: 295.3383 Combat Ratio: 16.9563  Chance of Attacker unit loss: 0.6%
2028 August 26, 21:59:56,The Roman Empire,Ground Combat,Rol,Ground defense on Rome. Total Defense strength: 17.4176 Combat Ratio: 16.9563  Chance of unit loss: 169.6%
2028 August 26, 21:59:56,The Orcs,Officer Update,N/A,As a result of experience gained in the performance of her duties, WildBoy Neaera of Delphi  has increased her Ground Combat Bonus to 15%
2028 August 26, 21:59:56,The Orcs,Officer Update,N/A,As a result of experience gained in the performance of his duties, WildBoy Attalos of Pandosia, Epirus  has increased his Ground Combat Bonus to 17%
2028 August 26, 21:59:56,The Orcs,Officer Update,N/A,As a result of experience gained in the performance of his duties, OddBoy Dolops of Cyme  has increased his Ground Combat Bonus to 5%
2028 August 26, 21:59:56,The Roman Empire,Ground Unit Lost,Rol,1st Low Tech Infantry destroyed
2028 August 26, 21:59:56,The Orcs,Ground Unit Dest.,Vinak,Enemy ground unit destroyed. ID: 1st Low Tech Infantry (Ol Aliens #160)
2028 August 26, 21:59:56,The Roman Empire,Officer Update,N/A,Centurion Numerius Nipius Volturcius has escaped the destruction of his unit.
2028 August 26, 21:59:56,The Roman Empire,Ground Unit Lost,Rol,11th Low Tech Armour destroyed
2028 August 26, 21:59:56,The Orcs,Ground Unit Dest.,Vinak,Enemy ground unit destroyed. ID: 11th Low Tech Armour (Ol Aliens #160)
2028 August 26, 21:59:56,The Roman Empire,Officer Update,N/A,Centurion Marcus Falerius Cinnianus was killed during the destruction of his unit.
2028 August 26, 21:59:56,The Roman Empire,Officer Update,N/A,As a result of experience gained in the performance of his duties, Primus Oppius Maximius Orissus has increased his Ground Forces Training Rating to 75
2028 August 26, 21:59:56,The Roman Empire,Readiness Loss,Rol,17th Brigade Headquarters suffered a 23% readiness loss. Readiness now 7
2028 August 26, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 12%. ID: 17th Brigade Headquarters (Ol Aliens #160)
2028 August 26, 21:59:56,The Roman Empire,Readiness Loss,Rol,24th Divisional Headquarters suffered a 35% readiness loss. Readiness now 26
2028 August 26, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 21%. ID: 24th Divisional Headquarters (Ol Aliens #160)
2028 September 1, 21:59:56,The Orcs,Ground Combat,Vinak,Ground Attack on Vinak-A III vs Ol Aliens #160. Total Attack Strength: 298.5935 Combat Ratio: 39.4573  Chance of Attacker unit loss: 0.3%
2028 September 1, 21:59:56,The Roman Empire,Ground Combat,Rol,Ground defense on Rome. Total Defense strength: 7.5675 Combat Ratio: 39.4573  Chance of unit loss: 394.6%
2028 September 1, 21:59:56,The Orcs,Officer Update,N/A,As a result of experience gained in the performance of his duties, Mekboy Plutarch of Olympus  has increased his Ground Combat Bonus to 19%
2028 September 1, 21:59:56,The Roman Empire,Ground Unit Lost,Rol,16th Brigade Headquarters destroyed
2028 September 1, 21:59:56,The Orcs,Ground Unit Dest.,Vinak,Enemy ground unit destroyed. ID: 16th Brigade Headquarters (Ol Aliens #160)
2028 September 1, 21:59:56,The Roman Empire,Officer Update,N/A,Primus Oppius Maximius Orissus has escaped the destruction of his unit.
2028 September 1, 21:59:56,The Roman Empire,Ground Unit Lost,Rol,17th Brigade Headquarters destroyed
2028 September 1, 21:59:56,The Orcs,Ground Unit Dest.,Vinak,Enemy ground unit destroyed. ID: 17th Brigade Headquarters (Ol Aliens #160)
2028 September
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on November 22, 2019, 01:15:41 PM
Off-Topic: combat log continued • show

2028 September 1, 21:59:56,The Roman Empire,Readiness Loss,Rol,24th Divisional Headquarters suffered a 20% readiness loss. Readiness now 7
2028 September 1, 21:59:56,The Orcs,Enemy Casualties,Vinak,Casulties inflicted on enemy ground unit. Estimated losses: 22%. ID: 24th Divisional Headquarters (Ol Aliens #160)
2028 September 1, 21:59:56,The Roman Empire,Morale Loss,Rol,As a result of suffering casualties, the morale of 24th Divisional Headquarters has decreased by 7
2028 September 6, 21:59:56,The Orcs,Ground Combat,Vinak,Ground Attack on Vinak-A III vs Ol Aliens #160. Total Attack Strength: 300.86 Combat Ratio: 472.2143  Chance of Attacker unit loss: 0%
2028 September 6, 21:59:56,The Roman Empire,Ground Combat,Rol,Ground defense on Rome. Total Defense strength: 0.6371 Combat Ratio: 472.2143  Chance of unit loss: 4722.1%
2028 September 6, 21:59:56,The Orcs,Officer Update,N/A,As a result of experience gained in the performance of her duties, WildBoy Neaera of Delphi  has increased her Ground Combat Bonus to 16%
2028 September 6, 21:59:56,The Orcs,Officer Update,N/A,As a result of experience gained in the performance of his duties, Mekboy Plutarch of Olympus  has increased his Ground Combat Bonus to 20%
2028 September 6, 21:59:56,The Roman Empire,Ground Unit Lost,Rol,24th Divisional Headquarters destroyed
2028 September 6, 21:59:56,The Orcs,Ground Unit Dest.,Vinak,Enemy ground unit destroyed. ID: 24th Divisional Headquarters (Ol Aliens #160)
2028 September 11, 21:59:56,The Orcs,Ground Combat,Vinak,General ground attack on Vinak-A III. No defending units are present and no garrisoned enemy PDCs remain in operation. The Ol Aliens #160 population on Vinak-A III has surrendered to our victorious ground forces
2028 September 11, 21:59:56,The Orcs,Reparations,Vinak,As a result of conquering a hostile pop on Vinak-A III, suitable reparations to the value of 81527.857 have been appropriated and added to total racial wealth.
2028 September 11, 21:59:56,The Roman Empire,Reparations,Rol,Due to the loss of Rome, 81527.857 has been looted by the conquering barbarians
2028 September 11, 21:59:56,The Orcs,Ship Surrender,Vinak,As a result of the population surrender, the Missile Complex 001 has surrendered as it was in orbit of the planet
2028 September 11, 21:59:56,The Orcs,Ship Surrender,Vinak,As a result of the population surrender, the Missile Complex 002 has surrendered as it was in orbit of the planet
2028 September 11, 21:59:56,The Orcs,Ship Surrender,Vinak,As a result of the population surrender, the Missile Complex 003 has surrendered as it was in orbit of the planet
2028 September 11, 21:59:56,The Orcs,Ship Surrender,Vinak,As a result of the population surrender, the Missile Complex 005 has surrendered as it was in orbit of the planet
2028 September 11, 21:59:56,The Orcs,Ship Surrender,Vinak,As a result of the population surrender, the Roman Bunker 002 has surrendered as it was in orbit of the planet
2028 September 11, 21:59:56,The Orcs,Ship Surrender,Vinak,As a result of the population surrender, the Roman Bunker 003 has surrendered as it was in orbit of the planet
2028 September 11, 21:59:56,The Orcs,Ship Surrender,Vinak,As a result of the population surrender, the Roman Bunker 004 has surrendered as it was in orbit of the planet
2028 September 12, 21:59:56,The Roman Empire,Hostile Contact Update,Rol,A strength-480 Thermal contact associated with Plizhdrint 001 has been lost
2028 September 12, 21:59:56,The Roman Empire,Hostile Contact Update,Rol,A strength-480 Thermal contact associated with Plizhdrint 002 has been lost
2028 September 12, 21:59:56,The Roman Empire,Hostile Contact Update,Rol,A strength-965 Thermal contact associated with Shizhdr  001 has been lost
2028 September 12, 21:59:56,The Roman Empire,Hostile Contact Update,Rol,A strength-965 Thermal contact associated with Shizhdr  002 has been lost
2028 September 12, 21:59:56,The Roman Empire,Hostile Contact Update,Rol,A strength-500 Thermal contact associated with Dlevrrk  001 has been lost
2028 September 12, 21:59:56,The Roman Empire,Hostile Contact Update,Rol,An active sensor contact (Active Sensor S36/R100) associated with Plizhdrint 001 has been lost
2028 September 12, 21:59:56,The Roman Empire,Hostile Contact Update,Rol,An active sensor contact (Active Sensor S36/R100) associated with Plizhdrint 002 has been lost
2028 September 12, 21:59:56,The Roman Empire,Hostile Contact Update,Rol,A strength-1 Thermal contact associated with Zhdrbaeliprietl  001 has been lost
2028 September 12, 21:59:56,The Roman Empire,Hostile Contact Update,Rol,A strength-1 Thermal contact associated with Shivva 001 has been lost
2028 September 12, 21:59:56,The Roman Empire,Hostile Contact Update,Rol,A strength-1 Thermal contact associated with Shivva 002 has been lost
2028 September 12, 21:59:56,The Roman Empire,Hostile Contact Update,Rol,A strength-1 Thermal contact associated with Shivva 003 has been lost
2028 September 12, 21:59:56,The Orcs,Hostile Contact Update,Vinak,A strength-32871 EM contact associated with a population on Vinak-A III has been lost
2028 September 12, 21:59:56,The Orcs,Hostile Contact Update,Vinak,A strength-8064 thermal contact associated with a population on Vinak-A III has been lost
2028 September 12, 21:59:56,The Roman Empire,Hostile Contact Update,Rol,A strength-10 thermal contact associated with a population on Rome has been lost
2028 September 12, 21:59:56,The Roman Empire,Hostile Contact Update,Rol,A strength-100 EM contact associated with a population on Rome has been lost
2028 September 26, 21:59:56,The Orcs,Mineral Shortage,Vinak,Sorium Shortage in Fuel Production for Vinak-A III
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on November 22, 2019, 01:16:58 PM
Progress 2019-11-22

Ground Combat is done!  (for now).  Go forth and conquer worlds!

(https://i.imgur.com/ArU5CHr.gif)

Here's an additional scroll-by of capturing a PDC:

Off-Topic: pdc capture • show
(https://i.imgur.com/ktInwsO.gif)


Latest build pushed. Here's a fairly complete list of what was added in this update:

- Ships detect shipyards
- Ships detect ground forces
- Hide undetected PDCs from ground units
- Ground Combat damage occurs according to Aurora 7.1 rules, see the logfile posted below
- Commander bonuses are applied to ground combat
- Commanders randomly die or escape the death of their unit
- Commanders have a chance to level up Ground and Morale bonuses
- Ground combat damages political relations
- Units lose or gain morale from ground combat
- Ground units slowly recover readiness over time
- Replacement battalions transfer their readiness to ground units over time at a rate improved by commander morale bonus
- Pop surrenders when no more ground units in PDCs or on the field
- Pops resist surrender if insufficient attacker police strength
- Ships in orbit of surrendered pops also surrender
- Relevant commanders also transferred in a surrender
- Conquering a pop has a chance to recover generic tech based on number of population and research labs
- Wealth is plundered based on conquered pop count
- UI: F2 > Transfer button (transfer population to alien race. It's like conquering, but keeps Imperial status and transfers all generic tech instead of random)

This list is at a somewhat arbitrary level of detail.  Pretty much any mechanic related to the items above should be complete, units under 40 strength refusing to attack for example.  Some items I am saving for later: Bombardment from collateral damage, any associated POW mechanics, negative impacts of Conquered pop status, pop status changes, and spoils from complete annihilation of a race.

Here's the full ground combat log from the battle in the animations above, taken from the Copy Text button.  The attacking force is significantly stronger than the defenses so I could get a reasonably sized log.

Edit: -- actually, see my previous two posts, I ran out of characters --

Phew!  So, where do we go from here?  Bombardment damage from mass drivers and ground war are high on my list but to keep things interesting I may shift gears and focus on something else.  Another item high on my list is the Trans-Newtonian start.  Why?  Because I believe it may involve Design Philosophies, one of the few remaining non-AI features of Aurora I'm not too familiar with.  There is good amount of both randomness and predetermined logic behind design philosophies that is probably going to be a challenge to imitate.  Pre-researched tech is a part of this as well.  Further, these features are a singular prerequisite for all AI of any type.

And speaking of AI, I'm really excited at how close it's getting.  After design philosophies are out of the way, I don't really see anything that would prevent getting started on it if I wanted to.  There are many items still on the to-do list, but I think AI should be possible without them.  For example, bombardment mechanics aren't in place, so any AI developed right now would not factor bombardment into its calculations, not react to being bombarded, and not try to bombard.  But those are all improvements that can be added to an existing AI.  I'm really on the fence on whether I want to give it a shot or wait until more mechanics are implemented.  I'll most likely wait, though, in favor of finishing items that will take a much more predictable amount of time to complete.

I've also been thinking on how I want to roll out the very first AI (which would be a general NPR, not any of the spoiler types).  It will for sure cheat to keep the programming time down.  It shouldn't grow at an unfair rate, but if it does, I'll have it tied to the Difficulty setting so it can be scaled up or down.  Tactics will be crude, about as smart as the ghosts in Pac-Man.  That said, the question is whether to make this first-draft AI public or private.  I know public scripts are popular but hear me out;  I will for sure be doing public scripting.  But what I'm mulling over is whether the mechanics of at least one AI should be kept hidden, to make the game interesting and suspenseful.  One of the major aspects I enjoyed about Aurora 7 is the fear of the unknown.  I have had very little experience dealing with Aurora NPRs and the experiences I did have were quite tense because I had no way of knowing how the AI would behave, no public scripts tempting me to peek at.  I want Q4X to have that same discovery and learning process that can't be spoiled, even by accidental second-hand knowledge from someone else describing what *they* saw in a script file.  It doesn't hurt that the more people interested in playing Quasar, the more free QA testers I have :).  Once the minimal "secret" AI is done, then I would start on a public version, probably less cheaty and less dumb.  The sooner I can get the public scripting mechanics in place, the sooner that community-written AI will be available for *me* to play against :D.  Of course I would continue to work on improving the "secret" AI over time.  Finally, it would make the first-draft AI come out sooner if I don't have to worry about a public API yet.  I'm open to thoughts on any of these ideas. 

I'm also open to thoughts on priorities for the remaining non-AI mechanics to work on.  It doesn't make a difference to me personally which order I add features in, because I'm not going to want to start playing my own campaign until all major features I'm aware of are completed.

So for now, I'll probably go easy on Q4X over the weekend to clear my head, and then it's off to work on more non-AI mechanics!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Garfunkel on November 22, 2019, 08:47:20 PM
One thing you should probably fix instead of imitating with Q4X from Aurora is the effect the difficulty percentage has on NPRs. A 200% difficulty NPR has double the industry of the player when discovered but the NPR AI does not understand that, thinking it has 100% difficulty industrial strength. This leads to an NPR that is initially very strong but will run out of minerals soon, leading to a crash and burn. This was discovered a few years back.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Ranged66 on December 05, 2019, 04:57:42 AM
Hype for civ shipping AI so I can start my peaceful empire building game :)


Edit: May I humbly request one thing from C# aurora? Max population amounts on system bodies :)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Claire on December 06, 2019, 02:29:39 AM
I just found out about this project.  Thanks for keeping things going with developing this, this is awesome to see!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: 01010100 on December 12, 2019, 08:19:11 AM
Will this project be made open source? It would allow other people who want to make a slightly different Aurora version to use this as a base rather than having to fully re-code everything from scratch just to make a few small changes.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: JustAnotherDude on December 12, 2019, 09:14:02 AM
He's said he's not planning on making it open source.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on December 12, 2019, 06:46:28 PM
Progress update 2019-12-12:

The following UI elements are now functional (in Create New Game and F9 > SM New Empire):

- Trans-Newtonian start
- Assign Starting tech points automatically
- Create ship systems and ship designs

Just three items, but a lot goes into these!

Trans-Newtonian Start does the same thing Aurora does, which assigns the TN tech and a few other key techs such as Jump Point Theory to the new race.

Assign starting tech points automatically behaves the same as Aurora; Specifically, it first assigns available points to a few techs appropriate for the first tier of engines; The next points go to "tier 1" missile techs, the next to tier 1 beam techs, and so on in a fixed order of priority.  After the basics are covered, it starts choosing tech groups at random from the StartingTechGroups table based on the weighting assigned in that table.  Each tech group has a few fixed tech categories (from the TechTypes table) and a few optional ones that are either picked or not picked at random.  Tech selection will focus on only one beam type, with Lasers being the most likely.

Creating ship systems randomly generates a design philosophy based on the techs available and the preferred beam type, in the same manner as Aurora.  Specifically, it chooses: an active resolution from about 60 to 100, weighted toward 100; a baseline number of commercial engines; a baseline size for engines; a baseline size for anti-ship launchers; a baseline size for mines; a target military hull size; a relative level of emphasis on spare parts and maintenance; a baseline number of engines for military ships; point defense preference; and a baseline target armor.

Ship components are then designed based on the above design philosophy and the tech available, picking the best techs where appropriate and randomly generating tech choices when there is no clear choice.  The same components are generated that Aurora generates, specifically: Missile engine; turret; Anti-missile active sensors; anti-FAC active sensors; anti-fighter active sensors; anti large ship active sensors; anti very large ship active sensors; anti small ship active sensors; anti tiny ship active sensors; anti missile MFC; FAC MFC; anti fighter MFC; battle cruiser jump drive; beam fc prioritizing range; beam fc prioritizing speed; cruiser jump drive; mines and their second stages; plasma carronades; ciws weapons; cloaks; commercial engines; destroyer jump drives; four sizes of EM sensors; military engine; FAC engine; FAC missile launcher; FAC missiles; fighter engine; gauss weapon; default jump drive; large laser; large missile launcher; large MFC; magazine; missile launcher; long range missile; meson weapon; mine launcher; point defense laser; point defense launcher; point defense meson weapon; point defense missile; scout engine; shields; standard mfc; standard missile; four sizes of thermal sensors; and a particle cannon.

Ships designs are then generated based on the components and design philosophy generated.  As in Aurora, the AutomatedClassDesign table is used as a guideline for ship designs generated, which are: Small colony ship; anti missile jump destroyer escort; large colony ship; jump destroyer (beam); Anti FAC destroyer; heavy cruiser; anti-fighter destroyer (missiles); anti-missile escort cruiser; anti-fighter jump destroyer; destroyer escort; jump cruiser; fighter; cruiser (missiles); scout; strike cruiser; jump escort cruiser; missile defense base; destroyer (missiles); anti-missile jump escort cruiser; fuel harvester; destroyer; anti-missile destroyer escort; geosurvey ship; jump battlecruiser (beam); jump cruiser (beam); carrier; beam defense base; terraformer; jump battlecruiser; jump destroyer escort; fast attack craft; battlecruiser; small freighter; escort cruiser; grav survey ship; freighter; jump destroyer; anti-FAC jump destroyer; troop dropship; jump gate constructor; fuel harvester; salvager

Here's an example comparison of missile-based cruisers generated six times.  The first three listed were generated by Aurora.  The last three were generated by Quasar.  1000000 starting tech points are chosen for each, and the programs do the rest.


Off-Topic: design comparisons • show


Aurora 7.1:

Edward VII class Missile Cruiser    15,400 tons     351 Crew     3462.4 BP      TCS 308  TH 1152  EM 0
3740 km/s     Armour 9-55     Shields 0-0     Sensors 33/1/0/0     Damage Control Rating 6     PPV 48
Maint Life 1.59 Years     MSP 843    AFR 316%    IFR 4.4%    1YR 387    5YR 5804    Max Repair 540 MSP
Intended Deployment Time: 6 months    Spare Berths 1
Magazine 762

115.2 EP Magneto-plasma Drive (10)    Power 115.2    Fuel Use 103.79%    Signature 115.2    Exp 12%
Fuel Capacity 1,950,000 Litres    Range 22.0 billion km   (67 days at full power)

CIWS-320 (3x8)    Range 1000 km     TS: 32000 km/s     ROF 5       Base 50% To Hit
Size 3 Missile Launcher (16)    Missile Size 3    Rate of Fire 20
Missile Fire Control FC401-R103 (2)     Range 401.9m km    Resolution 103
Hotspur Anti-ship Missile (254)  Speed: 23,500 km/s   End: 204.7m    Range: 288.6m km   WH: 6    Size: 3    TH: 78/47/23

Active Search Sensor MR177-R20 (1)     GPS 7200     Range 177.1m km    Resolution 20
Active Search Sensor MR602-R103 (1)     GPS 55620     Range 602.8m km    Resolution 103
Thermal Sensor TH3-33 (1)     Sensitivity 33     Detect Sig Strength 1000:  33m km





Edward VII class Missile Cruiser    17,800 tons     503 Crew     3277 BP      TCS 356  TH 792  EM 0
2224 km/s     Armour 7-60     Shields 0-0     Sensors 33/22/0/0     Damage Control Rating 4     PPV 96
Maint Life 0.42 Years     MSP 460    AFR 633%    IFR 8.8%    1YR 1103    5YR 16551    Max Repair 480 MSP
Intended Deployment Time: 6 months    Spare Berths 0
Magazine 1218

132 EP Ion Drive (6)    Power 132    Fuel Use 91.38%    Signature 132    Exp 11%
Fuel Capacity 1,050,000 Litres    Range 11.6 billion km   (60 days at full power)

CIWS-200 (2x6)    Range 1000 km     TS: 20000 km/s     ROF 5       Base 50% To Hit
Size 3 Missile Launcher (32)    Missile Size 3    Rate of Fire 25
Missile Fire Control FC308-R95 (2)     Range 308.8m km    Resolution 95
Sottef Anti-ship Missile (406)  Speed: 13,700 km/s   End: 294.7m    Range: 242.2m km   WH: 7    Size: 3    TH: 45/27/13

Active Search Sensor MR514-R95 (1)     GPS 45600     Range 514.6m km    Resolution 95
Active Search Sensor MR141-R20 (1)     GPS 5760     Range 141.7m km    Resolution 20
Thermal Sensor TH3-33 (1)     Sensitivity 33     Detect Sig Strength 1000:  33m km
EM Detection Sensor EM2-22 (1)     Sensitivity 22     Detect Sig Strength 1000:  22m km

ECCM-2 (1)         ECM 20




Hood class Missile Cruiser    16,400 tons     375 Crew     2797.98 BP      TCS 328  TH 720  EM 0
2195 km/s     Armour 7-57     Shields 0-0     Sensors 16/1/0/0     Damage Control Rating 4     PPV 60
Maint Life 0.8 Years     MSP 427    AFR 537%    IFR 7.5%    1YR 535    5YR 8028    Max Repair 396 MSP
Intended Deployment Time: 6 months    Spare Berths 1
Magazine 1311

60 EP Ion Drive (12)    Power 60    Fuel Use 76%    Signature 60    Exp 10%
Fuel Capacity 800,000 Litres    Range 11.6 billion km   (60 days at full power)

CIWS-500 (2x8)    Range 1000 km     TS: 50000 km/s     ROF 5       Base 50% To Hit
Size 4 Missile Launcher (15)    Missile Size 4    Rate of Fire 30
Missile Fire Control FC141-R67 (2)     Range 141.4m km    Resolution 67
Gehenna Anti-ship Missile (327)  Speed: 12,600 km/s   End: 280.1m    Range: 211.8m km   WH: 11    Size: 4    TH: 42/25/12

Active Search Sensor MR77-R20 (1)     GPS 4320     Range 77.3m km    Resolution 20
Active Search Sensor MR259-R67 (1)     GPS 26532     Range 259.3m km    Resolution 67
Thermal Sensor TH2-16 (1)     Sensitivity 16     Detect Sig Strength 1000:  16m km




Q4X:


Hood class Missile Cruiser    17 900 tons     404 Crew     3103.44 BP      TCS 358  TH 1108  EM 0
3094 km/s     Armor 6-60     Shields 0-0     Sensors 24/16/0/0     Damage Control Rating 2     PPV 68
Maint Life 0.21 Years     MSP 217    AFR 1280%    IFR 17.7%    1YR 1041    5YR 15608    Max Repair 432 MSP
Intended Deployment Time: 6 months    Spare Berths 0
Magazine 1236

92.4 EP Ion Drive (12)    Power 92.4    Fuel Use 94.42%    Signature 92.4    Exp 11%
Fuel Capacity 1 900 000 Liters    Range 20.2 billion km   (75 days at full power)

CIWS-160 (1x8)    Range 1000 km     TS: 16000 km/s     ROF 5       Base 50% To Hit
Size 4 Missile Launcher (17)    Missile Size 4    Rate of Fire 30
Missile Fire Control FC170-R97 (2)     Range 170.2m km    Resolution 97
Sendai Anti-ship Missile (309)  Speed: 15 100 km/s   End: 2.01h    Range: 109.5m km   WH: 12    Size: 4    TH: 50/30/15

Active Search Sensor MR340-R97 (1)     GPS 41904     Range 340.4m km    Resolution 97
Active Search Sensor MR77-R20 (1)     GPS 4320     Range 77.3m km    MCR 21.0k km    Resolution 20
Thermal Sensor TH3-24 (1)     Sensitivity 24     Detect Sig Strength 1000:  24m km
EM Detection Sensor EM2-16 (1)     Sensitivity 16     Detect Sig Strength 1000:  16m km




Hood class Missile Cruiser    19 600 tons     504 Crew     4143.1 BP      TCS 392  TH 1200  EM 0
3061 km/s     Armor 4-64     Shields 0-0     Sensors 11/11/0/0     Damage Control Rating 3     PPV 90
Maint Life 0.19 Years     MSP 397    AFR 1023%    IFR 14.2%    1YR 2144    5YR 32166    Max Repair 800 MSP
Intended Deployment Time: 6 months    Spare Berths 2
Magazine 1378

60 EP Ion Drive (20)    Power 60    Fuel Use 76%    Signature 60    Exp 10%
Fuel Capacity 1 400 000 Liters    Range 16.9 billion km   (63 days at full power)

CIWS-200 (1x6)    Range 1000 km     TS: 20000 km/s     ROF 5       Base 50% To Hit
Size 5 Missile Launcher (18)    Missile Size 5    Rate of Fire 25
Missile Fire Control FC503-R91 (2)     Range 503.7m km    Resolution 91
Saga Anti-ship Missile (275)  Speed: 10 400 km/s   End: 16.08h    Range: 602.1m km   WH: 11    Size: 4.998    TH: 35/21/10

Active Search Sensor MR839-R91 (1)     GPS 72800     Range 839.5m km    MCR 11.0k km    Resolution 91
Active Search Sensor MR236-R20 (1)     GPS 9600     Range 236.1m km    MCR 64.3k km    Resolution 20
Thermal Sensor TH1-11 (1)     Sensitivity 11     Detect Sig Strength 1000:  11m km
EM Detection Sensor EM1-11 (1)     Sensitivity 11     Detect Sig Strength 1000:  11m km

ECCM-1 (1)         ECM 10




Hood class Missile Cruiser    16 100 tons     365 Crew     3476.6 BP      TCS 322  TH 1800  EM 0
5590 km/s     Armor 7-56     Shields 0-0     Sensors 42/28/0/0     Damage Control Rating 4     PPV 55
Maint Life 0.65 Years     MSP 541    AFR 516%    IFR 7.1%    1YR 831    5YR 12461    Max Repair 480 MSP
Intended Deployment Time: 6 months    Spare Berths 0
Magazine 1134

150 EP Magnetic Fusion Drive (12)    Power 150    Fuel Use 47%    Signature 150    Exp 10%
Fuel Capacity 1 350 000 Liters    Range 32.1 billion km   (66 days at full power)

CIWS-120 (2x8)    Range 1000 km     TS: 12000 km/s     ROF 5       Base 50% To Hit
Size 5 Missile Launcher (11)    Missile Size 5    Rate of Fire 50
Missile Fire Control FC405-R101 (2)     Range 405.2m km    Resolution 101
Inhauma Anti-ship Missile (226)  Speed: 22 799 km/s   End: 5.94h    Range: 487.3m km   WH: 5    Size: 5    TH: 76/46/23

Active Search Sensor MR675-R101 (1)     GPS 48480     Range 675.4m km    Resolution 101
Active Search Sensor MR180-R20 (1)     GPS 5760     Range 180.3m km    MCR 49.1k km    Resolution 20
Thermal Sensor TH3-42 (1)     Sensitivity 42     Detect Sig Strength 1000:  42m km
EM Detection Sensor EM2-28 (1)     Sensitivity 28     Detect Sig Strength 1000:  28m km


I put similar comparisons of all other categories up on pastebin (https://pastebin.com/raw/hL5WydpP).  The latest build has been pushed to itch as well in case you want to experiment with this.  I should point out that I follow Aurora's design methodology very closely, for better or worse.  I don't check whether the designs are good on their own, I only check to see that they come close to Aurora.  Now that the architecture is in place it can be easily improved upon later.  A fair amount can already be adjusted (armor, for example) by tweaking the database -- the same is possible in Aurora in fact.

This completes another huge hurdle that until recently I wasn't sure I'd be able to do.  And the real benefit of getting this done is that it was required before any work on Civilians and AI would be possible, so we're that much closer to those!  Hooray!   Next up will be some more items I mentioned in previous posts; I haven't decided on which to do first yet.  Onward!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on December 17, 2019, 01:15:54 PM
Progress update 2019-12-17:

Lots of progress!  The following items are now implemented in the latest build:

- Plasma Carronades
- Particle Beams
- Railguns
- High Power Microwaves
- Gauss Cannons
- Mesons
- Synchronized firing
- Short firing delay when inexperienced ships are ordered to open fire
- Alien ship class armor rating intel updates

More UI elements are now functional:
- Combat Overview: Targeted by TG / Targeted by Empire checkboxes, Copy Targets to Same Class in TG/System buttons, Multiple Targets Same Loc button
- Ships window: Open Fire, Cease Fire
- View Technology window: Listings for High power microwave, particle beam, plasma carronade, railgun
- High power microwave, particle beam, plasma carronade, railgun added to class and ship summaries

Here's Plasma Carronades in action:

(https://i.imgur.com/kmlDxEc.png)

(https://i.imgur.com/PCWDeZ6.gif)




Particle beams:

(https://i.imgur.com/5EMdMv7.png)

(https://i.imgur.com/tRfNJOJ.gif)




Railguns:

(https://i.imgur.com/JxdJy0q.png)

(https://i.imgur.com/6crjIWG.gif)




High Power Microwaves:

(https://i.imgur.com/Gd7t8E2.png)

microwave bonus damage to shields:
(https://i.imgur.com/OYPbDLn.gif)

microwave frying electronics (only):
(https://i.imgur.com/B8KogyX.png)




Gauss Cannons (fired from much closer range than the other types):

(https://i.imgur.com/niwAiff.png)

(https://i.imgur.com/m8dc3BW.gif)
(my favorite animation here btw. bloody gauss cannons!)




And mesons! The defender's point of view is more interesting for the still screenshot:

(https://i.imgur.com/gTGhZ7h.png) 

(https://i.imgur.com/w7oDjno.gif)


Yay!  But no matter how fast I go, there's still so much I can think of left to do.  Missiles obviously, point defense, CIWS, all the items I ticked off a few posts back, and on and on.  The list of non-AI features in Aurora 7.1 is finite but it's never felt so infinite.  Anyway, to keep things interesting I'll most likely set the weapons category aside for a bit and switch to... bombardment and repercussions, most likely.  That would pretty much finish ground battle and mass drivers, and will take care of that part for missiles when I get to them.  Onward!!!!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on December 23, 2019, 02:28:28 PM
Progress update 2019-12-23:

Bombardment is done!

Here's a relatively small impact from a mass driver packet showing one possible RNG outcome:

(https://i.imgur.com/wmVaRMG.png)


Collateral damage from ground war:

(https://i.imgur.com/1qkOOEx.png)


Here's a large impact, causing a population surrender in one shot.  In this case it happens to be the same empire, but surrender and pop transfer from bombing an alien is also done.

(https://i.imgur.com/VgaF5IW.png)


After the above impact, the population's status changes to Vanquished.

Population political status is now implemented.  If there is no unrest, status points will rise slowly according to Aurora 7.1 rules and it will periodically be upgraded to the next political status, unless 'F2 > Prevent Increase' is checked.  A status worse than Imperial Population will negatively affect anything that Manufacturing Efficiency affects, except for Automated Mines.  Unrest will rise if there are insufficient occupational forces.  I added unrest due to insufficient PPV as well, which should be the last of the unrest-related features.

No idea when or what the next update will be, but rest assured I'm still going!  Enjoy the holidays :) 
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Bughunter on December 26, 2019, 03:37:51 PM
Kyle, this project made me discover Godot as an option for a game project of my own. I'm impressed with your pace and my needs are very similar to what you do here, mostly UI with a db and some light graphics but need to be cross-platform. Started to poke around with gdscript but a bit confused about how to organize everything properly.

Any chance you could share your project as an empty template without code? If not no worries, just thought I'd ask.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on January 06, 2020, 12:56:21 PM
Kyle, this project made me discover Godot as an option for a game project of my own. I'm impressed with your pace and my needs are very similar to what you do here, mostly UI with a db and some light graphics but need to be cross-platform. Started to poke around with gdscript but a bit confused about how to organize everything properly.

Any chance you could share your project as an empty template without code? If not no worries, just thought I'd ask.

At some point parts might be shared in sort of a lite format as I add moddability but I don't have anything I can easily share right now. 

Also I mainly dropped by to give everyone a heads up that I am taking a bit of a break from the project.  The holidays always have a way of distracting me towards other fun, non programming things.  The same thing happened last year but not to worry, it shouldn't be as long of a break.. maybe a month or so?  I'm looking forward to the C# release as much as anyone else too, and now that that's drawing nearer, getting my hands on a good 4x isn't so dependent on when I finish this project.  I am in no way quitting though!  This project is important to me. 

Missiles will be next, by the way.  I have the beginnings of the missile code started.  I'll post an update on what I'm up to no later than Feb 1, sound good?  Thanks for all the support so far.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: twice2double on January 06, 2020, 02:09:42 PM
I get it man.  I'm in the process of creating my own spin on Aurora4x with Unity3d and I periodically get overwhelmed/discouraged.
I'm constantly cutting out planned features cause of the sheer depth of this game :o I can't believe you've been so true to the original game.

Take care of yourself.  No sense getting burnt out.
Looking forward to your future updates.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Froggiest1982 on January 10, 2020, 04:48:56 PM
Kyle, this project made me discover Godot as an option for a game project of my own. I'm impressed with your pace and my needs are very similar to what you do here, mostly UI with a db and some light graphics but need to be cross-platform. Started to poke around with gdscript but a bit confused about how to organize everything properly.

Any chance you could share your project as an empty template without code? If not no worries, just thought I'd ask.

At some point parts might be shared in sort of a lite format as I add moddability but I don't have anything I can easily share right now. 

Also I mainly dropped by to give everyone a heads up that I am taking a bit of a break from the project.  The holidays always have a way of distracting me towards other fun, non programming things.  The same thing happened last year but not to worry, it shouldn't be as long of a break.. maybe a month or so?  I'm looking forward to the C# release as much as anyone else too, and now that that's drawing nearer, getting my hands on a good 4x isn't so dependent on when I finish this project.  I am in no way quitting though!  This project is important to me. 

Missiles will be next, by the way.  I have the beginnings of the missile code started.  I'll post an update on what I'm up to no later than Feb 1, sound good?  Thanks for all the support so far.

Hi Kyle, I think as long as we can get our hands on a fully functional clone even without AI will be great. This will be plenty of Roleplay and Storybuilding already to keep us busy until you will get the time/will to put yourself through the AI management mess!
 Keep up the good work!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: swarm_sadist on January 13, 2020, 03:57:55 PM
Question on sensors:
Are you using the 7.0 sensor formula or the new one in C#?

Also are you planning on doing any of the smaller C# updates, such as having a proper number of days in a month? I'm not expecting a clone of C# from you, but some of Steve's C# code, especially the older updates are pretty simple QoL improvements.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: JustAnotherDude on January 13, 2020, 03:59:26 PM
Kyle has stated pretty unequivocally that he is aiming for, at least to start, a more or less exact translation, short of bugs.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Agm-114 on January 15, 2020, 05:15:11 PM
So I know there's a freeze on adding features to quasar, but is it likely we'll get some new SM tools? (you can't for example sm create or destroy a planet or asteroid)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Erik L on January 15, 2020, 06:05:26 PM
So I know there's a freeze on adding features to quasar, but is it likely we'll get some new SM tools? (you can't for example sm create or destroy a planet or asteroid)

Most likely after he gets Quasar = VB6 Aurora.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on January 22, 2020, 03:41:46 PM
Progress Update 2020-01-22:

I'm back!  And I've already spent a day continuing the missile code, resulting in an exciting gif I wanted to share:

(https://i.imgur.com/avyCceU.gif)

And two more UI elements are functional:
- F3 > Show Salvo Launch Platform
- F3 > Show Salvo Target

There's still a whole lot more to do with missiles; as you can see there are no impacts yet.  I expect missile-related things to take quite awhile and span several more progress updates.  Onward!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on January 29, 2020, 03:22:56 PM
Progress Update 2020-01-29:

No new features in this update but I made some important optimizations that I'm excited to share!

In my mission to add missiles to q4x, I had completed the first two phases which were deploy missiles and move missiles.  The next logical step was to implement missile detection since it happens before any impacts occur.  But at about this time, I saw this post (http://aurora2.pentarch.org/index.php?topic=10539.0) in this forum regarding concerns about the apparent slowness of 5-day auto turns.  The animation posted showed a rate of roughly 1 second a turn, maybe a bit longer.  I actually hadn't checked how long turns took on the "days" scale for awhile, having been focused on the "seconds" scale for my recent work.  I was vaguely aware that the things I was adding were going to inevitably lead to slowdowns I'd eventually have to address, but I hadn't actually seen the effects yet.  The missile animation in my previous post does include the slow code but it's hard to tell because each frame of the gif is a single 5 second pulse, not 60 of them.

My response (http://aurora2.pentarch.org/index.php?topic=10539.msg118262#msg118262) to the post was that I agreed this was way too slow for the amount of work the program is doing, and that it would be fixed in a later optimization phase after more features were done.  But the slowdown nagged at me in the back of my mind, and I decided I wanted to make sure that significant optimization was indeed possible as I had claimed.  This would also be a perfect time to finally test a plan I laid out in the OP of this thread, which was to "implement C++ optimizations where profiling suggests it's needed".  I hadn't actually done this yet, it was still just a theoretical improvement.  So the first thing I did was profile my current test game, running a 5 minute turn consisting of 60 sub-pulses at 5 seconds each.  Here were the results:

Code: [Select]
Total      Avg Name
-------- -------- ----
     597     9.95 detections done for all systems (gdscript)
     170     2.83 handle lost contacts (gdscript, but mostly SQL)
      66     1.10 Combat
      59     0.98 Movement
      23    23.00 other
      23     0.38 detection prep (gdscript, but mostly SQL)
     ...
Total: 1005 ms

The detection phase was by far the clear offender, and not suprising due to the nature of all the factors that go into detection.  There's even a 'Disable Detection in this System' in A4X 7.1 for this reason.   So I rewrote the detection code in C++, and integrated the resulting .dll (and .so for linux) with the Godot side.  That's obviously a lot easier said then done;  It took quite a bit of effort to figure out all the ins and outs of how to do the integration part.  But the good news is that now I know how to do it, so any future C++ integrations will be easy!  I opted to keep the logic itself intact, so I could compare logs and database changes between the C++ and gdscript versions of detection to ensure the results were identical.  And speaking of results, check out the new stats on the same save file after switching detection to C++:

Code: [Select]
Total      Avg Name
-------- -------- ----
      67     1.12 Combat
      64     1.07 Movement
      61     1.02 detections done for all systems (C++)
      25    25.00 other
      23     0.38 detection prep (C++, but mostly SQL)
      18     0.30 handle lost contacts (C++, but mostly SQL)
...
Total: 339 ms

I'm super happy to see such huge differences!  "Detections done for all systems" is where the bulk of the work is done.  Check out the improvement in that section, nearly a 10x speed boost!  I also took a few minutes to adjust an SQL query in the "handle lost contacts" section that I realized was written in a correct but poorly optimized way, resulting in another nice speed boost.  There are other optimizations in the detection logic itself that I know are possible if necessary, and of course plenty of optimizations possible in other areas, but those can be saved for later.

The original post that brought the speed issues to my attention was running 5 day auto turns with interrupts disabled.  Here is an recording of the 5 day turn speed on my own test game before and after the above optimizations.

Before:
.........(https://i.imgur.com/k6YdMSS.gif)

After:
(https://i.imgur.com/z9tKVJY.gif)

In general, it's best to save most optimizations until the section you're working on is feature complete, but this was a super important step to do right now.  I now have a proof of concept that it is indeed possible to transition any problematic parts of the Quasar4x code into C++ and that the performance improvements are very good.  And I now have notes and an example to go on for C++ migrations I make later on.  It's not even that bad that I still have missile detection code to add, because now it can be added to the C++ side and never has to be transcribed later on.  And speaking of missile detection, that's up next!  Onward!

[edit: it's not 2019 any more. doh.]
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: joansam on January 30, 2020, 12:13:56 PM
Wow, nice work! There's something super satisfying about optimizing code. And it's really good to know that those kinds of optimizations are possible and make a real difference. Looking forward to missile detection!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on February 03, 2020, 05:06:30 PM
Progress update 2020-02-03:

Missile detection is done!

Latest build has been pushed.  The following items were added:

- Active sensors on missiles
- Firing missiles at waypoints, other missiles, populations, ground forces, and shipyards
- Thermal and active sensors detect missiles
- EM sensors detect active sensors on missiles
- EM and Thermal Planetary sensors fully functional
- Active, EM, and thermal sensors on missiles fully functional
- Missile geological surveys
- Missiles are destroyed if they are moving and have no time remaining
- Handling of missiles that lose their targets, including retargeting
- 'Launch Missiles At 'fleet order

And a few more UI elements finished:
- Combat Overview > Missiles in Flight list, Destroy missile, Destroy All missiles
- Fleet Orders > Msl Launch
- Ships window > Msl Launch

(https://i.imgur.com/ETB5znV.gif)


The above demonstrates active sensors on missiles, and very briefly you can see the detection of those active sensors in the enemy's POV.

Nice framerate on these animations now, huh? :)



(https://i.imgur.com/kkucZDs.gif)

Animation PAUSED at key points.

The above demonstrates missiles with EM sensors detecting shields, missiles with thermal sensors, and the opponent's active sensors detecting the missiles.  Also note that shields continue to show after the EM missiles disappear because at that point they have charged enough so that the opposing ships can detect them.  And I updated the code after making the animation so that the correct 200 in shields shows at the end.  And as mentioned in an earlier post, no editing necessary for the side-by-side views.  That's done with the in-game 'Second System Map' option.

2 or 3 phases to go.  Impacts, damage to the various types of targets, Secondary stages, and a few other bits are still to-do.  Onward!




Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Garfunkel on February 04, 2020, 05:54:53 AM
Great job Kyle!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on February 06, 2020, 11:51:51 AM
Progress update 2020-02-06:

Missiles hit ships!  (And miss too)

(https://i.imgur.com/nq14w8T.gif)

Here's an excerpt from the event log when a ship is destroyed:

Off-Topic: events • show

2025 February 2, 01:44:21,The Roman Empire,Chance To Hit,Rome,Salvo of 2x Size 4.3 Missile has intercepted its target. Chance To Hit 100% (Target Speed Zero)
2025 February 2, 01:44:21,The Roman Empire,Damage,Rome,Chtrfiak  009 hit by 16 points of damage from Size 4.3 Missile
2025 February 2, 01:44:21,The Orcs,Damage,Ol,Block of Metal 009 hit by 16 points of damage from Size 4.3 Missile
2025 February 2, 01:44:21,The Orcs,Shields Inactive,Ol,The ship has no shields
2025 February 2, 01:44:21,The Orcs,Crew Grade Increase,N/A,As a result of combat, the crew grade bonus of Block of Metal 009 has increased to 0.28%
2025 February 2, 01:44:21,The Orcs,Damage Absorbed,Ol,All damage absorbed by armor.
2025 February 2, 01:44:21,The Roman Empire,Damage,Rome,Chtrfiak  009 hit by 16 points of damage from Size 4.3 Missile
2025 February 2, 01:44:21,The Orcs,Damage,Ol,Block of Metal 009 hit by 16 points of damage from Size 4.3 Missile
2025 February 2, 01:44:21,The Orcs,Shields Inactive,Ol,The ship has no shields
2025 February 2, 01:44:21,The Roman Empire,Intelligence Update,Rome,Chtrfiak  009 is streaming atmosphere
2025 February 2, 01:44:21,The Orcs,Crew Grade Increase,N/A,As a result of combat, the crew grade bonus of Block of Metal 009 has increased to 0.32%
2025 February 2, 01:44:21,The Orcs,Damage Absorbed,Ol,15 damage absorbed by armor.
2025 February 2, 01:44:21,The Orcs,Shock Damage,Ol,1 additional internal damage due to the shock caused by the incoming fire.
2025 February 2, 01:44:21,The Orcs,System Destroyed,Ol,Crew Quarters - Tiny destroyed on Block of Metal 009 after receiving 0 points of damage. 0 Casualties.
2025 February 2, 01:44:21,The Orcs,Ship Destroyed,Ol,Block of Metal 009 suffers complete structural failure due to the amount of damage it has received. The ship is destroyed.
2025 February 2, 01:44:21,The Roman Empire,Enemy Ship Destroyed,Rome,Chtrfiak  009 has been destroyed by FF Shark M 001
2025 February 2, 01:44:21,The Roman Empire,New Wreck,Rome,New Wreck Detected in Rome
2025 February 2, 01:44:21,The Roman Empire,Target Lost,Rome,2x Size 4.3 Missile cannot find its target. It will home on the previous target location and use onboard sensors to search for a new target
2025 February 2, 01:44:21,The Roman Empire,Target Lost,Rome,2x Size 4.3 Missile cannot find its target. It will home on the previous target location and use onboard sensors to search for a new target
2025 February 2, 01:44:21,The Roman Empire,Target Lost,Rome,2x Size 4.3 Missile cannot find its target. It will home on the previous target location and use onboard sensors to search for a new target
2025 February 2, 01:44:21,The Roman Empire,Target Lost,Rome,2x Size 4.3 Missile cannot find its target. It will home on the previous target location and use onboard sensors to search for a new target
2025 February 2, 01:44:21,The Roman Empire,Target Lost,Rome,2x Size 4.3 Missile cannot find its target. It will home on the previous target location and use onboard sensors to search for a new target
2025 February 2, 01:44:21,The Roman Empire,Explosion Detected,Rome,Nuclear Detonation: Strength 16 detected! (x2)
2025 February 2, 01:44:21,The Orcs,Explosion Detected,Ol,Nuclear Detonation: Strength 16 detected! (x2)


The log for the whole fight is at https://pastebin.com/raw/ugUsErZt.

Most of the changes in this update are evident above but additionally:
- I did some testing with a 3rd observer race, and made quite a few fixes to who sees what events in the log so that it's now in line with A4X 7.1.  3rd party observers receive much less technical information in the event log about what goes on in a fight.
- I added a couple new messages I had overlooked in previous combat testing, which are reports to the attacking race of streaming atmosphere and the 'enemy ship destroyed' message.
- In addition to nuclear detonations, engine explosions are also detected. 

Next up is missile-missile collisions!

P.S.: just noticed the speed is missing from the defending contacts. Fixing that first :)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on February 07, 2020, 06:02:12 PM
Progress update 2020-02-07

AMM's are done! And missile-based PD!!

(https://i.imgur.com/EpOdxiZ.gif)

Note that I temporarily modified the code to hide the speed, endurance, and salvo ID's to reduce the clutter in the recording. 

The full event log for the above animation is at https://pastebin.com/raw/xScXVqfD.  The fire control setups were:
AMM+Scout TG:
Missile Fire Control FC38-R1 #1 (2v1 PD Mode 300):   11 Launchers
Missile Fire Control FC38-R1 #2 (1v1 PD Mode 300):   3 Launchers
Missile Fire Control FC38-R1 #3 (1v1 PD Mode 300):   1 Launcher
Tank TG and Tank TG2:
Missile Fire Control FC38-R1 #1 (2v1 PD Mode 300):   11 Launchers
Missile Fire Control FC38-R1 #2 (2v1 PD Mode 300):   3 Launchers
Missile Fire Control FC38-R1 #3 (1v1 PD Mode 300):   1 Launcher

Latest build has been pushed.  Items added:
- Missiles can hit other missiles. (Or miss)
- Chance for missile armor to nullify incoming damage
- Warhead strength must be 1 or higher for an explosion to occur
- Overkills are reported
- All missile-based point defense modes

I studied how A4X missile-based PD behaves in general, but rather than trying to match its decisions frame by frame, I rolled my own point defense logic.  It seems to be doing alright :)

Going to take the weekend off from Quasar, then beam-based point defense is up next!

Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Breadabix on February 07, 2020, 07:06:29 PM
Kyle you definitely deserve a weekend off, made some great progress, and for that I thank you.  Cant wait to play :)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on February 11, 2020, 07:10:58 PM
Progress update 2020-02-11

Beam-based PD is done!

Here is Area PD mode:

(https://i.imgur.com/ZWVAXaY.gif)

And the log for the Area PD: https://pastebin.com/raw/N6XZAFQB

Tank TG contains 5 ships with the following config:

PD Fire Control S01.2 96-7812.5 #1 (Area PD Mode 15):   No Target Assignment
PD 25cm C6 Soft X-ray Laser #1 (Ready To Fire)
PD 25cm C6 Soft X-ray Laser #2 (Ready To Fire)

PD Fire Control S01.2 96-7812.5 #2 (Area PD Mode 15):   No Target Assignment
PD 25cm C6 Soft X-ray Laser #3 (Ready To Fire)

PD Fire Control S01.2 96-7812.5 #3 (Area PD Mode 15):   No Target Assignment
PD 25cm C6 Soft X-ray Laser #4 (Ready To Fire)



And here is Final Fire PD mode:

(https://i.imgur.com/ZhRE9Mq.gif)

I slowed the animation down to 1 FPS.  This is the event log for the above:  https://pastebin.com/raw/0quzsBRx

All four fleets are providing FFPD and have 2 or 3 ships with the following config:

PD Fire Control S01.2 96-7812.5 #1 (Point Blank PD Mode 10):   No Target Assignment
PD 25cm C6 Soft X-ray Laser #1 (Ready To Fire)
PD 25cm C6 Soft X-ray Laser #2 (Ready To Fire)
PD 25cm C6 Soft X-ray Laser #3 (Ready To Fire)

PD Fire Control S01.2 96-7812.5 #2 (Point Blank PD Mode 10):   No Target Assignment
PD 25cm C6 Soft X-ray Laser #4 (Ready To Fire)



Latest build is pushed, Version 84 according to Itch.  I figure I'll start using Itch's version numbers for now.  Items included with this build are:
- Beams can hit (or miss) missiles
- Area PD mode
- Final Fire PD mode
- Final Fire (Self Only) PD mode

As in Aurora 7.1, final fire PD shots occur in the movement phase where missile collision is resolved and require an Active Sensor contact (otherwise there's no confirmation the signature is in fact a missile!).  Since I use the same sequence of play as Aurora, it means an Active Sensor detection is required in the previous pulse or FFPD will not occur.

As previously reported (http://aurora2.pentarch.org/index.php?topic=10149.msg115434#msg115434) in this thread, tracking penalties don't seem to always apply when beams shoot missiles in A4X.  I've made sure to include the tracking penalty, and I route every single situation where a beam weapon fires through a single routine so calculations are guaranteed to be identical no matter the scenario. 

As in missile-based PD, the decision making logic is my own and won't necessarily match Aurora's.  Generally, distance takes first priority, then enemy missile size.  In area mode, some attempt is made to use fire controls with the most weapons on enemy salvos with the most missiles.

That's all for now.  Lots more combat to work on! 
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: EvadingHostileFleets on February 12, 2020, 03:52:18 AM
In Progress update 2020-02-06 I see what seems to be missiles changing target mid-course if original one is destroyed.  I may be wrong for I am newbie, but does Aurora behave like that? I observe so far that missiles come to the wreck and only then search for new target, provided that they have sensors.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Gabethebaldandbold on February 12, 2020, 03:05:51 PM
In Progress update 2020-02-06 I see what seems to be missiles changing target mid-course if original one is destroyed.  I may be wrong for I am newbie, but does Aurora behave like that? I observe so far that missiles come to the wreck and only then search for new target, provided that they have sensors.
As far as I know that is the case in Aurora
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Sunmannus on February 13, 2020, 09:28:20 PM
Hi Kyle, is there a technical reason why you can't create a 32-bit version of quasar?
I used to play Aurora on a laptop with a 32-bit OS, so if possible, I would appreciate it if you could create a win32-compatible version (for the final versions I mean, not during development . . . )

Regards.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: obsidian_green on February 13, 2020, 10:26:31 PM
This is amazing. I love the current version of Aurora 4x, but I was never going to buy a supercomputer to play it, which meant death by slowdown that eventually became even worse than the combination of pathing and exponential dirty clothes that overwhelmed my DF experience. This will be a speedy 7.1 with bug fixes? Terrific!

I'd love to play Aurora again and this looks like it will make it possible.  :)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on February 14, 2020, 01:22:55 AM
In Progress update 2020-02-06 I see what seems to be missiles changing target mid-course if original one is destroyed.  I may be wrong for I am newbie, but does Aurora behave like that? I observe so far that missiles come to the wreck and only then search for new target, provided that they have sensors.
As far as I know that is the case in Aurora
You're right, but it was no extra work on my part to just allow retargeting before they reach the wreck, and I feel it makes more sense this way.  And in some situations, less tedious to manage. 


Hi Kyle, is there a technical reason why you can't create a 32-bit version of quasar?
I used to play Aurora on a laptop with a 32-bit OS, so if possible, I would appreciate it if you could create a win32-compatible version (for the final versions I mean, not during development . . . )

Regards.
Nope, no reason.  I can certainly do that later on, for now I'm just saving time by only building for a couple of platforms.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Sunmannus on February 14, 2020, 04:21:16 AM
Quote from: Kyle link=topic=10149. msg118854#msg118854 date=1581664975


Quote from: Sunmannus link=topic=10149. msg118851#msg118851 date=1581650900
Hi Kyle, is there a technical reason why you can't create a 32-bit version of quasar?
I used to play Aurora on a laptop with a 32-bit OS, so if possible, I would appreciate it if you could create a win32-compatible version (for the final versions I mean, not during development .  .  .  )

Regards. 
Nope, no reason.   I can certainly do that later on, for now I'm just saving time by only building for a couple of platforms.

Good to know, thanks.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: joansam on February 14, 2020, 07:31:35 AM
Given that most missiles today can retarget in flight, Aurora’s limitations never made much sense to me. Good tweak, from both a gameplay and realism perspective.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Steve Walmsley on February 14, 2020, 07:52:02 AM
Given that most missiles today can retarget in flight, Aurora’s limitations never made much sense to me. Good tweak, from both a gameplay and realism perspective.

Missiles in Aurora used to be able to re-target in flight, but that was removed for game-play reasons many years ago. With re-targeting, you can create situations where a ship can combine multiple salvos for simultaneous attack.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: EvadingHostileFleets on February 14, 2020, 10:02:05 AM
Quote from: Steve Walmsley link=topic=10149. msg118865#msg118865 date=1581688322
you can create situations where a ship can combine multiple salvos for simultaneous attack.

As far as I know this tactic is used by players sometimes anyway, it requires missiles with several different speeds in cargo, some calculations, good timing of shots and ideally zero or predictable target movement.
Looks too much of a hassle though, I am going for ton of 0. 25 launchers when saturation is required and generally have no problem achieving needed numer of salvos and missiles on target at once.  Time of reload is. . .  manageable, considering distances involved.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Garfunkel on February 14, 2020, 12:08:43 PM
The 10 billion km restriction on default survey orders is needed because the TG does not check for fuel remaining except between orders. So if you have the typical survey TG with default order of "survey next body" and the conditional order of "refuel at 50%", it is very much possible to run into a situation where the ship, with 60% of fuel remaining, issues itself an order to survey a comet that is 12 billion km away. Not only will the ship take a month to go that far but it'll be billions of km away from everything else when it runs out of fuel. And that's an easy example. What about binary & trinary systems, where the companion star is 20+ billion km away without any Lagrange points? Even if your survey ship does not run out of fuel, it'll take several months or even years to complete its mission.

So I would encourage you to include the 10 billion km restriction on the default survey order.

As for the missile re-targeting, it will change the meta-game because it'll affect how far your missile sensors need to see but that's a minor thing as long as manual re-targeting is not allowed. Which it shouldn't be because it was changed in Aurora for a good reason - stacking salvos at a way point and then "dumping" them all in one go at your target was impossible to defend against and it was easy to perform. If players now want to do the same thing, they need multiple types of missiles and calculate the time-on-target themselves, which is a lot of work both in-game and outside the game.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Tuna-Fish on February 16, 2020, 11:50:51 AM
Quote from: Steve Walmsley link=topic=10149. msg118865#msg118865 date=1581688322
you can create situations where a ship can combine multiple salvos for simultaneous attack.

As far as I know this tactic is used by players sometimes anyway, it requires missiles with several different speeds in cargo, some calculations, good timing of shots and ideally zero or predictable target movement.

It's actually a lot easier than that. Just make a 2-stage missile where the second stage is a normal-ish missile with a long range and matching separation range, and the first stage has a speed exactly equal to your fleet speed. So long as your engagement is strictly linear, if you are flying towards them as you launch, all your missiles will travel alongside you as you approach the enemy. When you hit separation range, all your missiles will instantly pop and go zooming towards the enemy as one cloud of death and destruction.

(Honestly I mostly just use box launchers these days anyway.)

Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: joansam on February 17, 2020, 08:27:38 PM
Yeah, in general Aurora isn't a game made with a balanced meta in mind. I'd prefer allowing in-flight retargeting since it makes more sense, gives more RP potential and means you don't have to micro individual salvos as much for fear of waste. Abusing it for mega-strikes will just be one more entry in the already large list of house rules for fair play.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on February 18, 2020, 10:18:03 AM
Progress update 2020-02-18:

Version 88 is up.  Some things included are:

- CIWS
- ECM on ships
- ECM on missiles
- ECM degrades beam fire control chance to hit
- ECM degrades missile fire control maximum range
- ECCM on beam fire controls, missile fire controls, and CIWS
- Laser warheads
- Fixes to all the bugs reported in the bug thread (http://aurora2.pentarch.org/index.php?topic=10510.15)

Here's a list of the design choices that are in the game as it stands right now:

- Missiles cannot bypass detection by existing less than 5 seconds.  Will be optional later on.
- Geo survey default orders limit range to 10b km.  I originally omitted the limit because it's arbitrary and inflexible, but valid concerns of excessive fuel usage were raised.  I'd like to rework things to make this smarter some day, perhaps by checking low-fuel conditional orders even while fleets are still in flight for an existing order, but to save time and match A4X, it's a flat 10b km for now.
- Hid the research projects for Missile tracking time bonus.  As in Aurora 7.1, this bonus doesn't do anything, so there's no point in it being researchable.  May revisit later, but for now I'm moving on to save time.
- In-flight retargeting (when original target is lost) (automatic, NOT manual) is still allowed  (Might make it optional later on)
- As in Aurora 7.1, laser warheads use missile damage code.  It sort of naturally emerged that it's just faster to code it this way and less of a performance hit.  I may revisit later on and add an option to use beam mechanics.
- I now treat fuel as a floating point number rather than integer.  This is to prevent the "exploit" in A4X where you can travel across the galaxy using 0 fuel if you use small enough sub-pulse times, an effect you often can't avoid even if you want to.  Fuel is now rounded to integers for UI display only.

With a few exceptions, my general philosophy is when in doubt, match Aurora4x and revisit later, for better or worse.  There's still a whole lot more to add rather than spend any more time in this area.   Speaking of which, next up, in no particular order, is secondary stages, shooting things on the ground, shooting things *from* the ground, dust and atmospheric effects on beam weapons, and radiation warheads!


Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: procdrone on February 18, 2020, 05:49:18 PM
- Hid the research projects for Missile tracking time bonus.  As in Aurora 7.1, this bonus doesn't do anything, so there's no point in it being researchable.  May revisit later, but for now I'm moving on to save time.

Didn't you mention earlier that this "bug" was fixed? If so the research should have intended effects?
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on February 18, 2020, 07:13:57 PM
- Hid the research projects for Missile tracking time bonus.  As in Aurora 7.1, this bonus doesn't do anything, so there's no point in it being researchable.  May revisit later, but for now I'm moving on to save time.

Didn't you mention earlier that this "bug" was fixed? If so the research should have intended effects?

I assume you're referring to this?

Progress update 2020-02-11
...
As previously reported (http://aurora2.pentarch.org/index.php?topic=10149.msg115434#msg115434) in this thread, tracking penalties don't seem to always apply when beams shoot missiles in A4X.  I've made sure to include the tracking penalty, and I route every single situation where a beam weapon fires through a single routine so calculations are guaranteed to be identical no matter the scenario. 
I actually misread the thread I linked to.  The bug I worked on was one where tracking penalty was not being applied in all situations, which I fixed by making sure every beam fired is routed though a single routine.  That is what I was referring to as having fixed.  I have not done any work on the Missile tracking time bonus.  I will eventually come back to it and most likely put it on a tweaks menu along with a few other things, that can be enabled/disabled by the SM.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: iceball3 on February 20, 2020, 07:21:46 AM
Question, you modeled the ECM Beam fire control range loss after an effective loss of range, yes?
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on February 20, 2020, 03:53:50 PM
Question, you modeled the ECM Beam fire control range loss after an effective loss of range, yes?

Nope.  10% x (ECM - ECCM) is subtracted from the final hit chance, that's it.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on February 20, 2020, 04:03:19 PM
Progress update 2020-02-20:

Build 89 is up. This contains numerous fixes, plus..

Detection of shipyards in tow:

(https://i.imgur.com/CG5TN7K.gif)



Multi-stage missiles:

(https://i.imgur.com/zmGaa69.gif)



And!
- Bombing populations
- Bombing PDCs
- Bombing ground units
- Bombing shipyards
- Enhanced radiation warheads

(https://i.imgur.com/9lncPWs.gif)

Log of the above destruction, including the surrender (implemented in a previous update), is on https://pastebin.com/raw/Z7wFAx94

More combatty things to come!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: TMaekler on February 21, 2020, 11:28:51 AM
Yes, some kind of fuel warning would be nice. Something that tracks distance to cover to next refuel order and gives an early warning, that this ship will run out of fuel if course is maintained.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Breadabix on February 21, 2020, 12:51:18 PM
Yes, some kind of fuel warning would be nice. Something that tracks distance to cover to next refuel order and gives an early warning, that this ship will run out of fuel if course is maintained.
This sounds good to me, maybe even have an option to have remaining range constantly displayed.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on February 24, 2020, 03:56:34 PM
Progress update 2020-02-24:

Version 90 is up, which includes:

- prohibit <1 MSP missiles
- shooting pdcs, shipyards in orbit, pops, and ground units with beam weapons
- shooting shipyards in tow with beam and missile weapons
- Atmospheric pressure degrades non-meson beam damage
- Made sure pdc weapons and point defense are working and affected by atmosphere

Nebulas are now finished as well, specifically
- Max ship speed is 2500 * Armour Thickness / Nebula Level
- Nebulae prevent the use of shields
- Nebulae prevent the use of missiles
- The chance to hit for all beam fire control systems is divided by the Nebula Level
- Passive Sensor strengths are divided by the Nebula Level
- Active Sensor Ranges are divided by the Nebula Level

At long last I come to the conclusion of the combat phase of the project.  Missiles, beams, PD, bombardment, intel, ground battle, surrender, political impact, dust, you name it, it's done.  All that remains is fixing any bugs and filling any nuances I missed.

AI is tantalizingly close.  But, there's still more mechanics to add.  Shipboarding, POWs, task force training, and some Diplomacy items are a few things that come to mind.  Onward!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Gram123 on February 25, 2020, 12:41:09 AM
Wow amazing work Kyle!

Hope you put a focus on civilian industry when you start on the AI, to me that is the only thing missing before i'm ready for a complete peaceful play-trough.

Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: amram on February 25, 2020, 10:45:23 AM
Wow amazing work Kyle!

Hope you put a focus on civilian industry when you start on the AI, to me that is the only thing missing before i'm ready for a complete peaceful play-trough.

Last I heard, there was potential that the civvies would be scriptable AI elements.  If so, he need only provide the AI scripting tools he already plans, and any one of us can refine and improve upon the civvy behaviour.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: sloanjh on February 26, 2020, 06:45:42 AM
Yeah, in general Aurora isn't a game made with a balanced meta in mind. I'd prefer allowing in-flight retargeting since it makes more sense, gives more RP potential and means you don't have to micro individual salvos as much for fear of waste. Abusing it for mega-strikes will just be one more entry in the already large list of house rules for fair play.

The effect was pretty severe, and if I recall correctly there wasn't a bright "exploit" line.  I think Kurt has some old campaign write-ups that show the technique; if you look at the discussion from that time period I have a vague recollection that there was a lot of debate about what to do.

John
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Steve Walmsley on February 26, 2020, 08:50:05 AM
Yeah, in general Aurora isn't a game made with a balanced meta in mind. I'd prefer allowing in-flight retargeting since it makes more sense, gives more RP potential and means you don't have to micro individual salvos as much for fear of waste. Abusing it for mega-strikes will just be one more entry in the already large list of house rules for fair play.

The effect was pretty severe, and if I recall correctly there wasn't a bright "exploit" line.  I think Kurt has some old campaign write-ups that show the technique; if you look at the discussion from that time period I have a vague recollection that there was a lot of debate about what to do.

John

I used that technique to destroy Earth in the Trans-Newtonian campaign :)

Stacked all the missiles at a way point, then unleashed a massive missile wave. Of course, the Chinese suffered the most but it didn't work out very well for anyone else either.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on February 26, 2020, 02:41:10 PM
Yeah, in general Aurora isn't a game made with a balanced meta in mind. I'd prefer allowing in-flight retargeting since it makes more sense, gives more RP potential and means you don't have to micro individual salvos as much for fear of waste. Abusing it for mega-strikes will just be one more entry in the already large list of house rules for fair play.

The effect was pretty severe, and if I recall correctly there wasn't a bright "exploit" line.  I think Kurt has some old campaign write-ups that show the technique; if you look at the discussion from that time period I have a vague recollection that there was a lot of debate about what to do.

John

I used that technique to destroy Earth in the Trans-Newtonian campaign :)

Stacked all the missiles at a way point, then unleashed a massive missile wave. Of course, the Chinese suffered the most but it didn't work out very well for anyone else either.

Which can of course be done in Aurora 7.1 today, no in-flight re-targeting necessary. 
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on February 26, 2020, 03:08:24 PM
Progress update 2020-02-26:

Shipboarding is done! 

(https://i.imgur.com/kPhR8KA.png)


An example round of on-board combat:

(https://i.imgur.com/Hu83i7q.png)


And capture!

(https://i.imgur.com/LIiMGPm.png)


Version 91 is up.  Additions include
- initial readiness hit based on ship speeds
- units tunnel through weakest spot in armor
- on board combat every 5 mins
- double strength bonus on marines
- collateral damage to ship systems
- crew casualties
- chance to surrender after defending forces are eliminated, based on crew size versus attacking force strength and species resistance to surrender (or 100% surrender if crew eliminated)
- espionage points gained from surviving crew, ship commander, and any officers hitching a ride (but the points have no effect yet)
- 80% penalty on points gained if no comm ability between races

I can now scratch Shipboarding off my list, but now I have to add Espionage mechanics to it :)

Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Tchey on February 27, 2020, 03:47:42 AM
Really nice to see all these updates coming along nicely.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: sloanjh on February 27, 2020, 09:08:04 AM
Yeah, in general Aurora isn't a game made with a balanced meta in mind. I'd prefer allowing in-flight retargeting since it makes more sense, gives more RP potential and means you don't have to micro individual salvos as much for fear of waste. Abusing it for mega-strikes will just be one more entry in the already large list of house rules for fair play.

The effect was pretty severe, and if I recall correctly there wasn't a bright "exploit" line.  I think Kurt has some old campaign write-ups that show the technique; if you look at the discussion from that time period I have a vague recollection that there was a lot of debate about what to do.

John

I used that technique to destroy Earth in the Trans-Newtonian campaign :)

Stacked all the missiles at a way point, then unleashed a massive missile wave. Of course, the Chinese suffered the most but it didn't work out very well for anyone else either.

Which can of course be done in Aurora 7.1 today, no in-flight re-targeting necessary.

@Steve: Thanks - it was the waypoint part that I couldn't quite remember.
@Kyle: I think it (retargeting) is necessary.  In detail, the technique is as follows:

1)  Create a waypoint.
2)  Fire successive waves of missiles at it, without an "after reaching the waypoint go to this target" target.  When the missiles get to the waypoint, they'll simply stop and hover without burning fuel/range.
3)  After you've got your massive wave built up at the waypoint, then you retarget all the missiles to the ship you want to kill.  If you don't have retargeting, then this step can't be performed.

Note that I have a vague recollection that there's a secondary trick where once your missiles have blown up the first ship the leftovers can attack other ships by retargeting, but that would easily be solved by allocating all missile attacks before any are resolved - the entire wave would expend itself of the first ship.

John
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on February 27, 2020, 09:32:04 AM
Yeah, in general Aurora isn't a game made with a balanced meta in mind. I'd prefer allowing in-flight retargeting since it makes more sense, gives more RP potential and means you don't have to micro individual salvos as much for fear of waste. Abusing it for mega-strikes will just be one more entry in the already large list of house rules for fair play.

The effect was pretty severe, and if I recall correctly there wasn't a bright "exploit" line.  I think Kurt has some old campaign write-ups that show the technique; if you look at the discussion from that time period I have a vague recollection that there was a lot of debate about what to do.

John

I used that technique to destroy Earth in the Trans-Newtonian campaign :)

Stacked all the missiles at a way point, then unleashed a massive missile wave. Of course, the Chinese suffered the most but it didn't work out very well for anyone else either.

Which can of course be done in Aurora 7.1 today, no in-flight re-targeting necessary.

@Steve: Thanks - it was the waypoint part that I couldn't quite remember.
@Kyle: I think it (retargeting) is necessary.  In detail, the technique is as follows:

1)  Create a waypoint.
2)  Fire successive waves of missiles at it, without an "after reaching the waypoint go to this target" target.  When the missiles get to the waypoint, they'll simply stop and hover without burning fuel/range.
3)  After you've got your massive wave built up at the waypoint, then you retarget all the missiles to the ship you want to kill.  If you don't have retargeting, then this step can't be performed.

Note that I have a vague recollection that there's a secondary trick where once your missiles have blown up the first ship the leftovers can attack other ships by retargeting, but that would easily be solved by allocating all missile attacks before any are resolved - the entire wave would expend itself of the first ship.

John

(3) can be performed by deleting the waypoint.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Steve Walmsley on February 27, 2020, 10:13:31 AM
Yeah, in general Aurora isn't a game made with a balanced meta in mind. I'd prefer allowing in-flight retargeting since it makes more sense, gives more RP potential and means you don't have to micro individual salvos as much for fear of waste. Abusing it for mega-strikes will just be one more entry in the already large list of house rules for fair play.

The effect was pretty severe, and if I recall correctly there wasn't a bright "exploit" line.  I think Kurt has some old campaign write-ups that show the technique; if you look at the discussion from that time period I have a vague recollection that there was a lot of debate about what to do.

John

I used that technique to destroy Earth in the Trans-Newtonian campaign :)

Stacked all the missiles at a way point, then unleashed a massive missile wave. Of course, the Chinese suffered the most but it didn't work out very well for anyone else either.

Which can of course be done in Aurora 7.1 today, no in-flight re-targeting necessary.

@Steve: Thanks - it was the waypoint part that I couldn't quite remember.
@Kyle: I think it (retargeting) is necessary.  In detail, the technique is as follows:

1)  Create a waypoint.
2)  Fire successive waves of missiles at it, without an "after reaching the waypoint go to this target" target.  When the missiles get to the waypoint, they'll simply stop and hover without burning fuel/range.
3)  After you've got your massive wave built up at the waypoint, then you retarget all the missiles to the ship you want to kill.  If you don't have retargeting, then this step can't be performed.

Note that I have a vague recollection that there's a secondary trick where once your missiles have blown up the first ship the leftovers can attack other ships by retargeting, but that would easily be solved by allocating all missile attacks before any are resolved - the entire wave would expend itself of the first ship.

John

(3) can be performed by deleting the waypoint.

At that point, the missiles will go to their on-board targeting in v7.1 (that is true for any target that disappears, not just way point targets). In much earlier versions, you could re-target them using their original shipboard fire control.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on February 27, 2020, 10:54:39 AM
Yeah, in general Aurora isn't a game made with a balanced meta in mind. I'd prefer allowing in-flight retargeting since it makes more sense, gives more RP potential and means you don't have to micro individual salvos as much for fear of waste. Abusing it for mega-strikes will just be one more entry in the already large list of house rules for fair play.

The effect was pretty severe, and if I recall correctly there wasn't a bright "exploit" line.  I think Kurt has some old campaign write-ups that show the technique; if you look at the discussion from that time period I have a vague recollection that there was a lot of debate about what to do.

John

I used that technique to destroy Earth in the Trans-Newtonian campaign :)

Stacked all the missiles at a way point, then unleashed a massive missile wave. Of course, the Chinese suffered the most but it didn't work out very well for anyone else either.

Which can of course be done in Aurora 7.1 today, no in-flight re-targeting necessary.

@Steve: Thanks - it was the waypoint part that I couldn't quite remember.
@Kyle: I think it (retargeting) is necessary.  In detail, the technique is as follows:

1)  Create a waypoint.
2)  Fire successive waves of missiles at it, without an "after reaching the waypoint go to this target" target.  When the missiles get to the waypoint, they'll simply stop and hover without burning fuel/range.
3)  After you've got your massive wave built up at the waypoint, then you retarget all the missiles to the ship you want to kill.  If you don't have retargeting, then this step can't be performed.

Note that I have a vague recollection that there's a secondary trick where once your missiles have blown up the first ship the leftovers can attack other ships by retargeting, but that would easily be solved by allocating all missile attacks before any are resolved - the entire wave would expend itself of the first ship.

John

(3) can be performed by deleting the waypoint.

At that point, the missiles will go to their on-board targeting in v7.1 (that is true for any target that disappears, not just way point targets). In much earlier versions, you could re-target them using their original shipboard fire control.

Just to be clear, Quasar's in-flight re-targeting picks a new target within the missile's sensor range automatically, no manual re-targeting is allowed.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: amram on February 27, 2020, 04:23:01 PM
So really the only change is that you have the missiles make the decision to find a new target before hey reach the old location where they would have tried to do exactly that anyways, assuming it can find one when it does try.  That's what I assumed when I saw the post about it, didn't consider being outside sensor range, or not having a sensor at the time though.

You mentioned "within the missiles sensor range", so an onboard sensor is required, since no sensor means even a range of zero doesn't quality implying there can never be any retargeting at all if there is no sensor on the missile, just as 7.1 when no sensor is present.

Two ways I think this could play out for a missile strike if there are no targets within the missile's own sensor range at the moment its original target, yet before it reaches the old position or its endurance limit, whichever is first.  I'm guessing its B, but for clarity, I'll ask rather than assume.

A) If there is no other target detected by the missile when the current target dies, the missile simply terminate right then and there as it has no target.

or

B) It keeps looking while it flies to the old location, attacking the first thing it finds along the way, or shutting down only if it never finds anything when it gets there or runs out of endurance before it does?

or

C) Yep, a third option, something other than A or B happens?

In any event, I assume what the ship can see is irrelevant to whether or not the missile can see it with its own on board sensor,a nd if the missile can't see it, then no retargeting happens.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on February 27, 2020, 04:55:07 PM
So really the only change is that you have the missiles make the decision to find a new target before hey reach the old location where they would have tried to do exactly that anyways, assuming it can find one when it does try.  That's what I assumed when I saw the post about it, didn't consider being outside sensor range, or not having a sensor at the time though.

You mentioned "within the missiles sensor range", so an onboard sensor is required, since no sensor means even a range of zero doesn't quality implying there can never be any retargeting at all if there is no sensor on the missile, just as 7.1 when no sensor is present.

Two ways I think this could play out for a missile strike if there are no targets within the missile's own sensor range at the moment its original target, yet before it reaches the old position or its endurance limit, whichever is first.  I'm guessing its B, but for clarity, I'll ask rather than assume.

A) If there is no other target detected by the missile when the current target dies, the missile simply terminate right then and there as it has no target.

or

B) It keeps looking while it flies to the old location, attacking the first thing it finds along the way, or shutting down only if it never finds anything when it gets there or runs out of endurance before it does?

or

C) Yep, a third option, something other than A or B happens?


It keeps looking while it flies to the old location, attacking the first thing it finds along the way, stopping at the old location if it never found anything, and waiting there until a target comes into view or it runs out of endurance.  If it is a buoy, it will wait there even after endurance runs out, but will stop looking for targets to chase.


In any event, I assume what the ship can see is irrelevant to whether or not the missile can see it with its own on board sensor, and if the missile can't see it, then no retargeting happens.
Yep!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: sloanjh on February 28, 2020, 09:48:21 AM
So really the only change is that you have the missiles make the decision to find a new target before hey reach the old location where they would have tried to do exactly that anyways, assuming it can find one when it does try.  That's what I assumed when I saw the post about it, didn't consider being outside sensor range, or not having a sensor at the time though.

You mentioned "within the missiles sensor range", so an onboard sensor is required, since no sensor means even a range of zero doesn't quality implying there can never be any retargeting at all if there is no sensor on the missile, just as 7.1 when no sensor is present.

Two ways I think this could play out for a missile strike if there are no targets within the missile's own sensor range at the moment its original target, yet before it reaches the old position or its endurance limit, whichever is first.  I'm guessing its B, but for clarity, I'll ask rather than assume.

A) If there is no other target detected by the missile when the current target dies, the missile simply terminate right then and there as it has no target.

or

B) It keeps looking while it flies to the old location, attacking the first thing it finds along the way, or shutting down only if it never finds anything when it gets there or runs out of endurance before it does?

or

C) Yep, a third option, something other than A or B happens?


It keeps looking while it flies to the old location, attacking the first thing it finds along the way, stopping at the old location if it never found anything, and waiting there until a target comes into view or it runs out of endurance.  If it is a buoy, it will wait there even after endurance runs out, but will stop looking for targets to chase.


In any event, I assume what the ship can see is irrelevant to whether or not the missile can see it with its own on board sensor, and if the missile can't see it, then no retargeting happens.
Yep!

Ah!  This sounds like essentially the same behavior as current Aurora (or at least the design intent of the Aurora behavior :) ).  What I (and I think Steve) was reacting to was that it sounded like manual re-targeting was allowed in Quasar - that is the feature that was removed from Aurora earlier for the reasons discussed.

John
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: dalekix on February 28, 2020, 12:48:56 PM
I've been trying to run this since I became aware of it, but the game always just stalls on startup, just showing the Godot logo.  I've already got VC 2019 installed, and I've tried repairing the installation, but that hasn't fixed anything.

Quote
Processor
Intel(R) Core(TM) i3-7130U CPU @ 2. 70GHz
Manufacturer
Intel
Speed
2. 7 GHz
Number of Cores
4
RAM
8. 0 GB
Video Card
Intel(R) HD Graphics 620
Manufacturer
Chipset
Intel(R) HD Graphics 620
Dedicated Memory
128 MB
Total Memory
5. 0 GB
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Remon_Kewl on February 28, 2020, 05:21:44 PM
Yeah, it crashes for me as well.  Stuck on Godot Logo for a few seconds, then it closes.  I deleted the appdata Godot folder too, but nothing.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on February 29, 2020, 09:54:58 AM
Yeah, it crashes for me as well.  Stuck on Godot Logo for a few seconds, then it closes.  I deleted the appdata Godot folder too, but nothing.

Please try installing the Visual C++ 2019 redistributable (https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads) [microsoft.com].  Pick one of the vc_redist .exe files in the list near the top of the page.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on February 29, 2020, 10:04:32 AM
I've been trying to run this since I became aware of it, but the game always just stalls on startup, just showing the Godot logo.  I've already got VC 2019 installed, and I've tried repairing the installation, but that hasn't fixed anything.

Quote
Processor
Intel(R) Core(TM) i3-7130U CPU @ 2. 70GHz
Manufacturer
Intel
Speed
2. 7 GHz
Number of Cores
4
RAM
8. 0 GB
Video Card
Intel(R) HD Graphics 620
Manufacturer
Chipset
Intel(R) HD Graphics 620
Dedicated Memory
128 MB
Total Memory
5. 0 GB

Try deleting %APPDATA%\Roaming\Godot\app_userdata\Quasar4x\quasar4x.sqlite and running the game again.  Save files left behind by very old versions of quasar cause more recent versions to crash.  The game is supposed to detect and replace these super old saves but it obviously isn't working.

If that doesn't work, can you send me your DxDiag output?   (Windows Key + R, dxdiag)   Use pastebin.com if too big an attachment for here.  Thanks
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Remon_Kewl on February 29, 2020, 11:28:02 AM
Quote from: Kyle link=topic=10149. msg119214#msg119214 date=1582991698
Quote from: Remon_Kewl link=topic=10149. msg119208#msg119208 date=1582932104
Yeah, it crashes for me as well.   Stuck on Godot Logo for a few seconds, then it closes.   I deleted the appdata Godot folder too, but nothing.

Please try installing the Visual C++ 2019 redistributable [microsoft. com].   Pick one of the vc_redist . exe files in the list near the top of the page.

That did it, thanks.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: MasonMac on March 01, 2020, 01:20:29 PM
I know that Quasar and Aurora don't keep Save Data in dynamic memory, but how (theoretically) would you do this?

I'm thinking something like (in C++):
Code: [Select]
#include <unordered_map>
#include <memory>
#include <string>

class Object;

// Inherit from Object
class Player;
class Entity;

// Inherit from Entity
class Planet;
class Unit;
// etc...

class Player : public Object
{
     /*
        The player doesn't have a list of entities so we can avoid having
        to unnecessarily allocating memory. Instead, the game will check if
        the entity's pointer points to the player:
        if (player_object == Entity.Properties->s_Player)
            return true;
    */
public:
    std::string m_Name;
}

class Entity : public Object
{
protected:
    struct Properties
    {
        Player s_Player;
    }

    Properties props;
public:
    virtual ~Entity();
    bool Erase();

    virtual bool Update() = 0;
}

class SaveData // Dynamic memory shenanigans here that I'm too lazy to code
{
private:
    struct Singleton;
public:
    ~SaveData();
    std::unordered_map<int, Entity*> m_All_Entities;

    static SaveData* GetInstance();
}   

class SaveDataHandler
{
private:
    bool UpdateAll()
    {
        for(auto& [key, val] : SaveData::GetInstance()->m_All_Entities)
        {
            if (!val->Update())
                return false;
        }

        return true;
    }
}

And the SaveDataHandler is run everytime the game needs to update a game.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on March 03, 2020, 10:08:02 PM
I've been trying to run this since I became aware of it, but the game always just stalls on startup, just showing the Godot logo.  I've already got VC 2019 installed, and I've tried repairing the installation, but that hasn't fixed anything.


Hey there, i started a new thread (http://aurora2.pentarch.org/index.php?topic=10595.0) for this
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on March 05, 2020, 11:37:30 AM
Progress update 2020-03-05:

Ruins are done!  Phew, this was a hefty one.  So much RNG to sort out.

(https://i.imgur.com/vTCbJMF.png)

(https://i.imgur.com/TvdqG5i.png)


Version 92 is up.  It includes the following new stuff:

- Ruins added to system generation
- Ruins in adjacent systems are likely to come from the same ancient race
- "Alien Installation" anomalies found at ruins, or small chance to appear on their own on habitable worlds.  This was the last anomaly type left to implement.
- Geological surveys locate ruins
- Xeno teams decipher ruins, gain experience upon success
- Construction brigades and forced labor units restore abandoned factories (or fail, based on morale and any commander xeno bonus)
- Possible outcomes match A4X fairly closely, including chance of additional Technical Details
- Each ruin race has its own predetermined component designs based on its tech level

More UI elements are now functional:
- F9 > SM Random Ruin button
- F3 > Known Ruins list
- F3 > Known Wrecks list
- Class Design > Own Tech Only checkbox

Important fixes:
- Fixed crash when creating new conventional start game
- Fixed crash caused by very old save files lying around that were requiring users to manually delete them.  Very old save files are now quietly updated automatically as originally intended.
- Itch.io finally added support for specifying that the VC2019 redistributable be installed first before running Quasar through the Itch App.  I've done this but haven't verified it's working.

Where do we go from here?  AI and external scripting are very much on my mind, including a flexible and easy to use way of managing scripts. I've got a fairly solid plan for how to do it, the question is just when to get started.  (Pretty excited to share the result when its ready by the way, I think you're going to like it) There are also so many more mechanics to fill in; espionage and diplomacy are a few big ones that are most likely up next.  At some point there's going to have to be a couple "boring" progress updates for a few other things that are missing.  Fleet formations need to be done for completion's sake, even though I'm pretty sure the default "death ball" formation is the best one and formations might have a few bugs on the A4X side. Escorts are technically done but I know there are issues with them I need to fix.  Commander promotions need to be finished up. Ship NPR class type classification isn't even a visible feature but it needs to be done before AI.  I've seen a number of requests for civilians, but I feel like the silent majority (myself included) prefers that some NPR AI be in place first, if they had to choose between the two.  There are a few features I'm aware of but haven't personally experienced: POWs, Black Holes, Fast Attack Craft, Tech Data carried on Ships.  I need to research how these work and whether they are all even a thing.  I've generated thousands of systems and never seen a black hole, for example.

Hopefully this conveys some sense of what's still to be done in the game.  The awesome news is that so much other stuff *is* done, sans fixing and polish.  Oh, I know Aurora C# is around the corner, you better believe I'm chomping at the bit to play that.  Anticipation of that game was one of the huge motivators to start Quasar.  When it does come out I will of course be playing it, but will still be working on Quasar4x.  Believe it or not, I already spend some of my free time on other interests besides quasar, so all that will change is that the other interests will shift to the C# game.  :)

Now that I've gotten a chance to write out all the stuff there is left to do, I think espionage, diplomacy, and the UI for the external scripting are my next few items, in no particular order.  Onward!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Garfunkel on March 05, 2020, 11:48:43 AM
Black Holes do exist but are only created if the "Real Stars" box is NOT ticked. Same as Nebula. If playing with Real Stars, you will never, ever encounter either. IIRC, Steve said this is because we are unaware of either near us in the Milky Way. The wiki article is accurate as far as I can tell:
http://aurorawiki.pentarch.org/index.php?title=Black_Holes
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on March 05, 2020, 03:36:26 PM

Black Holes do exist but are only created if the "Real Stars" box is NOT ticked. Same as Nebula. If playing with Real Stars, you will never, ever encounter either. IIRC, Steve said this is because we are unaware of either near us in the Milky Way. The wiki article is accurate as far as I can tell:
http://aurorawiki.pentarch.org/index.php?title=Black_Holes

My system generation testing file has 1616 non-known systems and no black holes  :(  Although I just noticed that the 5.50 notes (http://aurorawiki.pentarch.org/index.php?title=Version_5.50#Black_Hole_System) actually say
Quote
These are only available in Real Stars games for the moment but I may expand that to random games as well

That would explain it...

By the way, anyone have a save file with a black hole in it they could share? :)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Garfunkel on March 06, 2020, 08:45:36 AM
Uh, now I'm unsure which way it goes.

I mostly play Real/Known Stars games and I've only encountered black holes twice in my near decade of Aurora playing.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Steve Walmsley on March 06, 2020, 11:40:36 AM
Uh, now I'm unsure which way it goes.

I mostly play Real/Known Stars games and I've only encountered black holes twice in my near decade of Aurora playing.

At the moment C# Aurora doesn't have nebula or black holes. I'll add them post-launch.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Frick on March 07, 2020, 02:05:25 AM
This may have been brought up, but is there a non dark mode? I am probably the only human alive who can't really do dark mode on a desktop. Also spring's coming and the sun's in the air and I'm a bit sick so I figured I could spend some time trying out this game but again, the darkness really does not work for me. :(
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Steve Walmsley on March 07, 2020, 05:02:55 AM
This may have been brought up, but is there a non dark mode? I am probably the only human alive who can't really do dark mode on a desktop. Also spring's coming and the sun's in the air and I'm a bit sick so I figured I could spend some time trying out this game but again, the darkness really does not work for me. :(

Not on launch, but I have experimented with allowing different colour background so I will probably add something in the future. Here is an example:

http://aurora2.pentarch.org/index.php?topic=8455.msg94287#msg94287

Just realised this in the Quasar thread - so not sure if you meant quasar or were replying to my previous post on C#.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Frick on March 09, 2020, 02:40:15 AM
This may have been brought up, but is there a non dark mode? I am probably the only human alive who can't really do dark mode on a desktop. Also spring's coming and the sun's in the air and I'm a bit sick so I figured I could spend some time trying out this game but again, the darkness really does not work for me. :(

Not on launch, but I have experimented with allowing different colour background so I will probably add something in the future. Here is an example:

http://aurora2.pentarch.org/index.php?topic=8455.msg94287#msg94287

Just realised this in the Quasar thread - so not sure if you meant quasar or were replying to my previous post on C#.

I've been meaning to ask that about C# Aurora as well, so thanks! :) Looks good.

Quasars dark mode is really dark though, proper modern dark.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: zmionash on March 12, 2020, 01:35:24 AM
Will there be support for 1366x768 screen resolutions .  Or the ability to adjust the window size.  I was so interested in your work , but I can 't use it because I cut off part of the working area of the screen .  apologize for the literacy, wrote to you with the help of an online translator.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on March 13, 2020, 03:31:19 PM
Progress update 2020-03-13:

Version 97 is up.  No singular milestone to report, but this version contains dozens of important fixes reported in pages 4 through 6 of the bug thread (http://aurora2.pentarch.org/index.php?topic=10510.45).  One fix I'd like to highlight was adding "refresh-all" like behavior to about 150+ controls that still didn't have it.  As mentioned awhile ago one of my goals it to make the Refresh All button obsolete, by making the sure the entire UI is updated whenever anything is changed.  If it sounds like this will make the UI feel slow, remember that all the animations I've posted in the past have a full UI Refresh and save-to-disk done every frame. 

Here are some new things in this build:
- added the transfer of JP, system, and survey data to the list of things that happens when a race's last population surrenders
- finished the remaining types of automatic commander assignments
- morale, crew grade, and task force logistics bonus inversely affects maintenance failure rate
- parasites can reload box launchers on motherships (only)
- flag ship module functional and thus task forces can be stationed on ships
- task forces affect their ships that are in the same system (only)
- task force fighter ops bonus improves box launcher reload rate (dodged the bug in A4X where it makes the rate worse, not better)
- task force survey bonus improves grav survey rates
- task force training bonus improves PDC training rates
- task force training bonus improves (and is required for) fleets in Task Force Training mode
- crew grade affects TF training rates
- TF training rate halved for ships whose commander equals the TF commander in rank, fifthed if ship commander outranks TF commander
(Other TF bonuses were already done. In general, task forces should be feature complete now.)

More UI elements are now implemented:
- F2 Mining Tab: Est. Annual Mineral Use for Maint Facilities
- F9: Delete System
- Task Force window: Move to Population, Move to Flagship, and the corresponding Save buttons.  This finishes the Task Force window.
- Transfer System Knowledge window: Goto System button, Transfer button, JP Data checkbox, and System Body Survey Data checkbox.  This finishes the window.
(Delete system and the Transfer Knowledge button are pretty hefty additions)


So whats next?  Here's what my short list looks like:
- Duty-based skill ups for commanders
- Surface temperature drops caused by dust
- SM Update Atmos button and any other climate change mechanics I can uncover
- Fleet training moves (the bonus increase from TF Training should already be working now)
- Diplomacy things
- Espionage things
- Escorts (groundwork in place but buggy/broken)
- Foreign aid
- Negative wealth impact
- Fleet threat protection axes
- POWs
- Fast Attack Craft (need to research what the special mechanics are, if any, for 500-1000 ton ships)
- Tech Data on Ships
- NPR Class Type classification (not visible, but assigned in database upon designing a ship class, and important prereq for AI)
- UI and infrastructure for external scripting

Regarding 1366x768 and alternate themes, that's on my long list, probably won't be considered til the AI scripting features are done.

And someday... someday I'll be ready for AI things.  I don't need things to be completely polished and finished before I start that, but as you can see there are still some obvious gaps to fill first before we're there.


Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: obsidian_green on March 21, 2020, 02:46:21 AM
POWs had minor "issues" in A4X 7.1. In addition to an inability to port them around (they would get stuck in some places, forget whether on ships or colonies) and, say, add them to a conquered population, anomalous POWs would be created from other games on a savefile, if I'm correctly remembering what Steve explained to me.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on March 21, 2020, 05:02:46 PM
Progress update 2020-03-21:

Everyone surviving the final wait for C#?  I am, but only barely :)  (oh, and there's some virus thing I guess)  Progress on Quasar4x remains strong.  Escorts and formations are done!

(https://i.imgur.com/K8xmSM9.gif)


Also done since last progress update:
- Duty-based skill ups for commanders
- Negative wealth impact
- Automatically assigned minimum commander rank to ship classes redone to match Aurora
- NPR Class Type classification (not visible, but assigned in database upon designing a ship class, and important prereq for AI). The trial and error figuring this one out was quite time consuming.

A few more UI controls are functional:
- F3 > Hide Escorts
- Fleet Orders > Protect threat axis area (Threat, Task group, Distance, and Offset bearing)

There are quite a few additional fixes done that were listed in the bug thread.

The road to AI is shorter :)  Onward!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: amram on March 21, 2020, 05:40:46 PM
I love that formation, probably the best way to demo functionality: "we're aligned to that guy right there".
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: QuakeIV on March 22, 2020, 01:00:43 PM
This is a really useful feature since it would let you easily forward deploy point defense pickets.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: xenoscepter on March 22, 2020, 10:40:25 PM
Hey Kyle, did you fix that VB6 bug where turret armor is like 4x heavier than it should be or something?

If not, could you? I'd appreciate it. :)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: kotenok2000 on March 23, 2020, 05:45:52 PM
quasar stops responding when i try to open system map and i get "Display driver amdkmdap stopped responding and has successfully recovered. " in event viewer.  I attach memory dump made with process hacker.

Edit from Kyle: removed attachment.  Either your video drivers are out of date or your system doesn't support hardware 3d acceleration, specifically OpenGL shaders.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: joansam on March 24, 2020, 12:27:30 PM
Use the bug report thread, this is the main development thread.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on March 25, 2020, 12:38:51 PM
Progress update 2020-03-25:

Version 105 is up, themed around researching advanced alien tech.  The main new features are:

- Salvage tech points from wrecks
- Download tech from ships
- Record evidence of alien class tech
- Disassemble components for points in techs not yet known
- Design and build ships with advanced/alien components

A few more UI elements are now functional:
- F2 > Disassemble Component
- F2 > SM Remove tech
- Tech Data On Ships window
- Ships window > Tech data held by this ship
- Intel window > Known Tech Systems

And of course, fixes to bugs I found and reported by others.  Here's my current do-before-AI list:

- lower surface temp from dust, system body changes beyond basic terra/greenhouse, and sm update atmos button
- fleet training moves
- espionage
- diplomacy
- foreign aid
- POWs maybe

Onward!!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Marslettuce on March 25, 2020, 07:53:11 PM
Not sure if this has been noted yet, but Missile Engine Power Multiplier isn't doubled in missile engine creation (v104)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on March 30, 2020, 12:55:03 PM
Progress update 2020-03-30:

With the end of new non-AI content in sight, it's been a productive few days.  I just pushed version 106, which contains many additions primarily themed around espionage:

- hydrosphere & albedo periodically updated based on surface temp
- Fixed: missile engine max power mod should be doubled
- fleet training moves
- foreign aid wealth transfers
- espionage teams generate spy points
- chance of teams being killed or captured for points (and then killed) while spying
- Every 100 spy points gained against an alien race gives a chance to recover new geo data, grav data, tech, missile design, class name and summary, or system knowledge
- Alien lifepods can be "rescued." Spy points are gained from captured survivors and officers. Officers are killed.
- Autopsy research project created when lifepod with unknown species captured
- Species intel becomes available upon autopsy completion
- Surviving crew captured from alien lifepods can be unloaded to pops and become permanent POWs

And a few remaining unfinished UI elements are now functional:
- F2 > SM Update Atmos button
- F2 > Espionage Target and Activate
- F2 > POWs list
- Intel window > Alien Class Design Summary
- Intel window > Known Species dropdown, autopsy status, and species stats when known

This leaves diplomacy as the last remaining step before I can start working on AI and externalized scripting.  That's a lot, though, so it may span a couple of progress updates.  Things to do include diplomacy UI and the related mechanics behind it, race relationship changes based on events, diplomacy teams, and mechanics specific to friends and allies.  Coincidentally, it looks like Steve and I will both be working on diplomacy things :)  I can hardly wait for the C# game to come out.  Working on Quasar is keeping my hype at bay but only barely :)  Onward!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Froggiest1982 on March 30, 2020, 05:52:17 PM
Progress update 2020-03-30:

With the end of new non-AI content in sight, it's been a productive few days.  I just pushed version 106, which contains many additions primarily themed around espionage:

- hydrosphere & albedo periodically updated based on surface temp
- Fixed: missile engine max power mod should be doubled
- fleet training moves
- foreign aid wealth transfers
- espionage teams generate spy points
- chance of teams being killed or captured for points (and then killed) while spying
- Every 100 spy points gained against an alien race gives a chance to recover new geo data, grav data, tech, missile design, class name and summary, or system knowledge
- Alien lifepods can be "rescued." Spy points are gained from captured survivors and officers. Officers are killed.
- Autopsy research project created when lifepod with unknown species captured
- Species intel becomes available upon autopsy completion
- Surviving crew captured from alien lifepods can be unloaded to pops and become permanent POWs

And a few remaining unfinished UI elements are now functional:
- F2 > SM Update Atmos button
- F2 > Espionage Target and Activate
- F2 > POWs list
- Intel window > Alien Class Design Summary
- Intel window > Known Species dropdown, autopsy status, and species stats when known

This leaves diplomacy as the last remaining step before I can start working on AI and externalized scripting.  That's a lot, though, so it may span a couple of progress updates.  Things to do include diplomacy UI and the related mechanics behind it, race relationship changes based on events, diplomacy teams, and mechanics specific to friends and allies.  Coincidentally, it looks like Steve and I will both be working on diplomacy things :)  I can hardly wait for the C# game to come out.  Working on Quasar is keeping my hype at bay but only barely :)  Onward!

At its current state is very good for a small RP playthrough though. Well done Kyle and thanks for all your efforts.

Question: Would you mind as soon as everything it's complete before AI to keep a stable LITE version with only spoilers and no NPR? Again just for those who mostly RP Aurora. I know it can be done while setting up a new game, I just thought could keep the code lighter.

It also would help with bug fixing the bone of the game.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on March 30, 2020, 07:53:40 PM
Actually yes, I'm most likely going to start with Precursors which should theoretically be the easiest of the AI's to do.  No specific plans beyond that yet.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on April 02, 2020, 07:25:19 PM
Progress update 2020-04-02:

Version 107 is up! The following features were implemented.  Some of these items involve quite a few mechanics, but everything should be covered.

- Communication
- Diplomatic teams
- Political modifier changes over time based on xenophobia, communication efforts, active treaties, friendly or allied status, and diplomatic teams
- Signing various treaties and setting military cooperation level requires the appropriate political modifier level
- Intel window > Political Relations tab: lots of updates. This finishes the Intel window.
- Grav Treaties
- Geo Treaties
- Research Treaties
- Military Cooperation level
- SM Compare Tech window
- Transponders

This concludes this phase of the project, which I would call the transcribing phase.  The project now enters an experimental phase, in which I focus on AI and modifiable scripting. The next progress update might not be for awhile while I get the basics for these new mechanics up and running, and also due to C# and just generally shifting back to a more relaxed pace.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Triato on April 11, 2020, 09:47:03 AM
This means the game is ready to play without AI? If so, this is great news, thank you very much for your work.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Gram123 on April 12, 2020, 08:10:37 AM
This means the game is ready to play without AI? If so, this is great news, thank you very much for your work.

Its playable yes. But No AI. Including civilian sector.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: MinuteMan on April 15, 2020, 12:47:01 PM
Hey Kyle.

I'm really impressed with what you did.
The amount of work you've done is astounding.

Did you program all those tables and other custom controls yourself for the godot engine?
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on April 15, 2020, 12:59:33 PM
I copied the Godot editor's (IDE) own theme and created prefab scenes for many of the controls; the panel borders, the tables, the menu dropdowns, to name a few that I can remember.  The prefab scenes do consist entirely of godot's controls combined together with my customizations to their theme and style settings.   And yes come to think of it I do have some boilerplate gdscript code for most of the controls to get them to behave exactly how I want.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: MinuteMan on April 15, 2020, 01:16:57 PM
I don't know if you have a blog or something.
But I think you could write a couple of nice blog posts about the controls/scenes you made. :-).
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on April 15, 2020, 02:55:34 PM
Progress update 2020-04-15:

Much earlier in this thread (http://aurora2.pentarch.org/index.php?topic=10149.msg111029#msg111029) I stated I wanted to expose AI in external config files and allow players to design their own AI to use and to share.  So as I develop the AI, I would be doing it via the same external API that anyone else would use, developing the API in parallel with the AI itself.

I've finally gotten around to implementing that vision, and I'm pretty excited to share what I've got so far.  The Game Info window has a new Mods button and a red or green message saying whether all mods loaded successfully. 

(https://i.imgur.com/UxELlsY.png)



Pressing the Mods button opens up a mod manager:

(https://i.imgur.com/WF6xv4H.png)


There is a console log at the top where all mods (and the manager itself) can print text to.  Each mod can have multiple scripts for distinct purposes, that each get their own row on the list.  The scripting language is GDScript (http://docs.godotengine.org/en/3.2/getting_started/scripting/gdscript/gdscript_basics.html) that is loaded and compiled when the game starts, meaning they have the same capabilities and access as the game itself.  A Default mod comes with the game containing two scripts, located in mods/default/library.gd and mods/default/precursors.gd.  Each script can report its own name and version number to the mod manager, but the manager also lists the de facto folder and path of the script for clarity.  At the bottom left is a single Test button intended only for mod authors to quickly run ad hoc tests on their mods. 

The interesting part about the mod manager is that every mod can be configured to be active only when specific criteria are met.  The precursors mod can be configured to run for any combination of races, not just Precursors.  This is how you would tell each NPR which AI should control it.  The options that appear on the menu, and how they function, is controlled by the mod.  So other options are possible such as applying AI to NPRs with specific names, or to NPRs at random, to specific games, or even "only on Tuesdays."

Designer Mode is now implemented, but not necessary for developing AI because you can assign the AI mod to Players and watch what it does with your own empire.  The Apply To column is only the most basic setting, and typically the only configuration needed, but methods are provided for mods to store more complex configs to the game's database file.  This means it is possible to write a mod allowing a player to selectively automate specific tasks.

The mod manager is also available during gameplay via the Quasar4x > Mods menu option.  It won't reload mods, but you can change the Apply To settings.

In this build, Precursors are now dynamically generated, including all of their starting tech and ship designs.  (In previous builds, precursor tech and designs were just using the same static dump taken from an arbitrary Aurora game.)  There is now a chance for wrecks to appear in system generation.  There is also a chance for precursors to appear, although they don't move or fire yet.  Now that I have tech assignment, ship designs, and the modding framework in place I can start using it to implement precursor moving and shooting. 

Edit: Forgot to mention, I added the following options to the SM Random Ruin button, that enable generating some precursors so it's possible to dive right in and mess with an AI race:

(https://i.imgur.com/ZK42gVw.png)


Edit #2: Also forgot to mention what the default Precursors mod does right now:  It does the same thing Aurora does the subpulse after Precursors are created: Merges battle fleets located in the same location and deletes the empty leftover fleets.  Under precisely what criteria?  Beats me.  But at least it gives a starting example of how exactly AI scripting looks.

I plan to eventually post a tutorial on how to use the modding system for mod authors so I'll try not to go into too much technical detail here.  The files included in the mods folder do have a fair amount of documentation already, although don't expect any consistent formatting.  Mods that come with the game also include a Godot project file so they can be edited within the Godot IDE which provides syntax highlighting and auto-completion that is even aware of Quasar's own API calls.

(https://i.imgur.com/IAHsAhZ.png)


Mods can be distributed without the project file and the scene file which are just included for authoring convenience.  The .API.gd file is included to get auto-completion to work and to show what methods are available via the api object, and is also not required in a finished mod.  A lot can be learned from the 'default' mod folder that comes with the game but there is also an 'example' folder with a mod that can be manually enabled in the included script file.  The example mod shows off how the UI can be customized (and my incredible artwork): 

(https://i.imgur.com/2zMBgG5.gif)



The mod demonstrates how to change the image of a button, the background colors for various states of the button, how to resize it, and how to leave certain aspects (the border) intact.  The comments in the script contain links to the relevant portions of the Godot documentation to show how a mod author would have learned precisely what functions to call on the button, and thus how they could learn other manipulations not demonstrated by the example mod.  The example mod also demonstrates how to list the names of every node in the game so with some effort the author can find the correct UI element they want to modify. 

As I mentioned last time, updates will come out much more slowly as I am now in an experimental phase of the project and also have C# to chew on.  Version 108 is up on Itch containing the above changes.  Hope you enjoyed the read!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: lentik on April 15, 2020, 03:44:39 PM
Fantastic project, thx for it! Its realy impressive to see that progression in your project.  Please keep it up :)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Agm-114 on April 15, 2020, 09:18:51 PM
Great work kyle! I'll have my mod out by tomorrow.  Gotta sleep though XD
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: iceball3 on April 16, 2020, 03:46:31 AM
This modding API is actually super-exciting, gah! I am so glad I've spent the past week tangling with godot to get how it works on a baseline, so messing with this is going to be some fun for sure. ;D
Thanks mate!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: iceball3 on April 16, 2020, 07:38:54 AM
So I've been getting semi consistent crashes which involve:
-Crashing on trying to view the system map.
-Crashing when trying to advance time.
-Crashing when moving the window during game startup.
And somewhat less consistent crashes involving
-Starting the game.
-Opening any save.
Is there any way for me to recover useful crash logs of some sort?
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Ri0Rdian on April 16, 2020, 01:33:36 PM
Whoa! You telling me I get to see how AI would play MY empire? Witness at real time? That is awesome, one of the best features for games that allow for AI to take over player empire ( I bet some of you tried it in some of the PDX games for example).   Not once did I learn a thing or two by doing this, if it is really so thank you for this feature!

Edit:

I somehow missed the part where it would be possible to use those features to only automate certain parts of gameplay.  That is even better.  Reminds me of Distant Worlds: Universe, though the only automation worth it there was fleet stance.  Nice to have nevertheless.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on April 16, 2020, 02:41:45 PM
Whoa! You telling me I get to see how AI would play MY empire? Witness at real time? That is awesome, one of the best features for games that allow for AI to take over player empire ( I bet some of you tried it in some of the PDX games for example).   Not once did I learn a thing or two by doing this, if it is really so thank you for this feature!

Yep. It was a pretty trivial thing to set up since the only difference in the database between you and an NPR is the Race ID, the NPR flag, and the SpecialNPRID ("is this a precursor or regular?").  Sure there are a few tables and orders dedicated for NPR use, along with any other tables the author wants to create, but good AI code should be able to detect when it has been handed an empire previously owned by someone else, and initialize itself in that case.  After all, it would have to do that any time it conquered another race's populations and ships.

I somehow missed the part where it would be possible to use those features to only automate certain parts of gameplay.  That is even better.  Reminds me of Distant Worlds: Universe, though the only automation worth it there was fleet stance.  Nice to have nevertheless.
Distant Worlds: Universe is the direct inspiration of this particular feature.  I love the game, and loved the idea of that feature, and was disappointed in how sadly it fell short of its potential.  I should point out that since quasar gives the mod author full access to the database, the UI layout, and loads an actual programming script not a config file, that considerable work is left up to the mod author and it's not going to be a task for the faint of heart or lacking of time.

So I've been getting semi consistent crashes which involve:
-Crashing on trying to view the system map.
-Crashing when trying to advance time.
-Crashing when moving the window during game startup.
And somewhat less consistent crashes involving
-Starting the game.
-Opening any save.
Is there any way for me to recover useful crash logs of some sort?
This is the one area where Godot fails hard.  For crash reasons to be logged it requires debug mode to be enabled, which would make all my code readable in notepad.  Can you post your save file in the bugs thread?
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: iceball3 on April 16, 2020, 03:16:31 PM
So I've been getting semi consistent crashes which involve:
-Crashing on trying to view the system map.
-Crashing when trying to advance time.
-Crashing when moving the window during game startup.
And somewhat less consistent crashes involving
-Starting the game.
-Opening any save.
Is there any way for me to recover useful crash logs of some sort?
This is the one area where Godot fails hard.  For crash reasons to be logged it requires debug mode to be enabled, which would make all my code readable in notepad.  Can you post your save file in the bugs thread?
That's the darndest thing. I'm getting the issues with a practically fresh install, even the pre-made demonstration saves are crashing, with no saving done to them.

Edit from Kyle:
Lets continue this here http://aurora2.pentarch.org/index.php?topic=10595.msg124184#msg124184
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Agm-114 on April 16, 2020, 05:38:40 PM
Code: [Select]
https://i.imgur.com/U1ASpYi.png
Well, I gave the modding a shot and it worked great. 

It might be worthwhile to have a pinned modding thread.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on April 16, 2020, 07:57:30 PM
Code: [Select]
https://i.imgur.com/U1ASpYi.png
Well, I gave the modding a shot and it worked great.
Good to hear!!  And it looks great!

(https://i.imgur.com/DldhoEW.png)

Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Agm-114 on April 17, 2020, 09:46:15 AM
(https://i.imgur.com/PKj2RzM.png)

Finally got perms to post images.
Wouldn't it make sense to change sub pulse length into a dropdown menu to right of increment time or somewhere like that.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: joansam on April 17, 2020, 10:52:59 AM
Very cool! Tempting me to get in on some modding myself  :)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Droll on April 17, 2020, 11:15:17 AM
Its going to be interesting to see people start modding in C# features into this. From what I understand the original aim of quasar4x is to modernize VB6, which is cool - but I wanna see C# aurora with this snazzy new UI.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Agm-114 on April 17, 2020, 02:47:20 PM
Btw I think this topic should be pinned XD
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on April 18, 2020, 01:21:54 AM
Wouldn't it make sense to change sub pulse length into a dropdown menu to right of increment time or somewhere like that.

Go for it, if that's what you want. :)  That's the glorious thing about supporting mods.  The modders can deal with all the suggestions! :)
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on April 18, 2020, 01:33:21 AM
Progress update 2020-04-18:

Boring but important update.  This fixes a crash that was occurring whenever speed was calculated for a fleet containing a ship or shipyard linked by STS tractor.

I also added a LOT of new functions to the API!  This is pretty much a dump of all the functions I have in my common code.  Even though they look useful, many of them may never be used because they are already automatically called by higher level functions.  But these are important if a modder ever comes along and wants to do something that isn't already possible via the UI and isn't done automatically during end-of-turn.  Rather than executing SQL against the database directly, that modder should use these functions instead, because almost everything you do has lots of side effects that you need to account for.

Here's the list of functions I added to the API:
Off-Topic: show
abandon_ship(ship_id)
add_a_trait(commander_id)
add_colony(body_id, race_id = NONE, species_id = NONE)
add_commander_history(commander_id, history_String)
add_debug_dot(dot_color, dot_label, x, y)
add_default_fleet_created_history(fleet_id)
add_new_commander(population_id, commander_type = null)
add_parasites_to_list(ship_id_list)
add_race_tech(tech_id, race_id, pop_id = NONE, enable_scientist_logging = false)
add_route(fleet_id, race_id, from_system_id, to_system_id, current_initiative, jump_gates_optional = false, use_lagrange_points = true)
add_ship_history(ship_id, history_text)
add_spy_points(spy_points, attacker_race_id, defender_race_id, team_id = NONE)
add_tech_points(pop_id, race_id, rp_gained, tech_id)
add_wealth_data(use_id, amount, race_id, update_race_wealth_too = false)
age_str(career_start_seconds)
allocate_commander_xp(commander_id, bonus_type, amount)
apply_bonuses_to_load_time(load_time_minutes, fleet_id)
apply_damage(ship_id, apply_damage_amount, step_height)
auto_assign_commanders(race_id)
backup_db()
bombard(pop_id, damage, attacker_race_id, is_collateral, radiation_damage = 0, dust_damage = -1)
bombardment_results(is_collateral = false)
breathable_atmosphere(systembody_id, race_id)
calc_colony_cost(systembody_id, species_id, race_id)
calc_current_thermal(ship_id)
calc_fleet_max_speed(fleet_id)
calc_intercept_point(ax, ay, vx, vy, bx, by, s, q, z)
calc_pop_colony_cost(pop_id)
calc_speed(size, engine_power, dust_density, armor_thickness)
calc_surface_temp(base_temp, gh_factor, albedo, dust_level)
check_espionage(spying_race_id, target_race_id, team_id = NONE)
clean_float_string(string)
clear_debug_graphics()
clear_galmap_cache()
column_to_array(rows, col_name)
column_to_distinct_list(rows, col_name)
comma_format(number)
complete_jp_survey(system_id, race_id)
copy_class_to_another_race(source_class_id, other_race_id)
create_fleet(pop_id, task_force_id = null, new_fleet_name = null, append_body_name = false)
create_missiles(pop_id, missile_id, amount)
create_race_sys_survey(race_id, system_id, game_id)
create_sector(pop)
create_ship_components(pop_id, component_id, amount)
create_shipping_line(race_id)
create_wreck(race_id, system_id, ship_class_id, xcor, ycor)
damage_gu_or_pop(pop_id, damage, attacker_race_id, target_type, hits = 1, rad_damage = 0)
damage_political_modifier(damage, attacker_race_id, defender_race_id)
damage_random_shipyard(pop_id, damage)
damage_shipyard(shipyard_id, damage)
date_str(game_id, seconds, show_hhmm = true, show_ss = false)
days_hours_minutes_long(minutes)
deduct_start_build_points(race_id, ship_class_id)
delete_divisions(div_ids)
delete_excess_gf_training(pop_id)
delete_fleet_if_empty(fleet_id)
delete_fleets(id_list)
delete_salvo(salvo_id)
delete_ship(ship_id)
delete_ship_contact(ship_id)
deploy_escorts(parent_fleet_id)
destroy_ship(ship_id)
detach_ship(ship_id, parent_fleet_id, is_escort = false, new_task_force_id = NONE)
duration_to_string(hours)
ensure_all_races_have_capital()
finish_commander_transfer(old_race_id, new_race_id)
fix_seniorities(race_id)
fix_ship_links(race_id)
fleet_is_in_nebula(fleet_id)
generate_class_design_summary(ship_class_id, range_band_10k = 1, target_speed_1k = 1)
generate_commander_name(race_id)
generate_design_summary(ship_id, target_speed = 1, range_band = 1)
generate_random_company_name(race_id, research_category_id)
get_activity_time(fleet, fleet_move)
get_actual_ppv(pop_id)
get_alien_class_id(ship_id, view_race_id)
get_annual_fincen_wealth(race_id, pop_id = null)
get_annual_pop_wealth(race_id, pop_id = null):
get_annual_wealth(race_id, pop_id = null)
get_avg_fleet_training(fleet_id)
get_best_tech_info(tech_type_id, race_id)
get_capital_pop_id(race_id)
get_chance_to_penetrate_missile_armor(armor, damage)
get_class_cost(shipclass_id)
get_class_loadout(ship_id)
get_class_name(shipclass_id)
get_comm_status(spy_race_id, race_id)
get_comma()
get_commander(commander_id)
get_commander_assignment_string(commander)
get_commander_name_and_rank(commander_id)
get_commander_of_ship(ship_id)
get_commander_population_id(commander)
get_contact_name(system_id, race_id, target_type, target_id, name_cache, cache_one_system_and_race_only = true)
get_contacts(system_id, race_id, include_lost = false, active_only = false)
get_crew_cth_mod(ship)
get_current_loadout(ship_id)
get_damage_step_height(component_type)
get_default_species_id(race_id)
get_default_task_force_id(pop_id)
get_effective_size(ship_class_id)
get_eligible_additional_classes(ship_class)
get_factory_info(pop_id, pop_data)
get_fc_assignment(ship_id, fc_component_id, fc_num, name_cache = {}): # cache is specific to system and race of detector
get_fc_max_range(fire_control_value)
get_fire_control_cth(fc_component_value, target_distance)
get_first_fleet_move(fleet_id)
get_fleet(fleet_id)
get_fleet_id(ship_id)
get_game_time()
get_geo_points(body)
get_govt_bonus(field_name, pop_id)
get_grade_points(ship)
get_homeworld_pop_id(commander_id)
get_jump_point_name(race_id, warp_point_id)
get_jump_points(race_id, system_id)
get_lagrange_points(system_id)
get_load_time_minutes(ship_class_id, cargo_handling_multiplier = null)
get_lowest_unresearched_tech(race_id, tech_id)
get_max_number_of_systems(game_id)
get_missile(missile_id)
get_missile_fc_max_range(max_sensor_range, resolution, target_size)
get_non_fc_get_weapon_max_range(weapon)
get_nth(number)
get_num_berths(planned_deployment, crew_quarters_hs)
get_or_create_oh_fleet(pop_id)
get_or_create_pdc_fleet(pop_id)
get_orbital_pop_annual_growth_rate(population, orbital_capacity)
get_police_strength(pop_id)
get_pop(pop_id, refresh_sigs = false)
get_pop_admin_rating_required(pop_id)
get_pop_annual_growth_rate(population, col_cost, orbital_capacity)
get_pop_data(pop_id, col_cost)
get_pop_surrender_data(pop_id)
get_pop_surrender_resistance(data)
get_pop_surrender_strength(data)
get_population_distribution(col_cost, population, orbital_capacity = 0)
get_pos(input)
get_promotion_score(commander_id)
get_race_body_name(pop_id)
get_rank_name(commander)
get_refit_cost(from_class_id, to_class_id)
get_refit_mineral_breakdown(from_class_id, to_class_id)
get_requested_ppv(pop)
get_required_occupation_strength(pop)
get_second_stage_text(missile)
get_ship(ship_id)
get_ship_class(ship_class_id)
get_ship_delay_mod(ship, task_force_delay_mod = null):
get_species_surrender_data(species_id)
get_system_map_race_id()
get_systembody(systembody_id)
get_target_data(system_id, target_type, target_id)
get_task_force_delay_modifier(fleet_id)
get_time_and_distance(fleet, fleet_move, include_activity = false)
get_time_and_distance_str(fleet, fleet_move)
get_tracking_speed_penalty(tracking_speed, target_speed)
get_weapon_damage(weapon, fire_control, range_km)
get_weapon_max_range(weapon, fire_control)
get_weapon_max_tracking_speed(weapon, fire_control)
grant_team_xp(team_id)
hash_column_to_array(hashed_fetch, col_name)
hash_column_to_list(hashed_fetch, col_name)
hostiles_in_system(fleet_id)
hydro_id_to_string(hydro_id)
incorporate_sub_fleets(fleet_id)
industry_active(industry_type, pop_id)
insert_lagrange_move_if_possible(system_id, fleet_id, dest_xcor, dest_ycor)
is_fleet_jump_capable(fleet_id)
is_sm_race(race_id)
kill_commander(commander, message = null)
launch_missiles(fleet_id, ship_id = 0)
load_into_strikegroup(fighter_id)
make_dac(class_id, return_a_string)
make_hash(array_of_dict, key_field_name)
make_turret_name(barrel_count, beam_name)
mark_target_lost(missile_salvo_id)
mass_to_string(n)
max_precision(number, precision)
mine_system_body(amount_mined, orig_amount, body_class, mineral_deposit_id)
orbital_distance_to_string(orbital_distance, body_class = 0, in_au_units = false)
pick_alien_class_name(detect_race_id, alien_race_id, theme_id, class_id)
pick_alien_theme_id(race_id)
pick_random_commander_type()
pick_random_empire_name_and_title()
pick_random_empire_suffix()
pick_random_last_name(race_id)
pick_random_shipyard_name(race_id)
promote_commander(orig_rank, new_rank, commander_type)
promote_commanders(race_id, commander_type)
recalc_fleet_speed(fleet_id)
refit_ship(ship_id, class_id, pop_id, opt = {})
refresh_galactic_map()
refresh_system_map()
refresh_task_force_bonuses(task_force_id)
reload_from_colony(fleet_id, pop_id, ship_id = NONE)
reload_from_ships(reload_ships, ammo_ships, override_loadout = null)
roman_numeral(x)
sbgas_atm_changed(systembody_id)
scrap_ship(ship_id, pop_id, race_id)
shields_active(ship_id)
ship_is_in_nebula(ship_id)
show_industry_tab()
show_research_tab()
show_shipyards_tab()
split_fleet(fleet_id, new_fleet_name = null, is_detach = false, is_escort = false, copy_fleet_moves = true, new_task_force_id = NONE)
string_multiply(string, times, delimiter = "")
sum_column(rows, col_name)
sum_of_products(rows, col_name, col_name_2)
today_plus_days_str(days_Integer)
transfer_commanders(where, new_race_id)
transfer_knowledge(from_race_id, to_race_id, include_body_surveys = true, include_jp_data = true, system_id = null)
transfer_ordnance(src_fleet_id, dest_fleet_id, dest_ship_id = NONE, src_ship_id = NONE)
transfer_population(pop_id, new_race_id, new_political_status)
transfer_ship(ship_id, alien_race_id, include_commander)
unassign_commander(commander, logging = true)
update_atmosphere(systembody_id)
update_pop_signatures(pop_id = null)
update_promotion_scores(commander_id = null)
update_ship_stats_in_db(ship_id)
valid_fleet_id(fleet_id, must_be_located_at_pop_id = NONE)
valid_ship_id(ship_id)
valid_systembody_id(systembody_id)
zoom_to_body_on_map(systembody_id, raise_window = false)
zoom_to_class(class_id, raise_window = false)
zoom_to_commander(commander_id, raise_window = false)
zoom_to_contact(contact_id, raise_window = false)
zoom_to_coordinates_on_map(coordinates, raise_window = false)
zoom_to_fleet(fleet_id, raise_window = false)
zoom_to_fleet_on_galactic_map(fleet_id)
zoom_to_fleet_on_map(fleet_id, raise_window = false)
zoom_to_pop(pop_id, raise_window = false, id_type = IDType.None)
zoom_to_ship(ship_id, raise_window = false)
zoom_to_star_on_map(star_d, raise_window = false)
zoom_to_system(system_id, raise_window = false)
zoom_to_system_on_galactic_map(system_id)
zoom_to_system_on_map(system_id, raise_window = false)


And here's another batch of functions I added to the default mod library: (so their implementations can be seen)
Off-Topic: show
add_title_to_commander_name(commander)
bell_rng(median, max_deviation)
calc_velocity(pos_x, pos_y, prev_pos_x, prev_pos_y, speed)
clamp_int(value, least, greatest)
clean_max_num_systems(txt)
clean_prod_time(txt)
colony_cost_to_string(col_cost)
color_to_int(c)
copy(from_dict, to_dict)
cth_int(zero_to_100)
days_hours_minutes(minutes)
default_blank(dict, key)
default_zero(dict, key)
distance_squared_xy(x1, y1, x2, y2)
distance_str(dist, additional_precision = 0)
enforce_newlines(string)
float_percent(a_float)
get_armor_value_from_msp(msp)
get_bearing(v)
get_energy_weapon_rate_of_fire(power_requirement, capacitor_recharge_rate)
get_fuel_consumption_per_eph(engine_power)
get_missile_fuel_consumption(engine_size)
get_name_and_rank(commander)
get_nice_text_color(bg_color)
greatest(a, b)
he_or_she(commander)
him_or_her(commander)
his_or_her(commander)
hours_minutes_seconds(seconds)
int_ceil(f)
int_floor(f)
int_percent(a_float)
int_round(f)
int_to_color(n)
intervals(array)
is_gas_body_type(body_type)
is_true(dict, key)
join(delimiter, arr)
least(a, b)
length(x, y)
length_squared(x, y)
make_hash_of_values(array_of_dict, key_field_name, value_field_name)
orbital_distance_to_km(orbital_distance, body_class)
pick_middle_of_three_rolls(num)
polar_distance(a, b)
radius_to_area(radius)
random_flag_pic()
random_loyalty()
random_race_pic()
ratio_to_cth_int(ratio)
roundf(f, precision)
safe_add(dict, key, amount)
safe_get(dict, key)
ship_class_unlocked(class_id)
to_xcor(distance_au, bearing_deg)
to_ycor(distance_au, bearing_deg)
volume_to_area(volume)
volume_to_radius(volume)


These are all documented in the script files.  I have not advanced the API version number because this doesn't break mods.  In general I am going to do my best not to break mods, and instead resolve any future issues in the API layer on my side.

This pretty much brings the API up to the point where it's now connected to every general purpose function I have conveniently lying around.  It needs a lot more higher-level functions useful to AI code that are much more directly related to what a human can do via the UI.  I'll be trying to finally write some precursor combat AI at the same time so I can get those finished up.

Right, so as I was saying in my last update, updates will come out much more slowly (I swear I mean it this time) as I am in an experimental phase of the project and also have C# to chew on.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Agm-114 on April 18, 2020, 02:34:26 AM
Very cool.

This stuff will be great for my mp game.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: iceball3 on April 18, 2020, 01:00:31 PM
Hey Kyle, a request.
Would it be possible to have a UI element that launches when launching Quasar, perhaps running in it's own window in it's own thread outside of the game, to allow us to toggle autoturns? For example, whenever a turn completes, Quasar makes a check to see if the other window (or a text file it's responsible for or whatever) changed it's state to "stop the presses", and automatically stops auto-turns instead of continuing in an uninterruptible state? Even if it isn't even it's own UI, just a 1 line text file that can be edited by the user and is read every turn.
Quasar seems much harder, if not impossible to find the frame to disable auto-turns than vb6, and with the decreased stability, i'm worried about killing the game and corrupting the database in the process.
Edit: Actually, I'll take a look myself real quick and see if the modding API as is will allow for it as an addon.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on April 18, 2020, 03:36:02 PM
It's interruptable, you can click the Autoturns checkbox and it will become unchecked when the pulse completes
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: iceball3 on April 18, 2020, 04:52:50 PM
It's interruptable, you can click the Autoturns checkbox and it will become unchecked when the pulse completes
The problem is that when turns take long enough, the entire full-game window becomes unresponsive, and it is not clear to the user side when the game will respect any clicks coming through.
VB6 Aurora had this issue too, but you could slip a click in just because the GUI would unfreeze for just enough frames between increments. But it definitely exacerbates as the increment times get longer. I suppose the hugely overloaded example game wasn't helping things, but for 30 second ticks, they take REALLY long.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on April 18, 2020, 08:09:58 PM
Ah, I haven't checked a game that size in awhile.  Yeah, it's gotten unacceptably slow.  I'll have to do an optimization pass.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on April 22, 2020, 10:46:42 PM
Progress update 2020-04-22:

Another boring but important update. Version 110 is up, and includes optimizations that greatly speed up turn processing times.  On my computer, the example game took 10.328 seconds to process a 2 minute turn.  Granted, the example game is deceptively overloaded.  It includes 2 NPRs each with many Civilian ships.  NPRs / Civilians aren't implemented, but they all have move orders left over from the import from my VB6 game, and they all still have detection.

Nevertheless I was able to bring the processing time on the same snapshot down from 10328 milliseconds to 892 milliseconds.  A 91% reduction in processing time!  Migrating the core of the movement phase to C++ accounted for about 4 seconds of this speed boost.  I saved another 3-4 seconds by changing detection to query the most common signature and detector types for all systems at once instead of doing them one system at a time, and sorting them by system only after the initial query.  I bought another 1-2 seconds from fixing a nasty bug with NPR default orders.  And the remainder was from a few miscellaneous improvements. 

What's nice is I still have significant room for more optimization.  I have yet to add any code that would skip sensor checks in systems for which there is only one race present, for example.  I prefer to leave those kinds of optimizations for last so they don't hide the more subtle problems.  And I saw many other areas that could use optimization whenever I want to invest my time into working on them.  But I'm super happy with a 91% turn time reduction at this phase of the project, so it's time to move on!

As an aside, the game engine does support "yielding" meaning at some point down the road I can add a progress bar and eliminate window lockups.

This version also fixes instability that was occurring when the the auto-backup setting was enabled, as well as a crash-on-start issue on Linux.  Unless something else comes up, precursor moving and shooting (via API) is back at the top of the list!

Kyle

Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: joansam on April 23, 2020, 11:42:45 AM
Very exciting! Glad there’s still room for optimization, and really looking forward to NPR behaviors.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Froggiest1982 on May 11, 2020, 07:35:29 PM
Progress update 2020-04-22:

Another boring but important update. Version 110 is up, and includes optimizations that greatly speed up turn processing times.  On my computer, the example game took 10.328 seconds to process a 2 minute turn.  Granted, the example game is deceptively overloaded.  It includes 2 NPRs each with many Civilian ships.  NPRs / Civilians aren't implemented, but they all have move orders left over from the import from my VB6 game, and they all still have detection.

Nevertheless I was able to bring the processing time on the same snapshot down from 10328 milliseconds to 892 milliseconds.  A 91% reduction in processing time!  Migrating the core of the movement phase to C++ accounted for about 4 seconds of this speed boost.  I saved another 3-4 seconds by changing detection to query the most common signature and detector types for all systems at once instead of doing them one system at a time, and sorting them by system only after the initial query.  I bought another 1-2 seconds from fixing a nasty bug with NPR default orders.  And the remainder was from a few miscellaneous improvements. 

What's nice is I still have significant room for more optimization.  I have yet to add any code that would skip sensor checks in systems for which there is only one race present, for example.  I prefer to leave those kinds of optimizations for last so they don't hide the more subtle problems.  And I saw many other areas that could use optimization whenever I want to invest my time into working on them.  But I'm super happy with a 91% turn time reduction at this phase of the project, so it's time to move on!

As an aside, the game engine does support "yielding" meaning at some point down the road I can add a progress bar and eliminate window lockups.

This version also fixes instability that was occurring when the the auto-backup setting was enabled, as well as a crash-on-start issue on Linux.  Unless something else comes up, precursor moving and shooting (via API) is back at the top of the list!

Kyle

keep up the good work Kyle!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: TMaekler on July 10, 2020, 12:04:54 AM
Hi Kyle, you have immersed yourself into C# Aurora or are using the time to silently finish Quasar?  ;)

I have seen that there is also a version for Mac; though a bit old... you plan to update that at some point?
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on July 16, 2020, 10:49:29 PM
Neither.. I started on C# a couple times but each time learned of a game breaking bug that made my run useless. After that, I honestly just lost interest in playing it.  And now that C# is out and people have that to chew on if they want an aurora-like game to play, myself included, I lost enthusiasm for Quasar.  It's still the programming project on my "hobby table" though -- I do plan to start back in on it at some point.

And yes, it can easily be built for Mac, I was just skipping mac builds to save time.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on September 03, 2020, 09:25:21 AM
Progress update 2020-09-03:

After a much needed break I am back at it, and have been for a couple weeks now!  The very basics of combat AI are in place:

(https://i.imgur.com/9ZNTXHI.png)


In the screenshot, two NPRs are duking it out with missiles only.  The screenshot is taken from designer mode, which will be publicly available with caveats.  I created and positioned the fleets in two rows facing each other then let the combat play out long enough for the first volley to be well on its way.  The screenshot shows how each fleet is adjusting its position according to an optimal distance, is picking a best target based on chance to hit and perceived threat, and is conserving ammo when sufficient salvos are en route.  When the fight is over, ships of the winning side will scoop up survivors then unload them at a nearby colony.

This gets precursors closer to being ready but they aren't quite there yet.  Reloading from ammo depots and pursuing hostiles through jump points is still on the list, for example.  But to keep things fresh I'm shifting gears and working on AI for the production cycle.  My goal for this is to be able to take a fresh game, open an automation settings page, click an 'automate all' checkbox, and have the AI play the game for me while I watch and keep pressing end turn.  Then I can use the same code for NPRs, and it'll be an easier way to create more organic testing scenarios rather than staging scenarios myself.

It'll probably be awhile before I push an actual update patch.  The new features are currently too fragmented and untested.  Right now, pure volume of content is my focus!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle 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 (https://66.media.tumblr.com/6a9c294b8e25433c808d31409676436e/tumblr_inline_nqchudXsyP1qe86h3_1280.png).  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! 


(https://i.imgur.com/KU3o2ns.png)


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


(https://i.imgur.com/086flIk.png)

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! 
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Froggiest1982 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 (https://66.media.tumblr.com/6a9c294b8e25433c808d31409676436e/tumblr_inline_nqchudXsyP1qe86h3_1280.png).  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! 


(https://i.imgur.com/KU3o2ns.png)


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


(https://i.imgur.com/086flIk.png)

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.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: joansam 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
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Gram123 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!
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle 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!

Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on September 19, 2020, 05:06:53 AM
Progress Update 2020-09-19:

Made good progress on NPR exploration and expansion.  Generating empires from scratch is working fairly well now.  I'm able to create a fresh game with default settings and any number of NPRs, let the clock run, and come back to a mostly thriving empire.  (And bugs to fix.)  Here's one such NPR empire viewed in designer mode, a couple years into the game:

(https://i.imgur.com/oCLIZgt.png)


About half of the ships there were there at the start, the rest were created at shipyards.  Grav and geo surveying is underway.  One autominer-only colony has been established on a particularly good mining site.

A few more years in, about 5 systems have been discovered, jump gates constructed, and the first good colony candidate discovered 2 systems away from capital:


(https://i.imgur.com/w7s38JS.png)


Civilian-produced infrastructure at the capital is shipped over and colonists begin arriving as well:


(https://i.imgur.com/YiEdNfL.gif)


Eventually terraformers come along and begin working on bringing oxygen levels up.  Consumer electronics and other trade goods are exchanged later on.

I crank increments up to 30 days and let the game continue to run for awhile. 


(https://i.imgur.com/ywJj5jQ.gif)


And the empire at it stands at the end of my little demo run:


(https://i.imgur.com/jYwI7xH.png)


All of this is done by the NPR, with zero intervention from me in game.  At this point in the demo I notice a few critical problems to fix, such as needing to prioritize completing both sides of the jump point links in Rome, and needing to prioritize distance from Capital more than distance from fleet when exploring.

The game is still too shaky to push a new build unfortunately.  I still have a steady supply of bugs to fix and missing features to fill in.  The vague roadmap from here is filling in some small features I know are still missing, making sure civilian shipping looks ok from a player race's point of view, revisiting precursors now that some combat code is in place from a previous progress update, and multiple NPRs interacting with each other.  A short break or two may be added in there somewhere as well :)



Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Froggiest1982 on September 19, 2020, 05:35:09 AM
Well done, looks like on track.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Tchey on September 19, 2020, 10:05:37 AM
Really nice to see you’re at it again !

Thanks for your hard work.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on September 29, 2020, 09:22:47 AM
Progress Update 2020-09-29:

The AI can do its thing for quite awhile now without any issues cropping up.  I added a feature to the galaxy map I'm really happy with, which auto-positions new systems as they are discovered.  This feature helps me get a broad overview of the galaxy to quickly spot problems and prepares the way for watching wars between multiple NPRs play out. 

(https://i.imgur.com/c8W03mM.gif)
(Quick reference: blue dots: colonized worlds at <=2.0 cost, orange dots and orange rings: unexplored jump points, percentages: geo survey progress, blue rings: uncolonized worlds <= 2.0 cost, red rings: grav survey incomplete, big blank circles: no system bodies, green lines: warp links without gates, orange lines: warp links with gates, yellow is a glitch in the gif encoding)

Not gonna lie, I'm having fun watching an AI empire take shape then resetting and watching a new one :)  This feature is pretty cool for the player too.  Positions of new systems are all relative to the system they connect to, and simple collision detection is used to find a suitable spot nearby at a standard spacing from the linked system.  When angles of 180 degrees aren't possible, clockwise angles are prioritized, resulting in a slight spiral effect in the overall layout.  If there's no room in the layer of grid spaces immediately surrounding the linked-from system, the next layer of grid locations will be checked, up to 100 grid spaces away from the linked system.  When choosing spots more than one grid space away, angles of 45 and 90 degrees are avoided so that the warp lines connecting between them are less likely to overlap existing warp lines on the map.  Once a position is picked, the system's position isn't touched again.  This means you can grab one particular system (or shift-select a group of them) and move it to a different spot on the map, even far away if you want, and new systems in that branch will be positioned relative to the system(s) you moved.

Here's one more screenshot of the same campaign above, a bit later in the game, when the player's Sol system and a few of its neighbors was discovered.

Off-Topic: show
(https://i.imgur.com/eJwU6OY.png)


In this game the AI has been building installations, ordnance, and fighters, shipping colonists, installations, and trade goods around, keeping up with research, pumping out civ and naval ships, terraforming, and pretty much anything else non-combat related.  (Mentioned for completeness; these were mostly done already)

With the addition of the non-combat AI and pathfinding, turns are getting pretty slow.  The animation above is in real time with 1 NPR and 1 dormant player race, with 1-day sub-pulse lengths.  There is tons of room for optimization in the pathfinding, but profiling revealed that unoptimized pathfinding takes about the same amount of time as the mostly-optimized detection, and about the same amount of time as the partially optimized movement code.  Which means optimizing pathfinding right now would have less of an improvement than I expected, so I'm holding off on a general optimization pass until a later date.  I suspect that slowdowns from combat AI will dwarf the rest anyway, and will need to be the primary focus.

The auto-positioning feature was probably only 10-15% of the updates I made to the game since my last progress update; it was just the first thing I did that had something interesting to show.  Also added were NPR ramming, NPR damage control, ship overcrowding and undercrowding mechanics, unloading cargo to stationary fleets, and detecting and shooting mineral packets.  I added multi-system pathfinding to all of the relevant default and conditional orders for the AI to make use of.  There were other fixes and additions as well, but I believe I've listed most of the notable ones.

No new build yet.  My vague roadmap is still: making sure civilian shipping looks ok from a player race's point of view, revisiting precursors now that some combat code is in place from a previous progress update, and multiple NPRs interacting with each other.  At that point I will most likely push a build, then move on to NPR ground combat, planetary conquest, espionage, and diplomacy.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Droll on September 29, 2020, 12:27:00 PM
I've been meaning to ask this for a while.

My understanding is that this project (at least initially idk if thats changed) was to recreate the VB6 feature-set of aurora in C#.

So then it would be correct to assume that the C# ground combat will not be in Quasar4xs release?
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: procdrone on September 29, 2020, 02:52:22 PM
I've been meaning to ask this for a while.

My understanding is that this project (at least initially idk if thats changed) was to recreate the VB6 feature-set of aurora in C#.

So then it would be correct to assume that the C# ground combat will not be in Quasar4xs release?

You will get VB6 ground combat, this is "as most faithfull as possible" recreation of VB6 in a newer engine.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Droll on September 29, 2020, 06:17:02 PM
I've been meaning to ask this for a while.

My understanding is that this project (at least initially idk if thats changed) was to recreate the VB6 feature-set of aurora in C#.

So then it would be correct to assume that the C# ground combat will not be in Quasar4xs release?

You will get VB6 ground combat, this is "as most faithfull as possible" recreation of VB6 in a newer engine.

Ok so I am not mistaken. Though I believe this recreation also has moding in mind so once a release is up I might get stuck in.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on October 04, 2020, 10:18:48 PM
Progress Update 2020-10-04:

The new build, version 111, is finally up.  This includes civilians, precursors, and NPRs and a ton of other updates.  Some other additions since my last progress update include:

- NPR troop drops
- NPR shooting at shipyards and ground forces
- Electronic hardening
- Race Details > Delete Race
- HQ Commanders can train their subordinates past 100
- SM New Empire Setup > Set as Neutral race (provide colonists)
- SM New Empire > Create as NPR
- NPR diplo teams
- Support for leaving "Generate Empires as NPRs" unchecked (new empires are generated as player races)

I ran a successful war scenario, in which I linked two NPR home systems to each other, deleted all warp points other than the two forming the link, and watched them duke it out.  At first encounter, the two NPRs established diplo teams with each other and started to work on their relationships.  But due to being next door neighbors, they quickly angered at the presence of each others ships in their home systems and became hostile to each other.  I watched them fight it out, fixing issues as they arose, until they had both lost most of their war ships.  At some point I plan to set another one of these up, with uneven techs so I can see one side completely conquer the other.

So NPR's are theoretically complete, other than needing a lot more testing, and this is largely thanks to the NPRFleetOrders table that comes with Aurora's DB.  This table contains a nice outline for what each fleet type should be doing in order of priority, so these past several weeks I've been setting up my AI code to follow the steps in this table.

After the NPRvNPR test I started up a "real" campaign playthrough in Q4X and played it long enough to verify that Civilians appear to be behaving properly.  My intent was to keep going long enough to encounter Precursors and verify that all worked properly as well, but it's going to take awhile to reach that point so I figured I'd switch gears and finally put together a release build and another progress update.  Going forward, I'll probably be taking my time playing through this campaign and knocking out issues as they arise.  I've got a long list of suspected but unconfirmed bugs to work though as well.

As mentioned, the new build is finally up but is really only made available for the brave or the curious.  There is still a lot of testing and fixing to do.  There will no doubt be plenty of crashes or strange behaviors from edge cases I haven't encountered yet.  I've got a long list of potential issues to review, so there's no immediate need for bug reports.  If you do decide to check it out make sure you delete the quasar4x.sqlite from the %APPDATA%/Roaming/Godot/app_userdata/Quasar4x first, as I have completely replaced the accompanying database with a new one.  The program should actually do this automatically for you but I leave these manual instructions here just in case.  I don't believe any future save-breaking db replacements will be necessary.

Other than Swarm and Invaders, which are still low priority for me, I think all the major features are in the game now.  NPR and Civ AI wound up being internally coded rather than externally scripted.  Scripted AI is technically possible right now, I just need to add some documentation and examples.  Player-side automation is currently incomplete and most likely broken, since it really needs to be redone from the ground up.  The Linux build will be up soon, I just need to fire up the VM.  After that, I plan on taking my time with my campaign playthrough and spending the next few weeks just focusing on fixing what's broken. 
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: TMaekler on October 05, 2020, 03:58:09 PM
This sounds great. I have a multi-nation AAR which I discontinued due to it being too slow to play. I was thinking of converting it to Quasar4x - but don't know if any vital functions are still missing. It has several nations on earth, one alien species played by me and one AI - the usual "local" enemies. Would I miss a lot at the moment when I convert to Quasar4x?

This is the AAR:
http://aurora2.pentarch.org/index.php?topic=8464.0
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on October 05, 2020, 06:33:39 PM
This sounds great. I have a multi-nation AAR which I discontinued due to it being too slow to play. I was thinking of converting it to Quasar4x - but don't know if any vital functions are still missing. It has several nations on earth, one alien species played by me and one AI - the usual "local" enemies. Would I miss a lot at the moment when I convert to Quasar4x?

This is the AAR:
http://aurora2.pentarch.org/index.php?topic=8464.0

There aren't any vital functions missing other than swarm and invaders.  Mind sending me the file?  I'll convert it and run it a few turns to make sure nothing obvious breaks.  But if you don't want to bother with bugs and crashes, I'd recommend waiting until after I finish my current "fixing things" phase.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: TMaekler on October 06, 2020, 01:10:19 PM
There aren't any vital functions missing other than swarm and invaders.  Mind sending me the file?  I'll convert it and run it a few turns to make sure nothing obvious breaks.  But if you don't want to bother with bugs and crashes, I'd recommend waiting until after I finish my current "fixing things" phase.
Waiting some days is fine with me. I'll send you the file next week then when I am back home ;-)

Thanks.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Kyle on October 07, 2020, 04:11:42 PM
Progress update 2020-10-07

Version 112 is up.  It fixes a crash in new game creation (oops), and additionally:

- Linux build
- Fixed remaining situations in F3 window where damaged components weren't being considered
- Ship signature detection range circle in F3 window now uses the more complex calculation used by the detection code
- Right clicking a ship/class/fleet item in the Military tab on the F3 window opens the item in its corresponding window
- Production overview > Show Allies checkbox
- Removed the phrase "MR for Drones is 5 and cannot be increased" from Missile Design info tab
- detection of magazine explosions
- added custom generation rules to many of the commander name themes (3 names for Romans, etc)
- Intel Window > All Active Contacts for this Empire list
- Commercial Spaceports affect load/unload times
- Don't follow conditional order to absorb subfleets if parent fleet just divided
- discounts on required crew for very low planned deployment times
- and a few more minor additions and fixes.

These were all from a to-do list I've been adding to since the project started and mostly neglected until now (don't ask how many more items are on this list.) (on the bright side, many of the items on the list are obsolete, I just have to verify)  This list is quite a grind.  To change things up I generated a new game with 5 NPRs to see how long it would run.  It revealed a few minor things for me to fix, and made it to the 12th year before getting stuck in an infinite 5 second hell wherein NPRs were endlessly trying to use lasers on each other within a dense atmosphere.  I figured I'd get this build out before I work on fixing that.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Tchey on October 08, 2020, 04:23:07 AM
Quote from: Kyle link=topic=10149. msg141335#msg141335 date=1602105102
Progress update 2020-10-07

- Linux build

Oui !
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Froggiest1982 on October 08, 2020, 04:56:40 AM
Progress update 2020-10-07

Version 112 is up.  It fixes a crash in new game creation (oops), and additionally:

- Linux build
- Fixed remaining situations in F3 window where damaged components weren't being considered
- Ship signature detection range circle in F3 window now uses the more complex calculation used by the detection code
- Right clicking a ship/class/fleet item in the Military tab on the F3 window opens the item in its corresponding window
- Production overview > Show Allies checkbox
- Removed the phrase "MR for Drones is 5 and cannot be increased" from Missile Design info tab
- detection of magazine explosions
- added custom generation rules to many of the commander name themes (3 names for Romans, etc)
- Intel Window > All Active Contacts for this Empire list
- Commercial Spaceports affect load/unload times
- Don't follow conditional order to absorb subfleets if parent fleet just divided
- discounts on required crew for very low planned deployment times
- and a few more minor additions and fixes.

These were all from a to-do list I've been adding to since the project started and mostly neglected until now (don't ask how many more items are on this list.) (on the bright side, many of the items on the list are obsolete, I just have to verify)  This list is quite a grind.  To change things up I generated a new game with 5 NPRs to see how long it would run.  It revealed a few minor things for me to fix, and made it to the 12th year before getting stuck in an infinite 5 second hell wherein NPRs were endlessly trying to use lasers on each other within a dense atmosphere.  I figured I'd get this build out before I work on fixing that.

Kyle, I know we have to be strictly close to cloning VB6, however, I wonder if you are considering to change the Geological Sensors to the military tech as they supposed to have been from start.
Title: Re: [q4x] Quasar4x - An Aurora4x clone in the works
Post by: Kyle on October 08, 2020, 06:02:26 PM
Progress update 2020-10-08

Build 113 is up, with the following changes:

- NPRs don't attempt to fire non-meson beam weapons in heavy atmosphere, which would shorten the increment time
- NPRs don't attempt to fire mesons at illegal targets such as ground units, which would shorten the increment time
- Don't consider a fleet to be within firing range (which would shorten the increment time) if current conditions prevent its weapons from firing
- Fixed an AI desired-distance-to-target calculation that caused this above scenario to happen in the first place
- Fixed a couple instances where subpulse times were shortened but not the increment times
- Fixed 2 crashes

I found the above issues by running a 5-NPR game for about 14 game years.  Since then I've run the game to 39 game years with no further issues other being a bit slow, which is to be expected because I've yet to do an optimization pass on the AI and pathfinding. 

Now that my NPR QA testers aren't finding any more crashes or obvious issues, I've cautiously removed the "early look" part of the title on this thread and upgraded the game's status from Prototype to In Development on Itch.  I've updated the top post in this thread with the current state of the game.  I do have a lot more things to review on my to-do list, but they are pretty obscure.  For example, the next one on my list is "make sure warp point links are reset if the SM deletes their linked systems."  So I believe I'm ready to start fielding bug reports if anyone is feeling brave enough, and I've created a new bug report thread for that purpose.

The reigning champion in that 5 NPR game, in terms of naval tonnage, are the Commonwealth of Aldertaine:

(https://i.imgur.com/xiQ1ZrE.png)

Off-Topic: aldertaine galactic map • show
(https://i.imgur.com/2L3vhYv.png)


They have lived a fairly peaceful life.  The most activity, which isn't much, is in Sapporo where they are monitoring the goings-on of other races on neutral terms, vaguely wondering why they're so interested in a nebula system 

(https://i.imgur.com/COrWxzO.png)

(Map is zoomed all the way out to get the text to line up nicely)  The Aldertaine look the most favorably upon the mysterious Sol Aliens encountered in the thirteenth year of history, who for some reason have not left the third planet in their system. 

(https://i.imgur.com/mbHYb55.png)

The Aldertaine greatly approve of these apparently AFK aliens staying put in their own home system.  Nevertheless, Popopoyotl and their crew dutifully keep an eye on these suspiciously idle beings.

The Empire of Mizunami cautiously approves of Aldertaine operations, allowing them trade access but little else:

(https://i.imgur.com/ftlqIqj.png)

Unfortunately the Aldertaine have not reciprocated any favor, as Mizunami have apparently lost all their shipyards.  Indeed, the Mizunami home system has been ravaged by unknown hostile beings:

(https://i.imgur.com/OLRSPz4.png)

This wasteland is surprisingly not due to the most xenophobic and warlike of the five empires, the Chippewacree:

(https://i.imgur.com/mMM6EyW.png)

They have been engaged in a decades long battle in the Aziz system:

(https://i.imgur.com/5jDiYsj.png)

With the abhorrent Abolhassan Aliens:

(https://i.imgur.com/cqA0ldB.png)

Who are in fact the Owl Clan and know this System as Smolensk

(https://i.imgur.com/yPj78r5.png)

Which happens to be next door to their home system, unfortunately for the xenophobic Chippees.

(https://i.imgur.com/vXxTxJq.png)

Off-Topic: chippewacree galaxy map • show
(https://i.imgur.com/4j7Uryo.png)

Off-Topic: tiryns galaxy map • show
(https://i.imgur.com/7mvWR7Q.png)

Off-Topic: mizunami galaxy map • show
(https://i.imgur.com/1QTUR7w.png)


(Large portions of this story were generated while I was mowing the lawn)


Kyle, I know we have to be strictly close to cloning VB6, however, I wonder if you are considering to change the Geological Sensors to the military tech as they supposed to have been from start.

I checked some old posts by Steve, and I'm deciding to stick with the one where he says Gravs are typically brought into unknown and possibly dangerous territory, whereas Geos are typically more for systems in your own, theoretically safe, domain.  In the future I'll probably ask for the citation ;) nevertheless it's easily moddable, in fact I wrote a mod that does just that and is included with the base game as a general modding example:

(https://i.imgur.com/apYVKZw.png)

It's disabled by default.  The advantage of this over a database mod is it can be mixed and matched with other database mods and added to databases with an existing game.  I plan to add more api calls, documentation, and examples soon.  It's pretty much next on my list when I'm not fixing issues, since it will lead naturally into the automation and modular AI I had planned.

Oh, and I did this awhile ago, I just keep forgetting to mention it:

(https://i.imgur.com/hA8QcRI.gif)

Theres also a setting you can turn on to enable zooming relative to the mouse cursor. 

That's all for now.  From here out I'm most likely going to start a new "patch notes" thread so be sure to check there for the smaller news tidbits.  Fixes, optimization, and mod-related things are on the short list, depending on which I feel like working on at the time! 
Title: Re: [q4x] Quasar4x - An Aurora4x clone in the works
Post by: joansam on October 08, 2020, 10:33:59 PM
Wow, big steps! Super exciting  ;D
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Agm-114 on October 10, 2020, 01:01:34 PM
Progress update 2020-10-07

Version 112 is up.  It fixes a crash in new game creation (oops), and additionally:

- Linux build
- Fixed remaining situations in F3 window where damaged components weren't being considered
- Ship signature detection range circle in F3 window now uses the more complex calculation used by the detection code
- Right clicking a ship/class/fleet item in the Military tab on the F3 window opens the item in its corresponding window
- Production overview > Show Allies checkbox
- Removed the phrase "MR for Drones is 5 and cannot be increased" from Missile Design info tab
- detection of magazine explosions
- added custom generation rules to many of the commander name themes (3 names for Romans, etc)
- Intel Window > All Active Contacts for this Empire list
- Commercial Spaceports affect load/unload times
- Don't follow conditional order to absorb subfleets if parent fleet just divided
- discounts on required crew for very low planned deployment times
- and a few more minor additions and fixes.

These were all from a to-do list I've been adding to since the project started and mostly neglected until now (don't ask how many more items are on this list.) (on the bright side, many of the items on the list are obsolete, I just have to verify)  This list is quite a grind.  To change things up I generated a new game with 5 NPRs to see how long it would run.  It revealed a few minor things for me to fix, and made it to the 12th year before getting stuck in an infinite 5 second hell wherein NPRs were endlessly trying to use lasers on each other within a dense atmosphere.  I figured I'd get this build out before I work on fixing that.

Kyle, I know we have to be strictly close to cloning VB6, however, I wonder if you are considering to change the Geological Sensors to the military tech as they supposed to have been from start.

This untrue, geo being a civilian component was intended behavior.

http://aurora2.pentarch.org/index.php?topic=1993.0

Having geo be commercial would significantly change the design space VS vb6 aurora.
And if Kyle starts changing behavior vs VB6 it'd open the door to other minor tweaks people would request.
Like if I asked for a conflicting change that both sensors be civ etc etc.

But all of that doesn't matter tbh, If Kyle has fixed the right bugs it should be possible to mod geo sensors to be military components and that provides a much better solution to this suggestion.
Title: Re: Quasar4x - An early look at an Aurora4x clone in the works
Post by: Froggiest1982 on October 10, 2020, 02:26:26 PM
Progress update 2020-10-07

Version 112 is up.  It fixes a crash in new game creation (oops), and additionally:

- Linux build
- Fixed remaining situations in F3 window where damaged components weren't being considered
- Ship signature detection range circle in F3 window now uses the more complex calculation used by the detection code
- Right clicking a ship/class/fleet item in the Military tab on the F3 window opens the item in its corresponding window
- Production overview > Show Allies checkbox
- Removed the phrase "MR for Drones is 5 and cannot be increased" from Missile Design info tab
- detection of magazine explosions
- added custom generation rules to many of the commander name themes (3 names for Romans, etc)
- Intel Window > All Active Contacts for this Empire list
- Commercial Spaceports affect load/unload times
- Don't follow conditional order to absorb subfleets if parent fleet just divided
- discounts on required crew for very low planned deployment times
- and a few more minor additions and fixes.

These were all from a to-do list I've been adding to since the project started and mostly neglected until now (don't ask how many more items are on this list.) (on the bright side, many of the items on the list are obsolete, I just have to verify)  This list is quite a grind.  To change things up I generated a new game with 5 NPRs to see how long it would run.  It revealed a few minor things for me to fix, and made it to the 12th year before getting stuck in an infinite 5 second hell wherein NPRs were endlessly trying to use lasers on each other within a dense atmosphere.  I figured I'd get this build out before I work on fixing that.

Kyle, I know we have to be strictly close to cloning VB6, however, I wonder if you are considering to change the Geological Sensors to the military tech as they supposed to have been from start.

This untrue, geo being a civilian component was intended behavior.

http://aurora2.pentarch.org/index.php?topic=1993.0

Having geo be commercial would significantly change the design space VS vb6 aurora.
And if Kyle starts changing behavior vs VB6 it'd open the door to other minor tweaks people would request.
Like if I asked for a conflicting change that both sensors be civ etc etc.

But all of that doesn't matter tbh, If Kyle has fixed the right bugs it should be possible to mod geo sensors to be military components and that provides a much better solution to this suggestion.

I agree, I dont want changes I just thought was a bug/mistake.

I remember when I first wtote the FAQ that I was pointed out that geo were civilian by mistake and so had to change the part relative to that. It wouldnt be the first time to find elements that contradict each other.

On the other hand, as you said, I think that Kyle sorted it out with style through this little mod.

Thanks!
Title: Re: Quasar4x - An Aurora4x clone in the works
Post by: Kyle on October 14, 2020, 02:18:21 PM
Progress update 2020-10-14

Build 114 is up.  This version features improved handling of ship deletion and ship transfers to other races. 

To test this update, I frankensteined a ship with a flag bridge and space for both fighters and troops.  This ship carried its commander, a geo team, a task force, passengers, troops and their commanders, and landed parasites.  One or more of the parasites were carrying their own commanders, another team, more passengers, more troops and their commanders, and another task force.  I then had another race send troops and their commanders to the ship and begin boarding operations.  I also made a copy of this scenario that was a PDC.  I proceeded to test some of the major functions on these ships:  Delete Ship, Abandon Ship, Destroy Ship, Transfer Ship, and Transfer Ship with Commanders.  I made sure that every combination of actions had a well-defined outcome and didn't leave any people or ships in limbo afterwards.  Here is the result.


(https://i.imgur.com/BDj5QUw.png)


Everything on this list was tested and confirmed.  Note that some of the columns actually represent multiple possible scenarios.  'Delete' occurs when Delete Ship is pressed in the UI, or civilians scrap an old ship. It also occurs when a player's Scrap Ship task completes, except any landed parasites are launched first before deletion.  'Abandon' occurs when Abandon Ship is pressed in the UI.  'Destroy,' the most common, occurs when the player presses Destroy Ship in the UI, and in all other natural instances of a ship being blown up.  'Transfer' occurs when the player presses Transfer Ship to Alien Race in the UI with Include Commanders unchecked, a ship is captured by boarding action, or a PDC is captured by ground combat.  'Transfer with Commanders' occurs in the UI, or when a ship surrenders due to its orbited population being conquered or its empire wiped out.

Not everything in this chart perfectly matches VB6's behavior.  VB6 doesn't have a well-defined outcome for some of the combinations.  I try to match it as close as I reasonably can, using my own opinion of what the most logical outcome should be where necessary.  I stop short at adding too much complexity to the code in some situations, with aliens on board for example.  There are a couple places where I diverge from VB6 behavior:

- There is no escaping to lifepods when a PDC is destroyed, the commanders instead escape to the friendly population hosting the PDC.  From a role-playing perspective, it just doesn't make sense that commanders would launch themselves into space in a lifepod when they could just hoof it out the back door. 

- Pressing Abandon Ship no longer deletes the ship.  This adds new story possibilities.  You can immediately press Delete Ship afterwards to achieve VB6's original effect. 

- My choice to use the 'Transfer with Commanders' set of rules for ship surrender, and not for ship capture, is somewhat arbitrary.  I transfer with commanders on surrender mainly because I can.  I use the vanilla 'Transfer' set of rules for ship capture mainly because in VB6 (and Q4X), captured commanders are deleted in exchange for espionage points, and it gets kind of muddy story-wise to mix deleting stuff with capturing stuff.  It's really easy to switch between 'with/without' commanders in the future though.  It's just a true/false flag.

Here are some of the highlights from the rest of the changes made in version 114:

- implemented F3 window > Civilian Transponder Status
- F3 window: show age in minutes of lost contacts
- Fixed shield detection
- cancel pdc refit job if pdc is deleted, destroyed, or transferred while being refit
- Fixed 3 crashes
- force amount to 1 when PDC refit projects are created
- prevent modification of amount remaining on existing PDC refit projects
- log a message when atmosphere has just become breathable due to terraforming
- Fixed a few issues where NPRs were running out of fuel when they weren't supposed to
- Fixed an issue that caused NPRs to spawn with 0 naval academies
- F2 window: show foreign aid sent and received in the Wealth/Trade tab
- if 'remove race' is clicked in the Intel window, cancel any foreign aid to that race
- system danger rating decay
- Fleet Orders window: double click items in the 'select GU/Team/Commander/etc..' list to add moves.  GU/Team/Commander items are removed from the list after the move is added
- F2 window: Fixed bug where Ground Units engaged in boarding attacks weren't showing on the Ground Units list. 
- If hangar space is destroyed such that there is no longer room for the existing landed parasites, randomly chosen excess parasites are destroyed.  I don't believe VB6 does this, but it mirrors the spirit of how excess troops are lost when troop transport components are destroyed

Many more minor fixes done as well.  That's all for now.  My list of concerns to review continues to shrink; it's at about a quarter of its record size right now.  (And my confidence in Quasar's stability continues to grow!)  When there's nothing left I want to address right away, it's back to the campaign!

Title: Re: [q4x] Quasar4x - An Aurora4x clone in the works
Post by: Kyle on October 16, 2020, 12:42:44 PM
Progress update 2020-10-16

Build 115 is up.

- Fixed bug where admin rating (or max labs) was never increasing through experience. oops.
- Fleets set to sync fire will not try to sync missile weapons with beam weapons.  Experimental change that is easy to undo.
- Recalculate surface temperature after bombardment raises the dust level
- Combat Overview: Targeted By TG/Targeted By Empire checkboxes support waypoint targets
- Commanders on diplo team have a chance to gain diplomacy experience regardless of whether they are assigned to an alien.
- Don't convert trade infra to real infra on low-gravity pops
- Don't convert trade infra to real infra on normal-gravity pops that are being sustained by underground infra
- Implemented Ancient Artifacts
- Default hull icon for races is randomly selected from ships dir rather than hardcoded
- And quite a few other fixes and corrections.

My things-to-check backlog is now sitting at 10 items, down from 409 items on Oct 1!

I've now dealt with most of the concerns I've run across over the course of this project, as well as the issues my NPRs have found.  My roadmap right now is pretty open ended.  I'm going to try to finally commit to playing a long-term campaign on quasar for the first time ever. I won't be doing an AAR, but I'll post updates on it if there's anything interesting worth posting about it.  In parallel, I'll be working on more fixes, another optimization pass, and modding related things -- examples, tutorials, automation/ai, more function calls, and maybe some experimental mods for fun. 

Title: Re: [q4x] Quasar4x - An Aurora4x clone in the works
Post by: Droll on October 16, 2020, 12:44:30 PM
Progress update 2020-10-16

Build 115 is up.

- Fixed bug where admin rating (or max labs) was never increasing through experience. oops.
- Fleets set to sync fire will not try to sync missile weapons with beam weapons.  Experimental change that is easy to undo.
- Recalculate surface temperature after bombardment raises the dust level
- Combat Overview: Targeted By TG/Targeted By Empire checkboxes support waypoint targets
- Commanders on diplo team have a chance to gain diplomacy experience regardless of whether they are assigned to an alien.
- Don't convert trade infra to real infra on low-gravity pops
- Don't convert trade infra to real infra on normal-gravity pops that are being sustained by underground infra
- Implemented Ancient Artifacts
- Default hull icon for races is randomly selected from ships dir rather than hardcoded
- And quite a few other fixes and corrections.

My things-to-check backlog is now sitting at 10 items, down from 409 items on Oct 1!

I've now dealt with most of the concerns I've run across over the course of this project, as well as the issues my NPRs have found.  My roadmap right now is pretty open ended.  I'm going to try to finally commit to playing a long-term campaign on quasar for the first time ever. I won't be doing an AAR, but I'll post updates on it if there's anything interesting worth posting about it.  In parallel, I'll be working on more fixes, another optimization pass, and modding related things -- examples, tutorials, automation/ai, more function calls, and maybe some experimental mods for fun.

how robust will the modding infrasture be? Would I for example be able to mod in a recreation of C# ground combat into Quasar?
Title: Re: [q4x] Quasar4x - An Aurora4x clone in the works
Post by: Migi on October 19, 2020, 04:17:47 PM
Just thought I'd ask seeing as you're getting to a more complete status, what plans do you have for making Quasar usable on smaller monitors?
Title: Re: [q4x] Quasar4x - An Aurora4x clone in the works
Post by: Kyle on October 21, 2020, 06:37:46 PM
Progress update 2020-10-21:

Just a quick update to let people know I've started a patch notes thread here http://aurora2.pentarch.org/index.php?topic=11974.00 (http://aurora2.pentarch.org/index.php?topic=11974.00) so check that out if you're interested in keeping up with the patch releases.  The main thread here will not be updated as often since the feature blitz is complete (for now) and I'm just focusing on fixing and polishing. 


how robust will the modding infrasture be? Would I for example be able to mod in a recreation of C# ground combat into Quasar?

A few pages back there are screenshots and details about how the modding infrastructure works.  It might be technically possible since mods consist of code that is executed by Quasar, and they have access to the same database and memory that Quasar itself uses.  That said, I won't be going out of my way to support such a complicated mod and will be telling people I prefer they just play Aurora C# if they are interested in that kind of ground combat or any of its other features.


Just thought I'd ask seeing as you're getting to a more complete status, what plans do you have for making Quasar usable on smaller monitors?

It's on my list to experiment with at some point, but I won't be redesigning any layouts.  It would just be a post-processing visual effect that scales the whole display down.  It might render some things illegible and wind up getting scrapped in the end.  Given that every device in my house, even the phones, are 1080p or higher, I honestly don't have much interest in this feature. 

--

Anyway, don't forget to check the patch notes thread if you're interested in seeing what's being fixed or improved.  There have already been a few updates.  My personal favorite is a major optimization I did in the F9 System View window.  I rewrote the system body list in C++, and that reduced the loading time of the default Sol system on my computer from 786 ms -> 50 ms!  That was quite satisfying to accomplish.

Title: Re: [q4x] Quasar4x - An Aurora4x clone in the works
Post by: Migi on October 22, 2020, 12:52:40 PM

It's on my list to experiment with at some point, but I won't be redesigning any layouts.  It would just be a post-processing visual effect that scales the whole display down.  It might render some things illegible and wind up getting scrapped in the end.  Given that every device in my house, even the phones, are 1080p or higher, I honestly don't have much interest in this feature. 


I don't think Steve has any interest in supporting low resolutions but it's probably the most commonly asked question for Aurora.  ::)
At the moment on my 1400x900 monitor I can't get everything visible at once, so I need to drag things around to see what I want, then drag them again to make the close button visible.

Nice to know that you have an idea which sounds reasonable and is resolution independent, I'll be interested to see it in practice.

Will modding allow changes to the interface or is it limited to behaviour changes for the AI (which I think is what you've covered in previous posts)?
Title: Re: [q4x] Quasar4x - An Aurora4x clone in the works
Post by: Kyle on October 22, 2020, 06:03:48 PM
Progress update 2020-10-22

Small resolutions are now supported* :D

Here's how it will look in fullscreen mode on a 1366 x 768:


(https://i.imgur.com/1deXeDB.png)





The downscaling mode can be enabled in the racial settings window:


(https://i.imgur.com/8lzNzdj.gif)


It dynamically shrinks to fit any particular resolution below 1080p:

Off-Topic: gigantic gif • show
(https://i.imgur.com/qgYtVEV.gif)

Coming soon: Quasar for the Apple Watch and Gameboy Advance (april fools)


*Since the downscaling is done to the screen as a whole, visual defects do appear, particularly in 1-pixel-wide lines.  I will not be doing any further work on low-resolution support, but it is possible to modify the UI via modding.  The example mod included with the game shows how to change the size, appearance, and layout of the controls in the UI:

(https://i.imgur.com/2zMBgG5.gif)

More info on the modding system can be found in a previous post in this thread (http://aurora2.pentarch.org/index.php?topic=10149.msg123468#msg123468)
Title: Re: [q4x] Quasar4x - An Aurora4x clone in the works
Post by: xenoscepter on October 23, 2020, 06:55:19 PM
 - frakk that's crisp 8).
Title: Re: [q4x] Quasar4x - An Aurora4x clone in the works
Post by: Droll on October 23, 2020, 10:04:46 PM
how robust will the modding infrasture be? Would I for example be able to mod in a recreation of C# ground combat into Quasar?
A few pages back there are screenshots and details about how the modding infrastructure works.  It might be technically possible since mods consist of code that is executed by Quasar, and they have access to the same database and memory that Quasar itself uses.  That said, I won't be going out of my way to support such a complicated mod and will be telling people I prefer they just play Aurora C# if they are interested in that kind of ground combat or any of its other features.

Honestly I don't think it would be reasonable to expect you to try to support mod that is so out of scope with the project. I asked because I really love the UI color that quasar has, + the fact that you are using C++ probably means its going to be more optimized than aurora.

Since quasar is a spin-off I have to ask - Is it open source and if it isn't, does it also have code obfuscation built in? Will the only points of access be through the API calls that you have implemented?
Title: Re: [q4x] Quasar4x - An Aurora4x clone in the works
Post by: xenoscepter on October 24, 2020, 07:06:13 AM
 - Where can I get my hands on a copy of this?
Title: Re: [q4x] Quasar4x - An Aurora4x clone in the works
Post by: Froggiest1982 on October 24, 2020, 02:44:33 PM
- Where can I get my hands on a copy of this?

https://ozer0.itch.io/quasar4x
Title: Re: [q4x] Quasar4x - An Aurora4x clone in the works
Post by: Kyle on October 26, 2020, 09:01:02 AM
Progress Update 2020-10-26:

Version 122 is up.  This build contains some brand new QoL features from C# Aurora, including prototypes (!), plus a solution of my own for missile engine design struggles! (More on that later).  These are all C# features I found myself missing as I play through my humble conventional-start campaign in Quasar.  First off, you can now optionally specify a capacity target after which a shipyard will stop its continual capacity expansion:



(https://i.imgur.com/t5tAnBn.png)


The build cost, completion date, and Required Materials are updated based on your desired target when you press enter or click outside of the text input box.




Next up, you can now change a scientist's research specialty at a cost, as in C# Aurora:


(https://i.imgur.com/nCPm14K.png)





Quasar4x now has C#'s prototyping mechanics!  That gap to the right of the Suggest Name button was the perfect spot for the new Prototype button.  Additionally, I've added C#'s Show Next Tech checkbox.


(https://i.imgur.com/tHxxYDp.png)




C#'s Show Prototypes checkbox and Research Proto button have been added to the Class Design window:


(https://i.imgur.com/K9Jb1En.png)




Turrets can be prototyped as well, and they can also be based off of prototype beam weapons.   Prototype missile engines can be selected in the Missile Design window as well. 

That makes missile design a little less of a pain, but it gets better.  I have added a new option to the Engine Type dropdown list labelled < Current engine in the Create Research Project window >.


(https://i.imgur.com/ZwcGBQX.png)



While this option is selected, you can make changes in the Missile Engine category on the Create Research Project window and those changes will update the Missile Design window in real time! 



(https://i.imgur.com/YkhoKHX.gif)



In the code I'm calling this feature Live Prototyping.  This feature lets you work on all of the parameters of a missile simultaneously, viewing results in realtime, while staying faithful to VB6's missile design rules and UI.  Neat, huh? :)


That's all for now.  Looks like I have some bug reports to look at then it's back to my campaign!
Title: Re: [q4x] Quasar4x - An Aurora4x clone in the works
Post by: Warer on October 26, 2020, 11:34:02 AM
I feel in love at first sight.
Title: Re: [q4x] Quasar4x - An Aurora4x clone in the works
Post by: joansam on October 26, 2020, 01:41:21 PM
Beautiful, phenomenal addition Kyle! I’ve been holding off on playing a campaign because you warned us about bugginess, but I think we’re in full game mode now! Going to boot one up and see what I can see  :o
Title: Re: [q4x] Quasar4x - An Aurora4x clone in the works
Post by: Droll on October 26, 2020, 03:21:32 PM
I'm not sure if I said this before but I am a big fan of the UI colors that you've gone with. Easy on the eyes and looks quite sleek.
Title: Re: [q4x] Quasar4x - An Aurora4x clone in the works
Post by: amram on October 26, 2020, 11:42:05 PM
That is a damned slick way to handle missile prototyping, and it just feels like its the natural next step in prototyping.

A smallish request if I could, bring that to ships as well? 

Possibly best handled by being able to "reopen" or "edit" prototypes?  So you could design the ship with prototypes, and simply resume editing a prototype if you need to make changes rather than redo it for each iteration, and see the effect on the ship design as you edit the part.
Title: Re: [q4x] Quasar4x - An Aurora4x clone in the works
Post by: Kyle on October 30, 2020, 04:27:12 AM
Progress update 2020-10-30

Version 128 is up.  This build brings in some of the features that were planned for 7.2 and later included in C#.

- Maintenance Storage Bays are now classed as Commercial components
- The cost of beam fire controls has been reduced by a third
- Colonist capacity of Orbital Habitat Modules has been increased from 50k to 200k
- Added Structural Shells and the associated No Armor checkbox to Class Design
- Civilian shipping lines will tend to build a more equal distribution of freighters and colony ships

At this time, I don't have plans to include any more of the features that were planned for 7.2. 

My campaign progresses.  I've discovered an amazing colony cost 0 world in Alpha Centauri, which is one jump away from Sol, and my first discovery of alien ruins in another system.  No sign of aliens thus far, although I know they're out there.  Fixing and polishing continues, although I keep running out of bug reports to work on so progress is slow.  I seem to have overestimated how many bug reports I'd get!  More playtesters would certainly be welcome :)
Title: Re: [q4x] Quasar4x - An Aurora4x clone in the works
Post by: Droll on October 30, 2020, 03:24:08 PM
Progress update 2020-10-30

Version 128 is up.  This build brings in some of the features that were planned for 7.2 and later included in C#.

- Maintenance Storage Bays are now classed as Commercial components
- The cost of beam fire controls has been reduced by a third
- Colonist capacity of Orbital Habitat Modules has been increased from 50k to 200k
- Added Structural Shells and the associated No Armor checkbox to Class Design
- Civilian shipping lines will tend to build a more equal distribution of freighters and colony ships

At this time, I don't have plans to include any more of the features that were planned for 7.2. 

My campaign progresses.  I've discovered an amazing colony cost 0 world in Alpha Centauri, which is one jump away from Sol, and my first discovery of alien ruins in another system.  No sign of aliens thus far, although I know they're out there.  Fixing and polishing continues, although I keep running out of bug reports to work on so progress is slow.  I seem to have overestimated how many bug reports I'd get!  More playtesters would certainly be welcome :)

My issue right now is that I'm in a 1.12 game right now and thanks to uni I don't have the time required to get into some of the modding stuff I want to try with quasar. Rest assured I'm paying very close attention to the great progress that you've made.

As an aside - where is the list of changes that were intended for 7.2?
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: icekiss on October 31, 2020, 09:05:56 AM
I'm playing around with prototypes (I was really looking forward to this, thank you a lot!!), and I've got a question:

How do you convert a prototype component into a research project?

If the only current way is to recreate it with the same settings as a research project, and then changing the design from using the prototype to using the new component, and then obsoleting the prototype.   .   .   
Then I would humbly suggest offering up all prototypes for which you know all technologies (either checkbox "next technology" unused, or technologies researched after making the prototype) as research options.     
And once you research it, the part gets converted from a prototype (P) to a regular part.     And once that is done for every part, a shipyard can be retooled to build the class.     
That would massively streamline the process of designing a ship, as I understand things.       :)

Another (completely different) thing I noticed: Even when just showing a static screen, Quasar is still using 3/4 of a cpu core.   Are you maybe running a game loop at full speed somewhere? Especially when running on laptop battery, this is pretty wasteful.    ::)
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on October 31, 2020, 12:50:18 PM
I'm playing around with prototypes (I was really looking forward to this, thank you a lot!!), and I've got a question:

How do you convert a prototype component into a research project?

If the only current way is to recreate it with the same settings as a research project, and then changing the design from using the prototype to using the new component, and then obsoleting the prototype.   .   .   
Then I would humbly suggest offering up all prototypes for which you know all technologies (either checkbox "next technology" unused, or technologies researched after making the prototype) as research options.     
And once you research it, the part gets converted from a prototype (P) to a regular part.     And once that is done for every part, a shipyard can be retooled to build the class.     
That would massively streamline the process of designing a ship, as I understand things.       :)

It's the same as in C#: You select the component in the Class Design window (specifically in the Available Components table in the tab named 'Design') and click Research Proto.  The tag will change from (P) to (RP) indicating that it will now appear in your research projects list.

Another (completely different) thing I noticed: Even when just showing a static screen, Quasar is still using 3/4 of a cpu core.   Are you maybe running a game loop at full speed somewhere? Especially when running on laptop battery, this is pretty wasteful.    ::)

Turns out Godot does have a Low Processor Usage mode that seems to be somewhat effective during idle moments.  I've added a checkbox in Main Menu > Quasar4x > Settings to enable this mode.  Just pushed version 131 which contains this change.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: icekiss on October 31, 2020, 02:45:16 PM
Quote from: Kyle link=topic=10149.  msg142476#msg142476 date=1604166618
It's the same as in C#: You select the component in the Class Design window (specifically in the Available Components table in the tab named 'Design') and click Research Proto.  The tag will change from (P) to (RP) indicating that it will now appear in your research projects list.
Thanks a bunch.  I never played the C# version, so didn't know to look for it there.  I would probably only have found it there by pure chance.
While having it just be researchable by default would be simpler, this works perfectly fine (and keeps the research list clutter free, so I can see the point of the 2 step process).  Thank you for the quick answer!  :)

Quote from: Kyle link=topic=10149.   msg142476#msg142476 date=1604166618
Turns out Godot does have a Low Processor Usage mode that seems to be somewhat effective during idle moments.  I've added a checkbox in Main Menu > Quasar4x > Settings to enable this mode.  Just pushed version 131 which contains this change.
Downloaded and tested: A huge improvement! With that checkbox marked, utilization of the cpu core while the game is idle dropped (roughly) from 75% to 7%, so the game now only uses 10% of the energy it did before.
Thanks a bunch, this should let me play away from power for at least twice as long.  :) *thumbsup*

Edit: The energy consumption of my laptop dropped from roughly 35 Watt to 8 Watts, so actually I'll be able to play it for 4 times as long (and that is including power draw from the display and so on)!  ;D

PS: But why the heck does the forum post editor insist on adding a space after each dot? Worst of all, they accumulate each time I edit the post, and there is no way to put dots without a space behind them. . . 
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Garfunkel on October 31, 2020, 08:38:17 PM
It's an anti-spam feature to avoid you circumventing the URL block

It'll go away once you have 10 posts.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on February 17, 2021, 12:49:13 AM
Quasar 4x has gone into C#-sleep?  ;D
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: tws029 on February 18, 2021, 08:48:21 PM
Have a look at the first message in this thread.   The game is basically finished except for swarms and invaders.   Kyle indicated they are going to take a little time.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on February 19, 2021, 12:28:09 AM
Ah, missed, that he edited the first message. Thanks.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on February 28, 2021, 06:47:31 AM
Progress update 2021-02-28:

Sorry about the long delay.  It will probably be awhile before my next post after this one as well.  I took a bit of a break, but I've been back to working on the game for the past 40 days or so now.  The main reason for not posting is I'm in a very experimental mode with the game.  I've been hard at work on scriptable AI for player races and have a solid framework in place.  I borrow heavily from NPR logic, and have filled in many of the gaps where the NPR's just cheat.  I just reached the point where I need to start writing some AI for ship towing (which NPR's dont need).

However, scriptable AI is now on the backburner.  It's making the development process slow and tedious, and it winds up being slow because a lot of optimization strategies aren't possible.  There's one more big problem: One motivation for 100% Automation is the possibilities it opens up for multiplayer, wherein a player could theoretically log off for the night and their empire would be auto-managed for them until they returned.  But quasar's current user-editable AI scripts update the database directly, and could easily be changed by a player to cheat or even wipe the DB, so it's completely useless for any multiplayer experiments.  I would need to rework them so that only "legal" updates are possible.

Thus, I've realized I need to switch gears.  Rather than continue with the 100% automation project, I'm going to start adding new Default Orders, Conditional Orders, and possibly improving Order Templates as well.  Once these improved fleet management tools are in place, I'll update the Automation scripts to use these tools rather than micromanage everything on their own.

This will be a significant deviation from any flavor of Aurora, probably the first of many.  To keep Aurora faithfulness alive, I've added a Classic Mode checkbox to the existing Quasar settings window. In Classic Mode, Quasar will look like it does today -- very close to VB6, with the addition of cherry picked C# features such as Prototypes.  In Modern Mode (box unchecked), all my new buttons, UI windows, default orders, etc will be visible.  The checkbox shows and hides these new UI elements in real time.  This gives me a lot of freedom to experiment and add new features in my quest to reduce micromanagement and improve QoL.

Again, I'm still in a very experimental stage, and will be for a long while.  This has been a snapshot of where I am right now, things could always change.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: iceball3 on February 28, 2021, 11:37:27 PM
Progress update 2021-02-28:

Sorry about the long delay.  It will probably be awhile before my next post after this one as well.  I took a bit of a break, but I've been back to working on the game for the past 40 days or so now.  The main reason for not posting is I'm in a very experimental mode with the game.  I've been hard at work on scriptable AI for player races and have a solid framework in place.  I borrow heavily from NPR logic, and have filled in many of the gaps where the NPR's just cheat.  I just reached the point where I need to start writing some AI for ship towing (which NPR's dont need).

However, scriptable AI is now on the backburner.  It's making the development process slow and tedious, and it winds up being slow because a lot of optimization strategies aren't possible.  There's one more big problem: One motivation for 100% Automation is the possibilities it opens up for multiplayer, wherein a player could theoretically log off for the night and their empire would be auto-managed for them until they returned.  But quasar's current user-editable AI scripts update the database directly, and could easily be changed by a player to cheat or even wipe the DB, so it's completely useless for any multiplayer experiments.  I would need to rework them so that only "legal" updates are possible.

Thus, I've realized I need to switch gears.  Rather than continue with the 100% automation project, I'm going to start adding new Default Orders, Conditional Orders, and possibly improving Order Templates as well.  Once these improved fleet management tools are in place, I'll update the Automation scripts to use these tools rather than micromanage everything on their own.

This will be a significant deviation from any flavor of Aurora, probably the first of many.  To keep Aurora faithfulness alive, I've added a Classic Mode checkbox to the existing Quasar settings window. In Classic Mode, Quasar will look like it does today -- very close to VB6, with the addition of cherry picked C# features such as Prototypes.  In Modern Mode (box unchecked), all my new buttons, UI windows, default orders, etc will be visible.  The checkbox shows and hides these new UI elements in real time.  This gives me a lot of freedom to experiment and add new features in my quest to reduce micromanagement and improve QoL.

Again, I'm still in a very experimental stage, and will be for a long while.  This has been a snapshot of where I am right now, things could always change.
Hype! Thanks for the status report.
Are star swarms and extra galactic invaders still tucked behind the AI framework, or are you considering getting them in beforehand to get the game to it's VB6 esque state before then?

Another question: are precursors and xenoarchaeology implemented yet? The OP doesn't mention that they aren't, but load save screen and new save screen seems to indicate they're not implemented yet in the mouseover text, and i was wondering if it was still the case.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on February 28, 2021, 11:52:59 PM
Are you open for new ideas for automation etc.? Especially the automation part of Aurora could use a nice rework... .
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on March 01, 2021, 01:55:46 AM
A brief update to my post above, I'm still very much in a crossroads with my plans -- that's one of the reasons I took a break to pop back into the forum after so long.  To that end, I'm modifying my plans from "Rather than continue with the 100% automation project" to "In parallel with the 100% automation project." No particular reason, other than I'm feeling more optimistic today :)

Are you open for new ideas for automation etc.? Especially the automation part of Aurora could use a nice rework... .

As long as you understand none of the ideas are guaranteed to make it in, you're welcome to post your ideas.. just please do it in a separate thread :)

Hype! Thanks for the status report.
Are star swarms and extra galactic invaders still tucked behind the AI framework, or are you considering getting them in beforehand to get the game to it's VB6 esque state before then?

Swarm and Invaders are still way down on my list, mainly because I haven't even gotten a chance to properly engage a normal NPR or precursor yet.  None of my "real" campaigns have gotten that far.  In my most recent "real" campaign, I ran into a serious bug (now fixed) that made it necessary to start over from the beginning, and at that point I wanted to start working on automation goodies rather than play the early game all over again.  Once NPR's and precursors become old news for me, that's when I'll add swarm/invaders.

Another question: are precursors and xenoarchaeology implemented yet? The OP doesn't mention that they aren't, but load save screen and new save screen seems to indicate they're not implemented yet in the mouseover text, and i was wondering if it was still the case.

Precursors and xenoarchaeology are both in the game, yes.  I'll update the mouseover text.

Thanks for your interest :)
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on March 01, 2021, 06:46:56 AM
I've just seen that there is an older version of Q4x for Mac. Any plans to keep that updated? Would love to play it on Mac...
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on March 01, 2021, 07:45:52 AM
I've just seen that there is an older version of Q4x for Mac. Any plans to keep that updated? Would love to play it on Mac...

Unfortunately a portion of the game is written in C++ so I need a Mac to compile that part.  The iMac I had died awhile ago, so I currently have no easy way to do that.  I use Oracle's VirtualBox (https://www.virtualbox.org/) VM to compile for Linux but obviously a Mac image is going to be copyrighted.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: StarshipCactus on March 01, 2021, 07:33:23 PM
Maybe somebody could lend you their mac to compile?
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Artyom on March 08, 2021, 01:24:10 PM
Hi!

It seems that the version available on https://ozer0. itch. io/quasar4x is dated from Nov 15, 2020.
Is this information correct?
If yes, is there a newer version available?

Thanks!
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Tchey on April 29, 2021, 03:52:55 PM
Hello,

It seems november 2020 was the last update, is this project "done", or slow, or lost in void, or something ?

Thanks
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: obsidian_green on July 05, 2021, 10:50:45 PM
I've been waiting for the inclusion of Star Swarms before I try Quasar. I'm sure I'll do some fiction if I play and I wanted that guaranteed aggression as a reason to start building real warships. Is implementing Star Swarm still planned?
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on July 16, 2021, 03:40:06 PM
Progress Update 2021-07-16:

I've been working on q4x off and on for the last few months.  I'm a week or so away from finally releasing a new patch.  Since it's been awhile, this new patch will include a new database incompatible with previous saves.  This lets me clean out all the old version migration code and start fresh.  Thus, future patches will be compatible.

My release post will contain a full list of changes, but generally focus has been on fixes, QoL, and new nice-to-have features that don't change any core mechanics or balance.  Automation features are still experimental and will be disabled by default.

I've been waiting for the inclusion of Star Swarms before I try Quasar. I'm sure I'll do some fiction if I play and I wanted that guaranteed aggression as a reason to start building real warships. Is implementing Star Swarm still planned?

I do plan to include Star Swarm in a future patch.  Given that someone has shown interest, I'll bump up the priority.  Although I will mention, since your interest is in guaranteed aggression, one of the new features in the next patch is another feature that was planned for VB6 7.2, the ability to set minimum and maximum distance of starting NPRs from Sol. 
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Stormtrooper on July 16, 2021, 05:13:10 PM
Yeah, star swarm, something I wanted to see badly but so far my two camapaigns, one in 1.12 and one in 1.13 were bugged and refused to spawn it no matter how hard I tried.

Also I'm not sure, but I believe you can't use sm to add buildings or change atmosphere, also hydrosphere is irrelevant for colonisation cost. I wanted to do an AAR which requires careful Earth setup and wanted to give quasar a go instead of waiting for the next aurora version (because clean spreadsheet ui is superior to the c# mess that comes without even table lines separating entires in windows), but water being important + free modification of environment + buildings of a planet without having to edit db or something are neccessary for me to do what I would like to do.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Warer on July 17, 2021, 06:40:54 AM
Progress Update 2021-07-16:

I've been working on q4x off and on for the last few months.  I'm a week or so away from finally releasing a new patch.  Since it's been awhile, this new patch will include a new database incompatible with previous saves.  This lets me clean out all the old version migration code and start fresh.  Thus, future patches will be compatible.

My release post will contain a full list of changes, but generally focus has been on fixes, QoL, and new nice-to-have features that don't change any core mechanics or balance.  Automation features are still experimental and will be disabled by default.

I've been waiting for the inclusion of Star Swarms before I try Quasar. I'm sure I'll do some fiction if I play and I wanted that guaranteed aggression as a reason to start building real warships. Is implementing Star Swarm still planned?

I do plan to include Star Swarm in a future patch.  Given that someone has shown interest, I'll bump up the priority.  Although I will mention, since your interest is in guaranteed aggression, one of the new features in the next patch is another feature that was planned for VB6 7.2, the ability to set minimum and maximum distance of starting NPRs from Sol.
Hell yeah can`t wait~ though i got to ask if it`s possible to do DB edit games like in Aurora and is so how?
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Stormtrooper on July 17, 2021, 07:38:52 AM
Ok, I just checked, it's just vb6 being vastly different in terms of ui and where is what (seriously, turns out c# sm is way more intuitive in terms of what is where) and I can both edit earth's atmosphere and buldings. But I added some water vapour, waited roughly two years and not a mililiter of it would condense on the surface + it's irrelevant for colonisation, or at least was in vb6 so I guess here it's the same.

Also, while I'm at it, before I forget: please, please let us turn off display of number of planets with cost 2 or lower at a galactic map - shouldn't be tough or time consuming to implement I suppose and it's really small change, but it's my pet hate with galactic map - I want to see "clear stars", without these blue dots and numbers on them.

I also have a question: are black holes and nebulae a thing?

Quote
if it`s possible to do DB edit games like in Aurora and is so how?

Of course it is possible and I have no idea how to modify planet and what's on it via db because I never tired, but I suppose aurora db should have some tables with planets or colonies that store the env and installation data somewhere and once those are found modifying it should be straightforward, I think.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Warer on July 17, 2021, 09:36:32 AM
Ok, I just checked, it's just vb6 being vastly different in terms of ui and where is what (seriously, turns out c# sm is way more intuitive in terms of what is where) and I can both edit earth's atmosphere and buldings. But I added some water vapour, waited roughly two years and not a mililiter of it would condense on the surface + it's irrelevant for colonisation, or at least was in vb6 so I guess here it's the same.

Also, while I'm at it, before I forget: please, please let us turn off display of number of planets with cost 2 or lower at a galactic map - shouldn't be tough or time consuming to implement I suppose and it's really small change, but it's my pet hate with galactic map - I want to see "clear stars", without these blue dots and numbers on them.

I also have a question: are black holes and nebulae a thing?

Quote
if it`s possible to do DB edit games like in Aurora and is so how?

Of course it is possible and I have no idea how to modify planet and what's on it via db because I never tired, but I suppose aurora db should have some tables with planets or colonies that store the env and installation data somewhere and once those are found modifying it should be straightforward, I think.
I ask if so because i recall trying recently and the edited components not changing, though that could just be me misremembering Im pretty sure that`s what occured.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on July 19, 2021, 07:43:56 PM
Progress Update 2021-07-19:

I've been inspired to finally work on Star Swarm.  Just finished the generation and spawning portions.  The test campaign I was planning is thus delayed, but at least it will be that much more interesting!

Yeah, star swarm, something I wanted to see badly but so far my two camapaigns, one in 1.12 and one in 1.13 were bugged and refused to spawn it no matter how hard I tried.

In VB6, getting the initial spawn for swarm is pretty rare, especially if you have NPR's dont generate spoilers.  It can be like 30-40 systems generated before they show up.

also hydrosphere is irrelevant for colonisation cost

In VB6 Hydrosphere affects albedo which in turn affects surface temperature, a factor in colonization cost.  Granted, world sim can always be more in depth but I want to stay in line with VB6's balancing.

Hell yeah can`t wait~ though i got to ask if it`s possible to do DB edit games like in Aurora and is so how?

Yeah.  It's an sqlite database.  https://sqlitebrowser.org/ (https://sqlitebrowser.org/) is what I use.  Obviously I cant support any bugs you run into if you've made modifications. 

I also have a question: are black holes and nebulae a thing?

There are no black holes in Q4X.  No plans to add them.  I have never seen a black hole in VB6 and I think it may be a feature that was discarded.

Nebulae are fully implemented, yes. 



Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Froggiest1982 on July 19, 2021, 08:38:28 PM
I also have a question: are black holes and nebulae a thing?
There are no black holes in Q4X.  No plans to add them.  I have never seen a black hole in VB6 and I think it may be a feature that was discarded.
Nebulae are fully implemented, yes.

There are Black Holes in VB6:

http://aurora2.pentarch.org/index.php?topic=3372.msg36620#msg36620

but they were removed from the real stars data (by mistake?) and reintroduced later

http://aurora2.pentarch.org/index.php?topic=6532.msg68150#msg68150.

Not that you have to add them, I am just saying that eventually, it would be a missing feature.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Stormtrooper on July 20, 2021, 03:07:46 AM
From what I've heard, yeah, black holes were a thing in vb6, just not in real stars (makes sense because the closest blackhole is way further than the farthest from the stars aurora uses), but in random stars they were a thing. And I want to see them badly, it still hurts me they're not in c# despite the initial release being more than one year ago.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Agm-114 on July 20, 2021, 02:11:17 PM
I've been primarily using quasar for DB modding and it works great.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Droll on July 20, 2021, 06:08:10 PM
I've been primarily using quasar for DB modding and it works great.

What kind of things have you been doing with the DB?
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on July 27, 2021, 07:04:55 PM
Progress Update 2021-07-27:

The next version is finally here.  Over the past months when I haven't been taking time off from the project I've been doing a lot of experimental stuff with automation -- which still isn't in a useful state.  But, I've added a lot of other stuff along the way which I wanted to finally release so I can get back to smaller, more frequent updates.  NOTE that this version comes with a new database that will overwrite your existing save game (after backing it up).  I have no plans to do any further incompatible database updates, I just figured now would be a good time to refresh it since it's been awhile. 

Here are the major changes for version 138.


Classic Mode

The first new feature I should mention is a new 'Classic Mode' checkbox in the Quasar4x > Settings window.  This is disabled by default.  Turning this mode on will revert the entire UI layout to resemble VB6 Aurora closely, basically how Quasar4x looked in version 136.  This checkbox will give me the freedom to make a few changes to the UI that do not appear in VB6 aurora.  For the rest of the features I list below, you can assume that anything I added that isn't in VB6 aurora can be hidden with the Classic Mode checkbox.


Star Swarm

Star Swarm is now implemented and behaves virtually the same as it does in VB6, strange reproductive ways and all.  I won't go into too much spoilery detail about them, but it should all be there.  Note that they can be pretty rare.


New Fleet Orders

Current Location Added a new location type to the possible locations an order can be performed at: Current Location.  This location is available for all orders that do not require a particular destination, such as Active Sensors On.  In total there are 16 orders that can now be performed at the fleet's current location.

Join Fleet and Tractor ships The fleet will join the target friendly fleet and tractor as many ships as it can.  For example, a you can tell a fleet of 5 tugs to join a fleet of 5 terraformers and link each terraformer to a tug.

Detach tugs Similar to Detach Survey ships, detaches all ships with an STS tractor into a fleet of their own

Request tow at.. The task group will indicate that it requires a tow from a ship with an STS Tractor.  Once a tug fleet joins with this fleet, the Request Tow order is considered complete, and the next order in the queue is processed. This order does nothing on its own, but is important for some of the features listed below. 


New Default Orders

Fulfill nearest tow request The fleet will travel to the nearest fleet that is currently idling on a "Request tow at.." request and perform a Join Fleet and Tractor Ships action when it arrives.

Refuel stranded fleet Travel to the nearest fleet that has an order to move somewhere but cannot do so for the specific reason that it is out of fuel.  Refuel the target fleet upon arrival.

Resupply nearest fleet with < 80% supplies Travel to the nearest fleet with <80% supplies and resupply it upon arrival.

Load fuel at harvester Like load fuel at colony, except it visits a harvester.

Load Infrastructure from nearest pop with a surplus The fleet visits a population in this system or nearby systems that has more than 200 infrastructure that it isn't using and loads it.

Deliver Infrastructure to nearest pop with a defecit Cargo fleets loaded with infrastructure will visit a pop in this system or nearby systems that have colony cost 3 or less and cannot grow without more infrastructure and unload infrastructure there.

New Conditional Order: Unload 90% fuel at capital When the condition is met, the fleet will travel to the capital and unload excess fuel there.


Non Repeating Orders

(https://i.imgur.com/3sLB01y.png)

If you Add Move while this box is checked, the move will appear with a "(no repeat)" in the Plotted Move queue which has two effects:
- When Cycle Moves is checked, orders flagged as non-repeating will be removed from the order queue rather than being cycled.
- When pressing the Repeat button, non-repeating orders will be excluded.


Auto Request Tow, Auto Detach Tugs

(https://i.imgur.com/eYESCtb.png)


Request tow when unable to move

If the fleet has an order requiring it to move but is out of fuel or has no functioning engines, a towing request will be inserted at the top of its order queue.

In further detail: This triggers at the end of the conditional order phase in the sequence of play.  This checkbox has no effect on fleets already containing a mix of tugs and non-tugs.  A 'Request Tow at Current Location' order will be inserted at the top of its order queue, flagged as a Non Repeating Order so that it is removed once the request is completed.  The request can be completed by a nearby fleet with the default order to 'Fulfill nearest towing request'.

This feature is useful for automatically handling emergencies where a fleet has run out of fuel or has lost all of its engines.  It's also useful to reduce the amount of micromanagement necessary to tow stations to their destination.  For example, suppose you've just constructed an asteroid miner with no engines.  You can check this box, then tell the asteroid miner to mine a remote asteroid.  An idle tug configured to fulfil tow requests will come along, join, and tractor the miner.  This clears the 'Request Tow' order, and the next order is processed, which is to move to the target asteroid.  This order can be completed since the fleet is now capable of moving.


Detach tugs when no longer needed

Immediately performs a Detach Tugs order (unlinks and detaches all tugs into their own fleet) at the end of the conditional order
phase whenever this fleet has fuel and engines, OR whenever the fleet is not currently being ordered to move anywhere.

This is useful in combination with the checkbox above it.  It saves the micromanagement of having to manually unlink and detach
tugs after towing is complete.  Note that one more manual step is required, which is to re-add the 'Fulfil Nearest Tow Request" default order back to the towing fleet.  I have plans to further automate this flow in a future update.


Policies Tab

(https://i.imgur.com/olZs4U6.png)

Added a new Policies tab to the F3 window which currently just has two policies you can enable for each population but more can be added later.  You can have the population automatically resupply fleets that refuel or overhaul at its location, and/or automatically refuel fleets that resupply or overhaul.


New Game Options

Ruin Generation Chance Added the C# and 7.2 feature Ruin Generation Chance to the Create New Game and Game Details windows.  Previously it was a static 20% chance on eligible worlds.  Note that a world still has to meet all the other habitability and body type conditions for a ruin to be present.

Minimum and Maximum Distance for Starting NPRs Added this C# feature to the Create New Game and Game Details windows.  However, my implementation may be different.  In Quasar4x it is implemented as follows: Rather than the Player and NPRs being spawned in their own isolated systems and fate deciding when a pathway between them is generated, all worlds between the player and the NPR are generated at the start of the game, like spokes of a wheel.  These worlds are kept hidden until they are discovered, and no indication is given whether a new world you discover was present at the start of the game and thus actually a link in the path to an NPR.  To help keep the secret I hid the System ID on the System View (F9) window.  The ID of a system can still be viewed by temporarily enabling classic mode.

Anyway, since the pathways are all generated at the start of a game, you can guarantee you will run into an NPR if you explore enough within the given distance from your home.  Note that there is one important difference in my version from C#: I believe in C# the distances you provide are the distances in LY between known stars.  In Q4X, the distances you provide are in AU, not LY, and it measures the physical distance a ship would have to travel if you issued it an order to fly from the center of Sol, through each system in the path from entry JP to exit JP, to reach the destination. 

I generated several starting galaxies trying out different distances and found a 40 to 80 AU range to be a good range, so these are the values that are populated by default.

You can set maximum distance < minimum distance to disable the feature.


Conventional Start NPRs

I've implemented the 'Generate only non-Trans-Newtonian races' checkbox on the Create New Game window.  This checkbox behaves in accordance with the tooltip of the checkbox in VB6, but not in mechanics.  In Q4x, truly conventional NPR empires are implemented; They will spawn with Conventional Industry rather than Factories, only the most barebones technologies, and everything else that comes with a Conventional Start empire.  All the auto-design code has been updated to support missing technology that was previously assumed to be known, and any ships that cannot yet be generated due to missing tech will just be skipped until they can be designed.  NPRs will convert conventional industry to TN facilities once it researches TN tech.  That said, I would only recommend this be enabled for someone just learning the game since this will set NPR's decades back in tech and development.


New Production Overview window

(https://i.imgur.com/PvZxms3.png)

I replaced the Production Overview window with my own version. (The original is available in classic mode.) The benefits are:
- adds shipyard expansion, ground unit training, and terraforming to the categories of production being tracked. More categories may be added later
- when viewing more than one category, data isn't limited to just the first 0.25 years
- can select which columns to show
- can show idle production, ie factories or shipyards not in use
- an info column that shows specifics about the task; Allocated Labs for research, Total Slipways / Available Slipways / Capacity per Slipway for shipyards, percentage of factory capacity allocated for Construction/Ordnance/Missiles, Attack Strength / Defense Strength for ground units in training, and current colony cost for Terraforming.
- sort by up to 5 columns. (by using the dropdowns or clicking on column headers)
- the other empires dropdown adds the ability to show all players (in sm mode) in addition just showing other allies
- Time remaining is relative (Days / Months / Years) rather than absolute dates (although absolute dates are a column option.


Ad-Hoc explorer ship for SM

(https://i.imgur.com/sLY5PeQ.png)

Simply right click in empty space and add an exploration ship.   Component and ship designs are taken care of, regardless of whether tech is currently known.  The design of the ship, (mostly arbitrary), is below.

Off-Topic: show
SM Exploration class Exploration Ship    4 000 tons     99 Crew     3204.5 BP      TCS 0.4  TH 1000  EM 450
12500 km/s    JR 3-50     Armor 1-22     Shields 15-300     Sensors 375/375/0/0     Damage Control Rating 3     PPV 0
Maint Life 5.34 Years     MSP 1508    AFR 42%    IFR 0.5%    1YR 88    5YR 1326    Max Repair 900 MSP
Intended Deployment Time: 36 months    Spare Berths 0

J5000(3-50) Military Jump Drive     Max Ship Size 5000 tons    Distance 50k km     Squadron Size 3
500 EP Photonic Drive (2)    Power 500    Fuel Use 1.59%    Signature 500    Exp 5%
Fuel Capacity 500 000 Liters    Range 1414.2 billion km   (1309 days at full power)
Omega R300/360 Shields (1)   Total Fuel Cost  15 Liters per hour  (360 per day)

CIWS-1000 2 (1x16)    Range 1000 km     TS: 100000 km/s     ROF 5       Base 50% To Hit

Active Search Sensor MR6750-R100 (1)     GPS 90000     Range 6.75b km    MCR 73.5k km    Resolution 100
Active Search Sensor MR675-R1 (1)     GPS 900     Range 675m km    MCR 73.5m km    Resolution 1
Thermal Sensor TH5-375 (1)     Sensitivity 375     Detect Sig Strength 1000:  375m km
EM Detection Sensor EM5-375 (1)     Sensitivity 375     Detect Sig Strength 1000:  375m km
Cloaking Device: Class cross-section reduced to 1% of normal

This design is classed as a Military Vessel for maintenance purposes

This is a feature which can certainly be expanded upon in the future.


Overhauled System Gen

I spent weeks revisiting and tweaking almost every line of code in system generation to bring system gen more in line with VB6 Aurora.  For this process I wrote a lengthy script which analyzed over 3500 systems generated by Aurora in almost every way imaginable, then I adjusted Q4X to come as close as possible to similar statistics.  The most important statistic was the distribution of colony costs, atmosphere composition, and NPR-habitable worlds, although every single element that leads up to these final numbers was looked at.  It probably goes without saying, but I was literally questioning my own sanity after a couple weeks in, but it's done and I'm exhausted but happy with the outcome. 

There were so many things adjusted that I can't list them all, but here were the noticeable changes.  Note that all of the changes are *toward* aurora statistics, not away from.  For example, there were a couple changes that statistically raise temperatures.  This means that previously there were too many bodies being generated that were too cold to be habitable. 

- The abundance modifier roll will be more likely to be middle-ground and less likely to be extremely low or high.
- I am no longer scaling orbital distances up when they are all close to the star.  This will slightly raise overall tidal forces and temperatures.
- Added a 1 in 5 chance for a secondary star to have the 99% the mass and radius of the primary star.  Previously, secondary stars were always significantly smaller.  This will improve statistical chances of more "stuff" in systems.
- Fixed a major error in calculating what orbital distance is too close to a star.  Bodies can now be much closer than before, which will improve temperatures.
- Rewrote the routine that determines which stars orbit which other stars, and at what orbital distance.
- Fixed bug that allowed asteroid belts to be too wide
- The total mass in asteroid belts should now be higher
- Added a small chance for lone asteroids anywhere in the system
- Added a small chance for "double planets" - terrestrial moons that orbit terrestrial planets and have similar properties to the planet
- Chance for comets to appear in a system is no longer dependent on the properties of the system
- Added chance for a moon to instead be a ring (RP purposes only, no in-game impact) if it is within the roche limit
- Temperature of bodies is now affected by solar infall from nearby stars other than the stars they orbit
- rewrote astmospheric gas composition generation
- fixed one or two major bugs, but I honestly cant remember what they were

Random factoid: I found that about in VB6 you should expect to see one NPR every 14 systems -- at 100% spawn chance.  So the default setting of 30% is going to make it one NPR every 46 systems.  Obviously with so many factors involved its going to vary wildly so you might explore less.. or many, many more systems, before running into them.  The same is thus true for Q4X.  With that in mind I'm probably going to set my NPR odds at 60/20 for my next run rather than the stock 30/10.


Pseudo known stars theme for non-known-stars games

I've added a new theme for system names called Elite, for non-known-stars games, containing about 14K system names from the game Elite: Dangerous.  This list of names contains many names of the known stars in the Milky Way like Proxima Centauri, Barnard's Star, and Sirius.  But it also contains all of the flavor names they added to the game like Deciat, Thuban, Sental (I picked those names out from the list at random).  I excluded the thousands of systems that have generic names like HIP 12345 and "Col Sec 123-41234 blah blah.  So what remains is a very large list of real names mixed with real-sounding made up names to make it feel like you're exploring an alternate milky-way-like galaxy. 

To go along with this theme I've changed system name themes to pick at random out of the list of system names, rather than in a fixed order every game, but the randomness is weighted so that names at the top of the list are more likely.  Names in the new Elite theme are listed in order of distance from Sol in Elite: Dangerous.


Configurable Event Interrupts

Added a new Manage Interrupts button:

(https://i.imgur.com/45J77Kf.png)

Which opens a new Manage Event Interrupts window:

(https://imgur.com/wVtdsRZ.png)

Where you can configure which events cause interrupts. 

Note that I still need to add a feature that lets you configure what NPR events cause interrupts.  I just have to think about how to do it because you don't usually know what is causing the NPR interrupts.


Show Class Design Function

(https://imgur.com/9wwDe0s.png)

Ship class designs are assigned a function based on what components they include; this has always been the case in VB6 and Q4x.  It's always been hidden from the player but it does play a role when you give (or surrender) a ship to an NPR.  The class design window will now show what function an NPR would use the design for if you gave it to an NPR right now.  The 'Sort Classes' radio buttons were changed to a dropdown to make room.

In the future I plan to greatly expand upon Class Function, letting players make use of it as well for various automation purposes.


Automation

I spent many, many weeks working on my 100% automation idea.. and I've only gotten it to the point where it can handle a single system.  I may very well be abandoning the idea, in favor of lots of little QoL features that help reduce micromanagement.  I had wanted automation in case I ever tried some multiplayer stuff, so a person could set up their automation settings, then go to sleep while their empire continued to grow in an online world.  I think I'm changing my vision to where the player receives just enough tools to set up a formidable defense for their systems before going to bed, so no complex development takes place, just production queues and static automated fire against nearby hostiles.  That's all just daydream stuff.

Back to what's actually done right now.  I realized it will be very easy for the automation code to screw something up the player was doing, such as their ship and component designs and shipyards.  It will also be a lot of work trying to support all the bugs and quirks that arise from automation code.  I debated whether to include it at all, or make it a secret option you can only enable by editing a config file.  In the end I decided to release it as-is, with a big ugly disclaimer.

(https://i.imgur.com/oHHTVhm.png)

Because it CAN be useful for experimental purposes, when you just need to get a player empire or three up and running for a test you want to do without caring about the details of how it works.  The disclaimer is true though; I will flat out not be supporting any issues that arise with from this window, and it should not be used in a "for real" campaign.

I wont go into too much detail about every single option in every tab.  The teams tab has a 'Diplomacy Training' checkbox which will automatically keep 5 diplomats that would otherwise be idle busy in a diplomacy team so they receive training.  The Contracts tab has a checkbox which will automatically manage contracts for Mass Drivers, shuffling them around from body to body via contract as needed to get minerals sent to the capital.  For now, this only works for home system.   Fleet orders has a 'Detach Immobilized Ships' checkbox which will also set them to request tow for repair after detached.  The fleet orders General checkbox handles the remaining micromanagement not handled by the new fleet orders and default orders listed above, but it does a lot of other stuff too.  I need to split it out into multiple checkboxes.  It also auto-manages Task Force training, moving ships out of the TF training fleet when done, and moving new rookies into the fleet.  The commanders tab has a 'planetary governors' checkbox which should keep all your non-empty pops governed by somebody.  The empire tab has a 'terraforming' checkbox that keeps all pops configured to add or remove appropriate gases to make them breathable.  This is useful in conjunction with the terraforming default order.

There's a lot of other settings in there as well.  Automation can be found in the Quasar4x dropdown menu.  It comes disabled by default.  To enable it, go to Quasar4x > Mods and check the Default AI and "Default Library boxes.  (As an aside, I simplified the 'Enabled' column.  Previously it was a customizable dropdown that let you enable the mod for specific conditions only, and it was a coding nightmare for me and the modder.  Now its just an On/Off checkbox)

(https://i.imgur.com/8ozIcvH.png)

 
Automation code is kind of (but not really) externalized into the file /mods/default/ai.gd, but it is mostly just a whole bunch of calls to black box api functions, I haven't externalized much of the interesting logic.

(Part II follows..)


Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on July 27, 2021, 07:05:12 PM
Other additions

- Improved the speed of making a backup by about 2x by using sqlite's online backup feature.  This makes the 'backup every turn' option a lot less irritating to use.
- Implemented cloaking device (I had just plain forgot to do it)
- Implemented intel gathering of alien sensor capabilities
- Implemented intel gathering of alien weaponry by alien ship class
- NPRs will now balance ordnance across similar ships in a fleet


Bug fixes

There are so many fixes I literally cannot find or remember them all.  I've listed some of the more notable fixes here:

Major fixes:
- NPR was not getting enough staring build points for its starting ships due to a typo, especially for non-military ships, which often lead to weaker military forces and non existant commercial ships (survey, etc)
- Automated ship design was factoring in armor size multiple times instead of just once when determining how much space it had for components, resulting in designs that were weaker than intended

Smaller Fixes:
- fixed a major memory leak that was occurring with every single access of database query.
- Speeds of detected alien contacts would sometimes be incorrect after a production cycle
- NPRs were sometimes incorrectly viewing hostile contacts as stationary and thus easier to hit than they actually are. (Can still happen but less frequently)
- When a ship consumes fuel, it will be reduced to 0 if it drops below 0.01
- Fleet Orders window Task Group and Task Force dropdowns behaviors changed to match aurora vb6: The task group dropdown now shows all fleets in the drop down regardless of task force, and the Task Force dropdown can now be used to assign fleets to a different task force.
- Rewrote my increment shortening logic, with the general goal of making it less buggy and more reliable
- Whenever a ship of an unlocked design is created by any means, its class design is locked
- NPR pathfinding was sometimes incorrectly determining whether fleets were jump capable. (Pretty big fix, it was crippling their expansion)
- class design window: shields were incorrectly being detected as requiring reactor power
- class design window: added warning when ship is too large for its cloaking device
- colony summary: when SM granting research, reworded the popup from "All projects with lower costs than this figure" to "All projects with costs of this amount or lower" to correctly reflect how I've implemented it
- colony summary, shipyard schedule: fixed a div-by-zero issue, shows 'N/A' instead
- Create New Game window: removed erroneous "(This setting currently has no effect)" from tooltip of No Overhauls
- Create Research Project: no longer possible to create cloaking device smaller than your current tech level allows
- Create Research Project: no longer possible to create magazines with structural shell. Intergalactic safety regulations mandate your munitions must be stored in a solid protective enclosure :)
- Events window: in SM mode, double clicking an event of a different race will set that race as the default race so the UI functions properly when jumping to that event's location
- Transfer fleet to alien empire: fixed syntax error in the routine that deletes related shipyard tasks
- fixed issue where civs would sometimes not deliver infrastructure to populations only needing a small amount, which resulted in a population that would never grow without manual intervention
- fixed: it wasnt possible to shoot shipyards with mesons
- Game Details window: removed erroneous "not yet implemented" from precursor checkbox tooltip
- fixed: NPR logic was considering Guass Cannons as requiring power
- fixed: gauss cannons weren't considered military.
- fixed: ciws size and cost wasn't correctly factoring in Turret Rotation Gear tech, they were slightly too high.  For NPRs this was resulting in slightly weaker ships than intended due to overbudgeting space for ciws.
- fixed: ciws HTK was calculated incorrectly at larger sizes
- fixed: number of starting conventional factories was incorrect for government types other than Player Race
- fixed: ship thermal was being calculated as Ship Size * stealth rating for some reason. It's now engine power * stealth rating
- certain activities that auto-delete fleets (such as the Absorb order) will not delete the fleet if there is an associated shipyard task
- fixed: repairing a ship wasn't setting its stats back to normal
- fixed: npr's werent updating their designs when learning new magazine tech or jump engine tech
- System Map: civilian fleet movement trails changed to cyan
- Added "Backup DB" to the Quasar4x dropdown menu so you can make one-off backups. It will popup a location and name of file.
- Added numbers to generic comets so they are distinguishable on lists
- fixed: laser focal sizes 40cm and higher had the wrong stats and 80cm was missing
- Set Task Group Position now includes waypoints in the list of targets
- You can now delete non-empty fleets.  I added a confirmation popup when the fleet contains ships to mitigate accidental deletions.  Commanders, teams, and divisions on board the deleted ships are transferred to the capital (or current population if in orbit)
- Fixed a couple issues involved in capturing/surrendering populations
- Lots of other fixes

Aside from automation, my overarching mission was to focus on areas that would ruin or break a long running campaign if issues in those areas were discovered too late.  This is why I focused so intensely on system generation so that it is now rock solid after analyzing thousands of systems generated in Q4X.  Additionally, while I was working on Star Swarm, I set them up to interact with NPR's and Precursors, and made dozens of little tweaks and fixes so that I'm now confident that while I am focusing on my player empire, I can be sure that the NPRs not yet visible to me are developing their empires correctly.  (Probably.)

I'll be pushing the new version (138) now, then posting these notes in a shorter version in the patch notes thread.  I'll start a new bug thread as well. 

In the weeks and months to come I'll be continuing to add QoL and tools to ease micro-management.  Right now I plan to take a couple days off (other than hotfixes) then start in on a "for-real" campaign (After all this time I seriously have yet to do one). 
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Warer on July 31, 2021, 07:30:58 PM

Hell yeah can`t wait~ though i got to ask if it`s possible to do DB edit games like in Aurora and is so how?

Yeah.  It's an sqlite database.  https://sqlitebrowser.org/ (https://sqlitebrowser.org/) is what I use.  Obviously I cant support any bugs you run into if you've made modifications. 


Back home now and I checked DB edits do nothing, as far as I can tell the whole DB is window dressing considering overwriting it with the download did nothing to change what happened when I opened Quasar
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on July 31, 2021, 07:57:54 PM

Hell yeah can`t wait~ though i got to ask if it`s possible to do DB edit games like in Aurora and is so how?

Yeah.  It's an sqlite database.  https://sqlitebrowser.org/ (https://sqlitebrowser.org/) is what I use.  Obviously I cant support any bugs you run into if you've made modifications. 


Back home now and I checked DB edits do nothing, as far as I can tell the whole DB is window dressing considering overwriting it with the download did nothing to change what happened when I opened Quasar


You are probably editing the one that is in the same folder as the exe.. that is just a default that is copied to the user dir the first time the game runs.  The one to edit is in the user dir which on windows is %appdata%/roaming/Godot/app_userdata/Quasar4x
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Warer on August 01, 2021, 07:29:29 AM

Hell yeah can`t wait~ though i got to ask if it`s possible to do DB edit games like in Aurora and is so how?

Yeah.  It's an sqlite database.  https://sqlitebrowser.org/ (https://sqlitebrowser.org/) is what I use.  Obviously I cant support any bugs you run into if you've made modifications. 



Back home now and I checked DB edits do nothing, as far as I can tell the whole DB is window dressing considering overwriting it with the download did nothing to change what happened when I opened Quasar


You are probably editing the one that is in the same folder as the exe.. that is just a default that is copied to the user dir the first time the game runs.  The one to edit is in the user dir which on windows is %appdata%/roaming/Godot/app_userdata/Quasar4x
Derp thanks, might have guessed that in 2022 without your help!
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: iceball3 on August 03, 2021, 12:06:26 PM
Thank you thank you thank you Kyle! Everything I've wanted is in this release, especially with Star Swarm. Utterly stoked to give a proper campaign a swing here. Thank you very kindly for your work   ;D
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Garfunkel on August 03, 2021, 10:54:14 PM
Congratulations Kyle, this is really impressive work! Many have tried and so far, you're the only one who has succeeded.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Agm-114 on August 07, 2021, 01:43:01 PM
Quote
There's a lot of other settings in there as well.  Automation can be found in the Quasar4x dropdown menu.  It comes disabled by default.  To enable it, go to Quasar4x > Mods and check the Default AI and "Default Library boxes.  (As an aside, I simplified the 'Enabled' column.  Previously it was a customizable dropdown that let you enable the mod for specific conditions only, and it was a coding nightmare for me and the modder.  Now its just an On/Off checkbox)
Haha Yes
This was unironically the most challenging part of a lot of the simple mods I was trying to make.
I'm loving all the bugfixes, keep up the good work.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: xenoscepter on August 09, 2021, 08:02:40 AM
 --- Kickass work, I'm loving the "warts & all" approach. Just got done playing some of this and it's a very faithful adaptation of VB6. Thanks for all of your hard work, Kyle it's very much appreciated.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on August 12, 2021, 07:14:30 PM
--- Kickass work, I'm loving the "warts & all" approach. Just got done playing some of this and it's a very faithful adaptation of VB6. Thanks for all of your hard work, Kyle it's very much appreciated.

Thanks, this means a lot :) :)

Progress update 2021-08-12:

I played my first ever "for real" campaign in Quasar4x ..... and I lost.

(https://i.imgur.com/6EzkLU3.png)


Only 15 years have passed.  I've lost virtually all my ships, and so have the shipping companies.  The attackers finally ran out of ammunition and jumped out of the system to get more.  But more waves are already trickling in.  At this point I'm tipping over my King.

You're probably wondering how I got here. 

It all started when some unarmed NPR exploration ships wandered into my system, then froze in terror at the sight of my civilians' transponders.  They didn't know what to do.. should they leave?  They decided it would be best to stick around and keep an eye on the aliens for now. 

(https://i.imgur.com/a1QQmag.png)

I was a little panicked myself.  It had only been a little over 10 years?  Uhh.. heh heh, hey guys.  Wanna be friends?  I began working on diplomatic relations.  Thankfully the diplomatic team I had in training for the past 10 years had spent their time wondering what language aliens would speak, so when finally assigned to communicate with actual aliens, they discovered their guesswork wasn't that far off and communications were established with the Chimbia Commonwealth in short order.  The Chimbia were pleased by this, at first.  But then, the terran federation continued to.. *exist*, and that annoyed them.  As the years passed, Chimbia exploration remained stunted as they refused to leave Sol, and still the terrans didn't disappear, and this angered them.  It soon became hopeless that I would ever be able to make friends with the Chimbia. 

Out of character, I did some checking and it looked like I wasn't the only one who had this problem.  It seems other people have had issues in VB6 with NPR exploration ships just sitting there, forever, getting angry, and there's nothing you can do about it.

Well, I got annoyed by their presence too.  I finally decided to send my still-very-low-tech military squad and blow them up.  At first, I couldn't, because they were faster than me.  But then I realized they aren't warships, I should be able to disable my sensors and go dark.  Sure enough, that allowed me to get close enough to fire on their thermal signatures.  It took all my ammo (my ships were BAD), but I got one of them. 

(https://i.imgur.com/kIMI97z.png)

I sent my slightly faster and otherwise useless laser ships to go capture their survivors while my missile ships went for more ammo.

But before I was ready to go after their next ship, the Chimbia's Away Team arrived to investigate the battle site. 

(https://i.imgur.com/YO9rYp2.png)

Thankfully, I saw them before they saw me, so I kept my warfleets at home out of sight.  My Civilians had their transponders turned off as well.  So for a few years, the Chimbia continued to watch over the battle site, not knowing where I had gone.

Unfortunately, they eventually found me.  Earth and Mars orbited around the sun, and the change in shipping lanes caused one of my civilians to fly too close to them.  They began booking it toward Earth, and Luna, and blowing up everything in sight, ships, shipyards, and so on.  My PDC's and warfleet were laughably inadequate.

--

I did a little post mortem investigation.  Why did I lose so fast?  Obviously I should have just left the civ ships alone, but why did they find me so fast, and why was I so outmatched?

Fortunately I have a backup of every turn I took in the game.  I went back to the beginning, at Jan 11, 2025, and compared my tech with the Chimbia.

(https://i.imgur.com/JDxZuCv.png)

Yikes.  They started with 218k tech points, meanwhile I had declined the standard 120k starting points of my own and chose to start with 0.  I prefer to research early techs than get points for free.  But even 120k points gets overwhelmed by a 218k start.   This amount is a function of how many labs an NPR starts with.. so the NPR started with... 36 labs?  Yep, close, 35.  Which is not unusual depending on the possible government types and possible starting pop sizes.  No bugs that I can see.

Also, I tend to like slower than average research in games.  So this game, I chose to start with 15 labs instead of 20.  Ha.  That was a bad idea.

So how did they find me so fast?  Is there a bug that causes them to follow the pregenerated path between me and them, the path that guarantees they spawn within 40 - 80 AU as the ship flies?  They're supposed to expand in a circle around their homeworld, not linearly outward.   I checked their galaxy map from when they discovered me:

(https://i.imgur.com/Vlbh4LV.png)

In this screenshot, Chimbia of course is their homeworld, and Hawk's Hollow happens to be mine. (Sol).  Nope, doesn't look like a bug.  I got really unlucky.   4 of the 5 jumps from their homeworld were deadends, and the 5th jump (toward me) (the Tulan system) had only one jump that took them even closer to me.  From the Natal system it is feasible they would discover me without "cheating".  Just bad luck. 

They were also the most advanced of the 3 NPR's I started with.  They had Jump Gate Construction ships on day one.  (I verified this can happen in VB6 too).  I never even got started on JP Theory.

--

So what changes, if any, need to happen for my next game? 

A. NPR Exploration Ships never leaving Sol

I think this is pretty obviously the biggest issue.  They either need to

1. Get out of my system and go on their way - Except what exact rules do I want to give them?  NPR rules are actually pretty simple and effective.  Make things too complicated and they will become exploitable.  I don't know if there's any answer in VB6 to give me guidance.  I believe C# solves the problem with it's overhauled diplomacy system and new concept of territory ownership.  Eventually I want to do something similar, in fact, I've always seen Diplomacy as one of the end-games of the quasar programming project.  There's always room to make NPR's more lifelike and interactable. But not now.  I still want to get the faithful VB6 replica as good as I can get it.  So at most I would like to come up with a small, elegant solution. 

2. Or they need to not get angry at my presence - Except that the issues with this is the same as the above.  The diplomacy system really needs to be overhauled and I don't want to do that right now.  I would need a small elegant solution for this while retaining the legit annoyance they should feel at ship presence in no-mans-land systems.


B. NPR starts too powerful

Right now, the player can chose their starting tech, but they can't chose what the NPR gets.  I should be able to start with no tech points if I want to, and tell the game I want the NPR's to start at a reasonably fair equivalent tech level to me.  It's not as simple as

1. Another text box where you can specify NPR starting tech points, because it depends on a number of RNG factors, government type being an important one.

2. Another difficulty modifier independent of the existing one - what would be the exact formula?  The formula would have to include the player's starting labs and tech points too, because if an NPR starts with 35 labs and 220k tech points, that's only difficult if I start with 15 labs and 0 tech points.  It's not difficult if I get 50 and 1000k

-

I'm leaning on A.1. and B.2 right now, I just need to come up with specifics.  I welcome any input anyone wants to give.  I'm probably one of the least experienced Aurora players here; I've figured out how a zillion mechanics and how almost every database field works, but I've never actually encountered an NPR in an Aurora game, and I don't read AAR's or other people's war stories.  Don't have the time :)  I don't know what's considered normal.  I feel like my first organic encounter from an NPR can't be *too* far off from what some other people have seen - if they've been able to handle the VB6 turn times long enough to get to that point.  Again, discussion is more than welcome!   I shall make some tweaks based on any input I receive, plus any of my own ideas that may come to mind, then I'll start another campaign and continue finding and squashing bugs as they come.

Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Droll on August 12, 2021, 07:32:36 PM
Well first of all it would be nice to see the designs of your impotent combat ships and see how far you could take your weapons with your given tech. Other than that, the recommendation is generally to specialize in one weapon type + gauss for missiles. However 10cm railguns are also decent if not optimal so as a beginner beam tech you could go railgun + missiles.

With low tech missiles do not try to get massive ranges for them. Focus on speed and warhead, range comes later when you have researched some good techs. Engine boost is pretty much mandatory for missiles. Your initial missiles probably wont be able to reach the hardcoded maximum beam range.

As for the diplomacy overhaul - do not worry, C# isn't that much better. Given that aurora is very combat focused, the diplomacy is very barebones. So any improvements you do will end up deviating quasar from VB6.

Going forward as you play you are going to have to decide whether you want to keep to the VB6 legacy, or take quasar on its own path.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on August 13, 2021, 04:12:49 AM
Why go through all the trouble of analyzing my ships when I could have just as easily not attacked the explorer ships?  It's kinda beside the point :)  The NPR's expansion shouldn't grind to a halt because their explorer ships are paralyzed in Sol.

For tech balance tweaks, this is what I'm probably settling with.  If the player leaves the suggested starting tech points alone, then there is no change to the NPR starting tech logic.  However, if the player adjusts the starting tech points, like I did in my game, then NPR's will be adjusted by a similar amount.  For example, I changed 120000 to 0, which would have changed the NPR's starting points from 220000 to 100000.  This works both ways.  If the player starts with 5 zillion tech points, the NPR will start with 5 zillion as well.   In pseudo code,

T = starting tech points assigned by the game
N = the starting tech points the player types in (which is just T if untouched)
D = difficulty modifier * 0.01 (so, 1.0 by default)
A = the number of tech points the NPR would normally get before adjustment

Adj = N - T
if Adj < 0 and D > 1 then Adj = Adj / D
if Adj > 0 and D < 1 then Adj = Adj * D
A = A + Adj
if A < 0 then A = 0

This is only for game starts, and does not apply to NPRs discovered later.  The important thing to note, for the purists out there, is that if you leave the recommended starting tech points alone, then it behaves exactly the same as "vanilla VB6."  My reasoning is that if you want to make the game harder, you change the difficulty modifier.  If you're tweaking the starting tech points, like I was, then you're more likely just wanting a different style of game.  This lets you change the style of the game without making it any harder or easier for yourself.

I hold this same reasoning for the number of starting research labs too.  When I changed 20 labs to 15, I wanted techs to trickle in more slowly in the beginning, not a specifically harder game.  So I'm capping the number of research labs an NPR starts with at 150% the number of labs the player starts with.  In an ongoing game, newly discovered NPR starting labs are capped at 150% the number of labs owned by the player with the most labs.  The "150%" is multiplied by the difficulty modifier * 0.01.  So at 200% difficulty, the cap is 300% * player labs.

Again, for the purists, I need to point out that this 150% cap almost never comes into play if you don't touch the # of starting labs the game picks for you.  I generated 20 test NPRs, and none of them hit the cap.  Getting a 35-lab NPR in a 500-pop game start is quite rare and unlucky.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: iceball3 on August 13, 2021, 06:06:49 AM
Will conventional starts also provoke the tech scaling on other starting empires? Though if it does, i suppose you could do the spacemaster empire start option for the vb6 experience.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on August 13, 2021, 07:50:37 AM
I was wondering if you could add a menu entry for the events window. It can only be reached through the system view - which I tend not to use. Alternatively, if you could add the text and bg coloring to the system view for the events...  ;)

Oh, another thing: In System View, there is no option to display/hide comets and names of comets. It wasn't in VB6, but why not have it here  ;D
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on August 13, 2021, 02:16:30 PM
Will conventional starts also provoke the tech scaling on other starting empires? Though if it does, i suppose you could do the spacemaster empire start option for the vb6 experience.

No, starting as conventional vs TN has no impact on NPR starting tech, either before or after this change.  To have conventional start NPR's with the similar reductions a player gets, (start with 1/4th the normal labs, start with only conventional tech, start with Conventional factories, etc) you have to check the box for "Generate only non-Trans-Newtonian races".  This checkbox is different than VB6, because VB6 doesn't give you conventional NPRs


I was wondering if you could add a menu entry for the events window. It can only be reached through the system view - which I tend not to use. Alternatively, if you could add the text and bg coloring to the system view for the events...  ;)

As in VB6 there's an icon on the F3 window that opens the events window.


Oh, another thing: In System View, there is no option to display/hide comets and names of comets. It wasn't in VB6, but why not have it here  ;D

Yeah, I've been thinking about adding that.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on August 13, 2021, 06:48:52 PM
I was wondering if you could add a menu entry for the events window. It can only be reached through the system view - which I tend not to use. Alternatively, if you could add the text and bg coloring to the system view for the events...  ;)
As in VB6 there's an icon on the F3 window that opens the events window.
That is what I was trying to avoid - open the F3 System View, click that button, close the System View. Waaaay simpler to have it also in the menu and open the events window there ;D ;D ;D
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on August 13, 2021, 10:55:00 PM
I was wondering if you could add a menu entry for the events window. It can only be reached through the system view - which I tend not to use. Alternatively, if you could add the text and bg coloring to the system view for the events...  ;)
As in VB6 there's an icon on the F3 window that opens the events window.
That is what I was trying to avoid - open the F3 System View, click that button, close the System View. Waaaay simpler to have it also in the menu and open the events window there ;D ;D ;D
It's there, though.  SpaceMaster > Event Updates, same as in VB6.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on August 14, 2021, 01:46:06 AM
Progress update 2021-08-14:

Well, I found out why my game went down the gutter.  There was a bug where diplomatic teams were not providing any boost to political modifiers due to a typo.  I went back and checked my backups of the game's progress.  If teams had been working, they would have been more than enough to counter the ongoing xenophobic reaction.  The Chimbia would eventually have become friendly, deemed Sol to be a safe place, and their explorer ships would have gone back to their tasks and left Sol.

(heel of palm on forehead.)

My next patch will fix this, and then I think I'll resume this campaign from a backup just after I met the Chimbia.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on August 14, 2021, 06:14:23 AM
That is what I was trying to avoid - open the F3 System View, click that button, close the System View. Waaaay simpler to have it also in the menu and open the events window there ;D ;D ;D
It's there, though.  SpaceMaster > Event Updates, same as in VB6.
I'll be dammed. Never saw that - even in VB6  :o
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on August 15, 2021, 06:23:30 AM
Is there a way to research a missile prototype engine? If I construct a missile with a prototype engine, I can't create a project for that missile. When I exchange it for a real researched engine, I can. Maybe you can program it in a way that "Create" is also active when a prototype engine is selected and the game asks if you additionally want to research that engine and create two projects?
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on August 15, 2021, 05:15:15 PM
Is there a way to research a missile prototype engine? If I construct a missile with a prototype engine, I can't create a project for that missile. When I exchange it for a real researched engine, I can. Maybe you can program it in a way that "Create" is also active when a prototype engine is selected and the game asks if you additionally want to research that engine and create two projects?

Yeah you're right, I need to add a way to do that.  For now, just use the <current engine in the engine design window> option for missile engine, and create a non-prototype research project from the engine you have designed.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on August 16, 2021, 07:12:15 AM
One thing with Aurora always bugged me - a good way of organising cargo transfer with easier setup of cargo routes. Because there are like six general types of cargo transfer one has to organise: Installations to Destinations, Minerals to Production Sites, Refuelling of Fuel Depots or Transfer from Harvesters to Colonies, Colonists to Colonies, Troops to Action or Unrest Suppression and tugging ships to destination fleets. But the order system makes setting these up a bit painful. Saving templates and repeating orders can help. But I think they could be made a lot easier to handle and make the game more fun to play.

If you are interested in setting up an easier transfer system, here are some ideas I had for such a thing. This might be possible to realise as an "Order Generation Menu" which generates the known order list through the options you select in that menu. Thereby it could be done on top of the already existing system without generating bugs and problems with rewriting the transfer system.

The basic idea goes like this:
You select a fleet you want to set up a new order list for and open the "Order Generation" submenu. Here you can select Source and Destination (a list of only colonies and/or possible fleets) and the amount of units you want to transfer from S to D. Since all modules have different sizes, this window can show you how many runs from source to destination that would entail as well as the expected duration of that operation.
The system also warns you if you would exceed the maximum range of the fleet. Additionally you can select several destinations where that fleet could refuel (planets or fuel depots ins space).
Once you are happy with the settings you click on "Generate Order List" and this auto generates the needed steps to transport anything from S to D and refuel the fleet on the way if necessary.

So this system in the end would take away the need to have to setup everything repeatedly in a manual fashion. You also could save these "Order Generations" as a template and apply them again and again as needed.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on August 20, 2021, 04:32:26 AM
Is there a way to slow down research? So used to 10-20% speed from C#-Aurora that it feels like a superrush in Quasar... .
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on August 20, 2021, 06:42:51 PM
Is there a way to slow down research? So used to 10-20% speed from C#-Aurora that it feels like a superrush in Quasar... .

I've always felt research is too fast in any game I play (not just aurora-likes) too.  But some component designs are so expensive to research.  (Anyone know the reasoning for that?)  Maybe two research speed settings, one for racial tech and one for "stock" tech? 
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on August 21, 2021, 03:34:32 AM
Is there a way to slow down research? So used to 10-20% speed from C#-Aurora that it feels like a superrush in Quasar... .
I've always felt research is too fast in any game I play (not just aurora-likes) too.  But some component designs are so expensive to research.  (Anyone know the reasoning for that?)  Maybe two research speed settings, one for racial tech and one for "stock" tech?
Yes, that is it what feels off in Aurora...  :)
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on August 21, 2021, 03:47:08 AM
Progress update 2021-08-21:


Lots of fixes and bits of QoL have been added, listed in the Patch Updates thread.  I haven't left Sol yet in my campaign, although I did peek in on a system where an exploring NPR discovered a Star Swarm hive and engaged in a small skirmish.  This caused the well known phenomenon of clicking '5 days' repeatedly only to see seconds or minutes pass by each time with no perceivable events because the skirmish was in a system my race had yet to discover.

(https://i.imgur.com/fk8SkIg.gif)




Were I to use auto-turns this wouldn't be a huge deal because I could just go get a cup of coffee while waiting for the next player interrupt.

(https://i.imgur.com/TR563pY.gif)




(And that is how auto-turns still works after the feature I'm about to describe was added).  But I was advancing 5 days, making a couple changes, advancing another 5 days, making a couple more changes, and so on.

So I added an "Auto-repeat of turns shortened by NPR interrupts" feature which gets around this problem by automatically repeating turns until the requested increment length is reached.  When an increment is shortened and an auto-repeat occurs, a Turn Progress window will appear, which includes an 'Interrupt' button allowing you to interrupt the auto-repeating turns early.  You might notice in the animation the "last time increment" events are combined into a single event, to make it easier to see the total amount of time that elapsed when all is said and done, rather than a flood of lots of little time increments with no activity in between. 

(https://i.imgur.com/ME9QzYP.gif)



Note this feature only takes effect when the event that shortened the increment time took place in a system with no player presence.  Any shortening that occurs in a system with a player will still stop the turn, in order to let the player react.  Also note this only happens with auto-turns unchecked.  There is a new checkbox in the settings window that lets you disable this feature.

For now, the Turn Progress only appears when an "Auto-repeat of turns shortened by NPR interrupts" occurs.  In the future I can certainly enable it for *all* lengthy turns in the future, although I will prefer to do an optimization pass first if turns get that long.



Automation of fuel harvester bases

Awhile ago I added the new default order 'Load fuel at harvester' so it could be combined with the 'Fuel tanks full' condition and subsequent 'Unload 90% Fuel at Nearest Colony' order.  (Or the new 'Unload 90% Fuel at Capital' order).  The 'Load fuel at harvester' default order will assign a 'Refuel from target fleet' order targeting the nearest harvester with fuel tanks 25% full or more.  If the tanker doesn't fill up, it idles until another 25% batch is available, then loads that as well, repeating until tanks are full and it can head home. 

However 'Refuel from target fleet' traditionally fails and interrupts the turn if the fleet cannot be fully refueled, which is sometimes desirable, but not when you're trying to set up something automated.  So I added an "Any Amount" checkbox on the Fleet Orders window that (only) appears for Refuel from Target Fleet and Resupply from Target Fleet.  When checked, the order you add will read slightly differently:  "Refuel any amount from target fleet."  The move will be considered complete (rather than failing) regardless of whether enough fuel/supplies were available to completely refill.  The order assigned by the Default Order "Load fuel at harvester" will now be for Any Amount, so it's possible to fully automate retrieval of fuel from harvesters without intervention.   I may find similar uses for this checkbox with other order types in the future.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Tchey on August 25, 2021, 09:44:55 AM
Hi,

I have now started a new game with Quasar (i saw an update about one hour ago, pure random luck (or curse)).

I was postponing my Aurora attempts since... years...

Adieu, merci.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on August 27, 2021, 06:35:26 AM
Progress update 2021-08-27:

I have become allies with the Chimbia.  They have already provided significant boosts to my power and propulsion technology by gifting me the lowest one third of their researched tech.  Diplomatic relations continue to strengthen and they have dropped hints that they will soon be sharing all of their known technology.  This would advance my own capabilities by almost unfathomable amounts.  I'm not sure I'm ready to redesign almost every component and ship I have.  It almost feels too easy.

(https://i.imgur.com/iEnrtoW.png)



In addition to technology, the Chimbia provide me with plenty of military protection and trade.  The Chimbia tell stories of two other alien races but I've yet to encounter them.

(https://i.imgur.com/RnbsJnZ.png)



I've finally started branching out and exploring my neighboring systems.  So far I've found alien installations in one system which I am currently deciphering, and mysterious wrecks in another which I have yet to investigate.  I've found several terrestrial worlds that are quite cheap to inhabit and have started settlements on two of them.

(https://i.imgur.com/bl5eSJ7.png)



I just uncovered the jump point to the Zosi system.  So far I've only sent a probe to the other side, but that was enough to gather this surprising data:

(https://i.imgur.com/0WkzigR.png)

Our top scientists have not been able to identify these trace amounts of this mysterious, apparently artificial, gas that appears to be lowering the surface temperature of the planet.  For now, we are calling it "Anti-Greenhouse Gas."  This system is a mere 2 billion km away from Sol as the ship flies, which is much, much closer than predictions we made back in 2025 about how far we'd have to go before being likely to find an alien homeworld.  Has an alien race really grown this fast?  Did we just find a shortcut?  Is this a glitch in the system that needs correcting?  Time will tell.

 

---

Plenty more fixes and a new feature or two since the last progress update.  One new feature I added is a new checkbox on the quasar4x-only Policy tab on the F2 window: "Set selected population as the default destination for mass drivers in its system"

Just before the mass driver phase in the construction cycle, the game will check for populations with at least one mass driver and no destination selected.  If any are found, the game will update their destinations to the checkmarked location so long as there is a mass driver ready to receive packets.

Using this checkbox, you can queue up a fleet order or a contract for a mass driver to be shipped to a given mining population, and not have to worry about remembering to come back to the population screen after delivery to set the mass driver destination.

Note: it's safe to check this box on populations that do not yet have a mass driver.  Automatic assignments of mass driver destinations won't begin until the destination population acquires a mass driver.



Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on August 30, 2021, 08:29:20 AM
I feel civilians do produce infrastructure very fast. After I put my initial 1000 Infrastructure and 2 million people on a planet, I can just let the build infrastructure on their own and never have to take care of having to send more infrastructure - even if I don't start terraforming. Of course if I shovel people there without end I have to take care of infrastructure. But if I don't I simply can add limited numbers of colonists and let them keep building on their own.

Generally I think it is ok this way - I was just wondering if that is a one on one compared to VB6 Aurora or the new C#. It never felt that "easy" to let civilians build on their own in the two "originals".
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Agm-114 on August 31, 2021, 11:48:44 AM
Is there a way to slow down research? So used to 10-20% speed from C#-Aurora that it feels like a superrush in Quasar... .
Yes, I have a DB mod that did this. The update broke it but when I fix it I'll post it.
I wanted more expensive techs but not components. So if you just modified research labs that might work better.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on August 31, 2021, 02:58:43 PM
Is there a way to slow down research? So used to 10-20% speed from C#-Aurora that it feels like a superrush in Quasar... .
Yes, I have a DB mod that did this. The update broke it but when I fix it I'll post it.
I wanted more expensive techs but not components. So if you just modified research labs that might work better.
Either modifying the labs or waiting for Kyle to add a modifier  ;)
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on August 31, 2021, 03:16:06 PM
In terms of technology research, I was always thinking that a slight modification would move the game a bit closer to realism. Usually, research is more focused on during the war and less intensive during peacetime. Because during wartime any small advantage is needed to outwit the enemy. But during peacetime, a bigger leap in technology is acceptable due to no immediate threat. And it is, therefore, more acceptable that it takes a longer time for new technology to be researched.

Let's say we have Drive class E which gives us 10 EP per HS. The next tech would give us 20 EP per HS but it would take 75.000 RP. But war breaks out and the enemy is faster than us. So a drive with 14 EP per HS could help us out quite a lot. And if we could research that for 25.000 RP, we could benefit from it and use it during the war.
The war ends and we want to research the 20 EP drive. But since we already researched the 14 EP drive for 25.000 RP we can research the 20 EP drive for 62.500 now. Of course, in total, we have paid more RP than by directly researching the 20 EP drive - but we did it to gain an advantage in war.

Speaking in general: once a new engine type (or any research stack for that matter) is researched it should open a list of possible new research options like this:

12 EP Drive: 15.000 RP
14 EP Drive: 25.000 RP
16 EP Drive: 40.000 RP
18 EP Drive: 55.000 RP
20 EP Drive: 75.000 RP

50% of any RP of the intermediate techs (12-18 EP) is subtracted from the final tech. And usually, you would jump to the final tech - except you now do have options during times of war and have to make a decision if it is worth the effort. I also think there are several tech lines that could benefit from this... .
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on September 01, 2021, 12:03:05 PM
Is there a way to slow down research? So used to 10-20% speed from C#-Aurora that it feels like a superrush in Quasar... .
Yes, I have a DB mod that did this. The update broke it but when I fix it I'll post it.
I wanted more expensive techs but not components. So if you just modified research labs that might work better.

Here's what I'm thinking of doing in the next release or two.  I want to have two modifiers you can change on the Game Details page, one for core tech and one for racial tech.  But I don't want to lose the "feel" of how much work is represented by, say, 1000 RP, and I especially wouldn't want 1000 RP to represent different amounts of work depending on whether the tech was racial.  So I would have modifiers that affect the development costs of technologies and research projects themselves.  Any time the game selected TechSystem.DevelopCost from the db, it would now multiply that by the modifier.  So, for example, if you changed the core technology modifier from 100% to 200%, Gravitational Survey Sensors would cost 4000 RP, rather than the standard 2000 RP they cost now. 
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on September 02, 2021, 12:23:15 AM
Do you have any plans of building a ship construction queue similar to the planet construction queue? Would be a nice QoL  ;D
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on September 02, 2021, 03:41:27 PM
When your production chain breaks due to mineral shortages your nation gains massive amounts of money due to the workers still producing wealth that is no longer used by the production. Since the workers are basically on short work should not any slowed production also minimize the income of wealth? Those people cannot pay taxes anymore... .

I think this was the same in VB6 - but maybe it would make sense to change?
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on September 02, 2021, 04:05:17 PM
Do you have any plans of building a ship construction queue similar to the planet construction queue? Would be a nice QoL  ;D

I do want to improve QoL for these types of things at some point but for now I'm sticking to simpler changes that keep the UI layout as faithful to VB6 as possible.


When your production chain breaks due to mineral shortages your nation gains massive amounts of money due to the workers still producing wealth that is no longer used by the production. Since the workers are basically on short work should not any slowed production also minimize the income of wealth? Those people cannot pay taxes anymore... .

I think this was the same in VB6 - but maybe it would make sense to change?

Yep should be the same as VB6.  At this point I have no plans to make any balance-related changes to the game. 
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: iceball3 on September 02, 2021, 05:08:55 PM
Aurora, as is, doesn't really wrestle with financial losses due to unemployment as is. A full overhaul would be necessary to make a lot of the numbers make sense beyond a significant abstraction, so is probably out of scope for the time being imo. Could be something for a mod maybe :P
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on September 03, 2021, 12:49:22 AM
Sounds like an idea to create this as a mod. Do you know someone who would look into this?
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Tuli on September 05, 2021, 04:52:30 PM
Same problem as Aurora.  Resize please.  Y have 1366x768 screen.  Sorry! Thanks!
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on September 05, 2021, 07:21:08 PM
Same problem as Aurora.  Resize please.  Y have 1366x768 screen.  Sorry! Thanks!

In the main menu, you can use Quasar4x > Settings > Shrink to fit small displays
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on September 06, 2021, 08:07:10 PM
Is there a way to slow down research? So used to 10-20% speed from C#-Aurora that it feels like a superrush in Quasar... .
Yes, I have a DB mod that did this. The update broke it but when I fix it I'll post it.
I wanted more expensive techs but not components. So if you just modified research labs that might work better.

Here's what I'm thinking of doing in the next release or two.  I want to have two modifiers you can change on the Game Details page, one for core tech and one for racial tech.  But I don't want to lose the "feel" of how much work is represented by, say, 1000 RP, and I especially wouldn't want 1000 RP to represent different amounts of work depending on whether the tech was racial.  So I would have modifiers that affect the development costs of technologies and research projects themselves.  Any time the game selected TechSystem.DevelopCost from the db, it would now multiply that by the modifier.  So, for example, if you changed the core technology modifier from 100% to 200%, Gravitational Survey Sensors would cost 4000 RP, rather than the standard 2000 RP they cost now.

This is now available in version 166
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Tuli on September 07, 2021, 07:05:27 PM
Quote from: Kyle link=topic=10149. msg154960#msg154960 date=1630887668
Quote from: Tuli link=topic=10149. msg154959#msg154959 date=1630878750
Same problem as Aurora.   Resize please.   Y have 1366x768 screen.   Sorry! Thanks!

In the main menu, you can use Quasar4x > Settings > Shrink to fit small displays

Thanks Kyle! Now I can play but. . .  is to small i think haha.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Doc on September 09, 2021, 05:50:25 PM
Do you intend to add a game option to modify terraforming or survey time?
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on September 10, 2021, 04:56:40 PM
Three QoL suggestions:

a) I sometimes misclick between the two commands "refuel from colony" and "resupply from colony"... always getting ships stranded unintentionally. If we could colorize the available actions to easier detect them and not misclick so often, I would appreciate this. In general all tables could benefit from the option to be able to colorize the elements... .

b) The individual columns of tables like the "Ships in Task Group" - I happen to have long ship class names and have to drag the window very wide so I can see the full name of the class. If the width of the columns wouldn't be fixed but rather be changeable in their individual width, I would also appreciate this (and not waste space on overlong other columns so I can see one specific in full ;-)

c) We can move the galactic map around with middle mouse button and as long as we don't close the game that changed position is remembered. But gets lost when we have exit the game. Can that position be saved?
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on September 11, 2021, 05:12:06 AM
Could you add in the class design window the Hull Abbreviations in the "Class" dropdown? It would make finding ship classes easier. Basically that it looks like in the "Manage Shipyards" "Assigned Class"-Tab.

Also if a ship name has the added (P) for Prototype elements, when you want to change the name of that class, the "(p)" is included in the name field, and if you don't delete it, it becomes a permanent element of the ship class name.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on September 11, 2021, 01:01:34 PM
b) The individual columns of tables like the "Ships in Task Group" - I happen to have long ship class names and have to drag the window very wide so I can see the full name of the class. If the width of the columns wouldn't be fixed but rather be changeable in their individual width, I would also appreciate this (and not waste space on overlong other columns so I can see one specific in full ;-)

You can mouse over the class name to see the full class name.  The same is true for any other table layout in the UI as well.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on September 11, 2021, 02:14:59 PM
b) The individual columns of tables like the "Ships in Task Group" - I happen to have long ship class names and have to drag the window very wide so I can see the full name of the class. If the width of the columns wouldn't be fixed but rather be changeable in their individual width, I would also appreciate this (and not waste space on overlong other columns so I can see one specific in full ;-)

You can mouse over the class name to see the full class name.  The same is true for any other table layout in the UI as well.
Ah...  :D
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on September 11, 2021, 03:47:43 PM
When creating a new game with a SpaceMaster Empire, I created a new system and wanted to modify the atmosphere. But the button in the system view does nothing and creating a colony with the SM Race doesn't make the colony visible in the economics window. How can I modify the atmosphere so I can create a new race specific to that planet and my idea for a fitting atmosphere?
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on September 11, 2021, 05:46:38 PM
I was quite happy with the civilian shipping. It really seems to work - so I began to use it more and more. Now it seems to got stuck. Are there any rules I have to be aware of so I don't mess up the civilian shipping?
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on September 12, 2021, 09:50:02 PM
When creating a new game with a SpaceMaster Empire, I created a new system and wanted to modify the atmosphere. But the button in the system view does nothing and creating a colony with the SM Race doesn't make the colony visible in the economics window. How can I modify the atmosphere so I can create a new race specific to that planet and my idea for a fitting atmosphere?

I'm pretty sure I fixed this for somebody else in a previous version already.  Do you have SpaceMaster mode enabled?


I was quite happy with the civilian shipping. It really seems to work - so I began to use it more and more. Now it seems to got stuck. Are there any rules I have to be aware of so I don't mess up the civilian shipping?

The only 'gotcha' I can think of is if the amount of trade goods you need to transfer is too small, civilians wont bother picking them up.  They only do pickups that will completely fill their cargo/colonist space.  This includes trade-generated infrastructure and colonists as well. 

If you don't think that's the issue, post the save file in the bug thread and I'll take a look when I can.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on September 13, 2021, 01:39:20 PM
When creating a new game with a SpaceMaster Empire, I created a new system and wanted to modify the atmosphere. But the button in the system view does nothing and creating a colony with the SM Race doesn't make the colony visible in the economics window. How can I modify the atmosphere so I can create a new race specific to that planet and my idea for a fitting atmosphere?
I'm pretty sure I fixed this for somebody else in a previous version already.  Do you have SpaceMaster mode enabled?
Yes, just checked it. V166 and SM is on. I could create a new Empire but I wanted to modify the atmosphere before I do that.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on September 13, 2021, 01:44:06 PM
I was quite happy with the civilian shipping. It really seems to work - so I began to use it more and more. Now it seems to got stuck. Are there any rules I have to be aware of so I don't mess up the civilian shipping?

The only 'gotcha' I can think of is if the amount of trade goods you need to transfer is too small, civilians wont bother picking them up.  They only do pickups that will completely fill their cargo/colonist space.  This includes trade-generated infrastructure and colonists as well. 

If you don't think that's the issue, post the save file in the bug thread and I'll take a look when I can.
I have attached the DB. It contains the SP Game with the civilian transport issue - though it only contains one transfer job. I had deleted all the others to see if that one gets done - but it doesn't. The Source planet is Snowden, target planet is Krügener.

It also contains the MP Game which has the other issue of not being able to modify the atmosphere.

https://drive.google.com/file/d/1T38uRG6iwWrGgB98wdfSFMlGnIjt6Mfz/view?usp=sharing
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on September 13, 2021, 04:06:10 PM
Could you do the coloring of events also on the system view?
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on September 14, 2021, 12:38:04 AM
I was quite happy with the civilian shipping. It really seems to work - so I began to use it more and more. Now it seems to got stuck. Are there any rules I have to be aware of so I don't mess up the civilian shipping?

The only 'gotcha' I can think of is if the amount of trade goods you need to transfer is too small, civilians wont bother picking them up.  They only do pickups that will completely fill their cargo/colonist space.  This includes trade-generated infrastructure and colonists as well. 

If you don't think that's the issue, post the save file in the bug thread and I'll take a look when I can.
I have attached the DB. It contains the SP Game with the civilian transport issue - though it only contains one transfer job. I had deleted all the others to see if that one gets done - but it doesn't. The Source planet is Snowden, target planet is Krügener.

It also contains the MP Game which has the other issue of not being able to modify the atmosphere.

https://drive.google.com/file/d/1T38uRG6iwWrGgB98wdfSFMlGnIjt6Mfz/view?usp=sharing

Try the MP Game again with v167, there was actually a really bad bug introduced in v166 where populations weren't showing on the F2 window for any race other than race id 137.  I hardcoded that for testing and forgot to take it out. 

Im currently working on a really large rewrite of pathing-related code into C++ for a performance boost, so I'm not able to make any other updates right now. The rewrite is done I'm just being really careful and making sure every line out of thousands of lines of code is working properly, so it will still be awhile.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on September 14, 2021, 09:46:27 AM
Try the MP Game again with v167, there was actually a really bad bug introduced in v166 where populations weren't showing on the F2 window for any race other than race id 137.  I hardcoded that for testing and forgot to take it out. 
Yo, works. Thanks  :)
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on September 15, 2021, 06:26:20 AM
I was quite happy with the civilian shipping. It really seems to work - so I began to use it more and more. Now it seems to got stuck. Are there any rules I have to be aware of so I don't mess up the civilian shipping?

The only 'gotcha' I can think of is if the amount of trade goods you need to transfer is too small, civilians wont bother picking them up.  They only do pickups that will completely fill their cargo/colonist space.  This includes trade-generated infrastructure and colonists as well. 

If you don't think that's the issue, post the save file in the bug thread and I'll take a look when I can.
I have attached the DB. It contains the SP Game with the civilian transport issue - though it only contains one transfer job. I had deleted all the others to see if that one gets done - but it doesn't. The Source planet is Snowden, target planet is Krügener.

https://drive.google.com/file/d/1T38uRG6iwWrGgB98wdfSFMlGnIjt6Mfz/view?usp=sharing

For better or worse, it's working similar to VB6.  All your civs frieghters are busy with short-distance trades. Civilians freighters prioritize moving civilian-produced trade goods in the system they are in over government supply contracts that are in different systems.  There's more profit to be made in lots of short deliveries than a few long-distance deliveries.  More profit means more freighters built, which eventually leads to a surplus of freighters that *can* start fulfilling long distance orders.  You can speed up the process with subsidies.  I saw your bug report about the Subsidize button not working; it works on my pre-release build of version 168 with your save file, so if it still doesn't work maybe try again when in v168
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on September 15, 2021, 11:11:21 AM
For better or worse, it's working similar to VB6.  All your civs frieghters are busy with short-distance trades. Civilians freighters prioritize moving civilian-produced trade goods in the system they are in over government supply contracts that are in different systems.  There's more profit to be made in lots of short deliveries than a few long-distance deliveries.  More profit means more freighters built, which eventually leads to a surplus of freighters that *can* start fulfilling long distance orders.  You can speed up the process with subsidies.  I saw your bug report about the Subsidize button not working; it works on my pre-release build of version 168 with your save file, so if it still doesn't work maybe try again when in v168
Yeah in my yearly budged review I saw "subsidise" - so somehow some money got to them - or at least it went into the statistics. Is there a way that you can show something like "free civilian capacity" or list them as busy with civilian contracts? If I knew they were busy I might have guesses what is going on... . Also nice would be some kind of priority option for my transports which I could optionally add if I see a contract isn't done by them. What that option could do is increase the payment I offer them until they say: yeah, worth it ;-)
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on September 17, 2021, 01:15:58 PM
I would like to add a Lagrange Point to a Planet, but it needs X and Y coordinates and a heading - which I can't figure out how to manually calculate (or is there a SM function to add a Lagrange point to an object). How can I do this?
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: trabber Shir on September 18, 2021, 07:15:36 AM
How does the "Terraform Colony" default order work? Does it make a ship with a terraforming module terraform a colony it is orbiting with some sort of AI choosing the gasses to add and remove, or is it necessary for the terraforming module to work at all, or does it cause the taskgroup to fly to the closest colony with a terraforming action specified, or somethig else I am not thinking of at all?
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on September 18, 2021, 07:39:43 AM
I would like to add a Lagrange Point to a Planet, but it needs X and Y coordinates and a heading - which I can't figure out how to manually calculate (or is there a SM function to add a Lagrange point to an object). How can I do this?

You can fill in 0 for X, Y, and Bearing.  They get recalculated and overwritten during orbital movement.


How does the "Terraform Colony" default order work? Does it make a ship with a terraforming module terraform a colony it is orbiting with some sort of AI choosing the gasses to add and remove, or is it necessary for the terraforming module to work at all, or does it cause the taskgroup to fly to the closest colony with a terraforming action specified, or somethig else I am not thinking of at all?

The fleet will move to the nearest colony with a non-zero population, a terraforming gas set to anything other than 'Terraforming Inactive', and a colony cost > 0 and <= 3.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on September 18, 2021, 11:41:03 AM
Sometimes it would be helpful to see what fleets are in a system. Like with the System Map. You can right-click on a dot and perform several actions. Could you add a similar kind of right-click action for the Galactic Map? If you right-click on a ship symbol it opens a list of all fleets actually in that system and you can directly jump to the Task Force entry from there.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on September 18, 2021, 02:11:22 PM
Is there a way to hide civilian ships in the Task Forces List (not the list directly but the target options like "Join Fleet" etc.)
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on September 18, 2021, 04:05:49 PM
Have you thought about implementing repair yards from C#? I just ran into a malfunctioning ship design of myself which has not have enough spare parts to be repaired in the first place due to having not the double amount of maintenance... yeah ;-). Sooooo, I am missing the repair in dockyard - function  ;D ;D
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on September 19, 2021, 01:26:14 AM
An idea: You can mark a ship design as a "Standard Design". This ship design is then available as a "base pattern" in all games in that DB. The idea is to not have to design the "same" ship classes over and over again (geo & grav explorers, transport ships, tankers, troop transports come into mind here), but rather create a new ship class in a new game and then fill that new design with an already existing "base pattern" from one of your earlier games.

Now, the problem here is "race tech". The copy routine can do three checks to circumvent this issue:
a) does the race in your actual game have a race tech with the same parameters as the race tech in the other game? If so exchange that tech against your actual game race tech
b) if no such race tech can be found, does your actual empire have all prerequisite technologies researched? If so generate a race tech with the same parameters
c) If no such technologies can be found offer a drop-down list of all actual race technologies from that category (for example engines, or lasers) and ask the player to exchange the missing tech with one that he already has researched in this game.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on September 19, 2021, 07:00:22 AM
Is there a way to hide civilian ships in the Task Forces List (not the list directly but the target options like "Join Fleet" etc.)

Do you mean the civilian Fuel Harvesters in the System Locations Available list on the Fleet Orders window?  (You can't join those fleets).  They are annoying me too, but it's the only way in the UI to buy fuel from civilians and I do occasionally buy from them.  The problem is I have no more room in the Display Options panel for checkboxes.   I never use the "Survey Locations" and "Exclude Surveyed" checkboxes and they take up two spaces I could use for better purposes such as this one, but.. but... the nostalgia!  the VB6 parity!  The one time 3 months from now I'll need to select a survey location!  For now I'm just putting up with it.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on September 19, 2021, 07:03:41 AM
How do you buy fuel this way from the civilians?!?  ??? :o
Edit: Ah, I see... nice feature  ;)
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Garfunkel on September 19, 2021, 07:05:38 AM
How do you buy fuel this way from the civilians?!?  ??? :o
Give your TG the order "Refuel from Target" and they will drain the civilian harvesters, which automatically costs you some wealth.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on September 19, 2021, 07:13:23 AM
Do you mean the civilian Fuel Harvesters in the System Locations Available list on the Fleet Orders window?  (You can't join those fleets).  They are annoying me too, but it's the only way in the UI to buy fuel from civilians and I do occasionally buy from them.  The problem is I have no more room in the Display Options panel for checkboxes.   I never use the "Survey Locations" and "Exclude Surveyed" checkboxes and they take up two spaces I could use for better purposes such as this one, but.. but... the nostalgia!  the VB6 parity!  The one time 3 months from now I'll need to select a survey location!  For now I'm just putting up with it.
How about this?

(https://i.ibb.co/tBkCwYx/Unbenannt-1.jpg) (https://imgbb.com/)
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on September 19, 2021, 08:32:20 AM
I might be wrong but I think in C# Aurora when upgrading a ship old components are put into storage. I don't think that has been so in VB6. Probably an option for a mod?!?
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on September 19, 2021, 09:43:26 AM
Do you mean the civilian Fuel Harvesters in the System Locations Available list on the Fleet Orders window?  (You can't join those fleets).  They are annoying me too, but it's the only way in the UI to buy fuel from civilians and I do occasionally buy from them.  The problem is I have no more room in the Display Options panel for checkboxes.   I never use the "Survey Locations" and "Exclude Surveyed" checkboxes and they take up two spaces I could use for better purposes such as this one, but.. but... the nostalgia!  the VB6 parity!  The one time 3 months from now I'll need to select a survey location!  For now I'm just putting up with it.
How about this?

(https://i.ibb.co/tBkCwYx/Unbenannt-1.jpg) (https://imgbb.com/)

I'd rather reserve that space for some other QoL feature.  A 'Civ Harvesters' checkbox really belongs in the Display Options panel. Don't worry, eventually the harvesters will bother me enough to do something about it.  ;)


I might be wrong but I think in C# Aurora when upgrading a ship old components are put into storage. I don't think that has been so in VB6. Probably an option for a mod?!?

I had the same thought the other day (didn't know C# did it that way).  It does seem wrong to me that scrapping ships recovers components which can then be scrapped for materials but refitting just deletes them.  I'll wait to see if anyone has any objections to preserving scrappable components on refits, then eventually add the feature probably.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Droll on September 19, 2021, 11:42:11 AM
I had the same thought the other day (didn't know C# did it that way).  It does seem wrong to me that scrapping ships recovers components which can then be scrapped for materials but refitting just deletes them.  I'll wait to see if anyone has any objections to preserving scrappable components on refits, then eventually add the feature probably.

I'm pretty sure the whole scrapped components can be scrapped thing was reported as a bug on C# and fixed as it allowed people to receive more minerals than the initial cost of the ship.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on September 19, 2021, 11:07:54 PM
I had the same thought the other day (didn't know C# did it that way).  It does seem wrong to me that scrapping ships recovers components which can then be scrapped for materials but refitting just deletes them.  I'll wait to see if anyone has any objections to preserving scrappable components on refits, then eventually add the feature probably.

I'm pretty sure the whole scrapped components can be scrapped thing was reported as a bug on C# and fixed as it allowed people to receive more minerals than the initial cost of the ship.

I just had a situation where I upgraded a PDC design from a 2044 model to a 2062 model, and the cost to refit was about 90%.  It's an expensive PDC, so the clear choice is to build a new PDC, and save the old one for use on colonies I don't care as much about.  I didn't like how clear the choice was.  I'd rather be given an opportunity to decide whether I want to keep obsolete and more dangerous PDCs (dangerous due to higher magazine explosion chances) or refit and be given a chance to recover some of the mineral cost by scrapping the older unused components that were removed from the design.  Getting some minerals back makes it a more economically viable option.  There is still a high cost in work and wealth to represent the effort it takes to uninstall and store unused components.

I eyeballed the numbers and I'm not seeing any unfair advantage in minerals recovered.  You pay full price in minerals for components added, and get the full price in minerals of components removed -- the same mineral price you paid to have those old components built originally.  Note that no minerals are recovered from scrapping ships or PDCs, you have to scrap the recovered components to get any minerals back.  Maybe that is the difference from the C# version?

So I'm going to make the change and see how it works out. 

Also, when refitting to a design with higher fuel capacity, VB6 doesn't automatically top off the fuel tanks.  There could be a reason for this, but if there is I haven't thought of it yet.  So unless I come up with a reason not to, I'm going to add auto-refilling to refits as well. 
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on September 20, 2021, 09:34:03 AM
Do you mean the civilian Fuel Harvesters in the System Locations Available list on the Fleet Orders window?  (You can't join those fleets).  They are annoying me too, but it's the only way in the UI to buy fuel from civilians and I do occasionally buy from them.  The problem is I have no more room in the Display Options panel for checkboxes.   I never use the "Survey Locations" and "Exclude Surveyed" checkboxes and they take up two spaces I could use for better purposes such as this one, but.. but... the nostalgia!  the VB6 parity!  The one time 3 months from now I'll need to select a survey location!  For now I'm just putting up with it.
How about this?

(https://i.ibb.co/tBkCwYx/Unbenannt-1.jpg) (https://imgbb.com/)

I'd rather reserve that space for some other QoL feature.  A 'Civ Harvesters' checkbox really belongs in the Display Options panel. Don't worry, eventually the harvesters will bother me enough to do something about it.  ;)

A solution finally occurred to me.  In the next version, civilian harvesters in the same location with the same max speed will merge into a single fleet.  This reduced the number of civ harvester fleets listed in my orders window from 20 to 5.  There's still no way to completely hide them from the list, but it *does* have the added benefit of the improved performance of fewer fleets, and if you want to buy a really large amount of fuel at once, you can get it all from one civ fleet rather than having to order a refuel from a dozen single-ship fleets.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on September 20, 2021, 09:45:22 AM
Solutions present themselves after a night of sleeping over the "problem"  ;D ;)
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on September 20, 2021, 01:39:43 PM
Solutions present themselves after a night of sleeping over the "problem"  ;D ;)

Indeed!  I use this method as often as I can.


Could you do the coloring of events also on the system view?

This will be added in v171
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: trabber Shir on September 21, 2021, 09:20:05 AM
Will the default order "Load Fuel at Harvester" buy fuel from civilian harvesters?

I have the same question for the conditional order to refuel from tankers now that I think about it. My civilian lines are beating me to deploying harvesters in my outlying systems.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on September 21, 2021, 11:40:03 AM
The joining of the civilian harvesters - could you add some kind of information on how much fuel each fleet contains? Would make it easier to see how many fleets I have to refuel from.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on September 21, 2021, 02:30:35 PM
Will the default order "Load Fuel at Harvester" buy fuel from civilian harvesters?

No, but I will probably add a "Purchase Fuel from Civilian Harvester" default order at some point.


I have the same question for the conditional order to refuel from tankers now that I think about it. My civilian lines are beating me to deploying harvesters in my outlying systems.

Conditional orders won't buy fuel from civ harvesters either.


The joining of the civilian harvesters - could you add some kind of information on how much fuel each fleet contains? Would make it easier to see how many fleets I have to refuel from.

I needed this just a little while ago :)  In the v172 the civ harvesters will be listed in the Fleet Order targets list like so:

FH Lucas H4 083 (190k Fuel, 17% full)
FH Lucas H6 088 (890k Fuel, 14% full)
FH Lucas H6 129 (120k Fuel, 10% full)
FH Miah H3 054 (90k Fuel, 16% full)
FH Miah H6 114 (420k Fuel, 6% full)
FH Ward H6 001 (70k Fuel, 8% full)

I'm also moving them all below the player fleets so they aren't right in the middle of them any more.

Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: trabber Shir on September 22, 2021, 01:07:48 AM
Is there a way to remove the first order from a queue of orders?

My use case is a tanker that buys fuel from all the civilian harvesters in a system and then delivers that fuel to the capital on a loop. Whenever a civilian fleet is disbanded it pauses and spamms me with "Destination task group not found ..." messages until I remove all orders and start over.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on September 22, 2021, 01:28:47 AM
Is there a way to remove the first order from a queue of orders?

Unfortunately not.  It would be messy to implement and likely to introduce new problems.


My use case is a tanker that buys fuel from all the civilian harvesters in a system and then delivers that fuel to the capital on a loop. Whenever a civilian fleet is disbanded it pauses and spamms me with "Destination task group not found ..." messages until I remove all orders and start over.

I can add a default order to buy fuel from harvesters in the next version or so.

For v173 I've changed it so that when fleets merge, they will always merge into the fleet with the lowest ID.  That will greatly reduce the chances that your target will disappear.

Meanwhile, can you try this?  Set up the loop of orders with the last order being to purchase from the harvester.  Then remove the last order and save as an Order Template.  When the errors start happening, remove all orders, reload the template, and add a new last order to buy from a different harvester.  (Or harvesters)
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: trabber Shir on September 22, 2021, 01:49:20 AM
Ah, order templates is a feature I had not noticed before. I used them in C# last time I played that (about a year ago I think) but forgot about them since starting Quazar and had not noticed them to remind me.

But, my orders are actually pretty simple aside from the buying. There are 10 civilian harvester fleets around that planet and the annoying part is going through to click each one (less annoying since they merged into 10 fleets, but still enough to be annoying) and my tanker is big enough that I just have it buying everything they have then unloading at Earth on repeat.

Thank you much for the reminder about templates, some other workflows just got simpler.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on September 28, 2021, 04:01:32 PM
I was quite happy with the civilian shipping. It really seems to work - so I began to use it more and more. Now it seems to got stuck. Are there any rules I have to be aware of so I don't mess up the civilian shipping?

The only 'gotcha' I can think of is if the amount of trade goods you need to transfer is too small, civilians wont bother picking them up.  They only do pickups that will completely fill their cargo/colonist space.  This includes trade-generated infrastructure and colonists as well. 

If you don't think that's the issue, post the save file in the bug thread and I'll take a look when I can.
I have attached the DB. It contains the SP Game with the civilian transport issue - though it only contains one transfer job. I had deleted all the others to see if that one gets done - but it doesn't. The Source planet is Snowden, target planet is Krügener.

https://drive.google.com/file/d/1T38uRG6iwWrGgB98wdfSFMlGnIjt6Mfz/view?usp=sharing

For better or worse, it's working similar to VB6.  All your civs frieghters are busy with short-distance trades. Civilians freighters prioritize moving civilian-produced trade goods in the system they are in over government supply contracts that are in different systems.  There's more profit to be made in lots of short deliveries than a few long-distance deliveries.  More profit means more freighters built, which eventually leads to a surplus of freighters that *can* start fulfilling long distance orders.  You can speed up the process with subsidies.  I saw your bug report about the Subsidize button not working; it works on my pre-release build of version 168 with your save file, so if it still doesn't work maybe try again when in v168
Yeah in my yearly budged review I saw "subsidise" - so somehow some money got to them - or at least it went into the statistics. Is there a way that you can show something like "free civilian capacity" or list them as busy with civilian contracts? If I knew they were busy I might have guesses what is going on... . Also nice would be some kind of priority option for my transports which I could optionally add if I see a contract isn't done by them. What that option could do is increase the payment I offer them until they say: yeah, worth it ;-)

Ok so I'm getting annoyed by this myself now. I'm currently testing a few changes I made for the next version:

- Civilian freighters will no longer transport infrastructure between different empires.  It was creating a black hole of my civs endlessly delivering infrastructure to my NPR trading parters, grinding all other trade to a halt.

- a slight re-ordering of priorities so that long distance contracts tend to be prioritized over other long distance trades

- And a potential game changer:  I added a new default order simply called "Fulfil a contract."  You can assign this default order to your freighters and they will start fulfilling your supply and demand civilian contracts.  The list of contracts at a colony will show your freighters en route to pick up and drop off, just like it does for civilian ships. 

I expanded the quasar-only 'auto-refuel ships that resupply here' policy checkbox to include fleets that drop off or pick up cargo, so your "Fulfil a contract" freighters wont run out of fuel as long as you keep your supply or demand populations stocked with fuel.

If all goes well with testing I should have version 175 with these changes ready soon.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Droll on September 28, 2021, 07:08:40 PM
- And a potential game changer:  I added a new default order simply called "Fulfil a contract."  You can assign this default order to your freighters and they will start fulfilling your supply and demand civilian contracts.  The list of contracts at a colony will show your freighters en route to pick up and drop off, just like it does for civilian ships. 

I may just finally decide to start a quasar playthrough now lol. I'm guessing this won't have trouble handling cargo groups who have multiple cargo ships in them.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on September 29, 2021, 08:44:39 AM
- And a potential game changer:  I added a new default order simply called "Fulfil a contract."  You can assign this default order to your freighters and they will start fulfilling your supply and demand civilian contracts.  The list of contracts at a colony will show your freighters en route to pick up and drop off, just like it does for civilian ships. 

I may just finally decide to start a quasar playthrough now lol. I'm guessing this won't have trouble handling cargo groups who have multiple cargo ships in them.

Yep, although cargo fleets are allowed to take contracts even if it wont make a full load, leading to some fuel inefficiency. 
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: trabber Shir on September 29, 2021, 09:36:59 AM
Is there a way to change the orders for civilian colony ships directly? I deleted a Pop which was created accidentally and now I am getting 77 "Orders not possible" messages every 2 hours from civilian colony ships that are trying to deliver colonists to that pop.

Luckily, I thought to backup the DB before abandoning the pop so, will re-load that and handle this in a different way for now, but would like to know for the future how to actually deal with this situation.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on September 29, 2021, 10:09:28 AM
Is there a way to change the orders for civilian colony ships directly? I deleted a Pop which was created accidentally and now I am getting 77 "Orders not possible" messages every 2 hours from civilian colony ships that are trying to deliver colonists to that pop.

Luckily, I thought to backup the DB before abandoning the pop so, will re-load that and handle this in a different way for now, but would like to know for the future how to actually deal with this situation.

Yep, the 'Clear Orders' button on the Shipping Lines window.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: trabber Shir on September 29, 2021, 12:13:57 PM
Is it possible to disassemble a PDC to move it between colonies?

I just realized I still have 20 Missile Complexes on earth and I would love to keep the super experienced crews by upgrading rather than scrapping them, but I do not need 20 of my newer PDCs on earth.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on September 29, 2021, 03:57:32 PM
Is it possible to disassemble a PDC to move it between colonies?

Nope


I just realized I still have 20 Missile Complexes on earth and I would love to keep the super experienced crews by upgrading rather than scrapping them, but I do not need 20 of my newer PDCs on earth.

For whatever it's worth, you do get back the ship's Crew * GradePoints / 100 edit: forgot you cant scrap PDC's so this doesn't apply
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: trabber Shir on September 29, 2021, 04:57:26 PM
I am working on a spreadsheet to optimize missiles and the formula for how missile engine size affects fuel efficiency would be quite useful, but I having great difficulty reverse engineering that. Is there any chance you can direct me to somewhere it is posted (or post it here)?
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on September 29, 2021, 11:45:13 PM
I am working on a spreadsheet to optimize missiles and the formula for how missile engine size affects fuel efficiency would be quite useful, but I having great difficulty reverse engineering that. Is there any chance you can direct me to somewhere it is posted (or post it here)?

You can find the formulas in this spreadsheet (https://docs.google.com/spreadsheets/d/1mQ3PJGxqgK4fvWSdjWkSPt3QebO2jLlcngxNFTiIdys/edit?usp=sharing)
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: trabber Shir on September 30, 2021, 09:56:52 AM
Is Maneuver rating truncated to an integer for actual collision calculations or just for the system parameters display?

I find it strange that a missile can be made objectively better by subtracting 0.008 MSP of hardware devoted to agility. ... extremely odd for a video game despite actually being somewhat realistic. Speed changes due to the changed mass, but due to rounding (or according the that spreadsheet you linked, truncation) of the maneuver rating, the added agility has no effect. Really the confusing behavior is due to different rounding rules being applied in different parts of the equation.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on September 30, 2021, 12:11:00 PM
Is it possible to disassemble a PDC to move it between colonies?
Nope
Nevertheless an interesting idea... disassemble PDC into prefabs, ship them around, reassemble them...
Maybe you can add PDCs into the civilian shipping tab  ;D
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: trabber Shir on September 30, 2021, 02:03:44 PM
Continuing down the needlessly over detailed missile optimization route. Does missile range (in parctice) care about travel times less than 5 seconds? In other words, if a missile ends a sub pulse with 2 seconds of fuel remaining and the target is still 4 seconds of travel away, will it run out of fuel? What is the target is 1 second of travel away?
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on October 01, 2021, 10:58:07 AM
I don't remember if I already asked this. Sorry if so. But do you have any plans to include Repair Yards as we have now in C#?
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: 5742k on October 01, 2021, 04:01:59 PM
Seriously impressive work, thanks for Quasar4x!
Would it be possible to add an option for the original VB color scheme? Also, the "Shrink to fit small displays" options reduces the font size and increases eye strain drastically, making it (at least for me) unusable.   The original VB Aurora reduced blank spaces in the UI while keeping the same font size, perhaps this could be an alternative.   
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on October 02, 2021, 12:24:45 AM
In the menu is an entry "Quasar4x" where you can open the settings. There is an option to "Shrink to fit small displays". You can try that.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on October 02, 2021, 12:28:26 AM
QoL: When building new ships and your shipyard has more than one slipway the target task group is reset to <None Selected> when you click on the "Add Task" button. So for the next slipway, you again have to select a new task group. Usually, I build all to the same task group. Can you change this reset to only happen when there are no more free slipways left?  :)
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on October 02, 2021, 02:35:25 AM
When you build a fighter the number of build fighters is also set to 0 after the production is added. If you simply select a new fighter and create another production, it is added with 0 as the number to produce.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on October 02, 2021, 11:46:42 AM
When you want to release a ship with a tug into a fleet, the command releases the ship but as a separate fleet - not into the fleet you selected as a move-to-target. Maybe you can create a "release to fleet" task?
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on October 04, 2021, 12:15:30 PM
I have an ally which is sharing his grav and geo information with me. Recently I received a finishing message of a grav survey and wanted to redeploy my ship - but there was none. So the info came from the ally. I don't know but it might make sense to have those messages separate, or marked somehow that a survey finish came from an ally, not from your own ships and efforts. Or?
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: xenoscepter on October 04, 2021, 12:37:33 PM
 --- Would it be possible to get a "No Ground Forces for Conventional Start" option at GameGen? Upgrading them all one by one is pain... or rather it was pain in VB6. Unless you've implemented some way to avoid having to click them all one by one already?
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on October 06, 2021, 12:13:34 PM
QoL: When building new ships and your shipyard has more than one slipway the target task group is reset to <None Selected> when you click on the "Add Task" button. So for the next slipway, you again have to select a new task group. Usually, I build all to the same task group. Can you change this reset to only happen when there are no more free slipways left?  :)

Press the Default Fleet button a couple rows below that menu to fix this problem.  I know it could be designed better but for now, that's how to deal with it.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on October 06, 2021, 01:55:40 PM
Is Maneuver rating truncated to an integer for actual collision calculations or just for the system parameters display?

Yes, it's truncated for actual collision.  Same as VB6.  (The truncated man rating is stored in the Missiles.MR field in the DB, an integer field type, at time of design)


I find it strange that a missile can be made objectively better by subtracting 0.008 MSP of hardware devoted to agility. ... extremely odd for a video game despite actually being somewhat realistic. Speed changes due to the changed mass, but due to rounding (or according the that spreadsheet you linked, truncation) of the maneuver rating, the added agility has no effect. Really the confusing behavior is due to different rounding rules being applied in different parts of the equation.

Thankfully I can just wave my hand at this and say "that's how VB6 does it" :)


I don't remember if I already asked this. Sorry if so. But do you have any plans to include Repair Yards as we have now in C#?

I do not


Seriously impressive work, thanks for Quasar4x!
Would it be possible to add an option for the original VB color scheme? Also, the "Shrink to fit small displays" options reduces the font size and increases eye strain drastically, making it (at least for me) unusable.   The original VB Aurora reduced blank spaces in the UI while keeping the same font size, perhaps this could be an alternative.   

I have no plans for adding alternate color schemes.  It is possible to do with the modding tools provided if you know how Godot works and can thus extract and manipulate the themes and styles packed into the game, albeit not a fun or easy task to undertake.

I have no plans to support displays smaller than 1080p beyond the current implementation of the current "Shrink to fit small displays" option, sorry.


--- Would it be possible to get a "No Ground Forces for Conventional Start" option at GameGen? Upgrading them all one by one is pain... or rather it was pain in VB6. Unless you've implemented some way to avoid having to click them all one by one already?

Possibly, but it's not a priority for me right now.  After creating a new game you can delete ground units with SM to replicate this setting, unless I'm forgetting some nuance or other related to this.



Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on October 06, 2021, 02:12:33 PM
When you build a fighter the number of build fighters is also set to 0 after the production is added. If you simply select a new fighter and create another production, it is added with 0 as the number to produce.

This will be fixed at some point, for now you'll just have to re-type in the number, sorry. I know it's annoying.


When you want to release a ship with a tug into a fleet, the command releases the ship but as a separate fleet - not into the fleet you selected as a move-to-target. Maybe you can create a "release to fleet" task?

This workflow does need work for sure; the QoL is not as good as it could be. 

On the 2nd tab of the Fleet Orders window there's a "Detach tugs when no longer needed" checkbox.  You can check this box on the primary fleet.
 Then you can tell the tug+payload fleet to join the main fleet, and the tug will be automatically detached afterwards.  The only problem with this method is it creates a new tug fleet with an auto-generated name and none of the prior settings the old tug fleet had, which does get annoying.

The other option is to just release tractored ships at the primary fleet's location, and periodically manually merge them all together.  This is still a step better than VB6, because you can release at the fleet's location rather than the colony's location, making it a little easier to find the target in your list of possible destinations.  (for example, "Release Tractored Ships Miner TG" instead of "Release Tractored Ships Asteroid #6")


I have an ally which is sharing his grav and geo information with me. Recently I received a finishing message of a grav survey and wanted to redeploy my ship - but there was none. So the info came from the ally. I don't know but it might make sense to have those messages separate, or marked somehow that a survey finish came from an ally, not from your own ships and efforts. Or?

It's how VB6 does it but I agree it should be made clearer. 
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on October 08, 2021, 02:45:45 PM
In my test game, I have one NPR that is my ally. I didn't pay much attention to him - only to find out that he has created a bunch of small outposts all over the place. There really is no good way to keep track of enemy movements other than pinning it down every time something shows up and you have to make sense of your notes to see, what your ally or enemy is moving around. Well, that is how it is in reality - so no complaints there. I was wondering though if there could be something added that gives you a visual history of your allies' and enemies' movements - so you don't have to pin it down manually. Any ideas what could make sense? One thing that would definitely make sense is that we could get a note of all the colonies you detect whilst flying around. They are simply notes in the log, but they are not recorded in the info for alien races. I would definitely love to see that recorded there.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on October 09, 2021, 10:00:26 AM
"New Allied Contact" - Population detected - but it doesn't tell you on which body
"Allied Contact Update" - A contact has been lost on ... - and it does tell you on which body

Can you add the body information for "New Allied Contact"?
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Drgong on October 10, 2021, 12:40:04 AM
Just want to say thank you for making this a linux option, I have a Linux laptop and I never was able to get C# working on it, the idea that I could get VB style play on my laptop just warms my heart, let alone that it by all accounts does not bog down as bad as VB6.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on October 12, 2021, 01:41:33 PM
How exactly are fleets refueled when they are set to "Fulfill a contract"? It every now and then happens that a ship in those fleets are without fuel. Usually equalizing fuel and then let them continue works and they get refill at some place where there is fuel. I.e. I do have fuel at my base planets but not on the target planets for automines etc. Do the fleets auto return to the place they came from?
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on October 13, 2021, 06:40:06 AM
How exactly are fleets refueled when they are set to "Fulfill a contract"? It every now and then happens that a ship in those fleets are without fuel. Usually equalizing fuel and then let them continue works and they get refill at some place where there is fuel. I.e. I do have fuel at my base planets but not on the target planets for automines etc. Do the fleets auto return to the place they came from?

On the Population window (F2), there is a new tab for Q4X called Policy, and a checkbox to auto-refuel fleets when they do certain things at that colony.  Specifically,

"Fleets that complete an order to resupply, overhaul, load cargo, unload cargo, load colonists, or unload colonists at this population will also have their fuel topped off when possible."

This is the intended way to keep fleets with "Fulfill a contract" fueled.  It also works for default and manual orders that perform the above actions.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on October 19, 2021, 03:08:25 PM
Copied from a suggestion I made for C#:

When your empire grows a lot, setting up routes becomes a bit tedious. Especially when the galaxy becomes more like a cross-grid where you can go from one point to another by several routes, not remembering which one is the quickest. I thought to circumvent this by saving a route order template with just the jump points - but that of course doesn't help because you have to save it in the destination system - to which you have no access in the source system.

Is there a way to make this possible?
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on October 20, 2021, 11:12:12 AM
For C# Steve had changed the hard 10% Fuel for Fuel Ships to a number you can enter for each ship. Especially for really big ships, it made no sense that they kept millions of liters of fuel for themselves. Maybe also something for Quasar?
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on October 25, 2021, 09:29:09 AM
The "bug" that a fleet not at max speed is set to max speed after doing a system jump is quite annoying. I was wondering if this is a setting or hardcoded behaviour (i.e. a bug). Does someone know if I can set a fleet in a way that it does not go to max speed after a system jump?
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on October 27, 2021, 08:31:29 AM
Progress update 2021-10-27:

I think my work on Quasar can be best compared to seasons of a TV show.  I will spend many months, maybe over a year, actively and aggressively working on the project, then taking months of a break spending time on work/family and other hobbies.  Much like anyone else's hobby I'm sure!  I'm currently in between seasons for an unknowable amount of time, but fortunately the game is feature complete as far as my initial goals for the project (other than Invaders which I'm not too concerned about) AND is getting to be quite stable after many dozens of fixes, so I can more or less call it a finished project with an asterisk that there is always more that could be done some day in the future. 

I have no estimate on when the next "season" will begin, but I am continuing to fix any bugs that are reported.


Copied from a suggestion I made for C#:

When your empire grows a lot, setting up routes becomes a bit tedious. Especially when the galaxy becomes more like a cross-grid where you can go from one point to another by several routes, not remembering which one is the quickest. I thought to circumvent this by saving a route order template with just the jump points - but that of course doesn't help because you have to save it in the destination system - to which you have no access in the source system.

Is there a way to make this possible?

I have felt this pain myself, and will work on QoL for this in the next "season" :)


The "bug" that a fleet not at max speed is set to max speed after doing a system jump is quite annoying. I was wondering if this is a setting or hardcoded behaviour (i.e. a bug). Does someone know if I can set a fleet in a way that it does not go to max speed after a system jump?

Should be fixed now, please verify!   
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on October 27, 2021, 10:23:49 AM
Progress update 2021-10-27:
The "bug" that a fleet not at max speed is set to max speed after doing a system jump is quite annoying. I was wondering if this is a setting or hardcoded behaviour (i.e. a bug). Does someone know if I can set a fleet in a way that it does not go to max speed after a system jump?
Should be fixed now, please verify!
I am off to Hamburg for some days. Will check on the weekend :-) - And yes, this error occurred during jumps not when sending out messages.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Overlordscom on November 13, 2021, 08:26:27 AM
Hi.    I have a problem to run Quasar 4x.   
When I run game with command line I see this:

Last login: Fri Nov 12 22:49:15 on ttys000
/Applications/Quasar4x.   app/Contents/MacOS/Quasar4x ; exit;                     
mr.   m@MacBook-Pro-Misha ~ % /Applications/Quasar4x.   app/Contents/MacOS/Quasar4x ; exit;
arguments
0: /Applications/Quasar4x.   app/Contents/MacOS/Quasar4x
OpenGL ES 3.   0 Renderer: Intel(R) Iris(TM) Plus Graphics 640
ERROR: init_library: Condition ' lib_path.   length() == 0 ' is true.   
   At: modules/gdnative/nativescript/nativescript.   cpp:1031.   
Creating new DB
ERROR: copy: Failed to open res://quasar4x.   sqlite
   At: core/os/dir_access.   cpp:304.   
WARNING: Couldn't copy res://quasar4x.   sqlite to user://quasar4x.   sqlite
zsh: segmentation fault  /Applications/Quasar4x.   app/Contents/MacOS/Quasar4x

[Process completed]

Help me please.     :)
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on January 13, 2022, 05:31:11 PM
Progress update 2022-01-13:

Version 182 is available (patch notes (http://aurora2.pentarch.org/index.php?topic=11974.msg158085#msg158085)).  Here are some features:


More QoL for the F3 System Map UI

The Icon bar can now be popped out independently of the F3 window, and it will be always on top.  Its position and popout status can be saved in the Q4X Settings window.  This icon bar can be used in lieu of the oldschool windows taskbar in Aurora VB6. 

(https://i.imgur.com/kR3IsRP.gif)


The time buttons can be popped out in the same way:

(https://i.imgur.com/nBu5lDR.gif)



If you don't want to pop out the time buttons but you like the compact UI for the sub pulse buttons, there is an option to change the buttons to a dropdown menu in Q4X Settings:

(https://i.imgur.com/Bbzr54N.png)


Option to disable experience gains for diplo teams without a target

There is a new checkbox on the Game Details window.  Previously, diplomatic teams would periodically gain experience whether or not they were assigned to a specific alien race.  This meant the optimal strategy would be to create some diplo teams at the very start of the game before encountering any aliens, so their diplomatic score would be high by the time the first alien race was encountered.  This, in turn, led to a very high chance of befriending every other NPR, resulting in a passive game where free technology and survey data was abundant and conflict virutally non-existant.  (At least, this is what happened in my campaign.)

To mitigate this outcome, you can uncheck this box so that diplomatic teams will no longer gain experience unless they are assigned to a specific alien race.  This will make it more difficult to befriend the first NPR you encounter.

If you want the classic / original behavior, leave the box checked.



Other updates

Previously, on the Q4X Settings window there was an option to make a backup after each turn.  Now, there are more flexible options for this setting:

(https://i.imgur.com/EU7ZGcm.png)


There were numerous bug fixes to NPRs not easily noticeable from the player's point of view.

There were numerous changes to reduce increment shortening, especially in systems with no player presence.

There were a few optimizations done that significantly improved turn times in the later game.

A few bugs with parasites were fixed, particularly: fixed: parasite magazines weren't auto-reloaded when landing on a mothership



Q4X is pretty much at its final state now, barring any other fixes.   From here, I'm most likely going to split the project into two: its current form, which will continue to get more fixes if any are reported, and a long term experimental branch just for me where I finally allow myself to significantly deviate from Aurora VB6's UI layout in order to add more ways to automate things and whatever else comes to mind.  If I come up with anything good I will post it.


Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: drakonbane on January 13, 2022, 06:07:33 PM
Youve done an amazing job Kyle.  thanks for all the hard work youve put in! As a game designer myself, its been pretty awesome to see your progress month after month.  Excited to see what you come up with next.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Stormtrooper on January 13, 2022, 08:14:04 PM
How can I add installations to the planet via SM? Turned SM on (I'm sure since atmosphere editing worked just fine), went to the industry tab but can't do anything, there's "SM add" button, but it remains inactive and nothing happens (obviously) if I click on it, regardless whether I have project created or not.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Kyle on January 19, 2022, 03:12:15 PM
How can I add installations to the planet via SM? Turned SM on (I'm sure since atmosphere editing worked just fine), went to the industry tab but can't do anything, there's "SM add" button, but it remains inactive and nothing happens (obviously) if I click on it, regardless whether I have project created or not.

It's SM Mods button at the bottom of the F2 window:

(https://i.imgur.com/NIg8PYl.png)
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Stormtrooper on January 19, 2022, 04:39:21 PM
Thanks, will check it out next time I have to edit buildings as I already ended up doing it via db editing.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Stormtrooper on January 27, 2022, 04:30:19 PM
How am I supposed to load ground units? I have 3 ships with 6 troop transport bays each, fleet screen says I can load 18 batallions (whatever that means), tried to load some units, turns out I can't load even a single low tech infantry because of "insufficient capacity". There is no research for bigger transport bays or increased capacity whatsoever.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: nuclearslurpee on January 27, 2022, 04:45:06 PM
For Quasar you'll need to refer to the old VB6 pages on the wiki, etc. such as the Ground Forces page here (http://aurorawiki.pentarch.org/index.php?title=Ground_forces). Ground forces in particular are one of the biggest changes from VB6 --> C# so you will basically need to forget everything you know from C# in this area.

The low-tech divisions you start with in a conventional start are size 50, while a TN battalion is size 5 (the sizes are abstract and don't correspond exactly to a tonnage as in C#), so you would need a transport with 10+ battalion capacity to move a single low-tech division - you can't split it between multiple transports.

Usually it is a better decision in terms of game mechanics to convert the low-tech divisions into cadres and use those to train your first TN-tech battalions at a reduced cost, but if you want to keep the flavor of low-tech units for roleplay reasons you'll need bigger transports.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Stormtrooper on January 27, 2022, 05:28:04 PM
Ooops... Well... Technically in C# you also can't split units... Didn't really expected a small infantry unit to be something more than battalion though. Maybe because one troop transport - one battalion and it doesn't list tonnage capacity so I just assumed it simply equals to one unit and that's it.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: The_Seeker on February 06, 2022, 06:54:29 AM
a long term experimental branch just for me where I finally allow myself to significantly deviate from Aurora VB6's UI layout in order to add more ways to automate things and whatever else comes to mind.  If I come up with anything good I will post it.
If you are open to taking suggestions, one of the things I've always wanted to see in Aurora is a fully scriptable order system (similar to the game Screeps).  As it currently stands, you can view task force orders as sort of very basic, handicapped visual scripting system, whereby you can queue orders, loop them once, and have additional loops for preset conditional and standing orders.  It would be really neat to have a fully-scriptable system where you could write orders of arbitrary complexity, with as many conditions, loops, checks as the player wishes.  In this way, you could write not just orders or repeatable orders, but full-fledged autopilots that can access any variable in the database that the player has access to.  It'd allow you to remove a lot of the tedious tasks from the game, you could - for example - script scouting ships to fly search patterns and automatically shadow neutral/hostile ships, or script freighters to automatically move resources from systems with resources to systems who have resources below the reserve limit.  Or, you could script AI for your combat battlegroups so that they can sortie and fight without player intervention.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Stormtrooper on February 06, 2022, 06:57:31 AM
Another thing is that the conditional orders seem to lack "deployment time exceeded" condition. Best I can do is 20% MSP left. I already lost a ship, because by the time MSP gets to 20% the ship is in so bad condition it has a realistic chance of exploding along the way home. I don't feel like babysitting all my ships constantly.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Froggiest1982 on February 20, 2022, 12:36:22 AM
Allow overhaul to be in the loop orders as now done to C# 2.0 will be really a welcoming addition.

http://aurora2.pentarch.org/index.php?topic=12523.msg151756#msg151756
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Stormtrooper on March 28, 2022, 07:07:43 PM
So I built a fuel harvester, parked it to harvest stuff at a gas giant and it does harvest stuff. But then I made a fleet of tankers and gave them a conditional orders to refuel from harvesters and then come back to unload the fuel. They travelled towards the harvester fleet, but ever since reaching the destination they just sit there, not refuelling, not comnig back. Is this a bug or am I doing something wrong?
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: TMaekler on June 01, 2022, 05:01:34 PM
Ever thought about integrating some of the functions of AuroraMarvin and/or AuroraElectrons? I like some of the statistical overviews for example. Or the note system. Really helps with larger games... .
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Agraelgrimm on June 08, 2022, 01:25:13 AM
I have a question here. I've tried to run Quasar 4x and im having a problem with the windows. They are all too big, i can resize them so i end up not having the bottom of the windows and things like that. And i cant scroll down or up either, so the game is largely unplayable.
Is there anyway to solve that?
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: nuclearslurpee on June 08, 2022, 09:05:32 AM
After selecting a game, from the floating main menu widget, in Quasar 4x --> Settings there is an option "Shrink to fit small displays" which can help with this. It is not perfect but it is playable this way.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: MinuteMan on December 15, 2023, 09:57:24 AM
@Kyle

Is the project dead? Or have you been working on it in secret.
Loved what you were doing!

Kind regards.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: Droll on December 15, 2023, 12:21:25 PM
@Kyle

Is the project dead? Or have you been working on it in secret.
Loved what you were doing!

Kind regards.

Kyle can correct me if I'm wrong but I think "finished" may be more accurate than dead. The goal of quasar was to re-implement the latest planned version of VB6 aurora in C#/C++, which I think has been achieved at this point.
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: nuclearslurpee on December 15, 2023, 01:49:46 PM
@Kyle

Is the project dead? Or have you been working on it in secret.
Loved what you were doing!

Kind regards.

Kyle can correct me if I'm wrong but I think "finished" may be more accurate than dead. The goal of quasar was to re-implement the latest planned version of VB6 aurora in C#/C++, which I think has been achieved at this point.

I think there were a few loose ends aside from bug fixes, notably I think the Invaders were not yet implemented IIRC.

I also know Kyle talked about doing some work to add automation features going beyond the original game, however this was a big enough project as it was and I don't blame him for calling it finished. We have a nice, performant version of VB6 for those who like that sort of thing and what more can we really ask for?  :)
Title: Re: [q4x] Quasar4x - An Aurora4x VB6 clone
Post by: fixfret on February 06, 2024, 05:24:45 AM
Hello all, please remove if not appropriate, I am new around here,

I have a Linux desktop, and was able to get Quasar to launch.  I am new to the game in general, could I use the VB6 tutorials on here?

Thanks for making a Linux compatible game kyle!