Game information

  • Emulator used: PSXjin v2.0.2 svn0
  • Bios used: scph1001.bin
  • Disk ID: SLUS00706
  • Game name: Tenchu: Stealth Assassins
  • Game Version: NTSC-US
  • Timer: In-game (option -> Record screen)
  • Genre: Action-Infiltration
  • Published year: 1998
  • Developpped by: Acquire
  • Edited by: Activision
Difference between JP and US
In fact, there are 3 japanese versions of this game.
In the first japanese version, there are only 8 levels and only one layout for each. Missing levels are 4 and 5 in the US version. Option, character select, item select and level select screens are also different. Bosses have different weapons. Mashing button are less permissive in the JP version. Other interesting difference is that, in the level 1, you have to defeat Katanal and Echigoya in the same place. So you don't have to quit the first area and you save a lot of time. Finally, 180° reverse roll is absent in the first JP version.
In order to respond at this lack of levels in japanese version, an second edition was published and called Tenchu: Shinobi Gensai. This version almost matches with US and PAL versions with a level editor directly offered by the game (you're not obligated to unlock it with a cheat code). There is also a supplementary short cutscene just after the end of the level 5 (Katoaka's Senpuku). Funny thing about the PAL version is that gives you kunai instead of shuriken and the 50 Hz makes the sequence breaking of the level 9 more difficult.
The first JP version seems to be less challenging and interresting to TAS, but may be Shinobi Gensai version will offer a good challenge because of the layouts are very well thinking (particular shorcuts are impossible). Furthermore, Sephyr0sS and Riskbreaker Y have chosen the US version for one reason : it seems to be the fastest version given the layouts. I really wanted to help them. That's why I choose the US version.

Objectives

  • No Death
  • Aims for faster time / any%
  • Beat the game

Introduction

