Skilled player (1484)
Joined: 4/28/2005
Posts: 240
Location: Finland
I learned my lesson. I submitted before showing my unpolished run :/ http://tasvideos.org/1833S.html I started again, improved first mission by 55 frames and I'll try QuickHex to skip areas that need no improving in my opinion. In second mission I use arrows to rescue hostages but it can be done a little faster with machine gun instead. In third mission, the wall could maybe be done faster but not much. In fourth mission destroying helicopters is only place where improvement could be possible. Fifth and sixth depend on laggy situations. Few thousand retries and few frames could be found :) Edit: I found TAS Movie Editor much easier to use than QuickHex. Not smart enought :( updated move - 1st mission improved
Projects: Warlock, Ren & Stimpy (impr) / Generations Lost (impr.)
ventuz
He/Him
Player (123)
Joined: 10/4/2004
Posts: 940
Hex Edit doesn't work well when there's "Randomness" variable stored for AI movement or items or anything important affecting run. Anyway, you probably already notice that.
Skilled player (1484)
Joined: 4/28/2005
Posts: 240
Location: Finland
Yep, that sucks. Anyhow I've progressed slowly. 1st mission 55 frames gained. 2nd mission 2:25 this far, still have the final mad dash through lag, which may take a LOT of time to do as well or better as in my first run.
Projects: Warlock, Ren & Stimpy (impr) / Generations Lost (impr.)
Skilled player (1484)
Joined: 4/28/2005
Posts: 240
Location: Finland
I managed to finish 2nd mission and gained 13 frames more bringing total to 3:33. Unfortunately I made a mistake in rescuing 1st secret agent. With machinegun it is 6 frames faster and now I have to battle through hex-edit or play again which may take few hours (because I'm slow). After 2nd mission I don't expect much improvement but often you can find yourself pleasantly surprised after this kind of thoughts...
Projects: Warlock, Ren & Stimpy (impr) / Generations Lost (impr.)
Active player (356)
Joined: 12/17/2013
Posts: 73
Location: Argentina
Hi.. I improved the 1st mission to 9 frame faster to the canceled movie by maTO The problem is that I lose a important amount of frames when I try to improve or match the second mission .. And it's almost difficult Here is the ".gmv": http://dehacked.2y.net/microstorage.php/info/1835694825/Rambo%20III%20%28W%29%20%28REV%2001%29%20%5B%21%5D.gmv
Current Projects: Snic & Knuckles 3 - Knuckles 100% - AIZ2 Future Proyects: Genesis games GBx - GBA games
Dimon12321
He/Him
Active player (480)
Joined: 4/5/2014
Posts: 1126
Location: Ukraine
Looks like not many are interested in this game. Nevertheless, I decided to finish maTO's work though no-one helped me in my 3 previous topics, so let's hope I'm doing everything right! I got unexplainable thing with enemy spawns in 3rd mission. While TASing this game, I decided to check his time spent on 3rd mission and found that we have different enemy spawns on the way to 2 bridges next the hangar, double wall and exit. I decided to copy his input as I use the same ROM as he used, the result is the same! Then I editted my input of the previous mission and lost some frames near the exit, but the result is still the same! I wouldn't write about that if I had less lag frames because of that spawns, but now I got a "disimprove" because of that! How to manipulate RNG (if I understand correctly) to spawn less enemies? Here is my WIP which shows it! Note: I changed the input a little, because of different time of lag frames! To compare the spawns (and TASes, of course), watch the encode in his cancelled submission! Help me, please!
TASing is like making a film: only the best takes are shown in the final movie.
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11268
Location: RU
What are the exact frames where the spawn does and does not occur, in those 2 movies? Also, do you have any RAM addresses?
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.
Dimon12321
He/Him
Active player (480)
Joined: 4/5/2014
Posts: 1126
Location: Ukraine
feos wrote:
What are the exact frames where the spawn does and does not occur, in those 2 movies? Also, do you have any RAM addresses?
I don't know! I stopped on different frames during 3rd mission and near the exit in 2nd, but spawns doesn't change; maTO's TAS editing doesn't help too, desyncs in the end of 3rd mission if there were any changes! I have 3 enemies + car at the 1st wave (no lag) and 7 enemies + car at the last wave (heavy lag), he has 6 enemies + car at the 1st wave (small lag) and 3 enemies + car at the last wave (no lag). RAM adresses I have: X position - 00FFC211 Y position - 00FFD015 Level 1 Helicopter HP - 00FFDA6F Gate HP - Level 1 / Level 3 (left gate) (3x60; 0 HP exists) - 00FFD3AF Note: Y position is based on the start point of the 1st level, but tells shit during all other parts of the game.
TASing is like making a film: only the best takes are shown in the final movie.
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11268
Location: RU
I mean, say you have some spawn in your run that isn't there in MaTo's. What frame is it at in your movie, and in his? So that I could simply do a breakpoint and find out the reason.
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.
Dimon12321
He/Him
Active player (480)
Joined: 4/5/2014
Posts: 1126
Location: Ukraine
I'm almost sure that spawn happens behind the screen (some time before written belove screenshots), so my screenshots aren't accurate! My movie: 8589 - heavy lag wave, all enemies appeared + 2 behind the screen. First wave is OK. maTO's movie: 9680 - no lag wave, all enemies appeared.
TASing is like making a film: only the best takes are shown in the final movie.
Dimon12321
He/Him
Active player (480)
Joined: 4/5/2014
Posts: 1126
Location: Ukraine
Afraid to ask. What is the result?
TASing is like making a film: only the best takes are shown in the final movie.
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11268
Location: RU
I'm being deadly lazy during my 4-day weekend. Will eventually do it in a couple days I hope.
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 (1236)
Joined: 4/17/2010
Posts: 11268
Location: RU
Alright. Here's the principle. The game has random enemy spawns. Each time it wants to do one, it runs a certain code, and increments a certain value. Then, that value is used to read data from a ROM offset, which is used to set the amount of enemies to spawn. Which means, if you have different amount of random spawns than the other movie, the amount of enemies to spawn at those random places will differ. Exactly: MaTo walks through some area in Mission 2 where first random spawns occur to him, so his random spawn counter starts increasing. You don't have any of those until Mission 3, so you 2 start it with different counter values. The address for that counter is FFC17F. The script shows it, along with some other data I used. See how it's different for your start of Mission 3 and MaTo's. Conclusion: since it's actually not so random (depends on which areas with random spawns you visit), you can't manipulate it. Script: Download Rambo3.lua
Language: lua

count = 0 function object(base) id = memory.readbyte(base) if id == 0 then return end hp = memory.readwordsigned(base+0x2f) x = memory.readwordsigned(base+0x18)-130 y = memory.readwordsigned(base+0x14)-130 x1 = memory.readwordsigned(base+0x38)-130 x2 = memory.readwordsigned(base+0x3a)-130 y1 = memory.readwordsigned(base+0x3c)-130 y2 = memory.readwordsigned(base+0x3e)-130 gui.box(x1,y1,x2,y2,"#00ff0040") gui.text(x-5,y,string.format("%X",base-0xff0000)) --gui.text(x-5,y,string.format("%X\n%d\n%d",id,x+camx,y+camy)) end gui.register(function () camx = memory.readword(0xffc210) camy = memory.readword(0xffc218) total = 0 for i = 0xffd000, 0xFFE100, 0x40 do object(i) num = (i-0xffd000)/0x40 x0 = num%26*12 y0 = math.floor(num/26)*10 if id ~= 0 and num > 0 then --gui.line(x0+3,y0+6,x,y,"#ff0000c0") gui.text(x0,y0,num,"yellow") total = total+1 end end c170 = memory.readword(0xffC170) c17f = memory.readbyte(0xffC17F) gui.text(10,230,string.format("TOTAL OBJECTS: %2d CamY: %3d C17F: %X C170: %X Count: %d", total,camy,c17f,c170,count),"green") end) function spawn() address = memory.getregister("a2") count = memory.readword(address) --count = AND(memory.getregister("d7"),0xF) emu.pause() end memory.registerexecute(0xBD1A, spawn)
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.
Dimon12321
He/Him
Active player (480)
Joined: 4/5/2014
Posts: 1126
Location: Ukraine
Thanks!
TASing is like making a film: only the best takes are shown in the final movie.
XTREMAL93
He/Him
Active player (388)
Joined: 1/6/2012
Posts: 579
Location: Azerbaijan, Baku
Link to video new WR speedrun 08:58. walkthrough https://gamefaqs.gamespot.com/genesis/586412-rambo-iii/faqs/28641 Is it necessary to rescue all 3 hostages in level 2? Also as i remember from childhood, after rescuing secret agent you can go into chamber, explode wall using timed bomb and leave base faster.
Dimon12321
He/Him
Active player (480)
Joined: 4/5/2014
Posts: 1126
Location: Ukraine
XTREMAL93 wrote:
Is it necessary to rescue all 3 hostages in level 2? Also as i remember from childhood, after rescuing secret agent you can go into chamber, explode wall using timed bomb and leave base faster.
Sure, last one always warns you about the destruction of this prison. maTO did this several years ago and there is a "walkthrough" video somewhere on YT. It's still wierd for me why he didn't submit it on tasvideos. It would definitely have been published. I tried to represent his TAS, but I got problems with spawning system as the game was spawning more enemies on my way - that would raise doubts of me not beating the fastest existing speedruns since my TAS is more laggy. So I abandoned my work =[ UPD: here is maTO's TAS: https://youtu.be/-MGH875SGSQ
TASing is like making a film: only the best takes are shown in the final movie.
Skilled player (1484)
Joined: 4/28/2005
Posts: 240
Location: Finland
I can't remember why I didn't submit the improvement made one year after the submission. Maybe it was not optimal? I hope someone will beat this bad boy. It's not going to be me.
Projects: Warlock, Ren & Stimpy (impr) / Generations Lost (impr.)
Skilled player (1436)
Joined: 11/26/2011
Posts: 655
Location: RU
maTO wrote:
I can't remember why I didn't submit the improvement made one year after the submission.
Actually it is never late to submit it.
maTO wrote:
Maybe it was not optimal?
Nothing is optimal. Just out of curiosity, how much is it slower comparing with abandoned WIP by Dimon12321? http://tasvideos.org/userfiles/game/1110
I show you how deep the rabbit hole goes. Current projects: NES: Tetris "fastest 999999" (improvement, with r57shell) Genesis: Adventures of Batman & Robin (with Truncated); Pocahontas; Comix Zone (improvement); Mickey Mania (improvement); RoboCop versus The Terminator (improvement); Gargoyles (with feos)
Dimon12321
He/Him
Active player (480)
Joined: 4/5/2014
Posts: 1126
Location: Ukraine
Archanfel wrote:
Just out of curiosity, how much is it slower comparing with abandoned WIP by Dimon12321? http://tasvideos.org/userfiles/game/1110
First 2 stages are optimal, maybe even faster by a couple of frames (+ faster menu selection), but my stage 3 is more laggy comparing maTO's last cancelled TAS. In theory, to make the game spawn less enemies, you should prevent some enemies from spawning earlier. There is a "spawn" counter in feos' lua script which explains why did the game spawned 5 enemies, for example, instead of normal 3. I thing we have to lose some frames in stage 2 in order to make stage 3,4,... less laggy.
TASing is like making a film: only the best takes are shown in the final movie.