Submission #6716: Troye's PSX Tomb Raider in 51:45.55

Sony PlayStation
baseline
BizHawk 1.13.1
186147
59.94005994005994
89755
Unknown
Tomb Raider (USA) (v1.6).cue
Submitted by Troye on 4/4/2020 8:12:39 PM
Submission Comments

Game objectives

  • Emulator used: BizHawk-1.13.1
  • Game version : v1.6
  • BIOS : SCPH5501.BIN
  • Heavy glitch abuse

About the game

The very first game of the action-adventure franchise, featuring Lara Croft as she sets out on an expedition to recover a mysterious artifact called the Scion.

Comments

Differences between PSX and PC versions

There are a few differences between the PSX and PC versions of the game, but nothing impactful on the route planning :
  • Loading times on PSX between levels
  • A 1 minute cutscene after the penultimate level that is skippable normally on PSX, and only with a glitch on PC.
  • Save points that are physical objects on PSX (on PC, you can save anywhere and anytime), so they can hinder or help Lara.

Timing

The game runs at 30 fps, so usually 1 in-game frame = 2 real time frame. On laggy places, the game may need more real time frames to advance to the next in-game frame.
There isn't anything in the movie that necessarily aims for IGT instead of real time, but I prefer IGT to make it easier to compare with other times.

Speed and movement

MovementSpeed
Walking15
Running47
Standing jumps50
Rolling50
Swimming50
Sliding50
Running jump75
As you can see, the running jump is by far the fastest way to move, to the point where it is often better to take a seemingly non-optimal trajectory in order to make one more jump instead of running.
Now it is important to note that these are the speed in the RAM. In practice, the game rounds Lara's coordinates (X, Y, Z) because it only accepts integers. It means that depending if it rounds up or rounds down, Lara's true speed will be a little bit higher or smaller than the RAM speed. It also allows to adjusting either the X speed or Y speed while keeping the other one the same. The biggest example of this is that for a X speed of -75, the Y speed can be anything from 12 to -13.
When Lara is turning, her rotation speed increases by 45 each frame, until it caps to 1092 on land, and 182 in air. However, when she is holding her guns (must be fully equipped) and turning on the spot, her rotation speed will reach 1092 almost instantly. While swimming, the rotation speed is always 1092 no matter what.

Route planning

Strictly speaking, there are only 3 enemies I need to kill to finish the game, one to trigger the end of a level (50 HP) and 2 to open locked doors (75 HP and 500 HP). Picking an item on the ground costs 73 frames (~2.43s) at the very least, so I needed to restrict the number of pickups as much as possible.
WeaponDamageDamage per second
Pistols1 (per gun)6
Shotgun~18 (depends on range)~16
Magnums2 (per gun)12
Uzis1 (per gun)15
So for the 3 enemies mentioned above, it is worth to pick any of these weapons/clips as long as it costs less time to pick them than their potential frames saved.
The fastest route turned out to be the Uzis. its clips come in doubles (Obelisk of Khamoon and Atlantis) and even doubled with a needed medipack.
As for the medipacks, it is worth to pick them only if the alternative method to save enough health costs more time.

Glitches and tricks

I am not gonna describe every glitch here, only the most common ones I used in the TAS. For the full list of glitches already found in the Tomb Raider games, I suggest that you look at this page : https://docs.google.com/document/d/1OfmtA7uewrFNc-dE6_lddmSLjC2Pr6axIuY8GYu4kxY/edit
  • Corner bug : By entering into a corner with an angle close to 45°, Lara will get teleported to the top of this corner.
  • Wall bug : By hitting a wall while jumping, Lara is teleported to the top of this wall. It only works either if the floor under Lara is slightly-sloping or if she is between two floors of different height. Really precise in some places.
  • Sidestep descending bug : If Lara does a sidestep while in the air (possible cases: start of a level if she starts in air, collapsible tiles, and if Lara is really close of a ledge), then she will be teleported to the floor below her immediately without taking any damage.
  • Dive bug : If Lara performs a dive and ends up at the edge of a ledge, she will not take damage even if the jump height would normally kill her.
  • Quicksand bug : (introduction for QWOP)- some of Lara's animations don't have any speed assigned to them, such as the vault animations. These are affected with lara's fallspeed. When she has positive fallspeed, the game automatically assigns speed to these (normally) still animations. Useful for skipping doors when combined with QWOP.
  • QWOP : The state when the game thinks Lara is falling while she is on the floor. Normally, when Lara jumps, two things happen: her gravity status is set to TRUE, and in result her fallspeed changes (fallspeed is the speed of Lara when she's falling. *it* affects *her position*, meaning when fallspeed changes to, for example, 10, Lara's Y goes down 10 values.). When landing, the game simply resets her gravity status to FALSE. now QWOP is when Lara is on the floor, running, but her gravity status is TRUE. meaning the game thinks she's falling, meaning her fallspeed is on the rise. When the fallspeed reaches 128, Lara is going down 128 units, which is the height the game forces the "step up" animation on, which results in the infamous QWOP move. Now when the fallspeed reaches 384, the game thinks Lara is in front of a 2 click ledge, which she performs vaults on, Triggering the quicksand bug.

