Not About the Submission

At the time I am submitting this run, there are protests/uprisings of various levels of peaceability all across the United States.
The proximal cause of this is the murder of George Floyd (an unarmed black man) by four officers of the Minneapolis Police Department, but this is not an isolated incident. Although statistics show strong evidence that dark-skinned citizens are targeted by police violence a disproportionate amount of the time, the increased militarization of civilian police authorities, along with the steady decrease in police accountability to the citizens they have sworn to protect, is an issue that affects more than just black America.
Homeless people, trans people, sex workers, the poor, and all people with darker natural skin colors are classes of people that face a heightened risk of being brutalized or murdered by police while simply going about their daily business and committing no crime.
Police have responded to peaceable protests of their excessive use of force by committing literal war crimes against the protesters, driving their cars into peaceful crowds, and refusing to arrest other people who attempt to murder these protesters.
In the 25 days since the inciting incident, police nationwide have killed approximately 200 more people. In the last two weeks, six black men have been found hanging in trees in public, and in all six cases, police summarily ruled the case a suicide and refused to investigate. Additionally, in multiple cities, large swathes of police have resigned, or gone on strike, in response to even a single officer being held accountable for disgusting and inappropriate use of violence against unarmed civilians.
Massive reforms are necessary, and they cannot happen soon enough.
In issues like this, refusal to speak is implicit support of the status quo. Avoiding comment is equivalent to saying "nothing about this needs to change."
There is not much that I have the power to do regarding these issues, but I do have the power to say: Black Lives Matter, and Silence is Violence.

About the Submission

Emulator used: BizHawk 2.4 modified to load external tools, syncs on BizHawk 2.4.1

Categories

  • Aims for fastest time
  • Abuses programming errors
  • Takes damage to save time
  • Colors a DNA
  • Staves off alien invasion using only the power of multi-layered time paradoxes
  • Jumps through a bunch of arbitrarily placed hoops
  • Gains advantage through the dark power of Dolphin sacrifice
  • Reuses existing input

About the Game

Imagine trying to win a Formula 1 race with a steering wheel that only turns in 45 degree increments, and refuses to be turned more than 8 times in a second. Further, imagine that, even though your steering wheel locks in the direction change instantly, the wheels take a sixth of a second to complete that 45 degree. Further, imagine that your vehicle has no brakes.
That's kind of what it's like to speedrun an Ecco game.
In addition, the collision code was written by advanced analytic geometers who have ancient arcane insights into the calculations required to use almost arbitrary polygons as bounding boxes.
The good news is, the coders cut some corners here and there, resulting in a huge variety of bizarre flaws in game logic for a TASer to exploit.

About the Movie

This movie completes the game on hard mode. Hard Mode differs from easy mode in that there are two additional autoscrollers, bosses have more HP, the collection quests are longer, and several levels have additional barriers that slow you down.
Oh also there’s one added level that’s not an autoscroller, but instead requires navigating lots tricky turns in extremely narrow quarters.
This movie uses the Japanese version of the game, because I heard a rumor that the Japanese version has less lag on 3D stages. This turned out not to be true (at least under genesis plus GX emulation), but the Japanese version does have significantly less wait time in between lines of text. The result is that, even though the text is split up into a larger number of lines in Japanese, perfect text advancement saves 336 frames over the US version over the course of the hard mode run.
I began this improvement project by taking the movie file from the prior TAS, and resyncing it to the updated GPGX core in bizhawk 2.4.1, and then to the Japanese ROM. I do not think of this as a new TAS separate from the prior publication, but a continuation of the same TAS, and thus did not reset the rerecord count before starting work on this improvement.

Techniques used

Fastest Acceleration

