Author Topic: Aurora C# Screenshots  (Read 145007 times)

0 Members and 2 Guests are viewing this topic.

Offline MagusXIX

  • Lieutenant
  • *******
  • Posts: 173
  • Thanked: 10 times
Re: Aurora C# Screenshots
« Reply #465 on: July 06, 2017, 05:44:27 PM »
I think that armoring individual components - in addition to the already present general hull armor - would be a welcome addition. Defensive play is fun, and could use the buff. I'd love the added element of deciding which parts of my ships are more worth protecting. I'd even extend this idea to shields, where you could actively strengthen shielding over certain parts of a ship in the middle of a fight - at the expense of diverting shields from other parts.

Defense needs to be more interactive. It's a common problem in most games - and Aurora seems to be not much of an exception so far - where defense is reduced simply to a flat damage reduction to all attacks without any real way to tweak it or interact with it beyond a flat increase or decrease, and with no defensive decision making during fights. Aurora is a bit ahead of the curve already thanks to the point defense system, where you sometimes have to decide to fire all your PD at once or save some up in case of rapid volleys. Otherwise, defensive decision making (including stealth play) is mostly just about positioning, currently.

I'd suggest something a little different, though. What I'd suggest is having ships be split into different sections - bow, stern, port, starboard, above, and below might be good to start with. Each component from here on out would be placed into a section of the ship rather than some nondescript spot. Different sections could even be bonused for different types of components if we wanted, perhaps with accompanying research tech around ship chassis designs. There might be a tech line that boosts engine power or fuel efficiency for engines placed in a ship's rear section, for instance. Might need a new research branch for this, or you could just put ship chassis/frame stuff under construction/production. This change is important because it opens up a number of what should be (in my opinion) really fun new strategies and tactics.

In addition to the more nuanced ship designs, we could also buff shields by allowing ship captains (the player) to assign stronger shielding to one section of a ship at the expense of another. This could look like a little shield percentage adjuster in the ship screen, or possibly at the task group level, where you can adjust shield distribution by changing percentages over each section of your ship. So, 50% shields over "bow" to protect my guns, and the remaining 50% split across the rest of the ship. These figures could then be adjusted on the fly, perhaps with a small crew-skill-based delay. I'd recommend a button to easily assign a configuration to all ships of the same class. This is awesome because it adds a layer of defensive decision making during combat. I can reinforce shielding over port and starboard (where my guns are), my rear (engines) in case positioning is all-important, or below (life support or whatever else,) or try to evenly protect all of them.

Of course, it also opens up the ability to attempt to target specific sections of a ship. If I want to focus fire on my enemy's rear sections in hopes of knocking out their engines, I can. This also places additional importance on espionage, as the value of stolen ship designs would increase because they'll tell you exactly where to shoot. I'd recommend some sort of accuracy penalty for targeting specific sections, perhaps mitigated with a new type of fire-control tech.

This would also be a stealth buff to boarding parties, as it'd be possible to specifically target enemy engines to disable a ship, rather than just shooting in the general direction and hoping to get lucky.


I think sections would make it a little less complicated for the player than having to individually consider each component, plus it lets us do all of that cool targeting, ship design, and shield management stuff.

Overall I think adding more defensive decision making is one of the better ideas I've heard for Aurora.

With regards to interior/exterior components, I agree that most weaponry, as well as some other components like gas harvesters, hangars, and terraforming modules, should by default exist outside of the armor layer of a ship. To simulate external components, I'd just put an "external" tag on a component and any component with that tag would have a chance to be hit *before* ship section armor is taken into account. The bigger the external component, the more likely it is to be hit instead of armor. If you wanted, you could then add a research line to make some components interior that are normally exterior-only. For instance, with a "Adjustable Missile Tube Armor Plate" tech it'd be possible to remove the external tag from standard or reduced-size missile launchers under the pretext that the tube is placed inside the ship and the ship's armor is placed over it, likely with a sliding plate door of some kind that covers the aperture like a lens cap.
« Last Edit: July 06, 2017, 06:07:58 PM by MagusXIX »
 
The following users thanked this post: AL, superstrijder15

Offline mtm84

  • Sub-Lieutenant
  • ******
  • m
  • Posts: 131
  • Thanked: 36 times
Re: Aurora C# Screenshots
« Reply #466 on: July 06, 2017, 07:31:34 PM »
For my own enjoyment, I would love to see a more granular ship design breakdown (though aurora is already fairly impressive), but if you are going to move to six sided ships, you then have to keep track of 3 axis rotation for every ship, and what each of those sides can "see".  Can't be having the port side guns shooting at ships on the starboard side now could we?  Well, I guess if we all use Mason beams and missile...
 
