I was mostly interested in how the boss fight worked (and why it was so consistent despite being rng), so I dug into the code to look at how it worked:
- Boss has a base health of 3
- Boss has a roam state, where it changes position
- it roams (health) number of times before doing an attack, so attacks come out faster at the end of the fight
- Time between movements is the same, 1.5 seconds apart
- Where it can move to is based on an existing list of possible positions, a random one is chosen
- 6-(health) attacks before weak spot shows up
- balanced by the speed between attacks above
- 6-(health) bombs spawn when that move triggers
- if a "weak spot" bomb, that is just added on
- 9 - (health * 2) tiles are dangerous for that move, so 3,5,7
- The minions it spawns don't need to be killed to progress
- Any rng/time discrepancy should come down to the distance between its roaming position (it moves 10 units per frame, so shouldn't be too much) and how long the player takes to hit the weak spot bomb
- There doesn't seem to be any other way to damage it, the only collision code just damages you if you touch the boss
I was also interested in seeing how the "pause glitch" (in which you pause upon collecting a feather and can quit) works, here's the relevant code segment (comments are my own):
func _enter_state():
# animations/set speed to 0, doesn't do anything for the glitch
animation_player.play("CollectingGoldFeather")
player.linear_velocity = Vector3.ZERO
player.inertial_velocity = Vector3.ZERO
player.dash_velocity = Vector3.ZERO
player.force_squash_stretch_to_normal()
if SceneManager.current_scene_name != "hub_world":
# force game to pause, disallow any other pausing
GamePauseManager.is_collecting_feather = true
# increment "# of levels cleared" which directly ties into golden feathers
player.camera.show_stage_clear_screen()
In order to get the pause glitch, you need to have paused the game after this function is called (once you enter the golden feather's hitbox), but before the is_collecting_feather variable is set to true. So, my conclusion is that this glitch may just come down to processing power/speed instead of a set number of frames, which is why it feels so inconsistent for me.
Otherwise, it is 3.5 seconds before you can begin to go back to hub, from the stage clear screen, or 5.0 seconds until the game does it automatically.
An addition to this is the reason why you can't do this glitch in any level with hot dogs:
if selected_node == $Quit:
GhostDataSingleton.clear_current_ghost_data()
GlobalConstantsAndReferences.reset_speedrun_timer_and_frame_counter()
GlobalConstantsAndReferences.reset_collected_hot_dogs()
GlobalConstantsAndReferences.reset_grey_feathers_after_dying()
So even if you're able to get the glitch, quitting resets your collected hot dogs no matter what.
Some smaller things include a 6 (0.1 second) frame window for a successful diveboost once you hit the ground, and also a 6 frame window of coyote time.
The speed for long jump vs. diving is comparable, with long jump being 4.5 units of speed and a dive being 5.0 units. A diveboost is 10 units for 0.4 seconds, then is capped at the softcap of 5.0. Sliding also starts at a multiplier of 5.0 but rapidly decreases the longer you're on the ground. These are all multipliers to your current speed. Walking is a base speed of 18.0 units, minus 5.5 units for friction (i think it's subtractive). Both dives and long jumps allow the player to go past the softcap of speed for their duration. Spin attack has a base multiplier of 7.0, so maybe this is the fastest method?
Maximum glide time is 1 second, and only can reset (in the air) if you stomp on an enemy.
If there's anything anyone else is interested in looking at, let me know.
basically this is all hotdogs without those you get from the 50 grey feathers per level, so 15*3 + 12 in the hub, kinda an in-between of any% and 100% as you still would just get 15 gold feathers (end goal still the boss)
proof of concept/pb here:
this is cracked, goes against the spirit of any% imo but i would not be opposed into making it into a subcategory if you can get a complete run, and reach the end goal.
Group: Speedruns Rochester Name: Tora-Thon 3 Time: Sat, March 20, 12:00 EST - Sun, March 21, 8:00 EST Twitch: https://twitch.tv/speedrunsrochester Twitter: https://twitter.com/SpeedrunROC Discord: https://discord.gg/srroc Mods: @swc19, @doublegearsys, @CorundumCore, @Jaxler, @Komaru
Name: Speedruns Rochester Summer Marathon Venue: Online Dates: June 14th-16th Sites: https://twitch.tv/speedrunsrochester https://discord.gg/srroc https://twitter.com/speedrunroc Mods: swc19, protomagicalgirl, plof27, CorundumCore
At the moment barely anyone's running challenges as it is, so it really would just clutter the boards with more subcategories if they're added. If challenges becomes more popular as a speedrun category it might be worth revisiting, but not at the moment.
I made this when i ran it, no online challenges
https://docs.google.com/spreadsheets/d/1DIeHJnp-NIzJnNTcc01MSHAbq3bP1mc9ltwCYgpcHCI/edit#gid=0
Attendance:
If you plan on attending Tora-Thon or Tora-Con as a whole, you must purchase a pass to attend. The link to register is here: https://toracon.org/registration/attendee-registration/ and we will (likely) not be providing free passes to runners.
Submissions will close February 16th at 11:59pm and the schedule will be out the 17th. Tora-Con registration closes the 24th, so it is recommended to keep checking back on the schedule and purchase registration before they run out.
If you submit, you must also be in the Discord server for ease of communication. https://discord.gg/srroc
Parking: TBA (waiting on official word from the event)
Housing: If you are in need of housing for the event, there are multiple hotels in the area. You may also contact a Mod on the SRROC Discord to potentially set up housing with a member.
Food: There are plenty of food options at and around RIT for the event. If you are from out of town and need help finding somewhere to go, feel free to contact anyone from RIT in the Discord.
As always, contact a mod if you have any questions.
Name: Tora-Thon 2 Venue: In-Person Dates: March 23/24th Length: 2 Days Sites: https://twitch.tv/speedrunsrochester https://discord.gg/srroc https://twitter.com/speedrunroc Mods: swc19, protomagicalgirl, plof27, CorundumCore
Seems to be an error in the submission, should've been 4:33 instead of 3:33. I'll contact a mod about it.
Stickers are not allowed in any Subspace category.
Name: Lake Effect Warning Venue: Online and in-person Date: Dec. 21-23 2018 Charity: Take This (through Tiltify, https://tiltify.com/@speedrunsrochester/lake-effect-warning ) Sites: https://twitch.tv/speedrunsrochester https://discord.gg/srroc https://twitter.com/speedrunroc Mods/Organizers: swc19 and protomagicalgirl