Post subject: Motocross Maniacs?
Joined: 1/23/2006
Posts: 352
Location: Germany
I can't seem to find any attempt at this game so here it goes: Motocross Maniacs seems to be inspired heavily by Excitebike, you drive a motorcycle, you run each course two times and you have to beat a set time, you can adjust your angle in mid air and use that to avoid crashing. The biggest difference is that the 8 tracks are sidescrolling (no depth) and contain loopings, multiple routes and powerups (that you normally lose after crashing but crashing wastes time so it wouldn't happen in a TAS anyway) and that the B button doesn't heat your engine but uses up one of your Nitro charges and gives you a BIG speed boost. Since it could potentially be driven very fast and involve lots of stunts it'd probably make for an enjoyable run. I know that holding up during a jump will give you a bit of extra height, enough to do all the loopings on track 1 but since it's slower than using nitro it should only be used if you absolutely need that Nitro elsewhere. I'd do a test run but I suck at that kind of stuff...
Editor, Expert player (2331)
Joined: 5/15/2007
Posts: 3940
Location: Germany
I made a small TAS for fun: http://www.youtube.com/watch?v=K3TbboLTzB0 But GameMasterMind81 on Youtube owns a faster record. Well, I was just going for some cool-looking stunts and used a glitch for demonstration. A run that aims for fastest time would be cool to see for the 8 courses on the C level and I might try it, but it seems very hard to plan everything.
Editor, Expert player (2331)
Joined: 5/15/2007
Posts: 3940
Location: Germany
So I wanted to give it a try, but this page suggested that there is a GBC and SGB mode. It took me some time to find the proper ROMs and enable the proper setting in VBA. Now I need to figure out which version to take. Personally, I'm always in favor of the monochrome GB mode but I guess I should go with SGB. E: It turns out SGB is slightly slower compared to the GB version, so I will use the GB version. Motocross Maniacs (U) [!].gb The original version of the game. Konami GB Collection Vol.3 (E) [C][!].gbc (The game is renamed to "Bikers") Same as the original version, but with colors. Unfortunately it runs at half the speed compared to other versions, so I think this shouldn't be used. Konami Collection 2 (J) [S].gb Same as the original version and with SGB border. The colors are slightly brighter.
Joined: 6/4/2009
Posts: 570
Location: 33°07'41"S, 160°42'04"W
This is one of my favourite games of all time. Nice work on it.
Editor, Player (54)
Joined: 12/25/2004
Posts: 634
Location: Aguascalientes, Mexico
I remember playing this game on one of those 100 games in 1, It was a fun game. I hope to see a complete TAS, maybe trading some time for fun factor. Good luck to the one that decided to do it :)
I'm the best in the Universe! Remember that!
Editor, Expert player (2331)
Joined: 5/15/2007
Posts: 3940
Location: Germany
I TASed 1900 frames now and came up with this: http://dehacked.2y.net/microstorage.php/info/461254588/mugg-gbmotocross-tasv3%20%28fastest%2C%20all%29.vbm The game shows the time after each course in minutes:seconds:milliseconds so this makes it look especially attracting for a fastest time run. But the planning is so hard to do just for course 1 (and I realized I would need to redo all of my movie because a nitroboost would save more time in the place I am at now. I don't know how much time each nitroboost saves and it is absurdly hard to calculate). Planning the other courses will turn out to be even harder, I think so I won't continue this movie anymore which I worked on for hours (for just 20 seconds of gameplay). It would be more efficient and wise to not care about the fastest time and make it a playaround or run which trades time for entertainment. EDIT: Also, what about using the vs. Computer mode? It seems to be exactly the same as solo.
Joined: 6/24/2007
Posts: 119
there is a playthrough where the bike is glitched into the ground, so for the rest of the stage the bike travels in the ground and avoids all obstacles. (3:02) http://www.nicovideo.jp/watch/sm8132179
Editor, Expert player (2331)
Joined: 5/15/2007
Posts: 3940
Location: Germany
That's an interesting find. I hope it can be triggered at other places (in other levels) too. It would save a lot of trouble of optimizing the N boosts in a "best ingame times" run.
Joined: 6/24/2007
Posts: 119
in this video the bike glitched through the loop 0:43 http://www.nicovideo.jp/watch/sm16325428
Editor, Expert player (2331)
Joined: 5/15/2007
Posts: 3940
Location: Germany
Already posted:
MUGG wrote:
I made a small TAS for fun: http://www.youtube.com/watch?v=K3TbboLTzB0
Joined: 6/24/2007
Posts: 119
thanks I thought the nico was new, so it is just a reupload.
Editor, Expert player (2331)
Joined: 5/15/2007
Posts: 3940
Location: Germany
- About the "inside the ground" bug in the video that flashthe linked... Well, the video is gone and I couldn't remember how the trick was done. But after a lot of testing, it looks like it is easily done by using nitro to boost yourself into the ground. I will make a video later. - little shortcut in track 5 - If you cross a checkpoint ramp, and then use nitros to boost yourself back, the ramp will update to say "GOAL" but it will unfortunately not function as a goal. :/ When going back, you can collect items from lap 2. Those collected items won't be there when you actually do lap 2. Here is a gif of it. I tried going further back, and also tried going a little further beyond the goal before going back, but it didn't trigger the finish. I wasn't yet able to find addresses that I could edit for position and nitro, so I'm a bit limited in how much I can test this stuff...
Editor, Expert player (2331)
Joined: 5/15/2007
Posts: 3940
Location: Germany
Editor, Expert player (2331)
Joined: 5/15/2007
Posts: 3940
Location: Germany
luascript http://pastebin.com/dZuwRKpB http://pastebin.com/2vd6nnGU (with item display but doesn't really work...) Shows (sort of): xpos acceleration nitro count time left current time Here is another little bug:
Editor, Expert player (2331)
Joined: 5/15/2007
Posts: 3940
Location: Germany
Infos about items:
Item slot addresses at $CA00~$CAFF (System Bus). 
Each slot tells (1byte each): what item, status, ypos, xpos.

  Items:
