1 2
9 10 11 12
Spikestuff
They/Them
Editor, Publisher, Expert player (2292)
Joined: 10/12/2011
Posts: 6337
Location: The land down under.
Anyways... this is completely bare-boned: These Values work on the normal levels (non bonus)
Language: lua

while true do gui.text(0,130,"Area: " .. memory.readbyte(0x1644)) -- The only one I know what I'm doing gui.text(0,70,"Pixel X: " .. (0x010A15)) gui.text(0,82,"Pixel Y: " .. (0x010A19)) gui.text(0,94,"Speed X: " .. (0x010A74)) gui.text(0,106,"Speed Y: " .. (0x010A78)) gui.text(0,280,"Slide Time: 22/" .. (0x010DDC)) gui.text(0,292,"Spin Time 23/" .. (0x010DDC)) emu.frameadvance() end
Yes I know I'm missing certain words in-between them... but every time I did one it failed. The guide didn't help me so I am quite stuck. I just need assistance on what I am meant to write on where everything is placed. Area is part of the IWRAM domain. X/Y Speed (and Spin/Slide) is in the EWRAM domain. X/Y Pos is a Combined WRAM Quick explanation on the one called "Area" Area would be one of the hidden values which will be controlling what will be shown on screen. The Areas it will be switching are at; Warp Room, Bonus, Boss Fights, Flying Sections, Normal Levels but not Polar Events (it needs a value to itself) Edit: Think I got the hang of it now, I'll post an update in a bit. After I figure out this stupid thing with the shooting cooldown :|
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Spikestuff
They/Them
Editor, Publisher, Expert player (2292)
Joined: 10/12/2011
Posts: 6337
Location: The land down under.
Lua update for Crash Huge Adventure: Crash HA lua - 2.0 (3.38 kb) - BizHawk BizHawk + Removals Issues:
    Unknown for now. I really didn't look into it properly to see if the values garbles up anywhere. Slide and Spin Time doesn't disappear in the underwater values Dingodile's Shield shows up in level 9 Dingodile's Shield doesn't show up in Dingodile Flight Values doesn't hide anything.
Added/Changed:
    Checking the amount of Masks you have is now only seen at the Warp Room Bosses' X & Y Values Removed Camera Removed Cortex and Megamix values Moved to the bottom and has a box Invisibility Timer Removed "Level Check" Removed Lives and Boxes Removed Values for Polar Removed Warp Room Timer Removed VBA Exclusive stuff Removed
Still kept Ilari's code for Dingodile's shield because I didn't know how to do it back then and that's still pretty much my personal favourite code in all of it.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Spikestuff
They/Them
Editor, Publisher, Expert player (2292)
Joined: 10/12/2011
Posts: 6337
Location: The land down under.
Lua update for Crash Huge Adventure: Crash HA lua - 2.01 (3.51 kb) - BizHawk Issues:
    None
Added/Changed:
    Fixed every issue above this post. Brought back Spin Duration for the water levels.
Hopefuly the final lua update for Virtual Boy Advance: Crash HA lua - 2.0 (3.50 kb) - VBA Virtual Boy Advance's Finale Issues:
    Should be nothing