Acceleration in this game is obtuse and complicated.
There are three ways to accelerate in this game:
  • Pressing the accelerate button, which increases Ecco’s speed by a varying amount depending on his current speed and how long the button has been held down. The speed gain increases after the 6 frames of being held down, and drops to 0 after 11. The most efficient use of the accelerate button is in 12 frame cycles of 11 frames down 1 frame up.
  • Performing a short charge (charging with initial speed of more than 3 pixels per frame), which immediately increases Ecco’s speed by 4 pixels per frame, followed by overriding normal acceleration for 19 frames of charge acceleration (slower than standard swim acceleration at low initial speeds, faster at high initial speeds), then decreasing Ecco’s speed by .5 pixels per frame for 5 frames before ending and allowing a new charge. (Normal acceleration is possible during these final five frames of the charge).
  • Performing a long charge (charging with initial speed below 3 pixels per frame), which immediately increases Ecco’s speed by 4 pixels per frame for 1 frame, followed by 23 frames of base 0.15625 pixels per frame (during which 1 frame worth of standard acceleration can apply for speeds of up to 0.65376 pixels per frame), then 2 frames of 4 pixels per frame per frame acceleration, 3 frames of charge acceleration, and then getting the full cycle of a short charge without the initial speed boost.
Additionally, any charge can be cancelled at any point via the sonar button, unleashing a damaging sonar blast, and skipping immediately to the final 8 frames of the charge sequence.
The fastest acceleration pattern turns out to be: accelerate button for 5 frames, then, while continuing to press and release the accelerate button in the most efficient 12-frame cycle, charge, immediately cancel that charge, wait 8 frames, and charge again.

Angle Optimization

Ecco’s swimming angle can only be changed once every eight frames, and only by intervals of 45 degrees. However, Ecco does not immediately turn to his target angle, but rotates smoothly at 4.21875 degrees per frame until reaching his target angle. As a result, you can achieve average swimming angles in between those 45 degree set-points by alternating directional inputs every 8 frames. In many cases, this results in a shorter distance travelled to navigate around distant obstacles than the old technique of travelling at the nearest 45-degree angle until it’s possible to swim in a straight line past the obstacle.

Nudging

Because it takes more than 8 frames to turn 45 degrees, hitting a direction once for just eight frames before returning to Ecco’s original angle allows for relatively small position adjustments. Useful for adjusting position in narrow tubes without bumping into walls.

Cutting Corners

First, some dolphin anatomy:
Ecco’s collision is a composite of two boxes mounted on a spine of five test-points.
  • Head box
  • Nosehole
  • Mid-front vertebra
  • Blowhole (absolute midpoint)
  • Mid-back vertebra
  • Butthole
  • Tail box
Each collision or detection polygon tests a specific point, box, or subset of these 7 possibilities. With proper information about the shapes and test point of these polygons, it’s possible to swim safely past certain enemies or obstacles in positions that would appear dangerous.

Super-breach

By charging on the exact frame Ecco leaves a body of water, he can exit with a velocity of 4 pixels per frame above maximum swim speed.

Jump control

When out of the water, if moving upward quickly enough, Ecco can initiate a spin-jump by pressing C. While spin jumping, every frame in which C is held increases Ecco’s height by two pixels versus if C had not been pressed. This allows for very precise control over the timing of re-entering water, so that Ecco can re-enter water at any desired time within the 8-frame steering cycle.
On the Vortex Future stages, and only on the Vortex Future stages, D-pad up can also be used to increase Ecco's height by an addition 2 pixels for each frame that up is pressed.
Similarly, D-pad down can decrease Ecco's height by 2 pixels for each frame it is pressed on the Vortex Future stages only.

Breaching speed

When it is necessary to travel long distances horizontally, speed can be gained by traveling along the ocean surface and repeatedly super-breaching with a very low exit angle.

Camera Manipulation

Camera position is based on Ecco’s position, angle, and movement speed. Game objects are loaded and unloaded based on their position relative to the camera, and even when loaded, many objects are not fully processed while off-screen. This can used to reduce lag, propel objects through obstacles, and a whole host of other things too varied to list.

Kill Boosting

Destroying an enemy immediately ends a charge without going through the end-of-charge deceleration sequence. The most common way of doing this is by colliding with the enemy while charging, but that immediately sets your speed to 0, which is even worse than losing a tiny bit of speed to the charge ending.
However, hitting an enemy with a charge-sonar blast also immediately ends the charge, and doesn’t set your speed to zero. In this way, whenever there’s an enemy in our path, we can gain ~4 pixels by hitting charge to get the single frame 4 pixel speed boost, and then hitting sonar to destroy it before we collide.
Unfortunately, when an enemy is destroyed, it spawns a remnant star object which changes the meaning of the charge button from “perform a charge” to “prevent this enemy from respawning” when you are within its detection radius, so it’s not possible to get 8 pixel boosts from two enemies that are close together.

