Posts for Derakon


Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Mmm, from what I remember of the current Metal Slug X TAS, running out of bombs is not a significant issue. The delay imposed by respawning and losing your weapon would be much more significant -- most of the fights are done with a flamethrower or shotgun, which I'm pretty sure have more per-shot power than grenades do. Stylistically, I think that the Metal Slug X continues were a poor choice. They may have been faster but they didn't look as good, especially since otherwise the run was "flawless". Of course, usually I'm of the opinion that using death looks bad unless it's being used to deathwarp, so I can't really claim to be impartial. EDIT: having read Upthorn'sMoozooh's posts in the other thread, it sounds like his contention is that the player has lost the game as soon as they are forced to use a continue. By that premise the TAS doesn't beat the game since it "cheated" partway through, buying its way forwards. Of course, the obvious improvement for that issue would be to only die twice instead of three times, thereby not running out of lives. There's also some question as to if the same rules apply to non-arcade games as to arcade games. What about Blaster Master?
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
I'm pretty sure the Monkey Claw does the same amount of damage as Shantae's hair whip, unfortunately. I heard the harpy weapon does good damage though; can the harpy fit through the tunnels in the tinkertank? Or if that speeds up the Risky fight at all it might be worth getting. Obviously this would be no help for burning daylight while waiting for the Zombie Caravan. I was unable to stunlock Risky when I tried; it seems like she has invincibility frames out the wazoo. Then again, I did also manage to hit her a few times with Shantae's charge->spin attack and it didn't seem to affect the length of the fight at all, so it may be you just have to hit Risky a set number of times. :\ A 100% run would have some hilariously fast bossfights, since the spinjump->kick animation can be spammed very quickly. In particular you could probably take out the Golem boss (labyrinth 2) in under a second once he becomes vulnerable...assuming you went out of your way to buy the upgrades beforehand, anyway.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
I'm sure that any efforts you made would be found very interesting by many members of this site, and you'd get recognition somehow even if the resulting movie were not published in the traditional manner.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Without the Monkey's Claw, you'd need to make 4 transformations per stone in the Tinkertank, or 16 transformations total. 1 to get to the stone, one to transform back (shorter since no dance is needed, granted), destroy the gear, transform back to monkey to get out, transform back, destroy the stone. Looks like a dance takes about 4s and reversion takes maybe 1.5s, so that's 5.5*8 = 44 seconds that could be saved if you had the Monkey's Claw. How much daylight do you need to burn? Getting gems seems obvious to do at this point too. EDIT: above is wrong since you can destroy two gears per pass, then destroy two stones. So that saves 2 transformation cycles; you're down to 5.5*6 = 33 seconds.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Well, you can detour to pick up the Monkey's Claw. It'd save you a bunch of transformations when taking out the tinkertank.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Most likely the choice of bonus stage is "random" -- that is, it depends on the state of the random number generator (RNG). This is a number that's stored in memory somewhere and gets updated when needed. Usually you'll get either one update per frame, or one update per random number request, or the two combined. Thus you may get different results simply by waiting (or by going faster). Or you may have to trigger a source of randomness to advance the RNG; how to do this depends on the game but could include things like letting an enemy move around, creating particle effects, causing a damage calculation to be perfomed, etc. If you know where things are in memory for your game, you can look up the RNG state and monitor it so you know when it's updated. You can also try forcing it to different values using cheats, to see what values will get you the result you want. This can save on trial and error. For example, if you know that a rare item only drops if the RNG is less than 256, then instead of trying to kill an enemy on every RNG state you get, you can just wait for the correct one. This was necessary for the Aria of Sorrow all-souls run.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
While there are plenty of valid opinions on when movies can be edited, your movie does need to be sufficient to trigger the full ending scene, even if the game has been won by this point.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
You can't always tack on level 2 to a modified level 1 run. The problem is that your new level 1 might change internal state (especially things like the state of the random number generator) which would cause the input you created for level 2 to no longer mesh with what the level is doing. That causes desynchs. Sometimes you can fix that with a little patching though, e.g. if the only change was that an enemy that you used to jump over now needs to be killed en-route instead. And sometimes things synch perfectly with no modifications needed. Depends on the game. Anyway, I think what you're looking for is called TAS Movie Editor. You can also accomplish this by using a hex editor to modify the movie file directly, if you really know what you're doing. (Also, I'm 6'5")
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Or that there's a well-publicized way to cheat the scoreboards.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
FractalFusion: I got that you needed to have a weapon active when the boss starts filling his health meter. Presumably only the mine is capable. I was wondering what was required to be able to do that. I'm guessing that normally going through a shutter takes control away from the player until the boss is done with his introduction and health charge-up, but there's some way to bypass that so you can maintain control and fire a weapon; the question is why can't this be done more often?
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
What are the requirements to perform the quick kill? It seems strange that it's only used twice. Still, looked good. What is it about the Mega Man series that leads to glitched-out runs?
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
I'd say it more opens the gates for difficulty hacks. Imagine a SotN hack where everything didn't die in 1 hit and you couldn't spam powerful attacks every which way, for example. Even if the hack incidentally also fixed a bunch of glitches it'd still be acceptable (assuming this hypothetical hack were well-made), though it certainly wouldn't obsolete the unpatched runs. I don't think a hypothetical Mario hack that fixed pipe glitches would be acceptable if that were all it did; the result would just be a Mario run without the use of entertaining glitches.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
So basically you're looking at something like this:
odds = .2
numX = 0
for i in [0, 900):
    if rand() < odds:
        numX++
    remainingSamples = 900 - i
    target = .2 * 900 - numX
    odds = target / remainingSamples