0x00 crashes the game.
0x01 ?
0x02 Speed (S) -- Increases max speed from 784 to 896.
0x03 Time (T) -- Gives 10 extra sec of gas.
0x04 Nitro (N) -- Gives 4 nitros.
0x05 Tire (R) -- Allows better acceleration in sand.
0x06 Jet (J) (hidden) -- Lets you use nitros in air.
0x07 biker (hidden) -- Prevents you from losing items on fall (but doesn't work because devs messed up, it seems).
0x08 crashes the game.
0x09 crashes the game.

  Status:
I think this address is really the amount of times this item can be collected. 
If collected, this address depletes by 1 and you need to go to the next lap to collect it again.
The last few slots in that area show illegal items (0x0D etc.), so maybe that area is not related. I have to study it. I will try to add an item display to the lua.
Editor, Expert player (2331)
Joined: 5/15/2007
Posts: 3940
Location: Germany
Link to video It should be tested if getting the speed upgrade is faster. Otherwise, I think this is good enough so I would go on to do the other courses to make it into a fullgame run. I do the A courses instead of C because I want to aim for a fast time without having to worry about the timelimit and picking up time items all the time, which would slow down the pace.
Editor, Expert player (2331)
Joined: 5/15/2007
Posts: 3940
Location: Germany
Link to video http://dehacked.2y.net/microstorage.php/info/541723223/55.44.bk2 I saved 2.74 sec by getting the speed item and by some better execution. Edit: I got 48.36 on 2A. Should be possible to save another 1-3 sec there with better nitro management. Will post next WIP when I'm done with it. Edit: Video of 48.36 2A: Link to video Edit: I figured out the problem with the item display now. Working on an updated script right now, will try to include a staff ghost thingie too (so I can compare with my 48.36 time).
Editor, Expert player (2331)
Joined: 5/15/2007
Posts: 3940
Location: Germany
Although it seemed unlikely, RTA runners managed to save time using the "inside the ground" glitch. The fastest Course 1A record on speedrun.com beats my TAS attempt by 1.38 sec. Not sure if TAS can go much lower. The RTA runner Tobür also explains he uses pausing to maintain speed longer during boosting. Needs looking into. For Course 2A, my TAS attempt is still 6.3 seconds faster than their fastest listed time and it can be imrpoved by another 1-3 seconds by better nitro management.
Editor, Expert player (2331)
Joined: 5/15/2007
Posts: 3940
Location: Germany
I found that when if you finish a level while underground, if you hold Left, the camera will fail to stop and the racer will take an extra round through the level. (Not useful) I researched the pause trick. This is my understanding of it right now. After a nitro boost, the speed will normally deaccelerate something like this: 1152 ⇢ 1136 ⇢ 1120 ⇢ 1104 ⇢ 1088 ⇢ 1072 ⇢ ... Sometimes the game "skips" over a step for some reason, so it becomes: 1152 ⇢ 1120 ⇢ 1104 ⇢ 1088 ⇢ 1072 ⇢ ... These "skips" happen every once in a while, not very often. From my testing, pausing can prevent a "skip" that was imminent from happening, but it can also cause a new "skip" to happen that was not going to happen before. It seems really luck-based for RTA. The same behavior happens when pressing or not pressing B when no nitros are left. I think the game's inner timing changes due to audio processing occuring vs. not occuring. Some not so obvious knowledge stuff that I'd like to document here for now: There are 4 different ways you can go off a ramp, that will allow for different altitudes: A) Hold A B) Hold A + Up C) Hold A + Left (causes you to leave the ramp sooner) D) Hold A + Left + Up If you need a precise altitude and can't reach it with any of the inputs above, you can also let go off A for a bit to lose speed briefly, before taking the ramp. If that is not possible because you are boosting before the ramp, you could try doing that boost 1 frame later (or otherwise redo the section before altogether). It is usually fastest, to boost into a downward ramp directly, instead of driving over it and falling down slowly. When going over rocks, you can hold Left a bit longer in order to clear the rock fast. By inputting "Left, nothing, Right" at the right time, you can also land on top of the rock. You could boost on top of the rock or boost after clearing the rock. Sometimes aerial nitro boosts will cover a slightly better distance, depending on timing. It is a good thing to test different timings.
Editor, Expert player (2331)
Joined: 5/15/2007
Posts: 3940
Location: Germany
Ok, it looks my understanding of pause sound / no-nitro-sound trick is only partially correct. The trick indeed can prolong speed if used at the correct frame timing. As mentioned previously, the "no nitro-sound" will cause this trick to happen without the need to pause. The previous best TAS time on 1A was 54.04 without pausing and without "no nitro-sound". But now, using "no nitro-sound" after the last boost, I achieved 53.92!! (I didn't manage to save any time using pausing in the first three boosts.) I made a new WIP recently of 1A-3A and now I'm redoing it to implement the "no nitro-sound" technique. I will probably not use pausing because A) it takes away from the fast pace too much, and B) it makes optimizing the run infinitely more tedious. The goal choice should be like this: 1) Fastest ingame course completion time 2) Fastest ingame course lap time 3) Fastest real time
Editor, Expert player (2331)
Joined: 5/15/2007
Posts: 3940
Location: Germany
This was already known:
$c10d - speed
$c38a - speed - this seems to be related to the amount of pixels to advance the screen by per frame

