Posts for Aqfaq


Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
King's Bounty improved 4 frames: http://dehacked.2y.net/microstorage.php/info/1436327623/giasbounty.gmv I had min frames: 5 Max frames: 6 Winning movie number: 10636 The coordinate was [12,4], so the movie contains 3 frames more walking, but much less luck-manipulation. I still need to figure out the exact movie properties. It seems something strange is going on in the beginning of the movie... Uses skill level 3/4. (This saved 2 frames, if you count it as improvement and equally entertaining as choosing the hardest skill level.) Gia wins! I believe more is possible, like 5 or 6 frames of improvement, if the sceptre gets manipulated closer. There are still many iterations to test. Well, awesome.
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
Everything seems to be working fine now. Excellent work, gia! The number of iterations is getting high, so to avoid double work, I'll inform that I'm going to run the bot up to 9 frames now. (5 and 6 frames together have more than 12 000 possibilities already.) If someone wants to join using the bot, just tell what you are doing to avoid double work. (It doesn't matter really, using the bot is fun anyway.)
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
gia wrote:
hmm, i haven't tested the new bot
It was the old bot. Haven't tested the new one yet. Maybe the log problem is just on my end. Edit: Anyway, it is no big deal. It just leaves a few movies out, so I can rerun from the point where the log ends and it will work fine.
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
I tested some more and it seems that the log is often incomplete:
...
.\bot\226.gmv		ffe8a8	0	ffe8aa	0	ffe8a6	0
.\bot\227.gmv		ffe8a8	26	ffe8aa	1c	ffe8a6	1
.\bot\228.gmv		ffe8a8	2e	ffe8aa	b	ffe8
There were 250 movies, but this time it stopped logging after movie 228 and left an incomplete line. I ran the bot with high frame skip, so it might be causing this? I'm sorry, I can't give a more specific bug report.
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
Nice work, BZero. You pay a lot of attention to little details to make it fast. The two little anomalies were enjoyable. If you are interested trying more this type of adventure games, please take a look at a Genesis/SNES game called Scooby Doo Mystery.
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
gia wrote:
if you are completely sure it remains 0-4-8 then ok.
I'm sure. After inserting frames, the behavior stays the same, but gets pushed forward.
gia wrote:
Instead of add use insert please, that gives me the idea that the presses/idles are added to that frame and the old contents of that frame get pushed forward.
Yes, sir. I intended to say "insert", when I said "add".
gia wrote:
Your movie has input on 341 but not on 343 (it is on 344), are your instructions correct?
Sorry, my mistake. 344 is the correct frame.
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
Ok, I ran some tests and it seems to work great. It is amazing to see many hours of work fly pass in a minute. Awesome. :) As you can see now in the logs, there is the problem that many movies give result 0,0,0, because the start button registers only every 4th frame at frame 339. Many movies fail to start the game.
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
I made further tests and it seems that I can reproduce the exact same manipulation with holding and idling. Well, I can't test every combination, so there might be some strange cases where left-left-idle produced different result than left-idle-idle. For now, I would say there is no need to ever hold any button longer than 1 frame. But it is not solely about idle frames. We still need those 1-frame lefts and rights. All the required input variations are listed in one of my posts above, but I'll put them here too: 232 --> idle 0-17 frames. 283 --> idle 0-17 frames. 339 --> idle 0, 4, 8, 12 or 16 frames. 341 --> insert combinations of {right-idle, left-idle, idle} for 0-17 frames. 344 --> insert combinations of {up-idle, down-idle, idle} for 0-17 frames.
gia wrote:
Anyway you missed a number as the first thing on the bot config
Oh, yes, I left that blank, because I was thinking if there are many movies to test, we could organize the work, so that alden (if he or someone is still interested) can have the opportunity to run the bot too. Like, I could begin from movie 1 and alden could start from movie 5000. Oh well, I'll test the generator now with 6 frames, so that I can see how it works. Edit: 343 = 344 Edit-2: add = insert
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
gia wrote:
On kb optimal the continent is defined at frame 366.
In other words, 23 frames after the last input.
gia wrote:
1. Random input AFTER the last input clearly affects the coordinates and continent.
But it has no meaning, because the results are exactly the same as delaying the last input. The game needs one idle frame to register the input. If you press buttons immediately after the last input, the START just gets delayed, so that is why the memory values are changed. For the same reason, there's no need to hold the buttons at earlier points either, because to me it seems that holding always has the same results as some idle frame pattern. Edit: IMPORTANT! One more simplification for the input variations: At frame 339, the game registers the start button only in 4-frame intervals. So, the possible idle frame patterns at frame 339 are these: 0 4 8 12 16 So, there are 5 possibilities at that point instead of any amount of idle frames. This reduces the task a lot. I really think that every meaningful movie variation is considered with the input variations I have listed a few posts ago. Or do you have doubts, gia? I can't think of any other kind of input to test, but if you have ideas, I'll check them. Edit-2: First suggestion for the bot configuration:
// These lines will check the sceptre location and report success, if it is located nearby on the first continent:

