Posts for feos


1 2 341 342 343 439 440
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11269
Location: RU
http://youtu.be/t1fkvSldQVM "todo by feos in 30:32" can be deleted.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11269
Location: RU
Thread #14051: Debate: allowed or not?
AnS wrote:
ALAKTORN wrote:
@MrGrunz: that’s a good point, does anyone know if it would work? basically pressing left then right so fast that the game registers them at the same time
No, it would not work. There's common convention to poll joypad input by "strobing", which is reading input port only once per frame and storing the current state in memory. So it doesn't matter if you manage to press/release any buttons between two strobes, the game will only register those buttons that were held at the very moment of making a strobe.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11269
Location: RU
caiophilipe wrote:
But isn't the vault supposed to contain runs for every game? So isn't an unoptimized one better than none? Sure, terrible sloppy runs should be rejected, but this doesn't seems to be the case. I liked this submission because it was short and fun, but I'm not actually trying to defend it though. I'm more trying to understand how the vault policies work.
If we start accepting runs that were proven to be suboptimal, we won't find any more optimal runs at some point. Because the optimality standard will lower that way. There always are some possible improvements in the runs we accept as optimal enough, but those either were not found at all, or are not so significant to redo the very thing. So basically, the main question is, what improvement can be considered significant enough, to make the run get rejected if it was not implemented. That question can only be answered by people who made a good amount of runs that were considered very well optimized by the community: viewers and other TASers. If a run contains errors that even non-TASers can notice (like bumping platforms instead of jumping over them, or not using vertical acceleration to fall down faster), then such run is not up to our standards. It does not represent superplay. Because superplay requires using the available tools to their maximum. Well, since 100% maximum is not achievable, there are Judges that must weight everything and apply the current optimality standards to the movies and make solutions. About Vault: it does not lower our optimality standard. It lowers only our entertainment barrier. Because entertainment is quite a subjective factor, and unfair decisions are possible. Now almost any game run can be accepted to Vault if it is a speed record. So actually, optimality is a critical factor especially for Vault. Moons can in theory accept a run that is suboptimal, but was greatly received. Optimality is the only thing that justifies Vault's existence, so suboptimal movies can not go to Vault.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11269
Location: RU
Finding Camera X coordinate. You know now how RAM Search works, apply your knowledge to camera movements. Camera moves along the level map and always shows your character, but it doesn't move equally to him. You must move right enough to make camera move. But not too far, to not let its low byte overflow. 1. Walk around the left side of the first screen, not letting the camera move. 2. Search for value that does not change. 3. Advance the camera right a bit. 4. Search for the value that increased a bit. 5. Advance it a bit more and repeat the search. 6. Then go left and search for the value that decreased. Find camera high byte the same way you found player's X high byte. Make camera low byte overflow and search for the value that increases by 1. Add both values to RAM Watch and sign them accordingly. If you have full camera X position (2 addresses) and full player X position (2 addresses), you can calculate the exact position where Mario is on the screen. It is needed to draw something with Lua. But at first you need to find your Y position (height). Note: Y position may work in 2 ways. It either increases as you get lower (indicating the exact pixel on the screen your character is at), or it increases as you get higher (counting your position from the very bottom). Let's try the first way at first. 1. Pause the game. Reset search. 2. Press jump and advance some frames. 3. Search for the value that becomes LESS than the previous value. 4. Keep holding A and advance some more frames, as Mario gets higher. 5. Repeat searching for the value that decreases. 6. When Mario reaches the ground again, search for the value that became GREATER than previous. 7. Walk left and right, searching for the value that was EQUAL to the previous one. I'm getting MANY addresses here, but you can add the first 2 that show different values (0002 and 00CE) to RAM Watch and then check what is more correct. Drawing something over your character's sprite. Download MarioDraw.lua
Language: lua

function Draw() -- prefix 0x before the number means it is not decimal but hex. MarioXlow = memory.readbyte(0x86) MarioXhigh = memory.readbyte(0x6D) MarioX = MarioXlow + MarioXhigh*256 CameraXlow = memory.readbyte(0x71D) CameraXhigh = memory.readbyte(0x71A) CameraX = CameraXlow + CameraXhigh*256 MarioScreenX = MarioX - CameraX MarioScreenY = memory.readbyte(0xCE) gui.text(MarioScreenX, MarioScreenY, "Hi!") end emu.registerafter(Draw)
Download the script, drop it right onto FCEUX window, while SMB game is loaded. We see that the Y position we used is a bit wrong. So just change one line in the script:
Language: lua

MarioScreenY = memory.readbyte(0xCE)
to
Language: lua

