Author Topic: C# Aurora v0.x Suggestions  (Read 350978 times)

0 Members and 1 Guest are viewing this topic.

Offline TMaekler

  • Vice Admiral
  • **********
  • Posts: 1112
  • Thanked: 298 times
Re: C# Aurora v0.x Suggestions
« Reply #1965 on: February 22, 2020, 07:31:00 AM »
In VB6 Aurora when you copied a Class Design the Class Priority wasn't copied to the new design. Intentional? Otherwise it would be nice if it was copied.
 

Offline Steve Walmsley

  • Moderator
  • Star Marshal
  • *****
  • S
  • Posts: 11667
  • Thanked: 20440 times
Re: C# Aurora v0.x Suggestions
« Reply #1966 on: February 22, 2020, 09:09:49 AM »
In VB6 Aurora when you copied a Class Design the Class Priority wasn't copied to the new design. Intentional? Otherwise it would be nice if it was copied.

In VB6 every field had to be copied manually in code so it was easy to miss something, or add a new field and forget to update the copy code.

In C#, you can clone an object, which will replicate every value-based member of that object. If new values are added later, they will still be copied by the older code. Anything reference-based (the address of another object rather than the object itself) is more of an issue as the reference is copied rather than the object, so that needs more care - still far better than VB6 though.
 
The following users thanked this post: TMaekler, Alsadius

Offline SevenOfCarina

  • Lieutenant
  • *******
  • Posts: 170
  • Thanked: 95 times
Re: C# Aurora v0.x Suggestions
« Reply #1967 on: February 22, 2020, 12:03:37 PM »
I seem to be spending a lot of time rearranging systems on the galactic map to please my aesthetic sensibilities, so could we please have a box to specify the XY coordinates of systems on the galactic map when moving them around? It's a bit of a hassle right now. Actually, since the Real Stars catalogue in the game already include the XYZ coordinates of all stars, an option to snap them to their actual positions on the map would also work.
 

Offline clement

  • Pulsar 4x Dev
  • Sub-Lieutenant
  • *
  • c
  • Posts: 137
  • Thanked: 13 times
Re: C# Aurora v0.x Suggestions
« Reply #1968 on: February 22, 2020, 12:57:23 PM »
In VB6 Aurora when you copied a Class Design the Class Priority wasn't copied to the new design. Intentional? Otherwise it would be nice if it was copied.

In VB6 every field had to be copied manually in code so it was easy to miss something, or add a new field and forget to update the copy code.

In C#, you can clone an object, which will replicate every value-based member of that object. If new values are added later, they will still be copied by the older code. Anything reference-based (the address of another object rather than the object itself) is more of an issue as the reference is copied rather than the object, so that needs more care - still far better than VB6 though.

Steve, a quick and easy way to solve the deep cloning issue is to serialize the object to JSON, then deserialize it back into a new instance. At runtime, it is not quite as fast as manually transferring/mapping all the fields and handling the same for all the reference types, but it is faster and less prone to bugs of omission during development.
 

Offline Steve Walmsley

  • Moderator
  • Star Marshal
  • *****
  • S
  • Posts: 11667
  • Thanked: 20440 times
Re: C# Aurora v0.x Suggestions
« Reply #1969 on: February 22, 2020, 01:15:32 PM »
I seem to be spending a lot of time rearranging systems on the galactic map to please my aesthetic sensibilities, so could we please have a box to specify the XY coordinates of systems on the galactic map when moving them around? It's a bit of a hassle right now. Actually, since the Real Stars catalogue in the game already include the XYZ coordinates of all stars, an option to snap them to their actual positions on the map would also work.

Except the map is 2D and the coordinates are 3D :)

I'll take a look at this but probably post-release,
 

Offline jonw

  • Chief Petty Officer
  • ***
  • j
  • Posts: 36
  • Thanked: 5 times
