ViGadeomes
He/Him
Judge, Active player (311)
Joined: 10/16/2017
Posts: 462
Location: France
I discovered the best way to use the trick on my SNES version so I wanted to test this way on genesis but it doesn't work so I investigated further and discovered more things : The only max speed I got is like Memory: 765-835 (with her lua). you begin by accelerating to reach the max speed without the trick and the first frame (on tastudios) where you have 780, you delete all your B (acceleration) inputs on 13 frames. Then you have to press B during one frame 4 times to get 765 at the 15th frame and 835 at the 16th frame( 4 frames before Memory's test ). After reaching this speed, you hold B normally. The thing to find now is where to put these 4 B inputs to have the biggest X position on a specific frame after reaching this max speed. I let Grogir finding this out.
Joined: 12/11/2018
Posts: 13
Thanks for the info! I've done a small break with this TAS but I will work on it at some point . Thats true, your way is better than Memory's one when used in this configuration : However, I'm not sure this is the best possible solution and what method we could use to proove this one is the best other than trying all combinations. I don't see any logic in this speed trick lol. The main thing I noticed for now is that after a jump, the speed goes slower again but its easier to get it back to 835 (only 3 or 4 B frames have to be removed).
ViGadeomes
He/Him
Judge, Active player (311)
Joined: 10/16/2017
Posts: 462
Location: France
Yes it works the same on SNES and is faster this way (I had a trick that i found after seeing the discovery of Memory and I was sure that this was the Memory's trick and mine was faster but when I rewatched the trick, i figured out that it isn't the same and the trick explained here is also faster...). JorWat25 told me that you can begin manipulate this speed just at the beginning of the run and do not need to wait the speed to be max (holding all the time) So like on SNES, I think you can manipulate it from the beginning (frame 1047 on the picture). If you want some help on the genesis version, I'm here.
Joined: 12/11/2018
Posts: 13
Ok, I investigated a bit, here are my conclusions : 1. The maximum speed when sprinting is 768 (which is 3px/frame) The maximum when walking is 384 (1.5px/frame) 2. When sprinting, the speed increases by 70/frame When walking, the speed increases or decreases by 25/frame (it increases when below 384, but we don't care about this) 3. The speed is not capped at 768, instead it just decreases by 70 when it is above. That's why it bounces every frame. Above, below, above, below... 4. 70 and 25 being multiples of 5, the maximum speed we can have is 765/835 The worst sprint is 700/770 5. Its a little more complicated though, the speed goes directly from 0 to 360 if you sprint from first frame (75 if you walk), then only after this it increases by 70/frame (25 if walk) 6. Considering you start with 360, with https://en.wikipedia.org/wiki/Extended_Euclidean_algorithm I've come to conclusion that you need to drop (release B) at least 9 frames to be able to reach 765 360 + 9*70 - 9*25 = 765 (that's already what we're doing, in the image above or memory's video we have 9 frames without B) 7. When to drop the frames ? In order to lose the least possible time we need to do it at the highest speed. Do not drop frames from beginning ! Only drop them above 768, that way you can manipulate speed while still running fast. Pressing B while above 768 is very bad since you will lose 70 speed instead of only losing 25 if you release the key. That means a very simple rule : -> If speed>768 but isn't 835, release B -> Every other case, press B This way is better than the previous image. 8. I thought that even after reaching 835, since when you keep pressing B you lose 70, it could have been better to release B, lose 25, lose 25 again etc, so you maintain yourself longer above 800 speed, but it doesn't work. Luckily, maintaining B and the 765/835 speed is better than repeating the process infinitely, so we won't have to do 50000 frames one by one. 9. Same process applies after a jump or anything that break the 835 speed Note : it seems better to jump on a 835 frame and drop on the ground at a 765 one than the opposite (most of the time we wont really have the choice though) 10. I'm still not sure this is the best way to start, this is only if we start at 360 speed (see point 5.), maybe we can drop less frames in total by starting walking for one or two frames. Edit: I did more testing and math, starting by walking before running is useless. The image above is good. 11. Numbers must be different on SNES, but the idea should be the same.
Joined: 12/11/2018
Posts: 13
Seems a lot easier on SNES :D But it's always good to know the mechanics behind
ViGadeomes
He/Him
Judge, Active player (311)
Joined: 10/16/2017
Posts: 462
Location: France
Grogir wrote:
Seems a lot easier on SNES :D
Sorry to do not have sharing my learning before but I'll break your brain : I found it too but it's not because it's the fastest way to reach the 835-765 speed that you have the best way to begin running thanks to JorWat25 (on SNES, didn't try on genesis but since it is the same mechanics, i'm sure it is the same...). You can see that by looking your x position, x sub position on different way to reach 835-765 on the same frame.
creaothceann
He/Him
Editor
Joined: 4/7/2005
Posts: 1874
Location: Germany
Shouldn't all this be in a Sega Genesis Games subforum thread?
Joined: 12/11/2018
Posts: 13
ViGadeomes wrote:
Grogir wrote:
Seems a lot easier on SNES :D
Sorry to do not have sharing my learning before but I'll break your brain : I found it too but it's not because it's the fastest way to reach the 835-765 speed that you have the best way to begin running thanks to JorWat25 (on SNES, didn't try on genesis but since it is the same mechanics, i'm sure it is the same...). You can see that by looking your x position, x sub position on different way to reach 835-765 on the same frame.
I'm already taking this into account, I'm not trying to reach the speed asap, I'm only releasing the running key above 768. Did you find a better way or not ? (I'm 99% sure there is not)
creaothceann wrote:
Shouldn't all this be in a Sega Genesis Games subforum thread?
Well this is a very specific thread about a game that is on multiple platforms, sorry for disturbing you
creaothceann
He/Him
Editor
Joined: 4/7/2005
Posts: 1874
Location: Germany
---
Post subject: Tintin in Tibet
ViGadeomes
He/Him
Judge, Active player (311)
Joined: 10/16/2017
Posts: 462
Location: France
So Grogir for the SNES version, JorWat25 gave me a better way to do it and it's why I'm telling you that. I think you should be aware about that, i'm making a bot to try every single possibilities even if the all process can make weeks to finish i'll go for it. I can change it for the genesis version and try it for you or let you try it on your own computer (depending on the time it will take to test all possibilities i might just give you the lua for this genesis version).
Joined: 12/11/2018
Posts: 13
Can you explain or screen the method you're talking about? I'm curious now. Actually I've already tried a bot using lua script, but it was way too slow (I remember it took like 30 minutes or 1 hour for less than 10k tries) so instead I tried a simulation in C++ and found the same results, I can't be sure its 100% accurate though.
ViGadeomes
He/Him
Judge, Active player (311)
Joined: 10/16/2017
Posts: 462
Location: France
Grogir wrote:
Can you explain or screen the method you're talking about? I'm curious now. Actually I've already tried a bot using lua script, but it was way too slow (I remember it took like 30 minutes or 1 hour for less than 10k tries) so instead I tried a simulation in C++ and found the same results, I can't be sure its 100% accurate though.
JorWat25 just gave me a better series of inputs than every single ones that i tried ( and i tried the one you gave me ). that's it, I didn't use any method to find the series.
Joined: 12/11/2018
Posts: 13
Sure, I'm asking you what series of input it is in order to make my own researches. If the one I found on SNES is wrong, the one I found on Genesis is probably also wrong.
ViGadeomes
He/Him
Judge, Active player (311)
Joined: 10/16/2017
Posts: 462
Location: France
Grogir wrote:
Sure, I'm asking you what series of input it is in order to make my own researches. If the one I found on SNES is wrong, the one I found on Genesis is probably also wrong.
Here it is what JorWat25 sent me : 0: N/A: 0 1: Run: 140 2: Walk: 190 3: Run: 330 4: Walk: 380 5: Run: 520 6: Run: 590 7: Run: 660 8: Run: 730 9: Run: 800 10: Walk: 775 11: Walk: 750 12: Run: 820 13: Walk: 795 14: Walk: 770 15: Walk: 745 16: Run: 815 17: Walk: 790 18: Walk: 765 19+: Run: 835/765 I believe the first frame with acceleration doesn't have the same value on genesis so the research will have to be made 2 times...
Joined: 12/11/2018
Posts: 13
Hmmm I see, he's using the fact that the speed increases by 50 when switching from running to walking below 384, and increases by 140 for the opposite case, so he reaches 768+ quicker. After this the logic is same as mine (release run key when above 768). I didn't notice this on SNES version, as it works differently on genesis, where releasing "run" too early is just losing time.
ViGadeomes
He/Him
Judge, Active player (311)
Joined: 10/16/2017
Posts: 462
Location: France
I figured out a better series of input by trying more and by not always following the logical rule and trying to keep the biggest values under 768 : 0: N/A: 0 1: Run: 140 2: Walk: 190 3: Run: 330 4: Walk: 380 5: Run: 520 6: Run: 590 7: Run: 660 8: Run: 730 9: Run: 800 10: Run: 730 11:Run: 800 12: Walk: 775 13: Walk: 750 14: Run: 820 15: Walk: 795 16: Walk: 770 17: Walk: 745 18: Run: 815 19: Walk: 790 20+: Run: 765/835 I think I'll stop searching it and keep this series for my TAS because I'm pretty sure there is no better way to reach the 765/835 speed.
Joined: 12/11/2018
Posts: 13
I'm not able to reproduce this sequence, frame 13 should give 750 speed, using "Tintin in Tibet (Europe) (En,Fr,De,Nl)" with both core. Ignoring the speed, it results indeed in a 765/835 speed but the "JorWat25" sequence was better At frame 100 I'm getting x=479.6328 With JorWat one I was getting x=479.9062 I realized the other day that subx was in big endian mode while x is in little endian, it may be your problem? I'm getting x like this :
local x=mainmemory.read_u16_le(0x42)+mainmemory.read_u16_be(0x44)/65536
In genesis it's easier:
local x=mainmemory.read_u32_be(0xEEC8)/65536
ViGadeomes
He/Him
Judge, Active player (311)
Joined: 10/16/2017
Posts: 462
Location: France
Wait.... I just realized that I thought 98 on sub-position X is 248,98 but it's 248,098 ! nevermind so I'll use the JorWat25 sequence then... And sorry about the speed in the previous series, I didn't write it properly.
Joined: 12/11/2018
Posts: 13
Here is my simulation https://onlinegdb.com/HJMXHhQQ4 Tried to reproduce at best the behavior of running on both platforms, and it results in the two sequences we have (the process takes a few minutes but doesn't find anything after the first %). Constants at the top might be changed, especially the #define uncommented to display specific sequences. Now I think we're pretty much done with this
ViGadeomes
He/Him
Judge, Active player (311)
Joined: 10/16/2017
Posts: 462
Location: France
Nice ! let's remake our versions !
Joined: 12/11/2018
Posts: 13
Btw should we swap to english language? I forgot to do it last time but it's in the rules and costs only 1 frame
ViGadeomes
He/Him
Judge, Active player (311)
Joined: 10/16/2017
Posts: 462
Location: France
Grogir wrote:
Btw should we swap to english language? I forgot to do it last time but it's in the rules and costs only 1 frame
I chose to use the english language, maybe this one frame is gained in one of the dialogs somewhere idk.