Added/Changed:
    Checking the amount of Masks you have is now only seen at the Warp Room Bosses' X & Y Values Removed Camera Removed Cortex and Megamix values Moved to the bottom and has a box Invisibility Timer Removed "Level Check" Removed Lives and Boxes Removed Movie Not Recording Moved to top left N.Gin's Values Moved to the left side Values for Polar Removed Warp Room Timer Removed
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Samtastic
He/Him
Player (60)
Joined: 11/30/2012
Posts: 765
I can have a go at TASing this. I've actually played this game before without beating it yet but I'm sure it will be a good one to TAS.
Enjoys speedrunning, playing and TASing Oddworld games! Has TASed: Oddworld: Abe's Oddysee in 12.06.13 (with Dooty) Oddworld: Adventures II in 20.03.78 (with Dooty) Oddworld: Abe's Exoddus 100% in 2:08:28.4 (with Dooty) Oddworld: Abe's Oddysee 100% in 1:05:01.65 Oddworld: Abe's Exoddus in 37:18 Oddworld: Abe's Exoddus in 37:15 Oddworld: Abe's Exoddus 100% in 2:!5.44.12 Oddworld: Abe's Oddysee any% in 13:01.3 Oddworld: Abe's Oddysee any% in 12:59.95 Oddworld: Abe's Oddysee 100% in 1:04:16.27 Oddworld: Abe's Oddysee 100% in 1:04:01.07 Currently working on: Waiting for Windows TAS Tools to work so I can TAS PC version of Exoddus.
Spikestuff
They/Them
Editor, Publisher, Expert player (2292)
Joined: 10/12/2011
Posts: 6337
Location: The land down under.
Samlaptop move your butt over here.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Post subject: Hey look Page 1
Spikestuff
They/Them
Editor, Publisher, Expert player (2292)
Joined: 10/12/2011
Posts: 6337
Location: The land down under.
Based on my lovely post here, there are conditions on the two branches for the TAS. any% - Must be US version (Huge Adventure) 100% - Must be the Jap version (Advance) Why Jap for 100%? Because of the speed glitch which is exclusive for the Jap version its does best with running shoes. In other words. We go faster when backtracking in Jap compared to the other two. I'm basing this all on that Jump glitch. Unless it can be done on one of the others (which nobody has done yet) we'll have to stick with Jap on that one. And because it has different values... ANOTHER RAM WATCH AND LUA IS IN DEVELOPMENT. shoots self Edit: Because of the TAS You don't have to get all the boxes. Bit because of the Jump glitch you can save some frames here and there.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Post subject: Something that was being tested.
Spikestuff
They/Them
Editor, Publisher, Expert player (2292)
Joined: 10/12/2011
Posts: 6337
Location: The land down under.
VBA: http://pastebin.com/X7j1mG1Q Bizhawk: Ha, you're cute... still no idea how to use this things lua Now as you can see this isn't automatic and this is also not the optimal input as it's missing the extra slide (which I must question "how?") but this is something that's new and I wish for some support and people updating the script to be better for slide spins so we don't have to slave over it. So it's in the state of being an RTA and not a TAS for movement. This also isn't the godliest thing in the world as you do have to kill either/when you are falling down as R will be held down.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Post subject: Thanks TASEditor!
Spikestuff
They/Them
Editor, Publisher, Expert player (2292)
Joined: 10/12/2011
Posts: 6337
Location: The land down under.
It's beginning to do stuff! Link to video Too bad I'm the idiot who cannot figure out how to get optimal Slide, Slide, Spin (SSS). Lua VBA: http://pastebin.com/qAutnkui It's currently working only on normal levels (no bonuses) and going left hasn't been implemented either.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Spikestuff
They/Them
Editor, Publisher, Expert player (2292)
Joined: 10/12/2011
Posts: 6337
Location: The land down under.
Some boredom lead to me doing this. Crash: The Huge Adventure
Language: lua

while true do memory.writebyte(0x200345C,0) -- Boxes memory.writebyte(0x2003454,0) -- Wumpa memory.writebyte(0x200344C,0) -- Lives vba.frameadvance() end
Crash: N-Tranced
Language: lua

while true do memory.writebyte(0x2006794,0) -- Boxes memory.writebyte(0x200678C,0) -- Wumpa memory.writebyte(0x2006784,0) -- Lives vba.frameadvance() end
Basically this hides each part of the hud and keeps it off screen so you don't see it. This shouldn't effect anything from the game itself. Changing the Value 0 to a 2 will show that part of the HUD. So returning to showing each part in a corner yay? And yes. It's buggy because of no verification on checking areas or stuff. Huge Adventure bug by doing this: N-Tranced is more effected by this cause it will crash everywhere. Because it doesn't have any area checking this causes huge desync. I will incorporate it to the lua properly and make sure everything syncs well. If it doesn't then this is something that was fun. Edit: Due to how unstable this is, this will not be implemented into the lua. Using this creates a desync like no end when playing back the input.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Spikestuff
They/Them
Editor, Publisher, Expert player (2292)
Joined: 10/12/2011
Posts: 6337
Location: The land down under.
I decided to use Dica's input and change the values 608 and 552 to 800 and 750. This does seem to be faster by a few frames but due to me being a derp I cannot confirm unless I have either Dica's or Lil_Gecko's word or assistance on the right time to start spinning.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Joined: 1/10/2014
Posts: 24
Okay okay, I'm back (one year between now and my last message wow...) First the lua script, I modified Spikestuff's lua script (avaible here : User movie #21888782487052199) Changelog:
    * Use unsigned 4b for x/y position instead of 2b * Refactorisation (well Spikestuff doesn't like what I did, I should probably not call this refactorisation :p)
Here are my notes about the movements:
Units:
    du : distance unit
    f : frame

Related info:
    The speed displayed by the lua script is _NOT_ the real speed (you can check it yourself by calculating the position difference between two consecutive frames when Crash starts to move). I didn't used the speed to find the fastest way to move, instead I used the position to calculate the real speed.
    "start spin at frame X" means that I press the spin button when the script shows "Slide Time: 22/ X"



SSS (Slide-Slide-Spin):
	start spin at frame 9  => 35744 du (over 59 frames) => 605.8 du/f
	start spin at frame 10 => 36408 du (over 60 frames) => 606.8 du/f
	start spin at frame 11 => 37016 du (over 61 frames) => 606.81 du/f

Slide-Spin:
	start spin at frame 10 => 22096 du (over 36 frames) => 613.77 du/f
	start spin at frame 11 => 22704 du (over 37 frames) => 613.62 du/f
	start spin at frame 12 => 23256 du (over 38 frames) => 612.02 du/f
	start spin at frame 13 => 23752 du (over 39 frames) => 609.02 du/f
	start spin at frame 14 => 23752 du (over 39 frames) => 609.02 du/f

Sooooo:
	best in Slide-Slide-Spin : full slide then 11 frames slide then spin => 606.81  u/f
	best in Slide-Spin       : Slide then start to spin at the frame 10  => 613.77 du/f 

	best of all : Slide-Spin 10 frame

The Slide-Slide-Spin could probably be used in some circumstances where it's needed to travel a longer distance
And a movie example : User movie #21886983363057402 ------------------------------------ I found another none interesting "bug", how to jump above the map limit, here is the movie User movie #21888329955606213 Edit : The lua script is now fixed (previous version here : User movie #21887470776514321 )
Spikestuff
They/Them
Editor, Publisher, Expert player (2292)
Joined: 10/12/2011
Posts: 6337
Location: The land down under.
Dica wrote:
I modified Spikestuff's lua script (available here : User movie #21887470776514321) Change log:
    * Use unsigned 4b for x/y position instead of 2b * Refactorisation (well Spikestuff don't like what I did, I should probably not call this refactorisation :p)
"Refactorisation", you're evil. :3 It's a modification over the original script, so just call it modification. Eh, for the sake of it I'll have my fun mentioning stuff. Lua modification for Crash Huge Adventure: Crash HA lua - 2.01 Dica's Modification (3.61 kb) - BizHawk Modification is based off this BizHawk lua script. (3.51 kb) Issues:
    N. Gin Values are incorrect Cooldown Value is incorrect
Modified:
    Position Values are 4 bytes and not 2 Values have been rearranged to not be compact
Lua modification for Crash Huge Adventure: Crash HA lua - 2.01 Dica's Modification v2 (3.72 kb) - BizHawk Modification is based off this BizHawk lua script. (3.51 kb) Issues: Added/Changed:
    N. Gin Values are correct Cooldown Value is now correct
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Spikestuff
They/Them
Editor, Publisher, Expert player (2292)
Joined: 10/12/2011
Posts: 6337
Location: The land down under.
We might need a recalculation. . .
Dica wrote:
The Slide-Slide-Spin could probably be used in some circumstances where it's needed to travel a longer distance
My other issue is Crash's Max walking speed is 512. His slide is: 1280, 1224, 1168, 1112, 1056, 1000, 944, 888, 832, 776, 720, 664, 552, 496, 440, 384, 328, 272, 216, 160, 104, 48 Striked out is what is slower than 512. Bold is what you used in the Hawk example. 10 Frames then a spin on the 11th which holds the 720 then makes it 512 next frame after, Skipping 664 & 552.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Spikestuff
They/Them
Editor, Publisher, Expert player (2292)
Joined: 10/12/2011
Posts: 6337
Location: The land down under.
Ha ha! It's the gift that keeps on giving. A bot has been implemented for slide slide spin. It's a work in progress as it cannot keep up to a human TAS at the current time. VBA was the emulator of choice for the bot, it is the quicker one to mess around with the script and is a bit more user friendly. If we get it to out perform (or to the level) a human TAS it will be added to the BizHawk script. Virtual Boy Advance: Crash HA lua - 2.1-beta (5.40 kb) once more Crash HA watch - 1.2 (795 bytes) Issues:
    I have no idea!
Added/Changed:
    Dingodile Shield is actually visible. Bot SSS. Press "I" to activate and "O" to deactivate.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Warepire
He/Him
Editor
Joined: 3/2/2010
Posts: 2174
Location: A little to the left of nowhere (Sweden)
http://tasvideos.org/userfiles/info/23799922975197171 Added: Real speed math, as suggested by Dica's post. Math is not used yet.
Joined: 1/10/2014
Posts: 24
Feedback about the bot
  • The first cycle is always SS instead of SSS, whatever the way the bot is activated (before moving / the frame Crash moves)
  • The cycle currently used is SSS-9 instead of SSS-11 (I made a little mistake in my math. In my previous post the best cycle was SSS-10 but SSS-11 is better (it's corrected now))
  • Why SSS ? SS is supposed to be faster
  • The current bot doesn't need any logic, it reproduces always the same sequence, so a macro is adequate (and probably easier to code). (I made a script to use macros in Bizhawk if it can be useful in any way)
  • The button B is pressed during the slides but has no effect. I guess it's a bug
About the script:
  • I still don't understand why you are using readword (2 bytes) to read x/y pos instead of readlong (4 bytes). By the way, the current addresses are misaligned, most of the time it means that they are not good. (The addresses slightly change if they are 4b long, x pos: 0x2010A14 and y pos: 0x2010A18)
  • I have no idea what is the purpose of real_speed but why not...
Spikestuff
They/Them
Editor, Publisher, Expert player (2292)
Joined: 10/12/2011
Posts: 6337
Location: The land down under.
^It may seem like ignoring, but I answered (some of) these points in private to Dica.^ Virtual Boy Advance: Crash HA lua - 2.1.4-beta (5.77 kb) once more Crash HA watch - 1.2 (795 bytes) Issues:
    Bot is being outperformed to a normal TAS. Bot needs some love.
Added/Changed (2.1.1 to 2.1.4):
    Allocated all of Warepire's values to where it should be. Cleaned the script at N.Gin's part. 4 Byte Values, not 2. Have a line dedicated to turning off Automatic SSS (incomplete). Doesn't trigger at a Normal/Bonus Level or the Warp Room. Removed a piece of code that was hiding values when Invisibility happened (for Crash). Hello, Values used for Tiny.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Joined: 1/10/2014
Posts: 24
Virtual Boy Advance: Crash HA lua - 2.1.5-beta (6.4 kb) Issues:
    Probably something
Added/Changed (2.1.4 to 2.1.5):
    Changed SSS to SS (bot). Cleaned the bot's logic. Added shield cooldown in Dingodile's level.
Spikestuff
They/Them
Editor, Publisher, Expert player (2292)
Joined: 10/12/2011
Posts: 6337
Location: The land down under.
I'm forever going to hate N-Tranced due to how annoying the hunting the values are. Yay~ Link to video I burnt out a lot of time on this and I'm so glad this works now without a hitch. (FOR NOW) Lua script (VBA) will be coming out soon probably in the next week just due to missing some parts like the frame timer for a stage and missing an entire bot for the Bonus sections. Update: Delay and the lua script, forgot that slide/spin value changes after jetpack/magic carpet sections.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Judge, Skilled player (1279)
Joined: 9/12/2016
Posts: 1645
Location: Italy
So I've started TASing this game because I was fooled I immediately liked it since I learned of its existence. The first thing I noticed while TASing it is that it needs to use different movements depending of the circumstances, which results in making impossible to create an universal rule. Thus, it is necessary adjust the movements and optimize them accoring to the circumstances. In order to simpifly this job, I created a lua script that shows you the average speed in real time, relative to the speed values from script launch (I will soon implement it to the official script):
Language: lua

player_x_addr = 0x010A14 frames_amount = 0 player_x = 0 player_x_old = 0 speed_average = 0 if memory.usememorydomain("EWRAM") then player_x = memory.read_u32_le(player_x_addr) console.log("Starting script at frame: " .. emu.framecount() .. " with X: " .. player_x) emu.frameadvance() while true do player_x_old = player_x player_x = memory.read_u32_le(player_x_addr) frames_amount = frames_amount + 1 speed_average = ( ( speed_average * ( frames_amount - 1 ) ) +player_x -player_x_old ) / frames_amount console.log("Frame: " .. emu.framecount() .. " X: " .. player_x .. " Speed: " .. (player_x-player_x_old) .. " Average: " .. speed_average) emu.frameadvance() end else console.log("Error: failed to set EWRAM memory domain") end
You need to launch this script 1 or 2 frames before the segment of frames you want to analyze, so that you can see the average speed and the speed changes. The useful thing about this approch is that you can see how fast is a set of movements regardless its amount of frames and distance travelled: you instead judge its efficiency by looking at the final average speed amount, which is actually the ratio of distance traveled and elapsed time. This same theory can probably also applied to 3D games, by adding the the other axis and calculating the resulting space travelled by applying the Pythagorean theorem. Here is a graph showing the four most common movements segments, optimized to the fullest: Obviously, many circumstances require customization of these moventes sets or even creating a sets of movements ad hoc. This is not a bot after all. I've completed the first level and I think it would nearly impossible to improve it without discovering new tricks or bugs. Here is the bk2 file: *link deleted* Edit: I've implemented my algorithm in your script: http://pastebin.com/iZYw3Zrh I've set the "M" key for resetting the calculated average speed. Feel free to adjust anything. Well, there is a thing I forgot to mention. I didn't read all the post of this topic, but maybe you don't know about the fact that if the you end a spin while landing, you won't lose speed and you will be able to walk again 1 frame faster. That's why I added a spin after my Slide+Jump combo. Edit2: So I noticed that the WIP file by Lil_Gecko is faster than mine by about 30 frames, and I studied the SSS trick. I discovered it is actually a Slide bug, which is triggered by pressing B on the 10th frame after the very first R press. In other words, you press B a frame earlier than the optimized moment I currently use for having a 628 average speed for the Slide+Spin combo. The good new is that you need to do this only once, at the very beginning of the level, and then you will be able to use the Slide bug after every Slide+Sping combo: thanks to this I already managed to outrun Lil_Gecko (edit: I was wrong, the bug is naturally already enabled). I'll post the movie file when I complete the first level. And here is a new graph: I removed the Slide+Spin+Jump combo because it's just useless. The regular Slide is useful only in very rare cases, and it's actually not a combo, thus has nothing to be optimized.
my personal page - my YouTube channel - my GitHub - my Discord: thunderaxe31 <Masterjun> if you look at the "NES" in a weird angle, it actually clearly says "GBA"
Editor, Skilled player (1505)
Joined: 7/9/2010
Posts: 1317
If someone wants to finish the object sript: User movie #35034290461828603
Favorite animal: STOCK Gt(ROSA)26Sortm1.1(rtTA,EGFP)Nagy Grm7Tg(SMN2)89Ahmb Smn1tm1Msd Tg(SMN2*delta7)4299Ahmb Tg(tetO-SMN2,-luc)#aAhmb/J YouTube Twitch
Judge, Skilled player (1279)
Joined: 9/12/2016
Posts: 1645
Location: Italy
Thanks TASeditor, I'll take a look (tough I'm not sure if I can help...) Btw, I just discovered found two interesting but probably useless things: https://imgur.com/G4IVMa2 https://imgur.com/gAamNpE Edit: I've just finished optimizing my WIP. I've managed to outrun Lil_Gecko's run by 16 frames: *link deleted* I'm obviously speaking about the actual gameplay. By the way, I don't get why don't you all migrate to BizHawk. Despite its countinuos crashes, it makes everything simpler and smoother. You just have to save often... And make a lot of backup. Edit2: Now the script will also show in which frame the speed average calc has started, in order to allow univocal comparison: http://pastebin.com/pQ930SD8 If you want I can also implement a way to hide the average values with a key press, since they get a lot of space on the screen and thus may sometimes be in the way. Edit3: 2 more frames saved: http://tasvideos.org/userfiles/download/35051578078707344
my personal page - my YouTube channel - my GitHub - my Discord: thunderaxe31 <Masterjun> if you look at the "NES" in a weird angle, it actually clearly says "GBA"
Warepire
He/Him
Editor
Joined: 3/2/2010
Posts: 2174
Location: A little to the left of nowhere (Sweden)
It might be that back in 2015, there was no (good) GBA support in BizHawk?
Editor, Skilled player (1505)
Joined: 7/9/2010
Posts: 1317
I digged through more stuff. $65A4 is an object with enemy x position pointers for the whole level $4D60 is an object with box x position pointers $3F08 is an object with apple x position pointers Stuff for player object:
 Header: every object has it
allocated memory 10A04 4h
?
pointer next 10A0C 4h
pointer prev 10A10 4h

Position:
xpos 10A14 4u
ypos 10A18 4u

Animation:
state 10A38 1b

animation 10A44 1u

animation timer 10A48 1u

Physics:
x startspeed 10A5C 2s

x acceleration 10A60 2s

x maxspeed 10A64 2s

jump force	 10A68 2s

gravity 10A6C 2s

max fallspeed 10A70 2s

x speed 10A74 2s

y speed 10A78 2s

jump peak flag 10A7A 2s

xpos old 10A80 4u
ypos old 10A84 4u
	
pointer 10AAC 4h
	
Last positions:
pointer 10AC4 4h
slot 10ACB 1u
lastpos's 10AC4 ~ 10B08 4u 
	
Interaction with boxes:
pointer 10B24 4h
xpos 10B28 4u
ypos 10B2C 4u
pointer 10B48 4h
xpos 10B4C 4u
ypos 10B50 4u
The game stores the 7 last positions, useful for your script ThunderAxe. What's left to being found is hitboxes and level layout.
Favorite animal: STOCK Gt(ROSA)26Sortm1.1(rtTA,EGFP)Nagy Grm7Tg(SMN2)89Ahmb Smn1tm1Msd Tg(SMN2*delta7)4299Ahmb Tg(tetO-SMN2,-luc)#aAhmb/J YouTube Twitch
Judge, Skilled player (1279)
Joined: 9/12/2016
Posts: 1645
Location: Italy
Warepire wrote:
It might be that back in 2015, there was no (good) GBA support in BizHawk?
I'm using BizHawk 1.11.7 and I'm proceeding fine, except for the crash problem (ba dum tss).
TASeditor wrote:
The game stores the 7 last positions, useful for your script ThunderAxe.
Well, I could just use some variables to store the positions, it's nothing difficult. The interesting this is: why does the game save them? Are these some unused values used during game develpment for debugging? Try to mess them up by freezing them and stuff, then if nothing appens it's likely to be as I just guessed. On the other hand, you made me have an idea. I'm having some problems with the emulator being slowed down by the lua console, since it gets instantly spammed with my current script; so using instead the screen drawing command to write the last 10 values or so would make everything smoother. And let's now go with the news. I started working on level 2 and I'm studying the underwater phisics. I discovered that doing 2 pin swims (A button) allows to use the spin during the second pin swim, allowing to optimize the average speed up to 549.38095238095. The other important thing, is that within certain limits, you can move vertically without losing orizontal speed: you just need to not exeed with directional buttons pressu duration. Here is the new graph: Vertical movements graph coming soon. One last thing: when you hit a box with the spin, you your speed will drop to 20 or so. The only way to reduce average speed loss is to hit the box as close as possible to the end time of the spin. See ya Edit: current WIP encode (level 1 completed): Link to video Edit2: as promised, here is the new graph: As you can see, simply tapping A every 12 frames is the fastest way of moving. Use the spin only if you have to deal with an enemy or box, since you can't really gain horizontal velocity without breaking the 12 frames combo. Also, spins are useful for changing horizontal direction instantly at maximum initial speed of 900. By the way, I also figured that breaking boxes does not always make you drop velocity. I will write more about it, tough it won't probably happen until I start an "100%" run.
my personal page - my YouTube channel - my GitHub - my Discord: thunderaxe31 <Masterjun> if you look at the "NES" in a weird angle, it actually clearly says "GBA"
1 2
9 10 11 12