Posts for dwangoAC


Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
The cutscenes are most definitely a drag. The Lua script at http://lua.pastey.net/98416 is highly recommended as it significantly shortens the time waiting on cutscenes (it brings the entire movie down to 10 to 12 minutes or so depending on how fast your system can fast forward). There's a definite possibility that a future run could be improved by changing the "route" I took, or to phrase that differently the order I chose for beating the minigames. I opted to do cannon set 1 > all races > cannon set 2, but I think the order could be switched with no significant loss of frames. After re-entering the main table, there's a long delay where no item drops can occur but the stoplight can be advanced towards multiball. This rule could be taken advantage of in a future run to do two sets of multiball to make the order cannon set 1 > multiball > race set 1 > lose two balls > cannon set 2 > multiball > race set 2. The run wouldn't be any shorter but it would break things up a bit and it would finish stronger. It would probably also be possible to not go around the orbit so much - that spinner isn't nearly as obnoxious in real life. :) Thank you for the feedback from those of you who watched it. Nineko, thank you very much for the encode. Is it possible to encode while running a Lua script? If so, it would be well-worth a re-encode with the Lua cutscene skip script running (using either turbo or maximum speed depending on the encoding rig's capabilities and how it sounds audio wise). I've never done an encode but I'll look in to it on my end as well. Again, I appreciate the feedback from everyone. Have a great weekend, A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
qFox wrote:
The Lua input bug has been fixed. You can get the latest interim build (which also has this bug fixed) here: http://fceux.com/zip This does not include that limiting run function (since we won't use it for now).
Ahh, good - I found the "only one player's input is accepted per frame" issue with my item finder script (now at http://lua.pastey.net/97912) but I didn't really say much about it - sorry about that. Thanks to those who fixed it! A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Post subject: Update - CWD is being changed
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
OK, I've found the actual source of the bug - sometimes when a Lua script is executed, the current working directory is changed and the entire movie file is copied to a different directory. In my case, from the root of FCEUX I have the .fm2 movie file in \Movies and the Lua script file in \Tools. When the bug happens, a \Tools\Movies folder is created and the movie file is saved in that directory. I will file a bug in the FCEUX thread about this bug and a couple of others I've found while working on this script. The good news is I've been able to put my general purpose item finder script to good use in a few different scenarios and I've added several useful features to it. The following things are now supported: - Monitor a memory address for any number of desirable values while attempting random input with specific buttons for a specific number of frames - Watch a memory address for an undesirable value and retry if matched - Button mask - define exactly which buttons can be randomized - Button override - hold down a specific button while randomizing others - Selectable player input - pick which player's input to randomize - Uses popups to allow the user to accept a solution or retry and gives the user the option to let the script keep trying if a solution isn't found in the predefined number of attempts I've also cleaned up all of the variable names and documented the script thoroughly. Please give it a shot and let me know what you think - it should be useful to someone out there other than myself. :) You'll find the updated script at: http://lua.pastey.net/97912 Thanks again for the feedback, A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Post subject: Re: Input from Lua is not recorded by FCEUX
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
Bisqwit wrote:
And for that, you can use this: http://tasvideos.org/Bisqwit/LuaFunctions.html#FunctionExplainInput (makes especially long sequences of input more manageable)
I think I'll do that. I was thinking something along the same lines (writing the flat Lua table out to a file) but this will probably be more elegant. I'm going to test this bug with SMB1 using a script which performs a single jump on level 1-1 and saves to see if using Lua always truncates movie files in FCEUX. If I can reproduce it with that script it'd be a lot easier to pass the script file off to the FCEUX guys as a way to trigger the bug. Thanks for the suggestions! A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Post subject: Input from Lua is not recorded by FCEUX
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
I need some help. I'm working with a slightly tweaked version of the Item Finder script I wrote which I've posted to: http://lua.pastey.net/97648 The script is designed to try random inputs until Something Good (TM) happens and a memory address matches a target value at which point the user can stop the script and continue playing from there. The problem I'm running into is that FCEUX truncates the movie at whatever point the Lua script was executed. Here are the steps I'm taking: 1. Start the game game (High Speed in this case) and load a movie in read-only mode 2. Play the movie and pause on the last frame 3. Save the current state, switch to read-write mode, and load the savestate to trigger record mode 4. Optionally add additional input until it's at a point where the item finder script should be run and save the state again 5. Run the Lua script and let it loop until it finds a set of inputs that meet the desired result 6. Accept the script's input and exit the script; this saves in a different slot At that point everything still looks normal - FCEUX still reports that recording is taking place and manual input can be made and saved. However, closing and reopening the movie shows that the framecount is truncated to the frame at which the Lua script was executed for the first time - all additional input including manual input is entirely missing. Am I doing something incorrect here? Should the Lua script be manually manipulating the movie somehow? I always assumed that anything sent to joypad.set would be treated by FCEUX as if it were input from a human... Thanks in advance to any help or advice on fixing this as I'd really like to move forward with my High Speed TAS run and this item finder script would help greatly. A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
qFox wrote:
Actually, it'd be nice to write a pinballbot (for pinbot! ;)) and just watch it play, something for you Xkeeper? :p
Hmmm... Well, if you get the game to a state where there's a ball in play (or even more preferably get it so multiball is in progress), you can see some fairly interesting results by changing the buttonmask to only left and A (remove the override on A as well). You'll probably want to set the maxframes to something like 3000 and perhaps change what memory it's watching to something that stays at 255 (although you can always say "no" if it asks you to accept a solution). I set it up like this and it actually played long enough to grab a third safe drop and launch two of the three balls into the safe. It's entertaining, anyway. :) This could definitely be extended into an actual bot which watched collision memory addresses, etc. to do even more complex things which I may do at some point once I get the mess of variable names I created for myself cleaned up. Bisqwit posted a bot function at http://tasvideos.org/Bisqwit/LuaFunctions.html which looked interesting, but I could never quite work out how it did what it did... Maybe if all of the code was in a single file I'd be able to piece it together better. His page has a cool input simplification function among other things that I'd like to comprehend at some point. Thanks for the reply qFox - I'll be sure to post updates as I refine this. A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Post subject: Item finder luck manipulation / memory monitor script
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
(This is cross-posted from the lua discussion topic, but belongs here as well because the script is currently specifically written for High Speed.) I spent a fair amount of time working on an item finder script (specifically for the NES game High Speed). This script can be adapted fairly easily to work on other games by changing the memory location watch variable and the desired value variable list. You will also want to edit the script file to indicate how many frames you want to attempt random input on before trying again. I've tried to add copious comments so things somewhat make sense, but this is only my second Lua script and I'm absolutely certain this script could be significantly improved. Here's the link: http://lua.pastey.net/97140-44vx Please have a look and let me know what you think. Thanks to everyone who helped me sort through the implementation details (DeHackEd and Alden in particular). Enjoy, A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Post subject: Item finder luck manipulation / memory monitor script
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
I spent a fair amount of time working on an item finder script (specifically for the NES game High Speed). This script can be adapted fairly easily to work on other games by changing the memory location watch variable and the desired value variable list. You will also want to edit the script file to indicate how many frames you want to attempt random input on before trying again. I've tried to add copious comments so things somewhat make sense, but this is only my second Lua script and I'm absolutely certain this script could be significantly improved. Here's the link: http://lua.pastey.net/97140-44vx Please have a look and let me know what you think. Thanks to everyone who helped me sort through the implementation details (DeHackEd and Alden in particular). Enjoy, A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
alden wrote:
Hi dwangoac, nice first script! If you don't want to use your personal webspace, you can use http://lua.pastey.net/ to post Lua scripts.
Ahh, thanks! I think I saw that posted somewhere before but forgot about it. The current script is still a bit rough - I'm not entirely positive the drawbox and for that matter the entire if / end section at lines 8-10 is even needed. What I may do is continue to clean it up and mess around with the player input to see if it would be possible to adapt this script to work on multiple games by asking the player for a memory address (or addresses) to monitor before performing the first frameadvance. I've played with Python which requires strict indentation so when I got to Lua I didn't quite get it all right. My bad - things should be properly indented from here on out. I was impressed that it only took me two hours to make a functional Lua script and it seems like a great choice for emulation purposes. Anyway, thanks again for cleaning that up, A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Post subject: Lua script to skip bonus counts - please test
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
Greetings, I wanted to get my feet wet with Lua scripting so for my first challenge I took on an issue that came up when I submitted the run - there are unskippable cutscenes in the game, and they detract from the fast pinball action the movie attempts to display. With that in mind, I've created a script (based on the Super Metroid cutscene skipping script floating around) which fast-forwards through the bonus counts. I attempted to post it on DeHackEd's microstorage page but it humorously informed me that I should beat myself upside my head for attempting to upload a .lua script, so I'll resort to my personal storage for now: http://sonic.net/~ac/tas/skiptest.lua There are flags at the top of the script file that can be easily edited to remove the debugging information. What I could use help with is figuring out if there are better memory addresses to use than the ones I'm monitoring now. I've found that these four addresses ($04DC, $04E1, $04E5, and $04E9) all go to 0 only while in the bonus count. This means that other types of cutscenes such as the fireworks are not skipped. If someone could help find better memory addresses I'd love the help. I'd also appreciate any pointers on creating a Lua script to search for efficient ways to trigger drops, but that's another request altogether. :) Thanks again to everyone who has provided feedback, A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
ShinyDoofy wrote:
Just a little generic note: you can upload your WIPs to DeHackEd's Microstorage. Although there is only limited support for .fm2 right now, it should go well.
Thanks! I've posted it to: http://dehacked.2y.net/microstorage.php/info/57673382/High%20Speed%20(U)-dwangoac_WIP.fm2 Perhaps I shouldn't have copied the ROM name - it made for a bit of a messy URL. Thanks again in advance to anyone who can help with scripting item drop improvements, A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Post subject: High Speed
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
I submitted a TAS against High Speed (http://tasvideos.org/2092S.html) but the luck manipulation was sub-optimal and there were additional minigames that needed to be completed that I did not know about when I made the submission. I've canceled that submission and I've posted a WIP which I could use some optimization help with: http://sonic.net/~ac/tas/High_Speed-dwangoac.zip This WIP has slower races than the original in part because I wasn't able to manipulate booster drops. I finally found that $06A1 starts at 255, goes to 000 when triggered, then goes to 128 or 129 (indicating the booster is on either the left or the right side of the field respectively). After the minigame starts the placement is determined solely by player input, so I'd like to see if a Lua script could work through several scenarios to make the drop happen as quickly (and frequently) as possible. Does anyone know of a script I could start out with? Thanks in advance for any help you can provide, A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
Derakon wrote:
You should create a thread in the NES games forum, dwangoac, since people don't usually look in the Workbench/Published Movies/Gruefood area for WIPs.
Ahh, OK - so a WIP on an NES game would go to the NES games forum - makes sense. I will cancel this submission because the original submission was sub-optimal with luck manipulation and more importantly did not meet the originally intended goal (which was to truly beat the system). My current WIP file gets back to the point where my balls get abducted by the aliens (humor intended): http://sonic.net/~ac/tas/High_Speed-dwangoac.zip. Thank you very much for responding and letting me know where to put this, A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Post subject: Faster edition
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
After much reworking and splicing I have a significantly faster run completed. This version does all of the pachinko minigames with a single ball which drastically reduces the amount of time spent waiting on the unskippable bonus countdown. The luck manipulation is greatly improved from the original submission. Unfortunately, the race minigames have poorer times almost universally due to less fortunate starting lineups (I was unable to splice in my original runs because it appears to key some randomness for the races off of the score or some other factor). This plays past the spaceship and shows that there are indeed new minigames, so I'll work through a run that completes ALL of the minigames before resubmitting. Any interim feedback would definitely be appreciated however. The new version is located here: http://sonic.net/~ac/tas/High_Speed-dwangoac.zip Thanks again for your comments, A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Post subject: Single ball run
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
OK, I decided to try my luck with a single ball instead of going for multiball and the result may be worth the effort. Have a look at this short 1 minute WIP: http://www.sonic.net/~ac/tas/High_Speed_WIP_by_AC.zip EDIT: Here's an even tighter version which also includes getting the tokens for the second minigame: http://www.sonic.net/~ac/High_Speed-AC_Luck_Manipulation_Improvement_WIP.zip I've discovered much more effective ways of manipulating the luck (as in I'm now more experienced at knowing what to look for), but even after hours of searching through memory addresses I still haven't found the specific address(es) that indicate which drop will take place when. There are a large number of values that all change at the same time the frame before a minigame token drop and I can't make heads or tails of them. If anyone can help me analyze the memory addresses that change I would definitely appreciate it. This version gets to the first pachinko minigame several seconds faster and completes the minigame in a very optimal way. The bonus animation is also a few frames shorter due to the lower timer bonus count. What may work would be working through all of the pachinko minigames, starting multiball, and then working through the race minigames. I've found that it is possible to copy and paste a previous minigame completion from a different .fm2 file in so long as the movements start on the same relative frame based on the first possible frame where you can control the cannon. This means I can re-do the main table portions but keep a few of the better minigames (the race minigames would have to be done after multiball is collected, however). At this point I feel that the entertaining portions of the run outweigh the unskippable bonus counts (especially since FCEUX has that handy tab button to fast forward) but if you have a strong opinion about it please feel free to post. Thanks again all, A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
Dromiceius wrote:
Lua scripting is pretty handy for this sort of thing. Seeing as you already know the relevant memory addresses, you could, for example, systematically test a subset of all possible inputs for a given set of frames, and find the best outcome that way.
I had considered Lua scripting for this but the problem I ran in to was I never found the memory address associated with the safe / helicopter minigame token drops. I'd gladly accept help tracking helpful memory addresses down if you're up for it. :)
Dromiceius wrote:
But like the submission text says, half the movie is spent idling through fireworks score tallies. IMO, not a great choice of game, so I'm somewhere between Meh and Yes.
The unskippable sections are a definite annoyance in this run. I really wish there was some way to get past those. The bonus score countdown could be shortened by reducing the bonus amount (using only one ball instead of three, artificially running the clock down somehow, etc.) but there's still that pesky fireworks animation. I'll play around to see if there's some other way to glitch past it (possibly by abusing the pause function?) but more than likely it's not something that can be avoided. Thanks for your comments and thanks in advance for any memory address / Lua scripting help you might be able to provide in the future, A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
Aqfaq wrote:
There are some parts that look like they could be done faster, especially entering the helicopters, safes and the flying saucer.
I'd agree with you. This is one area where I traded speed for entertainment by showing off some precision orbit shots instead - I could trap all three balls (like I do with the spaceship) and potentially manipulate it so all three balls somehow land at the foot of the ladder or the center of the safe at the earliest possible frame but with only two flippers to perform a catch with this would be a very tall order to perform every time because nudging the machine affects all balls in play. Still, there's probably some room for improvement in the form of better ball placement at the time the minigame round starts. Further analysis of the token drop triggers may also significantly shorten the main table interludes if an effective manipulation strategy could be ascertained. Thanks for reviewing this, A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
gameboy9 wrote:
Hang on a second... I thought that there were four more pachinko rounds and three more races in this game... (for a total of eight pachinko rounds and six races)
Whoa - you are right and I didn't even catch that... It's been several years since I last played this game so I used the description at http://www.gamefaqs.com/console/nes/file/587336/29606 which only mentions the space ship. I see the entry http://www.gamefaqs.com/console/nes/file/587336/38515 mentions a rocket, and come to think of it I remember a difficult pachinko table with a green background which gave me trouble years ago which I haven't seen yet in this run. Something in the back of my mind tells me that some of the minigames repeat which may detract from the cleanliness of the objective but perhaps I can beat them in a more interesting manner the second time around. I'd still like people to review it to get feedback but it shouldn't be accepted for publication with the current description - I've edited the goals section to note this only completes the game to the first "You beat the system" message. Please accept my apologies for not properly catching this and thanks for mentioning it, A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.