• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

Completed It's The Most Innovative Melee I've Seen In Years

SinsOfApathy

Smash Journeyman
Joined
Feb 24, 2015
Messages
474
NNID
Psion312
$SuperFox [SinsOfApathy]
C23762A0 00000019
9421FFE0 9301001C
92E10018 92C10014
92A10010 3EE08046
62F7B6CC 3F00003B
5718843E 82F70000
56F7843E 7C17C000
4182006C 3AE00000
3B000000 3EC08045
62D621F3 3AD60E90
8AB60000 7F18AA14
3AF70001 2C170004
4180FFEC 2C180000
4182003C 3F0080BD
6318A4A0 83180000
82D806BC 2C160000
40820024 83180008
2C180000 4082FFEC
3F008043 3EC0003D
62D6CC50 92D82A2C
48000014 3F008043
3EC0000A 62D64CB8
92D82A2C 8301001C
82E10018 82C10014
82A10010 38210020
38000001 00000000

@803762a0

stwu r1, -0x0020(r1)
stw r24, 0x001C(r1)
stw r23, 0x0018(r1)
stw r22, 0x0014(r1)
stw r21, 0x0010(r1)

lis r23, 0x8046
ori r23, r23, 0xB6CC
lis r24, 0x003B #Match Timer default before starting
srwi r24, r24, 16
lwz r23, 0(r23)
srwi r23, r23, 16
cmp 0, 0, r23, r24
beq Reset
li r23, 0
li r24, 0
lis r22, 0x8045
ori r22, r22, 0x21F3
CheckPlayers:
addi r22, r22, 0xE90
lbz r21, 0(r22)
add r24, r24, r21
addi r23, r23, 1
cmpwi r23, 4
blt CheckPlayers
cmpwi r24, 0 #Player Status, >= 0x02 = Ingame
beq Reset

lis r24, 0x80BD
ori r24, r24, 0xA4A0
lwz r24, 0(r24)
CheckInputs:
lwz r22, 0x6BC(r24) #Player Digitals
cmpwi r22, 0 #if (inputs != 0)
bne Reset
lwz r24, 0x08(r24) #Grab the next player's data pointer
cmpwi r24, 0 #If there's another player, loop back
bne CheckInputs

Run:
lis r24, 0x8043
lis r22, 0x003D
ori r22, r22, 0xCC50
stw r22, 0x2A2C(r24) #Store our 10FPS
b Exit

Reset:
lis r24, 0x8043 #Point to frame mod
lis r22, 0x000A
ori r22, r22, 0x4CB8
stw r22, 0x2A2C(r24) #Restore our 60FPS

Exit:
lwz r24, 0x1C(r1)
lwz r23, 0x18(r1)
lwz r22, 0x14(r1)
lwz r21, 0x10(r1)
addi r1, r1, 0x20
li r0, 1

It's SUPERHOT for Melee. Look it up.

Here's a video from my stream. It's not the latest iteration, so it suffers from bugs like how the match slows down during the 3 second start.

http://www.twitch.tv/psilupan/v/52140479

Info:
To change the timing, change the following lines based on the frame speed you want.
lis r22, 0x003D
ori r22, r22, 0xCC50

Base FPS for Melee is 0xA4CB8, so take that over to google and multiply it with "0xA4CB8 * n" where n is how much you're essentially dividing FPS by. So, my 0x003DCC50 seen above is 10FPS, since it's 0xA4CB8 * 6.

Stipulations:

  • This code works with all possible players (up to the 6 supported by the game). CPUs are included, but their 1 frame inputs barely register enough to make a difference.
  • You need to have a Timer on. This will work in Classic mode for sure (and I assume Adventure).
  • I didn't test this with a real save file. Use at your own risk.
Feel free to make GIFs and post them to the thread. I'll put them in the OP.
 
Last edited:

tatatat0

Smash Journeyman
Joined
Jan 28, 2015
Messages
412
What exactly am I looking at? (no explanation in the post really, and I am super tired)
 

SinsOfApathy