This is new:
$c7a3 - speed (actual speed address, mirrored at $c7a0 and possibly other places. $c10d and $c38a depend on this. Will be temporarily set to 0 when a lag frame occurs.)
$c7a4 - nitro boost duration (Will be temporarily set to 0 when a lag frame occurs, and I think it also gets set to 0 if leaving a ramp.)
I would like to investigate the "speed skips" (mentioned in a previous post) once more. I was thinking maybe those speed skips happen even before the speed value actually starts decreasing. Some years passed and now "best ingame time at all costs" seems more logical for a goal choice than "no-nitro-sound spamming allowed but no pausing". Also I think all levels should be played (all eight races in all three difficulty settings). Although this is just a first thought. I have not done any actual new work yet and I'm not sure I will do it, since it's very tedious to optimize this game. I still have the old bk2s and luascript with the unfinished staff ghost utility.
Editor, Expert player (2331)
Joined: 5/15/2007
Posts: 3940
Location: Germany
I was not able to improve 1A, so the best time is still 53.92. Additionally to using the "no nitro sounds", I tried adding pauses to the first boost as well as the last boost. Although I tried many different timings and durations - thinking the pause sound itself has an impact - it never actually seems to change anything. On the underground boost, the best RTA time 54.06 does some pauses there but I think it doesn't actually have any impact. 54.04 is the best time RTA could achieve without any pausing and without "no nitro sounds". I will do a few more tests, but I guess pausing can be ignored as it doesn't seem to be a time-saver. If that's the case, I would be happy about this because it makes running this game slightly easier. Bk2 of 1A 53.92 https://tasvideos.org/UserFiles/Info/638672762461221250 Used JP ROM on Bizhawk 2.9.1.