Posts for Tub


Tub
Experienced Forum User
Joined: 6/25/2005
Posts: 1377
There are a couple of minor flaws, but the result is still awesome! I love it!
m00
Tub
Experienced Forum User
Joined: 6/25/2005
Posts: 1377
Do you have a link to sda's rules? I couldn't find the respective thread, and they're not mentioned on the game page either. Anyway, I don't think RBA, item duplication and other inventory-affecting glitches should be used in runs that aim for specific amounts of items collected (low% or 100%). That reduces the amount of special rules needed by half and makes for a run that actually achieves it's goal instead of bending it. Other than that, I think the list is fine because it's consistent with the 100% definition - everything you'd expect the player to get in a 100% run counts against you in low% (items, songs, hearts, ..), while anything not needed for a 100% does not (ammo, rupees, multiple shields, ..). The only special case being upgradeable items like silver scale and hookshot which only count when actually picked up.
m00
Tub
Experienced Forum User
Joined: 6/25/2005
Posts: 1377
I wondered about that a while ago, but figured it'd already be implemented if any of you "real" TASers considered it useful *shrug* how about naming the modes: Read-Only Overwrite Change: Add Change: Invert ? having separate modes for each controller may be useful as well?
m00
Tub
Experienced Forum User
Joined: 6/25/2005
Posts: 1377
There are three versions to choose from: PSX: + original version DS: + map + no more door transition animations +/- skippable cutscenes (depending on your taste) - ugly gfx GC (REmake) + best gfx + extended areas and more things to do - no emulator available yet anything I missed?
m00
Tub
Experienced Forum User
Joined: 6/25/2005
Posts: 1377
So the scale is only needed to get from ZD to LH and back? As it isn't needed from ZD to LH, wouldn't it make sense to try the other way without a scale before deciding the route?
m00
Tub
Experienced Forum User
Joined: 6/25/2005
Posts: 1377
I'd argue that restricting "out of room travel" is way less arbitrary than banning a specific item. ALttP didn't restrict up+down, the unglitched run just didn't use it to travel between unconnected rooms. Castlevania HoD luckily didn't ban the whip in the unglitched maxim version, just the Wall-sinking to travel outside of the rooms. So there's precedent and specifying the intent rather than the tool will not force us to re-evaluate these rules once Kejardon figures out how to blow up zebes with a power suit, an old bubble gum and a piece of yarn.
m00
Tub
Experienced Forum User
Joined: 6/25/2005
Posts: 1377
I've always argued that a 100% shouldn't use any game-breaking glitches. But I don't think the X-ray is the problem, neither is the X-ray standup glitch. And I'd argue that the three skips presented here are different kind of glitches altogether. To skip the Baby Metroid and Mother Brain. Samus has to leave the boundaries of the level. Those tricks rely on getting Samus into areas where no level data is defined. Instead, random memory areas will be treated as level data, hoping that some of those memory values look like a door. With the MB skip, you're even going going out of your way to manipulate those memory locations to your liking. So why is that bad? Because it doesn't make sense from Samus' point of view. Granted, going through walls doesn't make much sense either, but at least that's a consistent feature of the game world. Going into random memory locations is not - those memory locations change when samus enters the room through a different door, goes through a different set of door transitions, saves&reloads or possibly even while she's just shooting stuff. From her point of view, that's essentially random. Why is she saving before Mother Brain? To pray to an unknown god to spawn a door in the ceiling? Suddenly it isn't samus who's doing the collecting any more, it's some outside influence. It's akin to breaking the fourth wall. It's similar in spirit to what Radix called "mysterious teleportation". Hence: traveling outside of level data is bad, hmkay? On the other hand, X-ray can be used to simply travel through solid blocks. I think that's fine, because traveling through solid blocks has a long history in SM, even in the 100% runs. Examples: entering the spring ball room backwards, reaching botwoon w/o SB, exiting the charge beam room, getting missile&super missile in the large maridia room, ascending the LN elevators, ... even the old way of getting the spore spawn missile embedded samus into a solid block. Should we disallow traveling through solid blocks based on the means to do so? I don't think that's a good idea. Crouch-jumping, grappling hook, X-ray - anything's fine with me, as long as samus stays within the level. So, long story short, I'd allow using the X-ray, but not traveling outside of the level data. Why did I even bother writing that? Because I think entering the WS through the exit just looks too cool to pass. ;) It's just a minor detour, doesn't skip anything important, doesn't break the game, only uses a door that has been programmed into the game, so it's fine with me. counter-arguments?
m00
Tub
Experienced Forum User
Joined: 6/25/2005
Posts: 1377
Things like "last post" dates and read notifications can get out of sync. While the former should fix itself over time, the latter can be disastrous. I've had a small personal board where every user saw new posts in a certain subforum every time, despite there being none. That was phpBB3 though, so I don't know how much of that applies. If you wish to pry the whole SQL updates from the mangled bowels of the phpBB source, that'd work too. I haven't looked at that particular code, but knowing phpBB it'll be a few hundred barely commented lines operating on an undocumented database structure ;)
m00
Tub
Experienced Forum User
Joined: 6/25/2005
Posts: 1377
Nach wrote:
write some SQL to transfer all the existing threads where they need to go.
beware of phpbb. IIRC just changing a thread's forumid can cause weird side effects. Using the moderation functions is a lot safer.
m00
Tub
Experienced Forum User
Joined: 6/25/2005
Posts: 1377
Besides technical matters (broken installations, computer exploded, no way to cleanly uninstall etc.. I've had games I had to install more than 5 times on different systems and windows versions until they kinda worked or were returned.), there are larger things at stake here. DRM and activation means: in 5 to 10 years, I cannot play the game any more. That's fine with cheap play-once-and-forget titles, but why would I play those? I want to buy good games, and I often reinstall old games just out of nostalgia. I installed the Star Wars Racer a couple of days ago, still got diablo 1 and 2 installed, same for quake 3. All of them around 10 years old. Not to mention all those emulator ROMs.. Now would I really want all those games to stop working because the vendor decided to shutdown the activation servers five years ago? If activation becomes a de facto standard, do you think sites like tasvideos will still exist 10 to 15 years from now? I couldn't care less about activation now, but I know I will in the future. That's why I don't buy such games, because that's the most powerful instrument given to us customers: the choice not to buy things we don't like. It's also against the law (at least in germany). Customers have the right to re-sell pretty much everything they bought for personal purposes. You cannot buy large quantities and re-sell them for profit, buy you are allowed to re-sell used items you do not need any more. No amount of "Not for resale"-stickers on any product can void that right. And now there's software requiring activation, using technical measures to stop us from exercising our rights. Same with DRM and copy protection (as private copies are still legal here). If we willingly forfeit our rights because we don't really care, we shouldn't be surprised if they're gone someday. That may seem a harsh reaction just because of some activation in computer games, but somewhere the line needs to be drawn. Technically disabling legal rights is where I draw mine.
m00
Tub
Experienced Forum User
Joined: 6/25/2005
Posts: 1377
Nach wrote:
Regarding the deletes, you mean in session_clean()? If they're done less frequently, that just means each subsequent call that does run will take longer. Although perhaps that's a good trade off if we're running so many at once.
I only have access to the stock phpbb code. Bisqwit obviously made a lot of changes I don't know about. In the files I'm looking at, there's garbage collection in session_pagestart(). The cleanup code will use a full table scan anyway. While less frequent deletes are indeed a bit slower per query, there should be an overall gain. Remember that a good deal of query processing is done in parsing, round trips, and (especially with writing queries) to maintain transaction safety. Anyway, let's see if your code helped :)
m00
Tub
Experienced Forum User
Joined: 6/25/2005
Posts: 1377
today I got the lock timeout error quite often. It's always the session table, always the same query. Do you know why it happens there but not anywhere else? a workaround might be to change sessions.php[370] to not fail on error 1205 or to change the table to a MEMORY table (if it isn't already). Or change the value at line 365 to something higher than 60 seconds to reduce the amount of session updates.
phpBB : Critical Error Error updating sessions table DEBUG MODE SQL Error : 1205 Lock wait timeout exceeded; try restarting transaction UPDATE sessions SET session_time = 1257721826, session_page = 0 WHERE session_id = '<snip>' Line : 370 File : sessions.php Backtrace: includes/functions.php[743]: ErrorPrintBacktrace() includes/sessions.php[370]: message_die(204, string(29) "Error updating sessions table" , string(0) "" , 370, {string(55)}, {string(130)}) index.php[38]: session_pagestart(string(8) "5ce28ce8" , 0)
it might also be caused by repeated DELETEs on the session table around line 390 that lock the table for a while. If that's the case, enclosing them in an
if (mt_rand(1, 100) == 42) { ... }
might be a good idea.
m00
Tub
Experienced Forum User
Joined: 6/25/2005
Posts: 1377
basically: make a good game, treat me right, and you've got my money. - must not clobber me with intrusive copy protection mechanisms. I've had too many cases where a game I bought cost me hours to get to run, cost me hours to reinstall windows to get rid of the copy protection "drivers", or just plain didn't work ("please insert the ORIGINAL cd" when it was clearly in the drive). In those cases, I use those decentrally offered special editions without copy protection, or don't play the game at all. - must not be bug-ridden (see: sacred, gothic 3, GTA IV, countless others) - lots of bonus points if it works on wine (diablo 2, guild wars), even more if linux native (q3a, ut2004). Wii games are exempt from this bonus. ;)
m00
Tub
Experienced Forum User
Joined: 6/25/2005
Posts: 1377
I'd vote yes for the kickass guitar solo, if it wasn't preceded by 15 minutes of repetitive sidescrolling. This game is in serious need of a level skip glitch.
m00
Tub
Experienced Forum User
Joined: 6/25/2005
Posts: 1377
google "multiseat". Most solutions require separate monitors and often two different gfx cards as well. Linux has a recent X extension named Multi-Pointer X (MPX) which can handle multiple mice. You'll need a window manager that is able to correctly assign the input devices to windows - to my knowledge, there's only a proof-of-concept WM around. Come back in a year or so or start hacking on it yourself. This would be the cleanest solution. Running WoW on Wine would be the easy part. Or, as has been mentioned, you could write your own input dispatcher for windows. Any result will be hackish at best, and you may run into issues if the game doesn't accept input when the window isn't focused. (you cannot have both focused, obviously) Then you need to write some extra-code so the mouse cannot leave the window, some code to prevent window's default cursor from emitting events, possibly your own code to draw the mouse pointer, ...
m00
Tub
Experienced Forum User
Joined: 6/25/2005
Posts: 1377
Perfect Stealth is slow. You often have to wait for enemies to pass or turn around. Any speedrun or TAS will raise the alarm a couple of times, always in the same places.
m00
Tub
Experienced Forum User
Joined: 6/25/2005
Posts: 1377
oh, about the kraid battle: hugging him sure looks bold, but why is it faster? You forfeit the doppler effect to fire the first missile early. Being further right during the kill seems useful to reach the door faster, but then again it takes a while for the door to open anyway. Now I don't doubt your ability at TASing.. could you please explain why your strategy is faster?
m00
Tub
Experienced Forum User
Joined: 6/25/2005
Posts: 1377
Nach wrote:
I'm wondering how people here are getting such high scores in technology/computers. Are you saying you write code in ADA and FORTRAN all the time?
The test doesn't display a percentage of points, but your percentile. As almost nobody uses ADA/FORTRAN, you can reach a high percentile without it.
m00
Tub
Experienced Forum User
Joined: 6/25/2005
Posts: 1377
having a girlfriend really destroys my street-cred. it's not like the result surprises me though. self-awareness ftw.
m00
Tub
Experienced Forum User
Joined: 6/25/2005
Posts: 1377
the difference between cross_sum(N) and cross_sum(N+1) is important, it has to be a multiple of 2006. If N doesn't end with a 9 it's: cross_sum(N+1) = cross_sum(N) + 1 If N ends with a 9 (but the second-last digit is not 9), it's: cross_sum(N+1) = cross_sum(N) - 9 + 1 consequently, if the last i digits are 9 (but the i+1'th isn't), we have cross_sum(N+1) = cross_sum(N) - 9*i + 1 so we need a number i with (9*i - 1) % 2006 = 0, for example 223*9 - 1 = 2006 Our number ends with 223 digits of 9. The cross sum of those is 2007 but 2007 % 2006 = 1. We just need to preface more digits with a cross sum of 2005. The lowest number satisfying all our properties has these digits (from left to right): N = 1x 8, 221x9, 1x 8, 223x 9, cross_sum(N) = 4012 = 2*2006 N+1 = 1x 8, 222x9, 223x 0, cross_sum(N+1) = 2006 done.
m00
Tub
Experienced Forum User
Joined: 6/25/2005
Posts: 1377
CyberShadow wrote:
One state takes 10 bytes: 2 bytes (bitfield) to store the action required to get to that state from its parent state
So you're storing a separate state for each step? That may be more than you need. The puzzle isn't solved by walking, but by interacting with the objects (boxes, spinners, level exit, ..), so I propose to store a state only for every interaction done. Instead of checking every possible walking direction, identify every tile from which an interaction can be started. Use dijkstra or something to determine if they're reachable without interactions, and if they are, the number of steps to reach them. The states would look something like this State 1: parent: none frame: 0 action: NONE action from: none standing at (x, y) State 2: parent: state 1 frame: 1234 action: SPINNER action from: (x, y) standing at: (x+2, y) State 3: parent: state 2 frame: 4242 action: PUSH action from: (x, y) standing at: (x, y+1) your states will consume more memory each, but you'll need a lot less states and the tree is comparably flat. Or maybe I overlooked something and you have your reasons for doing things the way you do? Or maybe I completely misunderstood your idea? On another note, have you employed manual optimizations already? Adding checks like "the long block must not be sunk anywhere but at this specific location" or "if more than two small blocks are stuck in a corner, it's game over" could cut some branches a generic algorithm would not.
m00
Tub
Experienced Forum User
Joined: 6/25/2005
Posts: 1377
blonde bikini chick in the ending sequence = yes vote. I'm always amazed how many new tricks and strategies fit in a 15 year old heavily tas'ed game.
m00
Tub
Experienced Forum User
Joined: 6/25/2005
Posts: 1377
tony hawk is one of those games that's more enjoyable on a different platform. Like the PC.
m00
Tub
Experienced Forum User
Joined: 6/25/2005
Posts: 1377
You've already checked the games listed here of course ;) I've had most fun with Final Fantasy (FF9 did age well, FF7 was ugly from the beginning) and Symphony of the Night. Yeah, kinda mainstream. ;)
m00
Tub
Experienced Forum User
Joined: 6/25/2005
Posts: 1377
I've always understood 100% runs to require getting the items, not having them. Thus, I wouldn't count any run that uses glitches to manipulate the inventory or percentage counter, because the character never actually acquired the item. My reasoning: - the actual ingame-display is irrelevant, what counts is getting everything. See: donkey kong 101%/102%, SotN 200.6%, ... - See also Metroid Prime (or was it Echoes?). A run that picks up a missile pack twice and skips another doesn't count as 100% at sda, despite the game saying you got 100%. There's still one missile pack you didn't pick up. I think that ruling is reasonable. - A 100% Majoras Mask run requires you to get all the masks at one point or another. You don't have all of the masks at any point in the run. - the reason of the 100% category is to allow for longer runs that show more of the game. I don't think it should allow glitches that counteract that goal. so, unless there's a colourful thingy circling towards your character, I wouldn't count the soul as "aquired".
m00