MarioScreenY = memory.readbyte(0x2)
Press Restart button on the Lua Script window. Now as you move, you will see that sometimes your "Hi!" text jump up for a few frames. It means that the same addresses is used for something else, so we must find the one that ONLY indicates Mario Y. However we notice that 0x2 is exactly where Mario is vertically, so we just search for an address whose values are identical to 0x2. If you repeat your Y position search you will see them all again. Let's try 0x4AF, and put it into the script instead of 0x2... Works for me! I think that all those addresses that were changing identically with Mario movements, but were a bit shifted towards each other, indicate the whole Mario's HITBOX. Because 0x4AF indicates his bottom, that can collide with floor.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11269
Location: RU
Okay. Let's take SMB, pretending it doesn't have all the addresses you need already. Finding your character's X coordinate. Note that all values are present as BYTES, one byte is 256 units (from 0 to 255). NES screen width is 256 pixels, so Mario has 256 possible places where he can be on screen horizontally. But the level is LONGER than one screen, so there is another byte that counts how much whole screens you are far. Maximum level length is not 255*255. So there are usually 2 bytes to represent your full position in level. It's like a 4-digit number. But instead of using 9 as a biggest value, we use 15, or F in hex. One byte is from 00 to FF. Two bytes present a machine WORD, and look like a number from 0000 to FFFF (0 - 255*255). It works just like having a number from 0000 to 9999. One byte is called high (the left one) in this 2-byte number, another is called low (the right one). Okay, so once the low byte (1 whole screen) overflows, the high byte increases by 1 (another screen starts). Once you reach position 255 and keep moving, your low byte becomes 0, and high byte increases by 1. Now you know how X positioning works in nearly all 2D games. Let's find the addresses. Go to the leftmost position in the first level, open RAM Search. Data type - set Unsigned. Compare to - set Previous value. 1. Comparison Operatior - set to Greater than. 2. Move a little bit right. 3. Press Search button. 4. Move a bit more right. 5. Press Search again. 6. Don't move, just wait. 7. Comparison Operatior - set to Equal to. 8. Hit Searh. 9. Move left. 10. Comparison Operatior - set to Less than. 11. Hit Search. 12. Move more left. 13. Hit Search. This way you will find the address that changes just along with your movements. And if you go right far enough, it overflows and starts from 0 again. That is the low byte of your X position. EDIT: Press Watch button. Type "Xpos low byte" and then OK. Now you need to find the high byte of X position. At first high byte is always Zero, then after the first overflow of the low byte it becomes 1. 1. Reset Search. 2. Comparison Operatior - Equal to. 3. Compare to - Specific value - type 0. 4. Move right so that low byte is almost 255. 5. Search. 6. Move right so that low byte overflows. 7. Compare to - Specific value - type 1. 8. Search. 9. Move a bit more right. 10. Search. This way you will find the address that increases when low byte overflows (255, then 0 and higher), and decreases when low byte goes from 0 to 255 and lower. Press Watch button. Type "Xpos high byte" and then OK. Now you have a full value of your position in level.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11269
Location: RU
What game do you need those things for, at first? I could go step by step and you would follow and repeat those steps yourself.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11269
Location: RU
I have no clue about how casino works, so I'm not the one to fix it.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11269
Location: RU
Will destar if it goes well sub 8.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11269
Location: RU
Movie rating proves my impression. 5 voters, and 8.5 rating already (8.5 entertainment/8.6 techincal). Starring!
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11269
Location: RU
Update the submission please. User movie #8033018866490317
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11269
Location: RU
Capture gameplay. Make a script that would draw a Magic Pink box all over the screen, and record whatever OSD you want over it. Remove the pink color in avisynth, paste over gameplay. But I'd record OSD over gameplay already, just need to make lua for that. Or does BH support dimping lua drawings?
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11269
Location: RU
I added zlib1 to the package, redownload. Not sure what's wrong with HD though. Quote the surrounding lines as well (snapshot is also ok). BTW, for SDs, you will need to resize your capture:
Language: avisynth

LanczosResize(320,240)
.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11269
Location: RU
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11269
Location: RU
It is the same game.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11269
Location: RU
Doing all encodes.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11269
Location: RU
Then I'm setting it to delayed, since the improvement is being worked on actually.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11269
Location: RU
Hmm, the votes aren't that enthusiastic as my personal impression. Does anybody agree it's a Star? We have some spare places in Stars, so technically it won't be a problem, but I want to be sure. I see the brilliance of endless interesting features mixed with the speed-oriented action (they just go along each other with no border), heavy rng manipulation throughout the run and impressive endings of some levels that deserve to be put in a gif as a hover version of publication screenshot.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11269
Location: RU
How is it going, Palidian? If you manage to resync the improved movie I will gladly accept it.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11269
Location: RU
Got it to sync, that movie unexpectedly runs at full fps for me, newer versions of BH never do that.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11269
Location: RU
Vault accepts 2 types of runs if they were not liked enough to go to Moons: any% and 100%/best ending. If the run is liked, it can have different goals as well and still got o Moons.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11269
Location: RU
Well, if you can write a script for pointresized HD it would be awesome.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11269
Location: RU
Can I just use your YT upload for alternate stream? The script looks too messy to build something HD out of it, while I think your youtuber is acceptable already.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11269
Location: RU
Try entering the cars level 1-5 frames later, maybe they will syncronize.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11269
Location: RU
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11269
Location: RU
I think input is displayed there using gpu message function, not real lua drawings like tas gpu.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
1 2 341 342 343 439 440