Former player
Joined: 8/31/2009
Posts: 236
For fun and something to channel some creativity into, I made a full game run of Dig Dug. =D It completes Rounds 1 through 12 (where 13 and beyond loop) in 03:31.73; which is about 18ish seconds per Round on average. While the physics of moving, attacking, etc are of frame-perfect speed, I'm uncertain if manipulating luck or redoing routes could make it faster. Thus, I'm just putting it on my Youtube rather than submitting. However, if the game seems worthy of being published and my run looks fine (I think it looks pretty good anyway), I'll consider submitting it. Anyway, a few things I did to make it. Normally when attacking an enemy, you have to either hold A or B, or rapidly tap them. Since you can only tap them so fast to the point where it would just turn into holding, I rapidly alternate between the two which allows maximum killing speed. I also used rocks in a few stages, though I'm not sure if the time saved in killing multiple enemies is still faster, since killing the last enemy with a rock causes a bit of a delay at the end. I also at one point show off how to have the walking music go when staying in place (by holding opposite directions simultaneously). So, what do you guys think?
Player (208)
Joined: 7/7/2006
Posts: 798
Location: US
Pretty cool. It's quite interesting for the first few levels and then the novelty wears off a bit, but it is definitely cool to see it TASed. If it was optimized well enough (by your judgment), I think it would have a pretty decent shot at publication. It's short and interesting.
Skilled player (1885)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
I have a Dig Dug WIP that beats the first few levels in, on average, about 10 seconds: .fcm. I haven't timed it against yours, so it might be slower on some levels, but overall I think it's a bit faster. I think that manipulating the monsters to team up on you is the key to beating levels fast. But yeah, I think a Dig Dug run would be great to watch, and I think it makes a nice game for competition!
Former player
Joined: 8/31/2009
Posts: 236
That's why I'm not publishing it; I'm certain it could be faster in ways, and that sort of contradicts the standards here. Though I think a fully-optimized TAS of this game would be interesting to see. If you're interested in re-working your TAS, I wouldn't mind helping out. I have more treats to come (not Dig Dug though). ;D EDIT: I'm also interested in how a High Score run would look.
Skilled player (1885)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
I probably won't have any time to TAS for the foreseeable future, but if anyone else who reads this starts getting interested in Dig Dug TASing, I'll too help out as much as I can. I think that the best way to optimize a Dig Dug run is to make it a team effort (or a competition), there are so many strategies available on each level that it will probably take more than one person to find the fastest one.
Skilled player (1637)
Joined: 11/15/2004
Posts: 2202
Location: Killjoy
I think if a Dig Dug run is going to be publishable, it should aim for entertainment, i.e. find a way to kill all enemies in the final round with a single rock... maybe make some words in the sand? Get a conga line going?
Sage advice from a friend of Jim: So put your tinfoil hat back in the closet, open your eyes to the truth, and realize that the government is in fact causing austismal cancer with it's 9/11 fluoride vaccinations of your water supply.
Player (70)
Joined: 8/24/2004
Posts: 2562
Location: Sweden
I love this game, so please make more of it. :) This was really interesting.
Former player
Joined: 8/31/2009
Posts: 236
A couple of notes: This is one of those games where input doesn't get checked unless a button is held for 2 Frames or more (similar to Punch-Out). Also, there is no lag, except between levels (1 frame), and at the start, but this is a weird game where if you press Start on the first 2 frames, and then the 5th and 6th, you can get right into the game faster and skip lag. If this was done in a competitive way, I'd recommend basing speed off of when the TAS gets the frame of lag between levels since while usage of rocks may allow input to stop sooner, the level may end slower than if finished otherwise (due to the rock's delay in killing enemies).
Active player (405)
Joined: 3/22/2006
Posts: 708
I can't help thinking the fastest way to beat each level would be to manipulate all the enemies into a line and then drop a boulder on them all at once. Or better yet, do this to all but one enemy and then burst the other one while this is being set in motion.
Skilled player (1885)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
Heisanevilgenius wrote:
I can't help thinking the fastest way to beat each level would be to manipulate all the enemies into a line and then drop a boulder on them all at once. Or better yet, do this to all but one enemy and then burst the other one while this is being set in motion.
As I see it, there are three problems with this, 1) At the start of the level, the enemies must be close to each other, otherwise it will take too long to get them grouped up close, and 2) if you do get them close together, there has to be a boulder close by, and 3) the drop animation takes quite a few frames before it actually drops. I'd like to see someone prove me wrong on this by beating a level really fast with this strategy, because it would be really fun and awesome if it worked! EDIT: Timers $0037 for seconds and $0036 for frames can be used to time levels.
Former player
Joined: 8/31/2009
Posts: 236
I generally like to keep my projects a secret/surprise, but this is juicy and I'm too impatient. =P I'm working on a fully-optimal run right now and hoping to get it published. I finished the first round and saved 1 and a quarter second exactly so far. =) This should be done sometime soon.
Skilled player (1885)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
Good luck, I'm looking forward to it!
Former player
Joined: 8/31/2009
Posts: 236
Update: Round 11 finished with 1697 frames saved in total. Looks like my the rounds up to my test run will break under 3 minutes. =D However, I forgot to finish rounds 13-16. Getting under 4 minutes may just barely be possible; I'll have to see how the levels play out.
Former player
Joined: 8/31/2009
Posts: 236
I finished Round 12, with a total of 10912 frames (3 minutes, 1.87 seconds), beating my test run significantly, which was 12704 frames (3 minutes, 31.73 seconds). My goal time is to finish the last 4 levels and getting under 4 minutes, which leaves me with 3487 frames. I'm not too sure if it's possible, but I'll continue doing what I have. Depending on how busy I am this week, this should be done pretty soon.
Skilled player (1885)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
Have you made sure that all levels are faster than in my WIP too?
Former player
Joined: 8/31/2009
Posts: 236
Ooo, I'll take a closer look at that, but I'm pretty sure my routes are optimal. I'm also re-checking all of them once I get the last 4 finished. I'll take a peak at yours later tonight.
Former player
Joined: 8/31/2009
Posts: 236
Seems that mine are mostly faster, but I think your Round 1 and possibly Round 2 are faster. The others are all approximately the same, or slower. Thanks for that Randil. =)
Former player
Joined: 8/31/2009
Posts: 236
Well, I've come to a roadblock. X_X After inputting Randil's Round 1, it caused a desync for the rest of my run and I can't seem to get around it. After a lot of testing, I found that there was no luck manipulation as the same enemies would always turn into ghosts at the same times, and the monsters would go in the same directions. However, it turns out finishing levels at certain times causes the dragon critters to use their fire attack at different times, and finishing levels at different times compared to when you killed the 2nd last enemy can make the "speed up" tune end at different times. To make a fully-optimal run, losing frames intentionally may be faster to cause following levels to work in certain ways. And quite frankly, this killed my interest in finishing this TAS. However, for those that are still interested, I've uploaded my new run to my Youtube, which is still ~30 seconds faster than my original run. Some levels can still be faster, and even my perfectly optimal ones may be faster if the dragons use the fire attack at different times. This also, like my first run, ends at Round 12. I've also uploaded my FM2 file for anyone that may be interested in doing their own run. It's been fun making the TAS, but I'm going to have to pass it on now. =) Youtube video Microstorage file
Skilled player (1885)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
t3h Icy wrote:
Well, I've come to a roadblock. X_X After inputting Randil's Round 1, it caused a desync for the rest of my run and I can't seem to get around it. After a lot of testing, I found that there was no luck manipulation as the same enemies would always turn into ghosts at the same times, and the monsters would go in the same directions. However, it turns out finishing levels at certain times causes the dragon critters to use their fire attack at different times, and finishing levels at different times compared to when you killed the 2nd last enemy can make the "speed up" tune end at different times. To make a fully-optimal run, losing frames intentionally may be faster to cause following levels to work in certain ways. And quite frankly, this killed my interest in finishing this TAS.
I didn't know about that game quirk. Quite frankly, that sucks, I hate TASing games that work like that... I often wonder why game developers sometimes do that. Too bad you won't be finishing this. I'll look at your movie later today, I'm still interested in seeing what you've done.
Former player
Joined: 8/31/2009
Posts: 236
Realistically, only a few routes would need changing, but the thing is, what if doing a sub-optimal route for Round 4, causes monsters in Round 5 to work certain ways so the net-gain of saving frames is better? I really don't want to go through all that; it's not fun. However, I'm not "done" TASing Dig Dug. I'm still going to do a few things I wanted to in it, but nothing that's heading towards publication. I'm going to see what I can do with rocks and use the level warp code to beat some levels when monsters are at twice the speed, for interest. Still, I'm sure parts of the 2nd test run can be used for a publishable TAS of the game; I spent some time getting certain routes to work, but again, levels prior to particular ones may affect how following ones play out. I hate luck manipulation sometimes.
Joined: 7/2/2007
Posts: 3960
Have you figured out what system the dragons use to decide to breathe? It's assuredly deterministic in some fashion (computers being what they are), and I don't think that the pseudo-randomness is going to be particularly complicated in such a simple game. I wouldn't be surprised if the dragons simply check every N frames if they should breathe -- then you'd get different timing depending on which frame you entered the level, but would be able to predict how that would affect the level's play.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Former player
Joined: 8/31/2009
Posts: 236
Well you have to figure out when a dragon will breathe fire for each dragon. Suppose that there's four dragons and each have three possible times when they use fire (I'm not sure how many each actually does) and one time when they won't, that's already 256 different possibilities, all to save a few frames. It may not necessarily be difficult, especially earlier levels, but it saps the fun out of TASing the game.