Posts for Derakon


Experienced Forum User
Joined: 7/2/2007
Posts: 3960
I always thought that the "minimal" movie file only pressed buttons when they did some good, e.g. not holding down jump once you've passed the peak (or once you've held it down long enough to achieve maximal height), or not holding down after you've started a slide, etc (Obviously my examples aren't universal as there are situations where you'd want to do differently, depending on game mechanics and context). I know I saw a thread in one of the forums about a Rampage TAS, which made the observations that a) if you waited long enough in each level, you got taken to the next, and this was sufficient to beat the game, and b) you had infinite continues. The resulting movie file was the largest I've ever heard of (something like 90MB?) and also had the best compression ratio.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
While I was at work, the missed enemies in stage 1 started annoying me more and more...so when I got back, instead of carrying on with stage 2, I started over. Microstorage / YouTube This is a much better run, all told, than my previous effort. Which makes sense - the first time around, I was still figuring a lot of things out. And I'm by no means an expert now, but I'm also not a total newbie either, and that helps a lot. I've figured out how to branch a movie, I'm making regular backups (wiping out 1000 frames of work once was quite enough), and I'm thinking a little less like a traditional player. A few points: * Does this one start from a savestate? How would I tell, anyway? I started up the emulator, paused, did a hard reset, and then started the movie recording; my hope is that that will make for a "clean" movie. * Proper use of the subweapons is critical - they let you shoot where no other weapons will. I get good mileage out of every subweapon type except for F in this video, oddly enough. F is just too redundant with your normal weapons. I'll use it later. * I did have a point here on how the boss fight was a bit slower because I was using B instead of V, having concluded that I needed either B or L to get 100% kills because of the waves right before the boss (and L was slower than B - I checked). But let's hear it for doubting myself: I went back and cleared the last wave with V without missing any enemies, and improved my bossfight by 27 frames! V is ideal for bossfights because it fires 5 projectiles every other frame, and when they first appear they're practically stacked right on top of each other. B has a constant spread and L has a whole bunch of problems - slight spread, slow rate of fire, and the projectiles appear next to your ship instead of ahead of it. I'm thinking V is my bosskiller now, which is annoying because it makes killing waves much harder. EDIT: correction, the boss fight is some 33 frames slower in the new version, despite identical loadouts. However, it starts 60 frames earlier due to less lag. I'll redo the bossfight tomorrow. I'm not sure what went wrong here. * I stayed on speed level 3 (the starting speed) for most of the run, with a mad dash at speed level 5 (max) to grab the L weapon early on so I could 100%-kill some waves (level-2 V doesn't compare to level-1 L for killing tightly-packed waves) before downgrading again. I figure that later on, I'll be spending more time at max speed, which should let the TAS nicely escalate as I get deeper in. Alternatively, I'll have to stick at speed-5 for the rest of the run, in which case this section is just fooling people into thinking the game isn't all that fast. :) * I tried to be more aggressive and risk-taking. There are limits to what can be done when I need to fire projectiles as early as possible so they can kill part of a wave while I fly over to the other side of the screen. Still, I spend more time closer in in this run, and I try to kill more enemies from unexpected angles. * How close to submission-worthy do y'all think this is? Obviously it's a lot better than my previous attempt, but how much more does it need to improve? * Edit: how do I tell what my rerecord count is? Presumably it's somewhere in the movie file, but is there an easier way short of doing a hex dump of the file?
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Moozooh: Because I'm clueless when it comes to recording vids. I didn't see anything about recording from power-on in the FCEU help; how exactly does this work? I know it's possible, but my experimentation hasn't shown how to do it. I'm also going to need to record the reset at the start of the game so I can access Zanki mode. XKeeper: I'm definitely going to aim for 100% kills in the "real" run; right now I'm mainly just trying to identify potential problem spots and experiment with approaches to see what works, what doesn't, and what works but could be more entertaining. Finally, I'm switching weapons early on because I can without letting enemies go (obviously the use of F later in the movie was a mistake) and I want to show what every weapon does. Plus, switching weapons means that I can't keep using the same strategy over and over again - it forces some variety into the gameplay. As the gameplay heats up, I'll have to restrict which weapons I use, but even then I'll try to switch (probably between B and L for the most part). Unfortunately, max score would involve finding the optimum loadout and then sticking with that for the entire game, as you get a nontrivial score boost from taking the same powerups over and over again. You also get score bonuses for leaving the bomb attack charging and for absorbing bullets; I think actually your best approach, score-wise, would be to only use the secondary weapons to kill things, and to absorb every single death bullet with secondaries / the charged bomb. Every weak enemy is worth 100 points and every absorbed bullet is worth 100 points, and dead enemies spawn 4 bullets each (larger enemies spawn more, with bosses spawning a really ridiculous quantity). There's a commandline argument that supposedly removes the 8/row sprite limit; I'll have to see how the game looks with that turned on.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
I tried 100, 200, and 500; no dice. Though interestingly, with 100 and 200 the game played with almost no noise at all until about 20-30 seconds in, after which point the noise was back in full force. 500 just sounded crappy in general. I have to say I don't really know what the sound buffer is doing, which makes it hard to know what a good value would be. And yes, the number is milliseconds.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Even hard games can be conquered eventually. Hell, I know several people who only play Devil May Cry on the hardest difficulty (Dante Must Die) because everything else feels too easy. Ninja Gaiden, like DMC, also has the advantage of lending itself well to segmentation. I can't remember if NG's scores take time into account, but if they do, then all you have to do is find someone who's perfect-ranked the game on the hardest difficulty (and you know that someone's done that) and you'll have a speedrun.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
You run into similar problems with, say, DDR. I guess a tool-assisted DDR game would involve robots? That'd be an interesting project, actually - make a robot that can play DDR.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Stage 1 complete / YouTube Right now I'm just doing a quick pass through the entire game; this is definitely not submission-quality material here, but it's laying the groundwork for my second pass, which, I hope, will be. I'm not convinced that it's possible to kill every enemy - the second half of stage 1 has two enemies with lots of hitpoints, combined with those twin streams of enemies on opposite sides of the screen that Recca so dearly loves. However, I can definitely kill more than I have. The F primary weapon is nearly useless since it has such a slow rate of fire. H is worse, of course, as it only fires one weak projectile at a time. That means that, aside from demonstrating every weapon in the first half of stage 1, I'll be sticking to V, B, and L. I'll need to experiment with the bomb attack some, too; the big trick is waiting the 128 frames needed to charge it up - in the meantime I can only use subweapons, which are a pain to use because they don't seem to fire consistently and they flicker a lot. Primary weapons are always at least partially displayed (usually, one half of the bullets fired are displayed on any given frame), but secondaries show up something like every fourth frame. Anyway, if I can manage to charge up the bomb attack, it can take a lot of heat off me, destroying multiple waves while I can focus on another part of the screen. With your speed down to the second-slowest setting, you can jink back and forth to get the maxed-out L weapon to consistently hit a single spot. I used this technique on the second boss - I discovered it while trying to dodge some of the bullets he spews (which, I note, are not present on normal mode). That may make L my best boss-killer; the big question is how its power compares to its rate of fire, since B and V can be turbo-fired assuming there isn't too much lag. Annoyingly, the sheer quantity of death bullets created when a boss dies makes it basically impossible to play daredevil - there's no room between the bullets to do any dancing. I guess the developers decided to make things difficult for the sane players, who killed the boss from a distance, which in turn makes it impossible for the insane players to have a little fun. Oh, well.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Post subject: [OSX] Lots of audio noise
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
I'm getting a lot of sound distortion out of FCEU. Here's an example, with the following sound settings: -soundq 1 -soundrate 48000 -soundvol 100 -soundbufsize 24 http://www.youtube.com/watch?v=f0X3sBX5n20 Oddly enough, setting soundq to 0 (which should be low-quality sound emulation) sounds much better. Here's an alternate encoding with these settings: -soundq 0 -soundrate 44100 -soundvol 50 -soundbufsize 52 http://www.youtube.com/watch?v=m3eJCrIUJGI However, there's still a non-trivial amount of static. This isn't a huge deal for me when making TASes, as with frame advance there's no sound anyway. And it's not affecting sync (or at least, other people are able to watch my WIPs in .fcm form). But it is annoying. Any ideas what could be wrong?
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Pause and Frame Advance were mapped to '\' and right-control on my default compile on OSX.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Yep, I got that figured out; frame advance has been moved to keypad zero, where it belongs. :) There's a few more things to hack in - input display's a good one, and I also want to get the frame counter turned on. But I have enough to start TASing now.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Okay, instead of making a third edit to my previous post, I'm just going to make a new one. Here's a first-pass WIP, up to the first boss, on Zanki mode. I let even more enemies live this time; I think I need to switch to the F weapon to be able to get the ones I missed early on, and for the last wave, just plan things out better. Having to dodge all those bullets makes pathfinding tricky. Finally, I wasn't able to show off the B subweapon this time. But there'll be a much better opportunity for that in the second part of level 2, when the level scrolls backwards. On the plus side, the boss died much faster. http://dehacked.2y.net/microstorage.php/info/233093959/RECCA.5.fcm This is looking like one of those TASes that is mentally exhausting to watch - there's just so much going on in every frame. Edit: uploaded to YouTube: http://www.youtube.com/watch?v=f0X3sBX5n20 For some reason, my sound's really messed up. Not a problem when I'm using frame advance, but it makes playback unpleasant.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Apologies; my 'Net connection went down for a bit earlier, apparently resetting my IP address in the process. I've updated my account with DynDNS, so for now the file is accessible again. I've also uploaded it here: http://dehacked.2y.net/microstorage.php/info/967098138/RECCA.1.fcm Thanks for the link with the game info; a lot of that I knew already (and the scoring information isn't particularly relevant since I'm not aiming for score), but the sprite limit for the weapons is very useful to know. Of course, the boss strategies are written with a non-TASer in mind. :) Edit: stylistically, I prefer to shoot enemies from further off, for three reasons: 1) I can shoot before they show up on the screen, thereby heightening anticipation 2) I can string up combos (e.g. killing six enemies with a single laser shot) 3) I can show off what the different weapons do better I know that this incurs extra lag, but the game's so fast anyway that I don't think it seriously detracts from the performance. It is of course slower, and I'm aware that most shmup TASes are all about lag reduction because that's pretty much the only way to make it into a "speed" run...but in this case I think it'd make for a less entertaining run in the end if I just killed everything right in its face as soon as it appeared. I'll check out Zanki mode, though. Suicide bullets are always fun. :) Edit, again: holy cow, suicide bullets. Suicide bullets that are only visible every fourth frame. Recca may not lag much, but it flickers horribly. This completely changes the nature of the run, of course; now my job is to play daredevil. Well, more than I was originally.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
I finally got around to compiling FCEU on my Mac so I could try some TASing. And, after about an hour and a half of work (not counting the time I spent figuring out how to use FCEU in general), I have this to show. Two hours for about 75 seconds worth of footage? Sounds about right. :) This is my first-ever TAS, but I think it's pretty awesome. Y'all're welcome to disagree, of course. I'd love to hear any feedback you have. Here's the things I've noticed that need improvement: * I don't think I start the game on the first possible frame * I let some enemies go right before the boss * There's a few missed shots (some of these, like stray shots when using the R subweapon, are unavoidable) * I used the wrong weapon for the boss; B probably would have been better You can turbo the fire button with many of the weapons (fully-upgraded V is a notable exception). The guide to doing memory watch is written apparently with the Windows (GUI'd) version of FCEU in mind; I'm working off the commandline here, so I haven't the faintest clue how to go about determining, say, what the boss's HP are. While I'm happy that the boss dies so quickly, it's pretty much certain he could die even faster. I watched bliltzag's movie, and he's a lot more efficient about killing enemies than I am, but aside from nailing those last two waves before the boss, it doesn't seem to make much difference, and I like my approach better (especially making use of the subweapons). His bossfight is also slower; I think the laser weapon worked against him as its firing point is a bit offset from the center of the ship, making it harder to score hits.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
I managed to compile it on my computer (Intel iMac), and while it was pretty straightforward for this kind of task, there's probably a ton of dependencies I had already in-place (I had to update my install of Lua, though). Also I had to comment out an include of malloc.h in one of the files. Fortunately stdlib.h has me covered. :) So the upshot is, if you don't already know how to program, you probably won't have much luck compiling a copy. Moreover, I don't think that the copy I compiled is particularly portable. Right now I'm trying to figure out where the controls are defined so I can change 'em. The source code is not particularly well-commented...
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
I just re-watched this; it's a great TAS. One question, though - why grab the key after killing Thunderbird? There's no locked door to unlock. Will the screen not scroll forward until you get the key?
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Kejardon wrote:
pilif wrote:
The mockball is based on a glitch
I demand proof of this.
Ultimately it's difficult to say what's a glitch and what's simply an oversight (see the description of Biker Mice From Mars, for example). I don't think you can reasonably argue that the programmers intended for you to be able to roll at high speed in morphball form, however, given that your speed is sharply capped unless you perform a very precise set of motions (which also include negating the normal bounce from morphball form).
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
I'm reading it, but I'm a sucker for reading other peoples' conversations. ;)
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
The Great Morphologous wrote:
This would make the eighth different Castlevania run for the GBA, outside of the obsoleted ones.
While I'm fine with people voting no because they didn't like the run, I don't really get this logic. There's three Castlevania games for the GBA. Eight runs isn't that excessive. It's a bit like saying "This is the sixth Mega Man run for the NES, outside of the obsoleted ones." Edit: eight is not six. We learned this in the math classes I took at college.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Having watched the AVI - is there some reason you couldn't glitch out of the boss refights the same way you skipped minibosses in the main stages?
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Once you figure the weapons out, actually, it's not too bad. Bosses get stunned when hit by the weapons they're weak against, which makes it easy to catch them in loops. And the weapon cycle is easier to figure out since you're constrained in which bosses you can fight. Having beaten Cold Man, you know that one of Burner Man or Pirate Man is weak against his weapon...hm... Mind you, done by a human player it'd probably take at the very least twice as long to get through the game. It's certainly nowhere near the level of Megaman 7 (Wily...*shakes fist*), let alone trying to do, say, MM3 without E-tanks (Quick Man Doc Bot...*shakes fist*).
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
I'd think generally you want to postpone leveling as much as possible, to minimize the number of fights you have to get into to get the levels you need. It's my suspicion that you get a better XP/time ratio the later you are in the game, regardless of your current power level (though, assuming you are capable of winning the fights, of course).
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
From what I remember of the asteroids levels, even if it's hard it's not gonna look very entertaining, so forget difficulty as a rubrick for entertainment. Just try to be funny/amusing without losing time.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Doesn't the space-time beam cause massive lag? That's why it wouldn't be faster in a realtime run (though since lag frames aren't counted on the in-game clock, it could well be "faster" for an in-game clock run).
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Honestly I think it's mainly a matter of the high-jump boots and space jump. They probably take more time to get than they save, sure, but you can quickly forget the time spent getting them, while the game immediately feels faster as soon as they're obtained. Samus's vertical jump speed is something like twice as fast with the high-jump boots on as it is normally, and the space jump allows you to do nifty things like speed-jumping through the first Crateria cave room that you can't quite do otherwise. In other words, while CPadolf's run may have a lower average velocity, the median velocity is higher, and we tend to base our perception of speed on the latter rather than the former.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
They discussed that already - by catching the wand low (or very high), they can reduce the amount of time that Mario spends falling.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.