The following users thanked this post: superstrijder15

Offline MagusXIX

  • Lieutenant
  • *******
  • Posts: 173
  • Thanked: 10 times
Re: Aurora C# Screenshots
« Reply #467 on: July 07, 2017, 04:06:37 AM »
For my own enjoyment, I would love to see a more granular ship design breakdown (though aurora is already fairly impressive), but if you are going to move to six sided ships, you then have to keep track of 3 axis rotation for every ship, and what each of those sides can "see".  Can't be having the port side guns shooting at ships on the starboard side now could we?  Well, I guess if we all use Mason beams and missile...

Nah, there's no need to get that deep. Just because you can swing a sword in D&D doesn't mean you have to track the exact angle and velocity of the blade. You just generalize it with a die roll, which I believe is exactly what I suggested.

A ship is 100 hull size in total. If 50 of that hull size is located in the rear of the ship (engines) then any incoming attacks (that aren't specifically targeted at a section) would have a 50% chance of applying their damage to the rear of the ship. Likewise, if the "above" section only has 10 hull size worth of components - mostly crew quarters, say - that'd be a 10% chance for the damage to be applied there. I'd even go so far as to suggest that when a section takes enough damage it might be torn off entirely (kinda like shock damage, but a bit different,) but this is already a whopper of a suggestion as it is. Feature creep is real.

EDIT: Well, you could get that deep into it if you really wanted. But Aurora is pretty clearly not in any position to start handling 3D space, so unless someone comes up with something tricky it's probably best to just stick with an abstracted version (ie: roll a weighted percentage die and then look at the table to see which section you hit.)
« Last Edit: July 07, 2017, 04:16:52 AM by MagusXIX »
 
The following users thanked this post: Rye123

Offline Steve Walmsley (OP)

  • Moderator
  • Star Marshal
  • *****
  • S
  • Posts: 11657
  • Thanked: 20375 times
Re: Aurora C# Screenshots
« Reply #468 on: July 22, 2017, 07:11:41 PM »
Below is the Combat section of the Naval Organization window. This replaces the combat overview window.

This new version is much cleaner and more user-friendly than the VB6 equivalent, with most functions handled via drag and drop. You can drag and drop weapons, targets, ECCM systems and point defence modes directly on to fire controls. Missiles are dragged on to missile launchers. Any assigned targets and point defence modes are listed below the fire control, before the assigned weapons. If you click 'Drag All', dragging a single weapon will drag all weapons of that type in the same location to the new location. Similarly, dragging a single missile will equip all launchers under the same fire control. You can also drag to and from Unassigned Weapons and Unassigned ECCM.

Potential targets are listed by alien race.

The Assign buttons on the right allow you to copy the complete combat setup for the selected ship to all other ships of the same class, or just those within the same sub-fleet, fleet or system.

There are also buttons for activating sensors, raising & lowering shields and firing using either a single fire control or all of them.



This screenshot shows a more developed naval organization on the left. On the right, note that when a fire control is given the order to fire it is displayed as Orange instead of Green.



A couple more to show different layouts



 
The following users thanked this post: MagusXIX, TMaekler, Rye123

Offline swarm_sadist

  • Lt. Commander
  • ********
  • s
  • Posts: 263
  • Thanked: 21 times
Re: Aurora C# Screenshots
« Reply #469 on: July 23, 2017, 09:51:07 AM »
Hey Steve,

Two things I'd like to see.

1. Next to the potential target list, can we get a range to target from the selected ship or task group. Accurate to two decimal places would be enough for me.

2. In the Point Defence section, I cannot see where you would put the distance to engage.
 

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: Aurora C# Screenshots
« Reply #470 on: July 23, 2017, 09:55:27 AM »
A few suggestions:

1)  Color code possible targets Red/Yellow/Green for Hostile/Neutral/Allied, plus pop an "are you sure" dialog if firing on neutral or allied.

2)  Facilitate bulk/batch assignments with highlight:
  a) allow multi-selections of the same type (e.g. launchers); if any from a group are dragged to a fire control, then all are added to that fire control.  Ditto for fire controls dragged to a target, PD modes dragged to a fire control, etc.
  b) generalizing this, allow multi-selections of both dragged items and drag targets simultaneously, e.g. select 8 launchers and 2 fire controls, then hit a "assign uniformly" button that will assign 4 launchers each.
  c) add buttons to add all items of a type to the current selection, e.g. all fire controls or all launchers or all targets (probably requires a selection of a nationality or Task Group) see below.  Idea is to be able assign all launchers to all fire controls in 3 clicks if it makes sense.

