Posts for lapogne36


1 2
13 14
Editor, Experienced Forum User, Published Author, Skilled player (1278)
Joined: 1/31/2010
Posts: 327
Location: France
Is there any major differences induced by the "no damage" part, or is it just some minor time tradeoffs?
Editor, Experienced Forum User, Published Author, Skilled player (1278)
Joined: 1/31/2010
Posts: 327
Location: France
Crash41596 wafflewizard1 SFan
Editor, Experienced Forum User, Published Author, Skilled player (1278)
Joined: 1/31/2010
Posts: 327
Location: France
Is there a reason why this TAS is 30 minutes slower than this one? https://youtu.be/Tzj5vnpGMwA While the execution looks good, the strategies used are suboptimal compared to this other TAS, this is particularly noticeable in the late chapters.
Editor, Experienced Forum User, Published Author, Skilled player (1278)
Joined: 1/31/2010
Posts: 327
Location: France
Yeah it wouldn't be surprising that the coordinates are at a different address for each level. If you have no luck finding the coordinates with 2-byte values, you should check 4-byte values too. If you have found the Z-position address, then it is near guaranteed that the X and Y-position addresses are next to it in the RAM.
Editor, Experienced Forum User, Published Author, Skilled player (1278)
Joined: 1/31/2010
Posts: 327
Location: France
The class change from Dracoknight to Paladin was mainly to have a higher maximum Speed stat (25 instead of 23), which is relevant in this difficulty for the later half of the game. Enemy phases can be slightly manipulated if there is a level up happening, letting me choose between 4 different outcomes instead of 1, but yeah manipulating the randomness is limited in this game in general apart from the initial seed.
Editor, Experienced Forum User, Published Author, Skilled player (1278)
Joined: 1/31/2010
Posts: 327
Location: France
Was it technically well done? Yes. Was it entertaining to watch? For the 4 first hours, I would say yes, but then it was only fedex quests with occasionally a boss fight cleared with an hard code 9999 damage attack, which was a very sad change of pace.
Editor, Experienced Forum User, Published Author, Skilled player (1278)
Joined: 1/31/2010
Posts: 327
Location: France
After looking at the damage formula thread, it's an underflow issue where the devs didn't expect Ryu to stay at a very low level. In a similar fashion, if TargetDef / 2 is exactly equal to AttackerLevel * 20, the attack should always deal 0 damage. For combos, I would assume either the "20" in the formula is changed to a lower value, or the TargetDef is increased, leading to easier to fulfill underflow. You may probably be able to get a better understanding of the combo formula by manipulating TargetDef and AttackerLevel in the RAM and see in which cases you get an underflow (or even better, 0 damage).
Editor, Experienced Forum User, Published Author, Skilled player (1278)
Joined: 1/31/2010
Posts: 327
Location: France
Meerkov wrote:
Looks good. One question: At 3:45, there is a long hallway and you go diagonal towards the wall before strafe-boosting. Would it be faster to go directly to the wall (left), instead of diagonal? Nice run
Given the speed with and without the straightboosting, a 45° diagonal is always faster than going directly to the wall. Though I just did the math and, in theory, a ~30° diagonal should be the optimal angle.
Editor, Experienced Forum User, Published Author, Skilled player (1278)
Joined: 1/31/2010
Posts: 327
Location: France
Finally managed to get my account back after filling an appeal with minimal information, apart from "please give me a human being" to maximize the probability of actually getting one. Still got the "Please be aware of the servers that you're in, and the content that they post" though.
Editor, Experienced Forum User, Published Author, Skilled player (1278)
Joined: 1/31/2010
Posts: 327
Location: France
So far I am at 2 rejections from the bot, does someone who got unbanned as a contact from the Discord support because it's really annoying to deal with this bot every time...
Editor, Experienced Forum User, Published Author, Skilled player (1278)
Joined: 1/31/2010
Posts: 327
Location: France
Same for me, currently trying to appeal...
Editor, Experienced Forum User, Published Author, Skilled player (1278)
Joined: 1/31/2010
Posts: 327
Location: France
Confirming
Editor, Experienced Forum User, Published Author, Skilled player (1278)
Joined: 1/31/2010
Posts: 327
Location: France
Signing up individually for now.
Editor, Experienced Forum User, Published Author, Skilled player (1278)
Joined: 1/31/2010
Posts: 327
Location: France
As far as I know, you can't check for any of that. In fact, once you are in the final dungeon, you can't backtrack anymore.
Editor, Experienced Forum User, Published Author, Skilled player (1278)
Joined: 1/31/2010
Posts: 327
Location: France
I noticed that the RNG doesn't change often (i.e. same damage and item drop even if I delay the attack by several frames), so I noted at what frame the result was finally different, and I kept all addresses which didn't change before this frame but were different after. Then it's just the elimination process by freezing some addresses I mentioned in a previous message.
Editor, Experienced Forum User, Published Author, Skilled player (1278)
Joined: 1/31/2010
Posts: 327
Location: France
I got some time to look at this game, and the RNG address is at 0xC4468 It follows the default PSX RNG formula: NextRN = (CurrentRN * 0x41C64E6D + 0x3039) mod 0x100000000 If you want to know how many RNs were used since the beginning, you can use this script:
local RNG = {}
local i, j
local MAXLIM
local CUR_RN
local a, b, c

