Any% "no ACE" split clarifying and discussion
7 years ago
Portugal

That's what I've been saying for months, but people keep saying "stack underflow" is too "complicated" and "turns people away from learning the game" and "people shouldn't need a degree to understand speedrun categories"

guywith, DubGame and 2 others like this
Russia

Not commenting on actual topic of naming of category, truecontrol, but just FYI ACE is theoretically possible with this glitch, if combined with number of other very specific glitches. Because of no particular interest for actual speedruns, since real ACE would be slower and would require memory reading - at least in current state - nobody really bothered getting it properly. As an example of something sufficiently closer to ACE than "any% ACE", there is a video of using MP3 file for completing 100%. If done legitimately, it requires 15 hours of waiting with random chance of crashing the game after it. Instead of reaching 100% it's possible to execute a script that would have its own exploit that would allow real ACE.

I will also add a remark about name of the category. As someone who was one of major factor in finding this glitch, I will explain why I - reluctantly - but agreed with this name of category. I proposed two names of "old any%": "any% japanese version" (because, as you notice, so called "ACE" is run in international version, whereas "no ACE" is run in japanese version) and "any% no script stack underflow" (because it's literally the only thing that differs current "ACE" and "no ACE" runs in its current state). I don't know why these names were rejected, but people really wanted to use ACE term. Now how ACE - with comments in the rules - can be applied to run in the state. Executing commands in GTAs is performed on two different levels: one is actual exe running, with commands being processor instructions; and second is internal interpreter of script commands written in main.scm file of the game. Latter commands can be called "code" as well. Now, this glitch allows running script commands from any point of memory (by chaning instruction pointer of the script interpreter to any value). Since it allows any address, and since some memory sections are open for writing (like skin file or MP3 buffer), this trick can be in some way called "arbitrary code execution". We can run any code - indeed - but on second interpretation level. Not processor instructions, but something that can be called code.

Even if so, in current runs no arbitrary code is executed, but the glitch itself allows us to run any code on this level, but it was chosen to execute code that starts last mission.

Edited by the author 7 years ago
Friesland, Netherlands

Nick: Link to said video? Edit @ below: Hashahaha, beautiful.

"That's what I've been saying for months, but people keep saying "stack underflow" is too "complicated" and "turns people away from learning the game" and "people shouldn't need a degree to understand speedrun categories""

Tempted to make multiple accounts just so I can like this

Edited by the author 7 years ago
United States

I accept the argument from the technical perspective that ACE is not a technically exact label, and SSU is more proper, but changing the acronym... doesn't change anything. At all. Not a bit. Replacing one acronym with another does us no good and sets us back, even. The dissonance just continues.

If we're going to change the name? Make it a name, and not another damned acronym.

"No Clerk Skip" is acceptable, in this case. Yes, I know, this doesn't ban the setup with the chopper checkpoint mission; but if someone wants to do the fifteen hour setup to do it that way, might as well let them.

Edited by the author 7 years ago
Rio Grande do Sul, Brazil

How does it not change anything? The category name is supposed to tell you what the run is about, and VC any% is divided into 2 subcategories, one of them has a Script Stack Underflow, and the other doesn't, neither of them have ACE. You simply want people to keep the name ACE which is something that is not what happens in the run at all.

It's kinda like calling basketball, bucketball, the objective is to shoot the ball into the basket but we're gonna keep calling it bucketball because everyone is already familiar with the term.

Edited by the author 7 years ago
Derpeth likes this
United States

Neither ACE or SSU offer enough information in their presented state to give any elucidation.

I'm not arguing for ACE or against SSU, I'm arguing against an acronym; it changes nothing at all.

Sweden

If the name of a category doesn't explain it well enough it can be explained further in the rules for the category, that's the point of having rules.

Massachusetts, USA

^

@FREW: If it wasn't incredibly hard (or even impossible) to have a concise name that doesn't involve an acronym, then hell yeah, but people keep complaining about the ACE name anyway so this is a quick'n'easy fix for that. To be fair, the ACE name was conjured before the leaderboard split was made, so it was not as much of a 'problem', but a name should be settled on once and for all and in the current state of affairs I think SSU fits the bill pretty well.

Rio Grande do Sul, Brazil

Just a quick post since Gael brought this up in the GTA discord, i don't think runs should be duplicated.

Runs that don't use SSU shouldn't be under the SSU subcategory. Just keep it simple, all SSU runs under SSU, all no SSU runs under no SSU, and that's it.

S. likes this

Nick007J, thanks for clarifying. I don't have all the details and while your post wasn't a technical description, because of your technical details I have a better idea of what is happening now.

I understand your points, but do want to assert that it's not the possibility of code execution that determines ACE, it is the actual execution of arbitrary code. And as you pointed out, sometimes ACE is slower than a higher level exploit to reach game end state. This isn't unique to GTA:VC.

The TAS community is generally running games on bare metal platforms (consoles without a dedicated operating system), and so far, we have always referred to ACE as directly executed CPU instructions. The term is fairly new after all and new exploits are still being found in games so this may change. The argument could be made that ACE need not be raw host CPU instructions, but could also be instructions for an interpreter or convoluted state machine. But the issue here is that unless that interpreter is Turing complete, even with arbitrary input, can this "code" be considered to have the same parity as machine instructions?

Historically, we've called runs that manipulate memory to alter a state machine or script interpreter simply "memory manipulation" or "memory corruption" depending on the exploit. This is even when it creates entirely new interpreted script events. But all games that we've been able to do with this with have been very limited in scope and have not been Turing complete machines. If GTA:VC could be one, perhaps we can coin....ASE (Arbitrary Script Execution) ? (just joking...mostly...)

truecontrol, we're currently having a new vote to change the name of the category and it's very likely to change names (it might not change for the AGDQ run however which is a shame). Just wanted to say sorry if you were disappointed by the lack of actual ACE.

Game stats
Followers
1,757
Runs
3,971
Players
561
Latest news
Y-Sens Fix is now officially allowed in speedruns

VC Enthusiasts, good news!

The VC Mod Team has decided to allow users to access a y-sens fix for mouse issues. This can be used legally in speedruns from today onwards, with only one rule.

This script w

11 months ago
Latest threads
Posted 2 years ago
0 replies
Posted 3 years ago
36 replies
Posted 3 years ago
0 replies
Posted 4 years ago
0 replies
Posted 3 months ago
2 replies