Cinematic Super Devlog
Behind-the-scenes, including the script
After writing a script, about 20% is deleted. Then, after recording voiceovers, about 30% is deleted. Trust me, videos are really trimmed down–the following script isn’t nearly as much as I wrote, and definitely nowhere close to how much work I put in.
The following is copied-and-pasted from the huge devlog text file. Italics designate things to edit/show on screen.
Beware, this will be corny. 2142 words.
I’ve heard your cries and complaints! I know, you all want another video of my olympic-fencing-based fighting-game, Right of Way! But none of get it! I can’t upload another video–Right of Way is broken! I didn’t just give up, no, no no. Gather around, take a seat–this is a story of tragedy and redemption. This is how, when Right of Way was needed the most, it suddenly, for no reason… broke.
You don’t have to know fighting games or fencing to understand this video. Here’s a quick breakdown: I like Street Fighter. I like fencing. They are very similar. My first day ever fencing, I was like, “wow, no way, this is just like Street Fighter, but like, fencing, or something. I should spend the next several months creating a game by myself!” At the time, I didn’t read the fine print that said: my game would suddenly stop working for no reason at all on a random day in August.
I hear your cries. I hear your complaints. I know what you all want, no, need. The world needs Right of Way. But, when the world needed Right of Way the most, it vanished. Don’t think that I gave up on Right of Way… no, no no. Grab some popcorn, take a seat, this is the story of how, when Right of Way was needed the most, it suddenly, for no reason… broke. cliche horror stuff scream cat blood thunder organ
I finished the second devlog on August 16th, 2024. Just two days later, I updated Godot to the newest version and played my game. Playing against my AI opponents gave me some ideas, so I began planning the next devlog. show notes Then, in the stage selection screen… gasp, scream
For some reason, players cannot hurt eachother. This isn’t just in the stage select screen, but also in the main game! The attacks go through the opponent suddenly for no reason! Why worry? This isn’t the first time my game broke for no reason. I reset my pc, reinstalled Godot, opened my files as a new project–but, nothing fixed it. You can no longer fight in my fighting game. I checked everything, from settings to animations to collisions. The collisions should work, yet, they don’t?! Also, why can the fencer teleport???
As you can see, the hitboxes themselves don’t work. But, what is a hitbox, you non-gamedevs ask. A hitbox is a box that hits hurtboxes. And you’ll never believe what hurtboxes are… But, when the boxes of the hitboxes can not hit the boxes of the hurtboxes to hurt the enemy, how do you get a point? Double touches can’t happen anymore! Speaking of double touches… Right of way, the rule in fencing, decides who gets the point when both fencers hit each other simultaneously. A fencer gets right of way–the rule not the game–by being on the attack. When a fencer misses their attack, they lose right of way–not to be confused with losing Right of Way, the game, which I did lose cause it broke for no reason. Hold on, right of way broke… wait a second… rewind to “hit” and “hitboxes” If you can not hit eachother, then what is the point of right of way, the mechanic, in Right of Way, the game? Is Right of Way even Right of Way anymore without right of way which comes from right of way in fencing, not to be confused with right of way in driving? Now my game is just… Left of… Detour! jumping gif but negative colors Left of… break character Ingredient? what? https://www.wordhippo.com/what-is/the-opposite-of/way.html What this means is… Right of Way is gone, and we killed it. All those comments about my hair, about Niddhog, and that one comment accusing me of copying Dani for some reason–my game couldn’t handle it anymore.
But, I didn’t give up. I have made plenty backups of my game, but the most recent were from before I finished the Epeeist. If you watched Devlog 1, you would know how much time his animations took. And, of course, I had changed so much else in my game during that time. The corruption in my game could be anywhere, so keeping so many individual files show Epee sprite sheet was not a viable option. But… I had GitHub. I reverted to previous commits on GitHub. As you can see… 8-18 reverting broke it didn’t work!! The game broke in the newest version, but somehow, the game also broke in all the previous versions!! Basically, whatever changed in my newest update with 4.3 also broke the previous updates–which were on 4.2–, and none of that makes any sense!!!! scream
What else could I do??? OH! I HAVE GODOT ON MY LAPTOP!!! That’s the entire reason I have GitHub–my teachers yap all class about the most basic, boring stuff ever, so I work on Right of Way whenever I can at school! I’ll just take the files on my laptop and send it to my desktop!!! game works on laptop Ok, my game should be fixed! It’s back in 4.2, which is what the laptop uses, and the laptop version worked–IT STILL DOESN’T WORK!!! WHERE DID THE GRAY DOT COME FROM??? Let’s not forget the fact that the fencer teleports!!! Nothing I tried did anything at all to fix anything!!! I even made a whole new project in Godot to test, and guess what, collisions do work in Godot! Right of Way itself is just cursed!!!
After checking every checkbox to no avail, let’s go back to the laptop. At least the laptop still works… zoom in on my face as I use the laptop wait… no…. NO….. IT CANNOT BE…… IT BROKE ON MY LAPTOP TOO!!!!!! ALL I WAS DOING WAS PLAYING MY OWN GAME LIKE NORMAL!!!!! THEN IT BROKE!!!!!! AGAIN!!!!!!
What I’m testing here is if my old Collision Shapes are cursed, so I made a new one that coincidentally looks like a swan. This is good!!!! Collisions are possible!!!! Right of Way–no, MY GAME still has a chance to wor-musashi hit goes through the swan It’s over…. collisions broke again….. darkness NO!! NOT YET!!!! THE FENCER CAN HIT IT!!!
If you somehow still don’t think my game is cursed, explain this
4.3 must have messed up animations. This may explain why Sho’s CollisionShape2D hitboxes didn’t work, but the other CollisionPolygon2D hitboxes did. The latter are keyframed to be a whole new shape, meanwhile the CollisionShape2D remains a rectangle. So, it wouldn’t process correctly during the animation. Maybe?
I messed with the animation settings. deterministic should work, but then it didnt
After a whole day spent Dazed and Confused, I FINALLY gave up and came back the next day.
Basically, there are two types of processing in game engines: idle and physics processing. Idle processing runs every single frame. So, when a small game, such as Right of Way, runs at 300 frames per second, the hitboxes would update 300 times a second. Meanwhile, since the game is capped at 60 fps, physics processing updates only 60 times a second. So, if the game is lagging like crazy, that doesn’t matter, because the update waits for each in-game frame, not for each frame that the application runs on the computer. Physics processing is used for, well, physics, so that the framerate doesn’t decide the speed of projectiles, characters, etc.
But, I was never told about which processing mode the animations should use. I don’t remember my physics teacher ever mentioning animations and keyframes, why switch to physics processing? Idle always worked, why risk breaking something? deterministic, reset on save, etc were all options but never considered in fear of breaking something However, after that one stray comment on the forum, I decided to switch the animation nodes to physics processing.
While Musashi can hit the swan thingy, he still cant hit the opponent.
My theory: the polygon hitboxes work only when the game is paused, because that’s when the game doesn’t update or process at all. Changing the process mode to be capped at 60 fps keeps the hitboxes constant during a frame. There were like two obscure comments on the forums that led me to believe this. As far as I could tell, no one else experienced the same collision problems. Now, I had to fix the hurtboxes. I changed all the AnimationPlayers, AnimationTrees, and deleted some keyframe tracks in some animations.
hits
IT WORKS! MY GAME IS SAVED! WAIT!! W-Why did that matter so much? Why did idle processing break randomly? Let me explain: Consider that the CollisionShape2D’s were all set to one constant shape–a rectangle. Meanwhile, the shapes of the CollisionPolygon2D’s are keyframed. So, I’m assuming that, in idle processing, the collision polygon shapes were constantly updated too fast for their collisions to be registered. Meanwhile, when the hurtboxes were set to be simple CollisionShape2D’s without any keyframes, no refreshing 300 times a second they worked. Basically, the processing mode of the hurtboxes and hitboxes caused them to refresh too often, which provoked a ghost to haunt my game! And, why did this happen suddenly out of no-where? Great question! silence
Anyways, here are my final AnimationTree settings.
I would show how I fixed the fencer, but… I’m tired of editing. I have hours of footage of just trial and error, and then 5 minutes of me just talking in circles about interpolation and clamp loops and root motion–I don’t think you guys care. Personally, I don’t. I care more about adding stuff to Right of Wa–hadouken
We’ll get to that. First, here’s a multi-hit kick attack for Sho–formerly, Guy.
Boom, game fixed, boom here’s a multi-hit kick attack for Sho–formerly, Guy. It hits 3 times, so you better parry 3 times–or just stay away from that abysmal range.
green screen multi kick, but gets hit by hadouken Now for the hadouken. If you live under a rock, know that hadoukens come from Street Fighter and they are used to control distance. They can pressure from afar, give you time to close in, and/or force the opponent to make a decision. However, fireballs are a problem because Right of Way is a one-hit fighting game. In fencing, you can’t just tap the opponent to slowly lower their health–you either hit them or you don’t. Also, I think that throwing a fireball would give you the black card and a felony… Anyways, how can projectiles be balanced? Should they just stun? Should there be a limit? If Sho has one, shouldn’t everyone else? Maybeeee… you guys can decide that. I don’t feel like it.
Boom, hadouken for Sho. Wait, Sho is broken. Boom, hadouken for Sho. That’s right, Street Fighter copied me 33 years in advance. I’m extremely proud of this animation. It is a good animation. Boom, five big booms Right of Way broke AGAIN. left of detour Well, not the game itself, but the project in Godot was being really stupid again. Guess what? The problem is collisions, AGAIN. The hadouken fireball hitbox should get smaller over time. Makes sense, right? I can animate other hitboxes with no issues. But this? When one keyframe was changed, it’d change all the other ones. Why? I don’t knowwww. I didn’t know back in August, and I don’t know now in January.
Here’s how the Hadouken changed over time, narrated by me discussing something entirely different. big text title card Right of way is very important in Right of Way. But, as it is, the mechanic is only depicted by an arrow beneath players. Boring, right? So, I set the camera to move towards who has right of way, and zoom out whenever right of way is lost. Eventually, a glow or outline will be behind who has right of way. Now, the camera zooms in and out depending on the distance between players. No problems ever occur in my game. Just, ignore what you see and what you have seen for the entire video.
With these bugs fixed and my game even better than ever, it’s time for some change. New year, new game, new hair, new me.
A fighting game AMATEUR does one of four things: Play Street Fighter 6, uninstall Guilty Gear Strive because season 4 sucks the game always sucked ArcSys ruined Guilty Gear, complain on Twitter, or play less mainstream fighting games like Mortal Kombat. But, a MAN gender stats of channel patiently waits for the Musashi update in Right of Way. The Musashi update is the hero the world needs but doesn’t deserve. Do not worry; the next video will cover exactly that. Stay tuned, and go watch my 3D Zombies game devlog in the mean time…