RNG = {0} --First RN value

local MAXLIM = 10000 --Number of RNs to calculate

for j=2, MAXLIM do
	-- RNG[j] = (0x3039 + 0x41C64E6D*RNG[j-1]) % 0X100000000
	
	-- Very convoluted way to calculate the next RN without any big number rounding issue
	-- 0x41C64E6D = 1103515245
	
	a = (0000005245*RNG[j-1]) % 0X100000000
	b = (0003510000*RNG[j-1]) % 0X100000000
	c = (0010000000*RNG[j-1]) % 0X100000000
	c = c * 110
	RNG[j] = (0x3039 + a + b + c) % 0X100000000
end

local BASE = RNG[1]
local INDEX = 1

while true do
	
	CUR_RN = memory.read_u32_le(0xC4468)
	
	if BASE~=CUR_RN then
		for i=math.max(INDEX-100, 1), INDEX+100 do
			if RNG[i]==CUR_RN then
				INDEX = i
				BASE = CUR_RN
				break
			end
		end
	end
	
	if BASE~=CUR_RN then
		for i=1, MAXLIM do
			if RNG[i]==CUR_RN then
				INDEX = i
				BASE = CUR_RN
				break
			end
			dummy = i
		end
	end
	
	gui.text(0, 100, "RNG")
	gui.text(0, 120, "#" .. string.format("%07d", INDEX))
	
	
	emu.frameadvance()
	