I think that should work. Each iteration, you figure out what odds you need so that by the end, 20% of your samples have come out X, based on how many X you've gotten so far and how many iterations you have left to go. EDIT: yeah, this looks like it works. Pretty consistently generates a 20% success rate, occasionally 1 below, never further from the target than that.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Thanks for the clean encode, MrEpic! I have to say that the highlight of the run for me was the tank riding a jumpjet, lobbing artillery shells on passing aircraft. That in mind, I suggest this for a screenshot: (Taken from 6:18 of the encode)
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Very nice. The AR34 segment in the hangar was probably my favorite part, with how you were rapid-firing one-shot-one-kill while turning in broad sweeps. Wonder why the Mauler didn't turn red.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
TL;DR nostalgia for the "OMG WTF" factor is causing people who have seen the previous run to think that the new run is less interesting, solely because they already know what to expect. If you had not seen the previous run, would you like the new run? That's the important question here, IMO. Obviously the new run cannot be as surprising as the previous run for us here.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
moozooh wrote:
I haven't watched it yet, but it looked tightly optimized, was fast paced and overall entertaining.
Wait, what?
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
This poor game...you can tell it's in trouble when the party members' battle sprites got replaced by barcodes. It'd be nice to have some idea of what exactly all that memory corruption accomplished. Clearly it's giving access to high-level abilities / spells somehow, as well as letting you skip some parts of the plot...and then later giving you an "I Win" button for fights, but details are welcome. The RNG representation was genius, by the way. In any event, very nice work!
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
There's nothing wrong with wanting a game to play differently than it does. What I'm trying to caution you against is suggesting that swapping mechanics around would create the game you want. Designing a game where you play as the X-Men "properly" would probably require a ground-up rules rewrite. Modern good game? Sadly I don't play all that many modern games. :) But here's what I can think of off the top of my head: * Diablo 2 has a Sacrifice skill for paladins that lets them take a percentage of their hitpoints in damage in exchange for greatly increasing their attack damage. It can be used to devastating effect if you're skilled, but given the way D2 encourages focusing on only a small selection of most skills, most players pick easier-to-use ones and ignore it. * Metroid Prime 3 has Hyper Mode, which temporarily amps up Samus's attacks but costs health (with the amount of health scaling with how much of the attacks you use / how long you let the mode run). * Stimpacks in Starcraft hurt the user in exchange for a combat boost. I don't think you'd get far if you suggested to skilled Starcraft players that they weren't worth using. As a general rule, entries on this page should be valid examples of this concept, though I can't say much as to if they're good games. WoW is mentioned though.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
So you're objecting to the decision to balance the game around rare use of special abilities (as a consequence of which, the cost of using abilities was made high), not to the decision to charge health for abilities. You're basing your view of what the game should be on how the characters fight in the comic books, with high power use; the game feels comparatively underwhelming because you aren't as powerful. The balance and mechanics of the game would work just fine if your characters were a group of random street thugs with no outside history à la Double Dragon, but since they've chosen to pull in known powerful characters from a specific franchise, they're obligated to try to make the fighting more like what those characters do in their ordinary setting. Is that about right? Note that this has nothing whatsoever to do with cooldown mechanics or paying health for abilities. If in Turtles in Time specials were free but had a cooldown of 1 minute, you'd still have the same complaint. On a side note, aren't the turtles' specials basically just "hit the enemies with our weapons in a slightly different fashion"? It's not like they have signature attacks, right? EDIT: clarified wording, accidentally replied instead of editing, deleted second post, fixed edit. Whee!
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
VirtualAlex wrote:
Where as, a game like Turtles in time didn't poorly. You hard ever used your ability. I can consistently beat the SNES version without ever using the specials.
I can consistently beat Mega Man 2 without ever using the special weapons (on "normal" difficulty, anyway, and of course ignoring bossfights where certain weapons are required). Does that mean that the cost of the specials was too much? Of course not. I'm not saying that Turtles in Time was well-designed; just that I'm getting the distinct impression that you're overestimating the cost of paying health to use an ability. Look at it this way: if the known cost of using the ability is greater than the estimated cost of not using the ability multiplied by the likelihood that your estimate is correct, then you should use the ability. If I'm 80% confident that I'm about to take a painful hit in the face which will cost twice as much as using the ability would, then using the ability will save me, on average, .6 times the cost of the ability. It's a net win. Of course, in actual gameplay you don't have time to do that kind of math, so it generally boils down to "Crap! I'm about to get hit! Use my special!" Unless the special costs a ton of health or the mooks have really pathetic attacks, this generally ends up breaking even. That weighting of enemy power vs. special power vs. cost of special is a game balance thing, not a game theory thing, though. If it turns out that Turtles in Time really does heavily penalize the use of specials, then that probably means that either the mooks are too weak or the special is too expensive. It doesn't mean that the concept of charging health for using a special is flawed.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Thanks for the encode, FerretFaucet! That definitely looked better. Ordinarily there'd be no question that the camhack encode would get published alongside the normal encode, but in this case the camhack actually changes the run slightly. I'd say go ahead and publish it but note the difference in the publication?
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
BoMF: ehh, maybe? The difference there being that you pay the "cooldown" charge before you use the ability. I feel like there's also an implicit assumption that you always want to fire charged shots if they're an option, which depending on the game may not be the case (e.g. charged shots might travel more slowly than uncharged shots). In a situation where you're firing charged shots as fast as possible, sure, the charging time acts as an effective cooldown timer, but otherwise...eeehh, it feels weird to me to call that a cooldown.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Hee hee, "loosey goosey". Haven't heard that one before.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
VirtualAlex wrote:
There certainly a difference between using a cooldown ability as it is in WoW or Mass Effect vs shooting a gun. If we follow the gun-recoil-is-cooldown precedent then everything has a cooldown. Punching, walking, shooting, jumping all have a cool down. Obviously this means the definition we are working with is broken.
No it doesn't, and I meant to mention earlier that IMO any game that institutes a firing rate other than "as fast as you can press the button" has cooldowns of some description. This definition may be a very general definition, but that doesn't mean it's broken. I've been trying to get you to nail down what exactly you're talking about because you've been throwing around terms that have established meanings and claiming they don't apply in situations where those established meanings say they would. FODA: your notes are interesting, though I'm not convinced they mean that "X is not a cooldown"; rather they mean that "during the cooldown from X, Y status is imposed on the player". What if you had a wrestling character whose special move was a flying tackle, and at the end of the move they had to get up before they could use it again? I suppose this is getting into the difference between a cooldown and a recovery, but functionally I view recoveries as subsets of cooldowns. This is a sufficiently fuzzy area that I wouldn't hold it against you if you disagreed with me. Going back to X-Men / Turtles in Time again, I'll grant I haven't played those games. However, I wouldn't be surprised in the least if changing those games so that special moves had cooldowns but no health cost would mean that most people would play the game as follows: 1) There's a new enemy! 2) Walk up to enemy, use special attack. 3) Dodge enemies until cooldown expires. 4) Repeat. Is this really more fun than the alternative? It's certainly a degenerate (i.e. dominating) strategy if your character is remotely capable of dodging attacks; certainly if you're fighting a boss (where it's generally easier to stay away from the only source of damage in the room if you don't plan on attacking) normal attacks just go right out the window. Much of the point of brawler games is that to defeat enemies, you have to get in close and personal with them -- there has to be the risk of getting hit to go with the reward of being able to attack. Special attacks are brawler games' "smart bombs" that circumvent that tradeoff; they must therefore have a different tradeoff. In shooters the tradeoff is that they have limited supply, but that doesn't really make sense in brawlers where the special attacks don't use up ammunition. The other straightforward options are health costs or delays, but delays have the degenerate-strategy problem. Or if you make the delay long enough that dodging while it counts down isn't feasible, then you end up with the same problem all over again: players complaining that they can't use their special moves as much as they'd like to. I won't claim to be a genius game designer, but I have a modicum of experience with the basic concepts. Millions of people play games and think "Argh, X mechanic is annoying me! Why can't they just change it to Y instead?" But they don't think Y through and realize how badly it would break the game as written. EDIT: holy cripes this got long.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.