Smash Journeyman
Joined
Feb 24, 2015
Messages
474
NNID
Psion312
What exactly am I looking at? (no explanation in the post really, and I am super tired)
A mod based around another game called Superhot where time moves if you move.

Needs a bit of tweaking to be accurate to the formula, like 1HP stamina mode and slow frame advance during no movement, but that was harder than anticipated.
 

Punkline

Dr. Frankenstack
Joined
May 15, 2015
Messages
423
A mod based around another game called Superhot where time moves if you move.

Needs a bit of tweaking to be accurate to the formula, like 1HP stamina mode and slow frame advance during no movement, but that was harder than anticipated.
This is a fun idea, lol. Have you considered messing with the game speed denominator to accomplish the slow?
 

SinsOfApathy

Smash Journeyman
Joined
Feb 24, 2015
Messages
474
NNID
Psion312
This is a fun idea, lol. Have you considered messing with the game speed denominator to accomplish the slow?
Looking into it. Melee is really finicky with this code, because I have to rely on two different injections for it to work. And some of the logic really "just happened", like the Frame Advance before stopping. Replacing that with a modifier to Frame Speed just broke the **** out of it. So yeah.
 

SinsOfApathy

Smash Journeyman
Joined
Feb 24, 2015
Messages
474
NNID
Psion312
Actually, no wait, I did it and fixed the logic a bit. OP is updated with the new code. I did 60 FPS / 6, which so it runs at 10FPS during P1 no input.
 

Punkline

Dr. Frankenstack
Joined
May 15, 2015
Messages
423
Giving it a test right now, it looks to work nicely! Fun too, lol.
 

SinsOfApathy

Smash Journeyman
Joined
Feb 24, 2015
Messages
474
NNID
Psion312
Giving it a test right now, it looks to work nicely! Fun too, lol.
Thanks.

I'll probably work on P2-P4 sometime soon. Now that I mostly understand some of the black magic I did, it'll be easier for me to expand on it. Plus, I'd originally written the code with other players in mind, but I figured someone always has an input pressed between 2 or more people. Probably need to see how that works out in practice.

Edit: Fixed a major bug and updated OP, so that should make the transition to multiple players a lot easier. Also, made a change so it no longer does the 30 frame diff. While that's closer to how SUPERHOT plays, it felt a bit janky. I may bring it back slightly modified to tune it up.

Edit 2: Just updated the video to the latest version, since it's easier to tell what's happening.
 
Last edited:

SinsOfApathy

Smash Journeyman
Joined
Feb 24, 2015
Messages
474
NNID
Psion312
Cut the code pretty much in half and added multiplayer support, folks. Whoop whoop.
 

pkfweeze

Smash Rookie
Joined
Jul 27, 2014
Messages
3
NNID
pkfweeze
3DS FC
4038-6926-5733
This looks cool, hope to try this out :)