Charge Strafing

During a charge, Ecco will home onto enemies in a certain detection area. This allows movement perpendicular to the swim direction without a related reduction in swim speed. Helpful to adjust position slightly without having to go through the slow process of changing angles.

3D Level Lag Reduction

In 3D levels, enemies cause lag. In 3D levels, sonar blasts kill enemies. In 3D levels, sonar blasts cause lag.

Situational Tricks

Ring Manipulation

The teleport rings in 3D Levels appear in fixed positions. However, their movement type (stationary, slow moving, or fast moving) depends on the random number seed when they are spawned. And the random number seed updates every four frames.
Teleport rings with the highest spawn location are fastest to pass through when they are slow moving, as their vertical position requires a low enough jump that it’s possible to return to water within a single charge cycle.

Cutscene Skipping

If the conditions necessary to end a cutscene are already fulfilled when it begins, it will end itself the frame it begins, instead of playing out.
All four level-intro cutscenes have the same end conditions:
  • At least 300 frames have been spent in the level.
  • Ecco's spin value is below 1536.
  • Ecco is facing (almost exactly) straight left after adding the low 16 bits of Ecco's spin value to his angle.
However, of the four intro cutscenes, two begin after the new level begins, and the level timer is reset to 0.
The other two begin slightly before the prior level ends, and thus are possible to skip.
Used in: Two Tides/Trellia's Bay, Lunar Bay/Vortex Future

Barrier Clipping

In certain situations, there are barrier walls composed of a number of smaller objects that check head and tail box collisions. However, within a given frame, the game will stop checking for head collisions after finding a single one, and the game will stop checking for tail collisions after finding a single one. Therefore, depending on the loading order of these objects, it can be possible to swim through these barriers by overlapping the collision box with multiple objects at the same time.
Used in: Crystal Springs, Lunar Bay, and possibly in Four Islands (other stuff is going on and I’m not sure whether this technically happens or not).

Rocket Propelled Rocks

Falling rocks that shield Ecco from currents will assume Ecco’s full vertical speed when his nosehole collides with them closer to their top or bottom than their left or right sides.
In most cases, though, colliding with one of these rocks will kill most or all of Ecco’s downward speed just before it gets transferred to the rock. However, it is possible to avoid this effect somehow through careful approaches that I was not able to determine full boundary conditions on, but seemed somehow related cases involving corners.
Also, turtles are technically rocks.
Used in: Two Tides, Maze of Stone, Four Islands (Entertainment only), Sea of Green, Atlantis

Barrier Skipping

When a barrier glyph is placed to block a mid-air water tube, it is possible to skip around it by exiting the tube with a vertical super-breach, and using mid-air directional control to move left and right around the force-field trigger box, splashing back into the tube above the barrier.
Used in: Trellia’s Bay, Skyway

Hover-turns

The game doesn’t seem to test if Ecco has left water if Ecco is in the middle of a quick flip turn when he would leave it.
Used in: Sky Tides, Aqua Tubeway, Gravitorbox

Trigger Squeezing

Almost all end of level triggers test against Ecco’s blowhole. In auto scrollers, it’s possible to get this much closer to the leading edge of the screen by turning to be parallel to that edge, which allows for squeezing into the end-of-level trigger a few frames sooner.
Used in: Sky Tides, Dark Sea, New Machine.

Eight-way Swooping

When Ecco is a seagull, it is possible to perform a dive-swoop by pressing charge while down is pressed on the D-pad. But once the dive-swoop is initiated, the speed can be directed in any of the eight semi-cardinal directions without concern for gravity. This practically doubles the Seagull’s movement speed, and makes it possible to gain or lose height much, much faster than standard seagull flight, as the seagull cannot normally fly upward or downward at a greater than 45 degree angle. Embarrassingly, for the first TAS I wasn’t even aware that standard downward swooping was possible.
Used in: Fin to Feather, Eagle’s Bay

Gull Clipping

When Ecco is a seagull, he turns back into a dolphin when he hits the water.
Seagulls and dolphins have different hitboxes.
The difference in hitbox can be used to clip through thin walls
Discovered by Aludra Kijurorin of the real-time Ecco speedrunning community.
Used in: Eagle’s Bay, The Hungry Ones

Suicide

