Posts for MUGG


Editor, Experienced Forum User, Published Author, Expert player (2315)
Joined: 5/15/2007
Posts: 3856
Location: Germany
I started working on a luascript. Before I can finish it, it should be researched what outcomes are possible and should be tested. Things to consider:
  • Not counting B-Button item, there are four possible inputs you can do. none none Left none none Right Left Right
  • More importantly, as said before, there are 10 possible altitudes each flipper can have. It takes a few frames until your flipper can have a certain altitude, the longest one taking 7 frames.
  • Keep running the game until 7 frames before the ball is in reach, then start using the input combinations required to obtain each of the 10 altitudes.
  • After you've done that, an additional flipper press can influence the ball further.
  • After you've done that, the other flipper should also have its altitude set up via the 10 input combinations.
  • Assuming you would say "all bets are off after that" and you rely on running the 4 possible inputs each frame, if my math is not wrong that means: (10 input sequences to reach the altitudes * 2 press or no press after touching the flipper) ^ 2 because two flippers (10 * 2) ^ 2 = 400 outcomes and then 400*4^number of frames the ball is in reach of flippers so 400*4^1 = 1600 outcomes for the first subsequent frame 400*4^2 = 6400 outcomes for the second subsequent frame 400*4^3 = 25600 outcomes for the third subsequent frame 400*4^4 = 102400 outcomes for the fourth subsequent frame 400*5^5 = 409600 outcomes for the fifth subsequent frame etc. This is a bad approach, since it blindly runs inputs. We should consider the flipper's altitudes and when the ball is going to reach the flipper's area of effect, instead.
  • Furthermore, some altitudes are so close to each other, we might get away with ignoring some. Needs testing. But... 0x00000A is close to 0x000000 0x0AAAA8 is close to 0x0AAAB2 0x155550 is close to 0x15555A 0x1FFFF8 is close to 0x200002 0x2AAAA0 is close to 0x2AAAAA Maybe it's possible to reduce the altitudes to 5. Then the above math would look like this; (5 * 2) ^ 2 = 100 outcomes 400 outcomes on the first subsequent frame 1600 outcomes on the second subsequent frame 6400 outcomes on the third subsequent frame 25600 outcomes for the fourth subsequent frame etc.
I will keep testing and researching.
Editor, Experienced Forum User, Published Author, Expert player (2315)
Joined: 5/15/2007
Posts: 3856
Location: Germany
I tried using Basic Bot in Bizhawk 2.8. Playing a GBA game. When the game runs in unthrottled mode but I use frame-advance, it will update the screen only every few frames when frame advancing. When poking a value to an address in hex editor, Basic Bot doesn't seem to recognize the value in its condition as changed.
Editor, Experienced Forum User, Published Author, Expert player (2315)
Joined: 5/15/2007
Posts: 3856
Location: Germany
RAM addresses (possibly useful for brute-forcing) ---------------------------- It seems each of the two flippers can have one of 10 possible altitudes when colliding with the ball. The transition mode address could be used as a finishing point. This list will be updated as I make more findings. Needed: - collision/hitbox related addresses or anything that can be used for figuring out if the ball is touching a flipper, - "star get" delay or anything that tells us we are getting a star / starkey - anything related to "if a star exists", "if a star is descending or ascending", "if a star is grabbable", "star position" - yellow coins / blue coins ----------------------------- IWRAM $14AC Left Flipper Altitude (4-Byte) $14B0 Right Flipper Altitude (4-Byte) $14BC Left Flipper rising speed or something? (4-Byte) $14C0 Right Flipper rising speed or something? (4-Byte) Somewhere around here is also an address for each flipper that makes the ball receive speed if non-zero, but it is always zero. Maybe written to and cleared in-between frames.
$14AC and $14B0 possible values / achieved fastest how:
0x000000

0x00000A	
F1: L
F2: L
F3: L
F4:
F5:
F6:
F7:

0x0AAAA8	
F1: L
F2: 

0x0AAAB2	
F1: L
F2: L
F3: L
F4:
F5:
F6:

0x155550	
F1: L

0x15555A	
F1: L
F2: L
F3: L
F4:
F5:

0x1FFFF8	
F1: L
F2: L
F3:

0x200002	
F1: L
F2: L
F3: L
F4:

0x2AAAA0	
F1: L
F2: L

