Files > Files

File #2394, Example AI Battle Mission

<< < (2/2)

Deadcode:

--- Quote from: TheMadCharles on October 19, 2021, 11:31 AM ---Hmm, interesting, i guess that's something worth taking a look at.

What about making a TAS of this mission? Or should I first make a chally for this mission?

--- End quote ---

That could be fun, but it's a large challenge with lots of worms to kill and I might prefer to wait until the mission is finalized. I notice that the CPU levels in this mission are set to 3.5, 4.5, and 5.5, not actually 4, 5, and 6 as the flags claim. Fractional CPU intelligence levels below 5.00 actually do make a difference, so that deserves to be considered if you haven't already done so.

Have you decided whether you would prefer to:
1. Change the CPU 5.5 team to CPU 5.0 so it is accurately doing what it claims to do
or,
2. Wait until the game actually allows CPU levels higher than 5.0 to be effectively used?

nizikawa:
.

Deadcode:
Thanks for your thoughtful reply. I sincerely appreciate that and hope the situation can be amended.


--- Quote from: nizikawa on October 19, 2021, 05:54 PM ---WKB states this:

--- Quote ---CPU skill. Setting this value to 0 will cause the team to be player controlled, missions will end if all player controlled teams die. Setting this to 101-120 will result in what appears to be a hyper-accurate 6th skill that exhibits some peculiarities, it loves to aim for its own alliance teammates (including you), but will only actually fire the shot if it thinks it's going to miss because there is land in the way. This can result in some unintended friendly fire (for example, firing an uzi when there is a thin strip of land in the way, so later bullets hit). Other invalid values can cause strange behaviour and should not be used. The team's flag is determined by this setting:

--- End quote ---
which made me believe that special, 6th CPU intelligence level was possible.
--- End quote ---
You're right, it does say that. It is incorrect though, and has always been so; there is another part in the CPU team code where the skill level is clamped/limited to the range 0-100. That is the only place where the skill level is input to the CPU team code, so it's guaranteed that 101-128 have the same effect as 100. And my redubbed copy of TheMadCharles's replay above, playable with unpatched WA v3.8.1, demonstrates this. If the 0-100 clamp is removed, then 101-128 actually does cause the CPU to make different choices than it would at 100, but I haven't carefully read through the code yet to determine if this would be a difference making it more intelligent. I wouldn't be surprised if it had the opposite effect in some regards, due to truncated overflows/carries.

It appears that edit to the WKB page was done by Melon. WWP appears to have the same 0-100 clamp, so it's unclear why Melon would have had any reason to believe 101 and higher behave differently.



--- Quote from: nizikawa on October 19, 2021, 05:54 PM ---Regarding wkToolAssist: Several protection techniques were put in place to prevent reverse engineering, with vital patches using virtualized code. I genuinely believe that it's easier to make your own TA module or cheats from scratch than by analyzing wkToolAssist.
I made announcement on TUS and WA's discord regarding its development roughly one month prior to its release, with plans about releasing it to public as encrypted module. No objections were raised. I reached out to StepS on the day of release and he just congratulated me on the work and mentioned the difference between patched out networking code and conditionally compiled. Nobody contacted me to prevent releasing the module, so with protections in place I really believed it was OK to release it.
It has been nearly two months since release of the module and it has gained very little attention and apparently no chaos ensued so far.

WA is my favorite game that I enjoyed since childhood and I hold it in very high regard. It inspired me to learn reverse engineering and hacking techniques. Hacking it and sharing my works with the community brings me joy. But I'm not going to deny that it is in fact a '90s kids' game and I would be better of dedicating my time to more serious tasks than game modding or arguing with strangers on the internet.

If you really consider my works to be hurting WA community, then accept my sincere apologies. I would be very happy to discuss with you possible solutions to amend this situation.

--- End quote ---
The thing is, an unscrupulous reverse-engineer would not even need to hack your wkToolAssist module directly; they'd only need to look at which parts of the code it patches, and focus on reverse-engineering those parts in the original WA EXE in order to reproduce all of your module's functionality.

And the reason I did not reach out to you about wkToolAssist before you released it, is that at that time, I was still very depressed about Team17 sitting on v3.8 and v3.8.1 for months before allowing them to be released (forcing bugs that I'd already fixed many months before release to still be in the released version), whereas you as a module writer can release with full freedom anytime you wish to. I could not bring myself to contact you at that time, and then immediately regretted that when you finally did release the module.

I also have issues with some of your design decisions regarding that module. I have not tried running it, but its documentation says that replays created while using it are encrypted and do not contain checksums. Not including checksums was a very bad decision; they serve a very important purpose, and without them, it's much harder to determine (especially programmatically) whether a replay has desynchronized, and if so at which point it has done so. You could have put an extra layer of encryption on checksums, or used a different checksum algorithm, but instead you apparently left them out, and I very much object to that.

And the point still stands that wkWormOrder was a bad move, especially releasing its source code, and has had negative consequences to the community on a level you might not be fully aware of. You should have just requested that I add showing worm order as a scheme option, and been patient for that to appear in the next WA release (I've already implemented it and it will be in v3.8.2 or v3.9, whichever the next version ends up being).

nizikawa:
.

h3oCharles:

--- Quote from: Deadcode on October 19, 2021, 04:39 PM ---
--- Quote from: TheMadCharles on October 19, 2021, 11:31 AM ---Hmm, interesting, i guess that's something worth taking a look at.

What about making a TAS of this mission? Or should I first make a chally for this mission?

--- End quote ---

That could be fun, but it's a large challenge with lots of worms to kill and I might prefer to wait until the mission is finalized. I notice that the CPU levels in this mission are set to 3.5, 4.5, and 5.5, not actually 4, 5, and 6 as the flags claim. Fractional CPU intelligence levels below 5.00 actually do make a difference, so that deserves to be considered if you haven't already done so.

Have you decided whether you would prefer to:
1. Change the CPU 5.5 team to CPU 5.0 so it is accurately doing what it claims to do
or,
2. Wait until the game actually allows CPU levels higher than 5.0 to be effectively used?

--- End quote ---
I guess for now I'll set it to 5.0, and I don't mind having fractional levels here. I'm looking forward to seeing CPU levels higher than 5.0 tho, but I'm really questioning the possibility of them appearing in the frontend

also brb grabbing popcorn

Navigation

[0] Message Index

[*] Previous page

Go to full version