Author Topic: The new hacking mechanic  (Read 15308 times)

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: The new hacking mechanic
« Reply #60 on: March 11, 2012, 11:53:28 pm »
The significant bug is that, for some reason, on my first ARS hack, the AI aggression was already at 270,000.  I'd never touched an ARS, never knowledge raided, and did not use the SuperTerminal.  Despite this, the first spawn of the first ARS hack showed "shipDesignHackingAntagonism = 270000".
Mantis report:  AI Ship Design Hacking Antagonism starts at 270,000
Was actually just not resetting the data between games (the logic was there, but I typo'd the call to it).  Thanks for finding that.  Fixed.

Quote
The basically-fatal issue is that when the aggression would exceed 810,000 (after the fourth hack was complete) anything I attempted that would have caused a hacking reaction (Hacking the fifth ARS, K-raiding, or using the SuperTerminal) caused the game to hang.  The process pegged one processor, and just chugged.  I let it run an hour or so, and it did not recover.  I'll try letting it run overnight, see what happens.  In the meantime, I had to kill the AIWar process to get anything done.
Mantis report:  Hacking when existing aggrevation exceeds 810,000 causes AI War to hang
I think this was mostly due to the multiplicative strength thing, which has already been changed for 5.030, but I just put in another sanity check that should help.  Thanks for letting me know, though, I definitely had no idea it would literally hang.

Quote
And the massive exploit (which I was tempted not to reveal yet) is that ARS hacking does not seem to have any sort of check to see if you are hacking multiple ARSs simultaneously.  Even with the absurd spawns and the hang bug and everything, I was able to hack all five ARSs in this game by doing it at the same time.  Had to be REAL careful to make sure they all finished within one spawn-cycle, though, or the hang-issue got me (AI counter-hack?).
Hmm, indeed, I did not anticipate that... but exploit?  Hmm.  Pulling that off is an impressive feat, to be honest.  Have to scout to and fight to all those planets simultaenously, without benefit of any of the ARS unlocks, and then pull off a 5-way synchronized hack.  And it totally obliterates any future chance at hacking :)  For now, let's leave it, and if necessary later I can have "currently being hacked ARS"'s count temporarily towards the antagonism (not as much as an actual hack, and probably additive rather than exponential).

Quote
And now, the adventure of the Fifth Hack, in pictures!
I laughed really hard when I saw the one with what looked like your fleet ringed in a planet-wide oval-oid of doom, taking on all comers.  Possibly the most epic fight shot I've seen (not largest-firepower by any means, just epic-looking), even though I realize now it wasn't planet-wide :)  And on diff 1/1, to boot.
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 _K_

  • Full Member Mark III
  • ***
  • Posts: 219
Re: The new hacking mechanic
« Reply #61 on: March 12, 2012, 08:35:55 pm »
Alright, tested the super-terminal and k-raiding in my 7/8 game.

1: The incoming waves, for both kinds of hacking grow almost exclusively in quality, not quantity. This is something i consider wrong. The logic which decides when to "collapse" a wave into a smaller group of higher tier ships probably should be changed. WHERE THE HELL ARE MY HUGE WAVES FILLING THE SYSTEM? I DONT WANT YOUR STUPID GROUPS OF 40 CORE SHIPS!

2: As the number of rolls increases, so does the chance one of them being "Use raid starships", and since it is irreversible, like 80% of high-level waves consist of raid starships.
Suggestion: make 2 types of rolls, mutator roll (with probabilities in it dependant on antagonism, but with a limit), and multiplier rolls. If the mutator roll rolls something, make a follow-up mutator roll (probably with lower probabilities) to allow combo mutations. The multiplier rolls simply multiply the strength.

3: Both kinds of hacking feel really easy. I hacked the superterminal for ~100 ticks, and it started spawning groups of core ships. With no wild-rolls i was getting ~60 core ships per tick. Yeah, against my entire fleet AND whole lot of turrets. Those were pitiful, but they were slowly chewing on my fleet so i decided to play super-safe even though i probably would have easily held for 50-70 more ticks.

4: The k-raids have weak response, but generate lots of antagonism. The ST generates lots of AI ships, but makes relatively little antagonism. As result, it is optimal to always hack the ST first, so that you dont have to fight the high-antagonism waves. Once you give up on ST, you are usually still able to k-raid a few systems and raise the antagonism to its limit, where no raiding is safe. The antagonism generated by ST should be increased, with spawns nerfed a little to compensate.


Also, would you maybe consider using exponential, or at least polynomial (like x^2) growth for each kind of antagonism?
And how about adding different weight for different kinds of antagonism? Like, for ST-waves, only count half of the antagonism generated by the other two methods? I believe the ST hacking shouldnt be affected by the k-raiding antagonism so badly, while the reverse is totally fine.
« Last Edit: March 12, 2012, 08:39:43 pm by _K_ »

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: The new hacking mechanic
« Reply #62 on: March 12, 2012, 08:53:03 pm »
1: The incoming waves, for both kinds of hacking grow almost exclusively in quality, not quantity. This is something i consider wrong. The logic which decides when to "collapse" a wave into a smaller group of higher tier ships probably should be changed.
The math doesn't try to do that, except that superterminal spawns have a size cap to avoid killing your cpu/ram.  If you think you're seeing no real change in numbers then please turn on advanced logging and submit your CounterSaboteurSpawns.txt log (from the RuntimeData directory).

