Stadium Events

Stadium Events is a power pad game by Bandai that is famous for being expensive (due to limited availability). The game was repackaged as World Class Track Meet and managed to reach a fairly wide audience.

Game objectives

  • Emulator used: Bizhawk 2.4
  • Tournament mode, win all medals/trophies
  • Fastest in-game time

Controls

  • select - mode select
  • start - start selected mode
  • 1 - left foot
  • 2 - right foot
Note that in hurdles races 1 and 2 are treated identically, alternating them is not necessary.

Tournament Mode

This mode consists of 100M and 110M hurdle races against each of 6 opponents, TURTLE, BEAR, HORSE, RABBIT, BOBCAT, and CHEETAH.

100M dash

This is exactly what you think at is, alternately step with your left and right foot as fast as possible.

110M hurdles

This game doesn't seem to be designed for high speed, and the hurdles seem pretty optional. I'm didn't really figure out how the game decides if you're jumping or just between steps, but it seems very inconsistent which is probably part of why this game was so frustrating. At high speeds jumping seems to get confused or something, when you land you basically come to a standstill, presumably the game is confused about what speed you should be going?

Optimization

The inputs for the 100M dash are the same every time and 5.38 is the best possible time, but the hurdles in 110M hurdles don't behave consistently for each race. I did spend a bunch of time trying to optimize the handling of hurdles with lua scripting. The best method I found was to look at 0x58 which seems to be the state variable. When running full speed the states rotate through the sequence 1, 2, 3, 5, 6, 7.

Improvements

  • I was surprised at the inconsistency of the hurdles and jumping mechanics. I ran lua scripts for quite a while in an attempt to optimize, but I'd be surprised if there wasn't some improvement to be made with higher depth or improved scripts.
  • I didn't really check, but I wonder if it may be possible to affect the opponents and make them finish faster. If possible I don't imagine it would save too many frames.

Thanks to:

  • feos for advocating for the in-game time goal, pushing me to make the improvements, and running some scripts himself
  • The TASMania team

Screenshots:

21, 2755, 16778, 19660, 22460