According to me, there are some really important points in order to understand choices that I have made. First, the game is divided into 10 levels and each level has 3 different layouts. By layout, you have to understand that some ennemies are located differently in the level. As you maybe doubt, it can influence drastically how you are going to deal with the level (and the time that it will take to achieve it). Those layouts are randomly chosen just before the level starts (see "tricks" section for more information). Second, you have at your disposal several items. The most interresting are bombs and mines (who deal damages) and the special item: Lightfoot Scroll (abreviate LFS). This scroll boostes your movement speed for 5 seconds (which represents a gain of about 15 seconds in real time; definitely a must-have. You choose item that you will carry on before the level begins (in a screen I call inventory). This item is unlock by obtaining the rank "Grand Master" in the first level. Third, about the ranking. Quite simple to understand. Here is rank you can get (best to worst):
  • Grand Master
  • Master Ninja
  • Ninja
  • Novice
  • Thug
At the end of a level, you're evaluated. 300 points if you beat the level, 100 points if you've never get spotted, 20 point if you kill someone without being detected, less 20 point for each time you've been spotted, etc... If you reach the grand master, you'll unlock a special item (specific to each level). To get it, you've to earn 400 points at least; shortly, go to the end without being spotted. Fourth, increasing amount of items in the inventory. When a level ends, depending of your ranking, you'll get some extra items. Grand master ranking gives you 2 more of each item, Ninja ranking 1 and Novice ranking... are more complicated. See tricks section for details. I don't know what happens when you get Thug and Master Ninja ranking; Master Ninja is quite dificult to get and Thug only happens on the last level. Important about Grand Master items: The quantity of these items are capped at 3.
So, for summerize you've to remember:
  • Levels have layout
  • There are items who help us
  • When a level ends, you are ranked...
  • ...and you get more items depending of the ranking

Routes

Most part of my routes are largely inspired by Sephyr0sS's himself inspired Riskbreaker Y's. You can see the thread from SDA here and Sephyr0sS's speedrun here.
Opposite to they, I'm able to determinate what items I receive when I end a level; so I planned it as following:
Numbers meaning in order: Quantity, Used, Obtained
/ means that I don't care
LevelLFSBombsMinesRank
10 0 11 0 20 0 2Grand Master
21 1 33 0 02 0 1Novice
33 2 13 0 13 1 1Ninja
42 2 24 2 03 2 1Novice
52 0 12 1 02 0 1Ninja
63 2 02 0 13 2 1Ninja
71 0 23 1 22 1 2Grand Master
83 3 14 0 13 0 1Ninja
91 0 25 1 24 2 2Grand Master
103 3 /6 3 /4 4 /Thug

Tricks

  • RNG: The base of the RNG (expressed in frame). I found an internal frame counter, I guess it's used for RNG calculation (see RAM adresses for details).
    This RNG influences:
    • Level layout: Depending of time you spent in the inventory screen, you will get one of the three available layout.
    • Additionnal items: Depend of time used to perform the level and when you reach the Novice rank, the RNG will decide how many additionnal you'll get. The layout influences which item will be affected.
    • Ennemy parry: The enemy parry behaviour can be manipulated if you press the square button at a certain frame. By doing this, it's possible to make him never parry. Warning, there are some special additionnal factors that I haven't found yet (for example in the level 9, when the boss gets blocked in the right corner, he will parry ALL of your next first hit).
  • Fall animation skip: Called by myself "FACS" (for Fall Animation "Cumulet" -Belgian Word for roll- Skip). When he falls, the character will follow a strictly vertical way and make an animation when he hits the ground. By making a roll just before falling, he'll follow a diagonal way and the animation doesn't happen.
  • Quick enemy stand up: When an enemy is projected because of an attack, you can make him instantly stands up by hitting him when he's just on the ground. The most important in this trick is the fact that if a character is laying on the ground, he's immune to everything. The time he'll lay depends on its life; the less life he has, the more he will "sleep" (to give an idea, I measure about 20 seconds against a boss with 15 H.P. left).
  • Quick reverse roll: (Not used anymore) You're able to face back by doing a 180° reverse roll, if it's done against a wall at a quite precise frame, entire animation will be skipped and you'll stand up face back. I used to do it in the 3rd level but Alaktorn show me a faster way.
  • Double jump: A pretty cool trick found by Alaktorn (thank you, man!). During a jump (foward flip or simple jump) and if your landing point is lower than where you've took off, by pressing the jump button at the right moment, the character will made a second jump in the air.
  • Infinite air jump: Just an extension of the previous trick. You can redo the jump indefinitely while an obstacle isn't on your way.
  • Mastering the grappling hook: An important point to know about the grappling hook is that its movements are based on camera's. If you try targetting as the "normal" way, your movement will be very slow. But if you aim while the camera is moving, you'll be able to keep camera's speed for the direction it's moving to. (I maybe guess that camera's speed and aim's speed add together but I'm not sure)
    This is a very important trick that can save several seconds.

Other useful informations

Ram addresses
What it isAddressType
Inventory Shuriken Count0x0001040DByte
Inventory Calltrops Count0x0001040EByte
Inventory Healing Potion Count0x0001040FByte
Inventory Bomb Count0x00010410Byte
Inventory Smoke Count0x00010411Byte
Inventory Mine Count0x00010412Byte
Inventory Poisened rice Count0x00010413Byte
Inventory Colored rice Count0x00010414Byte
Inventory Sleeping Gas Count0x00010415Byte
Inventory Resurection leaf Count0x00010416Byte
Inventory Chameleon spell Count0x00010417Byte
Inventory Protection amulet Count0x00010418Byte
Inventory Lightfoot srcoll Count0x00010419Byte
Inventory Shadow Decoy Count0x0001041AByte
Inventory Super-Shurkien Count0x0001041BByte
Inventory Dog Bone Count0x0001041CByte
Inventory Fire-Eater scroll Count0x0001041DByte
Inventory Decoy whistle Count0x0001041EByte
Inventory Ninja armor Count0x0001041FByte
Stealth kills counter0x00095918Byte
Spotted counter0x0009591AByte
Detected kills counter0x0009591CByte
Internal frame counter0x000944C0DWord
Hit values
  • Rikimaru
HitAmount
Simple7
Second-combo11
Third-combo20
Triple combo total38
Crouch attack25
Jump slash13
Stabbing13
Side Left/Right8
Second side combo16
Side combo total24
Reverse roll attack20
  • Items
ItemAmount
Shuriken20
Bomb30
Mine45

Level by level comments

Level 1: Punish the evil merchant
I walk a little before throwing the hook because if I use it immediately from the beginning, the camera slows aim movements. Then a pretty cool infinite air jump. I was affraid to do it because I could be detected by guards below; but finally no, everything went well. I don't use roll before the first cutscene because it makes it raise earlier than if I use one (Roll animation is prior to cutscene).
First boss: Katanal. Nothing special, you have about 15 frames to take the fight initiative.
Second boss: Echigoya. Juste like cutting a butter slice. The point we have to pay attention is the first hit because if it's done too late, the boss will moved too much against the wall and the final crouch attack will fail.
Level 2: Deliver the secret message
If you look well, the character stop a little just before the end custscene. In fact, I wait 12 frames in order to manipulate the RNG and get 3 LFS. I'm really sorry, I didn't find a way to fill them with something more funny. Note that I stop just some pixels before the trigger.
Level 3: Rescue the captive ninja
Using a wall jump has been suggested by Alaktorn, it's a few faster than I did before.
Boss: Goo. Using a mine to finish him is a little bit faster than using shuriken (and more, it produce funny things in the cutscene). This is the only boss where I use shuriken because he's really bad in dodging them.
Level 4: Cross the checkpoint
Nothing special to mentionned. I use the second LFS after falling because if we fall with LFS actived, it is the same as it wasn't: A vertical way fall...
First boss: Tazu Akechi. What can I add...
Second boss: Senjuro Akechi. More complicated than the previous (as he has more HP). I start running to him because he's to far for a mine. The wolf caused me some troubles to make a good fight.
Level 5: Execute the corrupt minister
♫ I believe I can fly ♫ Why I don't fly until the end? Just bescause I'm too close from the roof and so, Rikimaru does a wall jump agaisnt the roof instead of jump I wanted... That's also why I walk a bit.
Level 6: Infiltrate the Manji cult
In the speedrun, we use roof in order to keep as more stealth as possible. In the first version, I walked straight away intentionnaly to get the novice rank by being spotted. In the version you're wacthing, I use two LFS instead of one. I run so faster than some gards doesn't pop and some others doesn't have time to spot me. So I get the Ninja rank which also satisfy me as I get one LFS and one mine.
First boss: Manji. If one day you try speedrunning it, you'll remark something strange with your movements. What happen is that there are ennemy above you and it drives the game crazy. Killing Manji with a such random constraint is a challenge espacially in a speedrun. I had to deal with it (you can see an ennemy fall, the one who throws flames).
Second boss: Onikage (Round 1). The custscene trigger is raised when his life become under 100. I don't see anything else to mention about this fight.
Level 7: Destroy the foreign pirate
Using infinite jump to reach the boat is faster (about 30 frames) than using grappling hook. I aim Grand master ranking in this level.
Boss: Balmer. I try to keep him as more as possible on the right side because there is a guard on the left. If he spots me, I don't get the grand master (which allows me to add two items of each type in my inventory).
Level 8: Cure the princess
Just a crazy level where we have to use the grappling hook too much Q_Q. I optimize the hook aim speed with camera where it's possible. You also probably notice that I take damages near the end. In fact, this guard really bothered me. In another slower version, he simply ran straight foward felt but here, I didn't find any way to reproduce that. The better I found is I do: I start a side hit and at the same time, the guard hits Rkimaru. That interrupts him and obliges the guard to straff on his left and he falls, finally. And before you ask, no he didn't let throw the hook.
Level 9: Reclaim the castle
Another grappling hook party. This is a real sequence breaking because you're supposed to pass into the castle.
Boss: Onikage (Round 2). More difficult fight. After throwing the bomb, if he is projected backward, he'll be blocked into the wall and it becomes impossible to hit him; if he is thrown on his left, he will be blocked into the corner and that gives him 100% parry for the next first attack. So, no other choice than his right. I'm also obliged to let him attack me; that let him get down the "platform" (I don't know what it is). If I attacked him up stairs, either he felt in the stairs or on the roof and it definitely took more time than I choose to do.
Level 10: Free the princess
Finally, here we are! This last level is really longer than all the previous. I make a roll in lava to avoid damages (and an animation that freeze me), I chain infinite air jump to skip the guard and in a cool "V" path over the lava (suggestion is coming from Veisper). Finally, I roll through the wall for fun (it just a few frames faster than jumping).
First boss: Onikage (because in video games, the evil man always comes back twice). Easy as pie compared to the fight in the level 9.
Second boss: Mei-Oh. The biggest thing I had to deal with is his "teleport" skill. I succeed interrupt it, and chain my attacks as fast as I can.

Thanks

I would like to thank Sephyr0sS, for letting me discover this game, motivation he gave me for making this first TAS, work he did on route planning, help in writing and spellchecking this text. Riskbreaker Y who first worked on speedrunning this game and so, created the bases. Alaktorn, for the double jump trick. Sethdemon and Veisper who followed me on twitch during my work. A special wink to Veisper who made a wonderful plan of route he suggested to me in level 10.

Special Thanks

A very particulary special thanks to Nesblog. You all made really amazing things around video games. Thank you guys !

FractalFusion: Judging.
FractalFusion: Accepting for Moons.
feos: Processing...
FractalFusion: Replaced movie file to remove blank input at the end. Nothing else has changed, so it is still publication underway.
FractalFusion: Replaced movie file again to fix the time reported.


Spikestuff
They/Them
Editor, Publisher, Expert player (2642)
Joined: 10/12/2011
Posts: 6438
Location: The land down under.
feos wrote:
I anyone already encoding it for publication?
You have the floor, unless you can't... then I'll take the floor.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Player (105)
Joined: 1/4/2013
Posts: 117
Location: Belgium
Not as I know. I just made something "viewable"; I don't think it can be used for an official publication. antd has posted a low res (240p) movie.
Spikestuff
They/Them
Editor, Publisher, Expert player (2642)
Joined: 10/12/2011
Posts: 6438
Location: The land down under.
feos is talking about final encodes.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
All encodes are ready.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Player (105)
Joined: 1/4/2013
Posts: 117
Location: Belgium
Thanks for this! Ok, it's your job but it's not something simple and you take time to make it. So.... :)
Spikestuff
They/Them
Editor, Publisher, Expert player (2642)
Joined: 10/12/2011
Posts: 6438
Location: The land down under.
Easier than mupen XD
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Player (105)
Joined: 1/4/2013
Posts: 117
Location: Belgium
:D I saw it on IRC. May the force (of Mupen plugin) be with you!
Editor, Expert player (2073)
Joined: 6/15/2005
Posts: 3282
Thanks to feos for encoding. Sorry for being away so long. There don't seem to be any other objections and most of us don't see it as unoptimized so I'll give it the go-ahead for publication.
ALAKTORN
He/Him
Former player
Joined: 10/19/2009
Posts: 2527
Location: Italy
FractalFusion wrote:
most of us don't see it as unoptimized so I'll give it the go-ahead for publication.
hilarious if it wasn’t for me it’d be even less optimized, I’ve beaten his first level’s time unassisted before and am confident I could do it again, but I cba just sad to see how bad everyone is at judging quality
Patashu
He/Him
Joined: 10/2/2005
Posts: 4043
ALAKTORN wrote:
FractalFusion wrote:
most of us don't see it as unoptimized so I'll give it the go-ahead for publication.
hilarious if it wasn’t for me it’d be even less optimized, I’ve beaten his first level’s time unassisted before and am confident I could do it again, but I cba just sad to see how bad everyone is at judging quality
Do you have any videos or screenshotted times?
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Editor, Experienced player (570)
Joined: 11/8/2010
Posts: 4036
What seriously terrible voice acting. The run was cool though; I liked the lightfoot running and infinite jump glitch. I'll give it a Yes vote.
Player (105)
Joined: 1/4/2013
Posts: 117
Location: Belgium
@Patashu: In the firsts versions of the level, I take 59 seconds (in-game time) to beat this level. Alaktorn show me a more optimized route. I 've redone this first level later. In the movie I've submitted, the in-game time is 57 seconds. I suspect it is possible to find some frames, enough to "play" with number round and let the game display 56. But due to the rigidity of this game, it's really something difficult.
Patashu
He/Him
Joined: 10/2/2005
Posts: 4043
Do all the other levels beat all known TAS and non-TAS records?
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Player (105)
Joined: 1/4/2013
Posts: 117
Location: Belgium
Definitely, yes. In the worst case (level 2), it equals the record I know all others are beaten. EDIT: For the moment, the theorical time unassisted (single segment) would be between 11 and 12 minutes.
ALAKTORN
He/Him
Former player
Joined: 10/19/2009
Posts: 2527
Location: Italy
Patashu wrote:
Do you have any videos or screenshotted times?
this is the video I made the first time to show him the improvement http://www.youtube.com/watch?v=h9jT3Jp63vs I’ve also gotten it without savestates and was really close to 56″ once
Player (105)
Joined: 1/4/2013
Posts: 117
Location: Belgium
There is something I found... weird. I don't explain how he get a so shorter time as a casual player and speedrunner (Sephyross) gets 59 and I think one time 58 seconds (I'll check with him). Note: The speedrun is played on a real version, PS2 slim (fast disc mode). I'm wondering if emulator used could change something... Yes, I can admit I could have made something unperfect but definitely, I can't imagine he beats a record of speedrunner who's training for several month (He has just made his 350th try this evening). This game will be strange for ever, I think... :p
mklip2001
He/Him
Editor
Joined: 6/23/2009
Posts: 2227
Location: Georgia, USA
Should this submission be set to delayed until the Stage 1 improvement is done? Once this run beats known records, I have no complaints about its publication. However, I'm not really qualified to judge optimization.
Used to be a frequent submissions commenter. My new computer has had some issues running emulators, so I've been here more sporadically. Still haven't gotten around to actually TASing yet... I was going to improve Kid Dracula for GB. It seems I was beaten to it, though, with a recent awesome run by Hetfield90 and StarvinStruthers. (http://tasvideos.org/2928M.html.) Thanks to goofydylan8 for running Gargoyle's Quest 2 because I mentioned the game! (http://tasvideos.org/2001M.html) Thanks to feos and MESHUGGAH for taking up runs of Duck Tales 2 because of my old signature! Thanks also to Samsara for finishing a Treasure Master run. From the submission comments:
Shoutouts and thanks to mklip2001 for arguably being the nicest and most supportive person on the forums.
Player (105)
Joined: 1/4/2013
Posts: 117
Location: Belgium
I don't think it's necessary to delayed. Execpt if I see less than 57 seconds on a real console. As I already said, the world-record man does not down under 59 seconds. I didn't doubt about Alaktorn done, I doubt about the reliability of rom station's emulator (EPSX I guess)
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
This movie seems to contain empty frames at the end. Is it true? I see no reason to stop the movie in the middle of high score screen.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Player (105)
Joined: 1/4/2013
Posts: 117
Location: Belgium
It's intended, I found usefull to show highscore for in-game times. Those times are used by speedrunners as the official time (by summing all of them) that's why I show this screen. Now, if you find it useless, I can truncate the *.pjm file just after last hit against Mei-Oh. Note that at the end of the staff roll, Level 10 score screen appears...
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
I mean, the movie doesn't stop right after that screen is invoked, it stops a few seconds later.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Player (105)
Joined: 1/4/2013
Posts: 117
Location: Belgium
Ooooh OK I see. Why... did I do that.... ? Well, you'right, it's useless and stupid. Movie can be stopped at frame 107559. I'll make a zip later. It doesn't change anything crucial but it'll be cleaner.
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
It does change the encode subtitles and requires a new check by a judge,
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Player (105)
Joined: 1/4/2013
Posts: 117
Location: Belgium
I've upload the new pjm here. I've check it. How can I replace the existing on submission? About subtitle: 107559 frames and 7077 rerecords. Really sorry for the double work :s.
ALAKTORN
He/Him
Former player
Joined: 10/19/2009
Posts: 2527
Location: Italy
Hâthor wrote:
I didn't doubt about Alaktorn done, I doubt about the reliability of rom station's emulator (EPSX I guess)
my folder is called pSX_1_13, the executable psxfin about the movie end, shouldn’t it end after the last hit and the extra stuff be done by the encoder just for the vid? edit: you got a vid of that speedrunner you mentioned?