Joined: 11/11/2006
Posts: 1235
Location: United Kingdom
Mothrayas wrote:
The problem appeared to be with the .fm2 autojudger being broken, which meant practically only BizHawk movies were counted at first.
A test by micro500 seems to suggest that I was under the false pretence that the only thing necessary to get an fm2 to sync in bizhawk is to add an extra frame to the start. While a few fm2 movies did succeed it seemed many failed on the clown room where there is an excessive amount of lag. The only way around this that I know of is to actually run the verifier Lua on FCEUX, or verify the FM2 runs manually. Since I know barely any Lua (and knew practically zero prior to taking up this task) I am leaning towards manually verifying the FM2 runs. I am open to any suggestions!
<adelikat> I am annoyed at my irc statements ending up in forums & sigs
Moderator, Senior Ambassador, Experienced player (907)
Joined: 9/14/2008
Posts: 1014
Raiscan wrote:
A test by micro500 seems to suggest that I was under the false pretence that the only thing necessary to get an fm2 to sync in bizhawk is to add an extra frame to the start.
I will take the fall for this - in earlier tests with a couple of different test movies I discovered that they could always be played back in BizHawk by appending a single frame of lag to the beginning of imported .fm2 submissions. In testing, none of the movies I tried triggered this difference in lag. Lessons learned for next time: We need independent scripts running on each accepted emulator for a given competition with a single leaderboard shared between them in some way. I suspect the Lua script can be adapted to work in FCEUX and I would welcome a volunteer to help with that, otherwise we will sort the .fm2's by frame length and prioritize manually checking the shortest ones just to get a quick turnaround on finding the real fastest submission as part of the competition.
dwangoAC wrote:
This is the first attempt at doing this in front of a live audience with a set timer so things may go wrong; I ask for grace in advance in case something goes catastrophically sideways, such as 30,000 people slashdotting the site or delays in announcing the winning submission due to technical difficulties.
I put the disclaimer in when I announced the competition but I didn't want to need it. :) We did have an active attacker sending in fake submissions in rapid fire with the count of fake submissions in the thousands that we had to sort out. We also had some last-minute script scrambling to get leaderboard metadata working rather than just identifying the fastest completion which I'm glad we did but at the same time we had so many submissions that the script didn't have enough time to complete before my time was up, even with only ~11 seconds on average for each movie file. These challenges put a strain on all of us involved in the submissions acceptance and judging process - namely, RGamma, Raiscan, SMK, adelikat, Nach and myself. Thank you to everyone for showing grace and for the patience from all who were affected by these problems.
I was laid off in May 2023 and became too ill to work this year and could use support via Patreon or onetime donations as work on TASBot Re: and TASBot HD is stalled. I'm dwangoAC, TASVideos Senior Ambassador and BDFL of the TASBot community; when healthy, I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Player (13)
Joined: 6/17/2006
Posts: 508
To add to my previous comment, including the emulator used (and maybe the core used too in BizHawk's case) to the leader table might be a good idea, considering movie conversion between emulators is not possible after all.
Ambassador, Experienced player (709)
Joined: 7/17/2004
Posts: 985
Location: The FLOATING CASTLE
This was fun. I had thought I would be too busy but it happened that my schedule opened up enough to use most of the time. Submitted a really crappy test run and then didn't finish my second version before the cutoff. I was a few seconds behind the leaders anyway. Still a pretty neat contest. I've done quite a bit of lua scripting in FCEUX so let me know if you need help next time.
Editor, Skilled player (1536)
Joined: 7/9/2010
Posts: 1319
There was this lua script: http://pastebin.com/hyZ7MvFv
Favorite animal: STOCK Gt(ROSA)26Sortm1.1(rtTA,EGFP)Nagy Grm7Tg(SMN2)89Ahmb Smn1tm1Msd Tg(SMN2*delta7)4299Ahmb Tg(tetO-SMN2,-luc)#aAhmb/J YouTube Twitch
Joined: 11/11/2006
Posts: 1235
Location: United Kingdom
TASeditor wrote:
There was this lua script: http://pastebin.com/hyZ7MvFv
Can you elaborate as to the purpose of this script please?
<adelikat> I am annoyed at my irc statements ending up in forums & sigs
Editor, Skilled player (1536)
Joined: 7/9/2010
Posts: 1319
Raiscan wrote:
Can you elaborate as to the purpose of this script please?
Simple script showing position, position difference, and costum lag. It was used in the published Streemerz runs.
Favorite animal: STOCK Gt(ROSA)26Sortm1.1(rtTA,EGFP)Nagy Grm7Tg(SMN2)89Ahmb Smn1tm1Msd Tg(SMN2*delta7)4299Ahmb Tg(tetO-SMN2,-luc)#aAhmb/J YouTube Twitch
Joined: 8/4/2015
Posts: 2
dwangoAC wrote:
MUGG wrote:
How come? The game keeps track of ingame time, so it should be possible to retrieve it when address 002c turns 01 or whenever, shouldn't it?
If you can figure out a way to retrieve it without screenscraping go for it. :) You're welcome to try to locate the memory value.
The timer starts at $4D in RAM. It takes 4 bytes and is stored in BCD with the digits reversed. For example a time of 12:34:56:78 would be stored as $21, $43, $65, $87.
Post subject: Real answers from the developer are awesome
Moderator, Senior Ambassador, Experienced player (907)
Joined: 9/14/2008
Posts: 1014
thefox wrote:
The timer starts at $4D in RAM. It takes 4 bytes and is stored in BCD with the digits reversed. For example a time of 12:34:56:78 would be stored as $21, $43, $65, $87.
Thanks! It's always awesome when the developer chimes in with the real answer (it's not unheard of, but it's still a nice surprise). That would have been somewhat hard to locate via memory search. If you don't mind me asking, why did you write it with the digits reversed? Again, thank you for giving me permission to use your port. By all accounts the competition was a huge success and a number of people have told me that they thoroughly enjoyed playing the game.
I was laid off in May 2023 and became too ill to work this year and could use support via Patreon or onetime donations as work on TASBot Re: and TASBot HD is stalled. I'm dwangoAC, TASVideos Senior Ambassador and BDFL of the TASBot community; when healthy, I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
creaothceann
He/Him
Editor
Joined: 4/7/2005
Posts: 1874
Location: Germany
dwangoAC wrote:
If you don't mind me asking, why did you write it with the digits reversed?
We write numbers from left to right but start with the most significant digit, whereas on a PC the least significant digits come first. $21, $43, $65, $87 (four 8-bit values) == $87654321 (one 32-bit value) On a PC, it's easy to treat the whole time value as a 32-bit integer. The drawing routine most probably starts drawing at the leftmost digit. It loads the time value, uses the lowest 4 bits as the digit to draw on screen, shifts the value 4 bits to the right, and repeats that process another 7 times.
Editor, Player (44)
Joined: 7/11/2010
Posts: 1029
Which order you write the digits/bytes of a number in is actually a time-honoured debate of computer science. Wikipedia has a good article here. The practical implication of this is that you look up what endianness is standard on the processor you're using, and use that. If you're using a little-endian processor, you put the least significant digits first, because otherwise manipulating the data will be much more difficult. (Even if the big-endian representation is what became standard for doing arithmetic via pencil and paper.)
Post subject: The results are in!
Joined: 11/11/2006
Posts: 1235
Location: United Kingdom
It's time :) Thanks to a couple days of rest and relaxation, I have rewritten the judging script to produce a leaderboard of the BK2 files. Here goes! The spreadsheet for these results can be found here on Google Sheets. Top 10 by framecount to victory condition:
  1. Mothrayas - 18637
  2. kaizoman - 18693
  3. mugg1991 - 18704
  4. Dragonfangs - 18735
  5. TehSeven - 18760
  6. Bisqwit - 18872
  7. Atma - 18891
  8. scrm - 18908
  9. Aglar - 18938
  10. TASeditor - 18949
