Posts for Randil

Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
I don't think the fact that FCEUX emulates at 60.1 fps should be a factor at all - you should always compare the frame counts. I'm not really sure what you were talking about with the bad dump part, since bad dump ROMs aren't allowed according to the rules. And as mmbossman said, there are a whole lot (read: almost all) of NES games published that can be improved - I know specific improvements to quite a few of them, including some of my own (I have movie files to back it up). It's more a matter of motivation and patience in order to improve them. There really aren't many NES games published that aren't improvable, every time we believe a run is perfect, someone just pops up and proves us wrong. And arukAdo has a point too, I believe that GBA in particular has a lot of gems that are just waiting to be TASed.
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
Hehe, nope, I once had around 200 memorized. :) Now I have around 40 or so memorized, so perhaps I should try and learn the tune that this script plays. ;)
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
I actually wasn't aware of the length operator, so thanks again Dromiceius, you're very helpful as always. :) With this information, I now present my "Pi music script" - run this script on the "NES Test cart" ROM when in the controller test mode - it will play up the decimals of pi, with each decimal corresponding to a joypad input - you can change the value of the variable "length" to vary how many frames the notes will play. Because there are 10 digits but only 8 buttons, I assigned digits 0 and 9 to controller 2. So if you have ever wondered what pi sounds like in music format, you can now find out:
pi ={[0]
=1,4,1,5,9,2,6,5,3,5,8,9,7,9,3,2,3,8,4,6,2,6,4,3,3,8,3,2,7,9,5,0,2,8,8,4,1,9,
7,1,6,9,3,9,9,3,7,5,1,0,5,8,2,0,9,7,4,9,4,4,5,9,2,3,0,7,8,1,6,4,0,6,2,8,6,2,0,
8,9,9,8,6,2,8,0,3,4,8,2,5,3,4,2,1,1,7,0,6,7,9,8,2,1,4,8,0,8,6,5,1,3,2,8,2,3,0,
6,6,4,7,0,9,3,8,4,4,6,0,9,5,5,0,5,8,2,2,3,1,7,2,5,3,5,9,4,0,8,1,2,8,4,8,1,1,1,
7,4,5,0,2,8,4,1,0,2,7,0,1,9,3,8,5,2,1,1,0,5,5,5,9,6,4,4,6,2,2,9,4,8,9,5,4,9,3,
0,3,8,1,9,6,4,4,2,8,8,1,0,9,7,5,6,6,5,9,3,3,4,4,6,1,2,8,4,7,5,6,4,8,2,3,3,7,8,
6,7,8,3,1,6,5,2,7,1,2,0,1,9,0,9,1,4,5,6,4,8,5,6,6,9,2,3,4,6,0,3,4,8,6,1,0,4,5,
4,3,2,6,6,4,8,2,1,3,3,9,3,6,0,7,2,6,0,2,4,9,1,4,1,2,7,3,7,2,4,5,8,7,0,0,6,6,0,
6,3,1,5,5,8,8,1,7,4,8,8,1,5,2,0,9,2,0,9,6,2,8,2,9,2,5,4,0,9,1,7,1,5,3,6,4,3,6,
7,8,9,2,5,9,0,3,6,0,0,1,1,3,3,0,5,3,0,5,4,8,8,2,0,4,6,6}

m=pi

n=0
length=12
c=length

d="3."

while n<=#m do

key1={}
key2={}

u=m[n]

if c==0 then n=n+1 c=length d= d .. u end
c=c-1

if u==1 then key1.A=1 end
if u==2 then key1.B=1 end
if u==3 then key1.start=1 end
if u==4 then key1.select=1 end
if u==5 then key1.left=1 end
if u==6 then key1.up=1 end
if u==7 then key1.right=1 end
if u==8 then key1.down=1 end
if u==9 then key2.A=1 end
if u==0 then key2.B=1 end

joypad.set(1,key1)
joypad.set(2,key2)

gui.text(10,18,"Tone length: " .. length)
gui.text(10,26,"Number: " .. d)

   FCEU.frameadvance()
end
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
Haha, nice find! This game is a lot more broken than I thought. Keep on finding those glitches!
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
I often use lists of the form
u={[0]=1,4,5,2,4,3}
Is there a command that fetches the length of this list? In my example above, the length would be 6. I've tried commands like "length" and "size", but they don't seem to work. I looked around on google, but didn't find anything.
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
I found this run very entertaining, so here's another yes vote!
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
I wish you the best of luck with your bot project, hopefully it works out well. Will you post your progress in this thread or only on your personaly Solomon's Key page? And is there any chance that you'll upload your movie file on you SK page (or in this thread) so that we can take a look at your progress as it goes along?
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
Yeah, the timer shouldn't be used as a reference - it decreases when RAM address $0437 performs one cycle, and this RAM address increases by 34 each frame (so on average life decreases every 256/34=7.53 frames), so by starting a level with a high value on this address will make the timer decrease sooner at the start of the level. I think a run of this game should aim for fastest real time - aiming for best in-game time would sometimes force you to wait a few frames before finishing a level to get a good value of $0437 at the start of the next one. Oh yes, I have a pretty new WIP of this game - I tried it again, but as Bisqwit has pointed out, this game is very evil when it comes to randomness, so I don't think I will continue it. Here it is if anyone wants to take a look. It's hard to compare this to the published run since it's a Famtasia run, so this WIP might in fact be a frame or so slower on one or more levels - either way, this was more of a test run, so I believe more frames can be squeezed out. EDIT: After thinking about this some more, I think a TAS of this game could have fastest in-game time as a secondary goal, but mainly aim for fastest real time. But overall, it's no big deal for me, I don't think a run that aims for fastest in-game time as primary goal will look very different anyway. :)
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
It shouldn't be hard to do this with a lua script, even without a lag counter. It sounds interesting enough for me to perhaps do it when I get home. On a related note, does anyone know if it is possible to fetch this lag counter value with a lua command? EDIT: I think I'm a little confused now - does the latest FCEUX have this lag counter? Or are we talking about Mednafen or something?
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
dezbeast wrote:
My avatar didn't happen to influence your choice, did it?
Hehe, nope, I've been playing this song probably even before I joined TASVideos.
dezbeast wrote:
Edit: That was actually pretty good. Can you sight read?
No, so it takes some time for me to learn a new song. However, I've been getting better and better at playing by ear, so that helps out a lot. Nice playing Fabian! Did you learn it from sheet music or did you mostly play by ear?
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
I'm very impressed, both songs were very well played and I didn't really notice any mistakes. I personally like the sound of old pianos, so to me, that's just a bonus! How many years have you been playing the piano? To me, it sounded like you have several years on your back at least. I'm playing piano myself (though I'm not as good as you are), so this got me a bit interested in perhaps digging out my own digital camera and upload a video myself. Once again, really great job, I'd love to see more from you! :) EDIT: I uploaded two videos myself, and just to make it clear to everyone, I'm not in any way a professional player, I've barely had any lessons even, I mostly play for fun. Anyway, perhaps some of you might enjoy these: Gathering Stars in the Night Sky from the game Xenogears. Comptine d'un autre été l'après-midi. Now I hope to see more users here upload their own piano videos! :)
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
I did a short movie of this game some time ago, just for fun. I accidentally lost most of the progress due to sloppy save state handling, but I still have a WIP up to stage 10, here. There are two other Galaga threads in the forum, so a forum editor might want to mend all these together.
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
Allrighty. I've actually tried TASing this game too, but after finding out how much lag this game has, and the fact that lag appears literally all the time, even when there isn't much going on on screen, I now avoid this game like the plague. This game requiries a whole lot of patience if it's to be TASed thoroughly. I still have some RAM addresses and stuff on my computer at home, which I can upload when I get back if there is any interest.
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
You can use the gui.register() command in the script to avoid the "1 frame behind" issue - if you post the script herel, I can give you a hand with it (if you're having troubles making it work yourself). Perhaps you mean that it's not about the script displaying it 1 frame behind, but the value is actually your speed 1 frame earlier, and in that case I guess there's no helping it. And yeah, I didn't do very much testing before coming up with those speeds, so I'm not terribly surprised if they're a bit off. :)
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
How does you run compare to AnS' attempt earlier in this thread?
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
mmbossman wrote:
17 yes votes... quite a few votes for not much verbal input. In any case, this gets a solid meh from me.
Yeah, I have noticed this too - my Kid Icarus movie also got a high "yes votes" / "posts explaining the yes vote" ratio. (though that run was an improvement to a published run, so in that case I guess it wasn't as important). Not that I mind much, but I personally encourage all yes votes to follow along with an explanation of why you cast the vote you cast - for me, even a "this was entertaining and the technical quality looked good" often suffices. Not only does it help judges, it often helps the author - I think observant viewers such as Zurreco who asks good questions, give constructive criticism and explains their vote are great to get feedback from. So I guess the message of this post kind of is "yes votes are good but constructive posts are better" . :) EDIT: Oh, and thanks for accepting. :)
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
Any new progress on this? Have you decided how to deal with the FCEUX problems with this game? (i.e. will you switch to FCEU or wait until FCEUX can emulate this game?)
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
I won't have a steady Internet connection during the holidays, so you'll have to excuse me for being a few days early when I say: God jul ("Merry Christmas" in Swedish) och gott nytt år (happy new year) TASVideos! I hope you all enjoy your christmas holiday. May 2010 be another year with plenty of great TASes!
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
OmnipotentEntity wrote:
Exact value: h = 2*sqrt(2*(sqrt(3985)-4))
Out of curiousity, how did you come up with that?
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
A very small site bug, but still: On the NES movies only page, the header says "TASVideos movies: only" when it should say "TASVideos movies: NES only" or perhaps "TASVideos movies: NES/FDS only".
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
You're all probably well aware of this, but I thought I should tell you just in case: a lot of movies have the tag "N/A" now for some reason (see the NES movies for example). I'm guessing it should be possible to write a script that simply removes this tag from the movies that has it.
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
fetofs wrote:
I don't get how you did that sum there, but a simpler way would be to simply pick 2 vertical lines and 2 horizontal lines: 2 vertical lines: m choose 2 = m(m-1)/2 2 horizontal lines: n choose 2 = n(n-1)/2 Multiply it out, and you have your answer...
Huh, yeah that is indeed a lot easier. :P I guess I made things a little too complicated.
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
A rectangle of size a x b can be placed in m-a horiztonal positions and n-b vertical positions (this is easy to see if you draw a picture of the grid). So a total of (m-a)*(n-b) total ways to place it in the grid. In order to fit in the grid, a must be an integer between 1 and m-1. In the same way, b must be an integer between 1 and n-1. If we sum over all possible combinations of a and b we get: Is this right? With this formula I get 36 rectangles on a 4*4 grid while you get 30, but after drawing up the grid myself, I see that you can indeed put 36 and not 30 rectangles on a 4*4 grid, so my formula might actually work.
Post subject: Circus Charlie
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
I'm a little surprised that this game didn't have a thread. Due to the recent interest in the game B mode of the game, I decided to try and improve my old game B run. With sergio89's stage 5 trick, and using known techiniques to manipulate fire rings on stage 1, I was able to shave off 41 frames from that run! Here's the .fcm. Here are the details: *I saved 14 frames on stage 1 by using the same method of manipulating the fire rings as the published run does. By moving 1 frame back when the ring X subpixel is <108, I push the fire rings slightly forward. By doing this trick 4 times, I am able to jump through the fire ring around frame 2500. *I lost 1 frame between stage 1 and 2 because I end stage 1 with 10 more points. *I gained 1 frame between stage 2 and 3 because I end stage 1 with 10 less points. *I saved 1 frame on stage 3 due to getting better "randomness" (i.e. start the level with a better value of RAM address $0052). *Using sergio89's stage 5 strategy, and optimizing it, I saved 26 frames on stage 5. That's 7 faster than sergio89's run. It turned out that RAM address $0099 plays a big role here - the trick is to avoid holding down right while swinging on the first rope, this will make $0099 have a lower value, which in turn will make the rope turn around sooner, which allows me to jump to the next rope slightly sooner. While I'm already talking about this game B run, perhaps we should discuss whether or not a game B run should obsolete the published run. If you have an opinion on this, please make your voice heard in this thread so we can come to a conclusion eventually. :)
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
Dromiceius wrote:
Huh. Seems they do. Though, you couldn't rightly call this pike 'indiscriminate.'
Cool video (that language they're speaking is Swedish if anyone's wondering). :)