Sangoku
Smash Master
I still think this deserves its own thread, so I'll make it and move the conversations here.
First a bit of history for newcomers/those who didn't follow and want to catch up on what happened.
What is Framedisplay?
It all started with this video on hijiki422's channel. It is basically a program that allows you to view each character's attacks frame by frame with the hitboxes superimposed (in a continuous fashion from all hitbox to all normal).
You can download it here (thanks to Madao).
Obviously, all credits go to the original developpers of this program (hijiki soft).
The problem
As it was made by Japanese players, it only concerns the Japanese version of SSB64. We dreamt about an American version, but at the time nobody in our community had the necessary knowledge to 1) freely switch between hitbox mode and normal mode and 2) to use it in an emulator that would let us play it frame by frame (such as mupen). All we had was savestates of hitbox mode found by accident by malva00 (not sure on this one) for each character in Mario's break the target stage and with some
moves crashing. And the worst of it: those savestates were only for Project 64 (ie, no frame by frame)
The savior
Madao recently joined the boards and figured out (among lots of other things) how to switch to hitbox mode in a simple way in Mupen and Nemu. This then meant we could finally (in theory) make the Framedisplay for the American version of smash 64!
The project
Unfortunately, all this being a tedious process, nobody else has shown interest in recording the frames until lately. But now mixa and I have decided to help. Anyone else who wants to join can too!
What to do
We have organized things in a sequence:
This is a summary of our discussion on ways to do it in an efficient way.
1) Determine the character you want to record (check out who has been done so far first).
2) Count the duration of all the attacks beforehand. This can be a bit tricky because of the frame delay, so here's the standardized way to do it (assuming you do that manually): pause the game, input your move and start counting every frame advance. From the frozen position advance of N frames. On this frame, you input C (jump button) and two frames later, the character starts jumping. The final result is therefore N (assuming N is the smallest number at which the character will jump if C is input). In other words:
frame 0: pause the game, input your move
frame 1: start counting
frame 2: the move is starting (but your count is already at 2)
frame 3
...
frame N: input jump
frame N+1: nothing happens
frame N+2: character starts jumping
-> The number of frames for this move is N (again, assuming the character wouldn't jump at N+1 if jump is input at N-1). Hope that's clear enough.
3) Define the recording method you want to use. I will describe the Mupen's screenshots one, since it's the one I use. But there are three methods so far: Fraps (small size but not best quality), Mupen (medium quality images, but bigger file size), and printscreen (size depends on your compression settings, but the quality is generally better and the main issue I have is the slower loading speed).
4) Get into training mode 1P in mupen (you can download it here) and switch to hitbox mode. Use this table (thanks to Madao). Alternatively, mixa made a more condensed table (thanks to him). Download Cheatengine if you don't have it already. Freeze these variables at these values:
0:
Bottom BG Part 2
Bottom Flower Disabler
Bottom Flowers
Bottom Part of BG
Dream Land Pool #2
DreamLand Pool #1
Hide Platform (2 = Hidden)
Left Fence
Lower Part of BG
Middle BG
P1 Shadow Radius
P2 Shadow Radius
Player 2 Camera Zoom
Remove Bottom BG
Right Fence
Top Flower Disabler
Top Flowers
Tree Eye Disabler
Tree Mouth
Tree Mouth Disabler
Tree eyes
Number ending by either 0 or 8 (you'll have to try several, 40 worked for me, F0 worked for mixa):
Invisibility Glitch
5555:
Dream Land Wind
-10:
Player 1 Camera Zoom
1:
Player 1 HUD
Player 1 Icon over Head
Player 1 Stock Icon
Player 2 HUD
Player 2 Icon over Head
Player 2 Stock Icon
Training Mode HUD #1 to 6
8/0 (8 means hitbox mode, 0 means normal mode):
Player 1 HitBox Code
You can then savestate so you don't need to manually re-enter these settings later on.
Mixa also made a video guide for this process (thanks to him). And its explanation:
In the beginning, clicking on the little computer button in the Cheat Engine window and selecting Mupen (00001A04-mupen64-rerecording.exe, or something similar) is how you connect the game to the cheat engine.
When I selected an address, I pressed Enter to modify the Value.
Near the end I froze 4 addresses, (put red Xs on the boxes), for that I pressed Spacebar.
For the blue and pink sections:
Right-click the first address, hold shift, right-click the last address of that same color, press enter, type in the number, press enter again.
For the invincibility glitch, I put F0. That doesn't always work. You have to guess numbers (10, 20, 30, etc).
5) Run the recording script after adjusting the number of frames for your current move (x=#) computed in 2). Here's the script (thanks to Madao). Download autohotkey if you don't have it already:
SetKeyDelay, -1, -1
SetMouseDelay, -1
SetDefaultMouseSpeed, 0
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
x = 12
k::
{
Loop, %x%
{
Send,{F12}
sleep,85
Send,\
sleep,85
}
}
return
m::reload
Adjust from the "Send, \" line the key you use to advance of one frame (replace the \ by that key).
6) Input the attack and advance of 2 frames (without launching the record key!) so that the attack is on its first frame.
7) Press the recording key ("k" if you didn't change it from the above script), all frames will be recorded in ~\mupen\ScreenShots.
8) Rename all the screenshots using a multiple file renamer (I personally use bulk rename utility). The non-hitbox images are to be renamed by numerical order (1, 2, 3, ...) and the hitbox images with a b prefix (b1, b2, b3, ...).
How to use Bulk rename utility
Select the right folder, select all files, choose a high number into "remove", add a "b" prefix if you're doing the hitbox images, choose a suffix numbering and click on "rename". You can make a script to automate these mouse clicks to one key!
9) Replace the images in the corresponding folder in the Japanese Framedisplay folder.
10) Change the names in the state file into English names of attacks and add moves and folder for new moves.
Here's mixa's (thanks to him) illustrated guide!
11) Zip the character folder and upload it somewhere, then link it here.
If someone doesn't want to do all that but still wants to help, counting the frames would already be of great help (be sure of your numbers though).
Characters
Finished !:
Yoshi: by Sangoku
Kirby: by Sangoku
Samus: by mixa
Pikachu: by Sangoku
Jigglypuff: by Sangoku
Donkey Kong: by Sangoku
Mario: by Sangoku
Link: by Sangoku
Luigi: by Sangoku
Fox: by Madao
Ness: by mixa
Captain Falcon: by Madao
Miscellanea: by mixa
Frame counting:
I will keep the frame counting done in this document. That way people know what's missing and if anyone wants to help with a few moves, it's easier to see what we need.
Other things
Let's throw here the suggestions made and other things that still need to be done:
-adding the percentage of each attack in the data.txt.
-finding better camera settings for Mario Up B.
-potentially switching from the initial Japanese program to the HTML and Java alternative.
Contributors
Main contributor, the project would never have been possible without him:
-Madao
By making the original program, which we're using as well as the basis:
-Hijiki and whoever was on this project with him.
Other contributors:
-mixa
-MCG
-Sangoku
This thread looks a bit messy because I moved posts in here.
First a bit of history for newcomers/those who didn't follow and want to catch up on what happened.
What is Framedisplay?
It all started with this video on hijiki422's channel. It is basically a program that allows you to view each character's attacks frame by frame with the hitboxes superimposed (in a continuous fashion from all hitbox to all normal).
You can download it here (thanks to Madao).
Obviously, all credits go to the original developpers of this program (hijiki soft).
The problem
As it was made by Japanese players, it only concerns the Japanese version of SSB64. We dreamt about an American version, but at the time nobody in our community had the necessary knowledge to 1) freely switch between hitbox mode and normal mode and 2) to use it in an emulator that would let us play it frame by frame (such as mupen). All we had was savestates of hitbox mode found by accident by malva00 (not sure on this one) for each character in Mario's break the target stage and with some
moves crashing. And the worst of it: those savestates were only for Project 64 (ie, no frame by frame)
The savior
Madao recently joined the boards and figured out (among lots of other things) how to switch to hitbox mode in a simple way in Mupen and Nemu. This then meant we could finally (in theory) make the Framedisplay for the American version of smash 64!
The project
Unfortunately, all this being a tedious process, nobody else has shown interest in recording the frames until lately. But now mixa and I have decided to help. Anyone else who wants to join can too!
What to do
We have organized things in a sequence:
This is a summary of our discussion on ways to do it in an efficient way.
1) Determine the character you want to record (check out who has been done so far first).
2) Count the duration of all the attacks beforehand. This can be a bit tricky because of the frame delay, so here's the standardized way to do it (assuming you do that manually): pause the game, input your move and start counting every frame advance. From the frozen position advance of N frames. On this frame, you input C (jump button) and two frames later, the character starts jumping. The final result is therefore N (assuming N is the smallest number at which the character will jump if C is input). In other words:
frame 0: pause the game, input your move
frame 1: start counting
frame 2: the move is starting (but your count is already at 2)
frame 3
...
frame N: input jump
frame N+1: nothing happens
frame N+2: character starts jumping
-> The number of frames for this move is N (again, assuming the character wouldn't jump at N+1 if jump is input at N-1). Hope that's clear enough.
3) Define the recording method you want to use. I will describe the Mupen's screenshots one, since it's the one I use. But there are three methods so far: Fraps (small size but not best quality), Mupen (medium quality images, but bigger file size), and printscreen (size depends on your compression settings, but the quality is generally better and the main issue I have is the slower loading speed).
4) Get into training mode 1P in mupen (you can download it here) and switch to hitbox mode. Use this table (thanks to Madao). Alternatively, mixa made a more condensed table (thanks to him). Download Cheatengine if you don't have it already. Freeze these variables at these values:
0:
Bottom BG Part 2
Bottom Flower Disabler
Bottom Flowers
Bottom Part of BG
Dream Land Pool #2
DreamLand Pool #1
Hide Platform (2 = Hidden)
Left Fence
Lower Part of BG
Middle BG
P1 Shadow Radius
P2 Shadow Radius
Player 2 Camera Zoom
Remove Bottom BG
Right Fence
Top Flower Disabler
Top Flowers
Tree Eye Disabler
Tree Mouth
Tree Mouth Disabler
Tree eyes
Number ending by either 0 or 8 (you'll have to try several, 40 worked for me, F0 worked for mixa):
Invisibility Glitch
5555:
Dream Land Wind
-10:
Player 1 Camera Zoom
1:
Player 1 HUD
Player 1 Icon over Head
Player 1 Stock Icon
Player 2 HUD
Player 2 Icon over Head
Player 2 Stock Icon
Training Mode HUD #1 to 6
8/0 (8 means hitbox mode, 0 means normal mode):
Player 1 HitBox Code
You can then savestate so you don't need to manually re-enter these settings later on.
Mixa also made a video guide for this process (thanks to him). And its explanation:
In the beginning, clicking on the little computer button in the Cheat Engine window and selecting Mupen (00001A04-mupen64-rerecording.exe, or something similar) is how you connect the game to the cheat engine.
When I selected an address, I pressed Enter to modify the Value.
Near the end I froze 4 addresses, (put red Xs on the boxes), for that I pressed Spacebar.
For the blue and pink sections:
Right-click the first address, hold shift, right-click the last address of that same color, press enter, type in the number, press enter again.
For the invincibility glitch, I put F0. That doesn't always work. You have to guess numbers (10, 20, 30, etc).
5) Run the recording script after adjusting the number of frames for your current move (x=#) computed in 2). Here's the script (thanks to Madao). Download autohotkey if you don't have it already:
SetKeyDelay, -1, -1
SetMouseDelay, -1
SetDefaultMouseSpeed, 0
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
x = 12
k::
{
Loop, %x%
{
Send,{F12}
sleep,85
Send,\
sleep,85
}
}
return
m::reload
Adjust from the "Send, \" line the key you use to advance of one frame (replace the \ by that key).
6) Input the attack and advance of 2 frames (without launching the record key!) so that the attack is on its first frame.
7) Press the recording key ("k" if you didn't change it from the above script), all frames will be recorded in ~\mupen\ScreenShots.
8) Rename all the screenshots using a multiple file renamer (I personally use bulk rename utility). The non-hitbox images are to be renamed by numerical order (1, 2, 3, ...) and the hitbox images with a b prefix (b1, b2, b3, ...).
How to use Bulk rename utility
Select the right folder, select all files, choose a high number into "remove", add a "b" prefix if you're doing the hitbox images, choose a suffix numbering and click on "rename". You can make a script to automate these mouse clicks to one key!
9) Replace the images in the corresponding folder in the Japanese Framedisplay folder.
10) Change the names in the state file into English names of attacks and add moves and folder for new moves.
Here's mixa's (thanks to him) illustrated guide!
11) Zip the character folder and upload it somewhere, then link it here.
If someone doesn't want to do all that but still wants to help, counting the frames would already be of great help (be sure of your numbers though).
Characters
Finished !:
Yoshi: by Sangoku
Kirby: by Sangoku
Samus: by mixa
Pikachu: by Sangoku
Jigglypuff: by Sangoku
Donkey Kong: by Sangoku
Mario: by Sangoku
Link: by Sangoku
Luigi: by Sangoku
Fox: by Madao
Ness: by mixa
Captain Falcon: by Madao
Miscellanea: by mixa
Frame counting:
I will keep the frame counting done in this document. That way people know what's missing and if anyone wants to help with a few moves, it's easier to see what we need.
Other things
Let's throw here the suggestions made and other things that still need to be done:
-adding the percentage of each attack in the data.txt.
-finding better camera settings for Mario Up B.
-potentially switching from the initial Japanese program to the HTML and Java alternative.
Contributors
Main contributor, the project would never have been possible without him:
-Madao
By making the original program, which we're using as well as the basis:
-Hijiki and whoever was on this project with him.
Other contributors:
-mixa
-MCG
-Sangoku
This thread looks a bit messy because I moved posts in here.
Last edited: