Author Topic: Improving Wave Options  (Read 16619 times)

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: Improving Wave Options
« Reply #30 on: November 30, 2017, 03:05:24 pm »
Proposed behaviour:
Humans destroy warp gate AI intends to use for a wave
if Player Has Not Been Warned About Wave
   attempt to pick a new suitable warp gate/target, else spawn wave as threat
       This way a player can't be penalized for interfering with a wave they don't know about

If player has been warned about the wave
    Refund the wave with a 5% strength bonus for interfering with the AI. So you can postpone a wave, but at a cost
That's fine, though I don't know if the strength bonus is necessary since destroying a warp gate costs 5 AIP.
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 keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: Improving Wave Options
« Reply #31 on: December 01, 2017, 03:53:35 pm »
Btw, in my quest to get you a semi-reasonable C# editing environment (which would make it more reasonable for you to follow our indentation/etc patterns), have you tried https://www.jetbrains.com/rider/ ?

It's not free, but there's a 30-day trial, so you could see if it actually works or if it's another crashes-and-burns option.
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 BadgerBadger

  • Arcen Volunteer
  • Hero Member Mark III
  • *****
  • Posts: 1,229
  • BadgerBadgerBadgerBadger
Re: Improving Wave Options
« Reply #32 on: December 01, 2017, 04:25:29 pm »
I'll take a look at that dev environment if I get the chance.

Okay, I think I have my proposed behaviour implemented. I'll spend a bit more time making sure it's bug free then sent it to you. Specifically I'd like to wait till the Resource bar hovertext works again (it's broken right now, https://bugtracker.arcengames.com/view.php?id=19301) so I can validate the behaviour there.

When I give you the code it will also include the "Letting wormhole colour indicate an incoming wave" (but that code relies on some of the other changes I made to implement cancelling waves once the warp gate is destroyed so it's not done yet). The colour indicator will glow between the "Wave incoming!" colour and the faction colour and it looks cool.

I'm not quite sure how you want to handle per-faction tunings (since as you say, the AI ifs a faction) like "How the AI should launch waves", but if can give me some examples I'll expose wave settings like "How much warning to give for incoming waves" (which is a cool thing that AIWC didn't have. You could disable wave warnings entirely, but the ability to tweak the warnings is new).
« Last Edit: December 01, 2017, 04:29:36 pm by BadgerBadger »

Offline BadgerBadger

  • Arcen Volunteer
  • Hero Member Mark III
  • *****
  • Posts: 1,229
  • BadgerBadgerBadgerBadger
Re: Improving Wave Options
« Reply #33 on: December 01, 2017, 05:01:32 pm »
Okay I lied, it seems to be working okay right now.

 Commit message
    Wave modifications
   
    Wormhole names indicate via colour if a wave will be coming through that wormhole.
    The colour will lerp from Red to the faction colour in an aesthetically pleasing fashion.
   
    In AIWC, once a wave was announced it would always hit, even if you destroyed the Warp Gate
    it was using. I found that behaviour Uninuitive and non-interactive, and think it woudl be cooler
    to let the player influence wave behaviour by destroying those warp gates.
   
    Here's how waves now handle their warp gate being destroyed. If a wave has been scheduled but  the humans are not yet alerted to it, the wave will
    change warp gate/target planet but stay on schedule. In other words, the player will just get a wave on schedule;
    even though it's not the one originally intended, and there's no way for the humans to know that the wave they are
    getting wasn't the original wave.
   
    If the player has been alerted to the incoming wave then that wave gets cancelled and doesn't arrive. Edit: However,
    some percentage of the wave's strength is added to the next wave so that there's a tradeoff. You can set the percentage on a per-wave
basis.

Edit: this new tarball has a few minor bugfixes and code cleanups

A lot of these new behaviours are ripe for tweaking for fun/balance. For example, darkarchon suggested that it would make more sense if the cancelled wave would partially spawn once the warp gate was destroyed (a % based on how close the wave was to launching), while the rest of the cancelled wave's strength would spawn as Threat. My goal is to introduce the mechanics and we'll see what's fun/challenging once people have gotten a chance to try the new wave style.

« Last Edit: December 05, 2017, 12:51:25 pm by BadgerBadger »