The problem is largely a disagreement about what, precisely, constitutes gameplay. I'm putting out specific examples so that we can get clearer understandings as to who stands where.
Because your approval or lack thereof depends on whether the exploit comes from gameplay or from metafeatures, it needs to be clearly defined where one ends and the other begins. Getting your input on those examples helps significantly, especially the 2nd one since that was probably the closest to being a metafeature without actually crossing the line. Otherwise we'll just be arguing semantics all day without making forward progress on actually addressing what your concerns are and how to mitigate them.
Unfortunately, the examples from Might and Magic were relatively clear-cut, as the one that was reliant on metafeatures was very clearly doing something that wasn't gameplay.
To everyone else: This does not work if you don't contribute as well.
I present three videos for your consideration. These are for everyone to consider, not just Warp (though I do desire Warp's input on the second and third)
Link to video
This first video is a video explaining the Swap Glitch in Might and Magic 6. It is both version-dependent and reliant on using metafeatures (both manipulating save files and starting another new game on top of the new game already started). The payload is that your now infinitely-small hitbox can bypass certain barriers that would otherwise require playing the game properly to bypass. Because it manipulates metafeatures to achieve the glitch, this is known to be a disapproved-by-Warp method. Because it is a known value, it is here only to demonstrate a metafeature common to the Windows series of Might and Magic games. To the people who aren't Warp: Would you consider speedruns using this glitch to be valid?
Link to video
This second video is a speedrun of Might and Magic 8. It casts a Renegade Spell within the first twenty seconds of the video. My question right now is, do you consider using Renegade Spells to be abusing a metafeature of the game (something that the programmers released), or abusing a regular feature of the game (something that the designers created)?
Link to video
This third video is a speedrun of Might and Magic 6 that does not use the Swap Glitch. It spends roughly the first thirty seconds creating a party with stats that are known to survive the early part of the game while still optimizing for speed (granted, new strats has been discovered since the video was made in 2008; this was just the first result). Would you consider that a metafeature or a regular feature?
(As a point of curiosity, Might and Magic 6 is the game I was referring to with my scenario where favorable RNG can save tens of minutes, and where the segmenting would be determined by when RNG manipulation is necessary - the segmented any% runs manipulate to get certain spellbooks and items at the first opportunity as well as to generate bypassable enemy spawn clumps; without this manipulation much time is lost)
I asked for a specific answer and got a generic response. This has now happened twice.
The same glitch can be used to either go to a completely arbitrary-but-still-within-gameplay point, to a completely arbitrary-and-after-normal-completion point, or to something that the developers never envisioned. We know C is bad because it's leaving gameplay entirely. We know you disapprove of B on the grounds that it calls into question when the game actually ends. I'm trying to get a specific response to A precisely because it still leaves gameplay to be completed.
We know you disapprove of ACE. What is unknown is how you react to other, non-ACE and non-game end uses of game end glitch, which is the foundation of ACE. What I'm concerned about is that you'll give the same methodology different leniency as a result of payload. Prove me wrong.
I seem to be hung up on ACE, so I'm going to change examples. See next post.
If so, would you approve of the methodology if the payload was jumping to the level named "Back Door" instead of to a completely unexpected series of instructions?
If a glitch causes the execution of the program to jump to an unintended location, then it's a bit in that fuzzy area. In some particular situations I would consider it ok while in others it would be a bit bothersome.
You didn't answer this question. In the specific hypothetical case of Super Mario World, would you approve of the methodology if it were used to skip to "Back Door"?
(I'm giving you a hard time, yes, but that's because I'm trying to establish a common ground here)
I'm on the side of not newcomer rec'ing ACE movies. Yes, the payloads are impressive, but the payload itself is really the only thing that differentiates ACE from a more generic "game end glitch" movie.
You won't see half of the impressive stuff that actually happens if you don't look closely at an ACE run's mechanics, just the setup (which for ACEs of the same game should be relatively identical) and the payload. And in many cases, understanding what goes on during an ACE run requires a lot of in-depth knowledge (at the very least about the game) that newcomers would probably be scared away from further investigating it.
It occurs to me that I am asking the wrong question and presenting my argument in the wrong manner.
Example 1: Pokemon Yellow, exploiting the interrupting of saving to redefine functions. This is known to be a disapproved method. It is here only as an example of what is meant by "not gameplay."
Example 2: Super Mario World, exploiting programming errors, presumably entirely from within "gameplay." It is the method used in this that I am curious of your reaction to.
I use these examples not because they're ACE, but rather because they are the clearest and most dramatic examples I could think of that demonstrate what you're talking about in the difference between gameplay and non-gameplay. If you have better examples, please link to them. Right now we're hung up on this point because there's nothing concrete to point at.
Please disregard the payload, and comment only on the methodology used in the second example (the Super Mario World one). Do you consider the manner in which the exploit was reached to be entirely "Gameplay?" If so, would you approve of the methodology if the payload was jumping to the level named "Back Door" instead of to a completely unexpected series of instructions?
Warp: The fact that it's ACE shouldn't matter for what I'm asking. The first one interrupts saving to invoke a glitch. The second was done entirely from within gameplay. Disregard that they're ACE, tell me how you would react to seeing the second done in real-time. See next post.
It's when the glitch pertains to corrupting the game's data or program that it starts veering towards the uncomfortable side. I suppose that as long as it's done via gameplay only, it's still ok. My original complaint is not about what kinds of glitches are used, but how they are triggered.
I think I've reached an understanding of what you're saying. If I understand you correctly, you would always disapprove of an RTA run that replicates the Pokemon Yellow π% ACE movie because it takes advantage of what happens when you interrupt a non-gameplay action, in this case saving the game.
Meanwhile, I'm guessing that you would possibly (though reluctantly) approve of an RTA run that replicates TASBot's AGDQ debut of rewriting Super Mario World to instead play Snake and Pong because everything that was done to make the game accept the payload was done from within gameplay. Disregard the ACE aspect of it all, and just confirm or reject the second scenario, since the first is a known rejection.
(The impossibility of actually replicating the given examples in an RTA scenario is irrelevant, they're just the most extreme examples I could think of that demonstrate what Warp is referring to)
Let us propose a game, say Ocarina of Time, with a clearly defined "time" point by the running community - in this case, the point of the final hit on Ganon.
Let us also suppose that there exists an exploit that can be done in real-time that puts you in a position where you skip the majority of the game - in this case, a wrong-warp that requires ten minutes' worth setup that moves you from decidedly early in the game to roughly five scenes (room transitions) before the battle with Ganon in which you can reach the clearly defined "time" point.
Is that exploit something you would approve/disapprove of?
Well, as long as the glitch is triggered via gameplay, I suppose it's ok, even though it skips an enormous part of the game.
Now, would you find these same exploits to be unacceptable if the final boss is not fought?
Optimally there would at least be a speedrunning category of that game that doesn't skip that much using that technique.
In the specific case of Ocarina, that category would be "MST", "Medallions, Stones, Trials". Most, if not all, communities have similar divisions between "absolute fastest" and "fast but still kinda sorta how the game was intended".
If the skip is done because of a bug in level design, for instance (eg. the level designers never expected the player to be able to jump high enough to get over a wall), then it definitely falls into the acceptable category in my books. If the skip is done by corrupting memory, though... Well, we enter the really fuzzy area. It's hard to give a clear opinion in that case. (I suppose that as long as it's done via gameplay, it's more ok than not.)
Again, I think you prefer when speedrunners play games that the designers intended, rather than when speedrunners operate the programs that the developers release, and thus far your responses to my scenarios have been in line with that. You find design oversights acceptable to take advantage of, but you dislike when programming oversights are taken advantage of.
The main point in my modding comparison was not that the game was modified, but that the game was not actually played. There was no "speedrun". It simply shows the end credits by bypassing the actual game code, and that's it. That doesn't feel like you completed the game by playing the game, but by other means.
Hypothetical scenario time.
Let us propose a game, say Ocarina of Time, with a clearly defined "time" point by the running community - in this case, the point of the final hit on Ganon.
Let us also suppose that there exists an exploit that can be done in real-time that puts you in a position where you skip the majority of the game - in this case, a wrong-warp that requires ten minutes' worth setup that moves you from decidedly early in the game to roughly five scenes (room transitions) before the battle with Ganon in which you can reach the clearly defined "time" point.
Is that exploit something you would approve/disapprove of?
Now, let us suppose that, with a slightly different setup, the same exploit can instead be used to jump to roughly the halfway point of the game as opposed to near the end.
Would that exploit, which by itself has not changed, be something you would approve/disapprove of being used in that manner?
So, in short, you would like to see more speedruns of the game the developers intended to make, rather than of the programs that the programmers released.
Is that roughly approximate?
No. Glitches are fine. Unintended shortcuts are fine. Zipping through walls is fine.
It's not about what is done, but how.
Then you would not approve of a segmented speedrun in which the segments are specifically intended for RNG manipulation? Even in a game where favorable RNG can save tens of minutes?
So, in short, you would like to see more speedruns of the game the developers intended to make, rather than of the programs that the programmers released.
Is that roughly approximate?
Segmented runs are fine (as long as saving and loading is used to start the segment, not to glitch the game.)
So then you would disapprove of a Keen 4 speedrun using the save glitch that's in the TAS. The Commander Keen community is okay with this sort of shenanigans provided the run is tagged as "glitched."Are you considering your opinion to be more valid than theirs? Or that a speedrun that fits your criteria is somehow more "pure" than one that merely fits theirs?
Would you approve of a segmented run where the segments are dictated by when (heavy) RNG has to be favorable to get the fastest result? Such as virtually every windows Might and Magic game?
I think it's a matter of Warp preferring single-segment over segmented, only to the point of "If you can't do it start-to-finish in one sitting, it's not a speedrun." I don't know that this debate should be scoped outside of speedrunning simply because of inherently long games where save-and-restore is expected to be (ab)used.
I prefer watching single-segment because it shows a gestalt mastery over the game at the expense of allowing RNG beyond what's desirable, but I don't think segmented is invalid. TASes are arguably frame-level segmented runs.
Warp: Final Fantasy?
That does make sense from a consistency point of view.
With that said, there are two different functions, stylus.set and stylus.write. Both take a table as an argument. There doesn't seem to be much of a difference between the two in execution. Is there a difference I'm not seeing between the two?
Stylus.set throws an error if I don't pass an array (and the error, for whatever reason, shows up under emu.frameadvance). It sounds/looks like I made the false assumption that the function would automagically read them like arguments (why is this passed as a keyed table rather than as separate arguments?)
Keying the values fixed it, thanks.
When I read the documentation, I read "keys" and thought "keys on a keyboard" rather than "keys for table indexing." That's what I get for not paying attention to the page title.
Desmume lua adventure!
Currently trying to put together a script that iteratively taps coordinates on the touch screen (to be tweaked/used with Ace Attorney fingerprinting segments), though with how poorly Desmulua is documented I'm not sure I'm doing it right. According to what my debug line is reporting it's iterating perfectly fine, however I'm not seeing the ui respond with the coordinate press. Neither stylus.set nor stylus.write seem to be working (tested with both 0.9.9 and 0.9.11, neither one is working as expected so I do need another set of eyes here).
E: Fixed thanks to zeromus
Language: lua
max_x = 255
max_y = 192
function stylusWriteLoop()
for j=0,max_y,5 do
for i=0,max_x,5 do
pass = {x=i,y=j,touch=1}
stylus.set(pass)
emu.frameadvance()
stylus.write(pass)
emu.frameadvance()
debuf = i .. "," .. j
print(debuf)
emu.frameadvance()
end
end
end
function main()
stylusWriteLoop()
return
end
main()
We're minimizing random battles anyway because they take a lot of time. Also, allow me to point you to the Technical Foul section of Gruefood Delight, wherein cheat runs reside.
Nope; extracted version was still looking in the same folder as my steam version (Flowey still told me off afterwards for making him reintroduce himself despite extracted version being the fresh start and steam being a later play)
I can set up a vista box and test it
Followup Edit: The VM I used as a test environment failed with "unable to create the direct 3d something or other," so yeah I can't test it at present.
I would argue that this does supersede Pokemon PI as this
Is an ACE of Pokemon RBY
Is an ACE of the Super Game Boy platform as a whole
Is already known to be console-valid
Brings the Super Nintendo and Super Game Boy onto the Internet (as bad of an idea as that sounds)
(I don't know that this is publishable though because of the hoops this jumps through, but regardless it's an incredible achievement that needs archival)