Yeah, alright, so if you read my earlier post, you know I'm pretty much of a newbie to superplays.
However, I seem to have less problems recording with Gens than I do with FBA, so I decided to try out a superplay of Adventures of Batman & Robin (single player mode), which is in my opinion the most frantic and awesome Batman game ever made. For those who never played it, think Contra meets everyone's favorite caped crusader, and a lot more difficult.
For now, I've found a few ways to get through places faster, such as using death power-ups to destroy all the enemies in a screen at once (mostly done when I'm being followed by too many enemies at the same time and I end up at a point where I have to take them all out first), holding on to the ceiling and using carefully timed double jumps to get through places faster (goes at around 2.5x Batman's running speed). However, I'd like to know more tips, I never managed to beat the last boss when I was younger, and now replaying on Normal difficulty is even worse.
I'd post some video, but I'm still working on not getting my ass handed to me by the first level boss, for such an early game targetted at children, I'm wondering how the heck I got so far when I have so much problems with it now.
Joined: 11/27/2004
Posts: 688
Location: WA State, USA
Stage 1 Testrun
I suspect that the rest of the game would be able to maintain this level of entertainment, except for Level 2 which is a ~3/4 minute long autoscroller followed by a 15 minute horizontal shmup level.
Also before you get excited, I won't actually be able to TAS the entire game.
Joined: 11/27/2004
Posts: 688
Location: WA State, USA
Here's a testrun that goes up to the battle against Harley Quinn and the vector-ball crane. At this point it's about ~90 seconds faster than the (1 player) run at SDA. Based off of this, we can naively assume that a full TAS would be between 35-40 minutes, though this really depends on how much the autoscrollers can be sped up.
Link to video(.GMV File)
I should note that this is basically all a tease, since I'll be leaving on my Mormon mission in basically a day or two. In other words, unless somebody else hates themselves enough to take a stab at this game, this is the last you'll see of this game being TASed for about 2 years.
Mormon mission? :(
I have been interested in this game too, but the autoscrollers and length put me off. It's so stupid... the game has everything, nice graphics, good controls, pumping soundtrack... and absolutely horribly bland and repetitive level design.
It was a very nice teaser in any case. :)
Well, it's been two years, but RT-55J hasn't signed in since early 2012, so I think it's a pretty safe bet he won't be TASing this.
I am interested in tasing this. Anyone feel like joining me?
I have been researching the game a bit, here is what I have found:
- Bosses have more health in 2 player mode. The difference in health is not constant, it varies between bosses. For example the first subboss has (in hex) 2200 health in 1 player mode, and 3200 health in 2 player mode (ratio 1.47), the second subboss has 250 health in 1 player and 450 health in 2 player (ratio 1.86). For all bosses I've checked the ratio is less than 2, so 2 player mode is faster.
- After the boss has spawned, the second player cannot join.
- There appear to be no differences between Batman and Robin.
Weapons:
- All weapons have 7 strength levels. There is not always a difference between the levels visually.
- For lower level weapons, you get the most damage output by alternating punches and charged weapon. For higher level weapons, just shooting without waiting for recharge is better.
- The green weapon is better for small targets than the red weapon. The red weapon only has higher damage output if all the projectiles hit. The blue weapon is weaker in almost all circumstances.
- All ground melee attacks do the same damage per hit (64), but the low punches are faster than the others. Jumpkicking does half damage per hit (32), but usually hits 2-3 times.
Movement:
- Jumpkicking (3 pixels / frame) is faster than walking/jumping (2 pixels / frame).
I'm the one with the SDA record, and in truth the autoscrolling sections of the game are not very fun to watch. If you have a plan to make them interesting, then that's awesome, however I don't know what you'd do to make them more entertaining, much less speed them up.
Hey CMiller, nice to have you here!
I don't have any specific plan for the autoscrollers. It will probably be hard to make them interesting, even with two players. My guess is that the run will end up in the vault.
I think some of the sections which look like they are autoscrollers in fact aren't. For example the section in Mad Hatter's stage where you have rockets on your back seems to depend on how quickly you kill the enemies.
Are there any tricks or timesavers which you didn't use in your run because they are too hard to pull off, or that you have found since you recorded it?
Also, want to join in and TAS this? :)
I have no experience TASing.
I would say in retrospect it may be faster to get the green weapon before the cat boss. You might lose some time in the stage before it, but it's a long boss. However, if as you say 3 red projectiles do more damage than one green one, you could just make sure all three hit the nose. Something hard to do in real time.
Well, noone has any experience TASing before they start... interest and knowledge of the game can be enough. In any case, I haven't gotten this off the ground because of too many other things to do. Still just researching a little now and then.
I think the green weapon is the way to go for any boss where you cannot reliably hit with all three projectiles all the time.
Damage for green weapon levels (normal/charged):
1. 24 / 80
2. 32 / 92
3. 40 / 112
4. 48 / 120
5. 56 / 128
6. 64 / 136
7. 72 / 144
Damage for red weapon levels (normal):
1. 24
2. 40 (20+20)
3. 48 (16+16+16)
4. 64
5. 64 (32+16+16)
6. 72 (36+36)
7. 78 (26+26+26)
So at level 7, every time you hit with all three red, you gain 6 damage over green. That's not a lot. Every time you miss one projectile, you lose 20 damage. During boss fights when it's hard to miss, like the Two-face ship at the top of the scaffold, or the over-head flying stage, it could be better to use the red weapon instead.
I have noticed that the firing rate is not constant when you are jumping/landing. I will see if I can figure it out, perhaps it can be used to fire faster.
I'm excited as well about seeing this game TASed since it has a lot of room for improvement. Here are some of my thoughts:
1) It appears to be some lagging when killing an enemy with a jumpkick. Can't it really be avoided? How many lags does the game contain in general?
2) At 1-3 stage I think it's more convenient to switch to green weapon. It appears to me that the quantity of missed red projectiles on that floating Harley kills the red weapon damage advantage.
Anyway, good luck on your work, keep going.
1) The game doesn't exactly lag when hitting an enemy with a jumpkick. Your character stops moving for a few frames, but the rest of the game continues as usual. There doesn't appear to be a lot of lag generally, but it does happen for example with the flying enemies on 1-3, if you spawn a lot of them and then kill them at the same time with a charged shot.
2) You are correct, the green weapon is almost certainly better there.
So, I tested how jumping and landing affect the rate of fire now.
Normally, you fire once every 12 frames. The projectile appears in the middle of the throwing animation, and jumping or landing cancels the rest of the animation. This means that the throwing animation can be restarted quicker, after just 7 frames. On average you can achieve a rate of one shot per 9.5 frames, instead of 12.
(To do this, hold A for 7 frames, then hold A and B for 6 frames, then hold A for 25 frames.)
Since you jump around while doing this, you need a big target or constant re-aiming of your shots to hit with all projectiles.
Thanks for reply! To think about it, will this speeded fire rate help you with boss fights on lower weapon levels? As you wrote, on lower levels melee attack+charged weapon is more powerful than plain shooting, does this new trick make the latter powerful enough to be preferred over the former?
That's a good question! My first reaction was to say yes, but then I realized that punching animation can be canceled as well... so I'm not sure how it works out. So maybe some canceled punch/jumpkick/charge shot pattern can work as well?
The only place it comes into effect is the first sub-boss, since you will be fully upgraded for the others. So I guess it needs to be tested there. I guess I should just TAS the game already...
Joined: 11/27/2004
Posts: 688
Location: WA State, USA
I might take another stab at this, but I would need to have some things in Real Life settle down before I could convince myself to dedicate so much time/effort to such a time-consuming and mentally-wearying hobby.
Also, honestly, with how atrociously long the autoscrollers are here, I would be tempted just to use the level-skip code to go past the worst of them.
One thing that would really help with the project would be a LUA hitbox display that would allow you to see offscreen enemies/projectiles. I remember that aspect was one of the harder things to optimize when I made that WIP up there (for reference, it has over twice as many rerecords as my Bio Force Ape TAS, if that means anything).
Joined: 4/17/2010
Posts: 11492
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
Do you want a script that just hangs near the screen edge where the enemy is vertically when he's horizontally off-screen, or something that draws his horizontal movement mirrored or something? How to represent the off-screen action?
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Joined: 11/27/2004
Posts: 688
Location: WA State, USA
A sufficient solution would be to have the script show the edge of the hitbox at the edge of the screen with the distance away from the screen (in pixels) also displayed.
Also on the subject of LUA scripts, I think that it would be useful to have a script that somehow activates the screen-cleaning skull bomb every frame, for testing purposes (mainly for determining the 'optimal' length of the autoscrollers and fights where the screen stops (and to see if they can one-shot bosses (Joker's blimp would be the only place this could be abused, iirc))).
What emulator would you recommend using for this project, Truncated? Gens or Bizhawk?
Joined: 4/17/2010
Posts: 11492
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
Can I have RAM addresses?
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Whoa! Well, clearly I was wrong about you not coming back. Nice to have you here again. :)
I had the exact same thoughts about LUA scripting as you. We need a script which tells us mainly three things about enemies:
- Their position, to know when and where they spawn outside the screen.
- Their HP, to know if our shots are hitting them outside the screen.
- The flag (probably there is one) which decides if an enemy needs to be killed to unlock scrolling. I don't think all enemies lock the screen.
Feos, I haven't figured out the object structure of this game. I can give you some boss HP adresses, they might be usable in figuring it out:
http://tasvideos.org/userfiles/info/11123334719078501
RT-55J, I will PM you and see if we can set up something, when you feel you have the time later.
Ok, so I found a pattern of punching and jumpkicking which increases the damage 50% compared to just crouching punches. Like the throwing animation, the punching animation can be cancelled by jumping.
- Press A for 8 frames (or 11, if a headbutt comes out) - 64 dmg
- Press B for 1 frame
- Press nothing for 1 frame
- Press vB for 9 frames - 32 dmg
This does 64+32=96 damage per 19 frames (or 22 frames).
The DPS is 303 (or 262).
I also noticed something very strange, where hits seem to come out of nowhere...
- Press A for 8 frames - 64 dgm
- Press B for 2 frames (slightly higher jump)
- Press nothing for 1 frame
- Press vB for 1 frame - 32 dmg
- Press nothing for 16 frames
- Press A for 8 frames, this is actually the start of the next cycle - the jumpkick will hit a second time for another 32 dmg, this doesn't happen if you don't press A exactly here for some reason.
While you are charging the punch in the next cycle, another hit of 32 dmg is added (?!) - the jumpkick seems to still be active somehow, even though you are on the ground in a different attack animation.
If this is consistent, it would mean 64+32+32+32 = 160 dmg per 28 frames, or 363 DPS.
Also, if the attack in next cycle is a headbutt, the next jump does not get Batman off the ground, but still cancels the attack animation (??!) - this only marginally affect the DPS. It makes it trickier to find a punch/charge shot pattern, though.
Requires further investigation...
It would be helpful to understand when different melee attacks are used, and if it can be affected somehow. It seems to be partly dependent on how far from the target you are, but waiting also affects it. Maybe a LUA melee attack predictor? :)
Joined: 4/17/2010
Posts: 11492
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
Once enemy is more than 114 pixels back from the screen, he gets scrolled out (>209 for helicopters from level 2).
Here's our messy script
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Big thanks for this feos! :) Looks like we are set to go then...
I tested some more on how to cancel melee attacks into a good pattern, and those strange extra hits I noticed before. Here's what I found:
- The 2 extra hits of 32 damage are from the jumpkick, which continues after you have landed due to a bug.
- You do not need a 2 frame jump to get them, a 1 frame jump (lowest possible) is enough.
- The the attack after you land from the jumpkick must be a headbutt. The other attacks do not trigger the two extra hits.
- You can press towards the target some time during the jumpkick to adjust your position to get a headbutt. This usually works, but not always.
The best pattern I found goes like this:
- charged shot
- canceled into jumpkick
- headbutt
- canceled into standing
- punch/kick
- canceled into jumpkick
- headbutt
- canceled into standing
- punch/kick
(repeat with charged shot)
This cycle lasts exactly 86 frames, which is the time it takes for the red and green weapons to reload. The damage is 448+whatever the charge shot is. DPS is between 357 and 480 depending on weapon and powerup level.
You can also skip the charged shot, and just go all out melee. The DPS is then 434. This means that it's better to skip the charged shot for some weapons.
Here's a movie which shows how fast you can attack with this pattern:
http://tasvideos.org/userfiles/info/11346644702737782
Joined: 4/17/2010
Posts: 11492
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
So you still need hit type prediction, right?
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
It probably would not be that helpful. It's easy enough to see what attack comes out by just testing.
What would be good though, is to figure out what causes different attacks to be used, so we know how to get the one we want. When making the movie I posted, for the most part I could get either punch or headbutt depending on my position. Once though, I always got kick, regardless of position, and waiting for a frame seemed to be the only way to change it.
Are some frames always one attack type and other frames different attack types depending on the distance to the enemy? That seems like a very strange way to program something, and there is probably a better explanation.