Posts for amaurea
1 2
9 10 11
16 17
Experienced Forum User, Published Author, Former player
Joined: 2/19/2007
Posts: 424
Location: UK
First of all, I like the current system of putting runs which skip the majority of the game through extreme glitching in their own category, as the very glitched and less glitched runs are interesting in different ways. I think Chrono Trigger is an excellent example of this: I like the current game-breaking run, but I would also very much like to see one which does not use sram corruption (which I think was being worked on and had lots of new tricks, but was abandoned when the reset glitch was found). I doubt I am alone in thinking this, and Chrono Trigger fans visiting the site for the first time will probably also want to watch both versions. So letting the glitched version obsolete the normal version was a mistake in my opinion, and I hope it isn't repeated with Super Mario World. I don't understand what the people who argue for fewer categories hope to achieve by that. Is the fear that viewers unfamiliar with the site will be confused when they find more than one run for each game? My own reaction when I was new was rather the opposite. If people are worried that the most interesting runs will be buried in a sea of average ones, then doesn't the star system solve that? Categories are not a scarce resource, and sacrificing a good TAS in order to save a category is bad for both the viewers (because the runs they want will not exist) and for TASVideos (TASers will go elsewhere with their runs if we are keep rejecting obviously good TASes). Secondly, about the name of the category (which is much less important): Almost all our TASes are glitchy to some extent. And all whales are big. Still, a phrase like "big whale" is easily understood to mean a "whale which is even bigger than normal". Our "glitched" category name is entirely consistent with this usage, and I know to expect game-breaking glitching that skips most of the game when I see it. It is easy enough to understand for it not be worth it to rename our existing categories.
Experienced Forum User, Published Author, Former player
Joined: 2/19/2007
Posts: 424
Location: UK
rex4 wrote:
where is it ? I searched, I saw a lot of posts about it but not the script itself.
There's a link to the script right in the video description (I've noticed that a seemingly large fraction of youtube watchers don't seem to read the description), but anyway, you can find the script and a description here.
Experienced Forum User, Published Author, Former player
Joined: 2/19/2007
Posts: 424
Location: UK
rex4 wrote:
awesome, by the way, did you use a script to automatically remove the cutscenes or did you removed them manually ?
I did it with a script. Doing it manually would be both horribly boring and inaccurate. The numbers and other samus were also overlaid by a script.
Experienced Forum User, Published Author, Former player
Joined: 2/19/2007
Posts: 424
Location: UK
Here is (or will soon be, when youtube finishes processing) a comparison of this run with the only previous RBO I could find, by Namespoofer: Link to video The new TAS is more than 12000 in-game frames faster than Namespoofer's old run.
Experienced Forum User, Published Author, Former player
Joined: 2/19/2007
Posts: 424
Location: UK
Felipe wrote:
mmm very interesting with these glitches, but to me dont like much the glitch that take you to the goal. i dont know if vote yes or meh! (or maybe no) i am thinking
Remember that we have a separate category which does not do this. So this isn't a dilemma at all - you can have the cake and eat it at the same time. This is the normal any% category, and uses zipping just like its predecessor, but it achieves its goals better in every way, so voting no because you don't like zipping does not make any sense.
Experienced Forum User, Published Author, Former player
Joined: 2/19/2007
Posts: 424
Location: UK
Here is a comparison of this run with its predecessors. Link to video Thanks for a nice christmas present!
Experienced Forum User, Published Author, Former player
Joined: 2/19/2007
Posts: 424
Location: UK
Warp wrote:
The idea of having different sections in the site for different types of videos (such as separate pure speed and machinima sections) has been tossed around, but the idea never caught. On the other hand, perhaps it's good that the site keeps focused on doing one thing well, rather than becoming simply a dump bin for any kind of tool-assisted "let's play" videos. We have youtube for that, so there's no need for this site to become one.
I agree that let's plays probably don't belong on tasvideos even if we make our category system more flexible. But I think there are many kinds of TASes which are being routinely rejected now, which would be better served being published if we improved our category system. The main examples of this is probably runs which are rejected for "bad game choice" or "wrong language", but playarounds also suffer from this. In this cases, improving tasvideos is a better solution than pushing people to youtube. The problem with youtube is that it is
  1. Not organized - hard to know what is current and what is obsolete, what is precise and what is sloppy.
  2. Does not ensure that the actual movie file is posted, meaning that the TAS itself is usually lost to posterity.
  3. Does not encourage detailed descriptions of how and why which tricks were used.