366	384	-	FFE8A8	FFE8A8	-	a	c	1	0
366	384	-	FFE8AA	FFE8AA	-	4	6	1	0
366	384	-	FFE8A6	FFE8A6	-	0	0	1	0


// This line stops the movie, if password screen is entered:

346	364	-	FFE509	FFE509	-	fc	fc	0	1
If this configuration seems ok to you, I'm ready to run the bot when I get the movie files.
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
Nice work, gia! This seems promising. It took me a moment to fully understand the approach we have here, but all of it makes sense now. Very good, very good... I don't have time right now, but it should not take long to configure the bot, because you have made it so easy to use and intuitive. Thank you very much. Oh, by the way, I found out that if address 00FFE509 has the value 252, the password screen has been entered. Observing that as a failure will greatly speed up the work. I'll see what else I can add to the bot config file later. I'll post my finished configuration here then, for others to see. I can't tell when... but hopefully soon. See you!
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
I have never played this game, but thanks to the detailed comments by the author, I had no problem understanding what happened. This is thoroughly extraordinary, funny and clever.
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
gia wrote:
At 340 you have an idle frame but you aren't including it in the manipulation why? Aren't you able to do Start, Left for example?
It is not included in the manipulation, because it is always required. The game needs 1 frame to think between the button presses.
gia wrote:
And finally between 357 and 380 are you able to modify by rapid firing buttons?
Pressing any buttons seem to have no effect after that point (357). That is one of the reasons why I originally made the assumption that only functional input changes the RNG. In any case, I'll do some more tests with redundant input. Meanwhile, here's some new info: 63 - START - Fade logo. Idle frames have no effect here! You can add huge amounts of idle frames in the very beginning of the movie without changing the result. 232 - START - Fade another logo. Idle frames affect randomness! 283 - START - Fade the title screen. Idle frames affect randomness! So, it seems that the bot should start working at frame 232. Also, I had missed the fact that there are more relevant coordinates: {11, 4} - 9 frames of walking required. (This is used currently.) {11, 5} - 0-frame walk (Optimal.) {11, 6} - 9-frame walk {10, 4} - 12-frame walk (Not bad afterall!) {12, 4} - 12-frame walk All other locations are too far away to have any meaning, but any of these five have potential for improving the movie, if achieved with short luck-manipulation. In general, improvement happens, if walk frames + luck-manipulation frames <= 17 Right? As it seems, the luck-manipulation got a bit more complicated, so I see a good chance for an improvement here. So, umm... The hypothetical optimal movie with hardest difficulty is 592 frames. To improve the current record (610 frames), there are 17 frames of variation that can be added to the hypothetical optimal movie. Here is the base input file with optimal input up to the point where the coordinates are directly viewable from the RAM: http://dehacked.2y.net/microstorage.php/info/1459791714/kb-optimal-input.gmv (Do you really need the input for the rest of the movie? It is easy to do manually at any time.) The meaningful variations to that movie seem to be the following: At frame 232 --> idle 0-17 frames. 283 --> idle 0-17 frames. 339 --> idle 0, 4, 8, 12 or 16 frames. Note: The manipulation seems to "accumulate" already up to this point, so that adding the same amount of idle frames to different sides of the relevant frames causes different results. 341 --> add combinations of {right-idle, left-idle, idle} for 0-17 frames Note: If the password screen is entered at this point, the movie has failed. I'll try to find a RAM address for indicating that. Oh, actually, it could be verified by checking that no coordinates were delivered at the given time limit. 343 --> add combinations of {up-idle, down-idle, idle} for 0-17 frames Note: If the bot wants to use any difficulty level, then the maximum amount of variable frames in every point is 21 instead of 17. But if the bot tries every possibility beginning from the shortest patterns, then maybe we don't need to speficy the difficulty setting at all, since it will have meaning only if no solution is found after 17 frames. Did that make sense? As far as I can tell, these variations in these five points should cover everything regarding functional input. Quite a lot of possibilities there already, but I have the feeling that some interesting results might happen rather early. There are possibly many ways to reduce the task after certain frame limit has been reached. Like, after 9 frames have been used for luck-manipulation, then the only working coordinates are {11, 5}. I hope this helps. I'll do some more tests now with different types of redundant, non-functional input. Edit: Updated and highlighted the input variations.
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
Sorry, can't help you with the emulator code. I hope someone can show you the correct source. Here is one more memory address: 00FFE8A6 - This tells what continent the sceptre is located at. "0" means it is on the first continent, so that is the desired value. If it is not 0, the movie has failed. ---- Ok, here is the whole input of the current movie described frame by frame: Frame number - INPUT - Result 63 - START - Fade logo. 232 - START - Fade another logo. 283 - START - Fade the title screen. Note: For those first three screens, I still need to verify if adding idle frames to them affects the randomness or not. I'll test it soon. Luck-manipulation begins now: 339 - START - Begin character selection. Timing of this affects the randomness! 340 idle These are the only "pure" luck-manipulation frames: 341 - RIGHT 342 idle 343 - LEFT 344 idle 345 - LEFT 346 idle 347 - IDLE 348 - LEFT 349 idle 350 - START - To pick the character. 351 idle - loading... 352 idle - loading... Choose the hardest difficulty while still affecting the coordinates: 353 - UP 354 idle 355 - UP 356 idle 357 - START - To begin the game. 380 - Sceptre coordinates show up in the corresponding RAM addresses. Note: The rest of the movie is not relevant for the bot. Gameplay begins: 586 - Walk 9 frames down. Then, perform search: 595 - A - Summon action menu. 596 idle 597 - UP - Switch action 598 idle 599 - UP - Switch action 600 idle 601 - UP - Switch action 602 idle 603 - UP - Switch action 604 idle 605 - A - Pick action: "Search" 606 - idle - loading... 607 - idle - loading... 608 - DOWN - Choose "Yes". 609 idle 610 - A - Perform search. Game ends. ---- Oh, would it be possible to make the bot log all different coordinates to a text file, just to see what kind of coordinates are possible? Maybe there exists a small predefined set of them. I'll try to give some more info soon.
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
Hello, gia! I haven't watched this nice Poke movie yet, but I'll try to watch it soon..
gia wrote:
About Kings Bounty I had just read that topic a couple days ago!, my bot is for VBA not Genesis, if the emulator's code is public I suppose I could write a quick movie bot provided I don't get lost in the code, but I'd definitely not run it, Aqfaq might be interested though.
Thank you. I'm not any better at running bots than anyone else here, so if you make it work, please give public instruction on how to use it, so that other people (like alden) can try it too. (I'm not sure who would be the author of the movie, if the bot finds an improvement, but I really don't care about that.) I have no idea what would be the best instructions for the bot, but I'll check out some stuff and try to give some efficiency ideas for it soon (although you probably already know all the relevant stuff much better than I do). For avoiding cluttered threads, let's continue the King's Bounty bot discussion here: http://tasvideos.org/forum/viewtopic.php?p=165570#165570 Edit: Or if you are planning to make the bot a more general tool, please create another thread for it.
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
The movie lenght is no problem for me, so voting "yes" for the good action sequences and the funny results of the dialog glitch.
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
Ok, just for fun. There's an old C64 game whose identity I am unable to track. If I recall correctly, it had wild-west theme. There was overworld where you entered different houses. In the houses, the player collected stuff and avoided some falling obstacles and other hazards. The suspected player character was possibly white in color and may have had a gun, but I'm not sure. Off-topic:
Larkin wrote:
Probably zero TAS potential.
Not quite. Even though The Faery Tale Adventure seems like a slow multi-hour game, there exist a few tricks that can speed it up drastically. For example, it is possible to go through walls by getting unconscious near a wall, because waking up pushes the character a few pixels forward. It is almost even possible to get immediately to the final castle with this trick. Also, luck-manipulation works very well in this game, so that any item-drop can be acquired from any enemy.
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
Getting better and better. I see nothing to complain about, expect that the critical hit seemed to appear a bit too often with the default settings.
LagDotCom wrote:
Aqfaq: Spend those rerecords on improving King's Bounty :D
Haha! Well, I have already failed to improve it further, so I would recommend choosing another game, unless you want to waste your 1500 rerecords for nothing. Check what I wrote on the King's Bounty thread: http://tasvideos.org/forum/viewtopic.php?p=165570#165570
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
LagDotCom asked me to improve this movie, but I am unable to do that, so I'll try to give instructions for others instead. Here are some frame counts from the movie: It takes 9* frames to manipulate the sceptre to the adjacent location. It also takes 9 frames to walk to the adjacent location. So, I wasted 18 frames. Now, there are three possible methods to avoid wasting those 18 frames: Method 1 Manipulate the sceptre location to be the same as the starting location to avoid walking. To improve 1 frame, this manipulation has to succeed within 17 frames of luck-manipulation. The problem is that I have no way to verify that the sceptre can even be on the starting location. It has never happened yet. It is very laborsome to manually start the game with different luck-manipulation patterns and check the sceptre coordinates. A bot could easily test random stuff and check if the game ever begins with these sceptre coordinates:
00FFE8A8 = 11
00FFE8AA = 5
If this set of sceptre coordinates is never detected, then the 9 frames of walking to the adjacent location seem necessary. Method 2 If the first method fails, all we can do is to try manipulating the sceptre to the adjacent location with less than 9 frames of luck-manipulation. However, I tested every combination. I mean, I tested all 1-frame manipulation patterns, then 2-frame manipulation patterns... up to the succesfull 9-frame pattern (right-idle, left-idle, left-idle, idle, left-idle). (It was not too hard to test those combinations manually, because using Left or Right takes 2 frames.) Anyway, one of the things I'm unsure of is this: Does delaying the Start-button on the intro screen affect randomness? If it does, then these delay frames could be used for luck-manipulation too. Method 3 Show that Aqfaq has made a stupid mistake at some point. It is always possible that I have missed something relevant. One assumption I have made is that the luck-manipulation can be performed exclusively with the combinations of left, right and idle in the character selection screen. This assumption may be false, but I don't have the abilities to verify/falsify it. * Well, actually I use 13 frames to manipulate the sceptre, but 4 of the frames are used to change the skill level to hardest, so I don't consider the input of those frames luck-manipulation. It could be argued that any skill level suffices here, but I think choosing the hardest skill level makes the movie funnier for those who pay attention to details.
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
Nice first submission, RattleMan! The game is a bit repetitive, but the music is funny and some of your stylistical choices entertained me to some extent. The rollercoaster levels were funny, despite their autoscrolling nature. The bad hit detection and lag makes it look sloppy sometimes, but I know the game and I think your movements were rather precise, so my vote is getting towards the "yes". One question, though. You mention that the "hardest difficulty plays through all levels". What does that mean? Does that mean that the warps are not available in the hardest difficulty? Or did you just decide to not use them? I think the levels offer very little new content as the game progresses, so if the hardest difficulty allows warping, it might make the movie more tight without significant loss in content. Overall, this may be an average TAS, but still quite good for a first submission.
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
LagDotCom wrote:
I probably should have put a cap on how much the ships can charge, huh. :p
Yeah, Super Mario pilot just held the charge button down for a long long time and managed to score 4500 points with a shot that was so large that it did not fit on screen. Maybe put a charge-shot damage cap to 250? (The size cap can be left a bit higher for fun, though.) It seems that the charged shots fly much longer than the normal shots, even many screenfulls. Maybe cut that a bit? The fire rate seems well balanced at the moment, but now that I think of it a bit more, it may slightly obstruct the purpose of the program from the visualization point of view. 30hz firing is a common occurence in TAS movies, so it would be good to have that possibility in the visualization too. Well, it is not possible to have everything at the same time, but maybe if the fire rate could be modified in the INI, then everyone would be happy.
LagDotCom wrote:
Do suggest what weapons Select and Start could do, by the way.
Sure. A Force Shield that absorbs shots? It could last a maximum of about 120 frames and vanish when hit. Graphically it could be a glowing circle around the ship, maybe purple in color. It might also cause minor damage (10 points) to enemy ships in collision. Well, a shield might be a boring thing. Maybe the shield is not a top priority... A Homing Missile? This would cause moderate damage, something like 50 points. It might look funny if the missile had a constant slow speed, not affected by the ship speed. To add more color to the scene, maybe all the missile bodies could be colored white with only the top of the warhead indicating whose missile is in question. How about a Flame Bomb? It would be a small bomb that bursts in flames at some distance. The laser idea might be good visually, right? I don't know what the laser properties could be, but if it looks cool, it's cool. I don't know which ones of these would be the best choices. All these ideas are rather old, but maybe they work in this context. I'm sure somebody could invent funnier weapons, though. Oh, a frame counter would be nice, maybe displayed as a decreasing "fuel counter" for each ship? This might be funny too: When more than 200 points of damage are scored in a single shot, display message "Critical hit!" and add a bigger explosion. For a dramatic effect, maybe even slow down the game to 10% of the original speed for a few seconds during the message. I hope others get more (or better) ideas for this thing. Good luck, LagDotCom!
Post subject: Re: Input Visualization Ideas
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
Xkeeper wrote:
The random dip to the lower right made no sense, either.
I thought that was the funniest part of the video.
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
I ran
iv_ship.exe adelikat-ddragon2.fcm 2
in its entirety and I must say it was better entertainment than an average TAS. It was a fierce dogfight with a really surprising ending. Recommended. Oh man... this is getting really funny. I wish every game had this powerful charge shots. I think the basic weapon is awesome now. Keep it. Hey, what is the syntax for using two different movie files? Is that possibility implemented yet? Now I need to use a multiplayer TAS to see some action. Maybe you could print the filenames before the score count for better identification of the players? (Not necessary, though.) You clearly know what you're doing, so I actually have nothing else to say for now, but I'll be sure to test stuff and give feedback on any future versions. This is already more or less awesome. Oh, I almost forgot! LagDotCom, you are free to pick any game that runs on FCEU or Gens and I'll use it to record 1500 rerecords for you, as promised in the first post.
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
LagDotCom wrote:
More weapons? Yeah, sure... a frontal screen-long laser would be nice, especially with lots of turning. L/R or Select/Mode could change them, I guess.
Well, actually using a button to change the weapons might be a bad idea from the visualization point of view, because it would be harder to follow what button the player is pressing, when the same button is used for various weapons and some button is used only for switching weapons. Maybe assigning cool special weapons to select and start buttons would be enough, so that the effect of pressing those buttons is immediate. That way there would be no need for weapon switching. Also, I think that the more complicated the program gets, the less meaningful the different TAS input patterns become. (Maybe I'm wrong, though.) How hard would it be to add charge function to the basic weapon, so that holding the button would produce a bigger shot?
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
The screenshot for this publication is from the old movie and NVA has failed to offer more than a black screen, so maybe one of these could be used: (Sorry, I can't change the screenshots of publications myself.)
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
LagDotCom wrote:
Here's my first attempt.
:o It had been only 6 hours from my first post! I am impressed. LagDotCom, you are fast! iv_ship.exe seems very promising and funny. It is exactly what I had on my mind. I hope you develop it further. Maybe the fire rate could be adjusted a bit, so that the TAS files that shoot a lot don't have so huge advantage. (Heh, klmz2-smb1.fcm would beat adelikat-gradius.fcm a bit too easily, because gradius only tries to dodge and smb shoots a constant stream of bullets.) The speed is quite fast, so maybe it should be lowered about 5-10%? Or maybe the speed is different on different machines, in which case adjustable speed would be a good addition. A scoring system that counts the hits might be a good way to determine the winner. I hope you manage to add more weapons to it. :) This thing seems awesome in a uniquely funny way. There's something universal in these red and blue ships. I wonder what else you come up with. :)