Stage by stage comments

Here is a table comparing my times with the published run's times for each level. Reason for each level's timesave is listed below, in the level comments.
Levelpublished moviemy timetime save(seconds)
Caves1:161:151
City of Vilcabamba2:401:4060
Lost Valley3:403:346
Tomb of Qualopec0:560:551
St. Francis' Folly4:214:165
Colosseum3:403:328
Palace Midas5:074:5512
The Cistern3:403:2416
Tomb of Tihocan5:595:1544
City of Kahmoon0:510:510
Obelisk of Kahmoon2:142:104
Sanctuary of the Scion5:425:348
Natla's Mines3:403:0436
Atlantis1:551:541
The Great Pyramid4:193:1366
Total50:0145:32269

Level comments

Caves

The QWOP saved about half a second, and optimization did the rest.

City of Vilcabama

A couple of new skips and optimization.

Lost Valley

New tricks and optimization

Tomb of Qualopec

Optimization.

St. Francis' Folly

New route meant we don't need the medipack anymore, and some new tricks and optimizations.

Colosseum

A small new jump and optimizations.

Palace Midas

New route meant we didn't need the medipack anymore, and optimization,

The Cistern

Couple of new tricks and optimization.

Tomb of Tihocan

new skip and optimization.

City of Khamoon

Mine is faster by 0.1 of a second or so due to optimization, but it doesn't count as the game doesn't count the hundredth. (it doesn't even calculate total time, but we do)

Obelisk of Khamoon

New route meant we didn't need the pickup at the top of the obelisk, and a couple optimizations.

Sanctuary of the Scion

  • Lapogne36 did the input at the beginning of the level, from the very beginning up to the first wallbug near the Sphinx' hand, a huge thanks for him*
-Optimization.

Natla's Mines

Couple of new skips and optimizations.

Atlantis

Better RNG. (somehow)

The Great Pyramid

New skip that caused the route change all the levels above talked about^ and saved a minute itself.

Possible improvements or ideas

  • possibly better RNG in some places, but it went great overall.

Special Thanks

Lapogne36

  • I can not stress this enough, without Lapogne this TAS wouldn't exist.
  • First, his published movie served as base route, second, the input he did in Sanctuary, and lastly, his submission notes were used as base to write this page.
--
  • The Tomb Runner discord for their advice and suggestions while I was making this TAS.
  • Temple of Horus for providing me with a Lua script for displaying RAM values. (Which was originally written by Lapogne36, but heavily modified by Temple of Horus.
  • Everyone who was in the level editing team in Core Design apart from the person who made Sanctuary of the Scion :P

Memory: Judging
Memory: Optimization is great, even better than the published run.
As usual, Troye delivers another great Tomb Raider TAS. From the wallbugs to the QWOPs, a lot of fun stuff to be had. Presumably the little corner eject boosts don't save much time individually, but Troye goes for them anyways which is sign of good attention to detail. Great work with this series.
Accepting to Moons as an improvement to [3440] PSX Tomb Raider by lapogne36 in 56:25.85.
Dacicus: Processing...
Last Edited by adelikat on 11/4/2023 2:16 AM
Page History Latest diff List referrers