EgixBacon
He/Him
Player (181)
Joined: 4/15/2013
Posts: 331
Location: In the attic
http://www.youtube.com/watch?v=e6rKpQaRfic I've been trying my hand at TASing this game, using the strategy in the above video, which shows the fastest time on Scoreground. This was the best I could do so far: User movie #16713558867895697 As calfd mentioned in the wishlist, the actual WR is 5.51, but I'm 18 frames behind that. Unless we find the absolute fastest gear shift sequence, we're not getting anywhere near that. Because of the way the game's timer works, the next lowest time is 5.47, so good luck to anyone else who wants to try their hand at this barmy game.
FanFiction|Youtube Still on Win7! Take that, Microsoft!
Samsara
She/They
Expert player, Senior Judge, Site Admin (2121)
Joined: 11/13/2006
Posts: 2792
Location: Northern California
Ah, I was gonna make a topic on this last night but I fell asleep before I had a decent run. I'm working on this too and it's slowly making me lose my grip on my sanity, but in a fun kind of way. I managed a 5.71 last night at the very least, though that's nothing since the best human players are getting consistent 5.6X times. Only the WR holder and the computer have gotten 5.5X times. There are a couple other times of note, even though they're cheated/hacked: There are a couple auto-shifting hacks of the game and someone managed a 5.44 using one. Obviously not legit, but I think it's worth mentioning as proof of a highly theoretical "perfect time". The best non-legit time I've managed is actually a 5.54, which I did by freezing the tachometer at maximum the entire time just to see what would happen. Still kinda funny how the WR is still faster than the best time I can get using illegit methods. I'm testing out something I stumbled across yesterday that might at least get me into 5.6X territory: Shifting at very specific times are what give the extra speed boosts, it can't be too early after the last shift since they might actually slow you down further. Also, I've used several different starting shift sequences and I'd been consistently getting 5.77 or 5.74 using the same 4th gear shifting strategy for each one. What would matter most about the starting shift sequence is making sure each shift gives a speed boost. I've currently managed a 5.91 with only the starting shift sequence, and I think that needs to come down to 5.84 or less to get a good time. Also, does the tachometer display properly for you? It's solid blue for me, making it a bit harder to judge if I'm redlining or not. I'm currently using RAM watch to tell me how close I am to blowing the engine but I still haven't figured out the specific value where it transitions from green to red. EDIT: User movie #16719461653126596 Just as a proof of concept, I shifted into 4th gear as early as I possibly could and managed to swing my first 5.6X time with perfect 4th gear shifting. I'm gonna work on optimizing the starting sequence since I know for a fact that perfect shifts there will take away more time.
TASvideos Admin and acting Senior Judge 💙 | Cohost
warmCabin wrote:
You shouldn't need a degree in computer science to get into this hobby.
Player (20)
Joined: 8/6/2014
Posts: 5
Location: USA
The bar is blue for me also. Maybe there is another ROM where the red line works.
Samsara
She/They
Expert player, Senior Judge, Site Admin (2121)
Joined: 11/13/2006
Posts: 2792
Location: Northern California
calfd wrote:
The bar is blue for me also. Maybe there is another ROM where the red line works.
It's not a huge deal, to be honest. The most help that having the red line would give is just being able to precisely follow all the strategies posted in this AtariAge thread. The good strategies are on page 3 of that thread, I've been trying to follow them as much as possible. I have things to do today so I won't be able to do any more work until later tonight. Hopefully I'll be able to find the key to getting that fabled 5.51 once I can get back to testing.
TASvideos Admin and acting Senior Judge 💙 | Cohost
warmCabin wrote:
You shouldn't need a degree in computer science to get into this hobby.
Player (20)
Joined: 8/6/2014
Posts: 5
Location: USA
Well I went searching around and found the best tips of all. Straight from the best. http://atariage.com/forums/viewtopic.php?t=16980
EgixBacon
He/Him
Player (181)
Joined: 4/15/2013
Posts: 331
Location: In the attic
Right, I've had a look through the threads you guys linked. This evening, I'll compare Samsara's run with mine and see if I can improve it. EDIT: I've decided to give up, because I couldn't do any better than before.
FanFiction|Youtube Still on Win7! Take that, Microsoft!
Samsara
She/They
Expert player, Senior Judge, Site Admin (2121)
Joined: 11/13/2006
Posts: 2792
Location: Northern California
Getting closer...
TASvideos Admin and acting Senior Judge 💙 | Cohost
warmCabin wrote:
You shouldn't need a degree in computer science to get into this hobby.
Player (142)
Joined: 7/16/2009
Posts: 686
Has anyone managed to get speeds higher than 252 (address 0x40, which I think is speed)? Also, how do you manage to get the speed boosts by shifting? I haven't gotten any speed boosts at all, if anything, shifting slows me down.
Joined: 12/10/2006
Posts: 118
https://www.youtube.com/watch?v=DfEup41in4k "The trick is to hit the clutch just a few times after going into fourth gear to increase the speed." Also, that is the whole game? That is some short game.
EgixBacon
He/Him
Player (181)
Joined: 4/15/2013
Posts: 331
Location: In the attic
Scepheo wrote:
Has anyone managed to get speeds higher than 252 (address 0x40, which I think is speed)?
$40 is speed, yes, but because the system is 8-bit, you can't have a value greater than 255 anyway. Even if you could get 254 (the game only allows even values of speed), I don't think it would be enough to save a timer increment. @thommy3: That IS the whole game. In terms of length, it's in between Death Star Battle and King's Bounty.
FanFiction|Youtube Still on Win7! Take that, Microsoft!
Patashu
He/Him
Joined: 10/2/2005
Posts: 3999
Since the game is so short, why not write a bot to rapidly try variations on good paths and record the fastest one? Or would a bot never find the god strat?
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Player (142)
Joined: 7/16/2009
Posts: 686
Patashu wrote:
Since the game is so short, why not write a bot to rapidly try variations on good paths and record the fastest one? Or would a bot never find the god strat?
I think that finding the relevant addresses/logic behind the game (when does speed stop increasing/start decreasing? How much does your tachometer increase when holding the gas?) would be a more relevant step. And at that point a bot would probably be overkill. Also, I managed a run in which my speed kept going up a steady 2 every two frames (apart from the occasional shifting, but that can't lose a lot of time) and I got a 5.64. Unless someone can explain to me how to get the aforementioned speed boosts, I don't see how anything near 5.51 is possible. Edit: I just managed to get 5'57, using a slightly better start and managing to need slightly less throttle. You can download the file here. As noted in the comments: "I don't see how to bring this time down, unless a much better way of shifting gears is found or you can get the speed up faster than 2 every 2 frames."
Samsara
She/They
Expert player, Senior Judge, Site Admin (2121)
Joined: 11/13/2006
Posts: 2792
Location: Northern California
Nice work on the 5.57! That's the first time anyone but the WR holder has gotten a time below 5.61 to my knowledge. I just got back from vacation and I finally have time again, so I'll be working on this just as hard as I was before... Probably starting tomorrow.
TASvideos Admin and acting Senior Judge 💙 | Cohost
warmCabin wrote:
You shouldn't need a degree in computer science to get into this hobby.
Player (142)
Joined: 7/16/2009
Posts: 686
As Samsara asked me about this in his response to my PM, I thought I'd share my method of shifting in this thread. If you're going good, the game increases your speed with 2 every other frame. This appears to be because the game switches players every frame: it moves player one, it moves player two, it moves player one etcetera. It also does all other logic during these "turns". Now occasionally, the game will take 3 frames to increase your speed. Not an issue, as it appears to be caused by the game taking slightly longer to execute a turn. However, every now and then the game will take 4 or more frames to increase your speed (for first gear, this happens when you hit 30, I believe). As shifting does the same, it shouldn't lose any time to do so at this point. For optimal acceleration after shifting, you want to do so before you hit the "stuck" speed (so at 28). You should be able to keep this up after hitting fourth gear, which would allow your speed to get to 242-244. After that, I haven't found a better technique than just holding the throttle up to 252. There's still some stuff I'm trying to figure out, like how your tachometer increases are determined, or why it's so damn hard to push your speed to 252 (at which point, just hold the clutch and release throttle).
Skilled player (1703)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
According to gamefaqs, there's 2 modes of play. Does that affect the possible score?
Samsara
She/They
Expert player, Senior Judge, Site Admin (2121)
Joined: 11/13/2006
Posts: 2792
Location: Northern California
jlun2 wrote:
According to gamefaqs, there's 2 modes of play. Does that affect the possible score?
I don't think it affects anything aside from adding steering and obstacles. I haven't tested it but I'd assume it'd be slower due to that. Anyway, here's a video of a 5.87 without any 4th gear shifting.
TASvideos Admin and acting Senior Judge 💙 | Cohost
warmCabin wrote:
You shouldn't need a degree in computer science to get into this hobby.
Player (142)
Joined: 7/16/2009
Posts: 686
Because I thought the solid blue tachometer was pretty ugly. Download DragsterBars.lua
Language: lua

-------------------------------------------------------------------------------- -- (Atari) Dragster Bars -- -- Lua script that works around the issue of blue tach bars by drawing over -- -- them. -- -- By Scepheo -- -------------------------------------------------------------------------------- -- Point where green bar stops. local GreenLimit = 19; -- Point where bar is extra long local BarLimit = 18; -- Colours local Green = "DarkSeaGreen"; local Red = "IndianRed"; local Yellow = "Gold"; -- Current tachometer local Rev = { 0, 0 }; -- Y Position local Y = { 70, 167 }; while true do for player = 1, 2 do -- Get bar sizes local greenBar = Rev[player]; local diff = 0; if (greenBar > GreenLimit) then greenBar = GreenLimit; end if (Rev[player] > BarLimit) then diff = 1; end -- Draw green bar gui.drawRectangle(0, Y[player], (greenBar + diff) * 4 - 1, 7, Green, Green); -- Draw yellow line if (Rev[player] > BarLimit) then gui.drawLine(79, Y[player], 79, Y[player] + 7, Yellow); end -- Draw red bar if (Rev[player] > GreenLimit) then local redBar = Rev[player] - GreenLimit; gui.drawRectangle(80, Y[player], redBar * 4 - 1, 7, Red, Red); end -- Update rev (0x28, 0x29) Rev[player] = memory.readbyte(0x27 + player); end -- Allow the emulator to advance emu.frameadvance(); end
Skilled player (1703)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Not sure if this is related but: http://tasvideos.org/BizHawk/ReleaseHistory.html#Bizhawk182
Fixed PlayField Score flag not being set. Fixes the tachometer in Dragster
Was that a graphical bug, or did it affected gameplay?
Samsara
She/They
Expert player, Senior Judge, Site Admin (2121)
Joined: 11/13/2006
Posts: 2792
Location: Northern California
Graphical bug. The tachometer displayed as solid blue instead of green and red. It was only a minor nuisance, but the bugfix is always appreciated in case anyone decides to come back and work on this again.
TASvideos Admin and acting Senior Judge 💙 | Cohost
warmCabin wrote:
You shouldn't need a degree in computer science to get into this hobby.
Patashu
He/Him
Joined: 10/2/2005
Posts: 3999
Any progress on reproducing WR?
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
DwainiumB
He/Him
Player (57)
Joined: 2/2/2013
Posts: 316
Location: Where the world can see me.
So I had a go at this and I tied with Scepheo using slightly different input: User movie #26978595861320856. Looking over my run with RAM Watch, I noticed that at frame 420 I get a speed value of zero, and for some reason I could not seem to get rid of it. Emulation error? If I let go of B for frames 409-419, the speed drops at a steady rate and then @ 420 it drops to 128, after that, it goes back to the original value @ 421. 19:31:52 Samsara so what you're telling me is 19:31:56 420 no speed everyday
Perception is the greatest deception. nitrogenesis: 04:43:04: but TAS is life nitrogenesis: 04:43:23: TAS everyday MKWii TAS Discord: https://discord.gg/z5bu44H MKWii TAS Records: https://goo.gl/ZrGKgt Currently Trying to TAS: On Hold: The Incredibles (GC) The Incredibles: Rise Of The Underminer (GC) Future: (GC) Egg Mania: Eggstreme Madness (Wii) The Adventures of Tintin: The Secret of The Unicorn Mario Kart Wii 32 Track GP
Skilled player (1703)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
How feasible would brute forcing for this specific game? If possible, it could at least show the fastest possible time for this emulator, which then if it's still slower narrow down what may be wrong (emulation error or WR being false).
Samsara
She/They
Expert player, Senior Judge, Site Admin (2121)
Joined: 11/13/2006
Posts: 2792
Location: Northern California
Did some more testing yesterday and I might as well publicize this in case anyone actually gives a crap: Value 0x40 is speed, confirmed this by setting it to 252 very early on in the race and getting an impossibly low time. The earliest frame I've seen max speed reached is at frame 449... But even if max speed is reached at 449 in multiple tests, the finishing time is not always consistent. I've gotten between 5.61 and 5.67 just by messing around with the prior input, and both Scepheo and DwainiumB got 5.57 under the same circumstances with different sets of input. So the goal here isn't entirely to reach max speed as soon as possible: Speed stays the same for an extra 2 frames when shifting, so it looks like the goal is actually to shift as late as possible while still maintaining a steady speed increase, freezing your speed at the highest possible value but avoiding the speed plateau that occurs when you need to shift. The best way to bot this would be to find a distance value, which should be easy and run the bot until it maximizes both distance and speed by at least frame 449, assuming an optimal start. I played around with Basic Bot when it came out but couldn't get it to produce anything (likely because I'm not using it right), and I'd have absolutely no idea how to code a Dragster-specific bot. So... yeah. There were also talks that A2600 emulation in BizHawk could be contributing to our inability to match the WR time, but I'm nowhere near qualified to even give my thoughts on whether or not that could be true.
TASvideos Admin and acting Senior Judge 💙 | Cohost
warmCabin wrote:
You shouldn't need a degree in computer science to get into this hobby.
Alyosha
He/Him
Editor, Expert player (3514)
Joined: 11/30/2014
Posts: 2713
Location: US
Oh this is a neat problem, who could have guessed an atari 2600 game could hold this kind of a riddle. Well I briefly looked into the code just to see how the time is kept track of. Here is the bit of code:
--If the racer hasn't finished the race
LDA $D2,X 
BEQ $F344

--If the countdown has reached 0
LDA $8D
BNE $F367

--add time
SED 
CLC

LDA $B7,X -- this is a counter that increments by 34 every other frame
ADC #$34 
STA $B7,X

LDA $B5,X -- notice that the carry flag can be set, so sometimes it adds 4
ADC #$03 -- add time for the current racer
STA $B5,X
One thing I noticed is that if you start from power on, your opponents time is incremented first, but after resetting, my time incremented first as the race started. I haven't looked too deeply into why yet, but I do wonder if this can influence the time you get.
Alyosha
He/Him
Editor, Expert player (3514)
Joined: 11/30/2014
Posts: 2713
Location: US
So in case this isn't already known, the race ends when $3A reaches #$61. 3A increments every time $42 passes FF. 42 is just adding your speed to itself each frame. So basically, the race ends when you have gone 24832 units along the track. The condition to check if the race is finished actually happens the next frame though, and time increments first, so your final time is actually the next time unit after you cross the finish line. So assuming switching gears never pauses increase in speed, and assuming speed is capped at 252, the theoretical best time you could get in this race is 5.47. Now since switching gears pauses your speed for a frame, this and you need to get at least to gear 4, and you have to switch gears by a certain speed, we can estimate the theoretical best practical time as 5.54. In scepheo's movie, this is possible if speed is never paused after 4th gear is reached. This is still very far away from 5.51, as you are actually already 252 distance units down from ideal time by the time you reach 4th gear, and 672 units away from ideal when your speed caps out. So as far as I can tell, the only way to get 5.51 is to somehow start earlier. EDIT: also I notice some graphical errors that aren't present in any gameplay videos I see, my car tends to split into 3 pieces even in normal play, and at the start part of the tire appears on the right side of the screen. Some sort of emulation bug? EDIT2: its also possible to have a speed of FD, but in order to get it I had to slow down 1 speed unit earlier on which is definitely not worth it in the long run. EDIT 3: so I looked a little more and something emulator related is definitely up here. I tried running the game in another emulator (PCAE 2.7) and the game displays correctly and my car does not stretch apart into multiple pieces. Unless there is some setting I need to change, I think there is an emulator bug.