When Ecco gets caught between the level boundaries (or the camera boundaries during autoscrollers) and a solid obstacle, or a wall and another solid obstacle, he will be crushed to death, which restarts the level.
This is somehow useful.
Accidentally discovered by Dolfinh, of the real-time Ecco speedrunning community.
Used in: Level id 30

Forcefield Clipping

If Ecco is caught in a barrier glyph forcefield in the same frame that the game transitions to a dialogue screen, the forcefield will fling him at extremely high speeds (potentially through walls) as soon as normal gameplay resumes.
This was discovered by Aludra Kijurorin, of the real-time Ecco speedrunning community.
Used in: The Eye, Big Water

Zipping

When Ecco is caught clipping two or more solid walls at the same time, a chaotic system results that can have great impact on Ecco’s speed values.
Used in: Deep Ridge, Vortex Future

Swimming Through Walls

When Ecco would otherwise be crushed, but is near enough to the seam between two wall collision boxes, they simply both eject him to the seam and consider him not to be stuck.
There is more to this that I don’t fully understand, which prevented it from being used in Black Clouds or City of Forever.
Used in: Dark Sea, New Machine

Transformation Skipping

Although the Metasphere in Fish City has a much larger bounding box than it appears, it still only tests against Ecco’s nosehole, making it possible to avoid being transformed into a very slow moving school of fish.
This trick also works on the levels that don’t appear in this TAS because I avoided being carried off by Vortex Drones or swallowed by the Vortex Queen.
Used in: Fish City. Duh.

Level by Level notes:

Most Levels

Except for a frame cloned or deleted due to differences in lag, I have only redone levels where necessary for new tricks.

Fault Zone

U-turning sets Ecco's spin value wrong, and it isn't reset between levels.
In the prior TAS, I U-turned twice while dealing with the pushable rock. Without U-turns this takes 7 frames longer.

Two Tides

Had to remove a U-turn here, as well. This one cost a much more painful 16 frames.
You may notice that I'm not facing left as I trigger the ending cutscene. This is because the cutscene turns me to face left no matter what.

Trellia’s Bay

Save approximately 450 frames from the intro cutscene not playing, about 100 more frames saved due to a more advantageous start position making it possible to completely avoid getting caught in kelp.

Fin to Feather

Being knocked out of the sky by an eagle is 2 frames faster than diving to the water under the seagull's own power.

Eagle’s Bay

The prior TAS used an obsolete trick called Eagle clipping to get out of bounds on the right edge of the level.
It’s much faster to gull-clip out of bounds on the left retaining wall of the end zone instead of eagle-clipping through the right retaining wall. I saved 215 frames this way.

Asterite’s Cave

GrimShins, of the real-time Ecco speedrunning community discovered that you can just swim through the rocks the prior TAS uses the worm to eat. My fault for assuming the wall was solid without testing it. Also got a more optimal set-up for the second broken glyph. Put together, these saved 279 frames.
The intro cutscene in the next level doesn't actually get invoked until the time travel sequence in between the two screws with Ecco's angle and spin, thus making it impossible to skip.

Four Islands

The updated GPGX core in BizHawk 2.4 caused there to be 1 less frame of lag in this level.
But then a frame of spurious lag appeared after I improved earlier levels.

Deep Ridge

Due to time-saves in prior levels, there is 1 less frame of lag here.

The Hungry Ones

The prior TAS actually played the level mostly as intended, instead of flying through the right hand wall and swimming straight down to the exit.
This saves 1417 frames.

Lunar Bay

There's a cutscene at the end of this level, so I have to reset Ecco's spin value. The easiest way to do that is to catch his tail on a rock as he's re-entering the water after the jump that's necessary in this level. Then I have to redo the rest of the level with no U-turns, and find a way to swim vertically into the ending cutscene trigger while Ecco is facing almost perfectly horizontal
All put together, this costs 83 frames, and it's very difficult to tell what part of the setup is responsible for what part of the time loss.

Vortex Future

No cutscene saves 459 frames.
No cutscene means better initial positioning for getting under the gate.
I also managed to find a much more optimal zip route, for a total savings of 522 frames.

Vortex Queen

A new strategy by GrimShins of the real-time Ecco speedrunning community reduces lag and causes the explosion cutscene to begin sooner, saving 87 frames.

Atlantis

