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

0 Members and 2 Guests are viewing this topic.

Offline amram

  • Lieutenant
  • *******
  • a
  • Posts: 154
  • Thanked: 79 times
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #75 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



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.
 
The following users thanked this post: Kyle

Offline Kyle (OP)

  • Moderator
  • Captain
  • *****
  • K
  • Posts: 472
  • Thanked: 973 times
  • Quasar4x dev
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #76 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.
 
The following users thanked this post: TMaekler, punchkid, procdrone

Offline TMaekler

  • Vice Admiral
  • **********
  • Posts: 1112
  • Thanked: 298 times
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #77 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.
 

Offline punchkid

  • Chief Petty Officer
  • ***
  • p
  • Posts: 35
  • Thanked: 12 times
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #78 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.
« Last Edit: June 04, 2019, 08:49:51 AM by punchkid »
 

Offline procdrone

  • Leading Rate
  • *
  • Posts: 14
  • Thanked: 8 times
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #79 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!
 

Offline MasonMac

  • Registered
  • Warrant Officer, Class 1
  • *****
  • M
  • Posts: 93
  • Thanked: 31 times
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #80 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
 
The following users thanked this post: punchkid

Offline Kyle (OP)

  • Moderator
  • Captain
  • *****
  • K
  • Posts: 472
  • Thanked: 973 times
  • Quasar4x dev
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #81 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


The Combat Overview window,

Off-Topic: show


And the Fleet Orders window.

Off-Topic: show


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!
 
The following users thanked this post: Manekaalecto, JacenHan, TMaekler, punchkid, Jovus, procdrone

Offline Cyborg29

  • Leading Rate
  • *
  • Posts: 13
  • Thanked: 5 times
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #82 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?
 

Offline Kyle (OP)

  • Moderator
  • Captain
  • *****
  • K
  • Posts: 472
  • Thanked: 973 times
  • Quasar4x dev
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #83 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.
 
The following users thanked this post: Cyborg29

Offline Jovus

  • Lt. Commander
  • ********
  • J
  • Posts: 220
  • Thanked: 81 times
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #84 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.
 
The following users thanked this post: Kyle

Offline Kyle (OP)

  • Moderator
  • Captain
  • *****
  • K
  • Posts: 472
  • Thanked: 973 times
  • Quasar4x dev
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #85 on: June 12, 2019, 04:13:29 PM »
Progress update 2019-06-12:

A baby campaign is born!

Off-Topic: show


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.



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

That looks better:
Off-Topic: show

Lets disable fuel production:
Off-Topic: show

Start research on TNT:
Off-Topic: show

Queue up a military academy:
Off-Topic: show

Assign a governor of earth:
Off-Topic: show

Assign fleet HQ commander:
Off-Topic: show

Enable Auto assignments:
Off-Topic: show

Check the mining report:
Off-Topic: show

Press the 5 day button!
Review events:
Off-Topic: show


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 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:



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 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.
« Last Edit: June 12, 2019, 04:15:07 PM by Kyle »
 
The following users thanked this post: ExChairman, JacenHan, bro918, procdrone

Offline Jovus

  • Lt. Commander
  • ********
  • J
  • Posts: 220
  • Thanked: 81 times
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #86 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 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.
 

Offline sloanjh

  • Global Moderator
  • Admiral of the Fleet
  • *****
  • Posts: 2805
  • Thanked: 112 times
  • 2020 Supporter 2020 Supporter : Donate for 2020
    2021 Supporter 2021 Supporter : Donate for 2021
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #87 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
 

Offline Jovus

  • Lt. Commander
  • ********
  • J
  • Posts: 220
  • Thanked: 81 times
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #88 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.
 

Offline Kyle (OP)

  • Moderator
  • Captain
  • *****
  • K
  • Posts: 472
  • Thanked: 973 times
  • Quasar4x dev
Re: Quasar4x - An early look at an Aurora4x clone in the works
« Reply #89 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:



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 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, 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 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!
« Last Edit: June 18, 2019, 03:27:11 PM by Kyle »
 
The following users thanked this post: Demonides, bro918, joansam