3) Range and/or Task Group identification and/or grouping on target list will probably be VERY useful.  I assume right now the target list shows everything in the system, even if it's way out of range.  Probably good to have them sorted by range (from currently selected TG), and have highlighting based on in or out of range for various weapons to make range filtering easy.

4) I would be great to be able to save configurations (bindings of launchers to fire controls and/or bindings of missiles to launchers) on a per-ship or per-class level (probably per-class).  That way you only need to configure these things once, then you can just worry about which FC aims at which target.  If you did this, a lot of the stuff above drops in priority, because these bindings will be changed/created infrequently.

That's all I can think of for now.  Overall it looks great!!
John
« Last Edit: July 23, 2017, 09:57:04 AM by sloanjh »
 

Offline chrislocke2000

  • Captain
  • **********
  • c
  • Posts: 544
  • Thanked: 39 times
Re: Aurora C# Screenshots
« Reply #471 on: July 24, 2017, 07:05:11 AM »
Looks very good, a few more suggestions

In the target list, being able to sort by range, name or size would be helpful.

On the fire control and the own ship list having a highlight or some other marker to show that a target had already been allocated to a fire control / ship would help to quickly show which ships still need targets allocating

On the area defence, having a minimum as well as a maximum engagement distance for missiles would really help avoid the micro management of a layered defence.
 

Offline Steve Walmsley (OP)

  • Moderator
  • Star Marshal
  • *****
  • S
  • Posts: 11657
  • Thanked: 20375 times
Re: Aurora C# Screenshots
« Reply #472 on: August 05, 2017, 11:59:40 AM »
Although this is not a view of a new screen, it is a development milestone.

Racial Design Philosophy (used by NPRs) and Automated Design (used by NPRs and Shipping Lines) are both complete. Below is a computer-created design for a missile cruiser, using a random design philosophy. This uses all the new rules for sensors, shields, missiles, command & control, etc.. The automated design process includes designing missiles and allocating them to the class. The second screenshot is for a beam-armed destroyer, created using the same tech but a different design philosophy.





Note there is a small display bug in the missile range which I fixed after creating the screenshot.
 
The following users thanked this post: Manekaalecto, Indefatigable

Offline Steve Walmsley (OP)

  • Moderator
  • Star Marshal
  • *****
  • S
  • Posts: 11657
  • Thanked: 20375 times
Re: Aurora C# Screenshots
« Reply #473 on: August 06, 2017, 09:47:08 AM »
Another update.

The Detection code is now complete. I actually finished it a week ago but had a performance bug that took some time to pin down. It isn't really possible to do a direct comparison to VB6 as VB6 loads everything into memory at the start of each increment while C# already has everything in memory. However, if we compare a single sub-pulse within a 5-day increment from the start of actual detection (i.e. everything already loaded into memory in both versions), then C# seems to be about 10-20x faster.

