Patashu
He/Him
Joined: 10/2/2005
Posts: 4017
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
Active player (435)
Joined: 2/5/2012
Posts: 1698
Location: Brasil
kchrules wrote:
MOAR Dk king of swing: http://www.youtube.com/watch?v=hPShUhSL_Sw [World 2]
is there any specific info you can give about TASing this game?
TAS i'm interested: megaman series: mmbn1 all chips, mmx3 any% psx glitched fighting games with speed goals in general
Post subject: DK: King of Swing (Help with RAM addresses needed)
Former player
Joined: 1/5/2013
Posts: 31
I recently started working on a TAS for DK: King of Swing. I'm having a bit of an issue right now, and I'm hoping that someone more knowledgeable about emulators and RAM addresses could help me out. I did some testing and searching through RAM addresses, and found that DK's position is tracked with RAM addresses 7ED8 for X position, and 7EDC for Y position. So that's all fine and good. The issue comes when I start the second level, that has some enemies. Now in this second level, those RAM addresses seem to track one of the enemies instead. After killing all enemies onscreen, 7ED8 and 7EDC return to tracking DK. I've tried moving DK to a consistent, repeatable position, and searching for RAM values with those values while enemies were still onscreen, but I couldn't get anything from that. Can anyone help me out with this? I don't know if there's something I'm doing wrong in how I'm searching, or what. Thanks in advance!
Judge, Skilled player (1290)
Joined: 9/12/2016
Posts: 1645
Location: Italy
Don't worry, your question is legit. The game is probably changing the addresses of DK depending on how many enemies are on screen. This seems pretty uncommon to me, maybe these are just some duplicate addresses. So first, check if there are other addresses showing the X and Y coordinates of DK. If not, then you will need to write a script in order to follow the values without having to watch a lot of addresses at the same time. By the way, you should probably delete your post in the The Newbie Corner, in order to avoid double posting. Edit: I just did a quick check, and found that DK's X and Y are also found at 7EAC and 7EB0 respectively. Also, I didn't encounter the problem you were talking about: all addresses did point to DK coordinates all the time. Are you using the USA version of the game?
my personal page - my YouTube channel - my GitHub - my Discord: thunderaxe31 <Masterjun> if you look at the "NES" in a weird angle, it actually clearly says "GBA"
Former player
Joined: 1/5/2013
Posts: 31
Deleted the other one. Sorry, I wasn't sure where I'd be more likely to actually get a response. The ROM I'm using is called DK - King of Swing (USA, Australia). It appears to be identical to my cart of the game (The PAL version has a different font for some reason, so I know it's not that one). I just checked 7EAC and 7EB0, and you're right, they do seem to point to DK's X and Y coordinates as well, except on Contraption Cave, they're still doing the same thing, like they're duplicates of 7ED8 and 7EDC.
Judge, Skilled player (1290)
Joined: 9/12/2016
Posts: 1645
Location: Italy
Solved the mystery. The right values can be found in the EWRAM. Go on the RAM Search window > Settings > Memory Domains > EWRAM. Start a new search. You can either copy the right addresses from here:
SystemID GBA
022010	d	s	0	EWRAM	X position
022014	d	s	0	EWRAM	Y position
022018	d	s	0	EWRAM	X speed
02201C	d	s	0	EWRAM	Y speed
This is what you get when you open a wch file with notepad. These values are all 4-bytes, signed, Little Endian.
my personal page - my YouTube channel - my GitHub - my Discord: thunderaxe31 <Masterjun> if you look at the "NES" in a weird angle, it actually clearly says "GBA"
Former player
Joined: 1/5/2013
Posts: 31
Thanks so much! That's exactly what I need! I'll be updating this thread with my progress on this TAS, for anyone interested.
Former player
Joined: 1/5/2013
Posts: 31
Judge, Skilled player (1290)
Joined: 9/12/2016
Posts: 1645
Location: Italy
PiePusher11 wrote:
World 1's done! https://www.youtube.com/watch?v=2T1Gc3xrc7s
Well done! It looks well executed. By the way, I've just noticed that the actual value type for the coordinate values is Fixed Point 16.16: go on the RAM Watch window, double click the addresses and then click on Display Type. This should make things simplier.
my personal page - my YouTube channel - my GitHub - my Discord: thunderaxe31 <Masterjun> if you look at the "NES" in a weird angle, it actually clearly says "GBA"
Former player
Joined: 1/5/2013
Posts: 31
https://www.youtube.com/watch?v=JXE4XCOSwa0 World 2's done! Read description for my thoughts so far. I changed a couple little things in world 1, and I may have to change some stuff in a screen or two in world 2, too. Sorry in advance for the beeping strats, haha
Former player
Joined: 1/5/2013
Posts: 31
World 3's done! https://www.youtube.com/watch?v=Df8kTWZkQRQ Redid Madcap Mine 1. Highlights of this world are definitely Ship of Souls 2 and 3, and Kremling Kamp 1 and 2. I realize that's practically half of the world, but dammit, world 3 is awesome! Oh, and the Davy Bones kill is pretty cool too
Former player
Joined: 1/5/2013
Posts: 31
aaand here's world 4! https://www.youtube.com/watch?v=j056ePE8a6U I'm now realizing there's some better strats I could have used in Contraption Cave, as well as some better optimizations. Also, if anyone could give me some ideas on why this might happen, I'd really appreciate it. I noticed after finishing the boss of this world, that you can actually select the "go to next world" on the map screen one frame sooner than I had been. So I tried to copy/paste all my inputs back one frame per world to make up for that, but when I did that, despite the Davy Bones fight starting 2 frames sooner, and still killing him in exactly the same way, I collected the medal 6 frames later. Anyone have any ideas why this might happen?
Judge, Skilled player (1290)
Joined: 9/12/2016
Posts: 1645
Location: Italy
Most games can behave different after seemingly trivial edits in a movie. I think most times it can't be explained without going serious with debugging and stuff. Something similar happened with Zook Man ZX4 and Crash Bandicoot: The Huge Adventure, both GBA games: after a very minor edit in the WIP, some frames where wasted some levels later. (GBA Crash is continuing to resemble to Zook Man, and this is scaring me.) By the way, succeeding or not, it sounds you did a good job looking if you could recover these 6 frames lost. Also, it's not like a movie could be rejected for such a minor downtime, nor could get in Vault instead than Moons just because of that. You're doing a good job, working on it seriously and keeping improving yourself. I hope you will TAS other games as well, in future.
my personal page - my YouTube channel - my GitHub - my Discord: thunderaxe31 <Masterjun> if you look at the "NES" in a weird angle, it actually clearly says "GBA"
Experienced player (996)
Joined: 1/9/2011
Posts: 227
PiePusher11 wrote:
aaand here's world 4! I noticed after finishing the boss of this world, that you can actually select the "go to next world" on the map screen one frame sooner than I had been.
I assume you mean going from world 3 to world 4 and not world 4 to world 5.
PiePusher11 wrote:
So I tried to copy/paste all my inputs back one frame per world to make up for that...
Not sure what emulator you're using, but it seems odd (and a lot of extra work) that you have to copy/paste your inputs to to adjust for a single frame. Deleting the blank frame should shift everything back automatically.
PiePusher11 wrote:
but when I did that, despite the Davy Bones fight starting 2 frames sooner, and still killing him in exactly the same way, I collected the medal 6 frames later. Anyone have any ideas why this might happen?
So there was absolutely zero change to your inputs outside of shifting everything back a total of 3 frames? It sounds like the loading time is taking an extra 6 frames to go from the end of the boss to the overworld. You need to check the exact frame count from the beginning of the fight to the final hit, the frame count from the final hit on the boss to the beginning of the screen fade-out, and the frame count of the loading time, and the frame count from going to the overworld to getting the medal. Those extra 6 frames have to come from somewhere and looking at each small chunk will help you identify what's taking longer. Also, at the 9 minute mark you grab onto the grid and just hang there for a second. Is that RNG manipulation?
Former player
Joined: 1/5/2013
Posts: 31
WarHippy: I meant going from 1 to 2, 2 to 3, and 3 to 4. Each of those can save one frame. I probably don't have to copy/paste all the inputs, I'm new to this! I'm using bizhawk. At the 9 minute mark? At the end of Risky Reef? That's just charging up a charge attack to break the barrel. There's no RNG manipulation, if i'm waiting around, it's generally because something's moving, and I have to wait for it to move enough to make the jump, or something of the like. The only times I can think of that I do that specifically are in Puzzling Pyramid 1, where I have to wait for the bug to move, otherwise I don't get above it enough to damage boost up, in Kremling Kamp 3, where I have to wait for the pegboard to move up enough to make the jump to the tire, and in Raging Ravine 3, where I have to wait for the Kremling to throw the bomb. (There may be another I'm not thinking of) And yes, as far as I know, there was no change to the inputs besides shifting it all back 3 frames. It can't be loading the boss, because the fight itself synced ok, perhaps it was something at the very end, that made the head fall slower or something...I'll keep looking into that, and I'll try to fix everything I can think of before moving on to World 5. ThunderAxe: Thanks! I'm trying! At the moment, I don't plan on TASing any other games, but I'm definitely considering TASing other categories of this game. My end goal is to have a 200% TAS of this game, which involves 100% DK, 100% Diddy, Time Attacks with both characters, and the Jungle Jams (minigames of sorts).
Former player
Joined: 1/5/2013
Posts: 31
Quick update on what I got tonight. I redid Contraption Cave with a new strat and optimizations, and saved about 52 frames on screen 3, and 4 frames on screen 2. This put me back 1 banana, so I redid Puzzling Pyramid 3, and got 2 extra bananas, also saving a few frames (I forget exactly how many). Now since I have an extra banana, I could finally skip the extra banana in Necky's Canyon 3, saving 4 frames. Unfortunately, with all of this, Lockjaw Falls 2 desynced (apparently there's some RNG with how the pegs fall). In redoing that screen, I actually lost 1 frame. Then, Davy Bones was still doing that thing where I was losing 6 frames for some unknown reason. I played around with the end of that fight, and saved a little over 30 frames! And on top of all that, there's also the time saved on the map screen!
Former player
Joined: 1/5/2013
Posts: 31
I'm tentatively done with the DK any% TAS! I got a time of 18:33.959 (66534 frames). I still have a few more things to test before I call it done, though. I need to time how much time the banana boost in Booster Barrel Skyway saves, I need to test almost every screen from Ice Castle to the end with a banana boost, to see if any of them save more time than the one in Artillery 1, and I'd also like to try to optimize the final boss a bit more. I tried to give K. Rool as much of a headstart on the race as possible, but it turns out falling significantly behind him slows him down (You have to wait for him to finish the race before moving on to the fight).
Former player
Joined: 1/5/2013
Posts: 31
Finished the TAS! Whoo, this sure was a journey. Since my last update, I tested every other possible Banana Boost location, and found that doing one in Ice Castle 3 saved the most time. It saved ~180 frames over playing normally, and since Banana Boosting in Artillery 1 only saved ~120 frames over playing normally, I redid both of those screens. In making these adjustments, I found that the ending of Sassy Squatch perhaps loaded slower or something? Whatever the reason, I lost 6 frames between grabbing the medal and scrolling through the text box on the world map. Once everything was done, I ran into a very weird issue. For some reason, in the K. Rool race, despite none of the inputs changing, pressing start to advance after the race wouldn't work. Then, I don't remember exactly what I did, but whenever I tried reopening the movie and opening TAStudio, the whole emulator would crash. So I tried replaying the movie without TAStudio open, and even though it desynced after the race with TAStudio open, it works perfectly fine without it open. Anyway, all's well that ends well, I suppose. After all these improvements, the new final time is: 18:32.552 (66450 frames)! I'll be posting the video to my youtube channel as soon as I get it recorded, and submitting it once I actually get around to writing up full submission comments, haha
Judge, Skilled player (1290)
Joined: 9/12/2016
Posts: 1645
Location: Italy
PiePusher11 wrote:
ThunderAxe: Thanks! I'm trying! At the moment, I don't plan on TASing any other games, but I'm definitely considering TASing other categories of this game. My end goal is to have a 200% TAS of this game, which involves 100% DK, 100% Diddy, Time Attacks with both characters, and the Jungle Jams (minigames of sorts).
After reading the guide on GameFAQs, it seems to me that such 200% run would be not be acceptable; instead, Donkey Kong 100%, Diddy Kong any%, and Diddy Kong 100%, should all be submitted as separate runs. Since Diddy Kong requires to beat the game once, it will be necessary to record the movie starting from SRAM. In order to create such movie, you need to go on File > Movie > Record Movie... > Record From: > SaveRam > OK. Then you will also be able to continue your movie in TAStudio. We usually don't accept save-anchored movies, except for cases as these. For more details, read the first section of the Movie Rules. For the Time Attack: from what I've read, it looks like it doesn't introduce any real new content. If I'm right, then a run done in such mode couldn't get accepted in any case. For the Jungle Jams: there shouldn't be any problems. Start from SRAM and beat all minigames in the same movie.
my personal page - my YouTube channel - my GitHub - my Discord: thunderaxe31 <Masterjun> if you look at the "NES" in a weird angle, it actually clearly says "GBA"
Joined: 10/23/2009
Posts: 545
Location: Where?
Why would it not be acceptable? I don't see any problem in making a single file that comlete the game twice. One time for Donkey Kong and one time with Diddy Kong. Eitherway, I don't think I've said it on the submission thread, but I enjoyed the movie and would watch a full completion of the game.
Judge, Skilled player (1290)
Joined: 9/12/2016
Posts: 1645
Location: Italy
Niamek wrote:
Why would it not be acceptable? I don't see any problem in making a single file that comlete the game twice. One time for Donkey Kong and one time with Diddy Kong.
The TAS goals must not be too much obscure or exoteric. Maybe it could still be accepted, you can't never tell for sure without first going through the actual judging process and analyzing all aspects. Still, it's just common sense that completing the game is something that should be done only once for each branch, except where there is some extra content after the main game quest that doesn't require to repeat most of the already seen game content. Some examples would be Pokémon Gold and Toki Tori.
Niamek wrote:
Eitherway, I don't think I've said it on the submission thread, but I enjoyed the movie and would watch a full completion of the game.
I'm looking forward to it too, that's why I'm trying to help about following the guidelines.
my personal page - my YouTube channel - my GitHub - my Discord: thunderaxe31 <Masterjun> if you look at the "NES" in a weird angle, it actually clearly says "GBA"
Joined: 10/23/2009
Posts: 545
Location: Where?
I do agree that splitting the whole 200 % thing into different movies is perfectly fine. I just wanted to point out that doing it in a single movie is fine too i my opinion. =) Although I kinda understand where you were going. It's less painful (and more motivating( to split a huge movie into small movies instead of doing a giant movie file! You do raise a valid point! It is common sense indeed to finish the game once. But some games will require watching the credits a couple of times if you want to 100% it. Sonic Adventure 2 battle comes to mind. If someone ever do a 180 emblems movie. They'll have to watch the cs at least thrice. =D
Former player
Joined: 1/5/2013
Posts: 31
Actually, 200% isn't just beating the game once with each character. You have to 100% it with both characters, plus go through all the Time Trials with both characters, plus do the Jungle Jams. I understand splitting them up for tasvideos, but 1. I want to have the entirety of 200% all in one, and 2. Jungle Jams would be left out, as a movie of just that would probably not be accepted (it's essentially a minigame collection). Also, I see why Time Trials would be rejected as well, even though they ARE different from an any% run (you don't get enough bananas to Banana Boost, but instead you can damage boost pretty much anywhere you want). That said, I just started working on Diddy any% today, so I probably won't start anything related to 200% for a while.
Post subject: Correction.
Judge, Skilled player (1290)
Joined: 9/12/2016
Posts: 1645
Location: Italy
Sorry guys, it looks like I misunderstanded. I thought that the 200% branch was an arbitrary RTA route, but it turns out that the game itself is counting the percentage progress up to 200%, counting:
  • Donkey Kong main quest full completion;
  • Diddy King main quest full completion;
  • All Time Trials;
  • All Jungle Jams.
Please tell me if this time I did understand it right. In this case, a 200% run would be acceptable for TASVideos, and even applicable for Vault Tier as full completion run. On the other hand, a Diddy any% mode run would not be applicable for Vault, but that it's not going to be a problem since such run is probably going to meet the Moons Tier entertaining requirements. Sorry again for the confusion.
my personal page - my YouTube channel - my GitHub - my Discord: thunderaxe31 <Masterjun> if you look at the "NES" in a weird angle, it actually clearly says "GBA"
Former player
Joined: 1/5/2013
Posts: 31
Yes, that's correct. The game keeps track of percentage complete, with a maximum of 200%. The run is very repetitive, as you have to do each of the levels as many as 4 times (once with each character in Adventure, once with each character in Time Attack), so I completely understand it going into Vault.