(I originally said you should include a gameplay video, but I was a dingus and didn't click the spoiler box)
 
Last edited:

SinsOfApathy

Smash Journeyman
Joined
Feb 24, 2015
Messages
474
NNID
Psion312
Thanks, and yeah, I'll likely update the video soonish so that it reflects the new version.

One known issue right now is that Zelda/Sheik can break it if you switch back and forth a few times. It'll usually fix itself once you switch again. I'll probably look into it, since I'm certain of the cause, but it's a low-end priority.

If anyone has any other issues or suggestions, let me know. I may make the frame speed incremental to help ease into it and out of it to be more similar to the game. We'll see.
 

dreamhouse

Smash Cadet
Joined
Apr 25, 2015
Messages
27
Location
West Tennessee
This might be a bit off topic, but I was struck by how aesthetically pleasing the slowdown was...

would it be possible to write a similar code where instead of superhot style gameplay slowdown, it does slowdown when you get hit with a "ko" move. Like is there any sort of function in the game that knows when you are 100% dead?

It would be really cool if there was a code where every time you did a ken combo and daired someone offstage (and it was a guaranteed hitstun all the way into the blastzone combo) it'd slowdown to 10% (after hitlag is over otherwise sdi would be broken) or every time you kneed someone at kill percent.

I'm not sure if something like that would even be possible, but I bet it would look super cool and feel really satisfying.
 

tatatat0

Smash Journeyman
Joined
Jan 28, 2015
Messages
412
This might be a bit off topic, but I was struck by how aesthetically pleasing the slowdown was...

would it be possible to write a similar code where instead of superhot style gameplay slowdown, it does slowdown when you get hit with a "ko" move. Like is there any sort of function in the game that knows when you are 100% dead?

It would be really cool if there was a code where every time you did a ken combo and daired someone offstage (and it was a guaranteed hitstun all the way into the blastzone combo) it'd slowdown to 10% (after hitlag is over otherwise sdi would be broken) or every time you kneed someone at kill percent.

I'm not sure if something like that would even be possible, but I bet it would look super cool and feel really satisfying.
I think calculating when someone is going to die is very hard if not almost impossible. It being knockback based would be pretty neat though.
 

SinsOfApathy

Smash Journeyman
Joined
Feb 24, 2015
Messages
474
NNID
Psion312
This might be a bit off topic, but I was struck by how aesthetically pleasing the slowdown was...

would it be possible to write a similar code where instead of superhot style gameplay slowdown, it does slowdown when you get hit with a "ko" move. Like is there any sort of function in the game that knows when you are 100% dead?

It would be really cool if there was a code where every time you did a ken combo and daired someone offstage (and it was a guaranteed hitstun all the way into the blastzone combo) it'd slowdown to 10% (after hitlag is over otherwise sdi would be broken) or every time you kneed someone at kill percent.

I'm not sure if something like that would even be possible, but I bet it would look super cool and feel really satisfying.
I was looking at attack-induced velocity a minute ago to see what KO'd, and a KO on Mario at Yoshi's Island occurs at ~4.5 meleemeters/sec from the spawn platform above the top platform.

If I knew the formula (can probably derive it or hunt for it, but lazy AF), I could calculate based on the attack-induced velocity as to whether or not it'd pass the blast zone by checking the upper bit of the float for if it's negative or positive. Plus, I could factor in distance from blastzone as to whether or not it should even happen (like, would slowing down for a Fox Up-Air at max height and lowest % even be interesting?)
 
Last edited:

tatatat0

Smash Journeyman
Joined
Jan 28, 2015
Messages
412
I was looking at attack-induced velocity a minute ago to see what KO'd, and a KO on Mario at Yoshi's Island occurs at ~4.5 meleemeters/sec from the spawn platform above the top platform.

If I knew the formula (can probably derive it or hunt for it, but lazy AF), I could calculate based on the attack-induced velocity as to whether or not it'd pass the blast zone by checking the upper bit of the float for if it's negative or positive. Plus, I could factor in distance from blastzone as to whether or not it should even happen (like, would slowing down for a Fox Up-Air at max height and lowest % even be interesting?)
Ya, that is partly what I meant by it would be hard to do, but I also mean it could be very possible for the kill to be interrupted and for it to never happen. Like say mewtwo's shadow ball hits the opponent in a back-throw stopping the kill.
 

SinsOfApathy

Smash Journeyman
Joined
Feb 24, 2015
Messages
474
NNID
Psion312
Ya, that is partly what I meant by it would be hard to do, but I also mean it could be very possible for the kill to be interrupted and for it to never happen. Like say mewtwo's shadow ball hits the opponent in a back-throw stopping the kill.
I mean, that seems like just as much of a slow-mo moment to me for comedic value.

But honestly, I don't even know how well it works with multiple players, as far as play-ability goes. I never tested with more than two.
 

tatatat0

Smash Journeyman
Joined
Jan 28, 2015
Messages
412
I mean, that seems like just as much of a slow-mo moment to me for comedic value.

But honestly, I don't even know how well it works with multiple players, as far as play-ability goes. I never tested with more than two.
That would be possible with just two players. The shadow ball is soooooo slow. (mewtwo throws shadow ball, mewtwo back-throws into shadow-ball. rip mewtwo's dreams)
 
Last edited:
Top Bottom