So the TASVideos approach is much better.
Experienced Forum User, Published Author, Former player
Joined: 2/19/2007
Posts: 424
Location: UK
sack_bot wrote:
and now.. more levels Link to video
Hmm. I haven't played this game, but your movement looks pretty sloppy in many places. I just watched level 3, and you keep hitting walls, stopping your motion, for example at 4:26, 4:47, 4:55, 5:17, 6:18, ... Basically all the time. At 4:53 you let your walrus freeze another walrus, which slows you down a lot. Couldn't you just throw away the old walrus and pick up the new one? And do you really need walruses at all? Creating ice blocks seems counterproductive when all they do is to push you back (on the other hand, perhaps it could be exploited to get a forward push with precise positioning). Also, can you destroy ice blocks without being pushed back by them (by hitting them with objects, for example)? The overall impression from me, a viewer unfamiliar with the game, is that this is more similar to an unassisted playthrough than a tool-assisted speedrun.
Experienced Forum User, Published Author, Former player
Joined: 2/19/2007
Posts: 424
Location: UK
The standard way of doing this would be by using MPI (message passing interface). There you basically have N copies of the same program running, and these can call MPI functions to find out how many siblings they have and which ID each has. They can also communicate by using MPI functions, both locally on the computer and transparently over the network. So if you had a supercomputer cluster available you could run thousands of emulators in parallel, with each exploring its part of parameter space, and have the winner broadcast a message to have the others stop. It is pretty simple to work with, but you would need to have MPI installed (OpenMPI for example), and would need to recompile the emulator and expose these functions to lua. So not totally trivial. But this is what we use in my field to solve problems with are intractable on a single computer. But even an increase in processing power of a factor of 1000 will not really help you get much further with a brute force search, so I am not sure going through all this effort would really be worth it. Improving your searching algorithm will probably help more.
Experienced Forum User, Published Author, Former player
Joined: 2/19/2007
Posts: 424
Location: UK
Warp wrote:
amaurea wrote:
Entropy corresponds to how ordered a system is.
Maybe in a very rough sense. I thought entropy is the measurement of how much energy available for useful work there is in the system.
You are right that the term "ordered" or "chaotic" aren't totally clear. But I did go on to give you two example of precisely what is meant here, which is the number of microscopic states corresponding to a macroscopic property. This is the fundamental definition, the measurement of how much useful work is available in a system is a derived property which follows from this, and which is less useful because it doesn't tell you *why* it is like that.
Warp wrote:
There are many examples of situations where the stabilization of temperature (ie. energy flowing from a hot place to a colder one, completely in accordance to thermodynamics) actually increases order. For example a chunk of lava, which is just an amorphous blob of molten rock material, cools down to ambient temperature, and inside the blob crystals form, which are very highly-ordered arrangements of molecules.
The entropy of the lava does decrease when it cools down. However, the air around the lava gets heated up. And there are many more combinations of individual air molecule momentums that together correspond to, say, 400 K than to 300 K. That is why the total entropy of the lava + air system increases. The same applies to the freezing water.
Warp wrote:
Increasing entropy does not always mean increasing chaos.
It does if you interpred a more "chaotic" state as meaning one with more microscopic states corresponding to it, like the gray state in my example in the previous post, compared to the white and black states.
Warp wrote:
Well, why do you often see glasses fall down from tables and shatter, but never pieces of glass start bouncing towards each other and just happen to meet in the right way to fuse into a glass which proceeds to jump up to come elegantly to rest at the table?
Because of gravity.
Please don't skim the post the next time. I explained how the glass gets back up on the table without needing reverse gravity. The glass vibrates, which means that the molecules are moving backwards and forwards. By an improbable stroke of luck they can end up moving in phase, such that the molecules in the top part of the glass are moving upwards at the speed at which the glass was falling originally. Of course, total momentum must be conserved, so these molecules must push off from something, which is the molecules below, which in turn push off from the molecules below them again, until they reach the ground, where enough downwards momentum is deposited to make up for the upwards motion the glass got. If there is a step of this process you don't think is possible, think about how exactly that step happens in the normal direction, when the glass falls down, and which forms of energy turn into what, and where that energy goes. In your case, you seem to think that the "jumping back up on the table" step is impossible. To see that it is possible (but extremely unlikely because it requires lots of coincidences), just consider what happens to the downward momentum and kinetic energy at the microscopic level when the glass hits the ground. When you have track of where all the energy goes, you will also know how to play the process backwards.
Warp wrote:
The first is natural, but the second is absurd, but why?
Because of gravity. It overwhelms any chemical or quantum-mechanical effect the glass may be experiencing. (Ok, it may be that there's an astronomically minuscule chance that due to quantum fluctuations all of the molecules of the glass would spontaneously move to the right places at the same time, re-forming the glass. However, I don't think this has anything to do with thermodynamics and all to do with quantum mechanics. Anyways, the chances are so small that it just doesn't happen.)
I think you're misunderstanding what sort of unlikely happenstances are needed here. I am not talking about any quantum effect here, like the glass molecules' quantum mechanical uncertainty in position and momentum just happening to make them all tunnel into the right positions to be a whole glass again. You are right that that sort of example wouldn't be relevant at all.
Warp wrote:
Anyways, I just don't see how reversing entropy would make pieces of glass spontaneously re-form the original shape. Entropy doesn't "know" what the "original shape" was, how can it form it?
You're right, and this is the point. The second law of thermodynamics says that systems will move towards more likely configurations, just like you will tend to roll 7 more often than 2 when rolling two dice, because there are more ways of getting 7 (1+6,2+5,3+4,4+3,5+2,6+1) than ways of getting 2 (1+1). Trying to reverse this would be like demanding that it should suddenly be more likely to get 2 than 7. And you can't do that without loading the dice. And in loading the dice, you are making an arbitrary choice of which way to load them, just as I did with the example where the glass comes together again. Please don't misunderstand. I am not trying to argue that a universe with a reverse second law of thermodynamics would make sense - just the opposite! I am trying to illustrate *why* the second law exists, and I think the glass is a good example of this. Going forwards requires no special circumstances, while going backwards needs heaps and heaps of unlikely coincidences. This is the essence of the second law of thermodynamics. I hope you see how the examples with the dice, the colored blob, the air molecules in the room and the falling glass all show the same effect. And how going backwards breaks no fundamental laws, but are very unlikely because you are going from a very general state into a very specific state.
Experienced Forum User, Published Author, Former player
Joined: 2/19/2007
Posts: 424
Location: UK
Wow, that's amazing! The detective work leading up to this must have been really exiting! By the way, shouldn't it be
66 A0 A3 F0 66 20 8F F0 8E 28 81 39 06 2A B0 FA 04 60 60
++ -- ** ** ++ -- ++ -- -- -- ** ** ++ -- ** ** ++ -- **
The 20 8F F0 is all part of the argument to the instruction starting at 66, so none of them matter.
Experienced Forum User, Published Author, Former player
Joined: 2/19/2007
Posts: 424
Location: UK
Warp wrote:
Speaking of neutron stars, what happens if eg. a companion star keeps adding material to a nearby neutron star until its mass exceeds the degeneracy pressure and it collapses? Does it behave like a supernova, or something else?
I am not totally sure, but I think it will directly collapse into a black hole without any explosion. Let me try to explain my reasoning. There are two main types of supernova: Core collapse and thermonuclear runaway. In the core collapse supernova, the pressure of the core of the star becomes too small to sustain the weight of the star once the nuclear fuel there is spent, and the core collapses. During this process the electrons and protons react to form neutrons, and the core becomes a neutron star, which is kept up by a strong form of pressure called neutron degeneracy pressure. This is strong enough to stop the collapse, and the in-falling matter bounces, causing a shockwave to travel outwards. This eventually (the exact mechanism is uncertain) causes the star to blow up, leaving a neutron star or possibly a black hole, if even the neutron degeneracy pressure was not enough. In the thermonuclear runaway supernova, called type 1a, the star is a white dwarf which is accreting matter from another star. The star is supported by electron degeneracy pressure, which has the property that the pressure does not increase even if the temperature does so. Once the white dwarf becomes massive and dense enough it starts becoming able to fuse the carbon it consists of. This releases energy and causes the temperature to rise. But due to the strange properties of the degeneracy pressure, the pressure does not respond to this, and stays the same, which in turn means that the density also stays the same. So the star still has the same high pressure, but the temperature has increased. This makes it even easier for it to fuse carbon, which makes the temperature increase faster, which causes more fusion, and so on. A violent burst of nuclear fusion spreads through the star, and the energy released is enough to blow it up. Ok, with that in place, what should happen to a neutron star? The scenario is similar to the last case: The white dwarf is supported by electron degeneracy pressure, while the neutron star is supported by neutron degeneracy pressure, and both are accreting matter. However, where the white dwarf had the potential energy source of carbon and oxygen fusion left, the neutron star has no energy source left. So when it becomes too massive, it won't blow up, it will just collapse. And unlike the core collapse scenario above, there is no known form of matter to stop the collapse and cause a bounce either. So it should end up as a black hole with no explosion. The wikipedia articles on supernovas are good, and are worth a read if you want to know more.
Warp wrote:
amaurea wrote:
The second law tells you that it will flow from hot to cold because the entropy would increase otherwise
I think you mean decrease.
Yes.
Warp wrote:
If you kept the first law the same, but reversed the second law, you would end up with a universe behaving much as if time went backwards. Heat would flow from cold objects to warm ones, the air molecules in a room might suddenly all concentrate in one end of the room, and a shattered glass might spontaneously reassemble.
You lost me on that last one. Why would that be? What does thermodynamics have to do with the shattering of a glass? I don't see the connection to temperature.
Entropy corresponds to how ordered a system is. If one counts the number of microscopic states of a system that correspond to various macroscopic properties, one finds that there are many more unorderly states than others, and thus random perturbations of the system are much more likely to push the system towards a chaotic state than an ordered one. I'll give you a simple example to illustrate. Imagine that you have a blob of matter where the molecules can be in one of two states: 0 or 1, and that each of these states is equally likely per se, but that the number of 0s vs. 1s in the blob as a whole determines its color, with 100% 0 being black and 100% 1 being white, and 50/50 being gray, and so on. Which color is the most likely to observe, assuming that the molecules do not interact? If there are N molecules, the chance of having 100% white is 2^(-N), since every molecule must be 0 to get it, and so is the chance of having 100% black. So both of these chances are really tiny for realistic values of N. Even something like 75% black turns out to be extremely unlikely: For large N, the only state with any large probability will be 50%. So how is this connected to the entropy? The entropy is just a way of expressing how likely these states are. The 50% state will have a high entropy, while the 100% and 0% states have very low entropies. So entropy doesn't need to be defined in terms of temperature and heat flow, entropy can be regarded as more fundamental, and used to define temperature. So what does this have to do with a shattering glass? Well, why do you often see glasses fall down from tables and shatter, but never pieces of glass start bouncing towards each other and just happen to meet in the right way to fuse into a glass which proceeds to jump up to come elegantly to rest at the table? The first is natural, but the second is absurd, but why? It is not because the laws of physics prohibit the last one. In fact, the fundamental laws of physics like both of them equally well. I'll try to describe how the reverse glass fall and breakage can come about without any antigravity or other violations of the laws of physics: What exactly happens when the glass falls down and shatters? Let us go through the scenario in detail: You accidentally push over the glass, which falls down and hits the ground. A shockwave spreads out through the glass, exciting the molecules causing them to vibrate and in some locations lose contact with each other. This causes cracks with grow into fissures, and the glass shatters. The remains of the shockwave is translated into individual motions of the pieces, which fly off into the air, where they are slowed slightly by air resistance, and dissipate the rest of their energy into heat and vibrations in the ground when they finally fall down. In no step in this process is energy lost, it is just transformed from potential energy, into kinetic energy of the glass as a whole, into vibrational energy, into kinetic energy in the pieces, and finally into sound waves and eventually heat. Microscopically, we can just as well run all of these backwards. It would go something like this: Pieces of glass are lying scattered on the ground, at rest. But gradually, the random motion of the molecules in the ground just happen to move in phase in such a way as to cause a sound wave to travel inwards towards each shard, the movements just happening to line up so that the amplitude increases as the sound wave gets closer to the shard. When it reaches it, the shard is launched into the air by the ground's vibrations, and this just happens to be in the right direction for it to head towards all the other shards that just happened to exhibit the same phenomenon at the same time. Similarly, when traveling through the air, the random motions of the air molecules just happen to align to cause a localized light breeze which slightly accelerates each shard (this is the reverse of air resistance). The shards all just happen to meet their matching partners at just the right place, angle and time. By now, the random thermal motions of the molecules in the pieces of glass just happen to come into phase, causing the shard to begin to vibrate. The vibrating edges of neighboring pieces of glass are lucky enough to swing in phase, and the molecules on each side matches so well that the molecules stick to each other through the edge, creating a whole glass. This glass is vibrating violently, but the different vibrating modes in the glass randomly line up to become a shockwave traveling down to one part of the glass, leaving the rest of the glass traveling upward to compensate for the motion of the shockwave. At the same time, the glass is falling and just about to hit the ground. Meanwhile, in the ground, the motions of the molecules in the ground again just happens to align to create a large wave which happens to concentrate at the spot where the part of the glass with the shockwave is about to hit. By happenstance, the shockwave in the glass and the vibrations in the ground cancel out, leaving the glass travelling upwards. It is then gradually slowed by gravity so that it just clears the edge of the table, where it gently hits the receding back of your hand, and is elegantly brought to rest. As I said, the fundamental laws of physics do not distinguish between these scenarios - they are all equally valid. But notice that the first one does not rely on any special coincidences, while the last one needs a long chain of extremely unlikely coincidences to line up in order to work. So the first one will happen all the time, while the last one will never happen. This is the essence of the second law of thermodynamics. It says that some processes that are fundamentally allowed will nevertheless not happen because the would require amazing coincidences at the microscopic level.
Experienced Forum User, Published Author, Former player
Joined: 2/19/2007
Posts: 424
Location: UK
In quantum mechanics particles are not described by a single set of coordinates, but instead by an amplitude at every point in space, called the wave function. For example, in one dimension, it could look like this:
amplitude
^
|
|           ****
|         **     **
|       *          *
|     **            **
+*****----------------******-> x
 0  1  2  3  4  5  6  7  8  9 10
If you measure the position of this particle, you are most likely to measure it between 4 and 5, but you are also quite likely to measure it at 3 or 6. Similarly to a particle not having a single position, but an amplitude at every possible position, the same applies to momentum. So if you imagine replacing the position x with the momentum p on the graph above, you would have an example of a possible momentum wavefunction. The uncertainty principle comes about because position and momentum turn out not to be independent quantities, but instead the fourier transforms of each other. A fourier transform basically means that you try to build up the function using sines and cosines at various frequencies as building blocks, and measure how much you need to add of each of them to get back the function you want: The point now is that the sharper you want to make your position wavefunction, the more high frequencies you need to include in the fourier transform, which means that the momentum wavefunction will get broader. Thus, there is a tradeoff between sharpness in position and momentum. Regarding temperature, as Ilari says, motion does not stop at absolute zero, but particles instead all occupy the lowest possible energy state. A gas of such particles is called degenerate, and there are two possible cases here. If the particles are fermions (ex: protons, electrons, neutrons), they cannot all be in the true lowest energy state, since each energy state only can be occupied by one particle. So some particles will end up having pretty high energies even though the temperature is practically zero. For a large enough gas, the particles may in fact be moving close to the speed of light and still be in the lowest energy state they can be. An important example of degenerate gases from nature is neutron stars. These are actually quite hot by our standards, but due to the huge density and number of particles involved, they still behave as if the temperature were almost zero, and are very degenerate. The other possibility happens when the particles are bosons (ex: photons). In that case they are all allowed to occupy the same lowest energy state, and so you won't end up with any high-energy particles. A degenerate gas of this kind is called a Bose-Einstein condensate. At high temperatures, the average kinetic energy per particle is proportional to the temperature (for noninteracting particles without internal degrees of freedom it is 3/2*k*T, where k is the Boltzmann constant). I guess this is why people think that motion will stop at zero degrees. But at low temperatures this approximation breaks down, and the average kinetic energy per particle becomes independent of the temperature (again for noninteracting particles without internal degrees of freedom it becomes 3/5*Ef, where Ef depends on the density of the gas). Regarding the first and second laws of thermodynamics: With just the first law, you would have no reason to think that heat should flow from a hot object to a cold object, and not the other way around. The second law tells you that it will flow from hot to cold because the entropy would decrease otherwise (it is still possible to make a cold object colder, but only with work from the outside). Without the second law, you could make a perpetuum mobile, a machine that runs forever without external power. According to the first law it would not be able to produce energy from nothing, but you could still make things like an elevator that needs no power input as long as as many people take it up as take it down during the day. Basically, any process could be infinitely efficient. If you kept the first law the same, but reversed the second law, you would end up with a universe behaving much as if time went backwards. Heat would flow from cold objects to warm ones, the air molecules in a room might suddenly all concentrate in one end of the room, and a shattered glass might spontaneously reassemble. On the other hand, mixing things and making them more homogeneous would require energy from the outside.
Experienced Forum User, Published Author, Former player
Joined: 2/19/2007
Posts: 424
Location: UK
Qlex wrote:
to me it just looks like "no zipping" means "no dashing", which is in my opinion is a terrible choice for speedrunning a Sonic game : It's bound to be slower, and doesn't prove something counter-intuitive like "You can beat the game without dashing".
By "dashing", do you mean spindashing? If so, that isn't avoided due to the goal, but simply isn't possible in Sonic 1.
Experienced Forum User, Published Author, Former player
Joined: 2/19/2007
Posts: 424
Location: UK
I voted yes. I enjoyed the run, and approve of the category. But I agree with the general sentiment that the ejections used in the last stages were unfortunate, and make the run less suited for showing to a non-technical audience due to the large similarities between zipping and other ejection mechanisms. Therefore, I think that a run which avoids these ejections should be able to obsolete this one. One possible goal might be "does not pass through solid objects", which could be precisely defined by setting a maximum to the position change between entering and exiting a solid area, as well as a maximum to the ratio of the length of the path taken and the shortest path entirely outside objects. The latter is to prevent the player from passing through very thin surfaces. Another possible goal might be "no ejections", defined as never going so deep into an object that you aren't pushed all the way out of it on the same frame as you enter it. This rule is simpler to explain than the one above, but I think it will be more annoying to work with, as one has to keep looking out for it (possibly having to slow down before you hit walls, for example).
Experienced Forum User, Published Author, Former player
Joined: 2/19/2007
Posts: 424
Location: UK
Publish it right away.
  • We aren't going to run out of publication numbers.
  • The current submission is good enough for publication on its own.
  • By publishing now the obsoletion history will be more complete.
  • We have been burned on waiting for the improved version before.
  • Most of the work for publication has already been done, I think.
Post subject: Re: New ghost script for Super Mario World
Experienced Forum User, Published Author, Former player
Joined: 2/19/2007
Posts: 424
Location: UK
Lil_Gecko wrote:
amaurea wrote:
The new version can be found at the same locations listed above. Note that the ghost dump format has been changed, so you will need to rerun smwrecord.lua to generate new ghosts.
Seems really nice but I can't manage to make it work. SmwRecord has no problem, SmwPlayers starts as it should, but when it has to draw the ghost I got an error. "SmwPlayer.lua:607: attempt to index field '?' (a nil value) (Could not load ../smwdb.png!) Also, smwdb.png is in the right directory and I got the gd librairy so I don't understand. Any ideas ?
Oh, right. During tested I changed it to ../smwdb.png instead of smwdb.png, and forgot to change it back. I have uploaded a fixed version now.
Experienced Forum User, Published Author, Former player
Joined: 2/19/2007
Posts: 424
Location: UK
I have updated my Super Mario World comparison script. Here is a demonstration of it in progress: Link to video The script now supports continuous offsets instead of just room offsets, and the offsets displayed can be controlled independently from the offsets actually used for the ghosts. The offsets used for the delays at the top are now calculated to sub-frame precision based on the ghost speed and distance from closest ghost pixel to the current player position. The status display has been corrected and expanded to show more useful information. The script consists of two parts: The recorder, which is used to dump information from each run you want to compare yourself to, and the player, which reads these dumps and performs the actual comparison. For more information, see: http://tasvideos.org/forum/viewtopic.php?t=6539&start=204
Post subject: Re: New ghost script for Super Mario World
Experienced Forum User, Published Author, Former player
Joined: 2/19/2007
Posts: 424
Location: UK
amaurea wrote:
I have adapted the old Super Metroid TAS comparison scripts for Super Mario World. Here is an example of the script in action: http://www.youtube.com/watch?v=ieFFCRQBIeo http://www.youtube.com/watch?v=imsRpZ-WEds And here are the scripts themselves, along with two resource files: http://folk.uio.no/sigurdkn/smwrecord.lua http://folk.uio.no/sigurdkn/smwplayer.lua http://folk.uio.no/sigurdkn/smwdb.map http://folk.uio.no/sigurdkn/smwdb.png Surprisingly, making the super mario world version of this script was much harder than making the super metroid version, mostly because of inconsistent delays between when values appear in handy memory addresses and when things update on screen, as well as many composite sprites (the yoshi portion of the script is still somewhat hacky). Most of the options from the super metroid version are still there: You can choose between realtime and in-game modes (which make much less difference here than in super metroid. The video above was made using realtime mode.) both for displaying and syncing, and you can turn per-room resyncing on or off. Note that room syncing is not used on the overworld, so you can easily see the runs' relative position there. For using the script yourself, the procedure is the same as before: 1. Generate ghost files, which are text files containing destilled information about a run. This is done by loading the script smwrecord.lua, and then loading the movie file. Once you are done (fast forward does not disturb the script), exit the emulator, and a file named ghost.dump has been generated. Rename this to something sensible. Repeat this for each run you want to compare to. 2. Edit smwplayer.lua. What needs editing is only the the topmost portion. Edit the ghost_dumps list to indicate the dump files you generated earlier. 3. Load smwplayer.lua in snes9x, and either try playing against the ghosts yourself, or load a movie file. You will require the gd library for lua for this; otherwise you can only display hitboxes etc.
The script now supports continuous offsets instead of just room offsets, and the offsets displayed can be controlled independently from the offsets actually used for the ghosts. The offsets used for the delays at the top are now calculated to sub-frame precision based on the ghost speed and distance from closest ghost pixel to the current player position. The status display has been corrected and expanded to show more useful information. Here is a demonstration of the script in action: http://www.youtube.com/watch?v=gRSVOPzxsKQ The new version can be found at the same locations listed above. Note that the ghost dump format has been changed, so you will need to rerun smwrecord.lua to generate new ghosts.
Experienced Forum User, Published Author, Former player
Joined: 2/19/2007
Posts: 424
Location: UK
Thunderbird wrote:
I see I'm definitely in the minority here, but I'd prefer something done on a platform with a (U) version. The presence of Japanese is a bit of a downer to me, given the whole not understanding the language bit.
The language of a TAS should not matter. A TAS isn't a good way of experiencing the story of a game - in fact, the more they ignore the story in favor of speed the better. Demanding that a TAS be performed in a language you can read because you want to follow the story is the same as demanding that TASers refrain from skipping dialogue and cutscenes in games where they can be skipped because it messes up the story. If you want the story you should play the game yourself, or perhaps watch a Let's play. To get the most out of a TAS you should ideally be familiar enough with the game to know the story by heart anyway.
Experienced Forum User, Published Author, Former player
Joined: 2/19/2007
Posts: 424
Location: UK
MUGG wrote:
comparison video account ~ http://nicovideo.jp/watch/sm16014710 account2 ~ http://de.nicovideo.jp/watch/1319825902 free ~ http://nicoplayer.blog60.fc2.com/?id=sm16014710&w=640&h=480
Oh, I guess I'm too late. Oh well, here is mine: Link to video
Experienced Forum User, Published Author, Former player
Joined: 2/19/2007
Posts: 424
Location: UK
Eye Of The Beholder wrote:
Btw, maybe you can help me. When i use this script to skip door transitions, itens and the black screen in the elevator transition, and if i play a movie, the script skip all Ceres. Also, i thought this script wouldn't skip in-game frames, but once Samus gets to the elevators, the script skip all the frames Samus is in the elevator, and you can only see her arriving at the elevator and leaving it. Is there any other way that i can skip only realtime frames without skipping any in-game time frames? Thanks again!
My script does that? It does not for me. On my side it only skips non-ingame frames, which include: The intro and ending, item scenes and door transitions, and lag frames (most noticeable for power bomb explosions). If you are using another script, perhaps that one has more extensive skipping included. A minimal in-game frame skipping script looks something like this (not tested):
pframe = 0
while true do
 frame = memory.readbyte(0x7e09da)
 if frame == pframe then snes9x.speedmode("maximum")
 else snes9x.speedmode("normal") end
 pframe = frame
 snes9x.frameadvance()
end
Experienced Forum User, Published Author, Former player
Joined: 2/19/2007
Posts: 424
Location: UK
Eye Of The Beholder wrote:
Which script do you use for the door transition, amaurea? is it "turbo" or "maximum"?
It is "maximum". Otherwise some of the frames from the door transitions and item scenes would be left in the video. This would be especially apparent in the sound.
Experienced Forum User, Published Author, Former player
Joined: 2/19/2007
Posts: 424
Location: UK
moozooh wrote:
Tub wrote:
One last thing: have you considered delaying each room until the *last* sprite exits the room? This might make it easier to follow, and easier to spot the amount of improvements going on.
Wouldn't that interfere heavily with the music? It would have to resync heavily, while using the current method it's just fastforwarded (not the most aesthetically pleasing solution, but probably the simpliest). Can Lua make music play continuously?
The simplest thing would probably be to display real-time frames instead of ingame frames. I.e. not skip door transitions and items. The time for a door transition will probably be enough for the slowest ghosts to catch up. However, this would also require using real time instead of ingame time as the synchronization method, since no ingame time passes during a room transition, which means that the other ghosts would be frozen during a room transition if I use ingame time for sync and display real time. Anything more advanced than that would probably require savestates + meddling with the game state, which I think will be too much trouble to be worth it.
Tub wrote:
Would it be possible to extend the movie to 16:9 widescreen to get more space for statistics, somewhat like this? http://www.authmann.de/misc/tasvideos/sm_comparison.png This would allow adding additional stats (total frames, item%, rooms visited) to determine route differences. It'd also allow highlighting the best and worst room strategy for the last room.
Writing on a larger canvas than the snes screen is not impossible in snes9x, but impractical. The drawing functions all refer to the snes screen, so I would have to either link in extra libraries or write my own functions for writing to gd images. Well, either that or modify snes9x to have a larger buffer than the snes screen itself.... Actually, I just thought of an easier way to do this. Write the info to disk, and write a program to combine the two into a the full image for encoding. The disadvantage is that the script wouldn't be totally stand-alone that way. Or perhaps this could all be generated based on the ghost files, with no modification of player.lua... I'll think about it.
Tub wrote:
How do you do the colouring of the different sprites? It appears that they're converted to greyscale, then hue-shifted. I suppose proper palette shifts aren't possible?
The sprites can be anything. They are defined in a simple png file. The ones I used used simple colors because I'm not that interested in graphic work, but others have made a really neat set of sprite sheets using the friendly aliens as the ghost sprites. My current sprite sheet is imperfect for other reasons two: a few sprites are missing because Samus was flashing while I recorded them. The most important one is the "ouch" pose (you probably noticed this during the first Ridley battle, for example). Here is the current sprite set, in case you want to tweak it: http://folk.uio.no/sigurdkn/poses.png To replace samus with something else, simply put that something else at the appropriate location of the grid.
Experienced Forum User, Published Author, Former player
Joined: 2/19/2007
Posts: 424
Location: UK
boct1584 wrote:
If it is the same room, this might be a faster way to get the Gravity Suit in an any%, depending on if you have sufficient items to Crystal Flash by then; I kinda doubt it though, since IIRC Phantoon is the first boss fought.
No it isn't since the gravity suit isn't in that room until Phantoon has been killed, as has been pointed out twice already.
1 2
9 10 11
16 17