Re: C# Aurora v0.x Suggestions
« Reply #1970 on: February 22, 2020, 02:31:42 PM »
Here's a thought - would it be possible to have the option of setting civilian admin positions as elected? As it is now, every position is appointed and serves indefinitely, this feels appropriate for feudal or authoritarian RP but not so much a democracy. A democratic process means I can't manually alllocate the min-maxed best commanders and would enable convenient RP of having limited term lengths and not having full control of a civilian process.

Kind of like, every all civilian positions are appointed except where a colony has a population over X where it acquires electoral rights, and then self-generates random admin officers after term length. More senior admin commands are randomly 'elected' from the total pool of candidates from lower level positions. Obviously a lot of work has gone into the career for naval officers, it would be cool to have something similiar for civilians.

Thanks!
« Last Edit: February 22, 2020, 02:44:31 PM by jonw »
 
The following users thanked this post: Alsadius

Offline Hazard

  • Commodore
  • **********
  • H
  • Posts: 643
  • Thanked: 73 times
Re: C# Aurora v0.x Suggestions
« Reply #1971 on: February 22, 2020, 02:57:03 PM »
That would break the academy mechanic, due to conjuring civilian administrators out of thin air.
 

Offline jonw

  • Chief Petty Officer
  • ***
  • j
  • Posts: 36
  • Thanked: 5 times
Re: C# Aurora v0.x Suggestions
« Reply #1972 on: February 22, 2020, 03:16:58 PM »
Do you mean there would be balance issues with this since academies no longer have a necessary function for generating civilian commanders, or that this would impede implementation in code somehow?
 

Offline Hazard

  • Commodore
  • **********
  • H
  • Posts: 643
  • Thanked: 73 times
Re: C# Aurora v0.x Suggestions
« Reply #1973 on: February 22, 2020, 06:35:55 PM »
Only Steve can comment on the code issue, but yes, this would break the academy game balance due to no longer generating civilian commanders.

One of the things that is fairly important on the civilian side is managing the bonuses the various administrators give you. A 5% boost to your construction rates is useful but not very impressive, yet when that means your 1000 construction factories are now 1050 construction factories it's something you notice. A 40% boost however is all sorts of absurd, turning 1000 factories into 1400 factories is even better. On the other hand, having a construction bonus on a planet that has no construction efforts whatsoever is inconvenient, especially when you can't reassign the fool to a job better suited to them.

Cheesing high skill administrators is partially managed by civilian administrators being less numerous so less chance of getting that exact match of skills you want, and by the fact that the civilian administrators like scientists have an administration rating. There is actually a limit to how large a combined population an administrator can administer. This limit can be partially circumvented by playing games with the population numbers as that limit is checked only when assigning, not during normal operation like during a construction update.

At the same time, the game does assume during standard progression that you are generally making good use of your administrators, and the pace with which NPRs progress is supposed to match that. Failing to meet that expectation can impact your nation's success.
 

Offline QuakeIV

  • Registered
  • Commodore
  • **********
  • Posts: 759
  • Thanked: 168 times
Re: C# Aurora v0.x Suggestions
« Reply #1974 on: February 22, 2020, 06:56:43 PM »
I don't really see that it would break anything, since presumably if they were truly random then you would be getting stuck with some truly horrifically bad administrators at times.
 

Offline TMaekler

  • Vice Admiral
  • **********
  • Posts: 1112
  • Thanked: 298 times
Re: C# Aurora v0.x Suggestions
« Reply #1975 on: February 23, 2020, 01:26:02 AM »
In VB6 I don't think there is a menu entry for the "Geological Survey Report" - I only could access that window through the "System Maps" screen, the button at the top. Can we have a main menu entry for that window in C#?
 

Offline Steve Walmsley

  • Moderator
  • Star Marshal
  • *****
  • S
  • Posts: 11667
  • Thanked: 20440 times
Re: C# Aurora v0.x Suggestions
« Reply #1976 on: February 23, 2020, 07:40:08 AM »
In VB6 I don't think there is a menu entry for the "Geological Survey Report" - I only could access that window through the "System Maps" screen, the button at the top. Can we have a main menu entry for that window in C#?

