Post subject: Dragonball Z Legacy of Goku
Editor, Expert player (2312)
Joined: 5/15/2007
Posts: 3855
Location: Germany
I was once working on this game for fun. But in the middle of the run I wasn't interested anymore. When I cleaned up my desktop I found this vbm, so I'm posting it for everyone who wants to see. http://dehacked.2y.net/microstorage.php/info/1033147381/DBZ1%20TAS%20unfinished.vbm (U) rom was used. You will need to put this file into the same folder your emulator is in, otherwise it'll crash. http://www.file-upload.net/download-1083769/vba-over.ini.html ( http://tasvideos.org/forum/viewtopic.php?t=4285 ) * VBA 19.3 * Aims for fastest time - except that you can move faster by repeatedly changing from walking mode to flying mode and vice versa but it looks so crappy.... I also avoid flying across enemies * Takes damage to save time * Abuses programming errors - when getting hit by an energy blast while flying, you will be invincible. I used that to make things easier and for entertainment. - When Jeeze punched me near the end of the movie, he healed me. oO * No predefined saves * Manipulates luck - manipulates enemy hits to be low, - manipulates own hits to be as damaging as possible. * ignores semi-important goals EDIT: Part 1 http://www.youtube.com/watch?v=5476lepdk1w Part 2 http://www.youtube.com/watch?v=_bVod_QVwB8
Editor, Expert player (2312)
Joined: 5/15/2007
Posts: 3855
Location: Germany
Since I want to remove this game's entry on my TASvideos page, I'm dumping info here:
A new TAS would use the flying trick that prevents flying energy units to be drained and it would probably use save-warping, where applicable. 2010 WIP VBA21 Requires vba-over.ini, I think.
Editor, Expert player (2312)
Joined: 5/15/2007
Posts: 3855
Location: Germany
I'm glitch hunting this game. Only the dialogue glitch at the bottom of this post is new, but I wanted to make a list. Move faster By switching into and out of flight mode repeatedly, you will flight short distances without depleting your flight energy. This lets you move about 20% faster. Stay in current room after touching plot-related warp For example, works with the flying Nimbus at the beginning of the game. Walk into it from above, and when you hold "up" while the next screen fades out, the screen will stay black. Pausing and unpausing will reveal that you didn't leave the current room. Touching the Nimbus now will warp you to the forest immediately, if you enter the Kame house first, it will show the screen (the screenshot from the anime) again. Invincibility against bosses for example against Raditz, if he shoots at you while you are in flight mode, you will be standing on the ground while the game thinks you are still in flight mode. So enemies won't attack you but you can attack them. Pausing during boss fights I don't know if this is an emulation glitch because I've never seen this before, but when Raditz shoots, and you pause the game, sometimes the pause screen will be graphically glitched. Zombie mode When you die, you are allowed to walk a short distance before collapsing. If you walk into a new room, you will have no health but can walk around freely. You will be unable to pause the game until you gain a new level (which means your health goes above 0). Dialogue glitch If a dialogue is triggered from an event at the same frame that you talk to an NPC, the avatar of the person talking will be graphically glitched. - If you defeat Gregory and talk to Kai on the same frame that Gregory talks to you, the game will go through the dialogue but avatars will be misplaced or wrong and it will freeze after it warps you to the next room. (I think it is because the dialogue glitch causes the game to bring up another dialogue after the current one automatically, and after the game takes you to the next room it doesn't know whose text to load.) - If you do it on Krillin after defeating Vegeta, Krillin's text will come up when you arrive in Namek and the game doesn't freeze. - If you save your game on the same frame dialogue is triggered and it takes you to a new room, the game will not be saved. Dialogue glitch 2 If dialogue is triggered on the same frame you pause, the background will disappear (becoming white).
Experienced player (703)
Joined: 2/5/2011
Posts: 1417
Location: France
I suggest Buu's Fury first IMO
Current: Rayman 3 maybe? idk xD Paused: N64 Rayman 2 (with Funnyhair) GBA SMA 4 : E Reader (With TehSeven) TASVideos is like a quicksand, you get in, but you cannot quit the sand
Editor, Expert player (2312)
Joined: 5/15/2007
Posts: 3855
Location: Germany
got4n wrote:
I suggest Buu's Fury first IMO
I never said that I'm making a TAS.
Experienced player (703)
Joined: 2/5/2011
Posts: 1417
Location: France
Ah sorry :/
Current: Rayman 3 maybe? idk xD Paused: N64 Rayman 2 (with Funnyhair) GBA SMA 4 : E Reader (With TehSeven) TASVideos is like a quicksand, you get in, but you cannot quit the sand
Editor, Expert player (2312)
Joined: 5/15/2007
Posts: 3855
Location: Germany
Editor, Expert player (2312)
Joined: 5/15/2007
Posts: 3855
Location: Germany
Just finished some more glitch hunting (although I'm not done with it yet). New findings: - You can press A+B or Start+B in the options screen on the main menu, when Exit is highlighted, to crash the game. (Btw, this needs testing on the real console. I want to do it tomorrow) - Otherwise really minor unimportant stuff: -- Crab moving down sprite has an erroneous black pixel above it -- The graphical pause glitch I've been getting before still exists and it happens at random. Still unknown if emu glitch or legit. -- You can punch while entering a new room -- In the forest early in the game, in the house with the skull, you can fly on top of that skull and the old man will say something like "stop goku I want to teach you solar flare before you go" even though you haven't completed the forest yet. You will learn it early. (Useless of course) Just for future reference: The earliest point where dialogue glitch is possible is with Kai and Gregory.
Editor, Expert player (2312)
Joined: 5/15/2007
Posts: 3855
Location: Germany
Some addresses: (030007D4 X pos of where you started flying) 030007AD fly energy 030007AC fly max (but can also be taken from a table, see the stat growth list below) 02013280 level(?) 02013278 ki energy 02013274 max ki energy 020038a0 xpos 020038a2 ypos 02013270 health 03000608 x cam 03000609 y cam 02013274 max pow of a punch (?) 03003b6c timer 020132a8 experience total Level up requirement: Lv1: 350 (this is what your experience total must be at least to reach next level) Lv2: 500 Lv3: 900 Lv4: 1,600 Lv5: 3,200 Lv6: 6,400 Lv7: 12,800 Lv8: 25,600 Lv9: 30,400 Lv10: 44,000 Lv11: 100,000 Lv12: 140,200 Lv13: 180,800 Lv14: 257,680 Lv15: 355,360 Lv16: 410,720 Lv17: 500,000 Lv18: 630,000 Lv19: 800,000 Lv20: 900,000 Lv21: 1,000,000 Lv22: 2,200,000 Lv23: 3,100,000 Lv24: 3,600,000 Lv25 is the maximum level. Experience chart by Mangledpixel: HP / Ki / Fly Energy / Pow growth: The Pow information (damage dealt) is taken from a test that was run against a crab enemy 500~2000 hits. However, it seems enemies do have a Defense stat so this is only for reference. I have not figured out well enough how Dmg dealt / Defense stuff works yet. Lv1: 105HP 100Ki 6Fly 78~104dmg (91 average) Lv2: 200HP 150Ki 7Fly 150~199dmg (174) Lv3: 325HP 200Ki 8Fly 244~324dmg (286) Lv4: 435HP 300Ki 9Fly 434~326dmg (380) Lv5: 600HP 350Ki 10Fly 450~498dmg (524) Lv6: 900Hp 1000Ki 11Fly 675~898dmg (784) Lv7: 1100HP 1000Ki 12Fly 825~1097dmg (959) Lv8: 1300HP 1000Ki 13Fly 975~1297dmg (1130) Lv9: 1500HP 2000Ki 14Fly 1125~1497dmg (1312) Lv10: 1700HP 5000Ki 15Fly 1275~1696dmg (1484) Lv11: 2000HP 6000Ki 18Fly 1500~1996dmg (1748) Lv12: 3000HP 7000Ki 21Fly 2250~2994dmg (2622) Lv13: 4000HP 8000Ki 25Fly 3000~3992dmg (3490) Lv14: 500HP, 9000Ki, 30Fly 3750~4990dmg (4378) Lv15: 6000HP 10,000Ki 33Fly 4500~5988dmg (5248) Lv16: 7000HP 18,000Ki 35Fly 4746~6986dmg (6122) Lv17: 8000HP 25,000Ki 40Fly 6000~7984dmg (6992) Lv18: 9000HP 45,000Ki 45Fly 6750~8982dmg (7870) Lv19: 10,000HP 60,000Ki 50Fly 7500~9980dmg (8742) Lv20: 20,000HP 65,000Ki 55Fly 15000~19960dmg (17480) Lv21: 40,000HP 75,000Ki 60Fly 30000~39921dmg (~34970) Lv22: 50,000HP 95,000Ki 70Fly 37500~44902dmg (~43650) Lv23: 80,000HP 110,000Ki 80Fly 60000~79843dmg (~69922) Lv24: 100,000HP 120,000Ki 90Fly 75000~99804dmg (~87370) Lv25: 150,000HP 150,000Ki 99Fly 112500~149707dmg (~131130) Misc info: - The ingame timer can overflow, unless it stops at a certain time stamp (it didn't stop at 99:59:59, but may stop at an arbitrary time stamp so this should be tested). Nothing special happens, the number is messed up and turns negative until it reaches 0 to count up again. You would have to wait 136 years of realtime for this to happen though. - Like with the above case, Experience can also overflow. At a certain point you will reach Level 0 and have a strange amount of HP and Ki. Eventually you will get Level 1 again and be weak. - When you are at a higher level, the same enemy will deal more damage to you. - I guess I should note here, that the Ginyu force battle can be skipped by flying in the top right left corner of the map. This will render you very weak though so it isn't known if it saves time to do so.
Editor, Expert player (2312)
Joined: 5/15/2007
Posts: 3855
Location: Germany
Lua script http://www.mediafire.com/download/u4xom9823fjcnnf/DBZLua1.zip (US version of the game, for Bizhawk 1.11.1 mgba core) I will put a v2 later in this thread soon. Please don't use the above linked script anymore. TODO: - Find each enemy's health address - Make a general list of things that increase Goku's experience throughout the game. From this list we can then judge what level we will be at when at certain points in the game - Add Enemy display to lua (show various things like type of enemy, Exp when killed, pos, defense, health...) - TAS the game
Editor, Experienced player (817)
Joined: 5/2/2015
Posts: 671
Location: France
Sweet script. Good luck on the TAS, Mugg.
Editor, Expert player (2312)
Joined: 5/15/2007
Posts: 3855
Location: Germany
I have improved on my script a lot and here is the new version: http://www.mediafire.com/download/eve19onfsg39618/DBZBizLua2.zip http://www.mediafire.com/download/c33d422m2wlygw2/DBZLua3.zip (I ditched the Defense display - which seemed erroneous - and added an invulnerability span display and fly energy drain display) It can now display various data for each enemy in the game, such as health, damage received (i.e. damage I dealt to it with my last attack), experience it will give when killed, defense. I have spent a lot of time to make this and fixed a lot of things. If someone finds my script malfunction or behave strange, please message me. Unfortunately I have not figured out yet how the defense value plays into the damage calculation. The algorithm is a mystery still, but at least we can now see it. Maybe someone else can find it out. (Unless the def value is wrong, but it shouldn't be. I edited it and it behaved as if it was a Def related value) I guess this is my todo now: - How does RNG work? Is it based on the global timer of the game? - Find out how invincibility works, find invincibility span addresses for goku / enemies - Check for stat differences between US and EU version - Find out damage algorithm <-- RNG plays into this? - TAS the game ... or not. Idk EDIT: OK I'm really not sure on that defense thing so maybe the value the script is displaying is wrong... I only can tell this: If that value (it has to be 4 byte instead of 1 byte btw) is 0 then you deal almost always high dmg but if it's a relatively high value then sometimes you deal miserable damage inbetween. There can be "flop hits" that deal much less, and I think it's dependent on that value. EDIT: I updated the script again. The new link is at the beginning of this post. Also facts about invincibility: - When an enemy hits you, there will be 16 frames where you can still hit the enemy. But if you don't, then the enemy will become invincible for 45 frames thereafter. I.e. when you get hit, the enemy becomes briefly invincible. - When you hit an enemy, he becomes invincible for 80 frames right after. If either of those two timers (the 45 one or the 80 one) is active, the enemy can't be hurt. So you can hit an enemy every 80 frames (1.33 seconds) at best. As I pointed out before, only when your attack makes a distinctive sound (crashing sound when punching), your attack deals damage. Otherwise it deals no damage.
Editor, Expert player (2312)
Joined: 5/15/2007
Posts: 3855
Location: Germany
Notes about experience gaining:

*magazines: 350exp
*takes 6 energy across trees
chaotzu: 500exp
tien:500exp
old man(3 stones):350exp, speed
*boat: 200exp
*yamcha:500exp
*puar:500exp
*flowers:400exp
*sue:500exp

*radditz: 
8000hp
at lv5 dealing 589dmg max
4000exp

snake woman:
3000hp
can be killed in 3 hits
3500exp

killing a soul:
4000hp (4 hits)
1000exp

*3 ghosts:
500exp each

*kaio:
1500exp, speed, kame wave

dino:
18000hp
4000exp

three robbers:
7000hp each
6500exp

capsules:
1st: 1500exp 
2nd: -

*nappa:
14000hp
1084 max dmg at lv7
20,000exp

*vegeta:
16000hp
1444 max dmg at lv9

20000hp
1412 max dmg at lv9
30,000exp

killing a soldier:
10000hp (6 hits)
1964 maxdmg at lv11
10,000exp

three trees:
7,000exp

*namek temple:
30,000exp, speed

recoom:
60000hp
40000exp

burter:
90000hp
70000exp

jeeze:
90000hp
70000exp

ginyu:
150000hp
5964dmg max at lv15
90000exp

*freeza:
300,000hp
1996dmg max at lv11 = 201 sec
300,000exp

400,000hp
6986dmg max at lv16
500,000exp

600,000hp
19960 dmg max at lv20
800,000exp

1,000,000hp
49414 dmg max at lv22
-
Things marked with * are done (or mandatory). I have to test how long the late-game fights take at different levels. These notes assume that you talked to Yamcha and Puar to get 1000 exp early on, but other than that only mandatory stuff is done - no extra experience is gotten, and the Ginyu Force is skipped. todo: - Yamcha / Puar worth it or not? - Grinding levels for Ginyu Force / Frieza --> How long would a fight take with those at higher levels? If it looks good, where should levels be grinded? Nevertheless, I will want to wait for the mgba core to be updated in Bizhawk before I make the TAS.
Editor, Expert player (2312)
Joined: 5/15/2007
Posts: 3855
Location: Germany
ínfo dump
----------------------------------------------------

it takes like 55 sec to kill all of ginyu 

force except ginyu.
It takes 55 + 33 = 88 sec to kill all of 

ginyu force including ginyu.

ALL GINYU FORCE DEAD:
freeza (with puaryamcha, all ginyu force 

dead, no grinding)
lv16: 300,000 hp / 6986 = 55 sec
lv19: 400,000 / 9980 = 52 sec
lv22: 600,000 / 44902 = 17 sec
lv22?: 1,000,000 / 49414 = 26 sec

ALL GINYU FORCE EXCEPT GINYU DEAD:
freeza (with puaryamcha, all ginyu force 

dead except ginyu, no grinding)
lv15: 300,000 hp / 5988 = 86 sec
lv18: 400,000 / 8982  = 57 sec
lv22: 600,000 / 44902 = 17 sec
lv22: 1,000,000 / 47460 = 27 sec
This took longer by 37 sec.
Flight into the warp detour wasn't 

considered.
Killing ginyu is worth it.
----------------------------------------------------
take puar yamcha at any case, 

otherwise it wastes 6 sec at radditz and 

possibly more in subsequent fights.
----------------------------------------------------
Snake queen takes 6 sec to beat and 

gives 3500 exp. That would influence the 

following fights. It is worthwhile to kill 

her.

not killing snake queen means you fight 
nappa
lv7: 14000hp / 1097 = 17 sec
vs killing snake queen:
nappa 
lv8: 14000hp / 1297 = 14 sec

vegeta 1st phase without snakequeen
Lv9: 16000hp / 1497 = 14 sec
vegeta 1st phase with snakequeen exp
Lv10: 16000 / 1696 = 12 sec

vegeta 2nd phase without snakeq
lv9: 20000 / 1497 = 18 sec
vegeta 2nd phase with snakeq
lv10: 20000 / 1696 = 16 sec

...possible subsequent fights where 

even more time can be saved possibly...

----------------------------------------------------
Basicly: - Skipping the Ginyu Force wastes time because you are underleveled at Freeza. - Beating Recoom, Burter and Jeeze but skipping Ginyu is about 3~5 seconds slower than killing Ginyu too. So best route is to kill all of the Ginyu Force. - Speaking to Puar and Yamcha to get the 1000 exp early on saves like 3 sec at Radditz. So don't skip out on it. More specifically, you only need to talk to one of them to level up (I think)... you can skip the other one. In other words, you only need to talk to either Puar or Yamcha, not both. You need to talk to both. - Killing Snake Queen saves like 1~4 sec in Nappa and Vegeta phase 1+2. The route is pretty much outlined now so all we gotta do is TAS!
Editor, Expert player (2312)
Joined: 5/15/2007
Posts: 3855
Location: Germany
You can skip rescuing the kid by flying over the gate (at the corner).
Editor, Expert player (2312)
Joined: 5/15/2007
Posts: 3855
Location: Germany
There is a faster route in the underworld where you have to collect the 3 spirits. In one place there is a hole in the wall and taking that route to the 2nd spirit instead of the intended route is about 50 frames faster. https://www.youtube.com/watch?v=dRBp-_FbE6c&feature=youtu.be I have a WIP up till Frieza so far, close to done. I used an interesting strat at Ginyu Force: - "Wake up" Recoome, go to a guard and kill him to level up. Now you deal about 2900 dmg instead of 1900. - Recoome has the lowest health of the Ginyu Force, so he is killed off next to level up again. Now I can deal 3900 instead of 2900. - While I dealt with Recoome, I woke up Jeeze and Burter. They both have the same health and are finished off simultaneously. This is better than waking up Jeeze, then Barta, then Recoome and beating on all of them simultaneously. It takes way longer because you are missing the extra damage. The WIP will not use the faster underworld route because it is too far back and I don't want to redo 15 hours of work.
Editor, Expert player (2312)
Joined: 5/15/2007
Posts: 3855
Location: Germany
I just thought of a possible improvement. You can probably kill Ginyu and then take the glitch warp anyway to save 2 seconds or so. I don't know how it would influence the fly energy routing though.
Active player (434)
Joined: 2/5/2012
Posts: 1687
Location: Brasil
https://www.youtube.com/watch?v=BGOHSmEboxk is this glitch used, known or useless?
TAS i'm interested: megaman series: mmbn1 all chips, mmx3 any% psx glitched fighting games with speed goals in general