Joined: 8/31/2008
Posts: 56
Okay, checked some things. Note that all of this is on NORMAL, on hard mode there are much less powerups. Stage 5 part 2 - the hidden room is in the 4th lava pool, containes one hp bonus, two meat, one invincibility fairy. Stage 5 part 2 - the two health powerups are visible if you jump right from the wall. But, again, they should fall into your lap as you kill the big cavedigger dude. Optimally, you should be careful while killing the big dude, so you don't bust open the powerups: it's better off to get them on the way back, so you don't need to turn around (if you bust open powerups and don't pick them up, they disappear shortly). Stage 6 part 1 - at the beginning, keep falling down to your left side, then go to the right. You will get into a dead end (a hole is too high and you can't reach it, and will have to circle back to the upper levels). But, you can find a thunder powerup on the way. Stage 6 part 2 - fall down to the left room, you CAN snatch it out of midair, it's not hidden. Thunder powerup. Stage 6 part 2 - go to the bottom of the ship, where the invincibility fairy is (bottom of the first shaft). You can use a rolling thunder to blast a hole at the upper corner near the cave-in (if you have problems doing it, step a little to the left, so nothing blocks you as you jump, then turn right, jump up, blast). There's another thunder powerup here. A little trivia - post-boss, use a rolling thunder as you fall down to the platform that takes you out of the level. You can destroy the platform, leaving you stuck and unable to move! Stage 7 part 1 - before you go to fight the boss, go to the little room to the left, just below the boss room. Thunder powerup. If you've beaten the boss already, go up to the platform room and fall down to the leftmost, and you'll get back under the boss room. Stick to the right part of this pit to get on a platform with health. To the left pit, there are monster levelups (to go with the Revive you can pick up on the upper left moving platform, you can grab that in midair but in case you don't, you'll have to jump in after it...)
Active player (276)
Joined: 4/30/2009
Posts: 791
Stage 5 itself is complete, however the boss is giving me trouble. It has an unusual hit box, as well as having high HP. I can get 2 RTs on each pass though, which helps with the damage, by my reckoning I should be able to kill it on the second pass. The unusual thing about the boss is that Alisia's normal attack seems to hit in places where the Rolling Thunder appears to miss, and I decided to take enough damage that I am at half a health bar at the boss (meaning 1 hit from anything the boss has will kill me). Bear in mind I am doing this boss 'blind' as it were when it comes to finding the RAM address for the boss HP (I've tried several times to find the right address but there are too many addresses which change to pinpoint the right one). I may need to go back into the level and preserve more health, this would make the level slower but probably make the boss much faster. In between the passes the boss makes there is a long wait, so if I can take damage and kill it in one pass (theoritically it is possible, but that unusual hit box doesn't help matters) I would likely save more time overall. As for the invincibility fairy in 5-2, it is still present in hard mode, but it would take a fair bit longer to get because of the backtracking involved afterwards.
Editor, Reviewer, Experienced player (969)
Joined: 4/17/2004
Posts: 3107
Location: Sweden
Make two movies: one where you finish the boss with low healt, and another with slower stage and faster boss fight. Continue on whichever is faster overall. If you supply save-state or movie going up to the boss, I can try to help you find the RAM adress.
Player (244)
Joined: 8/6/2006
Posts: 784
Location: Connecticut, USA
At one point, I had started creating a list of how many frames it takes to get each powerup. Then I started killing all the bosses with different combinations of lightning levels and pets, and recording how long each takes. In the earlier levels, it's faster to just go to the boss and skip all of the powerups entirely, but this soon changes when the bosses get more and more HP. Considering the high HP value of the robot boss and his stupid pattern, it's most likely fastest to get every lightning upgrade up to him. I never figured out the best thing for the pets though. Also, RAM addresses I was watching:
00FFFFC0, yposition
00FF0468, xposition
00FFB31C, HP
00FFB41C, HP
00FFB19C, HP
00FFB29C, HP
00FFB21C, HP
00FFB09C, HP
00FFB11C, HP
They are all 2 bytes, signed. The HP addresses are basically a big lot of HP placeholders for enemies and bosses. When an enemy loads, the game arbitrarily picks one for use (arbitrarily is definitely the wrong word to use, but to someone who doesn't know the game code, it's a good enough word as any). There may be more that I missed, but these have worked just fine for me. Now that I'm looking, I did find an early version of my tests. It's not much use, but it illustrates what I suggested earlier with checking each boss and powerup for frame costs:
Switch to Fireball (or back)       - 50
Switch to Dragon (or back)         - 62
Switch between Fireball and Dragon - 50

Level 1
-------

Monster Up 1   - 301
Monster Up 2   - 898
Monster Up 3   - 571 (0 if getting Lightning 1)
HP Up 1        - 0   (no need unless you get Lightning 1)
Lightning Up 1 - 819
HP Up 2        - 734
Lightning Up 2 - 950
Monster Up 4   - Way too long (lower one)
Monster Up 5   - 599

Boss w/ Lv1T - 183
Boss w/ Lv2T - 146
Boss w/ Lv3T - 141
(these three values assume you use the Fireball pet)

Level 2
-------

Lightning Up 1 - 474
Etc. Oh also, for boss testing, just make a save state before the boss. From here you can toggle between different levels of lightning and pets by using the code. This make testing a bit faster!
Experienced player (575)
Joined: 1/11/2007
Posts: 103
Using Electrospecter's info, here is a script that shows the HP next to the enemies, so you don't have to puzzle over the ramwatch window.
local address = {enemy=0xFFB090, xcam=0xFF01A8, ycam=0xFF01AA}
local ex,ey,ehp = 0x0,0x2,0xC
local maxslots,interval = 9,0x80

gui.register ( function()
	for slot = 0,maxslots do
		local hp = memory.readwordsigned(address.enemy+ehp+slot*interval)
		if hp > 0 then
			local x = memory.readwordsigned(address.enemy+ex+slot*interval)
			local y = memory.readwordsigned(address.enemy+ey+slot*interval)
			gui.text(x-memory.readword(address.xcam),y-memory.readword(address.ycam),hp)
		end
	end
end)
Active player (276)
Joined: 4/30/2009
Posts: 791
Apologies for the late update, had something of a life recently, so I've not been working on this a lot until lately. Thanks to both Dammit and ElectroSpecter, both of these were really helpful. I followed the earlier suggestion of making a second Stage 5 attempt but keeping full health for the boss. Overall, I lost 250 frames across the stage by doing that, but I discovered I can more than make that up in the boss fight itself. As far as I can tell, using these scripts I can now work out the damage for the monster attacks, at least for the L3 ones I've been using: Dragon Frye: 1000 per fireball Ball Of Fire: 200 for initial hit on an enemy, 100 damage per frame of contact with enemy Thunder Raven: 300 damage per attack Yeah I was shocked too - Dragon Frye is the most damaging, at least by the straight numbers. BOF's damage-over-time ability is very useful in the early stages of play and against relatively weak enemies, but it pales later in the game where things have a lot of HP to play with. Unlike the other monsters BOF does not need to recharge to do damage, although its charge determines when it actually takes damage. Thunder Raven's attack, despite it being apparently weaker than DFs, can contact the entire screen (and a slight bit beyond it, I discovered) with its damage, so it is more useful for large packs of weak enemies. The slow recharge for its attack isn't helpful either. I never bothered to test Boomerang Lizard, but at this point in the game it wont be worth including, at least not in this run. Onto the L5 Boss itself. I have not found the optimal way of beating it yet, but I at least have discovered the way to do the most damage. The brain that pilots the machine is the weak spot, so I need to take damage, and then attack within the machine itself at that point to hit with as many frames of Rolling Thunder as possible. With the assistance of the summon monsters, I can possibly do this with only 3 RTs, initial testing at least suggests that will be possible, but the proof is in the pudding. I may not need full health for the boss either. Just contacting the boss does 1/2 a health bar of damage, and not the full health bar as I initially thought. I get hit twice per Rolling Thunder in damaging the boss though. This boss will end up kind of the same as the L2 Boss, except it is moving and has more HP, making it more tricky to plan. This does mean, however, I can probably redo the stage for the third time and optimise the health selection. I actually included the invincibility fairy this time around, even though it was found to be slower overall, so I will probably bypass that and the health potion in that area for a start. Did I mention this was my most hated stage already? :-( But I'm not giving up! It has been taking longer than expected, but I'm back on it now. Hopefully I should have a completed Stage 5 for you to view in the next few days.
Player (244)
Joined: 8/6/2006
Posts: 784
Location: Connecticut, USA
Toothache wrote:
Stage 5
This is quite a promising post, and it looks like you're on the right track. I always had a feeling that getting damaged and RTing the inside of the boss was the fastest way. Judging from how fast the thing moves across the screen and your estimate of 3 RTs, you should be able to kill it at the beginning of the second pass, right? Also, contacting the boss takes away 1/2 a bar of health, but what about getting hit with missiles or anything else?
Active player (276)
Joined: 4/30/2009
Posts: 791
Yeah, it seems the various attacks do cause different damage: Front laser: 1 full bar Contact with boss (anywhere) 1/2 bar Ground dust attack: 1/2 bar Rear shell attack: 1/2 bar The best news is I have worked out a way to hit with every single frame on the first Rolling Thunder. What's more interesting is that I've actually discovered that Dragon Frye's Fireballs actually do damage over time if they are fired close. It seems they cause 500 damage/frame, and the most I've managed to get so far is 7 frames of damage. I'll keep working on it to see if I can increase DF's damage even further. EDIT: Stage 5: http://www.youtube.com/watch?v=a1Chvy3nUT8 Only thing I need to fix here is not getting the Potion at the end of the first part of the stage. Otherwise, this is pretty much as fast as possible for this Stage. A lot of side-trekking for items, but they all play an important part in finishing this stage quickly, mainly for the boss. The invincibility fairy makes getting through the middle part of 5-2 easier, although it does work out a bit slower overall it means I can get through there without taking damage. EDIT: Time for an update! First things first, I am completely ignoring the invincibility fairy. I never liked the idea of picking it up, because it does waste time over the stage, but it saves 1 and a half health bars. (1 by going through a flame jet that cannot be leaped over, and half by jumping into the giant mole creature near the steam jet that cannot be killed fast enough). I have refined the first half of the stage along the long corridor gauntlet, saving another 1/2 health bar and 19 frames total over the first half of the level. Further improvements came from jumping over or through most of the flame jets in the second half of the level, avoiding the invincibility fairy (wastes far more time than it would save), and improving the boss further. On the subject of the Boss, I have removed Thunder Raven's appearance completely, (+900 damage is not worth the frames wasted bringing her in) and optimised the damage taken and dealt even further, by carefully positioning Dragon Frye in the most optimal places for his fireballs. It seems 8 frames is the most you can get, and at 1500 damage per frame maximum, this leaves a possibility of 12,000, close to a quarter of the boss's HP alone. Maximum damage isn't always possible because the positioning has to be frame perfect, but I do get Dragon Frye to contribute damage 3 times in total, the main damage coming from Alisia's Rolling Thunder's, each adding just over 19,000 damage. This makes the boss's HP of just over 52,000 seem pretty pathetic in comparison, even though he has the second highest HP of the bosses in this game, and in a normal game would take several passes to finish off. I have even finished the boss with more health left again, so I can avoid getting another potion (I chose to get the one near the area with the third Thunder Level Up this time, but that can be easily removed). I'll post another WIP once the potion situation is fixed, and that will have completely optimised this Stage finally! After that, it is onto the fun little maze of Stage 6!
Active player (276)
Joined: 4/30/2009
Posts: 791
Stage 5 WIP download: GMV file here For those who would rather be lazy: http://www.youtube.com/watch?v=GbuaZkl-lrQ I am approximately 10 seconds ahead of my original WIP video (that save has either mysteriously vanished or been accidentally overwritten, so I can't give an exact frame count, however the video encode is ~10 seconds shorter). Finally done with this Stage :-)
Joined: 7/2/2007
Posts: 3960
Aww, your lazy link was taken down. :( But the previous version looked good, so 10 seconds better must be awesome, right? :) Congrats on finishing this stage!
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Active player (276)
Joined: 4/30/2009
Posts: 791
Wasn't taken down, just replaced with a better encode. Unfortunately, Youtube still won't show the actual flame jets fully, probably cos of the flicker it causes (or the fact YT's encoding sucks). New link is up in the previous post.
Joined: 8/31/2008
Posts: 56
Toothache wrote:
Wasn't taken down, just replaced with a better encode. Unfortunately, Youtube still won't show the actual flame jets fully, probably cos of the flicker it causes (or the fact YT's encoding sucks). New link is up in the previous post.
The flame jets don't show up because they use flickering transparency (show the sprite at one frame, make it invisible in the next, repeat). This gives the illusion of transparency at 60fps. Youtube does not allow 60fps encodes, so this effect is completely lost. It is also lost on most other video encodes, unless you specifically use 60fps in your capture.
Player (244)
Joined: 8/6/2006
Posts: 784
Location: Connecticut, USA
satan wrote:
Youtube does not allow 60fps encodes, so this effect is completely lost.
This usually bugs me about Youtube. The only time I sort of enjoy it is when it makes a wobbling character look like they're moonwalking or walking in place (as the encode skips every other frame, you only get every other frame of the wobble). On topic: Stage 5 looks great!
Skilled player (1308)
Joined: 9/7/2007
Posts: 1354
Location: U.S.
OMG, I just saw your Stage 6 improvement. Seeing 11939 HP go down in one turn was epic. Keep it up! (for some reason, this game reminds me of BOB & Bio Hazard Battle)
Active player (276)
Joined: 4/30/2009
Posts: 791
Here's an interesting development - it turns out Boomerang Lizard is actually useful! And here's why - the Stage 7 boss which I've been working on for days is immune to Dragon Frye's attacks. Conversely, BL's attack seems to do 50 damage per frame, per boomerang. Now that doesn't seem like a lot, but when you consider how useful BOF's 100 damage per frame was in the early game, and combine that with the fact it can be fired at range, BL becomes quite underrated. And I admit, I didn't even consider using him until now. As mentioned, the Stage 7 boss has some armour that makes him immune to DF's fireballs. Interestingly, the Stage 5 boss also had this property but I was lucky enough to discover a chink in that armour. With the Stage 7 boss's love of hovering in the air, getting damage on it even from Rolling Thunder is challenging. This gives me a good excuse to start again from the beginning and make a third version of this run. There's a few improvements on earlier stages I want to make anyway, that I've noticed while watching the WIP so far multiple times. However, I'll be completely dropping the presence of Thunder Raven, since she wasn't very useful except for a couple of places which can do without her anyway, and her low damage output and slow charge for her attack makes her pretty useless for speed purposes, added to the fact her attack also adds some lag frames on certain Stages. Starting again will make quite a few changes in the run overall, especially Stage 3 where Thunder Raven had the most use. I also want to try avoiding getting the first Thunder Level Up in Stage 5, since that takes the longest to get and I'm sure I can do enough damage with L7 Thunder on the boss, thanks to Dragon Frye's damage output. I can pick up the remaining Thunder Level Up at the start of Stage 6 since that is not as far out of the way. I can even wait as late as Stage 7 to get Boomerang Lizard to L3, and avoid picking up the Level Up in Stage 2 (since summoning that adds some lag in that Stage). Improvements ahoy, but it will all be worth it! Not completely impressed about having to start again though, but I will save a lot of time by doing so, and definitely be able to get the Stage 7 boss done within 2 phases if my calculations are correct.
Joined: 7/2/2007
Posts: 3960
Well, good luck!
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Joined: 8/31/2008
Posts: 56
Boomerang Lizard is actually the most useful on normal levels. It's a deadly monster in close quarters, since it recharges fast, and attacks in multiple directions, with decent accuracy. Thunder Raven is too slow, the dragon has a small attack area (though it has extremely powerful shots), and the fireball is only good as a rear guard, except for the few occasions where you can use it offensively.
Active player (276)
Joined: 4/30/2009
Posts: 791
Ok, you will be pleased to know I'm back to working on this, after leaving it for quite a while. I guess I lost motivation a bit after learning I had to restart. Nevertheless, I'm halfway through Stage 1 and I'm already 31 frames ahead, so progress is definitely being made. I've also made several alterations to include Boomerang Lizard in the most effective places. Stage 1 - 2 level ups to Ball of Fire Stage 2 - 1 level up to Boomerang Lizard Stage 3 - 1 level up to Boomerang Lizard Stage 5 - 2 level ups to Dragon Frye I also believe I can make the later stages faster in one important way - by ignoring the first Thunder Level Up in Stage 5. It is the furthest out of the way, and by my estimates it is possible to beat the Stage 5 boss in the same way as before with L7 Thunder Power. Even if I have to wait until Stage 7 to reach L8 Thunder Power, I will still be many seconds ahead. This will make health control over Stage 5 even more important, but it shouldnt be much of an issue - last time I finished with 3 health bars before the boss and used 2 of those to beat it, so I doubt I'll need more than one extra hit. With L3 Boomerang Lizard it may be possible to speed up the Stage 3 boss also, but it will depend on how much damage it can contribute to the brain things. Stage 1 v3: http://www.youtube.com/watch?v=xlePXjnxdeg GMV file: http://dehacked.2y.net/microstorage.php/info/1560756300/AlisiaDragoon_WIP_Stage1_version3.gmv
Active player (276)
Joined: 4/30/2009
Posts: 791
Stage 2 is complete, and I'm 31 frames ahead in this stage alone, 93 total. Most of that came from reducing lag, and I managed to improve the timing of the boss and mini-boss kills. Using Boomerang Lizard is also a time saver, not only in the fact that switching to it is faster, but its attack doesn't cause any lag, unlike Thunder Raven. Interestingly, I also saved time by letting the game switch out Boomerang Lizard rather than doing it manually. It doesn't get switched back in at the start of Stage 3, so I don't waste time by allowing it either. Stage 2 v3: http://www.youtube.com/watch?v=ohNj5jiHzCs GMV file: http://dehacked.2y.net/microstorage.php/info/1698531834/AlisiaDragoon_WIP_Stage2_version3.gmv
Joined: 7/2/2007
Posts: 3960
Looking good! Very clean.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Active player (276)
Joined: 4/30/2009
Posts: 791
Stage 3 is now done, and I'm a massive 397 frames ahead of my old version. The majority of that time comes from beating the boss a heck of a lot sooner, on the first cycle in fact. I had to do a bit more summon switching, but it paid off in the long run. Dragon Frye helped with the furthest right and the middle part, Ball of Fire did the rest to the centre part while I charged a Rolling Thunder for the third part. I found a useful exploit too. When attacking with normal thunder, if you let go of B for 1 frame while attacking, 3 frames before the bar would normally go down, the bar remains at its current position, and doesn't have a chance to drop for another 32 frames, where I can repeat the same exploit to attack indefinitely. This also means I can get a Rolling Thunder charge a heck of a lot sooner if I need to attack then RT, and I make use of that between the first and third boss parts. Other improvements across the stage are as follows: - The first enemy on the hovering platform is killed faster - Quicker jump up to the Level Up for Boomerang Lizard - The long corridor of enemies is now beaten without any lag! - I don't get grabbed on the ascent to the Thunder Level Up - contrary to my earlier belief, I can save time by avoiding them - I kill the enemy just before the boss sooner - this triggers the boss I couldn't eliminate all the lag during the boss fight, but I did try to keep it to a minimum; however I did manage to eliminate lag across the stage, which saved a fair few frames. Stage 3 v3: http://www.youtube.com/watch?v=vEp92pyOXPk GMV file: http://dehacked.2y.net/microstorage.php/info/1938990940/AlisiaDragoon_WIP_Stage3_version3.gmv
Joined: 7/2/2007
Posts: 3960
Looking good! Keep it up. :)
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Active player (276)
Joined: 4/30/2009
Posts: 791
Stage 4 complete, and I'm ahead by 29 frames in this stage, bringing the total improvement to nearly 9 seconds (519 frames). The improvements have come from optimising the jumps, especially those up the steep slopes where Alisia cannot walk up, and a faster boss kill by making more use of the blue fairy ability. Stage 4 v3: http://www.youtube.com/watch?v=afLuO2EqkUg GMV file: http://dehacked.2y.net/microstorage.php/info/939719723/AlisiaDragoon_WIP_Stage4_version3.gmv
Active player (276)
Joined: 4/30/2009
Posts: 791
Well, the most annoying stage is out of the way, and I managed to improve it by a massive 755 frames, bringing the running total improvement to 1329 frames. What is more significant is that I only lost 3 frames to the boss with the reduced attack power, so I'm more confident now about L7 Thunder being enough to finish the last three stages fast enough. I manage to make more use of Alisia's health, by picking up both of the health potions that appear during the stage, and getting both of the floating potions in the second half of the stage. This allowed me to save a significant amount of time by taking damage from enemies and the flame jets. A fair bit of improvement also comes from optimising the jumps up the vertical walls. The boss was killed 3 frames slower, even with such a significant drop in attack power. This was partly accomplished by getting Dragon Frye to add an additional frame of damage with its second attack, although it did make manipulating the final attack more tricky because of the awkward positioning needed. Stage 5 v3: http://www.youtube.com/watch?v=UqFvrHoUrMk GMV file: http://dehacked.2y.net/microstorage.php/info/1495695273/AlisiaDragoon_WIP_Stage5_version3.gmv
Active player (276)
Joined: 4/30/2009
Posts: 791
Stage 6 complete, and I'm ahead by another 84 frames, bringing the total improvement to 1404 frames. Much of the improvement comes from jumping into enemies rather than over and around them, and further improvements on jumps. Since my attack power is reduced, I lost 7 frames on the boss, but I'm still well ahead. Stage 6 v3: http://www.youtube.com/watch?v=TRDBOZ9ZizM GMV file: http://dehacked.2y.net/microstorage.php/info/367729137/AlisiaDragoon_WIP_Stage6_version3.gmv