Joined: 11/11/2006
Posts: 1235
Location: United Kingdom
Because Bisqwit wronged me in a previous life
Bisqwit uploaded an improvement that put him higher on the leaderboard. His old time is included but crossed out since technically it was still in the top 10.
<adelikat> I am annoyed at my irc statements ending up in forums & sigs
Joined: 11/13/2006
Posts: 2822
Location: Northern California
I'm definitely considering it. I'd love to run events like these, and I've got the spare time and complete lack of social life to do them often.
I don't think a hard start/stop would be all that bad. The one minor issue I had with this past race is that the deadline wasn't actually set in stone, it was highly dependent on how SGDQ went itself. As you said, Super Metroid took a while to set up, and any of the other games could have gone extremely well or seriously long, leading to a much shorter/longer time than anticipated.
The issue with a shorter time is, also as you said, potentially alienating people in different timezones (or insomniacs <_<), but it does give the panic factor and ultimately leads to a more interesting race. A longer time would allow more people to enter, making it interesting, but there would be more time to carefully optimize and thus it wouldn't particularly be any different than, say, a Dream Team Contest. Except without teams, of course.
So in my opinion, we'd either have to:
A. Pick a short time that works for as many people as possible with a simple game that can actually be TASed within that time limit
or
B. Pick a longer time to account for everyone, but pick a very complicated game to make up for the longer time
I do actually have some more ideas about doing events like these regularly, which I'm probably going to post as a new thread since it would encompass more than just speed TAS races.
TASvideos Admin and acting Senior Judge 💙 Currently unable to dedicate a lot of time to the site, taking care of family.
Now infrequently posting on Bluesky
It makes me happy in a way, that nobody actually managed to make a sub-5min run, and the differences on the leaderboard were comparatively rather small. Being beaten by a small margin is a more rewarding thing than being beaten by a large margin.
I'll start by quoting what I've posted near the beginning of the topic:
Now that it's over, I want to thank everyone again, it was really fun, with a very good game choice :)
About the "slow TASer" part in the quote, I think I can confirm it, since I was very low on time :P
But that was part of the fun, hearing some Super Metroid music when I still had multiple rooms to do... That was quite intense! Luckily, the last parts of the game, where I was completely rushing, were not the most complex rooms.
I've completely missed a big shortcut (going through an inverter thing to skip a room) and other smaller tricks but am still happy, and surpised, with my results ^^.
So, about a hard deadline or the honor system for another race, I don't have a preference. The only problem I can see with a hard deadline is with timezones.
Joined: 8/14/2009
Posts: 4090
Location: The Netherlands
This was, for me, the best part of the competition as well. I was also a relatively slow TASer (because my mentality was not want to give up any frames just to be quick in real time; I didn't just want to record a time, I wanted to record a good time), so I was falling behind as I came into the final sections of the game. Then the Super Metroid music started playing on the stream, and there was no more appropriate soundtrack than that to generate an incredibly tense atmosphere as I was TASing the final area as quickly as I could (still without sacrificing any frames) before the Super Metroid race would start. I ended with a couple of minutes to spare (fortunately the last section was indeed reasonably easy and quick to do), but that final race against the clock was one of the most tense things I've experienced in quite some time.
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.
Moderator, Senior Ambassador, Experienced player
(907)
Joined: 9/14/2008
Posts: 1014
I have copies of every single file described in Raiscan's results spreadsheet but I'm not sure where to put them. I'll gladly pass them off to whoever wants them but I don't really feel inclined to upload them one at a time to user storage, and I failed to place a Creative Commons disclaimer in the competition text (although such a disclaimer does exist elsewhere on the site). Then again, everyone knew that their movie could be played back live, so I assume it's OK.
Any thoughts on where I should put the movie files? Any volunteers to do a 4-way race comparison encode like we did with Baby Moses? Thanks in advance!
Joined: 11/11/2006
Posts: 1235
Location: United Kingdom
dwangoAC wrote:
I failed to place a Creative Commons disclaimer in the competition text
Don't worry, I've got this.
Oops! I accidentally left My SGDQ2015 storage folder completely open to the public! I hope no-one downloads them!
But seriously, all the movies are in movies.7z. One folder for fm2, one for bk2. You'll also find a 7z of the scripts I used to judge the bk2 movies; I intend to upload tasjudy to a versioning system at some point, so this is purely for the curious.
<adelikat> I am annoyed at my irc statements ending up in forums & sigs
Is each datapoint in the curve representing the number of entries that have that length, or is each datapoint the sum of entries that have at most that length? Because the shape of the curve makes more sense as a sum. (I find it really hard to believe that there are exactly as many entries that are 05:02 long than 06:00 long, for instance.)
The curve would be more illustrative if each datapoint represented the amount of entries of that particular length.
Additionally, it looks like something drawn in MS Paint...
LibreOffice to be more exact - didn't had the time to do something better. I might try again in Mathematica if I get around to re-installing it.
Warp wrote:
Is each datapoint in the curve representing the number of entries that have that length, or is each datapoint the sum of entries that have at most that length? Because the shape of the curve makes more sense as a sum. (I find it really hard to believe that there are exactly as many entries that are 05:02 long than 06:00 long, for instance.)
The curve would be more illustrative if each datapoint represented the amount of entries of that particular length.
Yes, it's the sum of finished entries. Sorry if I wasn't clear enough.
As for your suggestion, I would only get a straight line with lots of points close to each other, which would be pretty hard to read. I guess I could group the data by small time intervals and make a bar chart out of it. I'm open to suggestions.
If you want to pass me a zip file, I'll host the zip file on the site. Users will have to go through the entries themselves though.
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
More charts, including less kiddy versions of the previous ones. Again, only the best entries from each author are considered here, including "default user".
EDIT: One more!
Joined: 8/14/2009
Posts: 4090
Location: The Netherlands
By request of some people, I wrote a set of lua scripts to record the top 10 submissions into ghost files and play them back in order to generate a "ghosts"/"horse race" encode.
(like I also did for DTC5/Metal Force). Here it is:
Link to video
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.
Link to video
And here's my synced encode! Unfortunately it includes from the top 10 entries only the seven entries made in FCEUX, because I have no prospects for recompiling or even running Bizhawk.
Moderator, Senior Ambassador, Experienced player
(907)
Joined: 9/14/2008
Posts: 1014
Bisqwit wrote:
And here's my synced encode!
That is one very interesting encode! One quick question - why does the timer keep going at the end? Just curious. I'll link to this one as well. Thanks for taking this on, I'm curious how both your encode as well as the one from Mothrayas was created.
The timer keeps going on because apparently currFrameCounter in FCEUX doesn't stop incrementing when the movie ends. It's an oversight mostly.
Creating my video involved the following steps, almost all of them involving game-specific edits into FCEUX's source code:
- Identify and hide the score sprites. (Those are sprites that refer to tiles C0..DF)
- Identify the protagonist's sprite and assign a custom palette to it. (Those are sprites that refer to tiles E0..FF)
- Add audio and video recording. Use FCEUX's DrawTextTransWH function to draw text in the video.
- Identify the current scene (RAM addresses 6FC, BC and BD, courtesy by Thefox), and when the scene switches, start a new recording. The current PPU scrolling position is used to offset the screen horizontally, taking advantage of the fact that each screen in this game is maximally 320 pixels wide, due to its origin as a non-scrolling flash game. The reason of this design was to make it easier to merge the different videos, and to accommodate possible situations where different players are on different sides of the same screen.
- Change the recording into rerecording: If the target video file already exists, merge the new frames with the frames already in the file.
- When recording video, give a different priority to background and sprites, so that when the video is updated, already recorded sprites will not be replaced with background from the other movie.
- Create scripts and tools to convert the raw video & audio files into AVI. I used bits and pieces from an NTSC filter I have written previously, and MEncoder to do most of the encoding.
- Debugging & exceptions, such as what to do when one of the movies goes back to the previous room and the others don't.
I also wanted to do things like disabling the music so that only sound effects from all movies are played, and then disabling the SFX, so that music from only the slowest movie for each screen are played, but I couldn't accomplish this without some movies desyncing.
Conversely, Mothrayas used LUA for his video and overlayed the different characters with software-generated sprites from image files, but he can tell more about it. I would presume he first run each movie and saved Tary's location (screen number, X and Y coordinates) on each frame into a file, so that the LUA script can read all those files when running the fastest movie.