Editor, Experienced Forum User, Published Author, Active player
(403)
Joined: 2/11/2018
Posts: 200
These are more specialized TAS tools. I was thinking of instances where it's built in to the base game. The Quake and MW tools might be suitable to add to that page.
Editor, Experienced Forum User, Published Author, Active player
(403)
Joined: 2/11/2018
Posts: 200
From a Discord discussion of this idea there seem to be a few games with this idea.
Rabbit Wants Cake: jmtb02 Flash game where you record your inputs without seeing how they affect the character, then play them back. In normal mode, you can then tweak your inputs until you complete the level. Otherwise you can record your inputs again from the start.
Bots Are Stupid: Steam game where you can program inputs in a basic coding language. Has a level editor and leaderboards.
T.A.S.Q.U.A.R.E: Frame advance to perform precise jumps. Has a published TAS.
Editor, Experienced Forum User, Published Author, Active player
(403)
Joined: 2/11/2018
Posts: 200
I don't know why those games would not be allowed. The movie rules still disallow adult-only content.
Maybe you can try the #scripting channel in Discord. I'm not sure many people read Userfiles. The example you gave sounds fairly complicated, but basic RAM watch like player position and speed usually don't require much knowledge of the game. There is a text guide here and a video here. Bisqwit is also still around and maybe still has the tools he used.
The WSL 2 guide is supposed to be quite easy to understand, though it could do with some improvements. You should have a basic understanding of WSL and Linux file structure to be able to use the tool, so getting it in a one-click package might not be helpful. The libTAS Discord server is active and able to help with any issues.
Editor, Experienced Forum User, Published Author, Active player
(403)
Joined: 2/11/2018
Posts: 200
I don't know the answer to most of your questions. However if you're not aware, BizHawk accepts .dsm movies with the Import Movie option. However you'll still need to resync it to the melonDS core
Editor, Experienced Forum User, Published Author, Active player
(403)
Joined: 2/11/2018
Posts: 200
Thanks. I tried unsystematically throwing myself into walls in the ice cave but didn't get anywhere. I did give the genetic algorithm bot a go though and it helped me get through the very first section of the level.
I'm on the small climbing platforms now, and need to figure out the fastest way to turn around on them. Would be good if I could bot that too, but it doesn't seem to be getting any results. If I can get that then the rest of cave should be quite simple.
Editor, Experienced Forum User, Published Author, Active player
(403)
Joined: 2/11/2018
Posts: 200
Not that I know of specifically, just that Unity games can have inconsistent loads. I think this TAS is simple enough that it can be resynced, but I'm not sure what to.
Edit: I ran this in my Linux VM, as opposed to WSL, and it desyncs on level 2. Also I seem to have forgotten to note that I'm launching it with the command line option force-gfx-direct
Edit 2: Nevermind, apparently the game was the wrong size. I launched it outside of libTAS again and chose 1024x768, and the TAS syncs now.
Editor, Experienced Forum User, Published Author, Active player
(403)
Joined: 2/11/2018
Posts: 200
Gave it a quick try. I had no idea what to set the probability controls to. I wanted to use as few left presses as possible, so set right and B to 65, A to 25, and left to 5. Main value of the highest X position and 100 frames.
It had good results after 75 generations. I kept it going until 180 generations and it hadn't improved. I was able to improve it by a few frames by manually editing the input afterwards to remove a few left presses.
My initial attempt had 715 xpos, the bot found 730, and my changes afterwards got it to 741. So a good result for just a few minutes of work, and saved me figuring out a frustrating section to optimise.
Editor, Experienced Forum User, Published Author, Active player
(403)
Joined: 2/11/2018
Posts: 200
Going to elaborate on the paragraph I brought up before. This is not to say I think it must be changed.
TASes are produced in emulators or other deterministic frameworks that let their creators have complete control over the play environment. For example, TASers can slow the game down as much as they want, save and load at any time to remove mistakes, and at times even directly access and change the game's code by only using controller input.
The first two items are tools to make TASes (frame advance and savestates), the third is more of a consequence of those tools (ACE). A more fitting option might be viewing the game's memory (RAM watch).
While not ambiguous, the consequences of this being misunderstood are fairly large, if it gets incorrectly reiterated elsewhere online, implying that ROM hacking is allowed.
Even if not in that section, ACE is definitely worth a mention on the intro page. On a more technical note, I don't think ACE is really modifying the game's code (i.e. the ROM)? Rather making the game execute code from RAM.
Editor, Experienced Forum User, Published Author, Active player
(403)
Joined: 2/11/2018
Posts: 200
I didn't fully understand your list of addresses so thought it would be easiest to make a watch list. Otherwise it would be great if you could explain ones like this a bit more:
$57C/$57B - Big/Small x-position of Bart (level coordinates, =$54+$56)
$575 - {=$575+$573 if the speed is non-0; 0 if the speed is 0}, so sort of Bart's x sub-pixel
Editor, Experienced Forum User, Published Author, Active player
(403)
Joined: 2/11/2018
Posts: 200
Could you make a .wch of the addresses? I'm trying to freeze/poke Bart's position to test collision inside the walls, but changing just one value seems to break collision in the level (for example, changing 2 bytes at 0x0056).
Editor, Experienced Forum User, Published Author, Active player
(403)
Joined: 2/11/2018
Posts: 200
I tried clipping into the left side while hugging the wall but couldn't get it. After a few real-time attempts it worked. I came at it with a lot more speed than from hugging the wall.
User movie #638259408670148665Link to video
When you mention 0xF0 is this the 1-byte value of 057D?
ktwo wrote:
Given how similar the three Bart games control, might be worth checking forums and wips to see if anyone has reported/used wall clips in any of the other games? Or just any kind of abuse of the game mechanics in the other games would be worth checking out.
I've looked at the other games. There's a pause glitch in Bartman that doesn't seem to work here unfortunately (mentioned in the latest post of its thread). I saw this on the tcrf page:
tcrf wrote:
The second stage levels ("Cave" and "Ice") have a small leftover from the development stage Level Editor. Using the D-Pad on controller 2, you can change the position of one of the level's static sprite objects; specifically, the object with index 1 in the static objects array. In the "Cave" level, this would be the stalactite on the ceiling near the exit of the level. In the "Ice" level, this would be one of the floating ice platforms.
The cave one doesn't seem helpful. The ice one could be, but I'm not sure how. Once Bart touches it it snaps back to its original position.
Editor, Experienced Forum User, Published Author, Active player
(403)
Joined: 2/11/2018
Posts: 200
Didn't take long to get the clip, but I'm not sure how much help it is. It seems your x speed goes up and down as you grind against a wall, so you just need to have enough x speed when you reach that point in the wall. I let go of right as early as possible. You can be holding right and it will still work as long as x speed is enough. It would probably be most helpful to be able to see the exact hitboxes of everything in the game.
Also, there still isn't any known use once you get inside the wall.
User movie #638258960697981823Link to video
Editor, Experienced Forum User, Published Author, Active player
(403)
Joined: 2/11/2018
Posts: 200
ktwo wrote:
Is there any claim of someone skipping the snake or a theory of how one might do it?
Nope, other than wall clipping.
As for the wall clip, a good start would be to try and reproduce it in a movie. Then I would check the positions and speed values and see if there is any pattern that works when trying to do it again from a different starting position. Is there literally a hole somewhere in the wall? Or is Bart clipping through a solid barrier?
I should probably do this sooner rather than later in case there does turn out to be a method for wall clips that I can use earlier in the run.
But if there is any jump in the game where an additional pixel would make a difference, then the sub-pixels could be worth looking at. It would also be interesting to see how the sub-pixels line up when Bart enters the wall.
Right as I need this in the Cave. Thanks for the addresses, I'll have to take a look.
Editor, Experienced Forum User, Published Author, Active player
(403)
Joined: 2/11/2018
Posts: 200
Finished China 301 frames ahead of Choas and 608 ahead of Sami. A lot of the timesave is just from the boss fight. I only saved about 25 frames in skateboarding, probably mostly from lag.
Link to video
Editor, Experienced Forum User, Published Author, Active player
(403)
Joined: 2/11/2018
Posts: 200
Finally made a start on this. Choas and Sami's TASes have several differences so there's quite a lot of time to be saved. I've only done the very first section but already found that it's faster to grab the cape from the bottom of the ship rather than climbing up.
Link to video
I would like to find a way to skip the snake bit in Egypt, and figure out how wall clips work. Not sure how to approach either.