Top 10 by movie framecount:
  1. Mothrayas - 18541
  2. kaizoman - 18597
  3. Dragonfangs - 18639
  4. TehSeven - 18644
  5. Bisqwit - 18776
  6. Atma - 18795
  7. scrm - 18812
  8. Aglar - 18842
  9. TASeditor - 18853
  10. Bisqwit - 18855
  11. arandomgameTASer - 18890
Top 10 by ingame time:
  1. Mothrayas - 3:44.86
  2. kaizoman - 3:45.74
  3. mugg1991 - 3:45.97
  4. TehSeven - 3:46.37
  5. Dragonfangs - 3:46.56
  6. Bisqwit - 3:47.87
  7. Aglar - 3:48.22
  8. Atma - 3:49.07
  9. Bisqwit - 3:49.13
  10. scrm - 3:49.25
  11. TASeditor - 3:50.00
Top people most likely to be Mothrayas:
  1. Mothrayas
Special thanks to:
  • adelikat - for making last-day/last-hour/last-minute/last-second changes to bizhawk's lua functionality
  • Mothrayas - Patience and understanding after being denied victory on SGDQ's stream :)
  • RGamma - For fighting spam and taking names
  • dwangoAC - For hosting the competition
  • thefox - For supplying the in-game timer RAM locations. THANK YOU!
  • Solarplex - Whose absence gave me the opportunity to help out