1 frame lost due to spurious lag.

City of Forever

1 frame of lag saved due to the newer GPGX core in bizhawk 2.4

It’s an improvement so there has to be a

Timing Comparison Table

LevelLevel SavingsTotal Savings
Fault Zone-7-7
Two Tides-16-23
Trellia's Bay550527
Fin to Feather2529
Eagle's Bay215744
Asterite's Cave2791024
Four Islands01024
Deep Ridge11025
The Hungry Ones14172442
Lunar Bay-832359
Vortex Future5222881
Vortex Queen872968
Atlantis-12967
City of Forever12968
Text3363304
Total final savings: 3304 frames = 55 seconds and 4 frames.

Thanks to

Aludra Kijurorin

For finding gull clip, and generally being helpful and supportive.

GrimShins

  • For providing an input recording of cutscene skip, so I could analze the mechanisms beneath it.
  • For discovering that you don't have to deal with the worm in Asterite's Cave.
  • For finding a better strategy on Vortex Queen.
  • And for general help and support with the TAS.

Grunkle Barlowe

For making me feel awesome when I finally figured out cutscene skip.

Chronoon

For assistance on the prior version of this TAS, and just generally being cool.

Dolfinh, Vorpal

For assistance on the prior version of this TAS

Possible Improvements

I did not do any of the complex math required to prove that my steering is optimal. In fact, I did not even bother to figure out how to pose those math problems. Therefore, it is possible that my steering is suboptimal.
It's possible that there's a faster way to get dive-bombed into the ocean by the Eagles in Fin to Feather.
Multiple real time Ecco speedrunners have reported that, in Vortex Future, they were able to get an antigravity ball to push them through a wall. I could not reproduce this, but also see no reason why the same thing shouldn't work in Black Clouds. Or why Vortex Larva wouldn't be able to do it in City of Forever.
Multiple real time speedrunners have video evidence of Ecco "randomly" failing to collide with walls and/or floors in the vortex future levels. I could not reproduce this, but it would allow for significant skips in these levels if the mechanism were determined. (I currently suspect insufficient memory to allocate a new game object when loading the walls in question.)
I have seen a clip of GrimShins swimming through a wall in Black Clouds. There is nothing special about the wall that was swum through. I was unable to replicate this, let alone determine the cause. This potentially implies that all rectangular walls in all levels can be swam through, which would radically alter the run's routing.
It probably indicates that all rectangular walls in Vortex Future levels can be swam through, which would radically alter the routing in Black Clouds and Gravitorbox.
Both Black Clouds and Gravitorbox have the level geometry required to initiate zipping in the way I used in Vortex Future, but due to collision box loading order or other reasons, I was not able to initiate any useful zips in those locations. Again, these would produce significant time saves.