There is no main menu in C# :)

The main window is the Tactical Map. Everything is accessed via that.
 

Offline jonw

  • Chief Petty Officer
  • ***
  • j
  • Posts: 36
  • Thanked: 5 times
Re: C# Aurora v0.x Suggestions
« Reply #1977 on: February 23, 2020, 08:05:27 AM »
...presumably if they were truly random then you would be getting stuck with some truly horrifically bad administrators at times.

Thats kind of what I mean - for a military or totalitarian hierarchy, appointing the best man for the job makes sense, but for a democratic hierarchy, you have to make do with who you've got, and the choice is not often made by the electorate to prioritize what we as players would prioritize. The appointed routes makes perfect sense for some RP styles, but it would be nice to have some way of reflecting either a more fully realized civil service career (ie. an individual does not remain at the same post until retirement, but gets promoted according to some reasonable ruleset a la naval commanders), or some way of representing an electoral process to aid RP.

Actually I suppose the same could be said for a feudal RP - the player maight appoint the 1st Grand Duke of Mars who will rule until retirement, but then the player shouldn't be able to choose the second dynastic heir? My ck2 interest might be showing
 
The following users thanked this post: Alsadius

Offline Hazard

  • Commodore
  • **********
  • H
  • Posts: 643
  • Thanked: 73 times
Re: C# Aurora v0.x Suggestions
« Reply #1978 on: February 23, 2020, 10:30:29 AM »
Thats kind of what I mean - for a military or totalitarian hierarchy, appointing the best man for the job makes sense, but for a democratic hierarchy, you have to make do with who you've got, and the choice is not often made by the electorate to prioritize what we as players would prioritize.

No, any form of government always tries to appoint the most appropriate people to the job. It's just that the criteria of what makes someone the most appropriate person to be appointed differs because different people, different groups of people and different ideologies have different ideas as to what is required to be a good holder of the office.

In hierarchies decided by election, the decision of who ends up appointed is based on who manages to convince the most people who can cast a vote and the group to make the selection is usually large enough that you have to deliberately campaign for the position and a refusal will usually be accepted if you didn't run for the position. In hierarchies decided by appointment, the decision is made by whoever may appoint anybody they like and refusing is usually not possible or at least a lot harder.
 

Offline jonw

  • Chief Petty Officer
  • ***
  • j
  • Posts: 36
  • Thanked: 5 times
Re: C# Aurora v0.x Suggestions
« Reply #1979 on: February 23, 2020, 11:11:16 AM »
No, any form of government always tries to appoint the most appropriate people to the job.

I think we might be speaking at crosspurposes here. I can imagine that the civilian adminstrator of a comet mining colony is a directly appointed civil serveant, fair enough - picking the guy with the best mining skill is a no-brainer, that colony represents a commercial not political interest and this is clearly a job best given to professionals who may serve professionally in that role for a long period of time. However, the governor of a 100m colony on the moon is not a civil serveant but a political figure in charge of a very large nation in modern real terms. Under most democratic government, this bloke would serve limited terms. If I am roleplaying as a democracy, I can't really imagine what the civilian administrators represent - are they elected politicians or senior civil serveants? is the governor of earth a presidential figure or the equivalent of like permanent undersecretary of some ministry?

As a player, I might want a governor who is going to increase construction and pop growth, and I would want that guy to serve indefinitely and get better over time. However, under a political process, the 100m electorate of the lunar colony might want to prioritize something else for their own local reasons which may appear irrational to the player (brexit? the lunar colony clearly needs shipyard bonii even though there are no shipyards, thats a campaign promise you can believe in!). And then 5 years in the future, the agenda would change, and a different set of debately releveant priorities would emerge.

Under the c# command rules, ships can have multiple officers and we have several commands over them. It might be fun to add a similiar level of complexity to civilian adminstrators, with some delineation between permanent appointed civil serveants working in professional roles, and temporary elected roles for colonies with larger population, or both on the same colony.
« Last Edit: February 23, 2020, 11:18:15 AM by jonw »