Posts for ais523


Editor, Experienced Forum User, Published Author, Player (44)
Joined: 7/11/2010
Posts: 1022
From what I see, the situation is this. Most games don't have communities as active and knowledge about the game as Metroid Prime does. If I take a random low-quality platformers and hand it to an experienced TASer to TAS, they'll do what looks like a pretty good job of it to pretty much anyone, because the deep knowledge of the game just isn't there, and the TASer will probably know more about it than anyone else and the end of the experience. In the case of Metroid Prime, that quick approach to making TASes wouldn't work. It'd produce something that'd be impressive to a casual player, and contain lots of tricks they didn't know. But there's a huge community behind Metroid Prime who have been analysing it for years, and know many things that a TASer couldn't possibly discover in just, say, a few months. So the only way to get enough information to complete a Metroid Prime TAS in a reasonable amount of time is to use all the existing resources, both online, and by asking people who are aware of the game. This means that posts like TheMG2's are very useful; it could have been worded a little less harshly, but the actual content ("this is probably the best way to become more knowledgeable about the game") is probably good advice that's worth taking. What a TASing team for a game that's been analysed in this depth needs is advice about specifically what steps would help get at the analysis. There's also the added issue, that although the emulator has been made, as I understand it, accurate enough that it can gain a reasonably good approximation of what routes would be possible on console, it's also, as I understand it, different enough from any particular user's console that comparing times wouldn't be useful (and that fixing this would be too technically difficult). This means that although a TAS will be a decent approximation of what a console can do, it'll be hard for realtime runners to judge how good any particular room is under TAS conditions, and the run will look less authentic than perhaps we'd like. This may well mean that a TAS is doomed to be somewhat far off optimal, because the years of experience Metroid Prime on console may be impossible to apply directly. In a sense, this is a sad situation; it's a case where pretty much any TAS that could be made over the course of less than five years or so will be likely to be quite noticeably improvable. But in another way, it's a pretty encouraging situation; the TAS will still likely be very good compared to those of other games. The problem is not that it'll be bad in an absolute sense. The problem is that, unlike Random Platformer #129826, there'll be a lot of people who'll know how much better it could be.
Editor, Experienced Forum User, Published Author, Player (44)
Joined: 7/11/2010
Posts: 1022
Ford wrote:
ais523 wrote:
certain rarely-playing animations are shorter
Do you refer to their heroic poses? Aren't those normally used during a fanfare? And doesn't the game not resume until the fanfare finishes playing? Or did you mean a different animation?
I was thinking of the heroic poses, yes. If there's a frame rule then anyway, though, I learned something today :-)
Editor, Experienced Forum User, Published Author, Player (44)
Joined: 7/11/2010
Posts: 1022
Reset-during-saving glitches in Pokémon are time-sensitive, but not to the extent that they can't be done by humans. So you'd only need to get more accurate than a human. (There's some doubt about whether they'd console-verify, but there's only one way to find out. Even if the resulting state of the game wasn't 100% the same each time, so long as the TAS was designed to not worry about the difference, it'd be fine.)
Editor, Experienced Forum User, Published Author, Player (44)
Joined: 7/11/2010
Posts: 1022
You need to move using the touchscreen right at the start of the game, to get shorter dialogue (otherwise, you're told how to use the Touch Screen, which takes ages). You should also use the Touch Screen to initiate dialogue; it works from a longer range. (Btw, I'm unclear on whether playing as Solana or Lunick is faster. Lunick has less dialogue to sit through because of pronouns ("he" versus "she"); however, certain rarely-playing animations are shorter.) EDIT: One really big issue: in mission 1, you can capture the second Chikorita and the Zigzagoon in the same battle (which is much faster than two battles). It needs a lot of luck, but a TAS should have perfect luck.
Editor, Experienced Forum User, Published Author, Player (44)
Joined: 7/11/2010
Posts: 1022
I'm not really an expert on Pokémon internals, more of an amateur. I'll try to help, nonetheless, but someone more competent would be useful.
Editor, Experienced Forum User, Published Author, Player (44)
Joined: 7/11/2010
Posts: 1022
Anyone who knows this game, is there any chance that (given an appropriate TASbot) this game could be console-verifiable? I'm mostly worried about the RNG, because I don't completely understand how it works. How sensitive would it be to things like temperature and slight variations in clock speed?
Editor, Experienced Forum User, Published Author, Player (44)
Joined: 7/11/2010
Posts: 1022
If you're going to use prerecorded speech, find a speech synthesis program and get TASbot to do the commentary itself. I'm sure that would amuse the crowd. I'm worried that the Mario Kart 64 idea might not work so well for people who are unaware of the game. For instance, I've played a certain amount of Mario Kart (including 64, and including Choco Mountain), but I wouldn't be able to tell you where the boulders were "meant" to be at all reliably. It does cross my mind, though, that arbitrary code execution glitches could be used to modify pretty much any game that has them in this sort of way. You could "easily" add a TSR that rewrites levels in certain ways now and again. All the better if you have someone who's familiar with the original game, and maybe someone else who's familiar with the modified game and can show off a speedrun that's only possible due to TASing. That said, ESA has a "that's never happened before" counter, don't they? Making things happen that have never happened before happens all the time by accident by human skill in marathons; doing it intentionally via emulator tricks would have to be particularly spectacular to stand out. That's probably within our ability, but may take a while to plan. I'm against the "make a TAS live" method for philosophical reasons; I think that TASes are best when you have a huge, deep understanding of a game, full debug tools, and so on. With many games, there shouldn't be a need to touch the controls when making a TAS because everything is done at a higher level (e.g. look at any of MrWint's Pokémon TASes). However, I'm aware I'm in the minority on this, so it might be worthwhile disregarding my opinion. Just "here's replaying a TAS on console" is likely to be good enough, though, if it's a high-quality TAS. We should probably show off a range of things that TASes can accomplish: humanly impossible glitches; human-looking play that's to a much higher standard than anyone could manage; and total control of a game. That worked pretty well last year, and I see no real reason not to just do more of the same.
Editor, Experienced Forum User, Published Author, Player (44)
Joined: 7/11/2010
Posts: 1022
Kuwaga wrote:
Yes, using emulators in recompiler mode, if they have one, already makes ACE not work most of the time. Basically, emulators can gain speed from not reading the original byte code at all while running the game, but converting it to x86/x64 machine code only once, then keep executing that converted code only. So to detect ACE, just have it run in recompiler mode and watch it not work. ;p Edit: That's a description of a very crude recompiler mode. A more advanced one would detect self-modifying code and adapt, but at the cost of speed, which was the reason to go recompiler mode in the first place. So that arguably defeats part of the point. I just wanted to point out that these kinds of ideas of detecting ACE are not entirely new at all.
If the emulator isn't detecting self-modifying code, it isn't accurate. (This is actually the reason JPC-RR previously failed to run NetHack; it uses something similar to a recompiler, and the code wasn't being detected.) The same detection that's needed to make such emulators accurate could also help in diagnosing ACE.
Editor, Experienced Forum User, Published Author, Player (44)
Joined: 7/11/2010
Posts: 1022
It actually strikes me that you could probably design an emulator to detect arbitrary code execution, by seeing if any bytes that are executed have been modified since the start of the game. Many/most games don't use self-modifying code (I remember having to patch JPC-RR to emulate self-modifying code correctly for NetHack; before then, its emulation of self-modifying code was broken and nobody noticed, which is a good argument that it's something that rarely happens "legitimately"). EDIT: You could make it even more reliable by only detecting if the opcode had been modified, allowing modification of bytes that represented arguments to opcodes without triggering the ACE detector. That would handle something like half the uses of self-modifying code that are useful in practice, and still make ACE impossible. This is also why I'm so much against preinitialized RAM, incidentally; it means that arbitrary code execution doesn't require any setup to specify the code to execute, it's there already.
Editor, Experienced Forum User, Published Author, Player (44)
Joined: 7/11/2010
Posts: 1022
I was thinking of it as a general cutscene trick (as in, from my point of view, it's one of the many ways to get control early during a cutscene), but your classification may make more sense (there are definitely similar tricks unrelated to cutscenes)
Editor, Experienced Forum User, Published Author, Player (44)
Joined: 7/11/2010
Posts: 1022
Svimmer wrote:
Thanks for all that: added several things in... Just for clarity: "shooting from outside LOS" - is that just another name for "shooting through walls" or did you mean something else altogether?
In many games, enemies are on the map, but don't attack you until they come on-camera. In many such games, your shots persist off-camera. So you can shoot the enemies before they get a chance to shoot at you, if you know where they are. (Sometimes they'll be woken up by the first hit.) This is particularly dramatic when you do it to bosses; there's a famous intentional example in Yoshi's Island, but it can also be done in some other games (e.g. at least once in Metroid Prime 2).
"zoning" (perhaps better "zone-hopping"): are the principle uses for this just XP/item farming and despawning/not allowing dangerous or otherwise unwanted foes to spawn or are there more clever applications that you know of?
It's mostly just despawning and respawning enemies, or postponing them until later (I was just playing Neverwinter Nights, and zoned an entire two areas' worth of enemies until later in the game when they weren't hostile, leaving a bunch of peaceful enemies milling around at the edge of the map). Sometimes enemies lag as a result of being zoned (e.g. Final Fantasy 12), meaning that you can gain a few seconds to attack them unmolested and then run away again; that isn't common, but I imagine other games have similar tricks. "Zoning"'s the name for the glitch that I'm aware of, but it might be restricted to one or two communities; as usual with glitches this widespread, it's been independently discovered many times.
"mid-jump physics change" is probably best named just "physics change" because it seems to apply to horizontal motion as well, inside Super Metroid too (morph ball tricks of various sorts looks like). Another example for you: Thief 2 has an item called the slowfall potion. It basically just adjusts gravity except it doesn't usually allow you to jump any higher. If you jump right before consuming one, however, you do get that benefit.
Thanks for the example; I wasn't aware of the game. Also, I hadn't considered things like the mockball, but it really is the same glitch in horizontal form; that's a pretty clever idea.
"variable confusion", I'd like to suggest renaming this "faulty game logic abuse" or some subset of those words. Those last few examples fit into this catch-all snugly. I made this a category of its own because I deem it sufficiently widespread and not really belonging anywhere else.
Yeah, that seems fine.
Are you well-versed in Donkey Kong 64 yourself or should I ask someone else to fill in my "assessment sheet"? Does it really have one of each? Are they suitably recognizable and easy to understand without a ton of explanations? See my post above for the full list of categories as we currently have them.
I don't own the game, and mostly only know it from other people's speedruns. One of each wouldn't surprise me, though, given how generally broken it is. It probably wouldn't be as easy to follow as a 2D game would be, though. In general, if you want a really good example of a particular glitch, you have to go to a specific game; games where cutscene overlapping saves time, for instance, are much more obvious if you can see the game playing both cutscenes, rather than if one gets interrupted (like in DK64), because a missing cutscene saves a lot of time but because it's missing, it doesn't look like anything has happened.
Editor, Experienced Forum User, Published Author, Player (44)
Joined: 7/11/2010
Posts: 1022
Svimmer wrote:
ais: I'm sorry to hear it doesn't load for you. ZohoDocs isn't the most reliable. Here it is in another format: https://drive.google.com/file/d/0B6VbXOZpnj6MbkZweWNRNUZpaGc/edit?usp=sharing Your list looks interesting. It has things ours currently doesn't. Great stuff! Are any of them from first person shooters like Golden Eye? I think Arki was thinking mostly about 2d-platformers.
I was mostly aiming cross-genre. Ideally, I wouldn't add a trick to the list unless it existed in both 2D and 3D games, on both older and newer consoles; even more ideally would be if they weren't restricted to just platformers (e.g. clipping through walls is normally confined to platformers, but it's also possible in some RPGs, such as Final Fantasy 8 and Earthbound).
Shooting through walls, Shooting from outside LOS: which games are you thinking of?
For shooting through walls: I was originally thinking about 3D examples, like Banjo-Tooie and Pikmin (both which have playable projectiles, Clockwork Eggs and thrown team members respectively, so clipping those through a wall is very valuable). There are some 2D examples, too: Super Metroid and Yoshi's Island both have one-way barriers that open when shot from a particular side, and in both cases, it's possible to shoot a projectile through the barrier from the wrong side and get it to open anyway.
By "zoning" do you mean you skip a trigger that normally loads up the next area but if the enemies are already loaded you can clear them easily or what exactly?
I mean despawning or respawning enemies by going to another map or level. This exists in pretty much every game in existence; even the Goombas in SMB1 stop chasing Mario once he ends one level and goes to another level. I remember being very surprised when an enemy was chasing me in Neverwinter Nights, I ran through a loading zone, and the enemy followed me through the loading zone and kept chasing me; zoning's the exception, more than the rule.
Pause buffering: is this a common technique or just a technique? Which games again?
There are multiple ways this works. The very simplest version, which works in pretty much every game, is if you need to do multiple button changes on the same frame (e.g. "let go of L and press A on the same frame", which is useful in Sonic Advance 3 if I haven't got L and R muddled); while holding L, you pause the game, then you hold A and unpause the game. This is useless while TASing, but very useful in realtime play. This version exists on pretty much every game and platform, but how useful it is rather depends on which other glitches exist, and on not TASing. An evolved version is when the pause screen has fade-out lag. This most famously appears in Ocarina of Time and Majora's Mask, where even realtime players can enter long frame-perfect sequences of commands by repeatedly pausing; by pausing during the fadeout lag, the game will be unpaused for exactly one frame, making arbitrary sequences of keypresses easy to enter. Super Metroid has a weird variant of this version of pause buffering, as was famously demonstrated in a recent submission where the physics of the game work during fadeout lag, so you control Samus for well over one frame, but various other things stay paused (such as heat damage and the gametime clock). Finally, pause buffering gives an advantage even for TASers in Super Mario 64, because the way it interprets keypresses, it lets you press the same button on two consecutive frames without holding it down (a physically impossible sequence of keypresses without using pauses to confuse the game's input routines). This increases the rate at which you can spam keypresses, from the engine's point of view, which practically translates to a higher top speed on BLJs. [/quote]Mid-Jump physics change: sounds a bit strained but what did you have in mind with it?[/quote] You have an equippable item that changes your physics. This mostly comes up in Metroid games (e.g. the Gravity Suit in Super Metroid, which changes your water physics) and Zelda games (e.g. Iron Boots for water physics or Hover Boots for air physics). You jump, then you change your physics, and you go really really high (because you keep the momentum from before you jumped, but now have a different air/water resistance value). If it turns out to be a Metroid/Zelda-specific glitch, it's probably not worth including it, even if that's two different major games series, and it appears in both 2D or 3D. Perhaps it is. I suspect it may also come up elsewhere, though. (I know you can pull off the trick in An Untitled Story via ducking into and out of vertical water bubbles, but it very strongly seems to be intended there, so maybe it doesn't count.)
Enemy boosting, Move cancelling: These we just plain didn't have. Variable confusion: can you give an example?
In Metroid Fusion, if an enemy can only be hit from in front, you can hit it from behind by turning round just before the projectile hits; it checks which way the player is facing, not which way the projectile is facing. In several 2D games, you can enter walls by turning round at the instant you hit the wall; it checks your facing, not your horizontal velocity, to see which side you came from. It's possible to become small Fire Mario in SMB1 for similar reasons, although I can't quite remember the details of that glitch; basically, it's checking the wrong value to see how many hits you can take. You can get pushed downwards through the floor by a descending ceiling in the Genesis Sonic games by jumping on the right frame, because it assumes that if you're jumping, you're not standing on the floor. A specific variant of this, which maybe should have a separate heading: you can reach the final boss area of Ocarina of Time with two medallions, because the game assumes you must have the other four; ditto two keys to reach the final boss of Donkey Kong 64, because the game assumes you needed the other six to get them. BTW, with respect to one single game, most of these glitches/tricks exist in Donkey Kong 64.
Editor, Experienced Forum User, Published Author, Player (44)
Joined: 7/11/2010
Posts: 1022
The avoiding BLJs in the 70-star run isn't really a choice to not break the game (it uses a bunch of other game-breaking glitches); it's to make it different from the 120-star run, because the rule forces a different selection of game-breaking glitches. As such, I'd say that the category is chosen to produce an entertaining run rather than to aim at some sort of goal that's intended inside the game, so it counts pretty well as an arbitrary category. Not that that's a bad thing, of course; it's probably my favourite SM64 category to watch.
Editor, Experienced Forum User, Published Author, Player (44)
Joined: 7/11/2010
Posts: 1022
There are a couple of other cutscenes that save in-game time to not skip, because the skips were buggy. One that comes to mind is the one with Ridley flying overhead in Phendrana (skipping it before a certain point affects Samus' spawn position).
Editor, Experienced Forum User, Published Author, Player (44)
Joined: 7/11/2010
Posts: 1022
Your link doesn't work for me (it just gets stuck at "Loading..."). I'm currently compiling a list of speedrun tricks common to a wide range of games myself, though. Comparing lists could be useful. My list has a bunch of explanation for many of them, and none for some of the others, because it's unfinished. Here are just the titles, though, with some brief explanations:
    Entering solid objects (causing two things that shouldn't overlap to overlap, typically one of which is the character) Ejection abuse (in games which work by allowing things to overlap and then separating them, get the game to separate them in the wrong direction) Seam glitches (exploiting small regions of space where objects are not solid, not slippery, etc., typically due to the way in which the level was put together) Shooting through walls (if you can't clip your character through a wall, clip their projectiles through a wall instead, it's normally easier; bonus points if the projectile is a playable character in its own right) Shooting from outside LOS (aim at targets you can't see, while they can't shoot back) Skipping triggers (the game is trying to work out when to start scripted events by monitoring the character position; go somewhere it doesn't expect, and you break the script) Offscreen despawning (things don't exist while you don't look at them in many game engines) Zoning (run through a loading zone and destroy everything on the other side of it) Escaping, skipping and overlapping cutscenes (cut down uncontrollable time by making it controllable, preventing it starting, or causing it to be overriden by some other uncontrollable time) Pause buffering (while the game is paused, change which buttons you're holding; this gives you more precise inputs in realtime, and sometimes lets you give inputs that would otherwise be impossible) Single frame standing (while performing certain actions in mid-air, the game thinks you're on the ground for one frame) Mid-jump physics change (do something that changes your character's physics, like changing equipment or entering water, while you're already going very fast) Damage boosting (move faster or further as a result of being hit than you could do using your own actions) Enemy boosting (if there's no platform somewhere, stand on an enemy instead) Move cancelling (while doing move X, you can do move Y before it's complete; if you can cancel Y back into X, this can sometimes completely break a game, and even without such loops, it often lets you do things you couldn't do otherwise) Invulnerability abuse (the game tries to stop you going somewhere by killing you? go there while invulnerable, maybe due to taking a hit) Variable confusion (the game is trying to track whether you're doing X by looking at whether you're doing Y, X and Y are not the same, and you can exploit the difference) Out of bounds (escape the area of the game your character is meant to be in)
Editor, Experienced Forum User, Published Author, Player (44)
Joined: 7/11/2010
Posts: 1022
However, if you were very very fast, you could move the D-pad from one side to the other in the difference between length of time it takes the electricity to move through the wire to one side of the D-pad, and to the other, thus causing both sides to be pressed at the moment that the latch samples them. Not only would this likely require relativistic speeds, it probably wouldn't work in practice even avoiding that issue because there wouldn't be time for enough current to flow along the second side for the latch to be able to detect it. An alternative plan would be to move the D-pad back and forth very very rapidly so that both wires would be at half voltage due to the capacitance of the wires; although both would be polled at the same time, with some methods of building the hardware, the half-voltage on both sides of the D-pad would read as "on". This would depend on the particular components that happened to make up the controller.
Editor, Experienced Forum User, Published Author, Player (44)
Joined: 7/11/2010
Posts: 1022
Radiant wrote:
Well, "boss skip glitch" has the advantage of being clear and objectively definable.
I'm not sure. dwangoAC and I made a test run at the end of NetHack (using the game's debug mode to set us up in the state we'll be in). Instead of a final boss, NetHack has a final level, with three bosses; there is no reason to kill any of the bosses except to prevent them harassing you, although people normally do. We use a teleport-within-a-level glitch to skip from the start of that level to the end, and so never meet the bosses, but you aren't 100% guaranteed to meet any of them in a normal playthrough (it's possible to slip past via just running round them, and this is an extreme version of that). Is this skipping the final boss or not?
Editor, Experienced Forum User, Published Author, Player (44)
Joined: 7/11/2010
Posts: 1022
I'm not convinced that this is arbitrary code execution. Can this way of using the glitch actually execute arbitrary code, i.e. any program you want? If it can, then it should be easy to change it to show all the robot masters as beaten, or swap Cut Man's and Ice Man's sprite so that the right stage appears to have been beaten, or save the animals, or whatever. I think we should be distinguishing arbitrary code execution from glitched code execution. Just because RAM executes, doesn't necessarily mean that you have enough control over the values to bootstrap in arbitrary code.
Editor, Experienced Forum User, Published Author, Player (44)
Joined: 7/11/2010
Posts: 1022
I'm really busy at the moment. dwangoAC's reacted by making improvements to the tools we're using; we don't have much/any more progress on the actual run.
Editor, Experienced Forum User, Published Author, Player (44)
Joined: 7/11/2010
Posts: 1022
I'd say that the current in-game time run is not a "large skips" run by my definition, and that the new run is, and thus no obsoletion would be appropriate. (I need to get around to a formal definition of "large skips" sometime; it's a method of categorizing glitches by how much of the game they can skip, as opposed to what methods are used, and thus is a little more objective. For Super Metroid, it covers any method of entering Tourian except via killing all four bosses to activate the statue cutscene, and any method of winning the game that is does not involve entering Tourian and then defeating Mother Brain.)
Editor, Experienced Forum User, Published Author, Player (44)
Joined: 7/11/2010
Posts: 1022
The argument is that if TC is its own category, it can't be obsoleted by a faster game completion via other methods, so the people who want the TC run to stay on their site would get the wish. I'm a little confused about my own opinions on the subject, though.
Editor, Experienced Forum User, Published Author, Player (44)
Joined: 7/11/2010
Posts: 1022
Just pointing out that the latest Super Metroid run is another argument that total control should be its own category; I think this is the first case we've seen where a total control run has been beaten by a non-total-control run. The debate is, should the total control run be obsoleted? I'm inclined to say yes because it doesn't do anything with the total control over than winning, but I can see reasonable arguments for no.
Editor, Experienced Forum User, Published Author, Player (44)
Joined: 7/11/2010
Posts: 1022
I think this adds more ammunition to the "total control should be a separate category" argument, if total control runs can be obsoleted by a run doing something entirely different. For what it's worth, I agree with this obsoleting the total control run, because that run is just used for victory; I wouldn't agree with it obsoleting a total control → playaround run. (And obviously, it should obsolete the old X-ray scope run, because this is an optimized version of that run.)
Editor, Experienced Forum User, Published Author, Player (44)
Joined: 7/11/2010
Posts: 1022
I'm inclined to think that gaining total control should always be a category of its own, and should be categorized "total control" (if it turns into a playaround) or "victory via total control" (if it's just used to win the game, with whatever definition you care about at that point). Given that total control, once gained, can be used to do anything this neatly avoids most categorization issues (the only remaining one is what to do when the total control is gained via a cheat code). And also think that fastest time to gaining the total control (perhaps plus fastest time to enter the resulting program, but that's only a matter of frames in most cases) is the most sensible way to time such runs. This doesn't seem incompatible with either Warp's or Eszik's point of view, given how the exact way in which timing is ended is fuzzy anyway. (I remember writing a long post somewhere on timing issues related to Rosenkreuzstilette, which is interesting because the route changes quite noticeably depending on the exact rules used for when timing ends.)
Editor, Experienced Forum User, Published Author, Player (44)
Joined: 7/11/2010
Posts: 1022
What concerns me here is that so far, nobody claims that they don't understand the system; and yet, the votes we actually get on submissions often don't match the poll questions. Which implies to me that either a) people are lying on this poll, b) the people who don't understand the system didn't look at this thread at all; or c) people fully understand the system but intentionally subvert it because they disagree with the way it works. FWIW, I voted "subpar but we can't come up with anything better", because IIRC there are technical problems with changing the options to something other than Yes/No/Meh, and although it's clear that people aren't using the poll for its intended purpose, I can't think of a better solution to that. If you change the poll to "Do you think this should be published?", it then isn't producing the information that judges actually care about. (Arguably, it isn't anyway, but we should at least give it a chance.) Thus, it's probably just best for TAS viewers to just keep posting their reasons in the thread, so that they can make it clear what their opinions on entertainment and acceptability are.