ThunderAxe31: Judging.
ThunderAxe31: Accepting as improvement over the current publication.
feos: Pub.


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15628
Location: 127.0.0.1
This topic is for the purpose of discussing #6789: upthorn's Genesis Ecco: The Tides of Time in 35:35.20
Active player (437)
Joined: 4/21/2004
Posts: 3517
Location: Stockholm, Sweden
I just wanted to say I fully support what you wrote Upthorn. You expressed precisely what I am feeling. I will watch and edit this later on. Edit: I had zero expectations prior to watching it as I had no knowledge of the game. The run looked entertaining and fast paced. Definitely yes vote.
Nitrogenesis wrote:
Guys I come from the DidyKnogRacist communite, and you are all wrong, tihs is the run of the mileniun and everyone who says otherwise dosnt know any bater! I found this run vary ease to masturbate too!!!! Don't fuck with me, I know this game so that mean I'm always right!StupedfackincommunityTASVideoz!!!!!!
Arc wrote:
I enjoyed this movie in which hands firmly gripping a shaft lead to balls deep in multiple holes.
natt wrote:
I don't want to get involved in this discussion, but as a point of fact C# is literally the first goddamn thing on that fucking page you linked did you even fucking read it
Cooljay wrote:
Mayor Haggar and Cody are such nice people for the community. Metro City's hospitals reached an all time new record of incoming patients due to their great efforts :P
Synahel
She/Her
Former player
Joined: 1/19/2011
Posts: 260
Location: France
Amazing improvements, and i fully support everything that you've written, it's too easy to close our eyes collectively.
EZGames69
He/They
Publisher, Reviewer, Expert player (4468)
Joined: 5/29/2017
Posts: 2765
The old movie was was one of my favorite TASes of 2018 and I'm glad to say it's the same feeling here as well, the Sega Awards are going to have some competition. Ecco is a tough game to do and it's amazing to see Upthorn tackle everything so optimally, especially after a long break he took. well done Upthorn, I hope to see more work from you in the future, yes vote.
[14:15] <feos> WinDOES what DOSn't 12:33:44 PM <Mothrayas> "I got an oof with my game!" Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish [Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
CoolHandMike
He/Him
Editor, Judge, Experienced player (897)
Joined: 3/9/2019
Posts: 729
Wow really enjoyed that one. Ecco, a grilled dolphin, constantly is speeding through solid objects and other seafood at highspeed. Shark fins, eels, perch don't stand a chance at all. This movie basically is an all you can eat smorgasbord of delicious seafood. WARNING: don't watch on an empty stomach! Lots of strange clips and glitches throughout. The part starting where you get abducted by aliens and then perform a bunch of wall bounces and high speed clips around 23:00 is the best part of the movie. Maybe verging on stars or a high Moon? Only part I thought was a bit boring was the weird part with the tubes of water with the static background around 3:30. Also the autoscroller section near the end. Oh yea also mandatory political message: TIGER KING FOR PRESIDENT 2020!
discord: CoolHandMike#0352
Noxxa
They/Them
Moderator, Expert player (4128)
Joined: 8/14/2009
Posts: 4090
Location: The Netherlands
Posts about politics have been split out of this thread. Reminder that while the submission text is allowed to make a political statement, the submission topic is for discussing the movie itself, and not for discussing politics. If you want to discuss about the inclusion of political messages in submission notes, do so in this topic. If you want to discuss the politics inside the message itself, do so in the politics topic. From here on, posts made in this topic that contain content that belongs in one of the two above topics will be removed.
http://www.youtube.com/Noxxa <dwangoAC> This is a TAS (...). Not suitable for all audiences. May cause undesirable side-effects. May contain emulator abuse. Emulator may be abusive. This product contains glitches known to the state of California to cause egg defects. <Masterjun> I'm just a guy arranging bits in a sequence which could potentially amuse other people looking at these bits <adelikat> In Oregon Trail, I sacrificed my own family to save time. In Star trek, I killed helpless comrades in escape pods to save time. Here, I kill my allies to save time. I think I need help.
Joined: 6/7/2008
Posts: 124
Location: Portugal
The extra HUD encode was surprisingly entertaining. It's pretty elaborate, and really shows how complex of a game Ecco 2 really is. I'd love to have a more in-depth explanation of what all of its elements are. As for the run proper, it's just as great as the previous one! Easy yes vote.
I'm Espyo from the SRB2 Forums. Current project: A Pikmin fan engine, Pikifen
upthorn
He/Him
Emulator Coder, Active player (392)
Joined: 3/24/2006
Posts: 1802
Espyo wrote:
The extra HUD encode was surprisingly entertaining. It's pretty elaborate, and really shows how complex of a game Ecco 2 really is. I'd love to have a more in-depth explanation of what all of its elements are. As for the run proper, it's just as great as the previous one! Easy yes vote.
In 2D game mode: Mostly, things are color coded: Ecco has a variety of possible collision tests
  • His nose point is lime green, bounding zones that test against his nose point are lime green or have lime green outlines.
  • His mid point is red, bounding zones that test against his mid point are red or have red outlines.
  • His tail point is blue.
  • Bounding zones that test against his nose and tail are cyan (lime green + blue) or have cyan outlines.
  • Bounding zones that test against all three main points are white, or have white outlines.
  • His intermediary points are yellow, the one type of object that tests his intermediary points is yellow with a yellow outline.
  • His head box and dorsal box are slightly off-white. Bounding zones that test against Ecco's head/dorsal boxes have slightly off-white outlines.
Other bounding zone outline colors exist.
  • Orange: tests for a specific object that is not Ecco.
  • Blue: tests for Ecco's sonar blasts.
  • Gray: Has an activation condition that isn't currently met.
