Submission #7935: PearlASE's PC98 Touhou Reiiden ~ The Highly Responsive to Prayers "maximum score" in 20:39.28

(Link to video)
PC-98
maximum score
libTAS 1.4.4 + np2kai_0.86.0.22-1
69924
56.42313651024932
1871
PowerOn
HRtP.hdi
Submitted by PearlASE on 1/5/2023 8:10:25 PM
Submission Comments
Touhou Reiiden ~ The Highly Responsive to Prayers is the first official Touhou game, released only on the PC-98 in 1997. Unlike the future titles in this series, HRtP (as it will be called from now) is a STG-Breakout hybrid.
MD5 hash : 6e6d8e9ec3e97df45594d0130d48a9d8

Objectives of this TAS

  • Plays on the highest difficulty (Lunatic)
  • Aims for the highest score
  • Abuses bugs
  • Manipulates RNG

Configurations on Neko Project II

The only thing that has been changed from the default configuration of NP2KAI is setting the CPU speed as follows :
  • CPU Base 2.4576MHz
  • Multiple x 32

Example of this movie

Scoring System & Game Mechanics

Intro

HRtP takes place within 20 stages of varying card layouts that Reimu will have to kick the yin-yang orb through. Every 5 stages the gameplay will change into a boss fight, where you must knock the orb into the boss to deal damage. After stage 5, you get the option to pick a route; Makai or Jigoku (Heaven or Hell). This run picks Makai as it's the highest scoring overall.

Controls

Left and Right move Reimu, Z shoots an ofuda straight upwards, X performs a gohei swing for a large and slightly awkward hitbox to hit your orb.
Sliding is done by holding a direction and pressing X, this gives a consistent angle of travel for the orb, increases your movespeed and decreases your hitbox.
Powersliding is done by hitting X during a slide, functionally the same except if the powerslide hits the orb, the orb will get an insane amount of momentum.
Rapid Shot is done by pressing the opposite direction of your slide and pressing Z simultaneously. This shoots a barrage of 8 shots ahead of you.
Bombing is done by holding left and right and pressing z at once. During a bomb, you are unable to move but your hitbox lingers allowing for the orb to bounce off of you to continue a chain, during a bomb, random cards will be hit across the stage.

Items and Field objects

Cards are the most basic field object in the game, they appear in great numbers across every non-boss stage of the game, when the orb passes through a card's hitbox it's considered as "hit" and will turn over. Some cards take multiple hits until they are fully defeated. When cards are hit, score is awarded depending on your current combo.
Bumpers bounce the orb around and are generally very annoying.
Portals suck up the orb and throw it in a random direction.
Walls or "Bumper Bars" are well, walls.
Turrets are bullet spawn locations that have no collision hitbox, they will continuously fire bullets every X amount of frames.
Point Items are balls with a P written on them, they function like medals in Yagawa games (Battle Garegga) that is to say, every successful collection of a point item will increase their value, but if you drop one, the value will reset.
Bomb Extends replace point items randomly, but will not spawn if you destroy a card containing a bomb extend with a bomb. They are worth far less points than a point item so they are avoided at all costs.

Scoring

