Misc.
MvC2 Blog
(Newest Entry: #133)
I started a blog in the MvC2 Discord server about various Marvel-related topics, and I wanted to cross-post it here. The blog is not really date-driven as it is just information pertaining to the game in some way (the bottom-most entry will be the newest).
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43A,
43B,
44,
45,
46A,
46B,
46C,
46D,
46E,
46F,
46G,
46H,
46I,
46J,
46K,
46L,
46M,
46N,
46O,
46P,
46Q,
47,
48,
49A,
49B,
50,
51,
52,
53,
54A,
54B,
55,
56,
57A,
57B,
57C,
57D,
57E,
57F,
57G,
57H,
57I,
57J,
57K,
57L,
57M,
57N,
57O,
57P,
57Q,
57R,
57S,
57T,
57U,
57V,
57W,
58,
59,
60A,
60B,
60C,
60D,
60E,
61A,
61B,
62,
63,
64A,
64B,
64C,
65,
66,
67,
68,
69,
70,
71,
72,
73A,
73B,
74,
75,
76A,
76B,
77,
78,
79,
80,
81,
82,
83,
84,
85,
86,
87,
88,
89,
90,
91,
92,
93,
94,
95,
96,
97,
98A,
98B,
99,
100A,
100B,
100C,
100D,
100E,
101,
102A,
102B,
103A,
103B,
104,
105,
106,
107A,
107B,
108,
109,
110,
111A,
111B,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
123,
124,
125,
126,
127,
128,
129,
130,
131,
132,
133,
MvC2 Clips 1: https://www.youtube.com/playlist?list=PLBeCkTheRU1KDA6h5paaDqHWdsooy4YSk
PCSX2 Hacking & Meta Content: https://www.youtube.com/playlist?list=PLBeCkTheRU1IlvRmIdTLgvcEG85wRVne9
Old Stuff: https://www.youtube.com/playlist?list=PLBeCkTheRU1JG90hFI79rcwWfvCBbPMVe
1)
https://youtu.be/A0WQsk9koA4
This is an infinite I found a bit after the Dhalsim Revisited video came out. I think it might be Dhalsim-only since his SJ.LK has a bit of stun to it, and he can SJC his medium attacks, which cause enough stun to follow up. Also, I think this might be crouching-character's only (or roll) since the SJ.LK has to hit while he's close to the ground. FS doesn't get set by the infinite because there's a ground attack 'interrupting' the air-hits. The same principle applies to the part after the launcher where Dhalsim's SJ.HK doesn't set flying screen.
2)
https://www.youtube.com/playlist?list=PLBeCkTheRU1KDA6h5paaDqHWdsooy4YSk
After I released Chaos Dimension in 2017, Joo asked me to test a bunch of ideas for him. Like during Joo's DVD, just testing stuff resulted in finding new things altogether. I believe I used most of them in the Dhalsim Revisited video, but I wanted to enumerate them (this is a playlist that contains all the tests and clips I am not going to use for a public-combo video.
3A)
The first one was extending the combo meter using 2 pieces of information from like 2003.
1) flying screen lasts 1 frame longer than the combo meter (https://youtu.be/PO-5nkvmZ8U?list=PLBeCkTheRU1KDA6h5paaDqHWdsooy4YSk&t=14)
2) the other being able to combo an air-throw after this particular type of air-stun: https://youtu.be/Rsn4DeL33fQ?list=PLBeCkTheRU1KDA6h5paaDqHWdsooy4YSk
3B)
Combining both ideas allows the combo to keep going while also breaking flying screen: https://youtu.be/ZPp2wjZe29U?list=PLBeCkTheRU1KDA6h5paaDqHWdsooy4YSk
The rules are -- the input for the special or super attack has to be finished on the same frame that flying screen expires. I used the idea quite a bit the Dhalsim combo vs Psylocke.
Tron's trap-gun is a really easy way to set it up, but any attack that causes that type of stun can be used: https://youtu.be/9rCBZweUL4c?list=PLBeCkTheRU1KDA6h5paaDqHWdsooy4YSk & https://youtu.be/YnaLFeKlETQ?list=PLBeCkTheRU1KDA6h5paaDqHWdsooy4YSk
4A)
This idea was something Joo wanted me to test. He was wondering whether or not Anakaris' NJ-kicks appeared independent of him. So he was wondering what would happen if Anakaris tech hits a throw really high in the air and then does a LK or HK. Since the characters are in NJ after a tech hit, his NJ kicks would come out:
https://youtu.be/c96XY9USqXY?list=PLBeCkTheRU1KDA6h5paaDqHWdsooy4YSk This shows the result -- Anakaris gets hit by colossus' super while being off-screen.
4B)
I did a few clips around that which will be in a combo video -- I was going to mention that his LK and HK have ridiculous priority, so it was kinda hard to do combos with it since they'd beat out whatever character was attacking him. Initially, he wanted to combo after colossus' super, but there wasn't a way to get the necessary height since he recovers so slowly after it connects.
5)
This clip used the aforementioned ideas in one: Anakaris' NJ lk/hk's which are coming from the ground, and the technique to keep the combo meter going. The bug that freezes Anakaris up there is a derivative of the 2character bug. By DHC'ing, the effect gets passed to the next character, but it freezes the other one.
So by using omega red's coil, it also ends up freezing the main character on the other team/side https://youtu.be/6NT6jq6QwUY?list=PLBeCkTheRU1KDA6h5paaDqHWdsooy4YSk
6A)
Another Anakaris-related idea was something that is actually universal to all characters, but is so minute, it never shows up in a match. I found it with doom in 2009, and used it for Variable Atmosphere 2.
This clip includes the set up, and it shows a unique combo using the idea: https://youtu.be/SXPCBFPdlps?list=PLBeCkTheRU1KDA6h5paaDqHWdsooy4YSk It's a universal property to everyone in the game -- but most characters can't do anything with it. The setup is having the opponent block the other's attack close to the ground.
6B)
There are ton of rules and conditions to this effect. We don't have a name for it, but the condition forces the active character to land on the ground sooner than normal.
There's a rule in MvC2 that if your character's sprite is too big to fully be drawn close to the ground, the game will just put them in standing position. This happens when a Hyper-Grav hits storm while she's doing a lightning attack close to the ground. The game won't draw her inside the Hyper-Grav that low to the ground, so she just gets put into standing-mode. https://youtu.be/tALlw73smPE?list=PLBeCkTheRU1KDA6h5paaDqHWdsooy4YSk&t=8
In this case, doom's HK causes the game to place him in standing position right away. Normally this doesn't happen because the threshold of how low to the ground you can be is higher up. but the condition changes the threshold, so the game will force the character to land.
This works with Anakaris' 2HK/LK attacks -- another condition of this thing is that it breaks whenever the main character hits the dummy. However, it doesn't break if the main character hits an assist character: https://youtu.be/aJdHepAnM3w?list=PLBeCkTheRU1KDA6h5paaDqHWdsooy4YSk
6C)
It also goes away after the main character's attack string finishes on the point character -- if they don't super jump cancel. This is how doom is kinda special in this case -- he can SJC his 2.HK before it comes out, keeping the effect. Otherwise, it will end immediately: https://youtu.be/aJdHepAnM3w?list=PLBeCkTheRU1KDA6h5paaDqHWdsooy4YSk all these conditions and rules make it difficult to use for a video.
The simplest way to show is doing the Anakaris-doom stuff, or doing special combos on assists that would not be possible unless you could land faster.
7A)
In keeping with the same topic: there was something that Joo and I couldn't figure out. There is another rule/condition in marvel that changes the dummy's height. https://youtu.be/7HKZD3jWL7c?list=PLBeCkTheRU1KDA6h5paaDqHWdsooy4YSk This video shows that just-doing 2HK over and over against Servbot isn't possible unless a CR.LK is used after 5 loops
7B)
Joo suggested that maybe the game is changing Servbot's "point" every hit. The 'point' is something in fighting games that is kinda hard to explain. It's sort of the 'real position' of a character since their sprite changes too much. This point is kinda what allows triangle jumps to exist the way they do in marvel. Because strictly speaking, the point is underground in some cases, but the game still draws the sprite.
In other games, the character will not be able to attack super-low to the ground. Anyway in this case, Joo mentioned that maybe the game is lowering Servbot's point each rep -- until it is basically underground, and thus the 2HK hits as an OTG instead of a juggle. I don't know the answer for sure, but I agree with him on it. There might be other ways to test it with different attacks using SJCG like Ruby Heart's 2HK vs Servbot, over and over.
7C)
This 'point' stuff is also involved in the doom/Anakaris technique. Basically, the threshold for how low-to-the-ground the game will draw a character changes. I'm not entirely sure why it's programmatically designed that way, but it's the only pattern I could find.
Using Cheat Engine, I was able to figure all these rules out since there aren't any visible means of seeing anything. This is a clip idea I was originally wanting to use, but I couldn't find a way to make it interesting: https://youtu.be/Nu8OjQ8owLY?list=PLBeCkTheRU1KDA6h5paaDqHWdsooy4YSk
7D)
While doing the Dhalsim video, I was able to see a lot of how the 'insides' of MvC2 work, and thus kinda figure out the logic to the unseen rules in the game. That's where the point stuff became really glaring. there were multiple situations where the point is basically underground, and the Y-Position is a negative number -- even though it doesn't seem like it on-screen: https://youtu.be/em7R2fuzetg?t=426
In the Dhalsim video, his point value is actually negative during a portion of the first part of his combo that involves the reverse-gravity bug The Doom-Anakaris stuff is an easy-to-see example for it. I believe this theoretically allows for faster triangle jumps since the game is grounding the character sooner than normal. However, the only combo possibilities are on assists, which I usually avoid.
8)
Joo also asked me to test a clip idea I used in Chaos Dimension. https://youtu.be/DlJvIuWGxRM?list=PLBeCkTheRU1KDA6h5paaDqHWdsooy4YSk Iron Man's J 2HP and J N-HP have, I think, one more frame of stun than his 8HP, allowing the Smart Bombs to combo. I used that set up in the video, and he wanted to try to figure out a different set up for it.
I don't remember who it was at this point, but one of us decided to use the Anakaris NJ-kicks thing I mentioned earlier. Since Anakaris' can basically be on-screen at two places at once, Iron Man could hit Anakaris' foot using his 2HP.
9)
Another thing I was trying to figure out was how to break Flying Screen using 'Timed' supers like Hayato's level three: https://youtu.be/0H1x4upQhjI?list=PLBeCkTheRU1KDA6h5paaDqHWdsooy4YSk&t=9 The idea being that the super breaks flying screen on a certain frame that allows the character to follow up. Unfortunately, it didn't work with this one -- but I didn't test all of them.
10)
I found that it's possible to change the side projectiles come in by throwing the character 1 frame before the projectiles materialize on-screen. https://youtu.be/lt8_eQdTpn0?list=PLBeCkTheRU1KDA6h5paaDqHWdsooy4YSk this clip is hard to follow since the sprites look alike, but Tron is able to switch the position of commando's assist by throwing him. That allows her to counter into Cable and follow up.
I don't think I was able to use that for the Dhalsim video since it's situation-based. This is an example with Sentinel's drones being switched by Cable's throw: https://youtu.be/BoTX3ioXdlY?list=PLBeCkTheRU1KDA6h5paaDqHWdsooy4YSk This clip also shows that Sentinel can do 'Re-Unfly' where instead of reflying and attacking, each attack is in Unfly. The idea was found by ECZangief.
11)
This clip shows something that's really hard to notice, but has been in my combos since the Dhalsim video. https://youtu.be/H9e9pqQcuEY?list=PLBeCkTheRU1KDA6h5paaDqHWdsooy4YSk It's sort of in the orbit of positional-points again, where the game forces you out of the air. During the Dhalsim video, I found that by holding Down or left or right, you can get put into standing position and move sooner than usual.
In this clip, hit 13-to-14, and 25-to-26 use the technique to allow spiral extra time to land, dash, and super jump while keeping the combo going. In the Dhalsim video, I used it to combo like 4 SJ.LK's on Bison: https://youtu.be/em7R2fuzetg?t=1394
The properties to this technique are hard to describe without a visual aid. But Joo and I just started calling it "Special-Down", 'cause to do it, you just press down while doing an attack in the air, right before you land. For Dhalsim, he can land sooner after his ground-teleport by holding down. However, he can also stay longer in the air by hitting a button right after he recovers. This clip kinda shows how the reverse is possible as well. If Spiral tapped down at the beginning of the combo, she would have landed sooner https://youtu.be/-rJJ_voxdQ8?t=630
12A)
Another combo meter bug involves Hyper Armor. As I mentioned before, there is a special stun that allows the dummy to do an attack on the first frame, allowing the main character to continue their combo.
This is an example of it: https://www.youtube.com/watch?v=jYOXZRXwqlQ&list=PLBeCkTheRU1KDA6h5paaDqHWdsooy4YSk&index=41 This concept doesn't require the 'special stun' from Tron or Spiral's attacks. From what I can tell, it might work with regular stun, as long as the dummy attacks on the right frame.
12B)
This is another clip involving Silver Samurai. However, the main idea was showing the different type of results that would happen from interrupting SS' acclivity after the spiral throw. https://youtu.be/BiYo4yJRbC4?list=PLBeCkTheRU1KDA6h5paaDqHWdsooy4YSk It seems like it's a form of Stored Y-boost that gets added on to the predetermined height.
Thinking about it, it might be possible to use this method to keep the combo going using any type of stun, as long as the Hyper Armored character does their attack on the right frame.
13)
I also found that it's possible to Super Jump Cancel almost-any attack when it connects on a physical projectile. For instance, Storm and Magneto cannot normally SJC their medium attacks. However, when they are used to nullify Sentinel drones, they can be SJC'ed: https://youtu.be/tALlw73smPE?list=PLBeCkTheRU1KDA6h5paaDqHWdsooy4YSk&t=26
Again, this is something that was new, but difficult to use for a combo as I found that the one-attack cannot hit both a projectile and the dummy at the same time. For instance, I tried having Dhalsim's S.HP hit Felicia's yarn-ball & the dummy at the same time, but couldn't. Instead, I just showed the principle really quickly before the combo started: https://youtu.be/em7R2fuzetg?t=982
14A)
This idea was sorta-new. I found it in like 2015 while doing Chaos Dimension, but never really used it anywhere else. It's possible to wake up and press a neutral normal-attack/button on the very first frame your character is 'up', and have it go through attacks that are out for one frame, EX: Sentinel's 2HP: https://youtu.be/JFGyVCzkHUM?t=1061 In this case, Magneto presses LP on the very first frame he's up, and it prevents him from being hit by Sentinel's 2HP unblockable.
14B)
When Joo was asking me to test stuff, this ended up being part of the list of items: https://youtu.be/OSmdS9kQMXE?list=PLBeCkTheRU1KDA6h5paaDqHWdsooy4YSk
The idea here is that Cable gets up, presses a neutral button, then the input for his Psimitar ends the next frame. The input-sequence is something like: buffer in the dragon punch motion, then on the first frame of available-wakeup, press HK, then press LP/HP for the Psimitar. The result is any attack can be given 1f of invincibility which is otherwise unavailable.
The clip has a bunch of examples of characters pressing a neutral attack button on the first frame, and then doing something else like tagging. This works well against attacks that are only out for one frame after the character wakes up, otherwise they'll still be able to hit.
In another clip, I wanted to see if it was possible for Megaman to jab-out an extant attack since his jab has 1f of startup: https://youtu.be/DlpIFpaZwWc?list=PLBeCkTheRU1KDA6h5paaDqHWdsooy4YSk Similarly, holding up to normal jump can be used to get out of certain resets -- https://youtu.be/5Ykdlxy-6qE?list=PLBeCkTheRU1KDA6h5paaDqHWdsooy4YSk Here, Sentinel jumps up, then jump-cancels by taunting to stay grounded. This idea can also be used to get 1f invincibility on moves. For instance, Dhalsim can buffer his special-throw as part a sequence of inputs. Something like HCB, Up-for-1f on wakeup, Back+HP. This will give him invincibility for 1f, then his throw will connect.
15)
There is a way to trigger 'autoblock' -- like, the type of autoblock that the CPU does where it basically cheats. I made that video a long time ago for Joo, but I didn't do anything with it.
It shows Storm is able to block Sentinel's flying-HK while crouching; which is never possible otherwise It's a condition that gets triggered when the character SJ and blocks right away. This is done by pressing Down-back, and then up the next frame, or Back, then down, then up: https://youtu.be/-uzozEiJ4zk The window where 'autoblock' exists is only about 5 frames after landing. During those five frames, the character can literally hold forward into an attack and the game will autoguard it for them.
Moreover, during those five frames, it is not possible to attack. It's only possible to move in any 8 way direction or dash. Any individual attack buttons pressed will not be registered. I have a suspicion this active state is what allows the Morrigan-CPU to airdash and the block, creating a huge reverse-gravity effect: https://youtu.be/JFGyVCzkHUM?t=2411
16)
Around the time Super Jump Install was found, Joo had the idea to combine it with FS-Install to create a new setup for his Ryu FSD idea from the DVD: https://youtu.be/XJ2yWYhzY2I I don't want to post the clips that are going to be in a new combo video, but it's so setup-intensive, that there's no way to quickly present it: https://youtu.be/S0LTxU0HnP0
The setup begins with Ryu setting FS-Install by doing the launcher combo and tagging out. Then he Super-Jump Installs using a tag out into wolverine after doing his Hadouken. Usually when you tag in, the Fireballs on-screen do not set flying screen because the character is in Normal Jump Mode on the way in. However because of SJI, the fireball sets Flying Screen.
Then the tag hits, causing spin-out stun -- which is special with Omega Red as his sprite can be tripped mid-air during this stun. Only 3 characters are like this, Omega Red, Dhalsim and Chun-Li. So again, the positioning of the trip is important as Ryu cannot be too close or Flying-Screen Dash won't happen, and if he's too far, he won't be able to OTG afterwards. Joo ended up calling this "Super FSD" because of how complicated it ended up being in the end. It's admittedly hard to tell what's going on because it all happens in 3 hits.
17)
This Spiral-Only idea ended up going into the Dhalsim video, but I had created other examples with it: https://www.youtube.com/watch?v=ta18bK-6MiU I believe this set up is the fastest way to immediately-end an active attack without causing any hitstun. It's basically 1f in total, so the character begin doing their next attack before they get 'grabbed' by spiral.
With Flying Screen Install, it's possible to quickly set it, and have the extant projectiles cause the OTG stun required to follow up after Flying Screen deteriorates. I might use this idea in the video -- but slightly changed around. https://www.youtube.com/watch?v=9iR1doD1-l8 As I mentioned, strider is able to buffer in his 2nd QCF+KK to do a second legion right before Spiral hits since he instantly recovers.
18)
This idea is something I sorta-found in 2009, but wasn't able to expand on it much. https://www.youtube.com/watch?v=RpZRKsT4NUk Hyper Armor is really idiosyncratic, and I was trying to figure out what I could do with it for combos.
In this case, BBHood is one of the few characters who has a super that will 'break' hyper armor's regular rules and force the dummy into an OTG state. From there, the DHC is necessary to keep the effect. Akuma's 236PP super is unique because it hits as an OTG, which is necessary to keep the whole thing going. From there, the dummy is frozen.
On the Dreamcast version, it's possible to do a different type of follow-up like from Variable Atmosphere 2: https://youtu.be/9993gSuhyBA?t=298 On the PS2-version, it breaks the game and causes the emulator to crash if I attempt to do a snapback during that time. Anyway, the dummy is able to get hit like normal after the hyper armor wears off. In another case, Jadon Brown sorta-did a combo with this idea: https://youtu.be/IqLrWBbvjUw?t=77 Again, all this stuff crashes the PS2 emulator which can't handle snapbacks as OTGs vs Hyper Armor characters in this situation
19)
I wanted to provide some commentary on this one because I never did: https://youtu.be/rDTkcchfbPA
This is a simple example of how the frame skipping works in MvC2. Frame skipping is what marvel does to make turbo mode happen. If multiple consecutive 1-frame links occur, one input will always be dropped every 5th frame. So in this case, attacking on the very-first-frame of super jumping is an instance where the frame skipping affects the outcome. The first part, 2,888,lk (down for one frame, up for 3 frames, LK) is what the inputs are. What ends up happening is that the LK gets pressed on a frame that was skipped by the game.
The next one, n_1 (neutral for one frame before doing the inputs) is the 'cycle' that 'works'. I.E., if this pattern of frames was used in a combo, the SJ. LK would come out this way. Since it's really hard to plan a combo with all the skipped frames in mind, any issue has to be solved extemporaneously by basically inserting or removing a frame in the combo somehow. This can be done by extending a simple combo like LP --> MP for one frame, or by pausing the game which basically shifts the pattern.
20)
The end of this clip shows strider going from standing to SJ in one frame because of certain bugs being used: https://youtu.be/X0rCZe5mq2g?list=PLBeCkTheRU1KDA6h5paaDqHWdsooy4YSk&t=27 In this case, the Venom-Magneto bug puts strider in standing position for one frame, which allows him to call his assists -- then immediately puts him in super jump mode (which is why he can set flying screen during his falling animation).
21A)
The Dhalsim Revisited Video was so editing-focused, that I almost forgot about the combos' ideas altogether. I was thinking of mentioning some of the stuff that went into them.
01) Iron Man has a special air-hitbox that allows him to be hit low to the ground before he lands. In the first combo in the video, Dhalsim is able to do 5 S.HK's on him before he is out of range: https://youtu.be/em7R2fuzetg?t=145
02) This was the Spiral-only setup that I had mentioned before. Flying Screen Install was used to let Dhalsim's SJ.HK set flying screen immediately. This also showed something that Joo really liked, the combo idea of the Y-Boosted Unflying-Far-Medium-Kick --> Fly --> LK: https://youtu.be/em7R2fuzetg?t=225 This 2 hit combo was something he mentioned quite a bit -- I guess the lynchpin of his content was using systematically acquired data to maximize a character's limits in a combo. So this idea, while simple, presented the same ideation style.
Anyway, Dhalsim's fly/Unfly mode is sorta-broken as his LK/MK/HK in the air 'drain the Unfly meter' twice as fast -- that is, usually you get 14 instances of Unfly per-attack, but Dhalsim's kicks drain it twice as fast, so he can only do 7 instances of Unfly-kicks. This is why I went with infinite Unfly for all the combos; it would have stymied the potential of each combo.
21B)
03) The main idea of this one was exploiting the assist mechanic. Basically, if the assist character is not visible, they disappear in one frame after doing their taunt-pose: https://youtu.be/em7R2fuzetg?t=273 if the assist is visible however, they will go through their "jumping off the screen" animation -- thus taking longer to leave. I used the special-HUD to show that Spiral leaves right away, and thus she is able to be called again before her swords hit.
04) The main idea here was copying what Joo did in Meikyousisui10, but making the combo kinda different: https://youtu.be/em7R2fuzetg?t=361 The PCSX2 emulator's way of doing programmed content makes it much easier to do stuff compared to programmable controllers. So building off combos with elaborate set ups is much easier due to save states being able to reload any desired frame (vs doing the whole thing from the beginning each time with program pads)
At some point, I'll mention how the cheat engine cheat table worked -- it's what allowed this video to exist. It both allowed the MvC2-combo setups to exist, as well as export data for each combo so that it could be use to drive animations.
Anyway, Spider-Man's X-Position is what triggers the every-frame-side-switching effect that is the impetus of the combo.
05) I think Colossus being the dummy for this one made it feel like a Meikyousisui combo because the dummy was chosen to maximize the main-character's combo potential: https://youtu.be/em7R2fuzetg?t=429
Anyway, I used sorta-wanted to call-back to the aforementioned snippet about 'off-camera' assists leaving asap. In this case, I purposely moved the camera down to show Blackheart. In this case, his presence didn't affect the combo's outcome since Dhalsim was doing his Yoga Inferno super.
21C)
06) This uses the Hyper Armor keeping-the-combo-going mechanic. Joo and I never came up with names for the new stuff we found, so we just kinda used terse abbreviations for ideas since he and I knew what we were referring to: https://youtu.be/em7R2fuzetg?t=516
Anyway, this idea is predicated on Venom's super. There is a small gap from where his web hits, to when he attacks the dummy. During this time, Silver Samurai is able to input his special-attack (the Shiruken) -- it comes out after Venom DHCs -- but since it was done as soon as possible, it keeps the combo meter going.
The Tempest hits while Samurai is in recovery -- the rule here is that while the dummy is in his attack-animation, the other player's combo meter will keep running. This is why the Tempest and the subsequent tagin combo. I used the Pause-Technique to be able to Super Jump Cancel Dhalsim's S.HK.
It's hard to explain this without granular-visual aids, but the idea is the game doesn't let you attack before turning around. IF you do attack before the turning-around animation, the game will not let you Super Jump Cancel a move 'cause this invisible buffer that goes into the input leniency.
Anyway, this is why Pausing was used -- to shift the frame skipping to allow the window to SJC the S.HK In this case, this was necessary because if Dhalsim hadn't done the S.HK right away after tagging, it would not have hit
21D)
07) I mentioned this combo in the beginning of the 'blog'. The main idea is using the Special-Stun to keep the combo meter going: https://youtu.be/em7R2fuzetg?t=594
The way it works is, Psylocke can mash out of the Trap Gun -- but as long as she finishes her special or super-input at the very first frame of recovery, she will do her attack and keep the combo meter going. The other thing in this combo was showing that Dhalsim can change his state from Normal Jump to Super Jump after his air throw by holding down. This allows him to air throw Psylocke, then change his state to SJ so that the Yoga Fire will cause Flying Screen. This is unique to Dhalsim.
Also, hit # 19 to #21 were kinda special: https://youtu.be/em7R2fuzetg?t=614 . the Servbot-copter causes pushback in the 'opposite direction' because that's where tron is facing when it hits -- which allows her trap gun to hit.
This is going to sound weird, but I was kinda proud this worked out the way it did. Because it was the only way to keep the combo going to its sought-after conclusion, which was to tag Dhalsim in. Originally, I wanted to just-do the trap gun, without the Servbot-Copter; but after a while, I had the idea to use the Servbot-copter to allow the whole thing to work
Finally, the very end where Dhalsim combos his Yoga-Noogie on Psylocke was particularly special: Psylocke's super has 50/50 chance of being unblockable after she turns around: https://youtu.be/em7R2fuzetg?t=623 Half the time, her turn-around animation is 1f-less than normal. In this case, I used the Pause-Technique to give her 1 more frame of turn-around animation which is what allows Dhalsim to get into position to throw her. That is, if I had not used the Pause-Technique, she would have turned around too fast for Dhalsim to get into position to combo his command throw. I was surprised this thing was necessary, but it took a while to figure out how to do the inputs for the throw to combo in time.
21E)
08) This combo's idea was built around the side on which the main character was selected. The camera-effect that occurs after Charlie's airthrow is based on the p1/p2 selection: https://youtu.be/em7R2fuzetg?t=672 The camera will always track player-2. As a result, the combo used Dhalsim as player-2 so that it could focus on him, allowing his limbs to hit from places that they would normally not. The last few hits of the combo needed the Pause-Technique to allow the S.HP to be cancelled into the Yoga Inferno and have it combo. By pausing, Dhalsiim's super hits one frame sooner than usually, allow it to combo after the Standing HP.
21F)
09) This combo felt kinda vacuous in terms of ideas; I suppose it was predicated on style: https://youtu.be/em7R2fuzetg?t=831 I remember this was one of the last, if not the last combos I did -- I.e., I had run out of ideas to use for the video. So I used something that might be considered 'interesting' just because of the way it looks, vs. the technical prowess: https://youtu.be/em7R2fuzetg?t=757
By the time I had gotten to this part of the video, I was sorta-out-of ideas. I was thinking of doing camera-hacks just to show the stage in a different way. For instance, I could programmatically-hack the camera so that I could start the combo from a position much higher than normally possible. Anyway, I suppose the only technical thing is that one Dhalsim keeps juggernaut from going too far after flying screen is set by the other -- allowing for an OTG-follow-up after FSD. In cases like these, I wish I had found that aforementioned Dhalsim infinite vs a crouching character while doing this video. https://www.youtube.com/watch?v=A0WQsk9koA4
10A) this clip had some technical stuff, as well as meaningful-stylistic stuff. the first is the double-projectile thing that Izumojin found: https://youtu.be/em7R2fuzetg?t=833 . He found that by counter or switching in the character whose projectile was on screen, it would allow another projectile to be used. So Dhalsim was able to get 2 yoga fires on-screen at once by countering.
This whole setup leads to him using the Y-boost from activating flight mode to combo after the Yoga Fire hits. By doing flight mode while the yoga fire his hitting, the dummy will be sent up higher than usual. I guess the other thing worth mentioning is that Storm did not have Unfly. I.E., I did not use Cheat Engine to give her infinite Unfly, like I did with Dhalsim. In this case, her Unfly would have run out, and thus prevented her from attacking. This allowed Dhalsim to use her as a wall to keep the combo going.
21G)
10B) The next part is paying homage to Murakumo's Dhalsim videos: https://www.youtube.com/watch?v=clsg6it6QQc . He was the person who originally showed that infinite against Sentinel. I wanted to show it 'cause I thought it looked cool, and it was a way to express appreciation for his contributions as a Dhalsim-pioneer. Finally, the Flight Stuff: It's all based on the fact that Dhalsim's air-(close)-LK has more stun than other moves. As a result, Dhalsim is able to move under sentinel while he's doing his semi-infinite.
21H)
11) The combo where Dhalsim is tethered to Spider-Man was probably my favorite combo in the video https://youtu.be/em7R2fuzetg?t=923 It's so visually anomalous and hectic.
The rules for the tether are that it's fixed in length -- so Dhalsim will always be that distance away. If Dhalsim is doing ground attacks and spider-man jumps, Dhalsim will finish the attacks, and then immediately be in Super Jump mode. This is used with the Yoga Blast which is a ground-only move. Once it finishes, he's immediately able to do SJ-moves. Since the whole thing is an assist combo, flying screen can't be set.
The upside down part of the combo was surprising, I didn't think the hitboxes would work out so nicely due to the bug. Hit 56 was hard to get because Spider-Man's airdash had to be cancelled right away or Dhalsim would be dragged too far away to follow-up: https://youtu.be/em7R2fuzetg?t=939
21I)
11) From what I could tell, the hitboxes were flipped sideways. The pushback was still to the left since that is the direction Dhalsim was facing Spider-man's dashes let Dhalsim move through the impact-freeze/hitstop, allowing for weird combos.
21J) 12) This clip showed the mechanic I mentioned before of being able to super jump cancel any attack as long as it makes contact with a projectile. https://youtu.be/em7R2fuzetg?t=986
The dummy had to be Dhalsim (or Omega Red or Chun-Li) because they have a unique sprite during the Tag-in stun. They're able to be swept higher off the ground which was used to start the combo the majority of the combo was a difficult-to-program air to ground using his Unfly and flight stuff. Pausing was used to get stuff to work near the end: https://youtu.be/em7R2fuzetg?t=1004 pausing at this time meant that Dhalsim needed to recover, press PP to dash, then immediately press LK as a continuous one-frame series. So by pausing, all those 1f presses were allowed to register.
21K)
13 & 14) I wanted to cover the next two combos to just focus on the 2-Character bug properties. https://youtu.be/em7R2fuzetg?t=1094
In the combo vs Doom, Flying Screen can't be set on him while Anakaris is out, so the Dhalsim's able to continue his combo after the SJ.HKs and SJ-Yoga Fire. That 'timer' of ~14 minutes pertains to a value in an address that seems to control how long the character will take to come out after pressing the A1+A2 buttons to THC. When I searched for the address in memory, I figured it was an integer that was counting down or up to some point.
14) https://youtu.be/em7R2fuzetg?t=1215 So as mentioned in the video, another effect of the bug is that the dummy cannot attack like normal. Their attacks will only be read once every 255 frames. So in this case, Dhalsim wouldn't be able to get to the top of the screen on his own, which is why Storm was used to hit him up there. From there, the combo was kinda timed so that Dhalsim's air throw could register. The teleport was buffered in during his air throw so that it would come out as soon as possible. Which is another part of the bug, since that can't be done normally After Juggernaut's super ends, everything is back to normal
21L)
15) https://youtu.be/em7R2fuzetg?t=1273 the art in the background was made by Murakumo.
The 'bouncing' has rules depending on how low to the ground the character is. In this case, he's high enough to still do air attacks. It's possible to do the bug so the character is basically underground. In that case, they're only able to do standing attacks, only 'high-reaching' ones will connect since they would be underground. It's hard to explain the properties for attacking during this mode. The 'timer' is that animation at the beginning of the combo of Dhalsim being in the air and then on the ground. But there's ways around it by holding down or up during the combo.
Another wrinkle to this thing is that Dhalsim has far and close range attacks depending on the X-position. So since Dhalsim's X-POS is tethered to Venom, any variation in the far-close attacks came from War Machine's sprite/body being different while getting hit. That made the combo kinda challenging 'cause on top of figuring out how to get an air or ground attack, I had to wait on War Machine's body to switch sprites so I could do a close or far attack.
As I mentioned, I could get around the air/ground stuff by holding down or super jump canceling an attack -- however, I couldn't do his air drills or he'd get stuck until they finished. The other thing near the end after FSD was using his Yoga Blast in a special way. I've used it before, but the Yoga Blast is one of the attacks during which the opponent is able to greatly affect their x-position while being hit. So this combo setup was a good opportunity to use it since Dhalsim can't move left/right. War Machine basically keeps the combo going for Dhalsim by holding right towards him.
21M)
16) The Icefist combo was mostly done because I had figured out how to get the camera to follow the characters, no matter how high they went. At some point, I'll go into more detail on the cheat table I made over the years since it has a ton of stuff in it. Since I mostly made this for presentation, I wanted to include Dhalsim's wife's other color in this clip:
21N)
16A) Anyway, I had sorta done this set up in Variable Atmosphere 2, but without the ice-fist: https://youtu.be/9993gSuhyBA?t=220
I mentioned before that I used the "Special-Down" technique to land faster. Again, it's hard to explain without a video, but it can be thought of 'buffering' your super jump before you land, then pressing up immediately upon landing, and having it come out. It's a 1f sequence like other stuff, so the frame skipping can affect whether or not the super jump comes out on the first possible frame. Anyway, that's what was used to get Dhalsim to do 4 super jumping LKs on Bison: https://youtu.be/em7R2fuzetg?t=1395
I'll probably do some post or video with stuff on how I incorporated the Alpha-sprites into the video. Briefly: I removed the HUD, and the characters, and recorded the combo with just the hit-sparks. I then used a camera tracker in Adobe After Effects to map out "3D" positional information on which Dhalsim's wife "layer" was placed. Meaning the camera tracker provided fake 3D XYZ-points per-frame so it made it seem like she was in the game. As for the A3 sprites, this also involved removing both characters from a combo, leaving just the hit-sparks, and then tracing over some of the sprites frame-by-frame to include the Alpha-Yoga fire sprite.
21O)
16B) Like I mentioned, getting camera tracking info worked well if there were no sprites obscuring the background -- so I captured the combo without the sprites to help After Effects have track it successfully. So after that, it just creates Nodes on the layer that contain pre-programmed animation frames so as to seem inconspicuous -- I use those to attach the sprites on, and so it looks like the sprite 'belongs' in the clip.
21P)
17) The Abyss/Last Combo: https://youtu.be/em7R2fuzetg?t=1461 This was kinda came from the idea of having the presentation first, and then the combo second. In this case, I had found the cheat-engine address to, I guess, programmatically induce the stage collapse event in abyss' stage. They ended up being these integers that go from 0, 1, 2. By just typing in 1, the stage will go through its collapsing animation.
I remember that I spent a while throughout the entire process of making the video trying to find a way to programmatically cause the clock stage's clock tower to fall. However, I could never figure out how to do it.
Anyway like I mentioned before, I used After Effects' 3D Camera tracking to achieve various editing stuff. I mostly used it to paste text onto 3D items in the world. The Special-Thanks part in this with Jed Hudson's name involved using a shatter effect that I added to go with the stage collapsing.
Anyway, the process is the same, I recorded the combo without sprites, in this case Dhalsim jumped directly over the area I needed tracked. I believe I then just placed the sprites on top where they should be using the regular clip as a guide layer. I ended up ripping the PS2-sized Dhalsim sprites for the purpose of doing this stuff I'd capture them in game -- I'd use the RAM editor to create this environment, which included scaling Shuma-Gorath's size up so he could be used as a green screen for after effects color keying -- leaving a blank/transparent background
21Q)
17 I was going to mention before the combo starts -- changing the abyss stage broke the replay, so I had to set up a series of different save states, and load bits and pieces of the combo (and record them). I had used this idea in Variable Atmosphere 2: https://youtu.be/9993gSuhyBA?t=87, but it was not as elaborate. I remember I kept trying to do the FSD-idea in the DC version of the combo as well, but I could never get it. I think it might have been predicated on the size of the dummy on the ground. I.E., Colossus is too big for Dhalsim to go over and attack. Whereas Roll's smaller sprite lets Dhalsim dash over her in fewer frames, allowing him to OTG after FSD.
The FSD was the cue point I used to change the abyss stage from green to red. Again, it broke the rest of the file, so I had to keep chunking the save states and loading the combo that way. Anyway, cheat engine helped me embellish the combo-setup a lot more. I was able to show different air-to-grounds and basically have carte blanche to maximize a combo idea's potential. I ended up programming in for roll to die on the last hit of the yoga inferno since I knew this was going to be the last clip in the video
22)
VS-Style Videos:
Shenanigans++ Addendum: https://youtu.be/irHQYxzqlu4
MSP Neta: https://youtu.be/UC8kH6UR9yo
MSP Stuff 1: https://youtu.be/XppH6i-AKKU
MSP Stuff 2: https://youtu.be/tALlw73smPE
MSS Stuff: https://youtu.be/aGVlSZpK3ME
Magneto Scrap: https://youtu.be/kGQPNx9kY00
There's no singular video covering the MSP/MSS stuff, so I wanted to paste them as one post. Anyway just going from memory, most of that stuff is difficult to do manually, but not impossible. As far as concepts, there isn't anything special in the clips as they are sorta-kept to the confines of a regular match. So most of it is simple enough to follow or do manually.
23)
I wanted to mention some stuff Izumojin included in his videos: https://youtu.be/hs_qD0H0iAA This video shows a series of examples for keeping the dummy grounded after they get hit by an attack that would send them into the air. The grounded-attack has to hit right after so that the pushback-value can be 'changed'.
The other thing was this Sentinel combo from 2014: https://youtu.be/qW1WIuMdkj0 It's mainly an example of the air-to-standing thing, as well as some of the unique combo possibilities on Doom because of his hitbox. Doom is kinda heavy in the air, but it's possible to change sides on him since his air hitbox is wider than normal. Izumojin's combo gave me the idea to try this with Magneto: https://youtu.be/marFI2k9u14?t=2550 This clip shows Doom's heavy and wide enough that Magneto can follow-up after flight mode since Doom stays with Magneto while he's going into flight mode.
24)
This clip is kinda unique from an editing/meta standpoint: NullDC emulator lets you use 'extended geometry' to render as much of the screen as possible. So for Chaos Dimension, I set the emulator's width to 2616 to get a super-wide version of marvel. It was kind of like a 'practical effect' in the video. Furthermore, there was a special MvC2-ISO that my friend created that got rid of the HUD. He basically zeroed out the opacity for Abyss sprites, and then swapped them with Felicia's name. This way, by picking Felicia, the game loads Abyss' zeroed out files, and it causes the HUD to be removed.
Magneto_Extended_Geometry
25)
Izumojin made a Megaman combo that contains a unique use of the Two-Character bug: https://youtu.be/wGA3Ami7W1Q
Shuma-Gorath has the glitch on him -- so he can be called and treated like a point character. Anyway, the special part happens here: https://youtu.be/wGA3Ami7W1Q?t=7 After Shuma does his Mystic Stare (the eyeballs), he taunts, and then does Mystic Smash (the eyeball collapse) before leaving.
Izumojin mentioned that he wanted to see if it was possible to do 2 attacks without dummy-intervention. Apparently, doing Back, Forward+K for the air-mystic smash in the air is a 1F timing. He said he couldn't get any other type of input to come out. I believe he said Guile's air-2,8+K input would work if it was done on the right frame. He uses this technique to extend the time that Shuma-Gorath's eyeballs are active during the combo. Since the 2-character bug is on, the eyeballs explode when Shuma taunts, just before leaving the screen. He does this again at around hit 70: https://youtu.be/wGA3Ami7W1Q?t=13 He uses Shuma's taunt to bring back Roll after she is snapped out by Megaman. The Mystic Stare basically bides time for the snapback.
26A)
I thought I had lost this stuff: https://youtu.be/klo4gWViSeY It's a collection of clip ideas that were eventually used for the Dhalsim video.
The first two clips are variations of the Dhalsim-Tron combo vs Psylocke in the video, where the Trap Gun is used to continue the combo after it ends. The mid-screen FSD using Doom's assist also occurs in one of these. At some point, I started splicing the combos based on ideas, and how much I could extend the clip afterward. The stuff in training mode is all over the place: I decided I'd put down a bunch of stuff I knew about Dhalsim in video form when I did this.
So the ideas are all kinda scattered, but it served as a reference point when I was doing the main video. https://youtu.be/klo4gWViSeY?t=82 This shows the idea of using a normal for one frame on wakeup to get 1F of invincibility -- then the input for the teleport is finished, allowing Dhalsim to get out of being hit by the Mega Optic Blast. I'm starting to think this is similar to CVS2's Roll Cancel mechanic where you could use it to imbue invincibility into any attack.
https://youtu.be/klo4gWViSeY?t=93 This part of the clip shows the thing I mentioned about giving yourself 1F of invincibility on wakeup using NJ. Dhalsim presses UP for one frame, then finishes the input for his Command-Throw on the next. This allows him to avoid getting hit by Magneto's 2HK. The input must have been something like HCB, up, back+HP. it's just difficult to time it 'cause it's a 1F reversal.
26B)
https://youtu.be/klo4gWViSeY?t=120 This is a pretty good example of landing quicker by pressing down while you're character is near the ground.
In this case, it shows Dhalsim doing a SJ. HK right before landing, and then Dhalsim does the same setup, and lands and jabs Magneto. So at the time I did these ideas, I wasn't exactly sure how they'd fit into the combos -- again I was just kinda scribing them down in video form. But a lot of this stuff ended up in the final video. https://youtu.be/klo4gWViSeY?t=124 The stuff right here shows the Auto-Block stuff I mentioned. After the initial Super Jump -> Guard, Dhalsim just holds left towards Magneto and the autoblock allows him to guard everything. Including some stuff that's never possible under normal circumstances.
Since the Dhalsim video was going to be combos-only, I never figured a way to include this stuff 'cause it's 2P based. Anyway, the part right after shows the aforementioned "Down" thing where Dhalsim either stays in the air or lands right away.
26C)
https://youtu.be/klo4gWViSeY?t=131 This was something I had found around the same time as I started recording this clip. Dhalsim can do 'fast-fly' style combos using the Y-Boost from his far-LK. Although I was never able to find a gauge for how much Y-Boost something has, it has to be some kind of number that counts down as your velocity decreases:
The Unfly LK and MK have to be done as fast as possible or Dhalsim won't be able to follow up after flying. The follow-up sequence after flying is a 1F link of doing Fly, recover, dash, LK. In some cases in the Dhalsim video, I paused the game to shift the frame skip so that the 1f link sequence could work: https://youtu.be/em7R2fuzetg?t=1003
26D)
https://youtu.be/klo4gWViSeY?t=140 This next part shows how airthrowing Dhalsim out of his super is possible. The only characters who can do it are the characters who are able to airthrow very low to the ground. For instance, Magneto and Sentinel can airthrow very low to the ground, but Cable can't, so he can't get out of the Yoga Strike setups.
https://youtu.be/klo4gWViSeY?t=150 this is just showing how Dhalsim can't airthrow ironman low to the ground. thus, he wouldn't be able to get out of a yoga strike setup either.
https://youtu.be/klo4gWViSeY?t=171 Again, this was showing how Dhalsim can do HCB, UP, B+HP to give himself 1f of invincibility to allow him to do wake-up command throw vs extant attacks. Then right after that part, Dhalsim does HK --> SJC --> far-LK, far-MK to yoga inferno to show that it doesn't work if it's done 'late' into the Y-Boost timer that's connected to his airdashing velocity. This is also shown again right after. The flight combo after the Unfly LK MK is timing-heavy too.
26E)
https://youtu.be/klo4gWViSeY?t=209
I used Dhalsim in the past to visually-confirm how fast a character recovers from certain attacks. Certain throws and airthrows have near-0 stun to them, so it's possible to do stuff with it: https://youtu.be/JFGyVCzkHUM?t=1302 https://youtu.be/klo4gWViSeY?t=220 this part vs cable was to show a unique property Dhalsim has in NJ. He can't get guard broken in some case 'cause he flies back really quickly after being hit in the air while blocking.
https://youtu.be/klo4gWViSeY?t=235 this shows how HP --> Inferno is 1F link that works 50% of the time because of the frameskip cycle. So pause/unpause was used to allow the combo to work. https://youtu.be/klo4gWViSeY?t=273 This was showing how it's possible to use the pause/unpause to basically allow the character to escape from Sentinel's 2HP unblockable. The stuff after was documenting the Y-Boost that occurs from airdashing or flying as the yoga fire connects.
https://youtu.be/klo4gWViSeY?t=290 this shows how much the dummy can affect their left/right movement while being hit by the Yoga Blast & Yoga Flame. There aren't a lot of attacks in the game which allow this -- off the top of my head, can only think of Psylocke's Psyblade and 214KK/butterfly super The stuff after shows the airthrow rules I mentioned. also, the yoga strike is unsafe on HIT on Sentinel because of his weight class. https://youtu.be/klo4gWViSeY?t=300 Some characters' attacks do more or less stun depending on the weight of the dummy. For instance, Cammy is able to link multiple LPs in the air against non-heavy characters. I believe it's the same for Magneto's air MP and Cyclops' air 2MP.
26F)
https://youtu.be/klo4gWViSeY?t=324 This shows the autoblock thing again. Dhalsim's able to avoid getting hit by otherwise unblockable attacks. This special autoblock is only active for around 5 frames after landing. During this time, the character can't do any attacks at all. Just movement (dashing/jumping). However, the autoblock will last as long as the attack sequence doesn't have gaps > 5F.
26G) https://youtu.be/klo4gWViSeY?t=354 This stuff shows how it's possible to force some projectiles to come out the opposite way by throwing the dummy 1F before they appear on-screen. The problem is that the possible projectiles to do this with are limited, and so follow-ups are hard.
https://youtu.be/klo4gWViSeY?t=370 this shows a tactical use for the autoblock stuff. Although it's kind of hard on a stick, it's easier on a hitbox because you can avoid going through Neutral while jumping. The autoguard blocks the viper beam, allowing Dhalsim to jump into it.
https://youtu.be/klo4gWViSeY?t=398 This clip against Magneto was just an idea I had, but it was rather hard to get to work because of all the pixel-perfect stuff necessary. I think this ended up being used in the Dhalsim video vs Sentinel where the Yoga Fire is given Upward Y-Boost by having Dhalsim fly before it hits.
https://youtu.be/klo4gWViSeY?t=414 this combo was basically just experimentation for what was possible in this setup. The camera will follow player-2 while the effect is active. For Dhalsim, it allows weird stuff with his far-limbs that wouldn't otherwise combo. Dizzy and Unfly were removed just to have everything in one-long-combo from which I'd pick and rearrange the ideas. The very-last-clip was also the idea that would get used in the video. I decided to just use cheat engine to forcibly move Venom to the perfect position where Dhalsim could do the most stuff.
27)
https://youtu.be/6pS5sAo51ts I wasn't sure if I should include this -- it contains an unfinished and unused series of exchanges between cable & Magneto. Some of them were in the Magneto-reset video inside of Chaos Dimension, and some never made it through Most of them are predicated on trading hits to recover quicker than normal, and jumping up into block. I liked the fast-paced exchanges, but it's hard to keep it going w/o being repetitive.
https://youtu.be/6pS5sAo51ts?t=20 The air reset on cable is kinda special since autoguard doesn't stay active while being airborne. So dashing around cable lastly, the Hyper-Grav Tempest stuff was an idea I had in mind a while ago to get a unique follow up from the dispersion, but I ended up stopping it there.
28)
https://www.youtube.com/watch?v=MPkOZd2D26E This combo shows Anakaris' foot hitting anywhere on-screen using an Omega Red bug setup to freeze him in place. Anakaris needs Unfly to be able to hit during this time. He can also go from NJ to SJ by pressing Down, Up; which was used after his initial 'ground combo attacks'. The Special Stun Reversal thing was used to keep the combo going. Sentinel's input for his super had to finish on the first frame of him recovering.
The last part shows a Magneto infinite that's possible in the corner: [S.HP SJC Dash Down whiff an attack] there was a trick to doing this I believe, it involves Superjumping and attacking as soon as possible to keep Magneto from turning to the right. This keeps him in the left corner and thus in a position where his S.HP will keep hitting 'from behind'.
29)
https://youtu.be/NDtQ-T9fgmg This is the Anakaris variation of a combo idea I used in the Dhalsim video. Anakaris can take advantage of hit because he has a lot of attacks that hit all over the place. His raging-demon super lets him 'be anywhere' despite being tethered to Spider-man. It was fun doing the combo 'cause I like the look of the bug, but like the Anakaris-Magneto combo above, I don't think they are unique enough to use for a video.
30)
https://www.youtube.com/watch?v=1bd5O0jZC5I This was a quick neta clip to show Blackheart's throw-invulnerability during his Heart of darkness super. The main idea is having the Counter flash happen on the exact frame of the super freeze. This can cause the person doing the counter to travel across the whole screen while coming in.
31)
https://www.youtube.com/watch?v=rENiwaMC46M This combo felt too repetitive, but there were a couple of things: I used a camera-moving lua script with cheat engine to get the zoom out effect during the super. BBHood's HK mine actually falls down a bit, so I used it as a late-hitting projectile while Omega Red was in the air. The mine is able to OTG and bide time for BBHood to recover from the missile.
32)
https://www.youtube.com/watch?v=5thyr47XHWM This was just messing around with a ruby heart glitch that puts a character underground. In this case, I used Anakaris since his coffin-drops can come out from anywhere. However, the whole thing felt uninspired and repetitive in the end. Most of this stuff can be done without the underground glitch.
33)
https://www.youtube.com/watch?v=ZHvfbBM0w64 & https://www.youtube.com/watch?v=ta18bK-6MiU These two use the same idea.
I originally used this idea for the Dhalsim video where Spiral was used to allow Dhalsim to do the same setup that leads into the FSD. There might be some other characters who could do this combo, but I didn't feel like it warranted an entire clip to use the idea. So in both cases, the follow-up after the FSD is kinda short. Timing the EM Disruptor after the OTG-Landmine/2MP is strict. I've mentioned it before, the Spiral-Grab interrupt is probably the fastest way to interrupt a character. As in, both players will have control immediately after.
34)
https://www.youtube.com/watch?v=jYOXZRXwqlQ This combo was a repeat of the idea in the Dhalsim Revisited video. In fact, I believe I actually made this before the Dhalsim clip. The Dhalsim clip felt like a better example of this idea as I ended up tagging out from the whole thing as part of the combo.
Anyway, I've covered this topic before -- but it's possible to keep the combo going during Hyper Armor if the character finishes their special/super attack on the first frame they would recover. In this case, Silver Samurai does his Shiruken as soon as he recovers from Venom's super. Then after the projectile hits, the combo meter keeps going because Silver Samurai is in the recovery animation from his special.
35)
https://youtu.be/RRZ2IHRW3gI?list=PLBeCkTheRU1KDA6h5paaDqHWdsooy4YSk For a while I've tried to make a situation with Cyclops and Spiral, but for some reason I can't get one that I'm happy with. I guess most of this stuff is OK, but it feels uninspired; maybe it's because this stuff while technical, lacks substantive ideation behind everything. I use a lot of throw-minutiae to dodge or get out of throws, as well as some SJC off projectiles to null Spiral's knives.
36)
https://youtu.be/hs_qD0H0iAA?list=PLBeCkTheRU1KDA6h5paaDqHWdsooy4YSk Izumojin made a quick video showing some examples of overwriting stun data from Air-To-Standing. That is, an attack that is set up to knock the opponent in the air is overwritten before the stun occurs. The timing is very strict.
37)
This is kind of a neta-post, but I remade Meikyousisui5 like 10 years ago: https://youtu.be/-8qQLVVmGq4 this was way before the PCSX2-RR emulator existed, so I used programmable controllers and a VGA-capture card. I had to rescale it to 4K so that Youtube's bitrate wouldn't be so low.
38)
https://youtu.be/oWmFsqsLBlE The Hyper-Grav lets Magneto hit any character from behind since it changes their hitbox. The other thing is showing Doom's hitbox being kind of strange where he can be hit from behind like Sentinel, but since he's not as heavy, Magneto can activate flight and follow up afterwards.
Izumojin made pretty good use out of it in his 2014 video: https://youtu.be/qW1WIuMdkj0 Doom is kinda heavy while falling, and taller than normal characters. Still, because he's easy to cross over, Sentinel's super allows him to get the corner for a little.
39)
https://youtu.be/iJsdf1NbRYQ This was an attempt to do a similar situation clip to the unused one in Chaos Dimension: https://youtu.be/marFI2k9u14?t=19601 I think the one that I didn't use in Chaos Dimension woulda been good enough to include in a future video. There's a rhythm of movement that's hard to get between those characters: Auto Block/Guard tends to elongate the whole thing because one character constantly attacks while the other moves around -- automatically blocking stuff. This provides interstices where it's possible to call assists while keeping the action going. I didn't want to re-use a clip from CD-E in a new video, so I attempted to remake the situation, but I couldn't get what I wanted.
https://youtu.be/0ea8d9s3Q40 This clip contains a bison idea that I wanted to use. Bison had done a Knee-Press Nightmare super on the other side of the screen, then was interrupted, freezing his 'clone'. The interesting thing is that it continues to exist no matter where the game's camera is pointed. So whenever Bison is DHCed in or out, the clone will start his Knee-Press Nightmare super.
40)
https://youtu.be/jYM9weOEuZo This is a clip from the combo video I'm working on now. I used this exact clip in Chaos Dimension, but I wanted to use it again because of the camera zoom-out effect. I wouldn't feel all right re-using a clip unless it was something small like this, where the main focus ends up being the presentation of the clip, and not the content.
Anyway, I'm not sure if I'm going to keep a 16:9 aspect ratio for the final video. If I keep it 4:3, I won't have room to include extra HUD stuff like the inputs or positional values like the one in the clip. I'm thinking about keeping it 4:3 and just showing the combo meter or health bars to keep it simple. I feel like the Dhalsim video was presentation-over-combos -- this one should be combos-over-presentation.
41)
I'm not sure where I am going with this series of videos. But I wanted to document some of the processes that go into the way I make MvC2 stuff.
https://youtu.be/GJLGUUhZ3-g This video shows the basics of PCSX2-RR content creation. It's basically a PS2-emulator that lets you re-record, and do frame advance to get frame-pixel perfect results in replay files that can be exported in AVI (at 4K). The other stuff is different ways of finding values & offsetting the memory since PCSX2 reloads itself differently on every launch.
The very end includes a demonstration on using an Array of Bytes set to find a unique point/address in the RAM, and then jumping to the desired address.
42)
https://youtu.be/IJqZkdeSgVA A follow-up video in the series. This one shows a macro I made to automate the launching and sorting of the Cheat Engine table. It also shows the AutoHotkey macros to re-calculate the System values, as well as the Lua scripts that search for the array of bytes (AOB) that pertain to the 3D HUD values. The rest of it is a demo of the Cheat Engine table values I've found.
43A)
https://youtu.be/eoTJ0oYk3bI This clip contains a 'whole' combo from start to finish -- without a HUD, including a demo of the Lua scripts that automate the camera and export a CSV file from the live-data. I truncated the creation process for time, but it still demonstrates everything that goes into making a clip.
The first script is a Powershell file that makes backups of my current replay and save states. I ended up making this because I've had problems in the past with de-synchronization. The replay will basically 'drop' and sometimes I'll lose a whole clip midway through. This PS script lets me have more than the 9 save states allotted by the emulator. So I can go back in time with granularity to pick out where something failed.
The Lerp-Script refers to Linear Interpolation. Anotak helped me create this a while ago to facilitate camera movements. It runs the start and end camera-points through a Linear Interpolation function that uses the Total-Frames count as a timer to compare against. In the clip, the script took 100 steps to write the camera movement that went from 900px to 95.
The next script is for exporting a comma-separated value (CSV) file from the live-data. TheIntercom wrote a variation of this a long time ago, and we recently updated it a bit. The script uses the Total-Frames counter to check its progress.
43B)
The only drawback is that the game moves too fast for it to write every-single-frame, so there are skipped/dropped rows. As a result, I have to play back the replay a few times to insure all the frames get written. Which leads to the Inputs_Table Pearl script that Anotak wrote.
The script creates a CSV file that acts as a comprehensive input converter for all the 8000+ possibilities. The CSV file from Cheat Engine is put through a Java program Joo wrote that uses Anotak's CSV converter -- the program removes duplicates, and sorts the rows by Total Frames. It also processes the Inputs from DEC to "readable" notation.
Lastly, the CSV file is put through a Powershell script that TheIntercom wrote a while ago. Powershell is able to work with CSV files, and it uses built in tools to create a JavaScript file out of each of the columns' values. Resulting in a folder with hundreds of JS files that contain all the data from a clip.
From there, After Effects was used to connect it to drive animations. I forgot to include a run-through of the AutoHotkey functions that I programmed for this thing. They basically click and type stuff in Windows/CheatEngine/PCSX2, etc. Some do image-searches to move the mouse to a specific spot on-screen. I've been using AHK for like 5 years to expedite editing stuff. I believe I began to try to learn how to do simple RAM-hacking in late 2017 or early 2018, so this table/process took a while to develop into what it is now.
There's still a bit of stuff I didn't show in Excel -- I used it to keep track of the Dhalsim project, as well as to host a wide variety of Cheat Engine related content, like Array of Bytes and some concatenation sheets.
44)
https://youtu.be/EVSmgzdlEFo This clip shows the process of getting the AVI into After Effects and connecting it to the Javascript data files + demo on some of the HUD items.
45)
I was thinking of doing some kind of historical posts covering various types of combo-video related topics. Maybe focusing on the ASCII devices that Joo and I used to make content, and all that it entailed I was going to start out by posting PDF-scans of the instruction manuals that came with the ASCII Pad V Pro, and ASCII Stick3.
46A)
As far as I know, there were only two companies who made good programmable devices. I believe KYSG and SAIREC used the HORI Command Stick, and Joo, Maj and myself used the ASCII programmable controller.
I believe the blue version of the Command Stick holds more inputs -- while the ASCII machines can have their memory expanded by a memory card that plugs into the expansion slot. The memory cards came in X2, X4, and X8 (multiplying the capacity of the device's max of 200 actions).
46B)
I believe the ASCII devices had some kind of partnership with Capcom for Street Fighter Alpha 2's release. The instruction manuals detail how to do a fireball, and the program pad contained this set of unique SF2 stickers or something.
46C)
The ASCII pad and stick let the user program inputs one-action-at-a-time and by physically doing the inputs into the stick in real-time as it can record your commands while you do them, and then play them back. This made the devices kinda useful for training mode since I could just do Hyper-Grav-Tempest with the stick, and try mashing out manually on another arcade stick. The ASCII stick's manual contains SOME English whereas the ASCII Pad's doesn't. When I learned how to use it, I didn't have any manuals at all; I think I was in high school so I had a lot of time.
46D)
When I first started doing MvC2 stuff, I used the PS2 version since the PSX and PS2's controller ports put out more power than the Dreamcast, and the PPAD needs 8v to power the quartz-screen. I found that PS2-MvC2's training mode was the only stage without lag, and that combos programmed in the PS2 would work on the Dreamcast once you plugged the PPAD into it with a converter. I believe I made this clip on the PS2 when I was like 15 or 16 years old. I programmed it on the PS2 version, and then recorded it on the DC. https://youtu.be/PjT_nis3R9A
46E)
It wasn't until like 3 years after receiving the programmable pad from Joo that I learned about the Total Control-1 adapter. Pretty much everyone in the community who had a PS2-Mas Stick used the Total-Control 2 adapter to play competitively. But I remember finding out there was an older version made to work with external power cables for a steering wheel, etc. This converter allows you to plug in an AC adapter into it, which provides the extra power to light up the ASCII pad's screen.
46F)
The flowchart for it was. Plugin the PSX-ASCII Pad V Pro into the Total Control adapter which also has a 9v-300mA AC adapter plugged into it, and plug that into the Dreamcast. From there, the program pad will light up as normal and the user will be able to easily see the inputs being done.
The crazy thing is that Joo specifically had already been using the programmable controller for like 4 years without this 'feature'. What he and I used to do was just use the programmable pad near a light source and try to tilt the screen in odd-angles in order to vaguely see the inputs being programmed into the pad.
46G)
As I mentioned, I think the programmable pad and stick were designed to be used for fighting games as the manual covers how to program a fireball or a super. The manual also includes a template for the user to write down their inputs so as to catalog them for archival.
The very-top row (the (3)), has the buttons used to store the command highlighted (S1 and O). From there, the next 3 rows refer to the steps and inputs. The top row with 1234 refers to the input # in the pad. The one underneath is the inputs inside that given step, and the bottom row refers to the duration of the input. So in the case of the picture, it's: Input 1 = Down For 1 frame. Input 2 = Down+Right (together) For 1 frame Input 3 = Right For 1 frame Input 4 = L1+Sq+Tr For 1 Frame
46H)
The ASCII devices have a button called "S1" and "S2" which can be thought of as modifier keys in Windows, like Shift or Control. You can assign S1+ any of the 'main' 8 buttons on the PSX pad, and S2+the 8 buttons, allowing for 16 total stored combinations. However the pad's memory was limited to 200 actions, which isn't all that much.
46I)
Once all the buttons or memory was filled up, writing stuff down was necessary for archiving since the inputs can be so specific/elaborate. This was the full-page template that ASCII provided in its manual for the user to copy.
46J)
As I mentioned, the ASCII devices had memory cards available to increase the amount of possible inputs allowed. These command packs came in x4 for the most part, although I was told a x8 existed. I had a few x4 memory cards which allow the pad to hold a total of 1200 actions, but the main form of saving stuff was transcribing it in excel. The manual has an interesting image showing the idea behind the memory card; it could act as 4 individual banks of 200 actions, OR one large one of 1200. I think at one point I had a designated-command pack that acted as 4 banks to store a bunch of setups for bugs or resets for a video.
46K)
When it came to the process taken at deconstructing MvC2, some kind of system was necessary to keep track of findings since the program pad gives the user a crazy amount of granular control. Joo had an absolutely insane collection of interconnected Excel books to document his experiments and combos. I think he showed me some of the data in 2008, which made me create my own single book of stuff in an organized way (up until then, I just kept everything in my head). This was just the input-command book, he had another 6 huge workbooks with all the information that made up the combos. It's hard to believe that much stuff can even come out of a video game at all. Joo used Excel to transcribe his combos --
46L)
I didn't do anything like that until my last program-pad video (Variable Atmosphere 2). In that case, I just transcribed all the combos, and attendant notes: I sorta came up with a system to easily track where-in-the-combo I was using a row of numbers. It made my stuff easier to decipher when I looked back at how something was done
46M)
The last big thing we found on the program pads was ironically enough a way to ensure our sequences/combos would come out 100% of the time. This is referring to the frame skip cycle MvC2 does to create 'Turbo Mode'. It skips every 5th frame, making difficult stuff 'random'. It can be thought of a IIDX game where you have to press buttons on the right frame.
That's how it was with activating the combo on a program pad. There was a 1/4 chance it would be the "right" frame.
This shows the idea behind it. Both controllers' macros have to be executed/pressed on the correct frame to identify the frame-skip cycle. From there, the entire combo can be programmed around it.
46N)
Joo found this around 2007 or 2008, just as he was finishing his DVD. It was helpful because he also got a then really expensive-capture card to record the combos in VGA quality (640x480). So he had to re-program all his combos one by one, but was able to use the 100% technique at the beginning to identify the frame skipping.
EX: Akuma's is: Neutral for 1 frame, down+LP for 9 frames, LK for 21 frames. The neutral was necessary since adding it at the beginning made the program pad more reliable. The "21" is really a variable since it changes depending on the combo.
46O)
In this case, Anakaris' 100% technique is LP for 17 frames. If the LK comes out, it means that the frame skip cycle was identified. For Hulk, it's Taunt For 53 Frames. I remember finding every characters' 'easiest' 100% technique using Joo's frame data once I understood how it worked; so even the total-duration frame data that he made came in really handy in the end. https://youtu.be/JK6RevIYFzA
46P)
I remember it was a big deal because it made some combos 'approachable' in terms of feasibility due to time constraints. However, we both had mostly finished doing stuff by then, so we didn't get to use it for more than 1 project.
Anyway, I remember this combo from Satsujin 2 because it really highlighted how bad it was to do combos w/o the 100% Technique for frame skipping: The Win counter on Storm's side is 99. This is why all the combos were always inside of training mode or had infinite-life turned on with a Gameshark. This is why it's kinda cool to be able to finally record on the regular stages and keep the "NEW HERO" display on for both -- signifying that the frame skipping was no longer an issue.
46Q)
This ended up being the XLSX for Variable Atmosphere 2. I believe this was the last time I did something serious with the controllers. Like Joo, we kinda had it with how onerous the creation process was. It started getting really esoteric, even for us.
For instance, in the DVD & Variable Atmosphere 2, there were some combos that would not work on some stages for some reason. It was just attributed to 'randomness' but there probably was some inherent slowdown during some of the 3D Stage animations. Our ideas had gotten to the point where we needed an emulator with save states. Chaos Dimension sorta-made Joo want to pick up the PCSX2-RR emulator again, but didn't have time to really commit.
Variable Atmosphere 2 Excel
47)
https://youtu.be/jQt2tSbG1Uc This is probably my favorite bug just for aesthetics.
The whole setup is included in the video, so it's easy to follow. The 'bug' happens with Dhalsim backdashing during the part where Shuma-Gorath says "CHAOS DIMENSION". If it's timed right, Dhalsim will start to do his intro-taunt. During this time, Shuma has to DHC into the next character to freeze the effect. This freezes Dhalsim permanently. The only thing he can do is mash to speed up his animation. There's no way to regain control, so the characters have to be reset.
Anyway, this bug doesn't work in the PS2 version of MvC2. The game will always crash when the DHC occurs while Shuma is saying Chaos Dimension. It's so unfortunately because I think I coulda done a much more elaborate combo using PCSX2 than what was in Chaos Dimension.
48)
https://youtu.be/D3tSl71IMHI I wanted to show the Block_Meter thing that I mentioned before. This refers to a property in the game that causes the character to land sooner.
Basically, the game forces the character onto the ground a bit sooner than normal. It can be imagined as a threshold of pixels that the game is using to force the character to stand. I called it block meter since it counts up as the characters block stuff within a certain time. The only way to keep it active is to super jump out of the attack. Which is why this happens to be a particularly special thing with Doom since he can Super Jump Cancel his 2HK before it comes out. This is what's used in the Chaos Dimension clip. Spiral blocks Doom's attacks low to the ground, and his block meter doesn't reset. This allows him to land sooner, which is affects his SJ.HK -- it allows him to land like 2 frames after pressing the HK.
The effect is lost when the character hits the opponent. So since Spiral is the one who blocked Doom, when doom hits her, the effect is lost. The next clip shows Anakaris doing the same thing as doom. However, Anakaris doesn't have an attack that lets him cancel out of a ground-attack like doom.
49A)
https://youtu.be/WpjzYd4A0n0 This is a demonstration of a script that Anotak helped me write that animates the MvC2 camera automatically. All I need to do is input the end values, and how many steps it'll take to finish the animation, and the script will interpolate the movements necessary to achieve that animation (linearly).
The Character Select screen has a bunch of 3D layers on it that can be 'written out' by basically sending them super-far-away using a number. From there, the camera system can be used to move around and see what's being rendered. In this case, the prism-thing behind the character select screen is still there. Most of the stuff in the game that's in 3D has editable XYZ values which can create some interesting results if they're editable.
I haven't tried to find the values for the prism, but I remember during the Dhalsim Revisited video, I was able to find a lot of random objects in the game, like the boat-stage propellers, clock-stage tower and blimp.
The script was written in a nice environment and pasted into the Lua window that cheat engine has -- most of the editing is just the end points and step values. An unfortunate side effect of using a while-loop that takes control of CE, is that Cheat engine stops applying values if there are any -- for instance, infinite health/Unfly/any value that CE is currently writing to, stops being checked while the loop is going on.
The work-around for it is to just open another instance of Cheat Engine and have it open to just write on the values I want, while the other one does the animation
49B)
During the Dhalsim video, I didn't have this script; instead I used a bunch of hotkeys and a Logitech G13 gamepad. I set up another cheat table that just has the camera addresses with a ton of shortcut keys mapped out to basically create a camera-rig that I was able to move around using the gamepad. The Dhalsim video was my first attempt at doing most of the stuff I did in the video.
After a while, I was able to refine and optimize a lot of processes. I could still use the gamepad for some simple camera animation movements, and it also has modifier keys like Alt/Shift to do movements in different increments -- which the LERP script currently doesn't have. The only problem is that it's kind of unreliable unless I forcibly slow down the emulator using Cheat Engine while capturing to ensure each frame is affected by the movements.
50)
https://youtu.be/AOMob6y4g-E In 2003 or so, MikeZ showed me that he had made a Dreamcast game with his own engine (which turned into Skullgirls). Anyway in 2007, I asked him if he could make a 'game' that displayed my inputs so I could key it out in a video. I designed the stick in Photoshop and he mapped it so it reacted to the inputs. I recorded the S-Video-quality Dreamcast footage, keyed it out, and put it in the combo. Back then, I didn't have the wherewithal to describe and edit a clip in order to explain it.
51)
https://youtu.be/marFI2k9u14?t=12689 I always wondered what conditions were necessary to prevent the game from crashing doing Ruby Heart's Schwarzeile bug (the crash-effect happens when Down-Right+P is pressed in conjunction with Start).
From what I can remember, freezing the game is the usual effect, but depending on the stage and characters alive, that effect happens. I wasn't ever sure what the real hitbox on that thing must be, but it's huge. Bison is very high-up during the clip, and it's visible that Ruby's still in SJ-height.
52)
https://youtu.be/GrAeJ7iYL3U The beginning shows a new AA script that a user named Panraven in the Cheat Engine forums graciously made for me. It's meant to replace the Array of Byte Lua Window process I used before. It uses 1 Auto Assembly script to do the 6 AOB scans, and offsets the children based on the results; it saves a huge amount of time.
So from there, the video is about achieving some of the edits I did using After Effects 3D Camera Tracker to 'glue' stuff into the game so it looks like it's part of it. In order to help the 3D Camera Tracker get the tracking points, I captured the combos without sprites to remove any obfuscations of the backgrounds, then ripped the sprites by walking out of bounds, freezing the animations, and playing through them.
From there, I keyed out the grey in AE and went about placing them on-screen using the sprite-version of the combo to act as a guide; this is the case for Iceman, who needs to be the top-most layer in the stack. However for Dhalsim's wife, I use the 3D Camera Tracker points to glue her into a spot where her presence will look seamless. I used this method a lot through the video.
I 3D-Camera-Tracked every stage-movement for all the stages. I actually had an AHK macro that I could activate using my phone to have After Effects 3D Track clips on-command. Since the effect had to be applied to new clips whenever it finished, I sent a command through my phone to apply the 3D Camera Tracker effect to the next clip in a queue throughout the day. I remember this taking over 24 hours total since some the stage-clips vary in length and they're all in 4K.
From there, I just set up projects based on the stage clips, picked out the ones that worked for the video and used them in the clip-intros, etc.
53)
https://youtu.be/Ba2Y3dDro-k An old editing idea from like 2006 that I tried to make using the programmable controllers. I thought that if I recorded a simple clip that would never fail on the pads, I'd be able to get an animation-perfect edit by recording the clip in all the stages and stitching it together in AE. Unfortunately, the game running the way it does prohibits it from appearing seamless. If I were to do this again, I'd probably switch the stages before the game loaded them, and see if it worked like that; or record all the stages without the sprites, and then paste the sprites on top somehow.
54A)
https://www.youtube.com/watch?v=Px6Qo5ImXyw This video covers the process of doing the Multi-Camera sequence editing in the Dhalsim video that allowed for the color changes throughout. In Premiere Pro, each clip had to be stacked on top of each other, perfectly synced since I would be cutting to different tracks in one clip.
Like I mentioned before, I captured each clip in at least each of the 6 colors. However, some clips had many more captures for various editing purposes I had in mind (the air-boat stage had like 16.
The Abyss combo contained After Effects compositions that were exported and synced to the rest of the clips in Premiere. For instance, the Credits-clip was made in After Effects, and exported and synced up into the Multi-Camera sequence timeline so I could cut to it.
The next part shows the way in which one timeline contained all the clips -- and how I'd edit into them. Hard-cuts were the easiest way of doing it, but I tried to see which transitions I could use to achieve different effects when fading into the colors. Once I had the multi-camera stuff finalized, I placed it in another timeline to put in the intros and content-stuff, along with the audio sound effects for the typing noise. This would end up being the main-clip comp as I'd arrange everything from After Effects and Premiere here.
I'd then place that into the final Dhalsim Revisited Arrange comp. The rest of the video shows various bits that went into the video, like the intro files, the RAM changes, the credits, etc. For instance, the Intro-Grab sequence was this meticulously noted process since it had to be pixel and frame perfect across all the stages. I remember setting markers throughout each 'hit' and started counting them for the purposes of editing stuff together.
54B)
Everything was kept in an Excel file for the project. The grab-intro required me to fill out a lot of the pixel data per-frames in order to keep everything synchronized. Also back then (at the time of doing this), I didn't have the streamlined method to remove the HUD for each stage, so it took a bit longer to do this. That's why there's the AOB tables for the Combo Meter & Lifebars/Timers on the top right.
I used a sheet to make a storyboard for the whole video, cataloging the various parts of each clip, like the stage, intro/outro, and extra stuff. There were a few sheets denoting whether or not some editing elements would be included in a clip, like Assists, Counter, First Attack, FS Flag, KO Text, etc. I tried to keep everything updated this way because when I would take breaks from the project, it would take like 20 minutes to figure out where exactly I was when I needed to continue.
Keeping stuff cataloged like that was something I learned from doing Joo's DVD in 2009. I feel like I wouldn't have been able to make other projects without being guided by Joo in the DVD. From what I could tell, he's been doing that kind of stuff a lot, and it really helped me.
55)
https://www.youtube.com/watch?v=B3Vw_dyxFks This video is a brief demo of the macro-workflow I developed for myself over the past 4 years. It didn't start out for PCSX2/MvC2 originally -- at first, it was something I learned from TaranVH. He's an editor who uses AHK to basically script-in features that do not exist in Adobe Premiere. This is a giant tutorial he eventually made that includes some of the AHK & devices he uses: https://www.youtube.com/watch?v=O6ERELse_QY.
I guess since I first received my program pad from Joo in middle school, I've always been interested in using devices to do stuff as fast as possible, etc. It eventually carried over to the way I edit videos. So using Taran's base-scripts, I created AHK-functions for myself, and use various devices to execute them.
At this point, I use 3 Logitech devices replete with macro keys, and an Elgato Stream Deck XL. The Streamdeck is useful for macros I use, but not super-often that I memorize them. But for the longest time, I just used the G600 mouse 'cause of all the buttons and convenience. So anyway, like video editing, some of the PCSX2 stuff can be monotonous, so I made up a bunch of AHK-functions to do stuff.
I can't imagine how much time I've saved in general by using the AHK/Logitech devices over the past 4 years to edit, etc.
56)
https://www.youtube.com/watch?v=3CzYmLZlwFE I wanted to try ground-stuff on Sentinel with Dhalsim.
The airdash-float is tricky to time as his limbs don't hit that low from his body, so the airdash after the first SJ.HP has to be timed perfectly, or his limbs will miss.
From there, the air-link is after the SJ.HK From there, the SJLK is a close-version, which is what allows the SJ.MK (far) to connect.
The airdash-forward combo was hard to get. The far-SJ.LP was a 1frame timing after the airdash, and the SJ.HK has to be done right after. That will allow the SJ.LK to link before he lands. Dhalsim's SJ.LK does more stun on Sentinel than his S.MK.
There are some moves in MvC2 that have their stun tied directly to the opponent's weight, such as Cammy's SJ.LP. In this case, the SJ. LK is used as the in-between during the links while Sentinel is in the air.
57A)
https://www.youtube.com/watch?v=uthC0ls5Vbw
In 2014 or so, Eidrian sent me back all the clips he saved that I had sent him since 2003 or so. He sent them back to me 'cause I wasn't as diligent about keeping stuff archived back then, so I got back like 4-50GB Blu-ray discs with a bunch of stuff.
I culled through them after a while, and kept them in a folder. This is the 1080p-version of most of those clips, put together into one.
At the time, there isn't much organization or structure in the video file. I'll probably make section-timestamps for Youtube as I wanted to release it publicly at some point. For the discord, I'll probably make a bunch of posts pertaining to the content of the video over time.
57B)
https://youtu.be/uthC0ls5Vbw?t=29 I made a bunch of small videos demonstrating different mechanics of the two character bug. Some of the most interesting stuff doesn't work on the PS2-version. That clip shows a setup that only works on big Blackheart and Sentinel. Their sprites are so tall, they clip the ground for a few frames while Spider-Man is swinging them in the webthrow. During those frames, they can tag out and they'll get 'reloaded' after the super ends, causing them to be the point characters.
057C)
https://youtu.be/uthC0ls5Vbw?t=98 MikeZ found this bug during the time we were exploring the stuff you can do with the two character bug. Felicia's super is kept active by Jin's Blodia punch. I believe the effect could be repeated until the game slowed down to a crawl, but I couldn't find that clip.
57D)
https://youtu.be/uthC0ls5Vbw?t=326 Since 2007, until 2010 or so, a group of combo video makers had their own forum on SonicHurricane where people would collaborate on videos. We would post ideas and would try to make clips for that concept. I put in a bunch of air-throw and fireball collision ideas for the project.
The neta video has the ones that weren't used, but some of the used ones as well as I didn't remember which ones made into the final videos. This combo idea in particular was used in Chaos Dimension https://youtu.be/uthC0ls5Vbw?t=391
57E)
https://youtu.be/uthC0ls5Vbw?t=530 This was my favorite derivation of the 2-Character bug. Jadon Brown showed it in a bug exhibition video that was supposed to be a teaser -- but he never finished the final one. Anyway, this bug doesn't work on the PS2, and the neta compilation shows the monotony of setting it up. https://youtu.be/uthC0ls5Vbw?t=582 this part looked like there could be something done from it as Shuma's constant bouncing around would allow for a unique combo, but it was really, really tedious to do.
This set up caused really strange effects https://youtu.be/uthC0ls5Vbw?t=639 -- mostly the characters doing their intro. Rogue would do Berserker Barrage-X from XVSF.
57F)
https://youtu.be/uthC0ls5Vbw?t=709 As it's mentioned in the title of the video, some of the clips are from 2003 (before I had a program pad), through 2010. Most of these were concept videos or me trying to figure out how to program stuff.
The Cable&IronMan idea was something that went through a bunch of iterations before I used it for something. even now, I wish I could make something interesting out of those two characters, but their mechanics are too similar to achieve anything notable, in my opinion. This is kinda far afield, but I learned about the concept of what makes a good combo while using the program pad.
Being able to identify and isolate a good idea, then 'pad it' with the proper amount of stuff to make it more substantive is sort of an art. Majestros expanded on the idea in one of his articles from Sonic Hurricane: https://sonichurricane.com/articles/sfconstruction.html & https://sonichurricane.com/articles/sftoolrationale.html
57G)
https://sonichurricane.com/articles/sfconstruction.html I wanted to expand a little bit more on one of the articles Maj wrote about the 'types of combos'. He put, starters & setups, finishers and optimization.
Most of the clips in the neta stuff lacked a central idea. They were mostly vacuous embellishments of something I thought was aesthetically interesting (https://youtu.be/uthC0ls5Vbw?t=804).
After a while, I kinda got the flow of how to present a combo, or blue-print it. It's like a small story, and you want to design it so that the main parts of it get highlighted, and the rest of it serves to underscore the main idea.
The last part he wrote about Optimization hit true when I saw Joo's DVD combos in 2009. I realized that I had never created anything as close to what he did in terms of technical-data-driven optimization. This is my favorite combo from Joo's DVD: https://youtu.be/El84-G4wTI8?t=814 Sonson80. It epitomizes the idea of methodically constructing something in the perfect order so as to show each idea -- creating a sum greater than its part because its concinnity.
57H)
https://youtu.be/uthC0ls5Vbw?t=908 I remember this 'idea' - I made like 3 or 5 versions of this thing, and I never put it in a video because I never liked how it turned out in the end. I think there was something stylistically appealing behind doing a Cyclops combo with SJGC and backwards-hitting moves. But I didn't think I ever 'got it'; I.e., I never felt satisfied with it. This was another iteration: https://youtu.be/uthC0ls5Vbw?t=939 I was trying to see what kind of stuff cyclops could do with his backwards-hitting normals.
57I)
https://youtu.be/uthC0ls5Vbw?t=1097 This was one of the first combos I tried to program in 2004 after receiving the program pad from Joo. I wanted to use the reverse-gravity bug as part of the combo, but as it progressed, I realized I didn't how to continue it.
Which goes back to the thing I said about constructing the pieces of a combo in your head/on paper, before attempting to program it. Some of the ideas in the video are present in Chaos Dimension or Dhalsim Revisited. In a sense, this neta video is like a backlog of ideas that I had which could be expanded or used for something.
57J)
https://youtu.be/uthC0ls5Vbw?t=1136 This was sorta my take on 'the corner-Dhalsim combo' that was in a bunch of old videos (http://www.zachd.com/mvc2/combos/betterthanme%20(shakunetuHadouken_EX%20preview).wmv) & (http://www.zachd.com/mvc2/combos/betterthanu.wmv).
A Japanese player named LiquidMetal was one of the pioneers behind that concept, and it had various iterations throughout different people's videos. I guess mine is just a combination of that stuff, with a bunch of fierces added at the beginning, using the FS-rules to prevent flying screen at first.
57K)
https://youtu.be/uthC0ls5Vbw?t=1179 This doom infinite was never used in a video. I forgot the reason this video exists, but I know I didn't put it in a regular combo video.
I remember the timing and positioning are strict since his beam is like Cyclops' Mega Optic Blast in that its hitbox is instantly a bit in front of him, instead of right where his face is. https://youtu.be/uthC0ls5Vbw?t=1234 This combo was probably one of the first ones I did on PS2, then recorded it on the Dreamcast. I mentioned before that the Dreamcast's controller port doesn't power the PSX ASCII pad's LED screen. So it's next-to-impossible to see what you're doing on it unless you have it directly under a lamp, angled in a certain way.
So for a while, I would program stuff on the PS2 version of MvC2, and then just plug the pad into the PSX-DC converter to record it. I found out that the training mode stage on the PS2 has 0 lag, and was useable to do this. https://youtu.be/uthC0ls5Vbw?t=1289
This no-FS combo stuff was expanded on in Variable Atmosphere 2, Chaos Dimension and Dhalsim Revisited. I eventually figured out that the frozen character comes out to do their super like 14 minutes after the bug is set. That realization made the other combos kinda obsolete since they felt like incomplete ideas.
57L)
https://youtu.be/uthC0ls5Vbw?t=1450 I made this combo in like 2008, and I didn't use it until 2010 when I made Variable Atmosphere 2.
I ended up turning it into the combo where Sabretooth's 14-minute-delayed super comes out to trigger Magneto's forcefield. https://youtu.be/9993gSuhyBA?t=124
https://youtu.be/uthC0ls5Vbw?t=1472 This combo was a weird way of showing a particularly esoteric property in MvC2: it's possible to cause dizzy using specials or supers if the character is hit inside of a capture move like Amingo's, Thanos', or Magneto's. I didn't notice it again until Joo's Vol11 combo near the end: https://youtu.be/wShaqWt2eMw?t=227 You can see Juggernaut spin-out while being hit by Shuma's super. We figured out that throws can also allow that stuff to happen.
The next series of Magneto-Flight combos always ended up feeling like it was an unrealized idea due to the dizzy limitations. I figured that I could make a compilation of Magneto's flight stuff some day, but I never did. So when I figured out how to remove dizzy in PCSX2, I did a particularly long Magneto-flight combo trying to include all the variations I could think of: https://youtu.be/P4XhKRqgZOw
57M)
https://youtu.be/uthC0ls5Vbw?t=1618 This was the 2nd combo I ever did on the program pad. I think I was still in middle school, or just getting out of it and going into high school.
I remember picking 3 sentinels for player 2 because the combo would drop so often, and it involved a death, so I could only try it twice-per-round. Dan's super-taunt doesn't trigger blockstun, and if you DHC into iron man within like 3 frames of activating it, his super will be unblockable (Morrigan's 236pp as well). I remember Psylocke was another character I thought was aesthetically interesting, and for whom I spent a while trying to create some idealistic combo.
I think it was like Cyclops' multiple-jumps and backwards-hitting attacks that intrigued me with her. I think I started learning that style vs substance is definable once you develop your own interests; you can explicitly choose which route to go when creating something.
For example, this ruby heart combo https://youtu.be/uthC0ls5Vbw?t=1807 was just trying to include all the Schwarzeile patterns in one -- then on accident, I found out that DR-variation of the bug could hit anywhere on screen if certain characters were picked. I believe this video was sped up because I remember it took like 5 minutes for it to resolve.
57N)
https://youtu.be/uthC0ls5Vbw?t=2131 The super-fireball-collision stuff has a big watermark to my site 'cause I was paranoid that even posting it on the 'secret forum', it'd get posted somewhere else. Some of those ideas didn't get used for the FBC video, however I used a couple of them in Chaos Dimension, like the Guile-Megaman one, and the 2-spiral-mirror one.
At some point in the process of creating Chaos Dimension, I ran out of material, and spent a while just looking at old videos to see if I could come up with anything. I spent a while trying to refract my focus on what was possible because I wasn't used to controlling randomness, etc. The PS2 emulator allows the user to attempt a bunch of ideas that were un-approachable on a programmable controller due to their inherent randomness or in-game slowdown.
One of the hardest clips I did involving slowdown and randomness was a tiny one that was used for VA2: https://youtu.be/uthC0ls5Vbw?t=2290 Strider's Legion super both causes slowdown and has a random pattern. So I realized IT COULD BE kicked away by Cyclops, but it took forever to program because of the inherent RNG. However, since this is not an issue on the PS2, I ended up making an entire video of different characters nullifying Strider's Legion: https://youtu.be/vs7Sg5fwDe0
It's like puerile, but I remember feeling annoyed with how easy it was to create clips at some point. I ended up showing Joo and he understood what I meant because of how much time he spent using the programmable pads as well. It was such a huge-leap forward finding the 100% technique because we could do stuff like this: https://youtu.be/uthC0ls5Vbw?t=2357 -- Magneto's S.LP's ability to SJC is heavily dependent on the frame skip cycle, so just doing that infinite in and of itself wasn't really possible until we found the 100% technique to identify the frame skipping.
57O)
https://youtu.be/uthC0ls5Vbw?t=2495 this was one of the very first PCSX2 combos I did. The original 999 hit combo I did in 2007 for Variable Atmosphere 1 took like 3 weeks of summer-vacation while I was in high school: https://youtu.be/hx_xAmwENa8?t=552 .
The process takes 14 minutes at least -- and it was painfully protracted because in addition to the frame skipping, some parts in the combo cause the game to slow down, even in training mode, sort-of-throwing off the entire thing. I still-sorta feel kind of anxious watching this combo play back because I remember how nightmarish it was to make it. Watching it again, I realized I made lulls in the combo to wait for the slow down to go away before attempting to do the reflies.
The Magneto-War Machine reflies were always 'random' because if I tried them too fast, the inputs wouldn't get recognized right 'cause the game would be slowing down too much. So the PCSX2 version was one of the first combos I tried because of the memories I had doing the Dreamcast one. The 999 hit combo ended up being the last clip in Chaos Dimension https://youtu.be/JFGyVCzkHUM?t=2718 because the last combo in VA1 was a 3-character combo, and the last combo in VA2 was a 999 Hit combo. So using the PS2 emulator, I made a 3-Character-999-Hit combo.
57P)
https://youtu.be/uthC0ls5Vbw?t=2667 I redid Joo's Cyclops59 from Meikyousisui8. I think this was around the time I was thinking of doing meikyousisui5 using the program pads, and the VGA capture card.
In the case of Meikyousisui8, I would have had to re-program the entire thing using Joo's combo-transcripts he made. I remember watching this video as a kid, thinking that he managed to make Thanos' bubble-assist not feel like a copout to extend the combo. I don't think I possessed the vocabulary to articulate the feeling, but I kept wondering why he was able to 'make it look ok'. Honestly, the best way to put it is: they are crutches, so you better have good ideas in between the assist call to merit its presence.
I remember thinking about this stuff when I made this combo in the new Dhalsim video: https://youtu.be/em7R2fuzetg?t=693 I picked two 'crutch-assists' in Zangief-Y and Thanos-A. However, the combo-ideas I had made it feel like they could be presented in an interesting light.
57Q)
https://youtu.be/uthC0ls5Vbw?t=3046 I didn't know what to comment as it pertained to the resets in the neta video. I chose this one because I guess it encapsulated the attitude I had back then of utilizing the programmable pad to maximize Magneto's reset-potential, per-attack.
That is, I wanted to see what kind of stuff was possible using just-the-HK SJC. I did something similar for the 2LK, but I couldn't find the clip. As far as execution goes, I might have done like almost-half by hand, and the rest on the program pads. At some point, I started realizing that it was difficult to make a meritorious reset-clip using the program pads because I lacked the technical knowledge to make one. After doing a bunch of banal clips, I started finding like 1 or 2 things worth 'keeping' for a good video.
I believe that Magneto-Storm one was done in 2009, maybe. The Magneto Reset video I did with the program pad was super-basic looking back at it: https://youtu.be/Fpeqv4gPsUg I think I was 14 or 15 when I made it. I remember thinking that at some point, I wanted to make a good Magneto-reset video, and I felt like Chaos Dimension was a good place to incorporate it.
At first, I was just going to include Magneto resets in every single video in CD. At some point, I realized it was dumb, and I started trying to accrue resets for a singular video. I ended up calling it Magneto Revisited and I was thinking of releasing it after Chaos Dimension, or at the same time. But I scrapped it because I thought the clips were still bad in comparison to Chaos Dimension. I decided to just remake a big part of Chaos Dimension in 2015. I ended up finishing it in like late 2016 or early 2017.
By then, I had made the other Magneto video that was inside: (remix) https://youtu.be/Q465_K24gGw I was proud of this video because it felt like I finally realized this nebulous goal of making a video I was happy with; which is such a dangerously quixotic goal to have for this type of stuff.
57R)
https://youtu.be/uthC0ls5Vbw?t=3367 I believe this video is the first time I stumbled onto the Doom SJHK-quick-land thing. Back then I had no idea why it happened, and I didn't really understand it until recently. I think this clip was never used for anything, but it personally emphasized an inadequate feeling of understanding when I 'stopped doing videos' in 2010.
I felt like an idiot for never understanding why some of the stuff worked in the videos I did. That -- and I always kept the Magneto-HK-Throw-Bug in the back of my mind as "things I wish I understood before stopping" There was something super-satisfying upon completing the Magneto video in Chaos Dimension in a completionist way: https://youtu.be/marFI2k9u14?t=3272
The throw bug felt like I finally checked every base and excised whatever doubt I had about the quality of the video. I suppose it goes back to this like inexplicable predilection I have for Magneto. I ended up really getting into the game when I saw how much stuff he could do. I guess it was just-beginning then, and the Magneto video in Chaos dimension felt like I made something that would have made 13-year-old me happy to see.
57S)
https://youtu.be/uthC0ls5Vbw?t=3424 I vaguely remember the reason for making this -- I wanted to do a clip with these two characters, but couldn't. However, this idea lingered in my head, and Chaos Dimension became a good place to include it.
https://youtu.be/uthC0ls5Vbw?t=3527 This was the first attempt at the Spiral-Doom situation I did for Variable Atmosphere 2. I made it in like 2008, and didn't include it in anything until 2010. This clip is actually 3 different ones stitched together to look like 1 long one. I believe I had used the 100% technique to do them, but they were still so long, I had to make 3 different clips. However, the Variable Atmosphere 3 version ended up being sort of an abridged version of this clip. It was around then I figured out how the Doom SJ HK thing worked a bit, so that I could cause it on purpose: https://youtu.be/uthC0ls5Vbw?t=3585
It was a novel thing to see, and I didn't appreciate how exact-to-Doom it was at the time. It just looked super-interesting to me because it required this technical very-technical scripting to do something that looked so chaotic.
I mentioned that before, but I guess it's what draws me to MvC2 -- that it can look so hectic, but it's very technical at the same time. The Spiral-Doom clip was the embodiment of that, and thus my favorite clip in Variable Atmosphere 2, so I made it again in Chaos Dimension using the PS2 emulator: https://youtu.be/JFGyVCzkHUM?t=709 I figured that incorporating assists into the interplay would be a way to up-the-level of difficulty in the clip.
57T)
https://youtu.be/uthC0ls5Vbw?t=3660 This clip, and the next one with Strider-Ken felt like they could have been good and interesting, but I never had the time to figure out how to remake them to get something out of it. Moreover, I looked at trying to make them again for Chaos Dimension, but ran into the same problem.
Sometimes the clips get too far afield, even for me -- and I feel like it's better to just avoid them altogether. There are some exchanges between the characters that appeal to me, but I couldn't sustain a whole clip's worth of material.
For example, here: https://youtu.be/uthC0ls5Vbw?t=3732 I wasn't able to figure out which parts of it I liked enough to include for Chaos Dimension, so I scrapped it altogether. I realized that I can make 1 long clip or like 5 short ones that I can intersperse throughout. It got to the point where I had like 500 clips for Chaos Dimension. As I was editing, I'd get ideas for content, then I'd have to figure out how to incorporate it into the video. I ended up in this cycle of refinement that took like a year+.
57U)
https://youtu.be/uthC0ls5Vbw?t=3846 This was the first iteration of the Morrigan-Wolverine Situation from Variable Atmosphere 2: https://youtu.be/9993gSuhyBA?t=236 This was the first clip where I really messed with having 4 characters on-screen doing stuff based on what each other was doing. I don't think I ever did another clip that was this involved, and I'm happy I went through that first revision, because I had some insights on what I could do on the 2nd attempt.
If I recall correctly, this clip took almost a month of time to make since I went over it twice. There was a bunch of stuff I wanted to leave out, and other stuff I wanted to optimize. Putting it all together for one clip felt like its own challenge as well.
I didn't really appreciate a lot of Joo's content until I finished Variable Atmosphere 2 and his DVD. It felt like I gleaned a new perspective for the art-side of making something, as well as the science-side. Their harmonious existence is the je ne sais quoi that makes the whole endeavor so tantalizing. Like, getting the music and the content to work on multiple levels is really satisfying, I kinda learned then that you can't force creativity into existence or whatever.
It's like just having the will to do something won't facilitate its existence any. I remember it took a month to do the Morrigan-Wolverine clip because I kept running into 'writer's block'. Joo mentioned that keeping the Excel files as a 'notepad' of ideas was helpful because it instantly provided the tools with which to embellish and maximize your idea if you systematically organize everything.
57V)
https://youtu.be/uthC0ls5Vbw?t=3958 This clip represents my own abundance of ambition woefully backed up by a lack of creativity. I've tried to make a good Spiral-Cyclops situation clip like 4 or 5 times now, ranging from 2009-2020 (https://youtu.be/RRZ2IHRW3gI & https://youtu.be/marFI2k9u14?t=18239). I can never make one clip that I feel happy with. I think I have to write down all the disparate ideas, and maybe record them -- then arrange them together like a puzzle that only has one solution.
57W)
https://youtu.be/uthC0ls5Vbw?t=4036 These Shockwave-FSD clips were something I wanted to include in a video that I was supposed to make with Joo.
Like we quixotically decided to collaborate together for a combo video, but it never happened. The FSD with the Hyper-Grav -> Mash -> Tempest was going to be one of the clips for that video.
When I started to use the PS2 emulator for Chaos Dimension, I showed Joo how easy it was to create content that would be next-to-impossible using the program pads, and he thought about trying to learn and make his own content, but he couldn't' find the time to do it. So I didn't show him any of the clips that went into Chaos Dimension because I wanted to pay him back for never showing me anything he made in his DVD until it was all complete.
That sounds weird, but doing this stuff at this level makes it hard to be surprised by something, so it's always a welcomed thing. His DVD combos blew my mind when I saw them, and it felt like this crazy Christmas gift in 2008. So I wanted to be able to elicit that response from him with Chaos Dimension. I made Chaos Dimension twice, essentially, and didn't show him until 2016 -- and he liked it a lot, and mentioned that it was cool that he didn't understand a lot of the material in my video. It was probably the best compliment I've ever received.
Given as how I had known him almost 20 years, and was never able to show him something he really liked or was completely new to him. I believe most of the neta content in the video was at some point shown to Joo in some capacity, and I decided to write on the meta-context of these clips as it affected my perspective in creating content. L
ike through the vicissitudes of doing MvC2 content, I learned a lot of stuff. These neta clips cause me to remember my own state of mind as a person back then. Most of the clips are relatively simple, but they are cogs in a larger part of what I did or will do.
58)
https://youtu.be/Mj4DgpJjhkY
While doing the MIS video, I found a weird bug. It's possible to influence Sentinel's Drones during Magneto's Shockwave-Flying Screen if Sentinel is Assist 1. Anotak tested other characters and assists, and was not able to yield any atypical results.
There must be something inherently different with Magneto's Shockwave as it somehow affects Assist-1-Sentinel's Drones while Flying Screen is active.
59)
I made this a while ago using shape layers in After Effects, but didn't have a reason to use it until the blog came up. Most of the translation came from the ASCII Stick manual which contains more English than the programmable controller's manual.
The stuff on the left side of the screen pertains to Turbo+ functions it can do per-button. There is also an ability to loop things using one of the buttons. This was helpful for simple infinites as you could just set the program pad to loop them forever.
https://youtu.be/l-rCEi-Utgo
The infinite achieved using the 2-Character setup with Rogue to allow for the 999-hit bug. The programmable controller was set to loop the slide infinite.
As I mentioned, I believe this controller might have been created in collaboration with Capcom as Ryu appears in some of the official ASCII papers that come with the pad. The pad was definitely created with a 'special' type of people in mind as it allows for maximum granularity in the content-creation process that it can be overwhelming.
60A)
The MSS Video: https://youtu.be/aGVlSZpK3ME
The MIS Video: https://youtu.be/ly4UUpGdKPw
Were both kind of made on a whim. I tried to include some doable-by-hand stuff, but felt like it was mostly an exhibition of synergy and ideas that could be granularly incorporated into gameplay given some effort.
MSS Video Notes:
Like I mentioned, I didn't know where I was going to go with the video before I made it.
https://youtu.be/aGVlSZpK3ME?t=42 I was trying to put seldom-seen, but doable stuff like the Storm FSD follow-up into Magneto.
https://youtu.be/aGVlSZpK3ME?t=54 I put some flight stuff into it as it was one of the last things I practiced by hand a while ago. It's not 'too-hard', it just requires strict timing on the 2MP-Flight cancel, and the Airdash-Down-LK afterwards. Sentinel Drones allow Magneto to follow up with a throw since they cause the dummy to bounce after being hit that-low-to-the-ground.
https://youtu.be/aGVlSZpK3ME?t=64 I wish this was not so hard to do, because it'd be cool to see it done in a match. However, it's predicated on the position of the tag-in, as it will result in whether or not the follow-up will be unblockable – it's also a 1-frame link that requires unfly before it happens.
https://youtu.be/aGVlSZpK3ME?t=69 I wanted to show how to get out of Magneto's 2HK cross-up, and Sentinel's 2HP unblockable as it could happen in a match.
60B)
https://youtu.be/aGVlSZpK3ME?t=79 I believe I included this idea twice in the video because they each had different timings or setups. https://youtu.be/aGVlSZpK3ME?t=266 It's possible to the Typhoon bring back a dummy who has been snapped out – however the timing is kind of difficult.
https://youtu.be/aGVlSZpK3ME?t=89 This 'infinite' was something I figured out in like 2015, while making the Magneto Reset video for Chaos Dimension; I knew it was possible with Sentinel, but I had never tried it with Magneto.
It's surprisingly easy to do as long as the S.HP hits from behind. From there, it's just about waiting for a bit before flying and tapping down to catch Sentinel with a LP-MP chain. I believe the LP-MP chain breaks his Super Armor in 'one hit', that is, both hits connect fast enough that if Sentinel was not already blocking before being hit, he will not be able to.
https://youtu.be/aGVlSZpK3ME?t=101 this is something that may not be possible with Storm's projectile assist. The drones hit stagnated and late enough that it gives Magneto time to get the unfly-follow-up.
https://youtu.be/aGVlSZpK3ME?t=134 This might look easy, but it's kind of hard since Sentinel's HK-Drones & Plasma Storm super come out kind of slowly. Meaning, that there isn't much leniency in doing the action after the Unfly-HP connects. From there, the DHC has to happen right after the first hit since it brings them toward Magneto's Shockwave.
https://youtu.be/aGVlSZpK3ME?t=145 I wanted to show that it while it was possible to go from Storm to Sentinel (on Sentinel), it was not possible to get an unrollable follow-up.
60C)
https://youtu.be/aGVlSZpK3ME?t=162 This variation of Magneto's infinite is possible by doing a QCB/F upon crossing Sentinel from underneath. This technique basically lets Magneto stop his dash's momentum, and immediately-face Sentinel, allowing him to follow up after crossing sides.
https://youtu.be/aGVlSZpK3ME?t=179 This Guard Break is kind of unique as it uses the Super flashes to bide time for the GB to occur. Sentinel's Plasma Storm comes out quick enough to hit before the dummy lands.
https://youtu.be/aGVlSZpK3ME?t=206 I wanted to show that the Hard Drive super tends to cross Sentinel (dummy) up in the corner due to the hitboxes. Furthermore, the Flight-Mode version of the super prevents Sentinel from comboing afterward. The Flight-Mode version forces him to sort-of-hover a bit before he lands, whereas the Unfly/Normal Jump/Super Jump version does not. https://youtu.be/aGVlSZpK3ME?t=274
https://youtu.be/aGVlSZpK3ME?t=210 This is super-esoteric. It's possible to force some projectiles to come out from the 'other side' of the screen by throwing the character 1 frame before their projectiles materialize. In this case, one Sentinel threw the other 1f before the Drones came out – this forces the Drones to come out from the 'wrong' side.
https://youtu.be/aGVlSZpK3ME?t=222 I think this is a bad example to show the idea of dashing-on-the-first-frame-of-landing. This ability allows the character to call their assists from the side they were originally facing. In this case, Storm comes out from the left side because Magneto called her a bit before he landed, but prevented her from coming out from the right by back-dashing as soon as he landed – preventing him from turning around. This was shown again a few seconds later: https://youtu.be/aGVlSZpK3ME?t=238
60D)
https://youtu.be/aGVlSZpK3ME?t=252 Sentinel's version of the corner-infinite. There is a small window to catch the opponent before they turn around during this setup. Sentinel's flight mode allows this to be a 'real infinite'.
https://youtu.be/aGVlSZpK3ME?t=285 This concept has been around for a while, but it's not super-hard to do as the hardest part is figuring out how to mash the Plasma Storm long enough for the HK-Drones to connect right. From there, there is a lot of time to follow-up as they have a lot of stun.
https://youtu.be/aGVlSZpK3ME?t=309 Magneto's SJ.2LK hits Sentinel while he is crouching; as does his SJ.LP.
https://youtu.be/aGVlSZpK3ME?t=344 This setup is rare, but it's possible to do Unfly/Refly stuff on a standing character. I wanted to show the realized-follow-up that lead into a super.
https://youtu.be/aGVlSZpK3ME?t=350 I thought this was the only version of Sentinel's standing infinite when I did this. At some point, I asked Joo about it, and he said that he thought it was possible to make a true-infinite by using Unfly LK-HK instead. In this case, the MK moves Sentinel too-far away from being able to follow-up.
https://youtu.be/aGVlSZpK3ME?t=383 The Y-Boost allows Sentinel to follow-up after the Hyper Sentinel Force.
https://youtu.be/aGVlSZpK3ME?t=450 This cross-up is kind of hard to do because the Air Dash has to be timed right so that he Magneto can stay on the original side by holding back while-doing the HK. However, it's something I practiced for a while – the hardest part is judging when it's OK to ADDF since it's kind of tricky.
https://youtu.be/aGVlSZpK3ME?t=466 I thought this was a cool way to show the Force-Roll setups. Sentinel's Drones allows Magneto to call him 'twice', and follow-up after the Magnetic Shockwave as a result of Sentinel's body acting as a wall.
60E)
https://youtu.be/aGVlSZpK3ME?t=513 This setup is really rare, but it's definitely possible. There is workable amount of lee-way in doing the HP-Throw glitch. It's just doing QCB+LP over and over while Sentinel has the dummy in his arm.
https://youtu.be/aGVlSZpK3ME?t=519 This was the infinite that Joo wondered about. He was never able to program it, and I saw why; it's very strict. In fact, I had to use the pause-un-pause technique to allow a particular frame to exist in order to continue it. The whole infinite is a just frame link, of sorts as you have to be careful how you buffer Fly-Unfly.
https://youtu.be/aGVlSZpK3ME?t=537 From there, a technique I found a while ago that lets Sentinel always-get-close to the opponent was used. In the corner, Sentinel can always follow-up with an Unfly-LK if the LP-HP is delayed a bit. In this case, Sentinel only does it a few reps, but the technique shows the level of delay necessary to bide time for the dummy to lower a bit before getting hit by the Flying-HP.
I wish I had shown it as long as I did in the MIS Video.
61A)
https://youtu.be/ly4UUpGdKPw?t=31
This is an old infinite, but it's really hard to do so there's almost no footage of it. It randomly popped up into my mind when I was recording, so I included it. The timing is very strict, and it requires holding up for a little in order to allow her SJ.HP to connect.
The follow up right afterwards is kinda special-to-Magneto since he's a bit taller than the other characters. Moreover, it required her air dash to come out at the fastest possible frame, not always available due to frame skipping.
https://youtu.be/ly4UUpGdKPw?t=35
The technique of doing a QCB to stop the characters dashing momentum shows up here. Magneto calls Sentinel before dashing, then stops his dash by doing QCB, LP.
https://youtu.be/ly4UUpGdKPw?t=46
I don't know how much damage this does, but I'd imagine it'd be north of half-life since it contains 3 Rocket Punches. Out of all the stuff in the video, this is probably worth-learning since it can do a ton of damage without meter.
https://youtu.be/ly4UUpGdKPw?t=59
The Knee-dive can recover right away if it hits very close to the ground; otherwise, Iron Man will pop up back and away after connecting. I also wanted to show how he can do instant-overheads on Sentinel (and follow-up with Magneto).
https://youtu.be/ly4UUpGdKPw?t=63
Iron Man can get ambiguous cross-ups using his S.HP on Sentinel. I showed this was possible mid-screen later on.
The other thing about that moment is that HP->HK produces an instance of Chain Unfly. That will let Iron Man attack after he does Fly -> Unfly.
61B)
https://youtu.be/ly4UUpGdKPw?t=72
This is an unblockable. A DHC is done right before the character lands on the Proton Cannon. The follow-up after FSD with the 2MP was meant to show how easy it is to tag from it – at least into Sentinel his tag comes in at an obtuse angle. The follow-up combos also show more 2MP combos leading into Iron Man assist: https://youtu.be/ly4UUpGdKPw?t=92
https://youtu.be/ly4UUpGdKPw?t=107
Iron Man can also do that cross-up Fly-Infinite that Magneto and Sentinel can do on another character in the corner. Iron Man's refly lets him keep doing it as an infinite, like Sentinel; Magneto can't refly, so it's only as long as his flight timer.
https://youtu.be/ly4UUpGdKPw?t=138
This is a variation to the ROM Infinite I found a while ago, but it doesn't have practical uses outside of positioning Magneto; and even then, there are easier ways of doing it.
https://youtu.be/ly4UUpGdKPw?t=146
It was around the end of the MSS video where I found that Sentinel's S.LP can be used to cross-up another Sentinel after knockdown or incoming (https://youtu.be/ly4UUpGdKPw?t=256). But since this almost never happens with MSS, I wanted to use it for something else.
In this case with Iron Man, Sentinel has an opportunity to use the S.LP to cross-up another Sentinel, but the timing is a bit tricky. However, it's probably one of the faster-cross-ups he can do. https://youtu.be/ly4UUpGdKPw?t=155
https://youtu.be/ly4UUpGdKPw?t=190
I was surprised Iron Man could follow-up the way he did in this case. I guess Storm's hitbox is small enough where she doesn't land on the ground, even though she's very close to it. The S.LK causes the opponent to pop-up a little bit, and his SJ.LP is fast enough to follow-up.
The amount of stuff he can do on a character after his 2.MP mostly depends on their hitbox. Out of the big 4, Storm has the 'tallest' air-hitbox (disregarding Sentinel).
61C)
https://youtu.be/ly4UUpGdKPw?t=206
It's kind of a small thing, but I wanted to highlight Sentinel's S.LP knocking the character down – allowing him to get a reset afterwards; whereas his S.LK doesn't knock the opponent down that way, facilitating different types of follow-ups.
https://youtu.be/ly4UUpGdKPw?t=213
This combo requires strict positioning so that Sentinel can recover after the LK-Drones. It's also a bit difficult to hit them staggered that way.
https://youtu.be/ly4UUpGdKPw?t=220
Although it's kinda rare to get a combo up to that height, I wanted to show it's possible to knock down into Iron Man from the very-top-of-the-screen. Sentinel's J.HP has a lot of stun, and it's possible to hit them down onto Magneto and Iron Man's assist from the maximum distance.
https://youtu.be/ly4UUpGdKPw?t=235
61D)
This was kind of amusing to do since most assists don't allow for a follow-up after a variation of Magneto's HK-Throw bug. To do it, you have to call Iron Man, then do a HK throw and do QCB+LP/LK repeated while Magneto is grabbing them. If done right, he'll let them go in a weird way, directly into Iron Man's assist. Second example: https://youtu.be/ly4UUpGdKPw?t=290
https://youtu.be/ly4UUpGdKPw?t=271
Similarly, Sentinel can do the same thing into Iron Man as well. The method is the same as Magneto, perform QCB+LP/LK repeatedly while Sentinel is grabbing the opponent.
61E)
https://youtu.be/ly4UUpGdKPw?t=299
This whole thing was something I had in the back of my mind a while ago. I thought about the possibilities of using Magneto's SJ.LP/2LK on a crouching Sentinel for really fast instant-overhead sequences.
The whole thing is really difficult by hand, and it was done as an amusing way to get the characters into the corner, and to see what it looks like when Magneto does stuff as fast as possible.
The S.HP is also an infinite in the corner, but it's very difficult to do; I kinda wish I had done more than 4 repetitions of it, though.
https://youtu.be/ly4UUpGdKPw?t=341
This combo is dependent on the positioning. Iron Man has to be right under Sentinel, and as close to the edge of the screen as possible so that he can recover after Sentinel's Drones hit.
https://youtu.be/ly4UUpGdKPw?t=361
This variation of the Shockwave happens often on Sentinel, but it never occurred to me to try this follow-up. The only hard part is timing the air dash before Flying Screen reactivates. From there, it's just linking his SJ normals.
https://youtu.be/ly4UUpGdKPw?t=402
I wanted to show that, like Sentinel, Iron Man's 2.HP has a lot of stun, and can be used to combo into assists from the very-top-of-the-screen. Following-up is kind of difficult because of how slow Iron Man's air dash is.
https://youtu.be/ly4UUpGdKPw?t=423
I wanted to use this to show that Iron Man can do unique stuff at the very top of the screen because of how his normal are. However, the follow-up after with the FSD-Dash 2.HP was on accident.
Flying Screen Deterioration cancels the 2.HP's recovery after he releases it, allowing Iron Man to follow-up.
61F)
https://youtu.be/ly4UUpGdKPw?t=443
It was here that I accidentally found that Sentinel's Drones are moveable during Magneto's Shockwave's FS.
It was so bizarre, even after testing it, it's only Magneto's Shockwave and A1 Sentinel's Drones; it's super-particularly.
In this case, Sentinel's Drones were nudged up a little bit so that they'd stay on-screen longer, allowing them to hit after Magneto's Shockwave finished.
https://youtu.be/ly4UUpGdKPw?t=466
I found this in the last video. The particular set of Refly movements that always get Sentinel near the character in the corner to follow-up. It's just 3 Refly LPs, then delay the HP so that the dummy has time to lower themselves a bit before being hit; otherwise the HP will whiff.
I know reflying like that is difficult and there are only like 3 people who can consistently do it, but that's a way to guarantee follow-up and I wanted to show it to the umpteenth degree to kinda 'prove' that it was an infinite.
062)
https://www.youtube.com/watch?v=krvcrvZdxGY
I'm not sure what to call this timer/counter/meter. I refer to it as Block Meter because it increases as the character blocks, but its value kind of rules over a set of mechanics in the game.
In the case of the clip, the particular number is not important, as long as it is greater than zero. The second part of the clip is the Super-Jump-Guard technique. This allows the character block anything while the "Block Meter" value is greater than zero.
Furthermore, while the value is greater than zero, Ryu won't be able to attack at all; the character can only 8-way-move, dash, or Super Jump.
This Block Meter is also responsible for a few other things, but I'll elaborate on them in another post.
I was thinking of making a medium-sized tutorial on a bunch of the advanced mechanics I've found over the years of using the PCSX2 emulator. Most of them were found after Chaos Dimension – and some were incorporated into the Dhalsim Revisited video.
63)
https://youtu.be/UQXSskACdL4
I data-captured the Magneto 2HK loop VS Servbot. I'm not sure why, but Servbot's Y-Pos goes from 24 to 0 in one frame, and Magneto's 2HK can't hit as a juggle.
I'm thinking it has to do with raised-gravity for some reason, or just due the positioning of the 2HK and all the effects of the frame skipping from one loop to the other.
64A)
https://youtu.be/T8Wr0eMSfck
I wanted to create a system of automated compositions for all my MVC2 HUD stuff that gets made in After Effects.
Since a lot of it is repetitive and sorta-simple, I made a few templates that get launched through a script. The original process is to create and script a composition, then I use another script called CompCode that automatically saves my composition as a JavaScript file; which I can then launch any time I want.
The video shows how the MainPath controls where each script is looking for data. The compositions that get launched from the panel all take their global-path from the "PathString" comp. However, there's also a switch to toggle it to a "Local" path – which is a text layer in its own composition.
The new few demos are the Timer and Camera Y-POS to show the rows, and rounding options. Most of the compositions are the same – the only unique combos are the ones that start with "T_" (for template.)
The first template comp is the Combo_FS_Callout one that has the basic display info that most-every clip will contain. There's options to toggle the visibility of the FS Flag and Callouts, so only the Combo Meter could be left on its own.
Each comp is set up in its own vacuum since each clip is its own entity. So changing colors, sizes, and fonts won't affect the other compositions unless I script them to do so.
The Inputs and are probably going to get changed a bit to just include both sides by default. At first, most of the clips didn't need to show both sides' inputs, but it's not too distracting, and it saves time to have them both display at once instead of importing two versions of the inputs comp.
64B)
The next thing the Characters_Type2 composition which has each character's portrait lined up by seconds. The other comps going forward that need to display a characters' portrait will use this comp to get the image.
There's a slider set up whose number corresponds to the character based on its timestamp in the Characters_Type2 timeline.
For instance, that X_BAR file is a generic file that can display any data in a P1/P2-style skewed-bar. In this case, I wanted to show Anakaris' Health.
Although I didn't show it much, there's a necessary syncing process before the video and data line up. It involves aligning the video file to the data since the data is always going to start at 00:00. From there, I just lock the video file so that it can't be moved.
The particular clip uses and idea Joo had to use Anakaris' unique Normal-Jump mode kicks to allow Iron Man to combo a Flying 2HP to Smart Bombs.
Anakaris has to be facing away from Iron Man or else his foot will always trade since it has a huge hitbox.
64C)
I think I might make a tutorial video on some of the advanced mechanics discovered since Chaos Dimension. Some of them were used in the Dhalsim video, and others haven't been used at all. I kind of wanted to use the After Effects HUD-stuff with the MvC2 data for something, and a tutorial is probably the best way to properly show that stuff.
I feel it's too distracting for a combo video. My current plan was to just use the Combo Meter and Inputs for each clip. I'd probably omit using any other data types as they'd be too distracting with the complicated, and fast-paced content.
The Dhalsim video's overall rhythm felt slow enough to use a bit of the data since all the setups were shown in some way; and the video wasn't synced to the music as an overarching style choice.
65)
https://youtu.be/EfeKT7_qDwk
I was testing out how well Adobe After Effects' 3D Camera Tracker works with the stages because I wanted to use Anotak's Linear Interpolation Camera Script (https://www.youtube.com/watch?v=WpjzYd4A0n0) to do very long (~ 1 minute) camera movements, and have points get tracked so that I could stick text onto them for a tutorial video.
The idea is nascent, but later on in the video, it shows how a bunch of text layers would look, glued onto the stage: https://youtu.be/EfeKT7_qDwk?t=61.
There are some stages that look OK when the camera is zoomed out, like the Carnivals, Training, and the Factory. A lot of stages do not have material to get rendered after the camera zooms out even a little bit, like the bridge stages and the caves.
I thought it would be an interesting way to have information delivered, but it might take away from the video unless I can glue the tutorial-video-content on the screen as well, so the text and the tutorial-content are both on-screen at once. Something like this: https://youtu.be/em7R2fuzetg?t=1327
066)
https://youtu.be/trNpOHAVHrk
This was a composite test of how I wanted to present the Block Meter information as part of a tutorial video. However if I use the previous post's idea about placing the video inside of a stage, I'd probably use training mode with 0 HUD info, and keep the Block Meter box somewhere else on screen, maybe.
This clip contains a lot of information that's not explained at all, but basically that Block Meter is an invisible trigger for some mechanics. For instance, if P1_A has it, and is on-screen at the time as the point character, all of Player 2 can be affected by it. This previous clip shows another aspect of the Block Meter Mechanic: https://www.youtube.com/watch?v=krvcrvZdxGY
The main effect of the Block Meter is that it allows characters to land faster if they are doing an attack in the air. That is, they will be put on the ground 1F sooner than normal if they are doing an attack. This has some practical effects, but it's difficult to tell when it's active.
Anyway, I wanted to use the 3D Camera Tracker idea, so I might re-record the clip in training mode, and find which stage I can glue it on as part of a tutorial. There were about 9 or so techniques/ideas I wanted to show, and I think I could different stages to show the videos onto, along with the text and HUD information pertaining to the mechanic.
The new version of After Effects introduced the ability to create template-compositions that retain a granular level of customizability. It took a while, but I put together a bunch of templates for the staple-HUD items that I would use for any future video, taking out a lot of tedious work from it.
Most of the templates are scripted together using expressions/javascript to establish customizable relationships between the images, text, and whatever else – so the design changes can be expeditiously applied.
067)
https://www.youtube.com/watch?v=IrJRvABesdI
Shoultzula sent me this infinite concept for me to try. It was kinda hard to do consistently since the J.LP has to be done as soon as possible most of the time. From there, Strider can wait a while before doing the J.LK. Then, it's about waiting enough time for Strider's declivity to begin, and then go into J.MP, followed-up by a J.HP as late as possible.
The main component to getting at least one repetition of this infinite is to wait to press the LK almost as late as possible after the J.LP. From there, it feels kind of intuitive to wait for his descension to begin.
I included a bunch of the extraneous data to give insight into what's going on in the game during a very frame-specific infinite. I included the velocity since it mattered in following-up after the J.HP. The lower the number, the easier it is for Strider to follow-up.
068)
https://youtu.be/Pw-5YEz1AUw
This is a test composite for an idea a long time ago when I was a teenager. It's just green-screening MvC2 to put the sprites doing stuff on any background, but getting there took a while.
Cheat Engine was pivotal in being able to remove the HUD, and let the characters go beyond the X-boundaries in the game (-1280, 1280). In this case, I removed everything but the sprites, and moved them to like 26,000, according to the X-Camera. At this range, the super-screen (the blue screen with the meteors) doesn't even appear.
The camera movements were done using Anotak's linear interpolation script to automatically move the camera based on how many 'steps' I decide on. In this case, I chose 5000 steps to move from my point A to point B. This equals around 1 minute and 13 seconds worth of movement. I suppose I have to record the combo/video footage for my idea, then plot out how long the camera movement will take afterwards for it to make sense.
The effect that gets rid of the black-background and turns it into an alpha matte is called unmultiplier, it uses the black of a video to create an alpha channel which allows for transparency.
I added an extra drop shadow and outer-glow (black) to push more darkness into the clips so they aren't as transparent after applying the Unmult effect.
Once I capture the camera movement, I use an effect called 3D Camera Tracker which plots points on the footage: on which the user can stick video/images/text to appear as if they are seamlessly interconnected in the video.
My idea was to make a tutorial about advanced MvC2 mechanics found since Chaos Dimension, and display them in a style similar to this. I would use different stage, probably record all the clips in the black-background style so that I could incorporate them into the stages once I do the camera-movement recordings and 3D Camera Tracker stuff.
069)
https://www.youtube.com/watch?v=Sk7vl1ubUDI
An After Effects plugin called Mocha was used to track the plane on which Amingo was posted. It's good for tracking points, and walls which are affected by 3D camera animation.
I don't think I'll put full-videos on anything like I was originally intending. I don't think it ends up looking good enough to merit the whole process, and supplant the extant workflow I've established.
However, I'll probably use it for some intros and editing sequences in videos as it does a much better job than After Effect's native point-motion tracker. I can use Mocha to glue text or images as part of intros or just to subtly include stuff inside of combos.
070)
https://github.com/lord-yoshi/MvC2-CE-Trainer-Script
I used Lord_Yoshi's Cheat Engine script to program a combo-setup -- for a combo I've wanted to try to do on an emulator for a long time: https://youtu.be/9hxs47Y3Qdo
The CT-Script allows the user to import TXT files as P1 and P2 inputs, which it will then precisely perform each time, as long as the game's save-state is in the right place.
In this case, this script works on multiple stages as long as it starts at the default positions at the very start of the match.
Once Dhalsim dashes back, his only readable commands are to increase the speed of his intro taunt -- which causes Shuma to bounce around erratically: https://youtu.be/EjQClCM5huI
This setup was done like 5 years ago for Chaos Dimension -- and I lamented that I didn't have access to an emulator so that I could systematically test and push the possibilities of this idea. https://youtu.be/pPGT5yieICA
071)
https://youtu.be/HTUa1uXGFAw
When i started doing the Dhalsim Revisited video, I didn't expect to figure out a lot of mvc2-inner-address stuff. Cheat Engine, the program I use to hack the MvC2 RAM has a huge learning curve if the person's interested in delving deeper.
Recently, LordYoshi's MvC2 script helped me figure out how to find particular addresses and values that are useful for the stuff I do in Adobe After Effects.
Using Lua, Cheat Engine is able to do a bunch of stuff, including outputting a CSV file out of what's going on in-game, in real time. Using Microsoft Excel, I put together a huge list of "Labels" for Cheat Engine to write. These labels pertain to my Cheat Table's address' description. So Player-1-A (first character)'s Y-Position is labeled as: P1_A_Y_Pos.
At this point, I have 450 labels; so every frame, Cheat Engine is writing 450 values into the CSV file when I capture data. It seems excessive, but there's a lot of repeated values since there are 6 characters loaded at once.
The CSV ends up being huge because I capture the data multiple times to ensure there are no empty/skipped frames (as a result of it being so many items). Once the data capturing is done, I process it using a program that Joo wrote for me that removes duplicates, sorts it by Total Frames ascending, and converts the inputs from Decimal to a notation that I use in After Effects.
This is what the final data-capture file for the Iron Man combo ends up being. There's 450 columns, with hundreds of rows.
072)
https://www.youtube.com/watch?v=XuWfNPqBB58
I wanted to show what it looked like to zoom out the Z-Camera to "9000" from its default (usually unchanging) value of 812. I'm not sure what units it uses to measure, but if those numbers are changed, the camera will zoom in/out.
This idea kinda warrants it, but the PS2 version of the Z-Camera doesn't set the sprites right when it's zoomed out. Plus, a bunch of stages and other 3D effects don't translate well.
So I'm not going to release the clip this way, but it helps to see what's going on:
Psylocke's LP-Psyshot causes a lot of Y-Boost when she teleports right when it hits. From there, Blackheart's HK-Demons change Psylocke's stun after Silver Samurai's super hits and sets Flying Screen.
In order to keep the combo going as a standing-combo, Silver Samurai's HP had to hit on the very first frame Psylocke lands, or she'll go into the air -- and after bouncing, won't get comboed.
Since Flying Screen is active, the screen keeps shifting to the left to follow Psylocke while Silver Samurai is hitting her. From there, SS' 2HK/Sweep-animation gets canceled by FSD, and he is forced to FSD-Dash back on-screen.
This combo idea is something I've wanted to do for a while, Joo used this idea in his DVD with Spider-Man: https://youtu.be/El84-G4wTI8?t=1888
073A)
https://youtu.be/yoBlp8OgmSQ
Recently, Lord_Yoshi' helped me figure out how to find and fix the Z_Sprite camera value. From there, he updated Anotak's Camera-LERP script to automatically animate the MvC2 camera by writing a value to its XYZ addresses every frame.
The video shows the finished script -- particular to the redone Silver Samurai combo (the Factory stage looks better when it's zoomed out).
The first stuff in the script activates AutoAssembly-scripts I wrote to automatically prevent MvC2 from writing to the camera on its own. By doing so, the user can input changes to the camera's XYZ values without the game's interference.
When the scripts are activated by the Camera-Script, the game stops controlling it, then when the Camera-Script finishes, it gives MvC2 control of the camera again, allowing for seamless animation/transitions between the custom-camera stuff and the game.
The bottom of the script (after all the pointers and functions) shows the 8 camera movements the script performs after activating.
I used Excel to help me time out the frames each animation took. For instance, the first line says frames = 80, this indicates how long that particular animation will last. In this case, it just holds the camera still while the game progresses, and starts the other stuff after 80 frames.
I use the total frame counter at the very top left to help me figure out where and when I want stuff to happen. It helps me get a sense of how long to time the animations during different chunks of the combo. In this case, the camera animation is supposed to start at frame 6561.
073B)
The second half of the video is the process of removing the HUD and shadows from the clip. This process has undergone multiple iterations since its inception in like 2018. Back then, I had NO idea what I was doing and I didn't ever plan on being able to remove the HUD and Shadows at will.
Now, I don't know what I'm doing for a different reason. A while ago I posted a question-topic asking for help on expediting my HUD-removal process on the Cheat Engine forums, and a user named Panraven replied with a method that uses AutoAssembly to calculate every group of addresses in one script. I tried to do it, but it was way too technical for me. He graciously ended up doing pretty much all of it after I provided him my table. I just filled in some names and AOB values.
The video shows the Lua code he wrote, followed by the AutoAssemble stuff that contains the Array of Bytes (in green). It automatically finds and sets the right addresses for each entry in the respective group.
After it finds everything, I just press F20 and it sets the values to some number which removes the HUD items from the screen.
The last part of the video deals with the shadows. They are in a pool of addresses and I can't just "clear them" because they sometimes don't exist until they are needed.
For instance, at the very start of the round, there isn't a way to clear Silver Samurai's address since he's not on-screen at all. Moreover, if I 0-out the value, it can create errors in the playback, or prevent the replay from executing correctly.
Anyway, the video shows the excel-counterpart to this Lua file that contains like 70 Shadow-AOBs for each character+. For instance, BBHood's Dog, Strider's Tigers, Jill's Bird, etc.
It wasn't hard to find any of them, it's just monotonous because I wouldn't know which addresses were 'right' and which ones would break the replay.
The script I wrote executes the search for the AOB according to which character I set, then creates an address in the main table with its value already frozen and set to 0.
If multiple addresses are found using the AOB scan, it performs that action for each address found. This is really useful for Legion or Servbot-related shadows as there's always a bunch of them on-screen.
I repeat this for whichever characters I need. Although recently, I updated the code so I could include multiple characters at once, and have the script loop through each character's AOBs. That way I don't have to execute the code multiple times.
It takes a bit of time to execute, and it doesn't check for duplicates, but it works
The last part of the original video is just 0'ing out Silver Samurai's ability timer, then replaying the final version with the attendant camera-animation.
074)
https://youtu.be/ZD8yx3t91_g
Recently, I updated my Cheat Table and the script to include a lot more addresses that were derived from Lord_Yoshi's MvC2 Table: https://github.com/lord-yoshi/MvC2-CE-Trainer-Script
As a result, I also updated the Lua script I use to write out a CSV in real time. The processed CSV is still huge by regular-CSV standards, but it gets broken up by a PowerShell Script that makes a JS file for-each column in the CSV.
The attendant CSV file for the clip is: http://magnetro.com/Combo_BBHoodGuileCammy63_F.csv
I also created a few 'information-table' compositions in After Effects that contain static and changing-data pertaining to the clip in use. I've already implemented some stuff with switch statements that automatically fill in the color and text of some items. That is, using Javascript in AE, I set it up to automatically recognize which colors and characters are being used in the clip, so that it can fill in certain values; automating the whole process for me.
That's what all that information on the clip is -- various data sets I'm rigging up to automatically fill in text, colors and other types of info so that my animations can automatically construct themselves.
Back in 2018 when I started this whole thing, I would have never imagined that it would have gotten this automatic and whatnot. I think it was important for me to get better at doing this stuff quickly because of the time constraints of doing 'this' for multiple clips.
At least with the Dhalsim video, there were only 17 clips and since I embellished the presentation for each of them with After Effects-animation-stuff, I didn't have to focus on expediting the process since it was only done once or twice.
I don't plan on showing all that extraneous information in any public combo video, but at some point I might make a process video on this thing.
075)
https://youtu.be/T_-a7zByaiQ
This combo is a collaboration between Joo and I as we both came up with half of the material. The data was included to show various stuff going on during the clip. Some of it is used for javascript-animations in Adobe After Effects.
Storm's float mechanic allows her to move left/right and sorta-up/down during any of her normal-attack's pre-and-post hitstop states. So she's able to adjust her position during the flight-mode semi-infinite. The flying-LP is the only linkable move she has in the air; so in order to move around the dummy, dashing in between each repetition of the LP was necessary.
Her flight is also unique, the input for the flying-HK -> Unfly was: ...MK, QCB+KK. By doing that, Storm's HK comes out and finishes, then she automatically unflies. From there, she must wait a little before dashing or else her lightning ball will come out, since they share the same motion-input.
The air-to-ground employs a facet of her floating mechanic which enables her to cancel her unfly-air-dash momentum by tapping up. The dummy needs to be a bit higher-up while she does her HP so they can fall together, allowing her to do a HK. Holding forward during all of this allows her to stay close to Commando. Again, left/right control during unfly is unique to Storm.
The follow-up infinite is possible since her S.LP has a large Super Jump Cancel window, and Commando's air-hitbox is really big. The upwards-knockback of her LK doesn't cause Commando to go very high, allowing her to fall and follow-up.
The air combo leading into the FSD was Joo's idea. He suggested trying to loop LK -> HK while falling from the top of the screen. In order to connect it, Storm has to intercept Commando as early and high-up as possible, or the final LK -> HK will not connect.
Finally, doing triple-Lightning Attack -> Lightning Storm on took some figuring out. The idea was to keep Commando as low as possible while somehow staying above him.
076A)
https://www.youtube.com/watch?v=6v887NIX1LM
A revised version of the xy-Tracker using a new 'formula' derived from way more data points. Last time I tried it, I only had the "Arena" XY to use. With all these other values, there's more room for variation and tweaking.
I haven't tried it for other clips, but I think it should be adaptable. The "ease" is basically a built in linear interpolation method in After Effects that converts values. The idea was that I converted the xPos and yPos values' min and max, into 4K screen-coordinates, clamping the movement of the hexagon.
I also created expressions to automatically have the hexagon face left/right and disappear if the character is not active.
The combo uses a bug that sometimes happens when a DHC is done on the same frame of a super freeze. I'm not exactly sure why, but sometimes the character who DHCs in (Strider, in this case) will jump across the entire screen to do their super.
So using that, it allows Magneto to come in from the right side; and since he's facing left when the Shockwave is hitting, the knockback in to the left; leaving Sentinel right in front of him for the FSD follow-up.
From there, I wanted to show a hard-to-do infinite that was all like a 1 frame link starting from the first S.HP.
The SJ direction is "Up" but there's a bug(?) to the S.HP where it will drag Magneto to the side he hit it on if it hits from behind. So since Magneto was facing left, he will get dragged to the left after SuperJumping up, making it look like he jumped into the corner.
076B)
Anyway, that causes a problem of sorts: as a result of side switching, Magneto can't follow up with the next S.HP in time if he is facing right. As a result, I had to wait extra frames for him to finally turn back to the left before air-dashing-down.
Air-dashing-straight-down is the fastest way to get to the ground during a triangle jump, but it's possible to mildly affect your left/right while you are falling straight down. I held left to put Magneto closer to the corner so that he could do the infinite.
The last thing: I set Sentinel's UnDizzy counter to 46 before the combo started so it would let him spin out after a few of the HP-infinite repetitions. Anyway, there's a property in MvC2 where if the dummy is captured in a move like the Hyper-Grav or Amingo's child-helpers, any special or super can dizzy for a short time after.
So in this case, Sentinel was hit by the EM Disruptor after he shook out of the hyper-grav, but while he was still in stun from it. During this time, any special or super attack will be able to cause Undizzy.
077)
https://youtu.be/si9tVUttg1c
I've been creating Dreamcast-MvC2 clips using Lord_Yoshi's Macro+ scriipt (https://github.com/lord-yoshi/MvC2-CE-Trainer-Script).
Most of the Dreamcast-only ideas I have are kinda complicated, but this one was on another level. It took a while just to figure out what was possible during this bug..
Each input that Dhalsim & Sentinel do counts towards mashing Dhalsim's intro-taunt. So after a while, pressing a single direction or button would trigger Dhalsim to rapidly repeat his intro taunt.
Shuma is basically being hit out of everything he does every few frames, constraining him to only his LP/LKs, and very-specifically-timed MP or HK.
The effect is broken by using Ruby Heart's capture-assist to catch Sentinel, who counts as a point character because of the two-character bug's effect.
This allows Dhalsim to float underground, and for Sentinel to be grabbed by the Chaos Dimension.
I also figured out how to remove the HUD and transpose the CSV-writer for the Dreamcast-MvC2/Demul. Most of the memory structure was the same as the PS2 version, so it wasn't that hard to get rid of the HUD.
078)
https://youtu.be/GrPfId16BX0
I've been trying to learn how to use a hitbox for a while, and I'm finally getting the hang of it. As far as directions go, this is pretty easy because most of the inputs are button-based.
The only tough link is the air-dash-up-forward, LK. I developed a habit for doing LK MP MK which causes Sentinel to go higher up, changing the end of the combo. If I did AD-UF, LK HP, the follow up would be different since Sentinel would be much lower to the ground.
As a result, it's necessary to link a LK after the unfly HK; the window is small since Sentinel is close to the ground.
079)
https://youtu.be/peaTNggB2Bg
I stumbled on to this really easy technique for doing an instant overhead with Magneto. I hold down, and while holding down, I slide my right thumb from Up to LK; and since down is already held, the LK turns into the 2LK, which hits crouching characters.
The only caveat is that this method can't be used 'instantly' as a Super Jump will come out by doing the 2, 8 input; i.e. down has to be held for a while before doing it.
80)
https://youtu.be/1AGw0DxLhcE
I've been trying to figure out ways to improve on hand-cam tutorials, and ended up recording my hands doing the ROM infinite at 240 frames per second to clearly show the inputs. The game footage was slowed down to 25% to match the button-cam.
This will probably be a method I'll use to show more elaborate clips. At the moment, I need to figure out a better way to quickly sync the clips once I import them into Adobe Premiere.
081)
https://docs.google.com/spreadsheets/d/1tBUsky0JFq2YYb52BjtNtbiAya4lwnCsMChRWa8muqI/edit?usp=sharing
I had forgotten about this whole workbook. I must have made it 4 or 5 years ago or so, around when I was doing most of the editing for Chaos Dimension. I had decided I wanted to do a few explanation videos, and I figured a workbook would be the best way to keep track of everything.
The Magneto Video (CD CE 02 Script) was the most involved because I went out of my way to try to show as many unblockable types as I could, and ended up with 20-something in total. There were a few repeat ideas throughout the video, and I wanted to flag their occurrences.
I think the Magneto video explanation ended up being longer than the next video which explained a bunch of bugs, in text form. I really appreciate how much content can be covered using voice overs, but there isn't anything that you can read if you just want to reference it.
The Magneto video's hectic nature kind of presented itself better for voice overs, which were done by Mike Z. I believe I went to his place 3 times to do the whole thing, as well as the re-takes.
The challenging part was trying to splice all the audio together with the right levels since all 3 takes had tiny differences across them.
All the reference stuff was something that Joo taught me to do during the DVD in 2009 since it's kinda like creating a time-capsule that you can go back to open any time if it's comprehensively backed up.
I remember it was around this time that I started creating AutoHotKey Scripts and figuring out how to use a bunch of keyboard and mouse macros to quicken and automate a bunch of stuff. Mostly copy-pasting things back and forth, and some text-editing that I needed to do in batches.
082)
https://youtu.be/HoDFo2SOb6w & https://youtu.be/tItpFjIjxEI
I found a couple of clips from a long time ago that never got used for anything. The magneto clip has a bunch of Unfly/Fly stuff that I had just been finding at that point.
Most of it is doable, but the hardest part is dashing up-forward and then doing a 2LK. The Y-Boost it causes lets magneto do a bunch of unique stuff by carrying the dummy around the screen.
For a while, I wanted to do a Magneto combo with all the flight/unfly stuff, but it would always dizzy. I think that's why I did this combo at some point, just to have everything in one clip. https://youtu.be/P4XhKRqgZOw
The Omega-Psylocke clip was fun to make 'cause I was just wondering what both characters could do off each other's attacks.
The very end of the clip had a lot of stuff going on. I started realizing Psylocke could maneuver around the screen without being hit and tried to do stuff with it in Chaos Dimension.
083)
https://youtu.be/oPFKKsUS8gY
I was wondering about opening options. They're typically specific to the player, but I was still curious about what's optimum.
In this case, it's expected that Sentinel does a reverse-tigerknee by doing DB + Capcom, B, UB in order to block Magneto's D+LK. Magneto can jump up-forward to block Commando, and call Psylocke to protect himself and cause blockstun on Sentinel so that Magneto can get a guard break.
Commando ends up 'pulling' Magneto down by causing blockstun, allowing him to land hit Sentinel before he lands.
084)
https://youtu.be/j1hKGVKCxbU
In this case, Sentinel jumps up with Capcom and does LP. Usually this is done to anticipate Magneto going into the air, or if he does 2LK or S.LP on opening.
Again, just Jumping and calling Psylocke works really well -- in this case, jumping up-back lets Magneto block whatever Sentinel does and get out of Capcom range. From there, Psylocke clips Sentinel, allowing Magneto to dash in and get a double-snap.
085)
https://youtu.be/Oe7llUCNUww
I had been thinking of doing a series of clips to show quick ways of killing characters. I've used some of these in previous videos, but I was contemplating putting a bunch of them in one video. I feel like these types of clips are best included here and there in a regular combo video, or have the entire be based around the idea.
I used Strider since he takes 125% damage, and I've used him as the centerpiece in another concept video: https://youtu.be/vs7Sg5fwDe0
01: Ryu's throw causes the assist character to come out from behind since it switches the dummy for a few frames at the beginning. I used this in Variable Atmosphere 1 in like 2007
02) Hulk's gamma crush can hit a bunch of times if the character jumps into it from the back. I had this idea since like 2008, but i never used it in a public video.
03) I figured there was a way to setup Magneto-Tron to do as much damage as possible with good tempest-rng. The 2nd NJ.HK is necessary before the damage scaling takes effect.
04) I had the Ken-Ruby idea for the longest time as well, but I never used it for anything.
05) It was tricky to get the quadruple rocket punches. i also had to make sure that Sentinel's Cr.HP hit twice before Iron Man started his assist. This clip was difficult.
06) I wanted to avoid using Juggernaut altogether since it's so easy to kill with him. However, I might reuse the idea from my combovideo from 2005: https://youtu.be/d5I0RFV0wZg?t=86
07) Same with Power-Ups, I didnt want to use them a bunch -- and if i did use them, I wanted to the idea to be kind of special. I'm not sure I'll use this clip.
08) I've used this clip idea in Variable Atmosphere 1 and Chaos Dimension. Basically, Bison's Knee Press Nightmare is kind of glitched if it hits as an OTG.
09) This clip was done on DC because it's easier to get the full-damage on mashable throws.
10) This clip with Shuma was used in Chaos Dimension and is Dreamcast-Only as well.
086)
https://youtu.be/8MOK_T6gAiI
I was messing around with directional-influence while doing Cable stuff. Similarly, I was wondering how many cross-ups were possible using Sentinel's large air-hitbox.
Most of them are doable by hand. However, the last SJ.LP -> Grenade -> HCB+P is difficult since Sentinel has to be very low to the ground.
I removed the other one and put up the one with the HUD as per the suggestion.
087)
https://www.youtube.com/watch?v=5_GNDM8qy0U
I had in mind some ideas for Sentinel, but not all of them worked. The mid-screen solo air-to-ground was easier to do on Storm than Magneto who I originally had tried it on. Storm has a bigger hitbox in the air, and I'm used to seeing Magneto do more stuff on her.
It was hard to get SJ.LP -> Fly -> HP to connect. The pausing isn't necessary every time, but in that case it was.
The second part was trying to get an air-to-ground using Storm's projectile assist. It's harder to time Sentinel's HP so that the dummy gets hit by it before they land. From there, I had to figure out how to position Sentinel close enough to juggle Storm.
The last part in the corner was a deviation from what I intended originally -- but the idea was to do multiple-Unfly-LKs low to the ground to juggle the opponent.
The other part was showing the unfly-version of his air super lets him juggle easily.
Lastly, the Rocket Punch link -- it's hard, and I wasn't able to get a SJ LK to combo, only a NJ.LK.
088)
https://www.youtube.com/watch?v=2auvcEQS5hY
I was wondering if it were possible to do the tag-out idea with Storm+Sentinel-HK drones. I needed the dummy to fall into the drones after being hit by the Hail Storm, so tigerknee-Fly/unfly was done to get Magneto to popup after the super hit him. From there it's RNG on the Hail Storm.
The Storm SJ.HP infinite is difficult since it requires fast timing, but Up needs to be pressed to have her float a little so that the HP hits.
I wanted to show that cross-up at hit ~10. It doesn't look like it'll happen but Magneto/Dhalsim/Storm's air dashes let them take the corner in some cases.
This air to ground was kind of difficult. The higher it's attempted, the tighter the timing is on everything. The falling-HP doesn't easily hit characters who are not Captain Commando, and the S.LP is difficult to time, and needs to be Super Jump Canceled to follow up.
There is another version on Sentinel instead of Magneto/Normal-Sized characters, but it's not that interesting. The thing is, that Sentinel's weight affects Storm's air-LP stun. Storm can't easily juggle Sentinel with her air-LPs. Therefore, it's not really possible to move Sentinel up a lot without using an assist.
89)
https://youtu.be/LY8nOQ637OE
I ended up re-recording this damage-clip. It's a 10 hit combo aimed at doing as much damage as possible.
Linking the NJ.LK after the LP-Rocket Punch required pausing. Pausing basically alters the way the game skips frames to create turbo mode. In this case the input for the LK didn't register on the earliest frame unless pausing was done.
90)
https://youtu.be/WLgb3oo0BkE
This idea uses pausing to keep changing the outcome of Sentinel's 2HP unblockable. Pausing basically alters the way the game skips frames to create turbo mode. Sentinel's 2HP unblockable on wake-up is a 1F timing, and is susceptible to having its outcome altered by pausing the and unpausing the game. This clip illustrates the concept: https://youtu.be/marFI2k9u14?t=58
91)
https://youtu.be/YCPQp424oTM
This was a test to see if a character's super-freeze could be used to facilitate Flying Screen Deterioration. Spiral's SJ.HK sets Flying Screen and its knockdown stun is 10 frames, which means that post-FSD combos aren't possible.
The idea was to use Cable's Time Flip to keep the dummy in OTG stun while Flying Screen went away after 10 frames, but this was not the case.
MvC2 keeps Flying Screen turned on while the post-Super-Freeze stun is going on. So it is not possible to create FSD combos using this method; FS is still active when the Time Flip hits.
Also - I don't have footage of it, but Snapbacks break FS after it is is set. Like the clip, Spiral set FS with her SJ.HK, and then Cable's snapback hit -- once it hits, FS is broken, so he can follow-up with AHVB.
92)
https://youtu.be/jYOXZRXwqlQ
This was a clip that didn't make it into the Ataraxia video. The idea was to show the combo-ability on Hyper Armor characters. Since Silver Samurai is in the middle of a special attack while he's getting hit by Zangief, everything combos.
In order to have the combo meter register 'a combo' while a character is in Hyper Armor, the attacker's moves have to hit exactly 5 frames apart: https://youtu.be/wShaqWt2eMw?t=108, or the dummy has to be in the middle of an attack.
From there, Silver Samurai inputs his 236P attack right before Venom hits him, allowing the combo to continue. The input has to be very precise or the combo will reset.
There aren't many supers in the game that allow this type of thing to work. The only other one off the top of my head is Strider's 623PP: https://youtu.be/JFGyVCzkHUM?t=2314
Silver Samurai's 236P doesn't come out until there's a big-enough gap during Venom's super. As a result, I could have it cancel Charlie's super, letting him follow up.
The combo kind of felt like something Joo did in Meikyousisui 8 vs Colossus https://youtu.be/MACdTOayaK8?t=99 where he timed his combo to affect Colossus during and after his Hyper Armor super.
93)
I was going to re-post an old MvC2 System thing from 2008 that I found. The post pertains to the 'just-found' 100% Technique for programmable controllers. This was sorta found by Joo and myself, and we collaborated a bit on trying to figure out how how it worked.
The technique is used for programmable controllers so that their script would 'work' and perform the combo 100% of the time. In reality, the controllers work 100% of the time, but it's MvC2 that skips every fifth frame in order to create turbo mode. So whenever there were necessary 1-frame links, there was a chance that they wouldn't work because of MvC2 not processing the inputs.
MvC2 System
Briefing & Skipping
There is a way to ensure that the programmable controller will execute a combo 100% of the time, it also allows you to know when certain attacks/combos/whatever won't work. Up until now, programmable pads would sometimes 'mess up' the combo or situation they were told to execute. Programmable controllers are flawless, it's the video game that isn't truly 60fps. In order to get accurate results every time, the programmable controller needs to be calibrated every time before the main combo/situation. The way the solution works is, you insert a sequence before the actual combo (the 100% sequence and the actual combo are in the same overall sequence). This is a great tool for complicated and overelaborate combos that come up pretty often. This technique becomes invaluable when combos or situations get out of hand and have a less than 10% success rate or when trying out a short but complicated string.
Before I explain how the technique works, it's best to understand how MvC2 works in terms of frame skipping. MvC2 on Normal speed runs at 72 frames per second, when you change it to Turbo you're forcing it to skip frames. So it runs like, "1, 2, 3, 4, 6, 7, 8, 9, 10, 12...". That shows the game will always display four consecutive frames before skipping one; the skipped frame is inaccessible (that is to say that if a just-frame occurs on this frame, it will not be registered). The frame skipping cycle begins as soon as you turn on the DC or after the loading screen. This doesn't affect inputs in a normal match but can be responsible for a few "errors". However, those situations are pretty rare. Usually it's the timing of 'reversals' that are affected the most, not combos.
An example of a combo or block string that would use this would be if someone wanted to link LP into LK as soon as possible, they'd need LP to be a displayed frame, the null frame would have to be in the time you have to wait before pressing LK, and the LK would have to be a displayed frame. Here's Storm doing her S.LP followed by a S.LK. Normally, the duration of the S.LP is 10 frames but it has a 1 in 4 chance of being 9 frames due to frame skipping. If you divide 9 by 4 you'll get a number that ends in .25 or 1/4th. That was the case in the Storm clip, she did a S.LP for 9 frames and pressed S.LK on the 10th frame instead of the 11th.
First Method - Using Triangle Jumps
There are a few ways to calibrate the ppad, one method is having the character do a triangle jump as fast as possible. This poses a few problems because you'll need to do the triangle jump twice in a row (I'll explain in a bit) and not everyone in the game has a triangle jump. The reason you'd have to triangle jump twice due to the numbers in the sequence coming out to .5 or 1/2 the time. That is to say that you'd need to see the triangle jump happen twice in a row to know that you've landed on the correct frame. Here's Magneto triangle jumping twice. This shows which frames were displayed in the game:
Magneto's Triangle Jump Sequence -
d = displayed, s = skipped
s--d---d--d---d---s---d---d----d-----d----s-----d----d-----d----d---s---d--d---d---d---s---d-----d-----d----d-------s----d-----d---d
n---2---8---8---8---8---8---8---2pp---n---hp---hp---hp---hp---2---8---8---8---8---8---8---8---2pp---n---hp---hp---hp---hp---n
If the displayed/skipped frames were off by just one, that sequence won't work. However, after performing that, I'd need to check if the sequence actually works by annexing another just-frame move. In this case, I'll use Magneto's Tempest super.
In order to make his Tempest special, I did a fake tiger-knee motion and held the UF part for 3 frames. The way this works is if the UF part is 1 or 2 frames, Magneto will not leave the ground, if it's 4 or higher, he'll leave the ground 100% of the time. However, if it's 3 frames there is a 75% chance that he will leave the ground and the special/super move won't come out. However, if he doesn't, that's an indication that you're on the right frame. This shows Magneto's previous 100% sequence followed up by a 'special' Tempest super.
The Tempest Portion -
d---s---d---d---d---d--s---d---d---d
n---n---n---2---1---4---7---7---7---kk
Since only 2 frames are displayed for the super jump, the character stays on the ground and does the special/super.
Second Method - Using Fake Tiger-knees
The second method used to adjust the program pad to the game's frame cycle was mentioned above, the fake tiger-knee method. Each method gives you the same end result except that the methods for doing it can be moderately unpleasant to downright annoying sometimes. Since having moves come out 100% of the time is a necessity in some cases, using the technique is a must. This shows Magneto doing a 'tiger-knee' Hypergrav followed by a 'tiger-knee' Tempest. If the tempest was attempted a frame earlier, it would have caused the frame cycle to be thrown off and thus not work. The problem with this method was that 75% of the time it would be a super-jump, this meant having to wait and move the character(s) back into position and try again. It wasn't crucial but it was definitely unpleasant. Furthermore, some of the characters have specials that will hit the opponent, this would really mess up situations where specific health was important to both characters. A work around for Storm was to do her lightning attack facing backwards, however, it would still cause her to SJ 75% of the time.
Third Method - Using Normals
The third method is the less time consuming by far. This method was discovered by joo; he used the data he found for length of character's normals to deduce which normals will output the desired result. In my opinion it takes some insight to understand that you'll want a certain number that when divided by four will result in a number ending with .25 or one-fourth. If you use a number that ends in one-half you can still calibrate the program pad, it'll just take two repeats to narrow it down. .25 is the smallest number that exists in the game when dealing with probability, this is what gives away which moves to use for the calibration. Relying on a move that's 14 frames normally, but 1/4th of the time 13 (13/4=3.25) will save time in repeating the calibration process. If I were using a move that's 15 frames most of the time but sometimes 14 (14/4=3.5), I would require two consecutive results of the normal coming out on the 15th frame instead of the 16th. The numbers I'm interested in would be: 2, 6, 10, 14, 18, 22, 26, 30, 34, 38, 42, 46, 50, 54. Those numbers minus 1, divided by four would result in "_.25".
The only caveat with this method is some characters don't have normals that are any of those numbers so doing something that works 50% of the time twice is necessary. For example, Ryu: he does S.LK, S.LP twice. This isn't nearly as unpleasant as waiting for a character to land from his super-jump and walk him/her back to the corner. An interesting note to is that two of the characters have taunts that are 54 frames and 1/4th of the chance, 53. So even taunts could he helpful in calibrating the ppad.
Pausing
The other aspect of using the 100% technique is you can actually control the frame skipping cycle that the game produces. The game's frame skipping cycle is set until you pause the game/change levels/restart/etc. If you pause before you execute a complicated sequence not using a 100% sequence before it, nothing will change. However, if you're using a 100% sequence before your actual combo and you pause the game, chances are you're sequence won't work 100% of the time.
I learned this the hard way when I was trying to execute something and I started to realize that it wouldn't work 100% of the time. I thought I had changed the wait time before the main combo (1-4 are the variables), but when I realized none would work, I was dismayed. I paused the game to change speeds because up until then I thought changing the game's speeds was the only way to restart the frame cycle. When it didn't work I paused the game again but I remembered I had to try the variables before I was certain the sequence wasn't going to work. So I un-paused the game and tried the sequence again and it worked! I eventually figured out that using pauses was all you needed to change the game's frame skip cycle. Using pauses will greatly help your chances of finding things in MvC2. If the frame cycle is set and you're using 100% technique, there is a small chance that you've landed on a frame that will prevent your combo from working 100% of the time. This is where pausing comes in. Inserting a pause for a few frames and unpausing it on a certain frame will allow the cycle to restart. This allows different results in sequences that use the 100% technique.
Conclusion
That's everything regarding the 100% technique and how it works as far as I know. The technique is beyond useful when programming really elaborate stuff. However it doesn't eliminate all 'randomness' from the game, it can't do anything about mashing. Prime example of this rule are throws. Sometimes throws will do absurd amounts of damage if mashed right; other times (even if mashed the same way every time) not. I'm not sure as to why but my guess is the answer is embedded somewhere in the programming; maybe it really is a truly random moment. The other kind of mashing is supers and specials. Those can't be controlled either, that's kind of disappointing since there are times I want to control AHVB or Silver Samurai's Lightning super.
The other kind of randomness is due to the game slowing down during some stages causing ST-esque errors that do not make any sense at all. This makes emulation an interesting subject, if you were to have a super-powerful PC that can run magical emulators that allow the emulator to work just like a DC, you wouldn't get the random stuff that happens in normal matches on normal DCs or arcade hardware since your PC is too powerful to have slowdown due to characters calling assists/dhcing at the same time -- at the same time. Also, it probably wouldn't allow some useful (for combos) bugs to happen as well. Also, emulators are usually accompanied by emulation tools such as macros and save states, those would eliminate the randomness of mashing. Mashing and random supers wouldn't be random due to the save states. Anyway, I don't have any hope for emulators so I'll stop talking about this.
94)
https://youtu.be/DZSeAW1PdWc
I was going to do an explanation video for the combos in the Dhalsim Revisited Combo Video from 2019. https://youtu.be/em7R2fuzetg
I spent so much time learning and doing Javascript and other stuff, that I forgot the combos were substantively interesting to me.
It's gonna be covered from a game-oriented perspective, glossing over the adscititious stuff used to create the aesthetic of the video.
When I laid out the video in 2019, I was thinking of which clip was simple enough to follow so that the RAM/AE stuff would not crowd for attention with the combo. In a similar way, this first clip runs kind of long because I wanted to cover more stuff at the beginning, and keep the rest of the clips shorter.
I might do some kind of video briefly-ish explaining the processes involved in creating the aesthetics behind the video as they were the main focus, they took so long, and kinda shifted the way my on-going videos have been presented.
I never have any good idea for what type of music to use for these types of videos since they run so long.
95)
https://youtu.be/-XWcLaOqubo
The explanation video for the second combo in the Dhalsim Revisited video. It turned out a lot longer than I had anticipated. I forgot how involved Dhalsim's air combo system is.
There's a few unique attributes that change how he can do combos in the air. Most of it is the long-limb Y-Boost stuff which grants him the ability to do technical air-to-grounds.
I think this is the first combo where I showed a lot of his flight mode stuff as well. The rest of the combos contain some of these elements, but possess different central ideas as well.
The Spiral level-3 grab bug is super old, but I wanted to use it because it stuns the character for literally 1 frame, allowing for unique stuff to happen afterwards. This is a clip I never used utilizing her grab-bug.
Strider does two Legions since he's stunned for one frame. I thought about using it for Ataraxia but didn't feel good with it.
https://youtu.be/9iR1doD1-l8
Pausing was used because of how strict the timing is on the bug. The grab has to occur right after Strider moves his arm forward since that's what triggers the Legion's projectiles to be created.
Since there is a post-flash freeze on Spiral, the timing was really hard to get.
96)
https://youtu.be/ciD_35TIT-s?t=1002
I wanted to go over the bonus section of the Blackheart tutorial again.
One of the strangest ways to get out of falling into Sentinel's unblockable 2HP is by just tapping back right before the character's sprite comes in contact with the beam.
The technique uses a hidden mechanic wherein a character can block anything for a varying amount of time while in the air.
Tapping back for one frame will cause the characters to block for a certain amount of time before returning to neutral.
The image contains the amount of Guaranteed Guard Frames the characters possess while airborne. Those frames basically translate to the window available to block before falling onto the Sentinel 2HP.
However, I have a feeling those numbers might not corresponding directly because the velocity on incoming and the hitboxes can affect the window.
For instance, Psylocke can't block it because her hitbox is so big that she gets hit no matter what.
And maybe some characters might fall faster than others on incoming that they will have fewer frames in the air, thus fewer frames to block the beam.
I might expand on this video -- but just for the top tier characters, and maybe show other ways to avoid Sentinel's 2HP in different situations.
97)
http://zachd.com/mvc2/data/guardstiffness.html
These numbers represent the Guaranteed Guard Frames for each character on the ground. This sort of comes in handy when trying to throw opponents after making them block an attack.
For instance, if Magneto whiffs a LP on a crouching Storm, she will take more time to recover than Cyclops. Storm has 20 frames that she must go through after Magneto's LP goes away -- Cyclops on the other hand, only has 5.
These numbers were derived by using Ruby Heart's ghost-bug to cause blocking anywhere on-screen. The other controller was a program pad that blocked for one frame, and then pressed forward as soon as possible.
I measured how long it took for the character to move forward after they had blocked for one frame.
I remember I wanted to find these numbers out while doing the Dhalsim DVD in 2005. I wanted to see how fast Dhalsim could whiff a triangle jump, and then grab the character using his command-grab (HCB+HP).
If the input is done too soon while the opponent is in guard stun, Dhalsim ends up doing a Yoga Flame. So I wanted to see how many frames Dhalsim had to wait before inputting his command-throw:
https://youtu.be/ltmAfI6xK2k?t=393
98A)
https://youtu.be/_Pd7GTjDypE
Although it's hard, it's possible to use Blackheart's THC for a "Guard Break" since the last hit is unblockable.
The timing is really hard and it can be random since one of his demons might touch the incoming character before the last hit materializes.
It's better to use the THC version since the super causes Flying Screen and makes it harder to follow-up.
98B)
https://youtu.be/Nw55p9g71cc
The unblockable can work with Sentinel as the point character. This version shows that it can also cause a guard break similar to Sentinel using Captain Commando's assist to cause a guard break, then hit the unblockable.
The last hit of Blackheart's super doesn't have a guard flag, and is always unblockable if a character falls into it. Therefore one demon can cause a guard break, and the last hit will always connect since it doesn't trigger guard.
99)
https://youtu.be/TouabTXFQfQ
https://youtu.be/INdmWgVabmI
I forgot I made these two clips showing how fast characters recover from certain throws.
The first one involves Magneto's throw bug using QCB+LK https://youtu.be/GXgtMDnxh-c He is not safe after this iteration of it.
Most of the throws where the dummy recovers actually keep the main character safe. Like Akuma's "hidden" throw of HCB+HK.
100A)
I was thinking of turning this topic into some kind of video tutorial maybe; so it might get expatiated later on.
While doing the DVD explanation videos in 2009, Joo and I were talking about making a super-basic video explaining how buffering attacks extends into a bunch of unseen situations.
For example with Magneto's air combo: strictly speaking, it's possible to launch, SJ up, and then quickly press LP, LK, MP, MK, HP, HK before the LP fully animates.
This is an easy example to demonstrate how there have to be pauses in inputs because the game can only keep a certain amount of stuff in its buffer. The game has to animate and play things through in order for future inputs to register.
So this concept exists in a bunch of unexpected places which affect the outcomes and possibilities of situations.
For instance, crossing up characters:
https://youtu.be/marFI2k9u14?t=460
When the character lands after crossing-up the dummy, they will have to turn around. These animation frames have to be dealt with in some way, or they can curtail the possibilities thereafter.
In this case, Magneto back dashes on the first frame possible in order to cancel the turning-around frames.
Similarly, attacking as soon as possible after tagging, but before turning around, will cause an issue.
https://youtu.be/x0J1qtOI7J8?t=153
In this case, Dhalsim cancels his turning around frames by pressing HK as soon as possible. However it causes an issue with the window available to Super Jump Cancel the move.
As a result, pausing is used to change the frame skip cycle and allow him one extra frame to input his Super Jump.
Another one is during Sentinel's Unfly/Refly combos.
If a flying-LK is pressed, it's possible to do the input for reflying ASAP, before the LK finishes. However, there's going to be more frames to wait through before being able to attack.
https://youtu.be/aGVlSZpK3ME?t=539
Pausing is necessary to give Sentinel one extra frame to move forward after reflying.
100B)
https://youtu.be/marFI2k9u14?t=4633
In this case, the 2LP hits meaty, changing the window for SJC'ing, so pausing is used.
This stuff occurs in strict combos where an attack has to be done as soon as possible, and it messes up the follow-up timings.
This came up a bunch of times in this combo because the setup forcibly changed Dhalsim's state from standing to jumping, over and over.
https://youtu.be/x0J1qtOI7J8?t=177
To make matters more complicated, the particular hitstun sprite that War Machine went through affected which versions of Dhalsim's attacks could come out (far or close normals).
I remember this combo taking forever because I had to plan out like 3 attacks in advance and try to deal with the frame skip cycle.
I think this is the only extant visualization of the two frame skip patterns that exist in MvC2.
100C)
https://youtu.be/JK6RevIYFzA
I remember that the pausing issue became a big deal after finding the 100% technique for programmable controllers to do their sequence correctly each time:
Basically the technique allows the user to identify which frame is going to skipped (although it's invisible, it's just calculated by counting by 4).
Joo mentioned that in this combo, he had to change the duration of some of Spider-Man's chain combos by one frame in order for the entire combo to work.
https://youtu.be/El84-G4wTI8?t=1897
It's easy enough to change a MP from lasting 10 frames to 9 frames, but it can wreak havoc on the rest of the combo if the attack's positioning is important, or the rest of the combo is predicated on strict timing.
100D)
https://youtu.be/JFGyVCzkHUM?t=2479
The buffering stuff always came up in a large way when programming 2 or 3 character combos since each input affects all the characters on one side (P1/P2).
It would have taken forever to make this on a Dreamcast using the programmable controllers.
With save states, I could keep going back and test what each input would do.
But an easy case to mention is doing a fireball motion. 2|3|6+P is only 3 frames. However those three frames have to be worked into the combo so that the fireball registers for only one of the 3 characters on screen if that's what's desired.
I remember this combo took forever because I had to mess with the input leniency in order to get the attacks I wanted for each character.
If I reflew with Sentinel, I didn't want Storm to do it as well, and then I had to worry about what Strider was doing.
This image is the combo transcription for Joo's Meikyousisui 10 Ken-Storm combo vs Roll. https://youtu.be/QvOyZKjN8J0?t=105
"n" stands for Neutral or blank for 1 frame. pp4 stands for LP+HP for 4 frames. 7_34 is up-left for 34 frames.
A bunch of this meta-stuff is covered in Joo's DVD Page/History here: http://magnetro.com/dvd/#history
100E)
https://youtu.be/oqzeymT9-_s?t=532
I forgot this example was out there. It's another example of having to wait a little for the character turn around after crossing-up.
In the clip, Magneto's triangle jumping HK crosses Storm up, but Magneto has to wait a little before doing the 2LK or the window to SJC the move will be altered. I guess it could be possible that pausing/unpausing could change the outcome there too, but it'd be super hard to do manually.
https://youtu.be/oqzeymT9-_s?t=560
Another example of where/when buffering is important. I think this is an issue for people learning the game who have trouble timing his air dashes sometimes. There's necessary waiting in order for the air dash to come out, or else the game will just do a HP (or HK if the input is Flight mode).
Anyway during the combo DVD in 2009, this stuff came up in a lot, but we just excised its explanation since it was too much work to point it out everywhere. So that's why I was playing around with just making a tutorial on it and maybe the frame skip cycle since it comes up in so many situations in a match.
Frankly, it's a miracle the game is playable with how much inherent randomness the frame skipping causes.
101)
https://youtu.be/9Ifk08lVNHU
I added an input animation to the 3-3 character combo from Chaos Dimension from 2017.
I believe it took like a total of 6 hours to make since I had to calculate and test what every input did.
I remember that I 'wrote myself into a corner' where the combo had to end because of the restrictions. I had to backtrack and go a different route with the combo. I also went out of my way to make sure that everything comboed on each character.
That is, I didn't just launch one of the dummies to keep them around. I wanted all the characters to stay stunned in some way throughout the whole thing.
Also, I remember that I was really surprised with how fast and chaotic it looked in real time, since I didn't see all of it for hours until it was recorded.
For a while, it was going to be the last combo in the video, but I couldn't fit it with the song choices, so I left it in video 09 instead of the last combo in video 10.
The ASCII animation involved rigging up a bunch of stuff in Javascript inside of After Effects. I used the duration of how long each input is held for in order to animate the opacity of the 'buttons'.
For instance, LP is held for 3 frames, therefore the animation to the Square button will be "opacity = 100" for 3 frames.
The whole ASCII Pad V Pro graphic construction was done sometime in 2020, but I wanted to use it for something. The pad was what I first used in 2005 when I started making TAS-videos.
I used the bug in Variable Atmosphere 1 and 2.
https://youtu.be/hx_xAmwENa8?t=551
https://youtu.be/yJtWinXrCdc?t=440
It was a nightmare to make in Variable Atmosphere 1; ineffably so.
102A)
https://youtu.be/1--fIlGmYmc
I upscaled the entirety of Joo's Combo Collection to 4K using Topaz Video Enhance AI (https://topazlabs.com/video-enhance-ai/).
The program has different artificial intelligence models to upscale video up to 8K. I used a model called Artemis HQ v10 after doing some quality tests. In the end, it looks good while-in-motion. Although some stills can look blocky since there wasn't much detail to work with in the 640x480 VGA footage.
The processing time was huge, though (1 frame per second). Using two devices, it still took like 10 or so days of total processing time to upscale, mux and combine the 4K video into one file; and then a few days to have the file process into 4K on Youtube.
I was going to release it February 22, which is when Joo's DVD originally came out 11 years ago.
Looking through the DVD content, I had forgotten how long it took to make: It took Joo like 5 years to accrue the combos, then another year for us to make the explanation content since we had to make it uniform in English and Japanese (we had like 900 titles per-language). I remember writing this long cathartic essay on my website when we finished it: http://magnetro.com/dvd
Back then, Youtube wasn't what it is now, and so releasing this ~8gb DVD ISO was something we wanted to do.
It was featured on Capcom's site: https://www.capcom-unity.com/s-kill/blog/2010/02/22/the_ultimate_marvel_vs_capcom_2_combo_collection_arrives
when it came out, along with an interview with Joo translated into English.
102B)
We used Excel to keep track of everything since our timezones didn't line up, and we couldn't leave each other huge notes on MSN Messenger.
I believe we had like 900 titles per-language in the end. As a result, we had to establish syntax and names for everything as it would be used and re-used throughout the DVD multiple times.
We tried to be super-meticulous in explaining the content that Joo and I found some new stuff which was added to his DVD, as well as Variable Atmosphere 2.I remember the Throw-FSD with Wolverine and Iron Man were new additions to his DVD. https://youtu.be/1--fIlGmYmc?t=12749
103A)
https://youtu.be/VegzYGjn_yQ
I also upscaled Variable Atmosphere 2 + its narrated explanations into one 4K file. I was thinking of releasing it all the way on May 29th since that's when it came out 11 years ago, but I'm not sure yet. Again, I used Topaz Video Enhance AI (https://topazlabs.com/video-enhance-ai/) -- and since it was only one 35 minute file, it took one day to complete the upscale.
For both this and Joo's DVD project, I had to find the old Premiere project files and convert them to the new version in order to re-export the video files in high quality MOV files (at 640x480) which would be used for the upscale. I was thinking that luckily for me, there weren't any missing or unsupported effects used in the video that would have prevented the render from happening. I remember thinking that I could have made the projects more flashy and nicely-presented, but I might have ran into some problem in the future.
I like the voice over narration in the video; but in a way, I prefer the text versions for some reason. I think the text versions are more time consuming to make and watch, but I like the permanence of all the titles' information being displayed.
103B)
Also, I found the Excel transcript I did for the project in 2010. I uploaded it into a html file: http://magnetro.com/va2_transcript.html
It uses the same notation as the other stuff where the numeric keypad are the directions, and the next number is the length in frames that the input is held for; and n is neutral/empty.
I forgot how long the 9th clip/ Magneto59 was because the 15 minute setup had to be pre-programmed into the full combo sequence. So there's like 14 minutes worth of n255 (neutral for 255 frames) before the combo starts at input # 57-249. https://youtu.be/VegzYGjn_yQ?t=841
I still remember finding that by accident. I had just been trying to do a 2 character combo for more than 20 minutes, and realized the character came back out at some point. I wasn't sure how to time it, and eventually just let the program pad count for me. It took a while to figure out the timing of the combo so that Magneto's Forcefield could be done in time to get triggered by Sabretooth's super. I remember being proud that I actually timed the whole thing properly.
104)
https://youtu.be/IqBGrkUUD-E
I re-made my Dhalsim Intermediate video – including all the bad English and editing -- from my Dhalsim DVD from 2005 (https://www.youtube.com/watch?v=ltmAfI6xK2k&list=PL0C09B2B9E0794EDC) using the hitbox controller.
I sorta wanted to figure out a way to show basic stuff with the hitbox, and the video lent itself to that type of thing. On a personal note, I think that video might be my favorite out of the entire DVD – but it's mostly to do with how my life was back then. I remember having fond memories of that time, and I really like the song, Orbital – Halcyon and On and On.
I ended up making two versions of the video – one with the typos and editing fixed, and the other as the exact replica of the one in 2005. I ended up just biting the bullet and using the 'bad version' for the sake of past-verisimilitude; there's like this weird atavistic charm to it.
The video contained 55 clips in total, and it took a while to do because it's just kind of monotonous to capture and sync the footage.
My 'hand' capture device is just my cell phone using a 240FPS video camera mode. I capture MvC2 at 60 FPS and then just sync both in editing. That gives me the ability to slow down the hand-footage to one-fourth its regular speed. I believe I only used this for the infinite section as they were hard to do until dizzy.
Overall, the video was fun to make until the infinite section – I spent a while trying to re-learn how to do that stuff again. It's kind of difficult to explain how to use Dhalsim – let alone on hitbox.
The way I used to describe it was that he is a blend of Magneto and Storm in one. There's a lot of necessary subtle control involving his positioning and drills, but also a lot of speed for his triangle jumps and some combos.
105)
https://www.youtube.com/watch?v=ARRek6LKx98
This is the kind of video I had in mind when I thought of trying to learn the hitbox. After years of programming MvC2 stuff frame-by-frame using programmable controllers and emulator, I wanted to test out some ideas using the hitbox controller.
The video contains a few advanced ideas that I was able to get working after some practice. Most notably, the instant-overhead with Magneto using Up+Down+LK.
Since I play MSP, I used Magneto as a vehicle to show some of the stuff I found. Although it's kinda just plain luck that his overhead attack is LK, which is close to the Up button, and thus doable using the inverted slide technique. I found that just flicking your right-hand thumb from Up to LK was fast enough to work most of the time.
I tried to include some technical ideas into the video without going into detail, like calling assists during Super Jump state. In the case of Magneto, calling Psylocke while falling whiffing a SJ.HP is possible. This gives Psylocke the time to come out while Magneto lands and does an instant overhead.
I also showed a different way to Super Jump Cancel low attacks. Pressing Up+Down results in neutral, so double-tapping Up results in a Super Jump Cancel while holding down. This makes Super Jump Canceling his CR.LK super-easy. There's almost no rhythm or cadence involved, it's just doing it as fast as possible. However, this technique can be combined with the inverted-slide thing, as well as constantly-holding down to allow Magneto all sorts of rushdown options.
Although I didn't show it, double-tapping Up is useful with Psylocke since she can use this technique to Super Jump Cancel her CR.MK vs Sentinel in order to set up her infinite. I plan on doing another short video with non-Magneto characters, and I wanted to show it then.
The snap-super-jump input by pressing Down-back and then Up as soon as possible allows the character to block on the way up during a Super Jump; it also triggers a momentary auto-block, but I didn't show it.
This one is universal to everyone, but Magneto can make use of it by quickly jumping up to block something, landing and then dashing right away. This technique was one of the main things I wanted to use a hitbox for. Being able to basically react to attacks and jump into them in 2 frames can yield a lot of positive-frames for Magneto, allowing him to attack as soon as possible afterwards.
There's like this tactile feedback you get from pressing buttons that you don't' get from moving a joystick around. I think it helps kinda keep track of what inputs are being registered because you can be certain you did them.
The Hyper-Grav mash-out stuff was taken from the dedicated video I did on it a while ago - https://www.youtube.com/watch?v=VJtxZCZydzg
I completely glossed over a lot of technical stuff from here on out, but the idea is that you 'wiggle' the joystick by holding Left, and mashing through Right. Just from experience, it can be hard to make sure your right palm goes over the Right button during a mash; it's a new feeling/thing to learn.
Like the standard way of mashing out, it can be done in 3 to 4 swipes most of the time. The stuff about it being random was completely omitted.
The Super Jump Install ( https://www.youtube.com/watch?v=iFe9wJWpKPI ) stuff I was wondering about before I got the hitbox since avoiding neutral is super important in order to execute it.
Honestly, it's rather easy on hitbox; making a conscious effort to do the Super Jump correctly before canceling it is all it takes to get it to work from what I've found. I think the benefit of certainty that comes from having buttons for directions helps with a bunch of stuff, including this and the next section.
Just-Defense kinda exists in MvC2: https://youtu.be/ciD_35TIT-s?t=1007 BlackheartKing and I found it a long time ago while doing the tutorial. Basically, there's guaranteed air-guard frames in MvC2. It varies by character, but in Magneto's case, it's about 3 if I remember correctly. Although I don't mention it, in the case of MSP, it's only applicable to Magneto since Psylocke's hitbox guarantees that she will get hit by the 2HP on incoming (and Storm can just float).
Again, not having to deal with neutral at all really helps with timing this stuff. Both timing and reacting to attacks becomes easier as a result of having buttons and not having to worry about neutral.
The last combo was just something I wanted to be able to transfer over – and I guess it shows this weird method I figured out to Dash-Up, then press LK right away; I kind of do a pinching motion with my right hand to press Up+Dash, and then LK with my thumb right after.
Knocking Sentinel into Psylocke isn't necessary, but it's easily possible to do that stuff on Sentinel.
106)
https://youtu.be/TGfD6dVhzbQ
I put together a tutorial to explain the Block Meter address and its effects.
For the longest time, it was something I noticed in matches, but could never figure out what was happening.
Once I started looking for it, I thought it was just a counter to register blocked attacks. I didn't know it'd contain the extra effects of Autoblocking attacks and grounding the characters sooner.
The useful takeaway from this for me is just knowing that if someone pushblocks against my Magneto or Storm, I can whiff tri-jumps on purpose to land sooner and attack low.
107A)
https://youtu.be/JOGjo3NojWo
I expanded the amount of visible data entries on my HUD-composition. The purpose for doing this was two-fold:
Some data is difficult to interpret, so seeing it in conjunction with the game footage might help inform me about what's going on in behind the scenes.
I started doing animations for hidden meters and gauges in the game, and I wanted to make sure my if-else statements and logic accounted for all of the possibilities that a data pattern could have.
Some of the if-else statements I'm using check the value of multiple addresses at once in order to display or animate in a certain way. It's also used to 'know' what's going on in the game internally (again, for the purposes of animating stuff automatically)
For instance, the "Knockdown State" address has a lot of numbers, and although I think I've figured out most of them, there might be some numbers left. I think there might be 32 values:
Knockdown State
0: Standing Neutral
1: Walking forward or back
2: Rising to Normal jump
3: Normal Jump
4: Landing from Jump
5: in crouching animation
6: fully-crouched
7: Rising from Crouch
8: Turning Around
10: Forward Dashing
11: Back Dashing
13: Rising to Super Jump
14: Super Jumping
15: Air recovery animation
17: Getting up from OTG Stun
18: Proximity-Block & Blocking & Pushblocking
19: Air-Prox-Block & Blocking & Pushblocking
20: Normal-Attacks
21: Flight Startup & Special Attacks
23: OTG Stun
24: Flight-Neutral
26: Air Dash
28: Tag-Out/Tag-In
29: Supers & Snapbacks & THC
30: Throwing opponent
31: Being thrown
32: Stunned & Undizzy animation
Some of the basic information is just for knowing which characters are in which slot and what stage is being used. Stuff like that helps automatically setup my composition's look. The more complicated stuff involves the state and animation trackers.
107B)
http://magnetro.com/csv/inchoate.htm
This is the annotated table I used to keep track of everything between PCSX2/CheatEngine and AE. There's lots of information written about what's going on inside of the game while these values are displayed on-screen in the previous vid.
All of the descriptions are arbitrary and probably not entirely correct; so the notes expand more about what they do/represent.
I started a table a while ago that just has 'questions' about what's going on in the game programmatically -- this is how I ended up finding all the Block Meter Unfly stuff: I was trying to figure out why something would happen, and I started looking at different state addresses.
Some of these are to expand/change the animations I set up in Adobe After Effects. I was planning on making a hidden-mechanics tutorial using different presentation styles.
108)
I've been putting together logic statements in After Effects to read game-states in order to automate animations (ex: Pushblock-grounded). Most of them require a few data sets being compared in some way in order to accurately assess what's going on in the memory.
Some address-descriptions (named by me) were not 100% correct, and I had to figure out what those addresses measured; I annotated them on this page: http://magnetro.com/csv/inchoate.htm
So using the information from that page, I put together some logic statements in After Effects in order to automatically drive and activate animations. From what I can tell, they're accurate most of the time.
I plan on making a tutorial of some of advanced states and rules that affect matches. I've been just been laying out the framework in After Effects in order to automatically have animations render once I feed it
109)
https://youtu.be/JP2H97sNIfI
I put together a different setup to display directions/inputs. There's addresses in the RAM that keep track of how long each input/button is pressed for in frames. I set up conditions for the fake-joystick to place itself in certain locations based on what is being held.
I also tried adding an echo effect similar to how other games have them in the HUDs, but it was too confusing since the inputs display way too fast to follow. For example, the very end is Zangief mashing an SPD by tapping each cardinal direction for 1 frame.
110)
I was going to do a tutorial that focused on hidden mechanics, and I wanted to present them in the style of old games whose graphics I like such as Alpha 3 or CVS2.
The idea was to create HUD elements in the style of those games and connect them to the MvC2 data in order to see the values of the hidden mechanics. Stuff like the Frame Skip Cycle, Unfly, Dizzy, Flying Screen and Super Jump Install.
I've almost finished the CVS2 stuff, and was planning on including a few other games as well as MvC2's HUD.
111A)
I kind of figured out how to design Alpha3-looking assets in After Effects. There are a few effects necessary to pixelate the shapes to look 16-bit/sprite-based.
Also, I'm pretty sure that not every HUD element in the respective games will be used in some way. I'm thinking there might be problems with some of the addresses in MvC2 being on/off flags that are more binary than the gauges/meters on-screen.
Custom-assets that look like they belong in those games might work, if the design is ok. I can probably use stage BGMs and characters who are in all the games (ex Ryu/Ken) to move the editing along. But like graphics from the games' stages or menus placed into the video might help keep the game-themes intact.
111B)
Anyway as of now, I have most of the CVS2 and Alpha 3 assets done. I just have to push the MvC2-Data through to them so that they can react accordingly.
At this point, I'm pretty sure I can map the Javascript into the assets pretty quickly since I've been doing this for a while now. During the Ataraxia combo video, I spent a while automating a lot of the AE-processes like auto-switching colors and names according to whatever data is being assessed. For example, if the clip is MSP / Santhrax in the blue cave stage, AE will automatically parse all that out and change the names and colors to a preset template.
The challenging part, I think, is making a nice-looking series of HUDs and adequately expressing the game-themes I have in mind. Like the big-picture stuff is harder to realize since it's a combination of a bunch of little things working out in harmony.
The majority of the content should be simple enough and things that most people are familiar with like Dizzy, Unfly, maybe some RNG and the Frame Skip Cycle.
Anyway, adding all this extra stuff makes doing a simple tutorial fun as it necessitates lots of planning and design which I like to do.
112)
https://youtu.be/z-NfaKAwgPo
I delayed it, but I finally figured out how to programmatically write a combo meter with PNG/image files. I targeted each digit individually and wrote code for the Opacity values so the left-digits don't show up until they're needed.
It wasn't as hard as I thought, same with writing the code to create a text system to 'type stuff' using whatever images I have.
I'm not a programmer, and all this stuff is not super-easy, but I've learned quite a bit since 2018. I don't know how programmers write real code, I'm just using Javascript inside of Adobe After Effects.
So anyway, I'll be able to really customize the video going forward given the new advancements in my whole workflow.
I'm going to use lots of fonts and assets from the games whose themes I'll be borrowing to display the info.
113)
I had the realization that I could just map an entire sentence, character-by-character as a numbered list and then use that to write the words.
The alphabet is sequenced in one-second intervals so "A" is at 1 second, and so on. My script just gets the index of each character in a sentence, and makes it the 'right letter'.
The main composition has as many 'letter-options' compositions inside, so I could write out huge messages. However, doing carriage returns is kinda hard. Once I have the clips recorded, I can pre-write the tutorial text in Excel or something and 'render it' quickly in After Effects.
I feel dumb because the original way was picking out each letter from a dropdown down menu, but it wasn't that bad considering the alternative of doing it manually.
114 )
https://youtu.be/Xf8rLYO3lvQ
I made this quick video to show an alternate way of doing Fast Fly with Sentinel. The idea is that the lag after activating flight gets canceled using a button instead of a direction.
This isn't recommended in most cases since adjusting your positioning is the most beneficial, but it can have its uses.
Drumming your fingers on a button before pressing LP or LK is its own timing and technique. The challenging part is the buffer-system in MvC2.
It's what stops 2LK xx Fireball xx Super from happening as soon as possible. The animations have to take place before you can keep sending the game inputs for what you want to do next.
That's what makes reflying hard since the timing to cancel the flight's recovery changes based on the combo that you're doing before.
If you do a flight combo as fast as possible, the timing to cancel the flights recovery increases.
115 )
https://youtu.be/oFxiOT_XBpk
A long time ago, mountainmanjed figured out how to put the CVS2 training mode background into DC-MvC2.
Recently with his help as well as TVIndustries and Eidrian, I was able to get it to work in Demul DC-Emulator.
The only downside is the CVS2 stage isn't as big as the default MvC2 screen boundaries. However, everything else works just as normal (including removing the HUD using Cheat Engine).
I planned on using this alongside of the CVS2-Style HUD item's I designed in After Effects.
I had something like Majestros' Ryu Exhibition video in mind: https://youtu.be/3lBYMq8BNS0
The idea would be to switch around the games' stages and HUDS, but stay in MvC2.
116 )
http://zachd.com/mvc2/data/fastestnormals.html
Recently Taiji mentioned the idea of using Magneto's Jumping-LP as an opener against Sentinels who have the tendency to attack on opener.
Magneto's J.LP is 1 frame slower than his J.LK, but Magneto changes his sprite/hitbox so Sentinel's S.LK misses (and it's fast enough to beat Sentinel's air-attacks).
None of Sentinel's standing or air attacks can hit Magneto if he does J.LP. Although Sentinel's fastest attack is his Snapback, Magneto can beat it by doing J.LP > J.MP.
However, Sentinel can dash back to avoid it. (edited)
117 )
https://youtu.be/BIn-4Guoaso
I wanted to re-do an idea from Variable Atmosphere 2 where Commando's helpers track the dummy anywhere on-screen. https://youtu.be/9993gSuhyBA?t=165
In this case, I used Pushblocking to create separation after the interruption. The Counter had to be done late, and Rogue's super had to be timed so that she wouldn't be hit by one of the orbs.
I had something like this in mind: https://youtu.be/__67aWjpQ5k?t=27
I might re-do the setup to change the follow-up after at the very end to be something more special than Cable's Timeflip -> Grab.
118 )
https://youtu.be/9z-Syi3mnfQ
Another idea from Variable Atmosphere 2: https://youtu.be/9993gSuhyBA?t=107 Juggernaut needs two FSD-Dashes to be completely on-screen. Hulk's special grab reaches far enough to grab Juggernaut before he is on-screen, so Flying Screen never ends for Juggernaut.
As a result, he can just be thrown over and over since he's never going to be completely on-screen, and able to attack/block.
119 )
https://youtu.be/VmlKh9fGGl0
I finally ended up releasing this video publicly. A while ago I produced a process animation with my voice to explain how I did the Dhalsim Revisited video.
The animation covers the 'generalities' with some technical jargon, but I tried to omit some of the specific details involved in this whole project.
The Dhalsim Revisited project involved a whole new workflow to capture, process and use the combo's replay data. That is before, I didn't capture any data at all; just the video and audio. In fact the combos themselves were 'the easiest' part of this whole project.
So figuring out a usable process was more than half the battle. I ended up using JavaScript, Powershell, Autohotkey, and Lua. The amount of just-thinking or drawing out the workflow on a piece of paper was crazy since I was new to all that stuff.
I ended up getting a lot of help from TheIntercom, Joo and Anotak who are all better at programming & scripting than I am.
I think the whole project took almost 2 years from start to finish. It wasn't meant to be a regular fast-paced combo video -- it was just this editing-oriented video with lots of 4K footage of the stages and sprites, featuring combos.
The process video being released on my channel is also the first time I've ever published a video with my voice; so I was really nervous about that. (edited)
120 )
https://youtu.be/EP1YBnqKI-4
Lazyreaper posted this situation in one of the channels. Apparently if Storm is made to turn around during the tail-end of her super, the Lightning Storm comes back towards her.
Flying Screen Install was set up so that Storm's SJ.HK causes Flying Screen on its own. Then the LS bolts hit, causing a knockdown that lasts greater than 10 frames, allowing Storm to combo after Flying Screen ends.
Shuma-Gorath's Chaos Dimension hit at the very last moment, so the usual animation didn't occur as the timer ran out. I used that 'cause it's one of the fastest stuns in the game. That gave Storm time to recover and hit Shuma before the Lightning Storm came back.
Generally, projectiles cause knockback in the direction the character faces: https://youtu.be/IfER_bm7e5c?t=172
In that clip, Magneto's Shockwave knocks Sentinel back and forth Since Magneto's left-right orientation is changing.
It's unusual for the actual dispersal to be affected by that. I'm guessing Lightning Storm's programming is anomalous because it might have just been ported over from COTA/XVSF.
I sorta suspect COTA characters to have unique bugs onto themselves because they were 1st generation characters, and I don't think Capcom would revamp too much of their code if they didn't need to.
In fact, this bug has existed for Magneto since XVSF: https://youtu.be/GXgtMDnxh-c . I wonder if it's possible for Sentinel in COTA.
Another example is Dark Stalker characters having some of their animations brought out during the Chaos Dimension bug: https://youtu.be/JFGyVCzkHUM?t=103
Anakaris gets to dash out of the screen and shoots back with invulnerability until it's canceled.
121)
https://youtu.be/9zx5m71MbQo
I've been trying to finish the After Effects HUD stuff so that I can plug in the corresponding clips for the tutorial i had in mind. I think I'm going to cover 3 topics in the tutorial and focus on three different game styles -- maybe A3, CVS2 and XVSF or MVSF.
Right now, I'm kinda stuck trying to come up with ways to include the V-ISM and A-ISM guides for an MvC2 mechanic/property. MvC2 doesn't really use anything in 2 or 3 that I can show using the ISMs. Also, for the clip, I forgot to turn off "permanent-health". There's another address in the RAM that lets you turn on "refilling health" like in Training Mode where the health goes down to 0, but fills up eventually without the character dying.
I'm going to try to cover Dizzy, Unfly, and the Frame Skip Cycle. They are all mechanics that matter in most matches -- and the frame skip stuff is kinda everywhere. The Frame Skip affects so much, it's a miracle marvel2 is playable. It's almost on par with the actual-randomness of the game, like Tempest, Hail Storm, AHVB mashing.
Frame Skip affects any 1-frame situation, so that could mean getting an AHVB or HVB, missing an air-dash or some other 1f link, etc. So the topic kind of lends itself to a tutorial.
122)
https://youtu.be/9hsLM1sucUI
I recaptured the clip data to include the refilling lifebars, as well as an address that indicates who is the point character.
As a result, I'm able to automate a ton of stuff; including who is in which slot (P1 ABC / P2 ABC). That speeds everything up and allows me to skip keyframing for any of the animations on-screen.
Using Cheat Engine, I found some informative addresses for stuff like characters, order, color, stage, etc. So that stuff is read in AE and certain things are set depending on what the info says (like text and colors.
The logic to automate everything was just a bunch of if-else statements that change a variable's final result, and then uses that final result to push the correct name, color, or image on-screen.
There's like a palette of pre-made colors that get used depending on which stage is active. I set them during the Dhalsim Revisited video, but didn't have much if any automation during then since I was super-new to javascript.
But since I started this whole workflow, I've wanted to be able to automate certain monotonous parts. I skipped doing that during the Dhalsim video because I could barely wrap my head around getting the whole thing to work once, let alone in any elegant or efficient way.
The clip's contents show more Dizzy mechanics, like how and when Special attacks can cause dizzy, and how and when certain attacks don't cause dizzy.
At this point, it's all self-explanatory since both the inputs and dizzy meter are visually represented. For instance, Amingo's kick launcher doesn't cause dizzy, but that's because it's a 3HK/df-HK which is a universal launcher, and doesn't add or cause dizzy.
I need to do 'storyboarding' for the clips so that I can edit it seamlessly. For instance, the dizzy-stuff is all recording on the Ice Raft stage. There's 3 different clips with different characters, but it won't be noticeable in the final video since there's no HUD.
123)
For a while, I was using individual PNG versions of letters that were rigged inside of Javascript to write out stuff. However, I stumbled on an easier version which I ended up using in the Ratio Mod trailer.
Photoshop supports a special type of font that can be 'elaborate'. So what I ended up doing was pushing all the PNGs into Photoshop, and created fonts for all the old games.
It's: CvS2, MvC1, MvC2, Alpha3, Alpha3 and XVSF.
There's other fonts for those games, but I'm not sure if I'm going to use all of them. Creating the Titles is really convenient, but I think I'm still going to have to use the Javascript sentence-parsing rig to write stuff on-screen -- like the character names.
124)
https://youtu.be/gQNz8KH8SlI?t=68
Not my footage, but it's something I had in mind when I was thinking of explaining the dizzy mechanic. The tutorial featuring the old-game HUDs is essentially a tripartite video that's gonna go over: Dizzy, Unfly and Frame Skip. I might include RNG stuff instead of Unfly to bring together the idea of randomness being a quintessential factor in MvC2's history.
For instance in that clip at the time stamp, Sentinel gets Guard Broken by Magneto and spins out in the dizzy animation. Recently, I've been thinking how it's a small miracle that MvC2 is playable and that people still continue to play it competitively given how much inherent randomness there is; and the extent to which it permeates.
I don't know if that's going to be the single unifying factor of my tripartite video. I was thinking about including well-known VS-footage that displays favorable RNG/Frame Skipping as part of its existence. The Soo-Justin clip came to mind 'cause that was one of the first 'big things' I saw when I was getting into the scene.
If i pursue this idea as a theme, I'll find other memorable moments and point out all the ridiculous amount of 'luck' that had to come together in order for those moments to occur. It's not to take away the idea of skill, but luck is luck; and those factors are ineluctable.
It's kind of ironic, but a lot of the real RNG stuff shows up a lot in top tier characters, particularly Magneto and Storm. For instance, Magneto's Hyper-Grav and Tempest both have RNG woven into their outcome, and Storm's Hail Storm is the same.
Cable and Sentinel aren't affected by it as much, but Tiger-Knee motions (2369+P/K) are a big part of Cable's gameplay, and they are affected by Frame Skip.
Although strictly speaking, Frame Skip is not random, it may as well be since you can't really control the cycle it starts on (it changes every match); and it occurs too fast to keep track of it realistically. Nevertheless, it affects tons of stuff.
125)
https://youtu.be/_0g9pOEARl8?t=470
Duc vs Sanford at Evo made me think of how much the Frame Skip affected the situation. 3/4ths of the time, Duc's AHVB will come out the way it did. However, 1/4th of the time, he would have gotten a ground-Hyper Viper Beam.
1/4th of the time, the game gives you 'extra-leniency', and your input ends up on the ground. Although I don't have footage to show it, I used to use this exact method to calibrate my programmable controller to the Frame Skip cycle in 2008-2009. In my case, I wanted a ground-version of the attack. However in a VS-context, it's better to get the air-version of the attack (and it has a 75% chance of occurring).
Regarding the Frame Skip stuff, I eventually realized Joo's data for normal-attack-durations could be used to find the Frame Skipping: https://youtu.be/JK6RevIYFzA?t=1 In this case, Hulk and Anakaris both do attacks that have 25% chance of ending 1 frame sooner than normal on the 'right frame'. In Hulks case, it's his taunt, and in Anakaris' case, it's his LP. So in the video, Hulk does an attack after his taunt, and Anakaris does an attack after his LP. If those attacks are visible on-screen, that means both characters are synchronized.
Anyway, the Frame Skip stuff isn't "random" in the purest sense of the word, but it may as well be. For fun in casuals vs my friend, I pause-and-unpause the game during a VS match when I'm about to be hit by Sentinel's Unblockable on wakeup since it affects its outcome. Like, that's normally illegal/bannable in a tournament, but in casuals I've done that for fun to see if I happened to get the fortuitous outcome.
This clip is kind of the extreme case of the idea: https://youtu.be/WLgb3oo0BkE
Basically, you could switch the outcome of Sentinel's 2HP hitting/not hitting by pausing and unpausing the game constantly to change the frame skip cycle since the beam is unblockable for just-one-frame.
126)
https://youtu.be/VJtxZCZydzg
Lord_Yoshi found this system. It was good 'cause I was able to finally address the mashing out stuff.
Basically, there is an address that creates "points" every time a hyper-grav connects. Those points get eliminated as you mash, and their value is random; creating truly-random outcomes in important situations that decide match outcomes.
I already knew the Tempest was random, so finding out how the hyper-grav worked was interesting because I realized that mashing out of hyper-grav-tempest was 100% random, although you could improve your chances by mashing out correctly.
I'll cover this in the tripartite tutorial, but include other attacks that have RNG systems on mashing (like throws). Although I can't remember the moment, I know Duc uses Spiral's ground throw to great effect. Since he gets people to block VS Spiral so much, he sometimes walks up and throws the opponents.
The first time I ever saw 'apotheosis mashes' was in meikyousisui 8 https://youtu.be/MACdTOayaK8?t=33 -- Joo repeated the throws and mash sequence over and over until he got the right RNG on the throws that allowed him to get the maximum damage.
Again, that stuff is RNG -- Lord_Yoshi mentioned that some attacks have 2 sets of RNG that decide the outcome. So getting the absolute-maximum damage is really, really rare (and you have to mash frame-perfectly to get it).
I'll have to come up with examples demonstrating this stuff in matches. My only ideas off the top of my head are Cyclops' MOB, and I-think Storm's Hail Storm. I think Storm's Hail is affected by RNG, but I'm not sure it's the same as Cyclops' MOB or Spiral's HP-throw.
I'm pretty sure the tutorial is gonna be Dizzy-Alpha 3 theme, Random Number Generation-Capcom vs Snk 2 theme, Frame Skip-All-old-vs-game theme.
To be honest, I think I will have a hard time explaining that stuff concisely. I'm trying to figure out how to layout themes and think of ways to show the right examples.
127)
As for the tripartite tutorial, I think I have to storyboard the content in the same way I did the Dhalsim Revisited video. That is, I have to enumerate the content in Excel or Notepad in order to give myself an outline on how I will record the content.
For the Dizzy stuff, I outlined what I know about it some sort of logical order that will allow me to record the clips in the right way. I have to do this for the RNG stuff and Frame Skip Cycle, which is gonna be hard since they are both more complicated than Dizzy. Also, I was thinking that I should show 'famous moments' after each explanation. That is, show well-known MvC2 matches that demonstrate the stuff I explain after I explain it, to explain it a 2nd/3rd time.
So for dizzy, I have:
Dizzy:
Address Value is 80. When it goes down to 0, there is a spinout, usually. The timer resets itself to 80 after 60 frames of not being attacked.
Most Normal attacks cause dizzy. The amount caused is random. Light attacks (LP/LK) cause the most stun, Mediums cause less, and Fierces cause the least.
Offensive-Crouch launchers, Specials and Supers do not cause dizzy. However, some characters' Snapbacks cause dizzy; and there are exceptions for certain specials and supers.
OTG attacks, Snapbacks, Throws and some capture attacks cause dizzy, but cannot trigger the spin out animation. If the value is set to 0 by one of these attacks and the dummy is not in OTG stun, any attack will trigger the spinout until the timer resets itself.
The dizzy value is retained after a snapout, but calling the assist resets it. If the value turned to 0 as a result of the Snapback, it will change to 1 when the character returns.
If the value turns to 0 on a hit that Super Armor absorbs, the spin out will not happen. Instead, the value increases to 1.
128)
Recently, mountainmanjed figured out how to access a couple of developer tools that were left in the game. One is a model viewer with a movable camera, and the other is a sound test to play everything on-command.
Jed runs USA DC MvC2 on Mame because it has a real-time debugger built in. However, Mame support is very limited and runs at 20% speed and has lots of graphical issues. I wanted to try it in Demul since it has up-to 4K video output, and some of the textures scale up really well. Still, I recommend watching it at x2 speed since the camera movement speed is fixed.
He figured out a way to jump out of a match or training mode into the menus. Using Cheat Engine, it's possible to do this by changing the value of 2C14DAE8 to 8C0EF3E8 for the model viewer and 8C0429F8 for the sound test.
P1 controller is used for the model viewer, and both controllers are required to play stuff from the sound test menu. The controls take a while to figure out, but they're at least listed in the model viewer mode.
Jed had already compiled notes on what each 'level' contained. Like HUD stuff, opening screen, capcom logo, main menu, etc. Each dm option has all the textures for that scene. The rest are the textures and models for all the stages.
There were a few unused models and texts. I think Rogue was supposed to get Gauge-up? There was a Dizzy star and system that was scrapped as well? As in, the game would have maybe had a visible dizzy meter so that it wouldn't be as 'random' as it is in the final version.
All this stuff was created during the beta version of the game, it was so nascent that some of the names aren't even there. For instance, Ruby Heart is labeled as New Character (Pirate).
Unfortunately, there's no way to trigger animations in the models. And in order to use any of it, I have to figure out how to remove the XYZ and plane lines using Cheat Engine.
129)
http://shmuplations.com/marvelvscapcom2/
Someone sent me this old interview with a couple of the MvC2 developers that took place some time in the year 2000. It includes some concept art down at the bottom.
I'm not sure how recent this was, but I thought it was interesting.
130)
A while ago, I was trying to figure out how to write If-Else statements to assess what was going on in a clip. (https://zachd.com/magnetro/inchoate.html)
The idea was to use a bunch of addresses (top) to read and do the logic (bottom) checks. The reason it was so onerous was I didn't have a system for determining who the point-character was in a given clip.
In this example, Amingo and Storm are the point characters. I ended up finding new addresses in Cheat Engine that show the point characters are. The point characters according to the addresses are always given the value of 0. So I figured out the 6 addresses corresponding to that and used them to check who the point characters are in Javascript.
I wrote a bunch of Javascript in one Text Layer in Adobe After Effects to determine who is the point character and to check all the stuff shown in the image. The image text shows that it's currently checking P2 -- and P2's point character is Storm, or in the case of the data, P2_B. That is on the P2 side, Storm was the 2nd character picked, so the data keeps track of her as P2_B.
The bottom stuff is the result of the logic checks I'm using to determine what's going on in the game. Stuff like
//Being_Hit
Being_Hit : ( (dataAdr.Hitstop == 1 && dataAdr.Knockdown_State == 32) || (dataAdr.Hitstop == 4 && dataAdr.Knockdown_State == 32) ) ? 1 : 0 ,
So in that evaluation, it's looking to see if Hitstop is equal to 1 and Knockdown_State is equal to 32, or Hitstop is equal to 4 and Knockdown_State is equal to 32. If so, "Being_Hit" turns to 1, else 0.
It's a system I came up with to determine the moment an attack is hitting a character. I'm using it to trigger animations like the Portrait on the top right for Storm.
The Expression I used has a few functions, or mini-programs that I can invoke to determine information about a clip. There's a "Who is the point character?" check.
//Common Variables
var cVars = {
dataPath : comp("PathString").layer("MainPathString")("Text")("Source Text"),
ext : ".js" ,
getStr : function(Px , address)
{
let assemble = this.dataPath + Px + address + this.ext;
$.evalFile(assemble);
return string.split( "," );
},
}
// Manual Lookup Function // Needs complete target-address. Ex: "P1_A_Health_Big"
const mnlLookup = function(address)
{
let assemble = cVars.dataPath + address + cVars.ext;
$.evalFile(assemble); // $.evals an external file containing a variable called "string"
let check = string.split(",")[timeToFrames(time)];
if ( isNaN( check ) )
{ return 0 }
return check;
}
//Point Checker System
new Array(
P1 = "",
P2 = "",
P1_A_is_Point = mnlLookup("P1_A_is_Point"),
P1_B_is_Point = mnlLookup("P1_B_is_Point"),
P1_C_is_Point = mnlLookup("P1_C_is_Point"),
P2_A_is_Point = mnlLookup("P2_A_is_Point"),
P2_B_is_Point = mnlLookup("P2_B_is_Point"),
P2_C_is_Point = mnlLookup("P2_C_is_Point"),
)
//P1 Point Checker
if ( P1_A_is_Point < Math.min ( P1_B_is_Point , P1_C_is_Point ) ) { P1 = "P1_A_" }
else if ( P1_B_is_Point < Math.min ( P1_A_is_Point , P1_C_is_Point ) ) { P1 = "P1_B_" }
else if ( P1_C_is_Point < Math.min ( P1_A_is_Point , P1_B_is_Point ) ) { P1 = "P1_C_" }
else { P1 = "EoD" };
//P2 Point Checker
if ( P2_A_is_Point < Math.min ( P2_B_is_Point , P2_C_is_Point ) ) { P2 = "P2_A_" }
else if ( P2_B_is_Point < Math.min ( P2_A_is_Point , P2_C_is_Point ) ) { P2 = "P2_B_" }
else if ( P2_C_is_Point < Math.min ( P2_A_is_Point , P2_B_is_Point ) ) { P2 = "P2_C_" }
else { P2 = "EoD" };
There's like another 150 lines of code to determine the stuff in the previous image. I wrote the most of it as these 'tables' to let me check a name and its value. So stuff the top stuff like Airborne is the name, and its value is whatever it is on the current frame. Same with the logic checks, they have a name and a value. So when it's 1, it's active, and 0 when it's inactive.
Anyway, that's what I'm using to trigger animations automatically. I was hesitant to use it before because I had only done it for P1_A: https://youtu.be/y6bW1NB4XpI
That is, the data on-screen was just for Amingo because I didn't know how to determine who was active (P1/P2-A/B/C). Using this method, I don't really have to display stuff like this https://youtu.be/JOGjo3NojWo. I used those values to figure out how to write some of the logic for the State-Checkers.
131)
I made Photoshop-fonts for most of the games' fonts. I believe Adobe created the type and it's up to them to expand on which programs it works on.
Months ago I figured out how to write a sentence-typer system using Javascript for After Effects. That's different than these PS fonts since it's parsing text and 'typing it' using PNG files of each character.
In this case, I just type text and export a PSD file and use it inside of Adobe After Effects.
I already set up some Alpha3 stuff so that the names get printed automatically depending on who is active. The AE-stuff is dynamic while the PS has to be pre-typed before using.
132)
https://youtu.be/SoxqORwYKlo
I re-wrote a bunch of the Javascript that checks which characters are in which slots, who the point character is, the inputs and the game states.
The code is a lot cleaner and self-contained to as few layers in the composition as possible (After Effects is like Photoshop with time). Before, I had stuff referencing different timelines in different files and it was hard to keep track of the spider-web of connections. This new way is more efficient and I think it reduces the render times.
The inputs were processed using something called bitwise AND that basically reads a number and reduces it. That reduced value pertains to a button or direction. Using a table, you can compare/lookup what the input is.
So once getting the value, I fed it it into my font to show the inputs on the left side. I also used the value on top of the screen to control whether or not the 'buttons' on the controller light up.
Lastly, the black line at the bottom is connected to whether or not "Being_Hit" is true or false. If it's true, the animation on the dummy's portrait will happen. I display all that info for myself because sometimes looking at when it's True/False gives me animation ideas for presentation.
The portrait changes images based on Storm's dizzy meter, and it changes color based on her health, I believe. I don't remember the portrait's conditions from the old games, but since I'm doing it for dizzy, it's going to be for that.
I have to recapture my footage because I want the clips to leverage all the JS stuff I recently did. Like, I have to storyboard or plan out what I'm going to record a lot more because I want to present all the JS stuff I rigged up.
In any case, the whole process has been a learning experience and it lets me leverage/use all the data I accrue in more ways. (edited)
This is the JS that prints the end result of the inputs. There's a table at the beginning and then it uses two loops to go through all the extant inputs per-frame. The final string uses a replacement function to fix the diagonals. Since the output ends up being literal, diagonals (down-right) look like 62 instead of 3.
var buttonConversion = [
// cardinals
{val: "6", key: 1024}, // 6 = right
{val: "4", key: 2048}, // 4 = left
{val: "2", key: 4096}, // 2 = down
{val: "8", key: 8192}, // 8 = up
// buttons
{val: "u", key: 512}, // LP = u
{val: "j", key: 64}, // LK = j
{val: "i", key: 256}, // HP = i
{val: "k", key: 32}, // HK = k
{val: "o", key: 128}, // A1 = o
{val: "l", key: 16}, // A2 = l
{val: "(", key: 32768}, // START = (
{val: ")", key: 2}, // SELECT = )
];
var inputs = inputLookup("P1_Input_DEC");
var str = "";
for ( let i = 0; i < inputs.length ; i++ )
{
for ( let b = 0 ; b < buttonConversion.length ; b++ )
{
if ( ( inputs[i] & buttonConversion[b].key ) != 0 )
{
str += buttonConversion[b].val
}
}
str += "\r"
}
str
.replace( /42/gi , '1' )
.replace( /48/gi , '7' )
.replace( /62/gi , '3' )
.replace( /68/gi , '9' )
133) https://youtu.be/DzEStefA6n4
The bottom-middle texts show 2 different state checkers' values for the point/active characters.
There might be more state-checking addresses, but those two tend to keep track of a ton of stuff that can be used to programmatically investigate what's going on in the match on any given frame. The two I've figured out are (some are missing):
isProxblockTable // Missing: 14, 23
0 : Default
1 : In Air
2 : Dashing
3 : Crouching
4 : Turning Around
5 : Ground Block
6 : Air Block
7 : Standing Punches
8 : Standing Kicks
9 : Crouching Punches
10 : Crouching Kicks
11 : Air Punches
12 : Air Kicks
13 : Hit Stun
14 : ???
15 : Throwing
16 : Being Thrown
17 : Getting up from OTG (Invulnerable)
18 : Match Start State (Throw Invulnerable)
19 : Win Pose
20 : Tag-in & OC Launcher
21 : Special Attacks
22 : Supers
23 : ???
24 : Assist Related
KnockdownTable // Missing 12, 16, 33
0: Neutral
1: Walking
2: Rising to Normal Jump
3: Normal Jump
4: Landing from Jump
5: Starting to Crouch
6: Fully-Crouched
7: Rising from Crouch
8: Turning Around
9: Crouch Turning Around
10: Forward Dashing
11: Back Dashing
12: ???
13: Rising to Super Jump
14: Super Jumping
15: Air Recovery
16: ???
17: Getting up from OTG Stun & Tech Roll
18: Proximity-Block & Blocking & Pushblocking
19: Air-Prox-Block & Blocking & Pushblocking
20: Normal Attacks
21: Special Attacks
22: Assist value after match ends
23: Extra OTG Stun
24: Flight Neutral
25: Corner Jump
26: Air Dash
27: Tech Hit flip out
28: Tag/Assist-is-Called
29: Supers & Snapbacks & THC
30: Throwing opponent
31: Being thrown
32: Stunned & Undizzy & Forced-OTG Stun
33: ???
34: OC Launcher