Many things have infill that is color-coded by what happens when a collision occurs:
  • Off-white: standard wall-type collision (horizontal and vertical ejection toward the nearest bound on each axis)
  • Yellow: Walls that eject in only one direction (have a single line that indicates the direction they eject toward.)
  • Reddish-purple: Standard enemy type collision (damage Ecco and knock-back if not charging, take damage and stop Ecco if he is charging, take damage from sonar attacks).
  • Gray: Has an active state and an inactive state, and is not currently active.
  • Diagonal Lines across the bounding area indicate that Ecco can push the object.
Also orange lines exist:
  • Ecco and almost all objects that move have orange lines that indicate their motion vectors.
  • Some objects that don't move have orange lines that indicate nothing because oops.
  • Opening/closing doors have orange lines that indicate how far open they are.
  • Camera scroll controllers have orange lines that indicate the direction and speed they will lock (or are currently locking) camera scroll into.
  • Objects that navigate towards waypoints cause the waypoint they're currently navigating towards to fill in orange, and have a second orange line that stretches directly towards the waypoint's center.
  • Waypoints have orange lines that stretch directly to the center of the next waypoint in the series.
  • Objects that are stuck within certain regions have orange lines indicating boundaries they cannot cross, or will trigger behavior changes.
However, boundary triggered object behaviors are too diverse to use a uniform color coding for all of them. For instance, in the final level, the Vortex Larva objects have two octagonal aggro radii. While Ecco is within the outer, yellow radius, the vortex larva will count down until the frame it can become aggressive. When Ecco is within the inner, red radius, the vortex larva will become aggressive if the countdown is at zero. These colors were chosen for intuitive reasons (I think of them as "yellow alert" and "red alert") rather than to fit in with any systematic color coding. In 3D game mode:
  • Most objects have lime green coloring for their XY-plane collision boundaries, and mid-points.
  • For visibility in a very cluttered display environment, Ecco and Teleport Rings have orange coloring for their XY-plane collision boundaries, and mid-points.
  • Sonar blasts XY-plane are lime green for their with non-ring objects collision bounds, and orange for ring object collision bounds.
  • Most objects have blue coloring for their XZ-plane collision bounds.
  • For visibility in a very cluttered display environment, Ecco and Teleport Rings have red coloring for their XZ-plane collision bounds.
  • Gray points and shapes indicate the predicted future spawn points of objects
How fleeting are all human passions compared with the massive continuity of ducks.
upthorn
He/Him
Emulator Coder, Active player (392)
Joined: 3/24/2006
Posts: 1802
EDIT: Just noticed I hit "quote" instead of edit and accidentally double posted.
How fleeting are all human passions compared with the massive continuity of ducks.
Joined: 6/4/2009
Posts: 893
incredible run, easy yes vote, the hud encode should be added to the publication, it's very informative and allow to easily understand some of the tricks (maybe a "ds like" encode like we have for the DSVanias run ?)
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15628
Location: 127.0.0.1
This movie has been published. The posts before this message apply to the submission, and posts after this message apply to the published movie. ---- [4230] Genesis Ecco: The Tides of Time by upthorn in 35:35.20
Evan0512
He/Him
Joined: 10/18/2017
Posts: 171
Location: San Francisco
Shortly after the submission I was shocked about its run. Is it any%? I was still unsure. I think the 35 minute run is good, but the 32 minute run is better. The ending after the vortex resembles the original, the actual ending is the secret password and the epilogue in “City of Forever.”
Planned runs: Marble Madness (Arcade, Genesis J, GG/SMS) Proposed: Ecco the Dolphin (Genesis, GG/SMS, CD: regular, camera freeze) Ecco: The Tides of Time (Genesis, GG/SMS, CD; normal mode) Mario Kart DS (all cups, all missions) In progress: Grand Poo World 3 (all exits hard mode)
Samsara
She/They
Senior Judge, Site Admin, Expert player (2241)
Joined: 11/13/2006
Posts: 2822
Location: Northern California
Evan0512 wrote:
I think the 35 minute run is good, but the 32 minute run is better.
You're comparing the wrong run to this one. This is the correct RTA run to compare to.
TASvideos Admin and acting Senior Judge 💙 Currently unable to dedicate a lot of time to the site, taking care of family. Now infrequently posting on Bluesky
warmCabin wrote:
You shouldn't need a degree in computer science to get into this hobby.