Posts for Derakon


Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Sprite ejection is a fundamental part of having solid terrain in a game. The way terrain usually works is that the sprite embeds itself in the wall (when its velocity is added to its position) and then is ejected from it before drawing ever occurs. This gives the appearance of the sprite having stopped bang on the terrain, even though that's not what "really" happened. In the ideal case the sprite would be ejected along the reverse of its velocity vector, but sometimes it's ejected along the shortest path -- which is how you can get e.g. horizontal boosts in some games by clipping the back corners of floating platforms. Zipping is different -- it's the game trying to gracefully handle an error condition. Zipping usually occurs when the game tries to do its usual ejection, but that ends up embedding the sprite in a different terrain tile, which would eject the sprite back in the first direction again -- an infinite loop. So instead the game applies some arbitrary velocity vector (and optionally turns off terrain intersection for a bit) to try to get the sprite out of the terrain entirely. The two are qualitatively different and I have no problem with a run that uses the former but not the latter. That said, I haven't watched this run yet and thus can't vote.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Here's the top 50 songs by unique game, from the same listing I used for the previous filtered results. Unfortunately this only does things by track number, not track title, so I don't know that it's especially useful.
# 1: Megaman II, track #11 # 2: Castlevania II - Simon's Quest, track #2 # 3: Silver Surfer, track #1 # 4: Megaman III, track #1 # 5: Duck Tales, track #7 # 6: Castlevania III - Dracula's Curse, track #9 # 7: Akumajou Densetsu, track #1 # 8: Batman, track #1 # 9: Legend of Zelda, The, track #1 # 10: Shatterhand, track #1 # 11: Double Dragon, track #3 # 12: Bionic Commando, track #5 # 13: Solstice - The Quest for the Staff of Demnos, track #6 # 14: Journey to Silius, track #6 # 15: Ninja Gaiden, track #15 # 16: Metroid, track #1 # 17: Zelda II - The Adventure of Link, track #1 # 18: Super Mario Bros. 2 (U), track #3 # 19: Mouryou Senki Madara, track #2 # 20: Teenage Mutant Ninja Turtles, track #1 # 21: Teenage Mutant Ninja Turtles II - The Arcade Game, track #117 # 22: Super Dodge Ball, track #10 # 23: Blaster Master, track #2 # 24: Shadow of the Ninja, track #7 # 25: Ninja Gaiden II - The Dark Sword of Chaos, track #1 # 26: Castlevania, track #4 # 27: Contra, track #6 # 28: Gauntlet, track #5 # 29: Adventures of Bayou Billy, The, track #2 # 30: Mr. Gimmick, track #2 # 31: Megaman V, track #9 # 32: Super C, track #1 # 33: Gremlins 2 - The New Batch, track #3 # 34: Megaman VI, track #4 # 35: Smurfs, The, track #1 # 36: Double Dragon III - The Sacred Stones, track #2 # 37: Dragon Warrior III, track #26 # 38: Overlord, track #1 # 39: Hero Quest, track #1 # 40: Rollergames, track #7 # 41: Contra Force, track #4 # 42: Goonies II, The, track #3 # 43: Bad Dudes, track #3 # 44: Crisis Force, track #1 # 45: Jackal, track #3 # 46: Double Dragon II - The Revenge, track #17 # 47: Kid Icarus, track #2 # 48: Mitsume ga Tooru, track #6 # 49: Toukon Club, track #2 # 50: Ferrari - Grand Prix Challenge, track #1
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
I threw together a quick Python script to go through the result list and filter out popular games (based on a hardcoded exclusion list, not by measuring how many times the game shows up, since that would be moderately difficult). /tmp/t.txt is the contents of this page, minus the ranking numbers (achieved by doing :%s/\d*\s*// in vim).
Language: python

verboten = ['castlevania', 'megaman', 'akumajou', 'batman', 'silius', 'shatterhand', 'zelda', 'ninja gaiden', 'metroid', 'mario', 'ninja turtles', 'contra', 'bionic commando', 'double dragon'] lines = open('/tmp/t.txt', 'r').readlines() lines.reverse() count = 0 while count < 20: item = lines.pop() temp = item.lower() isAllowed = True for forbidden in verboten: if forbidden in temp: isAllowed = False break if isAllowed: print "%3d %s" % (count + 1, item), count += 1
And here's the resulting top 20:
# 1: Silver Surfer, track #1 # 2: Duck Tales, track #7 # 3: Solstice - The Quest for the Staff of Demnos, track #6 # 4: Mouryou Senki Madara, track #2 # 5: Super Dodge Ball, track #10 # 6: Blaster Master, track #2 # 7: Shadow of the Ninja, track #7 # 8: Gauntlet, track #5 # 9: Adventures of Bayou Billy, The, track #2 # 10: Mr. Gimmick, track #2 # 11: Shadow of the Ninja, track #11 # 12: Blaster Master, track #4 # 13: Shadow of the Ninja, track #4 # 14: Super C, track #1 # 15: Gremlins 2 - The New Batch, track #3 # 16: Smurfs, The, track #1 # 17: Dragon Warrior III, track #26 # 18: Overlord, track #1 # 19: Hero Quest, track #1 # 20: Rollergames, track #7
I note that the #20 entry on this list was #116 in the original ratings -- in other words, the 14 games or game series in the exclusion list managed to fill in almost 100 songs in the top 116.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Awesome. Shouldn't be too hard to make a "no Megaman, Castlevania, Metroid, etc." filter. :)
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
juef: given that you have all of the ranking information for the previous project, would it be possible to generate a new list that excludes specific games? I do plan to try using the rating page myself at some point, but that'll take a long time...
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Good idea. It'd be interesting to repeat this experiment, excluding all games who managed to get a song (or more than 2 songs, or whatever) into the list the first time around. :)
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
And the latest 5 tracks (#15-#11) are all Megaman or Castlevania tunes. Oh well. I'm with DarkKobold: I was hoping to be introduced to a bunch of tunes I'd not heard before that were nonetheless awesome. Instead I'm hearing a bunch of familiar and merely good tunes.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Nice work! It'd be nice if there were some description of the new techniques displayed in this run. For example, apparently firing charged shots lets you jump again? But anyway, clear yes vote.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
The description still says "This single player attempt uses warps" (emphasis mine). That should probably be fixed.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
I recommend you post your run in this thread before submitting, so people can look it over and give feedback. Good luck!
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
mklip2001 wrote:
Derakon: If you grab a fruit when you have full health, it can still slow you down, because the timer which decides when to decrease your health resets. So I believe that grabbing a fruit at full health in 2-1 still loses time, even if it's not as much time as when health is not full.
Understood, but is more time lost from the bonus counter than is gained from not slowing down to avoid the fruit?
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Brandon wrote:
It's clear that this run beats everything pretty hard, but that doesn't mean it should be the only branch. I think there should be three branches: 2p warps, 2p warpless, 1p warpless. The only purpose of warps is to show the fastest possible time that can beat a game. Knowing the record of a 1p warped game is fairly useless, but both 1p and 2p should have warpless runs. I think the logic from SMB and the Warpless Walkathon applies here well.
There should be an "any%" run which uses whichever of 1p or 2p is fastest, and a "complete" run which would be 2p for preference. That's the way these things generally go. If the 1p warpless run is interestingly different from the 2p warpless then it can of course stay too, but it's not a self-evident category IMO.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Bisqwit wrote:
Bubbler is cool, but it requires some backtracking to acquire it in the first place, and secondly, it's not so easy to define which weapons can or can not be used in addition to Bubbler. "Before you acquire Bubbler, use anything at your disposal, but once you get Bubbler, use it and only it" is rather arbitrary.
Presumably, until you get Bubbler you have to use the Polar Star only, and possibly also make it a pacifist run up to that point. Still feels weird though.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
I don't think Warp was saying he thought you were cheating, just that right now it's just your word and video providing the proof. Just like we generally don't assume a given scientist is making data up for their publications, but we do verify their results, just in case... Personally I think it's awesome. Thanks for making it! I do have to wonder if any other N64 games are as accurately emulated as SM64 is that this would work for them, though.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
This is a pretty dull game. Lots of Run Right For Justice, only really broken up by Swim Right For Justice which really isn't an improvement. Is the purpose of avoiding fruit solely to try to keep your lifebar low so the bonus tally takes less time? If so, there are times when you slow down to avoid fruit even though you've just taken other fruit (thus your lifebar is maxed out). For example level 2-1. For that matter, you often slow down to avoid collecting weapons (c.f. walking under a boomerang in 2-2). Why? In 5-3 you run into a wall before jumping, thus losing your horizontal speed. Is that really necessary to avoid the fruit?
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Well, that was...different. Nice to see a new level of disrespect towards how the game's supposed to be played. Great work, guys!
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Looks good. :) Any idea how much of that improvement is from improved precision vs. from skipping powerups?
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Well, if nothing else, it acknowledges the fact that nostalgia is having an effect on the rankings, which should be a sop to all the "but why isn't my favorite game ranked higher?" complaints. :)
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Some of this is of course going to be cultural. I don't think it's a coincidence that the systems that used arpeggios a lot were most popular in the countries where a lot of electronica/trance/etc. music originated. The Commodore 64 was huge in Europe for years after it had stopped competing in America, let alone Japan -- so you're going to see European culture more dominantly in C64 games than in NES games, and culture includes music.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
650,000 customers is a lot of people. You can bet it's worth the effort to try to retain even a fraction of that many if they're threatening to leave. Why do you think Bank of America backed down from their proposed monthly debit card fee? Sure, 650000 is only about .2% of the population of the USA...but in absolute terms there's probably billions of dollars of potential revenue there.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Kirby games are so much more entertaining when they aren't spamming Wheel everywhere. Thanks for the link!
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
See the Mere exposure effect for why bad songs from popular games are rated highly. People are familiar with the games because they played them a lot, so they tend to rank the songs in those games higher than they would if the songs didn't have that association.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
I can't imagine what could have ever given you that idea.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
I'll just leave this here.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Thanks for the fix, Juef! :)
Pyrel - an open-source rewrite of the Angband roguelike game in Python.