end
Editor, Experienced Forum User, Published Author, Skilled player (1278)
Joined: 1/31/2010
Posts: 327
Location: France
If you have many addresses, you can freeze several of them at the same time and check if it had an impact in random events. If so, then the RNG address is probably among them. If you freeze a lot of addresses at the same time, the game may crash, in that case select less addresses and retry.
Editor, Experienced Forum User, Published Author, Skilled player (1278)
Joined: 1/31/2010
Posts: 327
Location: France
You should first find where the RNG is in the RAM. It is probably a value which change very often, and if you freeze it then you will always get the same random event. Just in case you should check the address 0x9010 (4 byte) because that's the default RNG address for a lot of PSX games.
Editor, Experienced Forum User, Published Author, Skilled player (1278)
Joined: 1/31/2010
Posts: 327
Location: France
AmaizumiUni wrote:
AmaizumiUni wrote:
The first three battles Chimeras, demons, and wizards can take the first attack with adjustments.
Left&circle button push flamenumber battle in
I checked and now I understand what you meant. For the first 3 battles, you are supposed to go second and the game doesn't even use the RNG to determine this, but for some reason if you press the left or right button at the beginning of the battle, the game will use the standard RNG check to determine if you go first or second. However for the first battle, it turns out that the RNG makes you go second if you use this trick, and as far as I know you can't manipulate the RNG at any point before this battle, so you can only save time with it for the 2nd and 3rd battles (around 10s time save in total). I will try to hex-edit my way through the game, though I will probably have trouble syncing the RNG.
Editor, Experienced Forum User, Published Author, Skilled player (1278)
Joined: 1/31/2010
Posts: 327
Location: France
TIL the name of this RNG algorithm (pretty common for RPGs), not sure why it's "bad" though. For these sort of TAS, you should progress normally up to the point where you need a specific lucky event, check how many RNs you must burn in order to get this event, and hex-edit your movie file to burn the same number of RNs in the most time efficient way (different movement, waiting in a screen where RNs are burnt over time, ...).
Editor, Experienced Forum User, Published Author, Skilled player (1278)
Joined: 1/31/2010
Posts: 327
Location: France
andypanther wrote:
I have a question regarding a potential 100% TAS of Star Wars Episode I: Racer: When would the correct ending point of the movie be, according to the rules? Let me explain the structure of the game, so you can understand the issue here. Defining 100% completion is not the problem: To unlock everything, you have to win every single race of the tournament mode. The tournament mode consists of three main circuits, Amateur, Semi-Pro and Galactic. On a new file, the first track of each of these circuits is available. The Galactic circuit displays the credits when completed, so it serves as the any% category of the game. Beating these three circuits will also unlock tracks on a fourth circuit, the Invitational circuit. This means that 100% completion can only be reached after the credits. This is what happens when you win the last race: - After crossing the finish line, you advance to the last character unlock cutscene with one input. - The cutscene will play and fade into the last race result screen. With one more input, you return to the track selection, where it will now be visible that the last race has been won. What the RTA community does is to skip the credits with a reset and end the run when winning the last race. By the way, in case someone wanted to bring up vehicle upgrades as part of the 100% definition: The individual upgrades are not permanent, you can change them at any point. The only permanent aspect of the upgrades is which ones are available at Watto's shop. This depends on the number of completed races and is just achieved as a side effect of every 100% run.
The correct ending point should be but a minor detail easily fixable. There are a few TAS like [3508] PSX Metal Gear Solid: VR Missions by theenglishman in 1:35:46.46 or [3205] N64 F-Zero X "Jack Cup, Time Trial" by jagg2zero in 07:09.37 which have no clear end point with credits.
Editor, Experienced Forum User, Published Author, Skilled player (1278)
Joined: 1/31/2010
Posts: 327
Location: France
[4253] PSX Crash Team Racing by AleMastroianni in 45:04.34 without a doubt. My second contender would be [4153] PSX Tomb Raider: The Last Revelation by Troye in 1:01:42.98 because the PSX/PC differences made it significantly harder to route.
Editor, Experienced Forum User, Published Author, Skilled player (1278)
Joined: 1/31/2010
Posts: 327
Location: France
i dropped this long ago, mainly because the power-ups routing was a serious pain to do for a 40+ minutes game. Good luck if you are planning to do this TAS.
Editor, Experienced Forum User, Published Author, Skilled player (1278)
Joined: 1/31/2010
Posts: 327
Location: France
Points of interest where not having enough movement costs time: Chapter 5: With less than 13 MOV (though I am not 100% sure 13 MOV would work), Leif needs one more turn to reach the exit, so one more enemy phase, which in this case should cost around one minute. Chapter 9: With less than 14 MOV, Leif must use his Movement Stars to 2 turns the map, so I have to wait an extra turn in chapter 10 (around 10s time cost). Chapter 13: Without 19 MOV, I must watch the entire enemy phase, costing around 40+ seconds. Also if Leif doesn't have enough stats for chapters 2, 10, 16A, 17A and 18 bosses, I would have to burn RNs to proc a low% Adept + a low% crit + the Movement Stars proc as well as a decent level up, which I believe would be 20+ seconds of RNs burning in each case. Now if I go for the extra fights to get these thresholds instead, every extra fight costs 7~8 seconds and I would need 20~25 extra fights to get at the same point than the Paragon Mode TAS, so you can expect at least 2 minutes and 30 seconds of "extra" fights. All these times are estimates but should be close to reality.
1 2
13 14