Posts for amaurea

amaurea
Experienced Forum User, Published Author, Former player
What is the pause at 6:22 in the video, by the statue? Luck manipulation? The movement speed at 10:17 is also weirdly slow. I guess it falls into the same category.
amaurea
Experienced Forum User, Published Author, Former player
I haven't interpreted all the relevant disassembly yet, but currently my hypothesis is that the movement direction code checks the buttons in order Up,Down,Left,Right, while the allowed terrain code checks the buttons in order Up,Down,Right,Left. I have confirmed the latter, but not the former yet. But it seems pretty likely. It explains why Up has highest priority, followed by left and finally right, and it explains why only left+right gives weird behavior, since things are checked consistently for up+down. Edit: I have confirmed this: The "find out which tile I'm moving into" code is at CA85F3. It basically does this (simplified)
``````if(controller & up) next_tile = current_tile + map_width;
else if(controller & down) next_tile = current_tile - map_width;
else if(controller & right) next_tile = current_tile + 1;
else next_tile = current_tile - 1;
if(walkable(next_tile)) walk();``````
The "move the character on map" code is at CA86F3. It basically does this:
``````if(controller & up) move_up();
else if(controller & down) move_down();
else if(controller & left) move_left();
else if(controller & right) move_right();``````
In the case of move_left and move_right, this is done by adding or subtracting what looks like the subtile speed (usually 2) to the subtile position, and then updating the tile position when this under/overflows. For moving up/down it's a bit less transparent. But the point is that the two functions handle the left and right (and only left and right) in different order.
amaurea
Experienced Forum User, Published Author, Former player
I have had a quick look at this now. When you hold left+right you walk left, but the code that checks whether the tile you are moving into thinks you're moving right, so it looks at the tile to the right of you when determining if you should be allowed to move. This is why you get stuck if you keep holding left+right after walking left through the small lake, but can proceed normally if you let go of right. And it is why you can't keep walking far into the ocean. As soon as you have a water tile to your right you're stuck. I haven't found out why the game does this, and why it doesn't seem to work in the up+down direction yet.
amaurea
Experienced Forum User, Published Author, Former player
If you can't execute whatever code you want, then it doesn't qualify as Arbitrary Code Execution. ACE isn't a more limited form of "total control". ACE is total control. What you're describing sounds like a more limited form of memory corruption.
amaurea
Experienced Forum User, Published Author, Former player
It shouldn't obsolete Super Demo World because Super Demo World is a different game. Obsoletions are supposed to track the improvements inside a given category, not to unpublish runs to keep the number of games or categories low. If you don't like Super Demo World, you should argue for unpublishing it directly (and I think you will have a hard time convincing anybody of that), not try to sneak it in by the back door by abusing obsoletions.
amaurea
Experienced Forum User, Published Author, Former player
What is the output of this command? ``` glxinfo | grep "direct rendering" ``` When I used the proprietary nvidia driver, I had to reinstall it using the nvidia installer every time the kernel was updated. So if you haven't done so, you could try that.
amaurea
Experienced Forum User, Published Author, Former player
I was against the closing of the concept demo tire (though I'm glad hack tases are no longer forced into it), but perhaps this tas could have been published there. However, if the goal of this cheat code is to remove tedious pauses in gameplay without actually affecting it, then I think a cleaner solution would be to just record the TAS as usual, and then publish both a normal encode and an alternative encode with the pauses removed. This is pretty easy to achieve with lua. See this Metroid Fusion encode for an example.
amaurea
Experienced Forum User, Published Author, Former player
What is the purpose of jumping through the door when entering the Speed Booster passage? It doesn't look like you get through the door any earlier, and surely landing slows you down? Is it lag reduction somehow?
amaurea
Experienced Forum User, Published Author, Former player
I think you should also add some guidelines for what is meant by each of those categories. What does it feel like when you are totally immersed? And when you are only moderately immersed? And so on. I did not know how to rate my level of immersion, because I have nothing to compare it with.
amaurea
Experienced Forum User, Published Author, Former player
This was a fun TAS to watch. I voted yes. I'm troubled by the recent trend to let movies with different goals obsolete each other. It seems like people are trying to bypass the more liberal category requirements that the tier system introduced by abusing obsoletion to keep the number of categories down. After watching this TAS, one may still wonder how fast it could be done without all the OOB teleportation. The unglitched 100% answers that question, and that alone is a good enough reason to keep both. Letting one obsolete the other makes it much harder to get that answer. As an additional bonus, the two runs show off different strategies and techniques.
amaurea
Experienced Forum User, Published Author, Former player
I think these new glitches look entertaining, and I don't think they should be forbidden. We can have as many categories as we want, so we could easily have "game end glitch", "any%", "inbounds", etc. The "inbounds" (or whatever) category would be the current "any%", and would qualify for a moon because the current one does. The new "any%" sounds like it will include lots of new forms of fast movement and new paths, so it should also be fun enough to qualify. Basically, if new tricks would obsolete a fun type of TAS, just make a new category for that type of TAS. It's absurd that we should abstain from making interesting new TASes due to category/obsoletion worries. Categories are supposed to be a tool to help us classify TASes, not a straightjacket that prevents us from TASing!
amaurea
Experienced Forum User, Published Author, Former player
I strongly agree with this. It is completely legitimate to say "Known improvements: During the making of this TAS several new glitches were discovered, which we plan to incorporate in the next version of this TAS". In general I think the publish early, publish often approach where one usually doesn't restart will lead to a better result faster:
• Which tricks you discover depend on what part of the game you're going through. Let's say that there are 10 tricks to discover, evenly spaced through the game. If you restart every time you find a new trick, then you will end up restarting 10 times, taking 5.5 times as long as a single no-restart TAS. If you first TAS it once, discovering the new tricks along the way, publish, and then go back for a v2, then you get a TAS incorporating the new tricks in only 2 times the time a single TAS takes to make (as well as a pretty good publication already after half that time). These numbers are naive and assume that redoing is the same speed as the first playthrough, and that incorporating the new tricks doesn't lead to other tricks being discovered, both of which are unrealistic, but I think the overall effect they illustrate is real.
• Publications generate more interest and more scrutiny. Publishing early may therefore help uncover new tricks you would not have thought about otherwise.
• Publishing early makes it more likely that a good TAS will end up getting published, even if it isn't the perfect TAS (and few TASes are perfect anyway). Restarting too much drains motivation. Feedback after publication might also boost motivation, making a v2 more likely.
amaurea
Experienced Forum User, Published Author, Former player
It's arbitrary code execution if you can execute whatever code you want. So how is the FF6 one more 'minor' than the one in SMW?
amaurea
Experienced Forum User, Published Author, Former player
This is great. We've been waiting years for this. I hope the great results and rapid progress you've made so far inspires you to continue! What happened to the pre-escape video, by the way? It seems to be deleted.
amaurea
Experienced Forum User, Published Author, Former player
The guy who maintains this page is a lawyer. It's an interesting read, both the criteria and the examples.
amaurea
Experienced Forum User, Published Author, Former player
I'm looking forward to this TAS. Please keep up with your interesting planning posts! It would also be nice to see a bonus dungeon TAS.
amaurea
Experienced Forum User, Published Author, Former player
amaurea
Experienced Forum User, Published Author, Former player
jlun2: Using the X-ray scope while out of bounds can overwrite a large range of memory addresses. It this case it is used to overwrite the event flags, triggering the planet's exploding state, I believe. I haven't looked into it in detail yet (I really should, though). It would be nice to see an analysis of exactly how powerful this glitch is, and whether it could change the game state variable, for example, or even lead to arbitrary code execution.
amaurea
Experienced Forum User, Published Author, Former player
I'd say that non-square pixels is also a hardware defect, and not necessarily what the developers were looking at when programming the game on their computer screens. For example, the morphing ball in Super Metroid is 16x16 pixels large, making it exactly spherical if displayed with square pixels. If the pixels are stretched to give the screen a 4:3 aspect ratio, it turns into an ellipsoid. The same applies to the 24x24 neutral wheel sprite from Kirby Super Star. And the ferris wheel from Yoshi's topsy turby. In fact, when searching for wheel or circle sprites from snes games, all the ones I looked at assumed square pixels.
amaurea
Experienced Forum User, Published Author, Former player
2. Usage-based payment: In stead of the author selling copies, the state could measure how much his works are used and compensate him accordingly. That would solve his conflict of interest with himself - now it would be in his economic interest to see people share his work with each other. Something similar to this has been in use for some artists in Norway since 1886, though in a much less expansive fashion. An advantage of this approach is that it allows one to make the economic reward non-proportional to the popularity. For example, one could reduce the money per fan per work for the most popular works in order to encourage diversity and avoid super-star effects where a few authors become billionaires while others get nothing (like the current system). A disadvantage of this is that it would require a significant bureaucracy, and there could be difficulties in getting unbiased measurements of popularity of individual works.
3. Donation-based payment: Fans of works could voluntarily donate money to authors. This would make the author's income grow as the number of fans grow, and it would be in authors' interest to let as many people enjoy their work as possible. However, the author's income would be unpredictable, and more so the less popular he is. Still, Wikipedia has proven that even a large project with significant hardware expenses can survive exclusively on donations.
These three suggestions are listed in the order of my preference, but they all have in common that they would make copyright unnecessary, and hence free up our culture, allowing anybody to distribute and modify what movies, book and songs they want, and saving society from the significant economic and social cost of enforcing copyright.
amaurea
Experienced Forum User, Published Author, Former player
Lot's of people seem to not understand what ACE is. ACE is when you have total control. If you can execute arbitrary code, then you can do anything, including jumping to the ending. But the reverse doesn't hold: Just because you can jump to the ending doesn't mean that you can do whatever you want. "Game end glitch" is to "ACE" as "finding a huge shortcut" is to "gaining ultimate power over the whole universe".
amaurea
Experienced Forum User, Published Author, Former player
The huge big letters covering the screen in the beginning say: So this is effectively a TAS of a lemmings hack, not of the normal lemmings.
amaurea
Experienced Forum User, Published Author, Former player
No, it's arbitrary code execution if the player can make the game run whatever code he wants. If he can only specify a limited number of instructions to run, after which control is lost, then that's not arbitrary code execution. It's just a code execution exploit. "Arbitrary" in this sense means "unrestricted", not "random". "Arbitrary code execution" and "total control" are synonyms. So if you can use a glitch to end the game, but not make the characters dance polka across the screen, then it's not ACE. That's very interesting. The only shinespark bugs I'm aware of that come anywhere near being able to do this are the yapping maw shinespark glitch and the lava/sand shinespark glitch. But after some investigation, they seem to be dead ends, either doing nothing or crashing the game without doing anything interesting. Your shinespark glitch sounds like it could let one execute arbitrary code without the GT code, and probably more quickly too. Either directly or by first giving you all the beams and then using the standard methods.
amaurea
Experienced Forum User, Published Author, Former player
This run does not execute arbitrary code. It just corrupts memory. Corrupting memory is the first step towards ACE, but it isn't sufficient. Arbitrary code execution doesn't mean "runs some nonsense code". It means that you can make the console execute whatever string of instructions you choose. I still think this TAS should obsolete both movies, but that isn't because this one uses ACE (it doesn't), it's because it's the fastest, and the goal of the previous fastest movie was to be fast, not to use ACE (which was just an incidental detail). I hope we'll have a proper ACE run eventually - i.e. one where the payload is the point, not the speed. Oh, and yes vote, of course.
amaurea
Experienced Forum User, Published Author, Former player
Angerfist: I couldn't find the dolphin executable on that site. It only seemed to contain some kind of download manager. Why not just link directly to dolphin itself? Edit: Angerfist sent me the file. It can now be found here. This custom build includes the recent timing fixes that were not, at the time of writing, merged into the official Dolphin. That first link contains the whole dolphin directory. But since only the code has changed, it should be enough to update the executable.