ThunderAxe31: Judging.
ThunderAxe31: Un-claiming.
feos: Judging...
feos: Updating the submission.
feos: The in-game time is a good goal, because it covers all the relevant gameplay and ignores the time the opponent takes to finish.
While the new movie doesn't have all best times overall, it's a matter of writing more and more elaborate scripts that do heavier search, or disassembling the code, because hurdles are incredibly unreliable. TASing them manually is a pain (I've tried).
I consider this movie acceptable, because my manual WIP was beaten hard. The feedback was unclear, but the game looks simplistic and repetitive, especially the dash. Falling on hurdles may also damage the entertainment value, even if it was a part of the strategy.
Accepting to Vault.
fsvgm777: Processing.
feos: Setting the branch to "Tournament", because "The Olympics" also looks TASable if you aim for score. Max score seems to be 100 in each event, so taking the shortest time to reach all 100s should be vaultable.


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15579
Location: 127.0.0.1
This topic is for the purpose of discussing #6707: link_7777's NES Stadium Events "Tournament" in 06:03.04
Editor, Player (54)
Joined: 12/25/2004
Posts: 634
Location: Aguascalientes, Mexico
Very nostalgic game (and music)! I would had preferred that the character would look like it struggled at the beginning and little by little improve his skills (even if it meant that the run take a bit longer) so it was a meh vote for me.
I'm the best in the Universe! Remember that!
Alyosha
He/Him
Editor, Emulator Coder, Expert player (3822)
Joined: 11/30/2014
Posts: 2831
Location: US
I remember jumping off the power pad to get super long jumps. I felt accomplished beating cheetah but now he looks so slow! Yes vote.
wxb
Joined: 2/9/2014
Posts: 5
I enjoyed it, especially during the hurdles portions. It made me curious how a TAS of the jumping events would look, though.
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
TASVideoAgent wrote:
the hurdles in 110M hurdles don't behave consistenly for each race. I did try to optimize the handling of hurdles for the first race, but it doesn't matter since you have to wait for the opponent to finish anyway.
Why not aim for in-game time?
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Mitjitsu
He/Him
Banned User
Joined: 4/24/2006
Posts: 2997
Too repetitive for me.
Experienced player (876)
Joined: 11/15/2010
Posts: 267
feos wrote:
TASVideoAgent wrote:
the hurdles in 110M hurdles don't behave consistenly for each race. I did try to optimize the handling of hurdles for the first race, but it doesn't matter since you have to wait for the opponent to finish anyway.
Why not aim for in-game time?
I guess I didn't think about it much when I was making the run in the first place, but originally it didn't seem like it was worth the time to try to optimize every hurdles race. Now that I'm thinking about it there are a couple approaches, There is manipulating the timer, and then there is optimizing the middle races (since only the first and last one are optimized as submitted) which is what I think you were getting at. As for manipulating the time it looks like the in-game time roughly approximates real time (somewhat poorly, it is a bit slow), so I doubt there is a direct manipulation for the time. The timer does seem to stop for animation changes sometimes, but I think that is probably lag (though the game does still read the controller inputs on those frames). I haven't really checked, but this may mean you could shave a few frames of lag somehow. I could spend some time trying to optimize the other races, but now that I look back at it I'm not sure it would be more entertaining. Both the jumping and the hurdle hit detection are pretty sketchy. The more optimized runs manage not to crash, but they still have significant pauses to line up running through the hurdle. From that standpoint the races that run through the hurdles provide slight (very slight) variety. I guess overall I'd argue that it doesn't make much difference and therefore probably isn't worth spending time on. But I'm willing to hear arguments and if people think it is worth optimizing I could probably spend more time on it
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
IGT isn't for entertainment but to take things like score tally (or waiting for the opponent in your case) out of the equation. If the visible IGT isn't accurate, we can use a memory address like in Sonic. Waiting during gameplay shouldn't be involved in a speedrun, and for all the time that one could spend just waiting, we prefer it to be minimized where possible. If Sonic was optimized for real-time, then you'd arrive to the end of the level and just wait for optimal moment to minimize the score tally. That removes the spirit of competition and meaning of gameplay optimization.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced player (876)
Joined: 11/15/2010
Posts: 267
I'll spend a little more time looking at optimization, though in this case I'm not sure getting to the finish line as fast as possible is going to be any different from waiting to cross the finish line for dramatic effect. It may be that a second look buys a few lag frames, so I'm checking it out a bit, but that is probably a better reason to look
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
I doubt dramatic effect will make this movie more entertaining.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
I tried this game and I completely disagree with your goals. http://tasvideos.org/userfiles/info/63668734223205509
----------------------------------------
|   |      feos       |      link      |
----------------------------------------
|   | frames |  igt   | frames |  igt  |
----------------------------------------
| 1 |  442   | 09.46  |  519   | 10.60 |
| 2 |  532   | 10.84  |  601   | 11.77 |
| 3 |  543   | 10.90  |  599   | 11.68 |
----------------------------------------
The table only compares the hurdles, because dash is completely trivial. It counts from timer start to timer stop (for the winner). My movie also reaches the 4th dash 10 frames sooner than yours, but I don't think it's relevant. What's relevant is that making sloppy hurdles as a goal is extremely arbitrary. It's like playing Sonic in real time without rerecords and then reaching the level end at a point where it gives you the lowest score, so the next level starts sooner. It's not like there's nothing to optimize in this game. Reaching the finish line ASAP is really hard due to unpredictable nature of jumps in this game. So it's a real challenge and it involves serious TASing. Hitting every hurdle and wasting time just because the opponent is still running is not a speedrun goal. It's technically meaningless, and also not entertaining, because it's visibly sloppy. The amount of time I was able to save even in your first level, which you said you've optimized, shows that even by the stated goals this run is suboptimal. And after having tested this game myself, I'm convinced that aiming for overall movie time with this game doesn't lead to a meaningful speedrun record either. Because it's borderline trivial. I tried to figure out how the timer works, but it's kinda complicated. I still think in-game time as a primary goal makes perfect sense (even if you manipulate it a little bit?). But ideally, one would optimize for race duration in frames, which is what we consider actual gameplay in this game, and it's what we always compare when deciding on obsoletions. This run will have to be rejected.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced player (876)
Joined: 11/15/2010
Posts: 267
I wrote a script to help me try to optimize the other hurdles events in an attempt to clean it up. As you've described it has definitely saved an amount of real time in the overall movie. The game looks very straight forward, but it definitely isn't. I'll compare my updates to what you've posted. Some of the scripts may finish today, so we'll see where we are when that is done. I may have something new, or I may need to make some adjustments and continue testing
Dimon12321
He/Him
Editor, Reviewer, Experienced player (596)
Joined: 4/5/2014
Posts: 1222
Location: Romania
Won't a 2P TAS be faster, like in Track 'N Field?
TASing is like making a film: only the best takes are shown in the final movie.
Experienced player (876)
Joined: 11/15/2010
Posts: 267
No. The multi-player mode isn't really something you'd TAS, it is more of a party style thing. There are more events, but you play one at a time and just compare results. You aren't competing against a CPU like you are in single player
Dimon12321
He/Him
Editor, Reviewer, Experienced player (596)
Joined: 4/5/2014
Posts: 1222
Location: Romania
link_7777 wrote:
No. The multi-player mode isn't really something you'd TAS, it is more of a party style thing. There are more events, but you play one at a time and just compare results. You aren't competing against a CPU like you are in single player
I don't see any competition against a CPU either. Everything here is just to make CPU finish each track as fast as possible.
TASing is like making a film: only the best takes are shown in the final movie.
Experienced player (876)
Joined: 11/15/2010
Posts: 267
It just doesn't look competitive because it is a tas. Try racing cheetah yourself on an actual powerpad
Experienced player (876)
Joined: 11/15/2010
Posts: 267
feos, based on the movie file you posted I have to think there is still some room for improvement. I finished with some scripting and came up with this http://tasvideos.org/userfiles/info/63688943399108546 I think your argument is that the goal should be in game time, and I think the more time I've spent on it I would agree with that choice. The movie I posted is 4 frames ahead after the 3rd opponent, but as you've been suggesting it probably makes more sense to compare in-game time. The time for the normal races is always 5.38, but the times for the hurdles vary greatly Comparing the one I just posted to the one you posted the other day (hurdles only):
race    link_7777    feos
1            9.91        9.46
2            9.16       10.84
3           10.36       10.90
4            9.97
5           10.21
6            9.43
unfortunately I don't think the hurdles are very sync stable, so from here I think we have several choices. 1. Update the goal and switch to the movie I just posted 2. Play around with the lua script and rerun to try to find improvements. 3. Argue further about the goals.[/list] Option 1 is the easiest, and while it is easy to argue that the 1st race is improvable it is really hard to say what that would do to the possibilities on the other races. I think with the amount of time I've spent running scripts I'd lean towards option 1, but I think whatever makes this so hard to optimize also makes it hard to judge. Thoughts?[/list][/code][/url]
Post subject: yes it isn't
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
What are the savings against your current movie, by both frame lengths of the races and their IGT? Why did race 1 get slower? Also your formatting broke.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced player (876)
Joined: 11/15/2010
Posts: 267
race    link_7777        feos     submission
1            9.91        9.46          10.60
2            9.16       10.84          11.77
3           10.36       10.90          11.68
4            9.97                      11.83
5           10.21                      11.89
6            9.43                      13.39*
The submitted movie was 21944 frames, the new one that I posted is 21789, so it is about 2.5 seconds faster. The original submission also ended input early, so it is slightly better than that, and that is why the race 6 time is much slower in the original submission. Without ending input early the race 6 time would have been 11.89 The new race 1 is an improvement on the original submission, but not as fast as what you found. Looking at the input I'm guessing you were trying things manually and ended up having better luck. For the new movie I wrote a script that tried to optimize, but it definitely isn't checking all possibilities. I believe the script to make this movie was trying combinations of 2 blank frames in the first 16 frames, then running out to 128 frames and checking the mini map position. It would then capture the first 8 frames from the best run and repeat. I attempted to improve on this by making it combinations of 11 and capturing 2, but that turned out to be slower
Experienced player (876)
Joined: 11/15/2010
Posts: 267
feos also requested the time comparison in frames:
Race Time (frames)
race    link_7777        feos     submission
1             470         442            519
2             423         532            601
3             505         543            599
4             479                        621
5             503                        623
6             453                        722*
*race 6 would have been 622 without ending input early
Experienced player (876)
Joined: 11/15/2010
Posts: 267
After making further adjustments to the script I've improved the final run time to 6:03.04 from the originally submitted 6:05.15. The new focus is in-game time and here is a table that shows the improvements to each of the hurldes races. http://tasvideos.org/userfiles/info/63854639035495257
In-game time
race         link_7777         link_7777        feos     submission
     (2nd improvement)     (improvement)
1                 9.07              9.91        9.46          10.60
2                 9.97              9.16       10.84          11.77
3                 9.73             10.36       10.90          11.68
4                 9.67              9.97                      11.83
5                10.27             10.21                      11.89
6                 9.70              9.43                      13.39*

real time (frames)
race         link_7777         link_7777        feos     submission
     (2nd improvement)     (improvement)
1                  418               470         442            519
2                  478               423         532            601
3                  465               505         543            599
4                  462               479                        621
5                  507               503                        623
6                  474               453                        722*
*the original submission ended input early
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15579
Location: 127.0.0.1
This movie has been published. The posts before this message apply to the submission, and posts after this message apply to the published movie. ---- [4204] NES Stadium Events "Tournament" by link_7777 in 06:03.04