Author Topic: Dyson Sphere tweaks  (Read 20162 times)

Offline BadgerBadger

  • Arcen Volunteer
  • Hero Member Mark III
  • *****
  • Posts: 1,229
  • BadgerBadgerBadgerBadger
Re: Dyson Sphere tweaks
« Reply #45 on: December 16, 2017, 08:26:24 pm »
Idea for further tuning Dyson Intensity.

Idea 1. At the moment the Dyson only spawns Laser, Needler and MLRS Mark II guardians. I propose to tweak the Dyson Sphere to change the ships it makes based on the intensity.

For Lower intensity, the Dyson Sphere spawns Mark 1 Guardians or Fleetships. For Medium intensity the Dyson keeps its old behaviour. For higher intensity the Dyson spawns a greater variety of ships. 

I would do this by using a DysonSphereIntensityX tag in GameEntity, then having the Dyson Spawning code make ship choices based on the current intensity.

Idea 2

I would really love to have a Dyson Antagonizer at higher intensities, but the obvious way to do so (aka "Whenever a Dyson Antagonizer is present, the Dyson Sphere will be hostile to humans and try to kill them") fails because all the current Dyson ships would all turn against humanity instantly. So if the Dyson were on all your planets you'd just die immediately."

One possibility would be to implement an "Antagonized Dyson Sphere" faction that would be quiescent until the Antagonizer was built. Once the Antagonizer existed then we would replace the DysonSphere with an AntagonizedDysonSphere (defined seperately in the XML), and it would start producing Antagonized Ships to go after humanity. Once the Antagonizer was killed we would replace the AntagonizedSphere with the regular Sphere, and the Antagonized faction would stop making ships (though it's current ships would remain active).

Opinion?

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: Dyson Sphere tweaks
« Reply #46 on: December 16, 2017, 09:39:51 pm »
Sounds fine on the intensity => guardian-type mapping.

Good general idea on the antagonizer, but you can simplify it a bit: when the antagonizer is on, switch the sphere itself to the antagonized-dyson faction (PlanetFaction.SwitchToFaction(entity,otherFaction) or something like that), but don't do anything to the things already spawned, so they remain in the normal dyson faction. That should be all you need to do, though it may be that the normal faction code will need a small adjustment to handle the "dude, where's my dyson-sphere?" case.

The antagonized dyson faction could just be a subclass of the normal one, implementation wise, so you need very little code.
Have ideas or bug reports for one of our games? Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline Draco18s

  • Resident Velociraptor
  • Core Member Mark V
  • *****
  • Posts: 4,251
Re: Dyson Sphere tweaks
« Reply #47 on: December 16, 2017, 11:36:02 pm »
I might suggest switching the sphere and any Dyson units on the same planet just so they don't start fighting themselves immediately.

Offline BadgerBadger

  • Arcen Volunteer
  • Hero Member Mark III
  • *****
  • Posts: 1,229
  • BadgerBadgerBadgerBadger
Re: Dyson Sphere tweaks
« Reply #48 on: December 17, 2017, 12:10:01 am »
In AIWC you got immediate combat between the newly spawned Antagonized units and the non-Antagonized ships; I feel like this is actually useful since it makes it really clear that the newly antagonized ships are your foes. I'm willing to be persuaded otherwise though.