Experienced Forum User, Published Author, Experienced player
(920)
Joined: 8/7/2012
Posts: 279
Location: Brazil
About the local settings folder: you can do that if you create a file named portable.txt in the Dolphin main folder. I recommend doing that if you use a bunch of Dolphin versions.
And Wii Remote support is not planned yet, unfortunately...
I'm planning to implement multi controller support for the next time I work on this project!
Experienced Forum User, Published Author, Experienced player
(920)
Joined: 8/7/2012
Posts: 279
Location: Brazil
Hello everyone! Malleo and I have been working on implementing TAStudio functionalities in Dolphin, and we finally got a fully functional build of it!
Here are the download links for it:
4.0-4222 version: https://github.com/Tales-Carvalho/dolphin/releases/download/1.0/Dolphin_4.0-4222_Lua_TAStudio.zip
5.0 version: https://github.com/Tales-Carvalho/Dolphin-Lua-Core/releases/download/1.0/Dolphin.5.0.Lua.TAStudio.zip
This interface is based on Bizhawk's TAStudio / TAS editor tool and it's supposed to provide a method to easily edit inputs of a TAS. Doing this over DTM editing is more handy as you can see the result in real time, and reduces the work time of TASing by a lot.
There are a few notes to consider while using the tool:
* To open the TAStudio interface, go to Movie - TAStudio. Once the game is being played, the inputs grid will be populated.
* Hint: if you're using the 5.0 version and the inputs are being registered multiple times each frame, select the "Group by VI" option.
* Savestate before the region you want to modify the inputs.
* Select the inputs you want to modify in the grid. Use the buttons on the side to manipulate them (Hint: clicking with the right mouse button is a shortcut for "Toggle selected inputs").
* To manipulate stick inputs, use the TAS Input sticks at the down-right corner of the interface (the Get button gets the selected stick input from the grid, and the Set button sets the selected frame with the TAS Input stick input).
* Once you want to send the inputs to Dolphin, make sure to check the Read+Write option.
Also, we are using 4.0-4222 and 5.0 versions for the build as most of the communities still haven't migrated to newer (Qt based) development versions of Dolphin, due to instabilities and unexpected behaviors in those versions. However, we do want to port this interface to the newest development version of Dolphin eventually.
Finally, make sure to report any bug or unexpected behavior. This is the first release of this build so it's natural that there will be bugs. Oh, and feel free to suggest new features as well! I myself haven't used TAStudio in Bizhawk that much so it's hard for me to say what's missing in the interface...
Links for the source codes:
4.0-4222: https://github.com/Tales-Carvalho/dolphin
5.0: https://github.com/Tales-Carvalho/Dolphin-Lua-Core/tree/tastudioEdited by feos: shrunk the image and turned into a link.Edited by feos 2: fixed dead image link.
Experienced Forum User, Published Author, Experienced player
(920)
Joined: 8/7/2012
Posts: 279
Location: Brazil
I think something that was implemented in the Lua fork that's pretty useful is being able to load a script from a list of saved scripts, instead of looking for the file itself. This was done by keeping a folder of scripts in Dolphin's main folder, so the list would load the scripts saved in that. Furthermore, we could save files with a special formatting (in our cause, with an underscore at the start of the file) so it'd be executed automatically when we'd load a game.
For storing data, what I used to do with Lua was to write a csv file with a normal file output function, built in Lua. With that, I could save data in Dolphin's folder. It wasn't the prettiest solution, but it worked.
That's good to know that it probably isn't that hard to backport it to an older version, I might give it a shot soon. Most TASers that I know of, including myself, just prefer using 5.0 or older because the interface works slightly better for TASing. I myself have experienced some slowdowns in savestates with newer versions (probably due to compression/decompression), and didn't really get used to the Qt TAS input interface yet. And also, as most of the TASes of the games I play were made in older versions of Dolphin, they don't sync in the development versions, due to emulation differences.
Experienced Forum User, Published Author, Experienced player
(920)
Joined: 8/7/2012
Posts: 279
Location: Brazil
Wow, this project is amazing! Well done, I really wanted to see a nice build of Dolphin with Python support. A while ago I was helping to port a Dolphin build with Lua support, which was originally made by dragonbane0. Here's my fork on that: https://github.com/Tales-Carvalho/dolphin
Is there an interest to port this engine to wxWidget based Dolphin versions as well? As the latest stable revision (5.0), that's still the most used version for TASing as far as I know.
Experienced Forum User, Published Author, Experienced player
(920)
Joined: 8/7/2012
Posts: 279
Location: Brazil
The white lines during stage intros were there due to the internal resolution we used to render the video. There were also extra "dead" rows and columns of pixels in the top left side of the screen that were cropped for the video.
For the emblem counter issue, that happened because the texture cache was set to fast instead of safe at the time of rendering. We fixed that in the published encodes (4:3 with memory viewer and 16:9) though!
Experienced Forum User, Published Author, Experienced player
(920)
Joined: 8/7/2012
Posts: 279
Location: Brazil
Hey guys! I'd like to announce that Malleo and I have finished this TAS! We're gonna premiere it in his Twitch Channel and submit the TAS to TASVideos on Friday, March 6th, 2020 at 11pm GMT (6pm EST).
Here's a small preview of what the TAS looks like :)
Link to video
Experienced Forum User, Published Author, Experienced player
(920)
Joined: 8/7/2012
Posts: 279
Location: Brazil
A Work in Progress video of the Dark Story TAS (up to Egg Quarters) will be premiered in my Youtube channel tomorrow, at 7PM (EST). Be sure to check it out!
Link to video
Experienced Forum User, Published Author, Experienced player
(920)
Joined: 8/7/2012
Posts: 279
Location: Brazil
Just a quick update on the TAS progress:
We're just starting Rail Canyon now. We won't upload the casino stages until the final upload, but here's an upload of Robot Carnival:
Link to video
This is probably the last WIP until the finished project, but I hope it's worth the wait :)
Experienced Forum User, Published Author, Experienced player
(920)
Joined: 8/7/2012
Posts: 279
Location: Brazil
Hey! I'd like to announce that we created a Discord server for SA2B TASing. Anyone that's interested on TASing the game, regardless of skill level, is welcome!
Discord invite link: https://discord.gg/fMZCAgh
Also, we have just started using a Dolphin build that supports LUA scripts to TAS this game. This makes several boring parts in optimization be done waaay quickier. So this is probably a good reason for more people to get interested in this game :)
Details of this new Dolphin build can be found here.
Experienced Forum User, Published Author, Experienced player
(920)
Joined: 8/7/2012
Posts: 279
Location: Brazil
Hey guys! A while ago I started working on porting the Lua engine of Dolphin Zelda Edition (made by dragonbane0 - https://github.com/dragonbane0/dolphin) to revision 4.0-4222, as that's the Dolphin version I mostly use for TASing (and it's a revision very close to Zelda Edition, so I wouldn't have much trouble in porting).
After some time, I managed to finish a barely functional build of Dolphin that supports Lua scripts. Details on how the build and the script works can be seen in this video (and in its description):
Link to video
As you can see, having a Lua engine like this is extremely helpful for TASing, so I thought this build could be useful for you guys as well. You can download this custom build in this link:
https://drive.google.com/file/d/1j5hMuXLlWSrLMakGwukVdahkRfB7ZAAN/view
However, there are a few things yet to be fixed to support every implemented function and callback (details in the video description). If you know C++ and would like to help, please let me know!
I'd also like to know the possibility of implementing this in the official Dolphin repository. Can that be done once we get a clean Lua engine working?
Experienced Forum User, Published Author, Experienced player
(920)
Joined: 8/7/2012
Posts: 279
Location: Brazil
I have a very close female friend that loves to watch speedruns and TASes, and appreciates a lot my and the community's work. She's not interested on speedrunning/TASing herself, but her appreciation on the subject really motivates me to TAS more :)
And I believe she's the only IRL female friend I have that knows anything about TASing, and even my IRL male friends don't show as much interest as she does lol
Experienced Forum User, Published Author, Experienced player
(920)
Joined: 8/7/2012
Posts: 279
Location: Brazil
If I remember correctly, the curves you make in long straightaways don't actually matter because you're always with the same speed towards where the camera is facing. In other words, the speed you see in the memory address shows camera's forward speed, not Tails's forward speed. And that speed maintains constant as long as you keep turning everytime.
All you have to do to optimize R101 and R280 is to make sure you cut the curves in a good way (without losing speed and going in the shortest path possible) and manage your speed loss, boosting if necessary.
Also, there's something I will test on R101 and R280 when I get the chance (you can do it if you want too, it might take some time for me to test this lol): Sometimes when you hit the wall in a specific angle (facing towards the other side of the wall), you can GAIN a little bit of speed. I wonder if it's possible to hit both walls everytime to build up speed through the whole stage.
Experienced Forum User, Published Author, Experienced player
(920)
Joined: 8/7/2012
Posts: 279
Location: Brazil
What I really loved about this TAS is how in most of the courses we were able to see a lap with an intended route, seeing a very clean run through the lap, and 2 laps with glitched route, abusing how the lap counter works. Having an optimal route that works like that is amazing! Easy yes vote!
Experienced Forum User, Published Author, Experienced player
(920)
Joined: 8/7/2012
Posts: 279
Location: Brazil
I'm sorry, but no, I'm not working on it anymore. That's because there were many tricks being found in the early levels and I'd need to dedicate a long time of route planning and optimization to make a good TAS out of that, and for now I don't have enough time for that :/
Experienced Forum User, Published Author, Experienced player
(920)
Joined: 8/7/2012
Posts: 279
Location: Brazil
That's one of the reasons that revision 3.0-735 was used for the TAS, that revision doesn't have input lags that don't allow us to bounce at all. If you're using another revision and is going for in-game time, you can just pause the game right before this lag and unpause after it so you can bounce in the right frame, without losing in-game time.
Experienced Forum User, Published Author, Experienced player
(920)
Joined: 8/7/2012
Posts: 279
Location: Brazil
My idea isn't something to help while TASing (Dolphin already has a TAS Input that works very well). My idea is an input viewer for renders of TASes, pretty much what is seen at 19:06 in the video that got4n posted or in the example video I posted before.
Experienced Forum User, Published Author, Experienced player
(920)
Joined: 8/7/2012
Posts: 279
Location: Brazil
Hey guys! Recently I was thinking about the idea of getting an input viewer in Dolphin. It may work as a plugin inside the emulator or as an external app. My idea is to replace the game screen to the GC controller responding to the inputs of a recorded movie (.dtm file) when the plugin is activated. That way it'd be possible to record the game normally once, then record it again with the plugin activated, and then get the videos together with a video editor. We wouldn't have to worry about the lags and framerate drops in this case, as both videos would already be done with a/v sync. If it was done with an external app though, we'd have to worry about the lags (maybe we could sync it with the timecodes.txt file that Dolphin generates, but I'm not sure).
It shouldn't be hard to make this plugin / external app: we'd just have to replace the game screen by a black tile (if it's a plugin) and render a controller pic with all the buttons in separate files, and they move / change colors depending on the inputs that are read.
Here it is an example of what it should look like (this video was made by mkdasher in Mupen 64 emulator, he used an external app to render the controller inputs and video edited all the lags):
Link to video
My main issue about making this myself is that I don't have any programming experience with emulators or external apps that could read recording files. I would appreciate if some programmer could help me with that! :)