The worst situation for VB6 in terms of comparison is a single 5 second increment, as VB6 Aurora has to load everything before running a turn. In my current campaign (23 races, 500 systems, 2300 ships, 345 populations, 46 shipping lines) with detection switched off in Sol, it takes VB6 52 seconds to run a 5 second increment (and this is why I am now rewriting in C# :) ).  C# Aurora isn't using AI yet and not all movement orders are operational, plus a few other items aren't running. However, it is running full detection and it runs the whole 5 second increment in 0.7 seconds, which is very encouraging.

To make it a little more interesting, if I let C# Aurora run a full construction cycle during that 5 second increment, which includes orbital movement, harvesters, terraforming, mining, pop growth, factory production, shipbuilding and shipyard upgrades, ground unit training, new shipping line ships, civilian mining, research, genetic conversion, refining, maintenance, wealth calculation and trade, then the increment takes 2.6 seconds.

Even though there is still a lot of work to do, I think it is safe to say at this stage that there will be a substantial increase in performance for C# Aurora.
 
The following users thanked this post: TMaekler, smoelf, serger

Offline Tree

  • Sub-Lieutenant
  • ******
  • Posts: 143
  • Thanked: 27 times
Re: Aurora C# Screenshots
« Reply #474 on: August 06, 2017, 10:15:21 AM »
Will NPR ships still have infinite fuel and maintenance in C#?
What about ammo?
 

Offline Steve Walmsley (OP)

  • Moderator
  • Star Marshal
  • *****
  • S
  • Posts: 11657
  • Thanked: 20375 times
Re: Aurora C# Screenshots
« Reply #475 on: August 06, 2017, 10:26:47 AM »
Will NPR ships still have infinite fuel and maintenance in C#?
What about ammo?

They won't have infinite ammo (same as VB6)

They probably won't have infinite fuel, although they may have some type of ability to move slowly without fuel.

At the moment, they won't suffer maintenance failures, although they won't have infinite maintenance supplies (for repairs).
 

Offline Detros

  • Commander
  • *********
  • Posts: 389
  • Thanked: 26 times
Re: Aurora C# Screenshots
« Reply #476 on: August 07, 2017, 07:16:36 AM »
However, it is running full detection and it runs the whole 5 second increment in 0.7 seconds, which is very encouraging.

To make it a little more interesting, if I let C# Aurora run a full construction cycle during that 5 second increment, ... , then the increment takes 2.6 seconds.
Heh, then maybe ingame time can run bit faster than the real one even on short increments, for a change.
 

Offline clement

  • Pulsar 4x Dev
  • Sub-Lieutenant
  • *
  • c
  • Posts: 137
  • Thanked: 13 times
Re: Aurora C# Screenshots
« Reply #477 on: August 07, 2017, 07:35:30 AM »
Another update.

The Detection code is now complete. I actually finished it a week ago but had a performance bug that took some time to pin down. It isn't really possible to do a direct comparison to VB6 as VB6 loads everything into memory at the start of each increment while C# already has everything in memory. However, if we compare a single sub-pulse within a 5-day increment from the start of actual detection (i.e. everything already loaded into memory in both versions), then C# seems to be about 10-20x faster.

The worst situation for VB6 in terms of comparison is a single 5 second increment, as VB6 Aurora has to load everything before running a turn. In my current campaign (23 races, 500 systems, 2300 ships, 345 populations, 46 shipping lines) with detection switched off in Sol, it takes VB6 52 seconds to run a 5 second increment (and this is why I am now rewriting in C# :) ).  C# Aurora isn't using AI yet and not all movement orders are operational, plus a few other items aren't running. However, it is running full detection and it runs the whole 5 second increment in 0.7 seconds, which is very encouraging.

To make it a little more interesting, if I let C# Aurora run a full construction cycle during that 5 second increment, which includes orbital movement, harvesters, terraforming, mining, pop growth, factory production, shipbuilding and shipyard upgrades, ground unit training, new shipping line ships, civilian mining, research, genetic conversion, refining, maintenance, wealth calculation and trade, then the increment takes 2.6 seconds.

Even though there is still a lot of work to do, I think it is safe to say at this stage that there will be a substantial increase in performance for C# Aurora.

This is great news. I hope once you get the first version ready to release, you can put some Stopwatches around each of those major activities in the full construction cycle and see if any of them are big time sinks. Performance optimizations are something I work on a lot and it is always fun seeing big gains like this. They are out there you just have to go looking.
 

Offline Steve Walmsley (OP)

  • Moderator
  • Star Marshal
  • *****
  • S
  • Posts: 11657
  • Thanked: 20375 times
Re: Aurora C# Screenshots
« Reply #478 on: August 07, 2017, 12:23:47 PM »
This is great news. I hope once you get the first version ready to release, you can put some Stopwatches around each of those major activities in the full construction cycle and see if any of them are big time sinks. Performance optimizations are something I work on a lot and it is always fun seeing big gains like this. They are out there you just have to go looking.

I'm already using the stopwatch functionality in Visual Studio 2015. As you step through the code, you see the step time in milliseconds, plus a log of past steps. I found the performance issue with detection because you can take snapshots of exactly what is stored in the heap at different points in the program, right down to the number of objects and memory use for each object type. I easily spotted I was continually duplicating one particular object by accident, which led to a quick fix.
 

Offline Steve Walmsley (OP)

  • Moderator
  • Star Marshal
  • *****
  • S
  • Posts: 11657
  • Thanked: 20375 times
Re: Aurora C# Screenshots
« Reply #479 on: August 12, 2017, 08:18:20 AM »
The updated Admin Command functionality (http://aurora2.pentarch.org/index.php?topic=8495.msg103849#msg103849) has been added to the sidebar display on the Tactical Map. Only those admin commands relevant to the fleets in the system are displayed (unless the player uses the options to show fleets from all systems).

There is also an option to show civilian ships in the system, in which case all shipping lines with ships present are listed as Admin Commands with the prefix SPL.

Clicking on any fleet in the sidebar view, including civilians, will centre the map on that fleet.

Also, the Tactical map can now be zoomed using the mouse wheel and dragged by holding the left-mouse button. One other minor change since the last Tactical Map screenshot is the addition of missile design and turret design buttons in the centre of the toolbar.

« Last Edit: August 12, 2017, 11:39:58 AM by Steve Walmsley »
 
The following users thanked this post: waresky