0x2AAAAA	
F1: L
F2: L
F3: L
$6540 Transition mode (1-Byte)
possible values:
13: None
10: Down
11: Start Credits
12: Title Screen
0: UpLeft
1: Up
2: UpRight
3: World Select
$6532 Ball Size (1-Byte)
12: Mini
19: Normal
28: Big
$6514 Ball X-Pos (4-Byte) $6518 Ball Y-Pos (4-Byte) $651C Ball Z-Pos (4-Byte) $6524 Ball X-Speed (4-Byte) $6528 Ball Y-Speed (4-Byte) $652C Ball Z-Speed (4-Byte) $6558 4 Byte Ball Spin Amount $0014 1 Byte Total Stars $1484 1 Byte Cannon State Somewhere around this may be addresses related to door open/closed state
Possible values:
0: Doesn't Exist
1: Normal
2: Open
3: Opening
4: Closing
$0200 1 Byte Cannon is pulling your ball?
Possible values:
0: No
1: Yes
$000C 1 Byte Current Blue Coins (On the first room, $0200 must be frozen to 0 and $000C to 0 to make L+R presses not reset the cannon and make the ball not enter the toad's tent, if running Basic Bot in Bizhawk.)
Editor, Experienced Forum User, Published Author, Expert player (2315)
Joined: 5/15/2007
Posts: 3856
Location: Germany
I think we should try to bruteforce the game. Every room is basicly separate from each other and the ball can only be influenced by the flippers. It is a similar case like Chef Stef's Arkanoid, with one level at a time (one room at a time) needing a few interactions by the platform (the flippers). Here is a (not detailed, just pseudo-) explanation on how the flippers behave in this game. Each flipper can have about ~10 "altitudes". When the button is pressed, it moves up by like 3 altitudes until the max is reached. If it is let go, it moves down by 2 altitudes. So by pressing F1: A F2: F3: A you can reach a different collision with the ball compared to if you pressed F1: A F2: A F3: A Once the ball is outside the reach of the flippers, it will always move the same and cannot be influenced. There is no "bouncing the table" in this game and pausing doesn't change anything. There is some RNG or frame rules involved, so you cannot always hex-edit in your previous rooms. But that doesn't really prevent you from brute-forcing one room at a time. With what I described above, there are not that many possibilities compared to Arkanoid, so I think we can get away with running a luascript on the game rather than programming a bare bones version of the game like Chef Stef did. I will investigate RAM addresses that can be used for deciding or for goals. Also I will look for the flippers altitude addresses. The bruteforce script itself I will need help. Is anyone interested in helping? Or any guides?
Editor, Experienced Forum User, Published Author, Expert player (2315)
Joined: 5/15/2007
Posts: 3856
Location: Germany
I was rewatching my TAS and figured out an improvement that I verified in a quick testing. In the room with the 4 penguins and the 1 ice block, if the ice block is pushed to the hole at the same time you get the star, the delays will overlap. It saves at least 90 frames, but I'm sure the fight itself could be further improved to save up to 200 frames. https://www.youtube.com/watch?v=XTaOCJ_ULJA
Editor, Experienced Forum User, Published Author, Expert player (2315)
Joined: 5/15/2007
Posts: 3856
Location: Germany
Just dropping by to say I'm not gone. I think a TAS of this game would be pretty great so I can imagine continuing routing and starting running this particular game in the future. Just don't know when exactly...
Editor, Experienced Forum User, Published Author, Expert player (2315)
Joined: 5/15/2007
Posts: 3856
Location: Germany
Challenger wrote:
New Great Cave Offensive 100% TAS by WaddleDX. Truly amazing work on every way!
Great work! It seems well done. Apparently it is not possible to find a fast 1-up on the way to skip that game-over screen. Just as a side note, I found out by testing that you can "throw away" hammer but then climb up a ladder to keep it.
Editor, Experienced Forum User, Published Author, Expert player (2315)
Joined: 5/15/2007
Posts: 3856
Location: Germany
Ok. For now I will continue working on a new run, but I'm not promising anything here... I will decide which mode to use. I guess it is possible to switch between the two (GBA and GBC) easily and the bonus luck can be adjusted quickly. At least until we get to 2-3's bonus game. So it doesn't matter for now.
Tikevin83 GBC modeTikevin83 GBA modeGBC by muggGBA by mugg
Idle frames usedUnknownUnknown1 on title screen2 on title screen
Color palette useddefaultdefaultdefaultdefault
Frame # Title screen visible203217203217
Frame # 1-3 fade to white830983238283*8297**
Frame # Bonus game faded out8496851084708484
1-3 Boss killed?yesyesnono
Score after 1-340,85040,85033,75033,750
(All movie files use ROM version 1.0 and Bizhawk 2.7-Gambatte core.) *8281 is possible, but the bonus game couldn't be manipulated. **8295 is possible, but the bonus game couldn't be manipulated. It looks like the 26 frame gap didn't come from any mode difference. I compared my GBC mode run to your movie file set to GBC. Todo: Try idle frames in other places.
Editor, Experienced Forum User, Published Author, Expert player (2315)
Joined: 5/15/2007
Posts: 3856
Location: Germany
TiKevin83 wrote:
To make sure, you're using console mode GBA?
I'm using mode GBC mode. Oh, that might explain why there was such a time gap between the two movies. The boot-up on GBA takes a bit longer. Should the GBC mode be used because it is fastest? Or should the GBA mode be used to be able to play it back on console?
Editor, Experienced Forum User, Published Author, Expert player (2315)
Joined: 5/15/2007
Posts: 3856
Location: Germany
A while ago, TiKevin83 resynced and also console-verified the current normal mode TAS here. Since I had previously proven that the normal mode TAS can still be improved, I looked into implementing the improvement in the resynced bk2 movie file. I don't know how TiKevin83 managed to resync the normal mode run VBM because I had to add idle frames after every level and didn't get the same bonus game as in my "known improvement" VBM. After adding a "Pause, nothing, nothing, Unpause" input after 3-3's scoring finished, I managed to get a fireflower bonus game anyway. It didn't save 7 frames like anticipated, but actually 20 frames over the resynced bk2. The resynced bk2 kills the 1-3 boss and fades white from the bonus screen on frame 8496. The new bk2 which does not kill the boss fades white from the bonus screen on frame 8476. There are also these facts which played a role into getting more improvements: - I managed to find a 3 frame improvement in 1-3 by optimizing the pyramid section in the middle - For now, due to observations I made with the frame rules, I will assume that omitting the boss is faster than killing him. - I found that selecting a different color pattern during boot-up changes bonus game luck. So I went through world 1 without inserting any idle frames and then got a fireflower by pressing Down+B at frame 12 during boot-up. This made the bonus game fade-out at 8470, therefore saving 26 frames. - I still have to optimize world 1 for points before I can continue. - With the current movie, the Down+B input is the only color pattern that will give a flower in 1-3 bonus game. - If you use different button combinations during boot-up, one after the other, then it will give the result as if you had only pressed the last one. Sometimes it will give a start screen that is delayed by 1Frame so the movie desyncs. Therefore, selecting a color pattern multiple times will not give more control over the bonus game luck.
-----

Press on frame 12:	Outcome:		
< A			Ladder-2up 		(2, f, 3, 1)
^ A			Ladder-flower 		
> A			(late start screen)
v A			Ladder-2up		
< B			1up
^ B			2up
> B			1up
v B			Flower (Success!)
<			2up			(3, 1, 2, f)
^			(undesired outcome not noted)
>			Ladder-2up		(2, f, 3, 1)
v			(undesired outcome not noted)
press nothing		(undesired outcome not noted)

-----

Press on frame 12: <A
Press on frame 14: >B
Outcome:	1up

Press on frame 12: ^A
Press on frame 14: vB
Outcome:	(late start screen)

Press on frame 12: <
Press on frame 14: vB
Outcome:	(late start screen)

Press on frame 12: vB
Press on frame 14: <
Outcome: 	2up

Press on frame 12: ^a
Press on frame 14: >
Outcome:	Ladder-2up

Press on frame 12: <
Press on frame 14: >
Press on frame 16: va
Outcome:	 Ladder-2up
Found another 2 frame improvement, by taking mush and fireflower in 1-1 instead of 1-2. Maybe the obtaining of mush or fireflower in 1-2 was suboptimal. Getting Flower in 1-1 is better for getting points. Unfortunately, with the 2 frame improvement, I had to find a new suitable color pattern but there was no color pattern that gave a bonus game with fireflower. So I will have to insert an idle frame or two. EDiT: It seems the 2 frame improvement got defeated by the frame rule in 1-3. So I didn't save any more time, but this is good anyway. I found points improvements and there are possibly more color patterns that will get fireflower in 1-3 and maybe in world 2.
Editor, Experienced Forum User, Published Author, Expert player (2315)
Joined: 5/15/2007
Posts: 3856
Location: Germany
I used torrents as the only means to watch TASes back in 2006. I haven't used them at all in the last ten years, so I won't be missing them.
Editor, Experienced Forum User, Published Author, Expert player (2315)
Joined: 5/15/2007
Posts: 3856
Location: Germany
Sorry in advance if this is the wrong place to post. It's just that I can't find a better place. I don't like the new layout. The previous design worked well and served its purpose, so I don't know why it needed to be changed. When everyone was talking about a new site layout, I didn't think it included the forums, too. I think the design could be made more appealing to the eye. Like it is now, it feels too MS painty. Mixing blue buttons, purple buttons and green buttons (when posting) feels like a bad choice. Bright blue text on grey background is a bit hard to read. Now it will be hard to know where everything is. I click on "Posts since last visit" and there was nothing. Which can't be true since my last visit was days ago.
Editor, Experienced Forum User, Published Author, Expert player (2315)
Joined: 5/15/2007
Posts: 3856
Location: Germany
I have no words. As a glitch enthusiast who worked on this game before, I'm really impressed. Hats off to that Noki Doki player! Today's era of TASing seems full of surprises. First that. Now this...
Editor, Experienced Forum User, Published Author, Expert player (2315)
Joined: 5/15/2007
Posts: 3856
Location: Germany
As someone who TASed some of the modes 100% before, I'm positively surprised that someone created such a high level work. In terms of strategy, it does a few things that I didn't. It also uses soft-resets. So congratulations! I didn't know wheelie rider was so good. He even improved my Gourmet Race times. There was this section where I wondered if the chest or the bomb block can be reached through the wall. Did he confirm if it was slower? Or what about using the dive glitch in the early lava section? (mentioned in the linked post at the bottom) Is it possible or not? I'll watch the rest later. If anyone wonders why all my KSSU videos are gone, it's because of the Nintendo copyright claim issue I had and it was not possible to reinstate the videos after the issue settled, along with youtube bugging out on my re-encode of Dynablade, so I had given up. This was a few years ago.
Editor, Experienced Forum User, Published Author, Expert player (2315)
Joined: 5/15/2007
Posts: 3856
Location: Germany
http://tasvideos.org/3653M.html This page says:
error_handler:
	errstr=unlink(/dev/shm/lckBCCFCAE5): No such file or directory
	errfile=/home/tasvideos/public_html/inc/smallcache.php
	errline=376
Editor, Experienced Forum User, Published Author, Expert player (2315)
Joined: 5/15/2007
Posts: 3856
Location: Germany
Map ID list Numbers are in decimal. Any other number will give a glitch text when opening the Palimpsest.
00 - The Antechamber
01 - Beginner One
02 - Beginner Two
03 - Beginner Three 
04 - Caverns below Beginner Three
05 - Broken Seal One
06 - Broken Seal Two
07 - Broken Seal Three
08 - Broken Seal Four
09 - Broken Seal Five
10 - Underground Shortcut
11 - Below Broken Seal Four
12 - Below Broken Seal Three
13 - Below Broken Seal One
14 - Elemental Barrier Three
15 - Elemental Barrier One
16 - Elemental Barrier Two
17 - Blue Domain
18 - White Domain
19 - Ebon Domain
20 - Crimson Domain
21 - Green Domain
22 - Crossroad Cavern
23 - Below White Domain
24 - End Four
25 - End Five
26 - End Three
27 - End Two
28 - Lava Level
29 - Below End Four
30 - Otherworld One
31 - Otherworld Two
32 - Otherworld Three
33 - Sewer Section One
34 - Sewer Section Two
35 - Sewer Section Three
36 - Citadel Basement
37 - Citadel Ground Floor
38 - Citadel Floor Two
39 - Citadel Floor Three
40 - Lair of Shadow Weaver
Normally you are prevented from opening the Palimpsest on the three Sewer levels and the Ebon Domain, but using memory editing I managed to bypass that and the game does correctly display the map in the Palimpsest. Although the manual refers to the Sewers as "Sewer One", "Sewer Two" and "Sewer Three", the Palimpsest will refer to those regions as "Sewer Section One", "Sewer Section Two" and "Sewer Section Three".
Editor, Experienced Forum User, Published Author, Expert player (2315)
Joined: 5/15/2007
Posts: 3856
Location: Germany
@DyllonStej That person set the bounty in 2015, but apparently is still active on the forum today. At this point, since you messaged them and posted here, that's all you can do for now. Maybe the person forgot to look here or they didn't remember they set a bounty; it's been 6 years after all. Please remember, it is a "honor system". There are no legal grounds for getting the payment, just that it would be more or less shameful of that person not to do the payment.
Editor, Experienced Forum User, Published Author, Expert player (2315)
Joined: 5/15/2007
Posts: 3856
Location: Germany
I'm sorry I just disappeared for half a year without saying anything. Surely you are disappointed that I didn't help you out with your WIPs or with the overlay. I'm too burned out. There are countless projects that I had left over the years, abandoned, that I really wished I could finish but I never could. It pains me. Somehow after all these years of TASing and glitch hunting and documenting, it felt like I had to do a hard break. At this point I lost all fun and it felt like the "reward" for putting work in is not enough, or not worth my life time anymore. I have certainly hit a stage where I can say I have done what I could. And I have done a lot for this community.
Editor, Experienced Forum User, Published Author, Expert player (2315)
Joined: 5/15/2007
Posts: 3856
Location: Germany
Nice TAS. I didn't think it was possible to compile all those unlikely records into one movie. This is the pinnacle of quality of SSBM TASing. I especially appreciated you using the character music themes. When is Homerun Contest and Event Matches? :P
Editor, Experienced Forum User, Published Author, Expert player (2315)
Joined: 5/15/2007
Posts: 3856
Location: Germany
Editor, Experienced Forum User, Published Author, Expert player (2315)
Joined: 5/15/2007
Posts: 3856
Location: Germany
Editor, Experienced Forum User, Published Author, Expert player (2315)
Joined: 5/15/2007
Posts: 3856
Location: Germany
Since Bizhawk 2.3.2, my Mario & Luigi Superstar Saga luascript is malfunctioning when trying to open the "Savegames" display. I have trouble pinpointing the issue. I tried removing code but it always seems to log to console: NLua.Exceptions.LuaScriptException: 1 or NLua.Exceptions.LuaScriptException: 16 What does it mean? Also gui.DrawNew("emu") had to be replaced by gui.DrawFinish() in order for the script to continue working. But I don't see anything about it in the changelogs. Bizhawk 2.3.1 loads the script just fine, but 2.3.2 is where the problems occur.
Editor, Experienced Forum User, Published Author, Expert player (2315)
Joined: 5/15/2007
Posts: 3856
Location: Germany
Editor, Experienced Forum User, Published Author, Expert player (2315)
Joined: 5/15/2007
Posts: 3856
Location: Germany
This is for documentation. Useful if anyone or I wants to make a video fighting enemies in unusual places. I'm really only trying to improve upon that atlas script you gave me, though.
Editor, Experienced Forum User, Published Author, Expert player (2315)
Joined: 5/15/2007
Posts: 3856
Location: Germany
For future reference, a list of battle backgrounds by ID. When entering battle, $24BA (IWRAM) will tell which background to use and $4204 (IWRAM) and $654E (IWRAM) will be set to the same value subsequently. You can poke a different value to $24BA to get a different background. Also see here. 0 - Test (unused) 1 - Peach Castle 2 - On Koopa Cruiser 3 - Stardust Fields 4 - Hoohoo Mountain 5 - Hoohoo Mountain Top 6 - Beanbean Outskirts cave 7 - Inside Koopa Cruiser 8 - Beanbean Outskirts (same as 11) 9 - Beanbean Outskirts South 10 - Beanbean Beach 11 - Beanbean Outskirts (same as 8) 12 - Beanbean Castle Sewers 13 - Beanbean International Airport 14 - Chateau de Chucklehuck 15 - Chucklehuck Woods 16 - Chucklehuck Woods South (Towards Snail Game) 17 - Chuckolator room 18 - Gwarhar Lagoons 19 - Seabed 20 - Woohoo Hooniversity 21 - Woohoo Hooniversity Library 22 - Woohoo Hooniversity Green Floor 23 - Woohoo Hooniversity Cackletta room 24 - Woohoo Hooniversity Purple Floor with stars (unused) 25 - Woohoo Hooniversity Basement 26 - Beanbean Castle 27 - Teehee Valley Underground 28 - Guffawha Ruins 29 - Teehee Valley 30 - Oho Oasis Fire Temple 31 - Oho Oasis Thunder Temple 32 - Joke's End Inside 33 - Joke's End Outside 34 - Woohoo Hooniversity Barrel Section 35 - Bowser's Castle 36 - Bowser's Castle Lava 37 - vs. Final Cackletta 38 - vs. Final Fawful 39 - vs. Bowletta 40 - (crash) 41 ...