Cards are the primary source of your score; in play, whenever you destroy cards without letting the orb hit the ground their value will increase exponentially (as does your current chain counter) the formula for this on Lunatic is as follows : base value + (number of cards flipped - 1)^2 * 35 . The base value is depending on which stage you're on, for 1-4 it's 100, 6-9 it's 200, 11-14 it's 300, and lastly 16-19 it's 400. The card's max value is 25,600 points and will never increase past this value.
Point Items are your second most important source of points, they increase linearly from 1,000 points until 65,530 points and will reset if any are dropped offscreen.
Stage clear bonus is awarded at the end of every stage and features this formula : Time Remaining x 30 (Max of 65530)
Continuous[Max Combo] x 1,000 (Max of 65530)
Bomb & Player (Lives x 2,000 & Bombs x 1,000)
Stage (2,000 * N where N is the current stage number minus 1.)
Bosses have their own specific clear bonus as well :
Time Remaining x 50 (Max of 65530)
Continuous[Max Combo] x 1,000 (This is always 0.)
MIKOSan (Lives x 5,000 & Bombs x 2,000)
Stage (Stage 5 is 50K, Stage 10 is 100K and Stage 15 is 150K)
Bosses also give score per hit.
Singyoku (Stage 5) : 3,000
YugenMagan (Stage 10) : 5,000
Elis (Stage 15) : 7,000
Sariel & Final Phase (Stage 20) : 10,000
When the game is cleared, a flat bonus of 50,000 points is awarded to the player.
Bullets also give 10 points when cancelled either by a death, a bomb (+X amount of time during a bomb) or by the orb. However, this introduces a rule given to this TAS : When the timer hits 0, the game will tell you to HARRY UP and will spawn bullets infinitely until you finish the stage or die, if you die the timer is reset to 1,000; but with TAS you can survive the barrage infinitely, causing an infinite scoring problem to arise. So to keep a form of scoring integrity, when the words HARRY UP appear, I'm not allowed to milk the bullets that spawn from it and can only use it to reset my timer for the stage clear bonus.

Routing and TAS only techniques

The item RNG seed is set at the very start of the game, this one was the best I could find which gave me an extra item on Stage 01, however the seed created a somewhat funny predicament that I will cover soon.
You will see me die decently often in this game, this is to ensure the collection of the falling P items as well as cancelling onscreen bullets (a few points) and increasing the timer by 200. The score lost from the death is 1,000 points but is made up by the timer bonus as well as mitigated by the bullets cancelled from the death.
Stalling is done on almost every stage to run the timer down to 0, after it hits 0 and triggers the HARRY UP I suicide as fast as possible while hitting the remaining cards to save as much time bonus as possible. The score from 1000 time is 30,000 points instead of the approximately 16,000 points I'd have if I did not do these stalls.
You will see ingame pausing used to manipulate the spawn location of items during a bomb, this is the only way to manipulate this behavior. This is done on stage 18 to force the bottom panel to spawn the item rather than the top, which serves little purpose for stage 19. However on other stages the pausing is vital to the route of the game.
On stage 13 and 18 I execute a pixel and frame perfect setup that allows the orb to bounce perfectly vertically which then can be pushed through the bumpers by spamming ofuda at it, this allows me to manipulate the item spawn locations and use bombs to collect them all quickly.
A side note : at 10,000,000 points the visible score counter will roll over to 0,000,000. But internally the score keeps counting as seen at the very end of the game.

Mistakes

First, the big one and also the funniest : on Stage 19 due to my RNG seed, there is an unobtainable item that spawns on the 40th panel in the stage, on other seeds this item is obtainable but these seeds don't have an extra item on stage 01, so it's a necessary evil
I miss some bullet cancels at times on bosses which maybe accounts for 1,500 points at most, especially at the end where I opted to finish the game with a nice rounded 18,100,000 points instead of canceling about 40 more bullets before time ran out.
Different RNG seeds could also allow me to take a death or two less on certain sections, which could increase the potential by about 2,000 more points.
Stage 13 could have been finished slightly faster perhaps, which could have gained a few hundred points
Stage 04 could have been finished slightly faster perhaps with a better seed, which could have gained about a thousand points

Ending Comments

This score surpasses the highest humanly achieved score by 3,506,260 points, and is 513,810 points higher than my previous TAS work of this game.
For Vex.

slamo: Update a truncated movie file with fixed platform.

feos: Claiming for judging.
feos: Fixed .ltm time.
feos: Got this run to sync on our np2kai_0.86.0.22-1 and this disk image
TH01 - Highly Responsive to Prayers.hdi
5,330,944 bytes
CRC32: 8D63D935
MD5: 8EBB83C815BF439487F0778CDF809F05
SHA-1: 222CD860EDE920C1BF2D40FE426ABF7666D0473A
which conveniently mismatches everything (the author's, fsvgm777's, and no-intro images).
Also not sure how to catalog this and why we have a tilde in Touhou titles.
But the run itself looks great! Accepting.
Spikestuff: Sariel my beloved.
Last Edited by Spikestuff on 2/4/2023 5:09 PM
Page History Latest diff List referrers