Posts for Randil

Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
Aha, success! I think I have figured out how initial platform movement works: The key is their x speed RAM address, stored in 0764, 0774, 0784, 0794 , i.e. next to their respective x position. Treat these as signed values (i.e. 129 to 255 = -128 to -1). When they move right at normal (top) speed, their speed is 48. When they move left at top speed, their speed is -62 (I don't know why this is greater than their top right speed). Anyway, this speed is carried over to the next platform that occupies this RAM address. According to my finds, all platforms want to move left when they spawn. However, if the previous platform for that RAM address moved right, it first has to change direction, which is why we see this small initial movement to the right for P2. So by changing the value of this speed address when a new platform spawns, you can delay its initial movement to the left. When a platform bumps into something, its speed changes by 2 per frame (from 48 to -62, or vice versa). At speed 0 it stands completely still. Feel free to play around with this theory, perhaps you can correct me on some account.
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
Hello, it's nice to see the speedrunning community working on this game! Platforms spawn when once you're close enough to them in the vertical direction. In practice, they spawn just right before they appear on screen. And as you have noticed, this can be abused by making a small jump in order to get it to start moving. They always seem to appear in the exact middle of the screen, x coordinate 128 of 256 (I'm not sure I knew this when I made the TAS, but it's an interesting find). As for the direction they move in, I haven't been able to find a situation where their initial movement can be manipulated. Their initial movement seems to be unique for each platform, and might not be manipulatable. If you can find such a situation where you can get two different initial movement, feel free to upload two different movie files showing these different movements, I can look into it further. If you are comfortable with watching RAM addresses yourself, here's where their coordinates are stored: *Y positions in 0760, 0770, 0780, 0790 *X positions in 0763, 0773, 0783, 0793 (I can provide a lot more addresses as well, if you are interested)
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
This guy does acapella versions of video game music, I think he's really awesome. Here's Chemical Plant Zone from Sonic 2: Link to video[/video]
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
I was wondering if you could possibly run the script again but this time include the hexadecimal ID for all items (like in Deja Vu and Shadowgate)? I mean so that all item strings start with Item-XX. I've been working off your script files (in particular for Deja Vu) by writing my own scripts that restructure and analyse your data (this is why I'd like the Uninvited-data to be on the exact same format). So far I haven't found anything major, just a few small quirks. I'll share any interesting findings I make. :)
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
Awesome, thanks again for taking the time to do this.
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
Now that we have the Vault, a game B TAS should probably be put there alongside game A. As for this run, very good job improving stage 4 and 5! I didn't know they could be improved so much. My suggestion to you is to try to get an at least as good (or perhaps better!) time on the first level, and then submit that game B TAS. The first level can be very complicated with the fire ring manipulation, but you seem have gotten the hang of TASing, so using my game B TAS as a base line I think you can do it. Let me know if you need any specific RAM addresses or have other TASing oriented questions. If you want to further discuss TASing this game we can continue talking in the Circus Charlie NES thread Good luck!
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
I haven't been able to watch this yet, but I'd like to point out that "highest score" is not a very good goal, because you can pause the game every 16 frames to stop the score counter from counting down, thus ending each level with highest possible score left. This doesn't make for a very interesting run, however. Perhaps a "highest score without pausing" could fit as a goal? I'll try to watch this sometime this week and give more detailed feedback. There's some more info on this in my author's comments: http://tasvideos.org/1834S.html Here's a fcm showing the pause trick: http://dehacked.2y.net/microstorage.php/info/1783750656/circus-charlie-no-bonus-down.fcm
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
That is really awesome work. I think this is the way to go in order to find further improvements and bugs. Thanks a lot for sharing this. Have you considered doing this for Shadowgate and Deja Vu? We know that those two games have bugs in them, so I wouldn't be surprised if there are more to be found. Also, their RAM maps are quite similiar to Uninvited (at least I think so).
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
HHS wrote:
I have dumped the script, if anyone wants it: http://www.mediafire.com/?6f6cpbcjzcnkz9c,2914s2az1z0nlv5,v2sr5omwmvzms0x
(I'm a bit late to the party) This is quite interesting, though I'd like a bit more information on what information these files hold. Also, how did you create these files? And have you found anything of potential use in the TAS?
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
This was really awesome. And didn't that input display look suspiciously like FCEUX?
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
1. The Penguin boss has 23 HP. Depending on how much your staff is charged, you'll deal between 1 and 5 damage to him. The only way to hurt him is to hit him on the head. In practice, this means that you have to stand far enough to the left for your shot to hit him on the head. I've made a picture showing the rightmost position you can have and still hit him, so never stand more to the right than in this picture when shooting him: Perhaps you can use those spikes in the background as rules of thumbs on where to stand? Perhaps the rule "Never stand to the right of the third spike" could be a good rule of thumb. 2. I'm afraid I can't help you much here, though the glitch does sound promising. Maybe (a big maybe!) I can look into this sometime soon and try to find out how it works. Hmm, as for other suggestions... you should read my submission comments carefully, http://tasvideos.org/2408S.html, as there are some tricks explained there that can probably be used in a RTA. I can't think if anything in particular right now, but feel free to ask specific questions. Lycka till! :)
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
I lurk around this forum still, although not as frequently as before. It's been some time since I TASed this game, but perhaps I can help you with your questions?
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
But gui.text updates on the same frame as RAM watch, RAM search and Hex editor, so in that case all the built in tools are also 1 frame early. For example, when moving right, if I display my X position in lua with gui.text, it will always have the same value as the value in RAM watch. So in my eyes gui.text works as it should, but maybe I'm missing something? gui.draw on the other hand updates 1 frame later than the built in tools (if I ask it to draw a pixel on my position, it will update 1 frame later than the built in tools)
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
Hi, I have a question about version 1.4.0: Although gui.text displays the text on the same frame the values change, gui.drawBox seems to be lagged 1 frame. So if I have a lua script that draws a box around my position, it will always be 1 frame behind. In FCEUX this could be solved with gui.register. Is there any way to solve this in BizHawk 1.4.0? I've tried commands like emu.on_snoop, but I couldn't get it to work.
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
You've done a really great job with this game. I'm still amazed and glad that you could improve the previous route so much. I liked the new antics you put into the run. Easy yes vote from me. Good luck on you future TASing endevours! Perhaps an update to the any% run? You mentioned you found a few more frames there as well.
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
I've started looking into this a little, but I haven't been able to replicate it. Could you upload and send me your input file? It would make things easier for me. You can send the link to me in a PM if you want to keep the movie a secret for everyone else. :)
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
Wow, I really haven't been paying attention to this thread. It's great to see that you're making good progress. And 50 seconds is really crazy, I never thought so much time could be saved. I'm afraid I don't know how RNG works in this game (I didn't even know about it!). But if you want, I can try to help out, I'm usually decent at finding out how RNG works in a game. Just give me a situation where enemy behaviour is random, and I can try to find out why.
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
I'm not sure if it's okay for me to vote, but I'm throwing in a yes vote anyway. :) Good job finding these improvements.
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
Hmm, it's a little weird about the desynch. Do you know why the run desynched? In my experience it should only be the loading times that could cause desynchs, so it would be interesting to know the reason. I've revised the run myself a few times without finding anything more (I have tested some ideas, but they were all slower). But it's great news that you found this 6 frame improvement, it only goes to show that 2 pair of eyes is a lot better than 1.
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
It's common when people submit runs where most of the input has been copied from another player's TAS to submit it with the author name "(you) & (old TAS player)". In this case it means that the author name in the submission comments should be changed to "AndiHoffi & Randil's Solstice ... ". Personally I don't really mind, though in a way it would be reasonable to keep me as co-author if all but a few frames of the input is mine. Oh, and by the way, nice TAS. :) While looking through your TAS, I've tried to spot further improvements. I found a 2 frame improvement in room 197 (around frame 8151), by jumping on the spikes here. Unfortunately, I got a 1 frame longer loading time in a subsequent room, but I still squeezed out 1 frame! http://dehacked.2y.net/microstorage.php/info/4829715/hoffi-solstice_imp_v1.fm2 I'll revise the run a few more times, maybe I can find more improvements.
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
I intentionally chose tab (/t) as separator, so that when you open the text file in excel it will automatically interpret it correctly. So try opening the ouput text file as it is in excel, and it should (hopefully!) look good. Good luck with FF7, it's one of my favourite games and it would be awesome to see a TAS of it.
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
If you do indeed do your run from scratch (which I suggest, but it's of course your choice), here are some thoughts you might want to keep in mind: *The time it takes to enter the menu depends on what room you are in. The bigger the room and the more sprites on screen, the longer the loading time. There might be better rooms to enter the menu on than the rooms I chose in my runs, so you might want to test this a bit more. *Another potential improvement (I think) might be to push moving platforms and blocks more to your benefit. This is done a few times in the published runs, but might be abused more. Perhaps a few frames can be shaved off by pushing a block a bit rather than waiting for it to move this distance itself. *It might be worth revising the route completely, at least for the 100% run. It would be awesome if you could find a completely new route. If you know how to watch RAM addresses, here are the ones I have for this game:
0031 X|pos
002D Y|pos
0035 Air|pos
0754 Jump|speed
0758 Vertic.|subp
0020 Input|on|0
0033 Object|1|X|pos
002F Object|1|Y|pos
0032 Object|2|X|pos
002E Object|2|Y|pos
0034 Object|3|X|pos
0030 Object|3|Y|pos
0791 Jump|speed
0796 Keys
0015 Room|number
0797 Block|jump|1
36 block|air|pos
38 jump|on|42
0084 block:|25,17
0085 Menu|time
Good luck with this, I'm interest in hearing how it goes so please keep us updated, and let me know if you need any help.
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
Cool, I'm interested in seeing where this improvement is. I still hope that you will try to find additional improvements, in particular the 100% run can probably be improved more. But as Scepheo says, an improvement is still an improvement and will indeed be accepted.
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
Brandon wrote:
Randil wrote:
I get an error when I try to upload a certain .bkm file to my userfiles page. I get the error:
<<< Can't parse movie (error from format parser) >>>
Errors from the movie parser:

error_handler:
	errstr=Division by zero
	errfile=/home/tasvideos/public_html/formats/bkm.php
	errline=77
The movie file isn't broken, I've played it back in several versions of Bizhawk without any problems.
Try again.
It worked now, thanks!
Experienced Forum User, Published Author, Skilled player (1890)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
Thanks. On a related note: right now both the left mouse button and right mouse button have an impact on the emulator - double clicking the left mouse button turns on full screen, and right clicking brings up a small menu. Considering that one (well, at least me) might want to control the game with the mouse (for example, in an NES game mapping A and B to left and right mouse button), it would be nice to be able to turn off the mouse buttons' current functionality in Bizhawk so that one can use the mouse as a controller without popping up a menu whenever the right mouse button is pressed. Perhaps this is a very specific request, and maybe it's only me who's interested in this kind of a feature...