<adelikat> I am annoyed at my irc statements ending up in forums & sigs
Noxxa
They/Them
Moderator, Expert player (4126)
Joined: 8/14/2009
Posts: 4090
Location: The Netherlands
Video of the winning entry for those who want to see it: Link to video Input file: User movie #24544199640776782
http://www.youtube.com/Noxxa <dwangoAC> This is a TAS (...). Not suitable for all audiences. May cause undesirable side-effects. May contain emulator abuse. Emulator may be abusive. This product contains glitches known to the state of California to cause egg defects. <Masterjun> I'm just a guy arranging bits in a sequence which could potentially amuse other people looking at these bits <adelikat> In Oregon Trail, I sacrificed my own family to save time. In Star trek, I killed helpless comrades in escape pods to save time. Here, I kill my allies to save time. I think I need help.
Post subject: Re: Real answers from the developer are awesome
Joined: 8/4/2015
Posts: 2
dwangoAC wrote:
thefox wrote:
The timer starts at $4D in RAM. It takes 4 bytes and is stored in BCD with the digits reversed. For example a time of 12:34:56:78 would be stored as $21, $43, $65, $87.
Thanks! It's always awesome when the developer chimes in with the real answer (it's not unheard of, but it's still a nice surprise). That would have been somewhat hard to locate via memory search. If you don't mind me asking, why did you write it with the digits reversed?
No problem! I'm a little bit hazy on the details, but I think I reversed the digits because it worked out to be better (faster, more compact) for the routine that increases the timer. Minor optimization, but I guess I felt like doing it at the time.
Joined: 1/13/2014
Posts: 56
Is there a chance we could have another one of these in the future? I had to work and missed this, but I really want to participate in something like this.
adelikat
He/Him
Emulator Coder, Site Developer, Site Owner, Expert player (3574)
Joined: 11/3/2004
Posts: 4754
Location: Tennessee
I had fun doing the speed TAS competition. And I was surprised at the quality of submissions in such a short time. I'd like to do it again too :)
It's hard to look this good. My TAS projects
Post subject: Anyone is welcome to organize another speed TAS competition
Moderator, Senior Ambassador, Experienced player (907)
Joined: 9/14/2008
Posts: 1014
OK, let's do it. I'm still somewhat recovering from SGDQ 2015 but I agree we should do this again sooner rather than later, perhaps a month from now. Having said that, I don't have to be the organizer every time - if someone else wants to step up to do one for the site please let me know as organizing this does take a bit of time due to the need to find and select a good game. Take note that this one was based on a predefined deadline for start and stop (albeit with a sliding window tied to the SGDQ schedule). The first speed TAS competition featuring Baby Moses worked on an honor system whereas the SGDQ event with Streemerz was very much a hard deadline, with announcements of the ending being neigh and all of the requisite panic that goes with it (although I'll admit that the actual cutoff was substantially delayed due to a long setup block for Super Metroid). If we were to have another event, should it be a hard start and stop time like Streemerz (which may not work well for people in odd timezones but has that panic factor) or should it be on the honor system like Baby Moses was (more flexible but easier to cheat at)? Thoughts?
I was laid off in May 2023 and became too ill to work this year and could use support via Patreon or onetime donations as work on TASBot Re: and TASBot HD is stalled. I'm dwangoAC, TASVideos Senior Ambassador and BDFL of the TASBot community; when healthy, I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
BigBoct
He/Him
Editor, Former player
Joined: 8/9/2007
Posts: 1692
Location: Tiffin/Republic, OH
Maybe use operating system timestamps? I know when you right-click a file in Windows and open its' properties, you can see its' creation time, last modified time, and last time accessed. This of course is not cheat-proof (you can always spoof your operating system's time) but it's an idea.
Previous Name: boct1584
Moderator, Senior Ambassador, Experienced player (907)
Joined: 9/14/2008
Posts: 1014
boct1584 wrote:
Maybe use operating system timestamps? I know when you right-click a file in Windows and open its' properties, you can see its' creation time, last modified time, and last time accessed.
This seems interesting on the surface but the ease with which this data could be modified means it's actually *worse* than the honor system. If we want to introduce an additional option as kind of a halfway point between a hard start and stop time and an honor system with no tracking at all, we could use a gated registration system to download the file which starts a clock and allows the same user to upload a movie file within a time limit. It can still be cheated by out-of-band communication (first competitor downloads it, shares it with a buddy, the buddy does tons of research and starts his time period much later, etc.). Effectively, my take is that the hard limit is the best way to avoid cheating, but if it is a generally fun competition it should probably just be on the honor system as I suspect any attempt to create a technological solution won't actually improve things... Just my (overly wordy) take, any thoughts?
I was laid off in May 2023 and became too ill to work this year and could use support via Patreon or onetime donations as work on TASBot Re: and TASBot HD is stalled. I'm dwangoAC, TASVideos Senior Ambassador and BDFL of the TASBot community; when healthy, I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
I really prefer the panic aspect of the competition. I can then expect everyone is working at the same time and trying to finish in time. The IRC was active with messages like "what framecount is everyone at" or "I'm at the Get him Boys dialogue". I liked that. I was afraid that I over-optimized my run and was falling behind. I just kept going and going, and as said, I liked that panic aspect. But I can see inexperienced players falling behind easily or being too late to submit their run... Why is Bisqwit's name struck through?
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
Mothrayas wrote:
Video of the winning entry for those who want to see it:
It seems to forego this tactic: Is it simply that that trick doesn't work with this game?
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
Warp wrote:
Is it simply that that trick doesn't work with this game?
It does work but it can't be done everywhere because the setup takes too long or for other reasons. I looked at the first two rooms and it seems it was done the best possible way.
Noxxa
They/Them
Moderator, Expert player (4126)
Joined: 8/14/2009
Posts: 4090
Location: The Netherlands
Warp wrote:
Mothrayas wrote:
Video of the winning entry for those who want to see it:
It seems to forego this tactic: Is it simply that that trick doesn't work with this game?
This game mode controls like VVVVVV - you can't simply "jump" down, you can only invert gravity, and can only do so while on the ground. In cases where it was possible to walk on the opposite floor/ceiling for the same momentum effect, I did that wherever possible. EDIT: As MUGG said, such a setup also takes time, so sometimes simply falling down was faster.
http://www.youtube.com/Noxxa <dwangoAC> This is a TAS (...). Not suitable for all audiences. May cause undesirable side-effects. May contain emulator abuse. Emulator may be abusive. This product contains glitches known to the state of California to cause egg defects. <Masterjun> I'm just a guy arranging bits in a sequence which could potentially amuse other people looking at these bits <adelikat> In Oregon Trail, I sacrificed my own family to save time. In Star trek, I killed helpless comrades in escape pods to save time. Here, I kill my allies to save time. I think I need help.
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
Mothrayas wrote:
This game mode controls like VVVVVV - you can't simply "jump" down, you can only invert gravity, and can only do so while on the ground.
Can't you "jump" by simply inverting gravity for a bit and then restoring it? It ought to increase your falling speed from a ledge. But I haven't played this game, so I'm just shooting in the dark.
Noxxa
They/Them
Moderator, Expert player (4126)
Joined: 8/14/2009
Posts: 4090
Location: The Netherlands
Warp wrote:
Can't you "jump" by simply inverting gravity for a bit and then restoring it? It ought to increase your falling speed from a ledge. But I haven't played this game, so I'm just shooting in the dark.
Mothrayas wrote:
This game mode controls like VVVVVV - you can't simply "jump" down, you can only invert gravity, and can only do so while on the ground.
http://www.youtube.com/Noxxa <dwangoAC> This is a TAS (...). Not suitable for all audiences. May cause undesirable side-effects. May contain emulator abuse. Emulator may be abusive. This product contains glitches known to the state of California to cause egg defects. <Masterjun> I'm just a guy arranging bits in a sequence which could potentially amuse other people looking at these bits <adelikat> In Oregon Trail, I sacrificed my own family to save time. In Star trek, I killed helpless comrades in escape pods to save time. Here, I kill my allies to save time. I think I need help.