Quote
2: As the number of rolls increases, so does the chance one of them being "Use raid starships", and since it is irreversible, like 80% of high-level waves consist of raid starships.
That is a good point.

Quote
4: The k-raids have weak response, but generate lots of antagonism. The ST generates lots of AI ships, but makes relatively little antagonism. As result, it is optimal to always hack the ST first, so that you dont have to fight the high-antagonism waves. Once you give up on ST, you are usually still able to k-raid a few systems and raise the antagonism to its limit, where no raiding is safe. The antagonism generated by ST should be increased, with spawns nerfed a little to compensate.
Yea, something like that.

Quote
Also, would you maybe consider using exponential, or at least polynomial (like x^2) growth for each kind of antagonism?
Maybe; the response intensity tends to go up exponentially with antagonism, so it's something to take care with.
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 _K_

  • Full Member Mark III
  • ***
  • Posts: 219
Re: The new hacking mechanic
« Reply #63 on: March 13, 2012, 03:53:43 am »
Yeah, didn't want to bother you with the detailed log for some reason.
http://www.mediafire.com/?88b8a5a7snayg6p
Note that by the end of the log the k-raid spawns already have 6 rolls, which leads specifically to the problem i mentioned. The last 3 spawns were all raid starships. Specifically, human raid starships, but i know thats already fixed.

Quote
Yea, something like that.
The problem is that this makes it almost impossible to make use of the ST once you have k-raided 2-3 systems. It just kinda feels weird that doing those in correct order matters so much right now. Especially given the one-shot nature of the ST.
Hence the idea to make the ST spawns less affected by antagonism generated by raiding.


UPD: Hacked another planet.
Code: [Select]
3/13/2012 2:02:49 PM (5.029) 7:42:40 Counter-Saboteur Spawn on Vemardic (playerNumber:9)
spawnStrength = max(1,(AIDifficulty * Handicap)) * 2.5 = 20
kRaidAntagonism = TotalAmountOfKnowledgeRaided * (10000/3000) = 20000
kRaidAntagonism *= (8/TotalHumanPlayersThatGetKnowledgeCount) = 160000
superTerminalAntagonism = TotalNumberOfSuperTerminalTicks * 1500 = 142500
shipDesignHackingAntagonism = if 1 Adv Research Station hacked then 30k, if 2 hacked then 90k, if 3 270k, etc = 0
totalHackingAntagonism = 302500
multiplierForSabotageResponseSpawn = max(1,(totalHackingAntagonism-80000)/160000) = 2.39
spawnStrength *= multiplierForSabotageResponseSpawn = 47.81
maximumNumberOfWildRolls = 1 + (totalHackingAntagonism/40000) = 8
wild-roll:MultiplySpawnSizeByOneAndAHalf, spawnStrength = 71.72
wild-roll:RaidStarshipSpawn, spawnStrength = 86.06
wild-roll:MultiplySpawnSizeByTwo, spawnStrength = 172.12
wild-roll:MultiplySpawnSizeByOneAndAHalf, spawnStrength = 258.18
wild-roll:MultiplySpawnSizeByOneAndAHalf, spawnStrength = 387.26
wild-roll:ZombieGuardianSpawn, spawnStrength = 697.05
wild-roll:MultiplySpawnSizeByTwo, spawnStrength = 1394.1
wild-roll:MultiplySpawnSizeByOneAndAHalf, spawnStrength = 2091.14
spawnedType:RaidStarshipII quantity:33 (strength-each:65.33)
Gahaha, now THAT was fun. Gotta admit i'd be quite frustrated if i wasnt so very extremely prepared exactly for this kind of shit and didn't fight them off.
As a whole, 95 AIP reduction + 2 systems hacked is probably the limit of how much i can hack safely on 7/8. 1-2 more hacks are probably doable, but a few surges like this one might cause very serious trouble.
Still, i'd love to see more regular ships and less zombie guardians/raid starships. Those things are fun once in a while, not 70% of the time.

Code: [Select]
spawnedType:ZenithAutoBombII quantity:27 (strength-each:2)
spawnedType:FighterII quantity:25 (strength-each:2)
spawnedType:SpireMiniRamII quantity:34 (strength-each:10.01)
spawnedType:BomberII quantity:21 (strength-each:2)
spawnedType:ZenithChameleonII quantity:23 (strength-each:2)
spawnedType:MissileShipII quantity:20 (strength-each:2)
Here's what i was getting on those rare occasions when there were no raid starships or zombie guarians. the total roll-based multiplier for this spawn was 6, pretty average for 8 rolls i guess.
« Last Edit: March 13, 2012, 06:53:41 am by _K_ »

Offline Hearteater

  • Core Member
  • *****
  • Posts: 2,334
Re: The new hacking mechanic
« Reply #64 on: March 13, 2012, 09:38:36 am »
Yeah, maybe "use X ship type" rolls should all be kept and the final spawn strength divided evenly among them all at the end.