Posts for John11


Experienced Forum User
Joined: 3/4/2012
Posts: 74
That's really cool and it's one of my favorite songs ever too. Could you try to do the intro song to Solstice? It bet it's too complex though.
Experienced Forum User
Joined: 3/4/2012
Posts: 74
"But one day, the Nightmare entered the dream and began wreaking havoc. Then you, THIEF, came to rescue the island..." - The Owl I think he might have gotten that backwards.
Experienced Forum User
Joined: 3/4/2012
Posts: 74
I've watched just a quarter of it so far and it's amazing. I can't wait to see the rest. I had no idea just how broken this game could get. I can't wait to watch the rest later.
Experienced Forum User
Joined: 3/4/2012
Posts: 74
rog wrote:
Cheat engine should work fine to watch speed.
Can I watch multiple values at once? I just remember trying to go back and forth between multiple memory addresses to check the value for each one each frame. I might just be using it wrong.
Experienced Forum User
Joined: 3/4/2012
Posts: 74
Waffle wrote:
Anyone still working on this? I'd be interested in seeing the progress sonicpacker and mapler made so long ago if one of you still have it. I'm thinking about starting a TAS eventually of Beginner mode as a test, and if anyone wants help I'm sure SMBSlu (www.youtube.com/user/SMBSlu) is the person to ask for it. If you can get a hold of him that is..
I am still interested in this, but I feel like lua support is really needed for dolphin before this is really feasible. Using RAM watch to keep track of speed just doesn't work. If there is another way to watch speed frame by frame outside of Dolphin then that would be cool. Also, I got discouraged trying to beat the B2 RTA WR. I can't figure out how packattack broke the goal line while entering so high on the goal. I've gotten 57.6x on B2, but when I try to enter the goal at a higher spot like packattack did I just can't break the goal line. So, I've moved on to other things, but I'd be willing to work on this more over the summer possibly.
Experienced Forum User
Joined: 3/4/2012
Posts: 74
I've always interpreted them as the type of run like: a "4 player" run or a "0 star" run which reads correctly. It doesn't seem like a big deal to me.
Experienced Forum User
Joined: 3/4/2012
Posts: 74
like this? local timer = 0 while true emu.frameadvance() timer = timer + 1 if timer == 60 then print(memory.readdword(0x80000048)) timer = 0 end end
Experienced Forum User
Joined: 3/4/2012
Posts: 74
I think I was looking at runs on SDA and then I started googling for speed runs for games that weren't on SDA and ended up here. It would have been back around 2005-2006 though so that's just my best guess of how it happened.
Experienced Forum User
Joined: 3/4/2012
Posts: 74
Kyman wrote:
Bobo the King wrote:
Could a Mario 64 runner please explain why Mario's speed appears to go up incrementally (and not continuously) with the HSWK?
It actually does go up continuously.
Weird. It looked like discrete jumps in speed to me as well.
Mr. Kelly R. Flewin wrote:
Voting yes for deleting that YT video and preventing countless others from being motion sick. Ugh... *hurls*
Does the Grue ever puke up videos he's watched after he's eaten them? =P
Experienced Forum User
Joined: 3/4/2012
Posts: 74
I played through this game yesterday for the heck of it. Then today when I saw Patryk1023's post I decided to look for some useful values in case anyone wants to try TASing this. I don't really feel like working on a TAS for this, but I was thinking I might try to make a bot for it like Bobo the King has done for Super Mario RPG "Beetle Mania". Incoming data dump: (all values are 1 byte unsigned unless otherwise specified) primary ball X: 7E0271 Primary ball Y: 7E02B1 Each life starts at 47 x position and 195 y position for single player Each life starts at 47 x position and 179 y position for two player simultaneous Multiball 1 Y:7E02B3 Multiball 1 X:7E0273 Multiball 2 Y:7E02B5 Multiball 2 X:7E0275 Multiball 3 Y:7E02B7 Multiball 3 X:7E0277 Multiball 4 Y:7E02B9 Multiball 4 X:7E0279 Multiball 5 Y:7E02BB Multiball 5 X:7E027B Multiball 6 Y:7E02BD Multiball 6 X:7E027D Multiball 7 Y:7E02BF Multiball 7 X:7E027F When you break up one of the ball enemies, they form balls that bounce around as well. Their locations are: Enemy Ball 1 X:7E02A7 Enemy Ball 1 Y:7E02E7 Enemy Ball 2 X:7E02A5 Enemy Ball 2 Y:7E02E5 Enemy Ball 3 X:7E02A3 Enemy Ball 3 Y:7E02E3 If you break more than one (giving 6 balls on the screen) I'm guessing that the next would be: (but I haven't checked) Enemy Ball 4 X:7E02AD Enemy Ball 4 Y:7E02ED Enemy Ball 5 X:7E02AB Enemy Ball 5 Y:7E02EB Enemy Ball 6 X:7E02A9 Enemy Ball 6 Y:7E02E9 X posision of enemy one: 7E2001 Y posision of enemy one: 7E2003 X posision of enemy two: 7E2021 Y posision of enemy two: 7E2023 frames since the ball last hit the paddle? 7E0196 (2bytes) Blocks for the level: address: 7E0FRC (read as hex) where R is the row (0 to F) and C is the column (0 to 9) on the board values in hex of the form XY: If X = 1 then the block is of type breakable in one hit In this case, Y is the color of the block and if it has an item S color 0 white 1 orange 2 lightblue 3 green 4 red 5 blue 6 pink 7 yellow 8 white with item 9 orange with item A lightblue with item B green with item C red with item D blue with item E pink with item F yellow with item If X = 2 then the block is of type breakable in mutiple hits In this case, Y is the number of hits left on the block If X = 3 then the block is a gold unbreakable block 00 means no block is there p1 paddle position values: paddle position: 7E044F These are also values that have to do with the position. My guess is that they are delimiters on the paddle that determine the angle at which the ball bounces off? I haven't checked though. 7E1600 7E1604 7E1608 7E160C 7E1610 (only non 0 when an extender power-up has been collected) 7E1614 (only non 0 when an extender power-up has been collected) 7E1618 (only non 0 when two extender power-ups have been collected) 7E161C (only non 0 when two extender power-ups have been collected) These values below seem to always be 4 more than the values above 7E1700 7E1704 7E1708 7E170C 7E1710 7E1714 (only non 0 when an extender power-up has been collected) 7E1718 (only non 0 when an extender power-up has been collected) 7E171C (only non 0 when two extender power-ups have been collected) 7E1720 (only non 0 when two extender power-ups have been collected) p2 paddle position values: paddle position = 7E0451 (16 to 143) (16 to 127) (16 to 111) paddle position = 7E0492 (28 to 155) (I don't know why p1 doesn't have a coressponding value at 7E0490) These are also values that have to do with the position. My guess is that they are delimiters on the paddle that determine the angle at which the ball bounces off? I haven't checked though. 7E1628 7E162C 7E1630 7E1634 7E1638 (only non 0 when an extender power-up has been collected) 7E163C (only non 0 when an extender power-up has been collected) 7E1640 (only non 0 when two extender power-ups have been collected) 7E1644 (only non 0 when two extender power-ups have been collected) These values below seem to always be 4 more than the values above 7E1728 7E172C 7E1730 7E1734 7E1738 7E173C (only non 0 when an extender power-up has been collected) 7E1740 (only non 0 when an extender power-up has been collected) 7E1744 (only non 0 when two extender power-ups have been collected) 7E1748 (only non 0 when two extender power-ups have been collected) power-up pills: board location of the current power up dropped from 7E0496 (Hex RC [RowColumn]) board location of the second power up dropped from if there are two on the screen at once: 7E0494 (Hex RC [RowColumn]) So if it is 46 in hex it came from row 4 column 6 if it was A8 in hex it came from row A column 8 pixel locations: current bottom of first pill: 7E16E5 or 7E16E9 or 7E16ED current top of first pill: 7E16F1 or 7E16F5 or 7E04A6 current bottom of second pill: 7E16D1 or 7E16D5 or 7E16D9 current top of second pill: 7E16DD or 7E16E1 or 7E04A4 Pill type of first pill 7E049A Pill type of second pill 7E0498 blue 01 ???? 02 red 03 gray 04 orange 05 pink 06 light Green 07 magenta 08 dark Green 09 light Blue 00 Level specific power-up drop list order: Legend blue E dark green T Red L Orange S gray P light green C pink B magenta M light blue D random R Stage 1 power ups: T E L R E T Stage 2 power ups: C L S C M L Other notes: each block is 16 pixels wide and 8 pixels tall size of the paddle is 32 size of the paddle with 1 extender is 48 size of the paddle with 2 extenders is 64 Your paddle can only be extended twice diameter of the ball is 4 There can only be two power-ups on the screen at a time power up pills are 8 pixels tall by 16 pixels wide The next power-up that appears is not dependent upon the block you hit (only that you hit an item block as described above), but a list of predetermined power-ups for that stage. An option for that list can be "random" it seems. These random power-ups are where you can possibly get a warp power-up or an extra life power-up. It seems like some stages do not have random power-ups and that each one is predetermined (but I haven't tested enough to be sure). Things still to find: enemy type ball speed some sort of formula for how the ball bounces off corners of blocks How bouncing off bosses works Check the paddle position values to see if they have something to do with the angles the ball bounces off from the paddle and what that angle is. Try to figure out stuff with the RNG and how it relates to enemy movement and random power-ups (not even sure where to start with that) The power-up order for other stages and which are random Last note: If anyone is seriously planning on TASing this and would like me to create some sort of LUA HUD for it let me know and tell me what kinds of things you'd like to see on it. I'd like to familiarize myself more with the LUA stuff and this would be a good excuse to do it.
Experienced Forum User
Joined: 3/4/2012
Posts: 74
I was worried that it wouldn't be interesting enough to watch for 42 minutes without BLJs, but boy was I wrong. That was probably the most entertaining TAS I've watched and it didn't feel like 42 minutes at all. I still can't wait for a new 120 star TAS with BLJs, but I'm sure that won't be for a long while. (Also, I'd pick the boo screenshot.)
Experienced Forum User
Joined: 3/4/2012
Posts: 74
HappyLee wrote:
mklip2001 wrote:
I feel that this category really lends itself well to the theme of this site: playing beyond human means. Very few human players could keep a running tally in their head of all the presses they've made, so this is totally a type of run that shows off what TASing can do. It's ingenious in its own way, and I'm heartily voting Yes again.
I have to say that I'm just feeling the opposite. Sure human players don't remember all the presses they've made, because they don't want to. I hardly think anyone would like to keep the sum of presses in their head when playing a game.
Who cares if they would or wouldn't remember their key presses? Most people don't play with the exact amount of time they've played in mind either. It's still impressive from a technical standpoint, and people can relate to the idea of pressing very few buttons (much more so than walking through the game or getting the lowest score).
HappyLee wrote:
So in a way, the minimum presses strategy doesn't make much sense, especially without DDR-style effect. TASing can do all kinds of stuff in a game, like what Mars said, but we have to consider whether it's worthwhile to "show off" a concept like that seriously.
And I think that this idea has the merit to be taken seriously. It is entertaining, it pushes the game to it's limits, and it's easy to relate to (read: not arbitrary). Yes, it needs the DDR-style effect, but so what?
HappyLee wrote:
In my opinion, this run, even would been improved, would never look like a TAS.
Because you have a preconceived notion of what a TAS should look like? Yeah, it's a little sloppy time-wise as you've shown, but that only makes me more excited for the future videos in this category.
HappyLee wrote:
Mars said that he feels he can get it done without using other tools beside S/L, and I agreed, because this is quite a simple task, way easier than "minimum score 500", and I have a feeling myself would complete the task with S/L only with hardly any difficulty.
I don't know if I'd agree that it's easier than the "minimum score 500", but I could be completely off base there. Also, as Brandon has said, try doing it without tool assistance and see how it goes. Plus, in other games getting minimum presses would not be as trivial and would certainly requite TAS even if this particular game doesn't (and it still might).
HappyLee wrote:
If not looking the bullet bill manipulation in 8-2, this movie looks just like a newbie playing Super Mario Bros, really. Routes in 1-1 and 1-2 are completely routes that newbies would like to choose, because it's just too easy. And newbies would also bump into a lot of walls, especially pipes, that that's exactly like the run has shown. Some of the newbies I know likes to run through a hammer brother a lot when it's jumping, because it's a safer way for newbies, and that is also shown in this movie.
Yes. Without the knowledge that the player is trying to minimize his key presses, this run would look like someone is just fooling around, but with that knowledge the viewer can see and be entertained by the thought that goes behind the otherwise apparently stupid actions. Those bumping into walls and pipes and such all have a purpose towards the end goal, and knowing that gives the views that "Oh wow! I would have never thought of that!" moment which is part of the entertainment.
HappyLee wrote:
So I think this movie really sets an nice example for newbies how to complete Super Mario Bros with low difficulty, and is that what TASes all about?
I think this movie really sets a nice example for how interesting and entertaining minimum presses runs could be in the future. Maybe this isn't the best game choice for a minimum presses run if this is as good as it gets (which as you have shown it isn't). Still, maybe this run can still be improved in crazy ways that haven't been noticed yet that could only make it more impressive. And still, for other games the minimum number of presses might not be nearly as trivial as it is here thus giving rise to runs that are by no means a newbie undertaking. In the end, if you want to argue about the quality of this specific run and it's room for improvement, or if you want to argue about the game choice I could agree with you there, but your arguments against minimum presses runs just don't hold water in my opinion.
Experienced Forum User
Joined: 3/4/2012
Posts: 74
andrewg wrote:
I really like the idea, as I've stated previously, but I don't know if I'd want to see it up on tasvideos or not. Regardless, I enjoyed it and I am not voting. In some ways, I don't get why the walkathon was even accepted as a category. It's the same exact situation. The goal is just very arbitrary, but obviously results in something interesting.
This is kind of my thought on it, but I did vote yes. I feel that the walkathon was much less entertaining and much more arbitrary. Specifically it was more arbitrary in the sense that it can't be applied to all games.
Experienced Forum User
Joined: 3/4/2012
Posts: 74
Carl Sagan wrote:
In case anyone was wondering why I haven't been updating Kamek's Revenge lately, this is why :) Hope everyone enjoys the updates!
I was wondering and I greatly appreciate the new updates!
Experienced Forum User
Joined: 3/4/2012
Posts: 74
MUGG wrote:
I know, but
When I tried, I didn't manage to find or do anything.
You'll want to start with the cheat search feature and use that to narrow down the memory addresses to look at. Basically keep going in one direction and keep doing a search as "greater than" in the cheat search, then change directions and try some more but use "less than" this time. This might not work though since we don't know which direction is the positive direction and which is the negative. To get around that, the first position address I searched for when I did this for Super Monkey Ball was the Z position since up is generally positive. One issue there however is if Mario happens to be at a negative z-location and then you move him to a positive z-location, that positive z-location will be "less than" the negative z-location in terms of the value in memory if it is stored as a floating point value (and it probably is). With a bit of trial and error you can narrow the list of possible candidates down to less than 10 probably. At that point write down those values in notepad or something and then use the memory watch to see if those values are doing what you'd expect. You can also try changing some of those values to see if they make Mario move to a new location, but it's possible that might not work. Once you find the z-location memory address, the x and y are probably near by. Sorry if this is a bit confusing. I'm not especially good at explaining things and this is something you really have to try for yourself to get the hang of. If you need more direction let me know. I might try find these values myself to help you out if I get around to it.
Experienced Forum User
Joined: 3/4/2012
Posts: 74
Those stages at the end were awesome. Yes from me. I can't wait for a 100% run.
Experienced Forum User
Joined: 3/4/2012
Posts: 74
I agree that without the commentary and lua script (I'm also a DDR/ITG/SM fanboy) I would not have enjoyed this submition, but as it is, it is extremely enjoyable and I think it should be accepted. I find this goal/recording to be more interesting than the fastest time goal/recording. To be fair, that's probably because I can see some of the nuances that are going into the thought behind the run (bullet bill jump, backwards running, hammer bros luck manipulation, etc). Whereas I can't see the most interesting parts of the fastest time run since I'm not familiar with the intricate details of the game. Also, I have to say I'm biased toward this kind of game mastery. In portal, I love speedruns, but I am much more impressed by least portal runs.
Experienced Forum User
Joined: 3/4/2012
Posts: 74
I really have no clue. I know I looked up a lot of unassisted speedruns back in 2004. I probably stumbled upon it from there somehow.
Experienced Forum User
Joined: 3/4/2012
Posts: 74
YoungJ1997lol wrote:
sweet, that means its possible to home-brew the emulator!
Yes! Dolphin with Homebrew Channel with DosBox running Nesticle! Make it happen people =)
Experienced Forum User
Joined: 3/4/2012
Posts: 74
Great list! Plus it gives me some great ideas of games I should try out. Obviously I'd have things rearranged a bit, but it's not too far off from where I'd place a lot of games. I especially like that you have Chrono Trigger and FF7 there near the top. As IronSlayer said though, it'd probably be better to break things up by genre.
Experienced Forum User
Joined: 3/4/2012
Posts: 74
I recently started messing around with TASing Super Monkey Ball (my first attempt at TASing mind you). So far I've found that this is a lot harder than I expected. I'm sure that's partially due to my lack of TASing skill, but I think it's also due to the fact that this game is very segmented and been extensively played over the years to perfect each stage. This results in RTAs that are nearly perfect stage wise. I'm sure there is room for improvement (especially in some of the more complex stages), but the improvements will be very small unless new pixel perfect routes or glitches can be found. I've realized that I can't do this myself. If anyone would like to try to tackle this with me I'd love it. (that goes for you too magicboy10xx if you're still around. I've seen your videos on youtube, and if you have any ideas for crazy difficult routes I'd love to try them) Using the dolphin code manager and memory watch Here's what I've found so far: (all positions in meters) Current1 Y position: 00205f34 Current1 Z position: 00205f38 Current1 X position: 00205f3c Next1 Y position: 00205e9c Next1 Z position: 00205eac Next1 X position: 00205ebc For the following values will be the same as the above values unless they are changed in some other way Next2 Y position: 00205e64 Next2 Z position: 00205e68 Next2 X position: 00205e6c (changes next frame based upon the above next positions) Current2 Y position: 00205e70 Current2 Z position: 00205e74 Current2 X position: 00205e78 The current speed will change based upon the difference between the current2 location and the next1 location. As far as I can tell the only really useful positions are the current1 and next1. Maybe with moving platforms the current2 and next2 might change things up, but I haven't tested it. Regardless, I think current1 will always be the current position. Also, changing next2 in the memory watch can move your monkey to a specific location and help determine specific coordinates you might be aiming for. 1 game unit = 1 meter = one 2x2 checkered square Next, and probably most importantly is velocity (in meter's per frame): Y velocity = 00205e7c Z velocity = 00205e80 X velocity = 00205e84 Friction takes its toll of 1% of current velocity each frame while on the ground. (I didn't find the memory address for that yet) The monkey ball is 1 meter diameter Gravity is 9.8 m/s^2 or .0098 game units/s^2 This appears to be a counter of the number of frames since the player was given control of the monkey during a stage: 001eec20 The one really useful address I haven't found yet is the current direction the camera is looking relative to the ball's location. This is useful since the ball moves relative to the direction the camera is looking. These values may be near the values needed to be used to determine that angle, however: From the camera's position, looking through the monkey: Y location the camera should try to look toward: 021EEF0c Z location the camera should try to look toward: 021EEF10 X location the camera should try to look toward: 021EEF14 FOV (default 1.333333) = 021EEF14 Camera location around the monkey (16 bit int): 021EEF1C - 00 to FF going counter clockwise around the monkey from the front 00 is right in front of the monkey looking at its face 79 is right behind the monkey looking at its butt FF is back around to the front again Lastly, according to this guy: http://www.youtube.com/watch?v=Cj0V_scDLNo the formula for velocity after bouncing in Super Monkey Ball 2 is (0.5+sin(ImpactAngle))/2 I'm not quite sure how he found that, but it's probably similar for SMB1. Some other not so useful addresses I found while fooling around: The address to change gravity is 00205ecc. Putting it in Dolphin's AR codes makes it crash. But if you change it every frame in the memory watch in debug mode it works. The address to change your monkey ball diameter is 00205ec8. Once again this crashes AR but works in memory watch.
Experienced Forum User
Joined: 3/4/2012
Posts: 74
rog wrote:
Is revision 3.0-378 the one in that thread? I'm currently using the top 64bit version from that thread.
No. If the titlebar of dolphin says Dolphin [more-save-fixes] 3.0-378, then that would indeed be a find version to use. if it just says 3.0-378, then that is not an acceptable version to use. If you plan to use the tas input, then you'll want to download the versions posted in that thread, which should say [TAS-Input] 3.0-381-dirty in the title bar. Also, if want to run slower than 10 fps, you could set a hotkey for frame advance, then make a script to press that key as often as needed to run at whatever fps you want. It's not the most elegant solution, but it works.
I do plan to use TAS-Input and 3.0-381-dirty is the version I have it looks like. So, that sounds like I'm set there. Also, that's a great solution for playing at lower fps! Thanks.
Post subject: Re: Newbie TASing in Dolphin
Experienced Forum User
Joined: 3/4/2012
Posts: 74
Thanks for the welcomes and responses!
CoolKirby wrote:
2. If you're trying to make an optimal TAS, I strongly advise you to use frame advance. If the run isn't as fast as you can make it, it will probably be rejected. But if you're just slowing down Dolphin to test some strategies, then I would recommend changing graphics settings, such as increasing the resolution the game runs at.
Yes. I would be doing frame advance for the recording and slow speed for testing. I'm not sure increasing the graphics settings will help much as my desktop is pretty powerful, but I'll give it a shot. 16% speed is probably fine anyway. I was just curious.
CoolKirby wrote:
3. I don't know why the TAS input window isn't working in that situation. As soon as the window is opened, it should be the only input being recorded (as other sources of input are disabled). When you close the window, the game should start receiving input from your controller again. Does that function work for you?
I'll give it another try. The time I tried it I had been using my controller and then opened the TAS input window and had the issue I mentioned.
CoolKirby wrote:
6. Yes. Please see this thread. In short, uncheck Enable Dual Core and Enable Idle Skipping, use LLE audio (you will need two files from a real GameCube/Wii for this) and please use the revision 3.0-378 "more-save-fixes". That revision has been out for a few months and thanks to nitsuja's save fixes, no one has reported any desyncs in the movies it creates. The link to that revision and the "improved TAS input" revision are in the thread I linked to. If you're using any other revision, the movie file you're currently making won't sync. Usually, you will be able to hex edit a few inputs and it will sync fine.
Is revision 3.0-378 the one in that thread? I'm currently using the top 64bit version from that thread.[/quote]
Post subject: Newbie TASing in Dolphin
Experienced Forum User
Joined: 3/4/2012
Posts: 74
Hi everyone. I've been coming here for years to watch TAS videos, but recently I decided it might be fun try it out myself. I decided to start off with Super Monkey Ball in Dolphin. I realize it's probably not the easiest place to start, but I'm up for a challenge and I just love Super Monkey Ball. So far I've TASed through the first stage using frame advance, and started on the second. Doing so I've run into some questions:
  1. Is there a way to press a key each frame? It seems like you have to press a key on frame 1 then release it on frame 2 and then press it again on frame 3.
  2. Is there a way to play in dolphin at slower than 16% speed but faster than frame advance?
  3. It seems that if I plug in a usb controller to play the game, I can't adjust the analogue sticks in the TAS input window unless I reopen Dolphin. Is there any way I can use the usb controller for playing at 16% speed and then use the TAS input for frame advance?
  4. I can tell I'm going to need values on position and speed to help me with my run, but I'm having trouble finding those values using the cheat search. Are those types of values usually 16bit? Should I try to look for a speed value and a direction vector, or should I be looking for a speed in the x direction, the y direction and the z direction separately? Any tips?
  5. Would it be useful to get an Action Replay or a USB Gecko for debugging? What type of additional information would I be able to get by doing so? (And does anyone have a USB Gecko for sale?)
  6. Is there anything I should know about TASing in Dolphin? I've read that it can have desync issues, but it's working fine for me so far.
I haven't really read enough about LUA scripts to ask any questions regarding that.