FAQ: Difference between revisions

From Ukikipedia
Jump to navigation Jump to search
(→‎How many A presses are left?: Fixed ridiculous mistake)
(Put mupen-related questions in new category, improve wording, add new info)
 
(74 intermediate revisions by 21 users not shown)
Line 1: Line 1:
'''FAQ (Frequently Asked Questions)'''
'''FAQ (Frequently Asked Questions)'''
==How do I TAS?==
==How do I TAS?==
[https://www.youtube.com/watch?v=GVQW_GuOKQg Basic Mupen64 TAS Tutorial]
==What is STROOP?==
{{main|STROOP}}
STROOP ('''S'''uperMario64 '''T'''echnical '''R'''untime '''O'''bserver and '''O'''bject '''P'''rocessor) is a diagnostic tool for Super Mario 64 which displays and allows for simple editing of various game values and information. It can connect to a running emulator and update values in real time. Some core features include views of loaded/unloaded objects, Mario structure variables, camera + HUD values, an overhead map display, and many more.
==What is Mupen?==
{{main|Mupen64}}
Mupen64 (Mupen for short) is an N64 emulator. A variant of Mupen64, Mupen64-rr, is most commonly used for TASing Super Mario 64. This is what most people in the TAS community mean when they say "Mupen". There is also an emulator known as Mupen64Plus, which does not have TASing capabilities, but is commonly used for [[RTA]].
==Why Mupen over BizHawk?==
Most TASes of Super Mario 64 are done on [[Mupen64-rr]]. This is for one main reason: .m64 files can be played back on console, known as [[TASBot#Console Verification|Console Verification]], whereas bk2 files cannot, due to the way they handle input during lag frames. BizHawk polls inputs on lag frames, as opposed to Mupen64, which does not, and SM64 doesn't either. BK2 files (BizHawk movie files) can still be converted to m64 files, however, so some still use Bizhawk.
==Where can I get an SM64 ROM?==
A quick google search can help you with that. Unfortunately we cannot provide links here because of copyright.
==What different challenges are there?==
As of now, there are 13 challenges that have gained decent popularity, along with many minor ones. Some of the more well-known include:
*The [[UBER Challenge]]
*The [[Pacifist Challenge]]
*The [[A Button Challenge]]
*The [[B Button Challenge]]
*The [[Z Button Challenge]]
*The [[Coinless Challenge]]
*The [[Capless/Cannonless Challenge]]
*The [[CCC Challenge]]
*The [[ABZ Button Challenge]]
*The [[Low Doors Challenge]]
*The [[No Joystick Allowed Challenge]]
*The [[Floor is Lava Challenge]]
*The [[Same Input Challenge]]
See the [[Challenge]] and [[Other Single Button Challenges]] pages for further info on these and others.
==How many A presses are left?==
An any% run takes 0 A presses when performed on Wii VC. A 120 star run currently takes 13 A presses when performed on the original Japanese N64 version. Here's a table showing these counts on all game versions:
{| class="wikitable" style="text-align: center; width: 200px; height: 200px;"
|-
!
! [[Super Mario 64#Japanese|N64 JP (Original)]]
! [[Super Mario 64#English|N64 US]]
! [[Super Mario 64#PAL|N64 PAL]]
! [[Super Mario 64#Shindou|N64 JP (Shindou)]]
! [[Super Mario 64#iQue_.28Chinese.29|iQue]]
! [[Super Mario 64#Japanese_2|Wii VC JP]]
! [[Super Mario 64#English_2|Wii VC US]]
! [[Super Mario 64#PAL_2|Wii VC PAL]]
! [[Super Mario 64#Japanese_3|Wii U VC JP]]
! [[Super Mario 64#English_3|Wii U VC US]]
! [[Super Mario 64#PAL_3|Wii U VC PAL]]
! [[Super_Mario_64#64DD_Version|64DD Version]]
|-
! Any%
| 1 || 1 || 1 || 1 || 1 || 0 || 0 || 0 || 1 || 1 || 1 || 1
|-
! 120 Star
| 13 || 16 || 16 || 17 || 17 || 16 || 15 || 15 || 17 || 16 || 16 || Impossible
|}
==Is a 70 Star 0 A press run being developed?==
Yes; though it is not yet confirmed to be possible, the run is being TASed until [[BitFS]]. This is because we have a good blueprint for how to do BitFS on the N64. There is currently no plan to make a 70 star no A press run on [[Wii VC]] because [[console Verification|verifying these runs]] is difficult.
==What's the next A press save going to be?==
Currently, the next A press in line to be saved is Bowser in the Fire Sea on the N64, which would bring the A press count from 13 to 12, using [[Bully Battery]] and a [[Squish Cancel]] combined together.
==How are you decompiling the game?==
After we discovered the compiler that Nintendo used for Super Mario 64, we obtained the raw assembly from the ROM, and reverse engineered C code that compiles into it. This was a long and tedious process, but after a couple years, the game has been fully decompiled.
==Why does Mario lose his hat when he dies from going out-of-bounds (OoB)?==
Mario's default state is, surprisingly, with no hat on, and on each frame it checks whether he's wearing the hat and sets the proper graphics flag. However, when Mario goes OoB, a large portion of the central Mario code stops running, including that check. Hence, Mario doesn't actually lose his hat; he just forgets he's wearing it.
==I just got through the 8 Star Door to Bowser 1 by grabbing onto it with a ledge grab! Is this useful?==
No. Clipping through the door with a ledge grab is a side effect of the patch in the SM64 Editor program that "improves collision". It is not actually possible in the original game.
==Mario's animation doesn't update when you dive recover against a wall. Is this useful?==
No. It is a purely visual glitch and has no effect on gameplay.
==I was doing a BLJ on the endless stairs and warped straight to Wet-Dry World. Is this new?==
No. You clipped through the wall and went above the painting. The game checks whether or not you entered paintings by checking whether or not you are above floor triangles behind them, even when you are really high up.


[[TAS]] (otherwise known as Tool Assisted Speedrun or Superplay) is most commonly done with frame-perfect inputs and a number of glitches that the developers never knew existed. While regularly playing the game, you get to experience the whole environment they dedicated a long time developing on. While speedrunning a game, you make up your own rules and try to beat the game as quickly as possible. A TAS in it's typical natural is a special category where you once again appose a new set of rules on your game of choice, but instead of looking what is humanly possible, displays of what the run would look like if a human can be 100% accurate with their input on the controller on every single frame. To make a TAS, you need 3 features on an emulator: Save-States, Slow-down, Frame Advance. These are most common features used to make a TAS video. TASing doesn't require 5 minutes of work, it requires more than 2 hours to make up a run, and a single TAS that last 2 minutes could take weeks to optimize and make the run look perfect. In order to TAS, you would need an emulator, most people use [[Mupen64|mupen64-rr]]. The other emulator you can use is [[Emulators|Bizhawk]] but Bizhawk has inaccurate emulation, Mupen64 is more preferred than Bizhawk. There's also Memory Watch, which is optionally used to optimize frame perfect inputs. Most common is the mupen64-rr Memory Watch, or [[STROOP]].
== Mupen ==
 
===Why Mupen over Bizhawk?===
 
Mupen64 is more better than Bizhawk because Mupen64 is much more better in terms of emulation and is simple to use. Bizhawk does have multi-console emulation, but if you make a Bizhawk recording and try to play it back on mupen, it will not work. TASVideos in 2016 announced that they will reject any TASes that have been recorded via mupen64, which means any TAS video that has been made with Mupen, will be rejected.
 
===What is STROOP?===
 
[[STROOP]] ('''S'''uperMario64 '''T'''echnical '''R'''untime '''O'''bserver and '''O'''bject '''P'''rocessor) is a diagnostic tool for Super Mario 64 which displays and allows for simple editing of various game values and information. It can connect to a running emulator and update values in real time. Some core features include views of loaded/unloaded objects, Mario structure variables, camera + HUD values, an overhead map display, and many more.
 
===What is Mupen?===
 
Mupen (otherwise known as mupen64) is an emulator used for n64 games and super mario 64. The emulator was first released as a public version in 2001-12-10, the emulator is able to do slow-downs, rerecords and savestates if using mupen64-rr.
 
The Current Version: 0.5.1 (for windows) 0.5 (for Linux)
The Current Version (rerecording): 0.5
 
===Where can I get a SM64 rom?===
 
You can get the SM64 rom from a quick google search, we cannot provide the links here because of copyright. We will not include any links (except screenshots) for any ROM hacks.
 
===Challenges?===
 
Ukikipedia made a page about [[Challenge|challenges]], which features restricting button presses, joystick movement, not using any cannons aswell as caps.
 
===How many Challenges do we have?===
 
As of right now, we currently have 11 challenges.
 
*[[UBER Challenge]]
*[[Pacifist Challenge]]
*[[A Button Challenge]]
*[[Coinless Challenge]]
*[[Capless/Cannonless Challenge]]
*[[CCC Challenge]]
*[[No Buttons Allowed Challenge|No Buttons Allowed/Buttonless Challenge]]
*[[ABZ Challenge]]
*[[Low Doors Challenge]]
*[[No Joystick Allowed Challenge]]
*[[The Floor is Lava Challenge]]
 
===How many A presses are left?===
 
0 A presses for any% with Virtual Console and 1 A press for any% WITHOUT WiiVC
23 A presses for 100% excluding WiiVC
 
===Is a 70 Star 0 A press run being developed?===
 
on the n64 side, yes. On the WiiVC side, no.
 
The WiiVC TAS is not being developed because we can't use a m64 file and execute it on the WiiVC because the movement gets desynced over time.
 
(needs correction lol)
 
===What's the next A press save going to be?===
 
We do not know. We are always attempting new ideas and new methods in order to make another save, but ultimately we are never absolutely certain that what we try out will achieve one. The current progress has been on Tick Tock Clock as of recent, which has managed to save 2 A presses.
 
===How are you decompiling the game?===
 
"It turned out that the reason we couldn't figure it out for so long was because the devs used the "-g" flag in the final version of the game
 
It's the same compiler for US, J, Shindou, PAL I think
 
The -g flag is for debugging
 
It basically disables a bunch of optimizations
 
You're not supposed to ship games with that kind of flag
 
Even Nintendo told developers to he careful not to


But they did. And that's really, really good for us since lack of optimization simplifies decompilation a ton
=== How do you continue off of a TAS you created earlier? ===


But they removed it in the Shindou version, which is why the game runs faster
# Play it to where you want to continue, then save a state.
# Disable read-only mode and reload the state.
# The file will now start recording inputs from that point, erasing any you had previously made after that point.


Once you have the decompiler, you just start writing C code based on the assembly code, which we've been doing for a long time. But then you have to make the code match, meaning it compiles into the same assembly code
=== Mupen is open, but the Mupen window disappeared and won’t come back, even when I restart. What do I do? ===
This is a glitch that occurs on old versions of Mupen when it is closed while minimized.


And that is sort of trial and error, but once you learn how the compiler works, it becomes pretty routine
To fix it, you must maximize the Mupen window and then drag down the top of the window, which will restore it to a normal window. To maximize the window without it actually being present, you can do one of the following:
* [Windows 7 Only] Open task manager, right click on the Mupen program, click maximize
* Right click on the Mupen icon in the task bar with shift held, click maximize
* Hover over the Mupen icon in the task bar, right click on the preview, click maximize
Deleting Mupen’s config file also works.


We get the assembly code from the rom
=== Recording an AVI on mupen produces a blackscreen with sound. What do I do? ===
This is a bug that occurs when you use the gl64 video plugin when aero is enabled on your computer. One fix is to use another video plugin, or to disable aero on your computer. The latter is only possible on Windows 7, but unfortunately not on later versions.


We used a hacking tool to help split it into assembly and assets, and to do some preprocessing on the assembly code
The same bug can manifest when capturing with the "Video" synchronization mode on new versions of Mupen.


Worth noting for anyone who doesn't know much coding, when the stuff is decomped it loses nearly all labels, comments, etc. So getting back the logic and formulas is only part of the battle, you still have to go through and make the code readable
=== Mupen's TAS Input Plugin window doesn't stay focused when clicking on the main emulator window. What do I do? ===
This is a bug that was introduced in Windows 10 Version 1809, but has been patched in the latest versions of TASInput.


- bad boot"
Some solutions have been provided using macros, but the easiest solution is to simply click on the joystick area and hold the click outside of the tas input window. When you release the click it should still follow the mouse. Then click on Mupen, and from now until you close the rom, it will behave normally.


(fix this aswell so it actually looks a bit nicer than it actually is lol)
[[Category:Help]]

Latest revision as of 13:59, 10 April 2024

FAQ (Frequently Asked Questions)

How do I TAS?

Basic Mupen64 TAS Tutorial

What is STROOP?

Main article: STROOP

STROOP (SuperMario64 Technical Runtime Observer and Object Processor) is a diagnostic tool for Super Mario 64 which displays and allows for simple editing of various game values and information. It can connect to a running emulator and update values in real time. Some core features include views of loaded/unloaded objects, Mario structure variables, camera + HUD values, an overhead map display, and many more.

What is Mupen?

Main article: Mupen64

Mupen64 (Mupen for short) is an N64 emulator. A variant of Mupen64, Mupen64-rr, is most commonly used for TASing Super Mario 64. This is what most people in the TAS community mean when they say "Mupen". There is also an emulator known as Mupen64Plus, which does not have TASing capabilities, but is commonly used for RTA.

Why Mupen over BizHawk?

Most TASes of Super Mario 64 are done on Mupen64-rr. This is for one main reason: .m64 files can be played back on console, known as Console Verification, whereas bk2 files cannot, due to the way they handle input during lag frames. BizHawk polls inputs on lag frames, as opposed to Mupen64, which does not, and SM64 doesn't either. BK2 files (BizHawk movie files) can still be converted to m64 files, however, so some still use Bizhawk.

Where can I get an SM64 ROM?

A quick google search can help you with that. Unfortunately we cannot provide links here because of copyright.

What different challenges are there?

As of now, there are 13 challenges that have gained decent popularity, along with many minor ones. Some of the more well-known include:

See the Challenge and Other Single Button Challenges pages for further info on these and others.

How many A presses are left?

An any% run takes 0 A presses when performed on Wii VC. A 120 star run currently takes 13 A presses when performed on the original Japanese N64 version. Here's a table showing these counts on all game versions:

N64 JP (Original) N64 US N64 PAL N64 JP (Shindou) iQue Wii VC JP Wii VC US Wii VC PAL Wii U VC JP Wii U VC US Wii U VC PAL 64DD Version
Any% 1 1 1 1 1 0 0 0 1 1 1 1
120 Star 13 16 16 17 17 16 15 15 17 16 16 Impossible

Is a 70 Star 0 A press run being developed?

Yes; though it is not yet confirmed to be possible, the run is being TASed until BitFS. This is because we have a good blueprint for how to do BitFS on the N64. There is currently no plan to make a 70 star no A press run on Wii VC because verifying these runs is difficult.

What's the next A press save going to be?

Currently, the next A press in line to be saved is Bowser in the Fire Sea on the N64, which would bring the A press count from 13 to 12, using Bully Battery and a Squish Cancel combined together.

How are you decompiling the game?

After we discovered the compiler that Nintendo used for Super Mario 64, we obtained the raw assembly from the ROM, and reverse engineered C code that compiles into it. This was a long and tedious process, but after a couple years, the game has been fully decompiled.

Why does Mario lose his hat when he dies from going out-of-bounds (OoB)?

Mario's default state is, surprisingly, with no hat on, and on each frame it checks whether he's wearing the hat and sets the proper graphics flag. However, when Mario goes OoB, a large portion of the central Mario code stops running, including that check. Hence, Mario doesn't actually lose his hat; he just forgets he's wearing it.

I just got through the 8 Star Door to Bowser 1 by grabbing onto it with a ledge grab! Is this useful?

No. Clipping through the door with a ledge grab is a side effect of the patch in the SM64 Editor program that "improves collision". It is not actually possible in the original game.

Mario's animation doesn't update when you dive recover against a wall. Is this useful?

No. It is a purely visual glitch and has no effect on gameplay.

I was doing a BLJ on the endless stairs and warped straight to Wet-Dry World. Is this new?

No. You clipped through the wall and went above the painting. The game checks whether or not you entered paintings by checking whether or not you are above floor triangles behind them, even when you are really high up.

Mupen

How do you continue off of a TAS you created earlier?

  1. Play it to where you want to continue, then save a state.
  2. Disable read-only mode and reload the state.
  3. The file will now start recording inputs from that point, erasing any you had previously made after that point.

Mupen is open, but the Mupen window disappeared and won’t come back, even when I restart. What do I do?

This is a glitch that occurs on old versions of Mupen when it is closed while minimized.

To fix it, you must maximize the Mupen window and then drag down the top of the window, which will restore it to a normal window. To maximize the window without it actually being present, you can do one of the following:

  • [Windows 7 Only] Open task manager, right click on the Mupen program, click maximize
  • Right click on the Mupen icon in the task bar with shift held, click maximize
  • Hover over the Mupen icon in the task bar, right click on the preview, click maximize

Deleting Mupen’s config file also works.

Recording an AVI on mupen produces a blackscreen with sound. What do I do?

This is a bug that occurs when you use the gl64 video plugin when aero is enabled on your computer. One fix is to use another video plugin, or to disable aero on your computer. The latter is only possible on Windows 7, but unfortunately not on later versions.

The same bug can manifest when capturing with the "Video" synchronization mode on new versions of Mupen.

Mupen's TAS Input Plugin window doesn't stay focused when clicking on the main emulator window. What do I do?

This is a bug that was introduced in Windows 10 Version 1809, but has been patched in the latest versions of TASInput.

Some solutions have been provided using macros, but the easiest solution is to simply click on the joystick area and hold the click outside of the tas input window. When you release the click it should still follow the mouse. Then click on Mupen, and from now until you close the rom, it will behave normally.