Posts for FatRatKnight

Editor, Experienced Forum User, Published Author, Skilled player (1174)
Joined: 9/27/2008
Posts: 1085
When I saw this thread's title, I got scared for a moment. Did the world just slip by and produced something decent without a single acknowledgment to my prior efforts? Turns out the responses here indicate low effort. I'll be watching the run at some point, though. I recommend poking about this thread, at least. I made a WIP in FCEUX using the JPN version. Only beats the first stage, but hopefully you see what I'm doing with the two players while waiting for the scrolling. I don't have much more to say, aside from the fact I'm responding to the general responses and this game showing up in the submission list. I'll take the time to watch the run. ... Seeing that old thread is reminding me of my old efforts...
Editor, Experienced Forum User, Published Author, Skilled player (1174)
Joined: 9/27/2008
Posts: 1085
http://tasvideos.org/userfiles/info/6923418461145484 Finally caught up to Uncle Mario's progress. And beautifully slain those lobsters in a hurry. Seems the extra Invisibility Potions I bought came in handy, as I only have six doses left. I'm now at the point where the long windy maze spans three floors. ... I might want to figure out a path through it. Do I need more Master Keys? Do I need to fetch the top armor and shield for any reason? But, for now... I'm through the lobsters. I haven't planned beyond this point, I just sort of assumed I would fail haphazardly or something. EDIT: As for my choice of route, I pick up 40 doses of Invisibility Potion, 20 of which were from shopping. I can't purchase more without having first found more sources of money. Hopefully, I won't need to many more, as I have just six right now. No, glitching a pit like I did one time will not work on the exit of the lobster room. They locked that door just in case the pits didn't do the job. I need to check what can drop from those floating samurai armor enemies. If the first one I come across has a Blade of Muramasa, it would likely be faster to pick up a Sword of Flames to slay this one for the Blade, rather than take the twisty path for the one I took. Hardening Potions will take care of any durability issues. However, I'll be entering the lobster battle with somewhat less Arm Strength, as I've spent less time allowing the experience to boost it. I warped through the room of switches in that order to minimize the number of times I need to turn around. It looks like a good route, anyway. Killing two arachness enemies barehanded took roughly 200 hits. Without need of dodging, and only occasionally sipping a drink of invisibility meant those 200 hits went by pretty fast. Faster than trying to weave around and hitting the lobsters 300 times, anyway. Got me to 84 Arm Strength, maybe it'll be useful against the few things left to kill. Turns out the Ring of Life on Fortress 2F isn't as inaccessible as I thought. I must have misread my notes. It's not across the pits of certain death, but rather behind one of the many doors that open. All it takes to pick it up is a warp to that location and a few steps, as I passed by the door earlier. The other rings I picked up already are theoretically faster to get than this ring anyway, but it's nice to know I have another option in case the ones I have aren't enough. Also, it's no good glitching past the lobster room. The door is locked. Glitching the gap only eats a Ring of Life in order to get very disappointed. Mentioning this again to drive in the point.
Editor, Experienced Forum User, Published Author, Skilled player (1174)
Joined: 9/27/2008
Posts: 1085
This has been a great reminder that, yep, this one exists. Also gave a great idea to actually say some things I know, as things unsaid won't be useful. ... I left them unsaid for this long. Whoops. I realized a faster way to do the money trick. No, I can't skip the in-game year, but I can avoid the extra trip to the taxes screen and not need to set maintenance back to 100%. You still need some maintenance to pay. Don't use up all your money. In fact, leave enough to pay for all expenses. Once the taxes screen shows up automatically, hold either L or R as normal for the trick (to freeze time) and back out. Now spend the rest of your cash. Then release your buttons. Using the in-game pause will help to reduce in-game months, as this gives the game permission to handle the various map statistics (such as the essential power) without forcing it to handle a week passing and the city growth from that in between the various stats. It's one discovery that reduces the damage done whenever you load a game. Yes, we'd go faster by slowing down the game. I took a look at the TAS you went and posted. It's the simple layout, isn't it? Not as grand as my plans, but my plans mean nothing if I never used them. While you were building the city, I spotted a few R-zones that weren't 100% satisfied with transportation. As a result, they are unstable and will sometimes shrink. Just that there is a line of rail that ends at some water doesn't also have a C-zone at said end. Syncs fine on BizHawk 1.4.0, by the way. In-game time to 600k: 1904 JUN. My goal, though, is to produce the fastest in-game time, most likely manipulating luck while the city is growing. Will probably prioritize speedy growth of R-zone small housing so as to get to the larger stages sooner. I'm questioning myself on whether to build Parks first for the theoretical "sticky" Land Value that might exist for a few weeks. Might be better to get to work on a small city first. Though zone development may interfere with glitching away tiles on the southern border, as the population history stops being zero, and is what's "below" the south border. The off-map glitch relies on empty tiles 2 tiles south and 16 tiles east (or 3 tiles south and 104 tiles west) of whatever tile you're replacing with a power line, road, or mass transit. History is zero on many things if you have no population, corresponding with empty tiles. Yes, the game does work on weeks. Four weeks per month, really. Of course, you don't see the individual weeks. Now... If I can just set aside the time to actually do my goal...
Editor, Experienced Forum User, Published Author, Skilled player (1174)
Joined: 9/27/2008
Posts: 1085
http://tasvideos.org/userfiles/info/6776915038888460 I beat ninja. Pretty severe cost in resting time, but whether it'd be faster to find another M.Potion to get around that is uncertain. 25 fills of mana and level 4 is still uncomfortably far from slaying the ninja, approximately 10 HP away, but it's doubtful another potion can be found within 10 seconds away from the route. By the way... Your knowledge increased. Having 24+ Knowledge with the last few shots wasn't pretty, though. 4 MP per fireball sure takes a while to rest up. But it's still faster to heavily rest towards the end like I did as Knowledge is higher then and there's less wait time per MP. It sure felt like the EXP allocation was going too quick during the battle, but it feels too slow on the way through the Dark Zone. By the time I would want to use Fire Magic again, I will likely have nowhere near enough Knowledge to make the kill fast, even though I'm on my way to 99 from the ninja battle. Only 39 to start Fortress... At least the viewer will wonder when the messages will stop. I plan to sell the Ramela, leaving me defenseless with leather garbage and a puny 26 HP. Not something most sensible players would do going through Fortress. This will give me the gold necessary for Invisibility Potions, something I may need during my Arm Strength training. And possibly useful for the odd monster up ahead, too.
Editor, Experienced Forum User, Published Author, Skilled player (1174)
Joined: 9/27/2008
Posts: 1085
The bottles in OoT can hold a number of different mutually exclusive things. The bottle here can hold only one thing. Well, two, if you count the red and blue bottles as separate items, but the single-dose can be upgraded to the two-dose by purchasing a second single-dose. Sure, the shields in OoT can be lost and regained and all that, but the slots they fill have exactly one purpose: To hold a shield. The slot the bottle in this game fills just one purpose: To hold a healing item. Or the letter used to then fill it with said healing item. Whatever the theme may be, that doesn't mean the items from different games should be treated the same if the mechanics behind it are different. Although, perhaps I should phrase it like this... Should the potion be treated no different from your stock of rupees and bombs? It is empty (Letter), one dose, or two doses. It's basically a range from 0 to 2, like bombs from 0 to 16, or rupees 0 to 255. There's no benefit until they're spent on something. Should the potion be treated no different from the shield? Both can be purchased, both can be lost in some fashion. It isn't just a number seen on one part of the screen and can't be replenished by taking a random item from a defeated enemy. They both improve the situation for the player. There are no mutually exclusive items that fill their slots. If you count the letter as "mutually exclusive", then perhaps the default shield really should also be "mutually exclusive" to the better one. I think it shouldn't be treated different from the shield.
Editor, Experienced Forum User, Published Author, Skilled player (1174)
Joined: 9/27/2008
Posts: 1085
Well, well... http://tasvideos.org/userfiles/info/6680317080319470 I have a completely rewritten MtEdit now. The changes to the internals are vast, but hopefully the script is a bit more intuitive. Or, at the least, just as intuitive. v2 should be able to do most of the things v1 did, but if there's anything I messed up on, I really would like to know. I'm a little burnt out to be writing full instructions now, but just run the script. Stuff should show up along the bottom and to the left. All the controls for player 1 is used for the current controller. If you have something in port 2, the first controller of that port should (theoretically) be used as well, but I haven't tested that. While running it, it can pick up input from either your TASing or from a movie playing on read-only. When you load state, or otherwise go back to some earlier point, take note that the script will automatically attempt to inject what it already has seen, on the appropriate frames. Here's the "Edit" part of MtEdit: Your controls will still affect the input stream! Still lacks a few pretty critical functions, but hopefully I can start pulling things together better now. Inserts and deletes would be wonderful things to include in there.
Editor, Experienced Forum User, Published Author, Skilled player (1174)
Joined: 9/27/2008
Posts: 1085
It's not as though you'll make great use of the shield anyway, and yet you are picking that up. I don't think you'll make great use of the potion, but why should that determine whether or not this item is part of the 100% description? You can use up the potion to go back to the letter. You can "use up" the magical shield and go back to the default. This can happen endlessly if you desire. But we (or, at the very least, I) would like to see an endgame state where you have the two-dose potion. Where you have the magical shield. Where you have the enemy bait. After all, this gives you more than what you started with. And, if you save, you still have them when you reload.
Editor, Experienced Forum User, Published Author, Skilled player (1174)
Joined: 9/27/2008
Posts: 1085
Bait Does the game track it? Yes. When you save after getting it, it's there in your inventory. The game tracks it, of course. Is it irreversible once done? ... Hmm... Actually yes. Sure, it is removed from your inventory when you go spend it on mister grumble grumble. But those things won't come back, so removing the bait from your inventory can only happen a finite number of times. Is it done through non-repeating events? Tricky to look at, but I say yes. Well, technically, shopping can be repeated, but as bait has a binary indicator of "not have" or "have", and its removal is not a repeating event, I would have to say that the acquisition can only happen a very limited number of times. It can't repeat forever, unless you determine that erasing the save is a valid course of action. Does it give you more to do? Of course. Just doesn't feel like 100% if something meaningful just hasn't been done. On the other hand, the shield is reversible forever. You can keep buying it and ditching it at the next opportunity. Therefore, it doesn't fulfill all four of my questions. I am confused why the bait would be considered not 100% yet the shield is, since by my definition, if I adhere to it tightly, I would do it the other way around. Regardless, an upgraded shield is a step away from default starting conditions, and it gives you more to do as well. I say get 'em all. Rupees, keys, and bombs are very reversible and done through very repeatable events. No one should care too much that you didn't fill them up to their respective maximums, as you're no longer there the moment you drop a bomb or fire an arrow, and no one can see your key count after getting the magical one.
Editor, Experienced Forum User, Published Author, Skilled player (1174)
Joined: 9/27/2008
Posts: 1085
HHS wrote:
There are a total of "32 kinds of items". I would have assumed it's 16, since 0xF is the highest single digit Hex number. How are those ordered/stored in the memory?
As touch-me said, the lower 5 bits indicate what kind of item you have, and the upper 3 bits tell you how many items you have.
In other words, don't read the number in hex. Read it in binary. xxxyyyyy If we have 0x20, converting to binary would be 0010000. Over in the 00100000 part is how many we have, and 00100000 is the ID of the item. All values in the range 0x20 to 0x3F means you have exactly one item of whatever ID it is. Of which there are 32 different items. The ID doesn't fit in one hex digit, as it also takes up one more bit from the upper digit. I believe that is what it means. I figure a secondary explanation would help.
Editor, Experienced Forum User, Published Author, Skilled player (1174)
Joined: 9/27/2008
Posts: 1085
Welcome! This is Dinosaur Land. In this strange land we find that Princess Toadstool is missing again! Looks like Bowser is at it again! Moments later, Mario and Yoshi are spotted returning with the princess. Bowser was nowhere to be seen. Poor princess. Her track record means she can't even leave for one minute before something says Bowser did it. Poor Bowser, immediately blamed when the princess is just on her morning stroll. The introductory text is clearly overreacting to the situation. Nice run, in any case.
Editor, Experienced Forum User, Published Author, Skilled player (1174)
Joined: 9/27/2008
Posts: 1085
Language: lua

for slotnumber = 0 , 15 do -- or pick some other values local address = 0xDF00 + 16*slotnumber -- insert stuff relating to what you're doing end --Multiple conditions if if (a == b) and (c == d) then --code end
I have suggested one way to define slotnumber, and a way to pull an address out of it. I recall that the logical keywords overtakes comparison operators, so use parentheses around every desired condition to fight this order of operation. Lua has some tricky syntax at times.
Editor, Experienced Forum User, Published Author, Skilled player (1174)
Joined: 9/27/2008
Posts: 1085
I am not aware of any way to merge items without a Dimensional Box. As far as I can tell, there's no possible control that lets you move items in inventory without one of those boxes. If I'm missing something, feel free to suggest it. Granted, I skip by the Box A in Ruins Area 3, but now we have to spend a little extra time opening it to merge items. The door transition has roughly 5 frames to let you mess with your inventory for "free". This is enough to open the inventory, move the cursor one slot elsewhere, then close it again. Any more, and you start digging into not-free frames. Then there's always the possibility of lag, that's always fun. And if it's important to tweak the MP recovery timer or restore small amounts of HP, this cuts into resting time. Inventory management isn't the issue, though. Pulling together 11+ M.Potions and a level from somewhere is. I have a pretty good idea on what to do, though.
Editor, Experienced Forum User, Published Author, Skilled player (1174)
Joined: 9/27/2008
Posts: 1085
The M.Potion x10 on Tower 3F is extremely out-of-the-way. The one on Tower 6F is on a separate path from the Falchion x20, but achievable without diverting very far but losing that weapon (I don't think this particular Falchion is needed). The one in Cave B6 takes some time to get to. Shops aren't going to help with my starter 100 gold unless I can find something pricey in a hurry, and even then there's shopping dialogue to go through. I plan to sell the Ramela, but only after it does its job at the ninja. An extra M.Potion x10 and saving one more from resting for one warp, plus one more level, should be very, very close to enough for the ninja. But each HP I don't get while my M.Potions last will cost around 50 frames of resting per fireball (a guess). If the ninja has 5 HP left after these intricate plans, then the further extra doses of M.Potion really shouldn't take more than 250 frames to get. Also keep in mind that I need M.Potions one space away from Fire Magic in my inventory. There's only four such possible slots in my inventory, and I'm using three of them in this run. I have no particular plans to continue right away, though. It's not that I don't want to continue, but rather there's something else I want more. If you're curious, I would restart from Ruins Area 3, as at its end, I didn't turn and jump. One turn + one jump is shorter than two steps.
Editor, Experienced Forum User, Published Author, Skilled player (1174)
Joined: 9/27/2008
Posts: 1085
gui.text(10,10+slotnumber, "stuff that varies per slot") slotnumber is some integer from 0 to whatever, in steps of 1 (0,1,2,3, ...), correct? Without a multiplier, you're just drawing the next number one pixel down, most likely putting it mostly on top of the previous number. Try slotnumber*7. So... gui.text(10,10+slotnumber*7, "stuff that varies per slot") Now each change of one to slotnumber changes position by seven pixels. Is this what you wanted?
Post subject: Huh, another lua script from me. What are the odds?
Editor, Experienced Forum User, Published Author, Skilled player (1174)
Joined: 9/27/2008
Posts: 1085
I didn't like the superimpose option in TAS Editor, so I made my own script to fix things. Enjoy having complete keyboard control that allows you to toggle input on or off. EDIT: Seems to interfere with a few things, such as marker naming. Trying a fix... Download TASEditor_XOR_mix.lua
Language: lua

--[[ Leeland Kirwan (FatRatKnight), 2013 Allows user input to "mix" with TAS Editor using XOR logic. If Recording is checked, this script will do its intended job. Tap a P1 key to toggle input. If "All" is selected, will use other player keys for related player. If an individual player is selected, uses P1 controls. You can hold down a key to affect multiple frames, toggling the key on each frame. For reference, Superimpose uses OR logic, and does not allow user input to clear stored input. A great inconvience for those wishing to use the keyboard to toggle individual input rather than mouse. ]]-- local z= "none" local btnval= {A = 0x01, B = 0x02, select= 0x04, start= 0x08, up= 0x10, down= 0x20, left = 0x40, right= 0x80} local plval= {["1P"]= 1, ["2P"]= 2, ["3P"]= 3, ["4P"]= 4} local OldJoy= {{},{},{},{}} --***************************************************************************** local function InputToggle() --***************************************************************************** --Needs readonly mode to work, but won't interfere too much otherwise. --Toggles inputs recorded in TAS Editor. if not taseditor.engaged() then return end -- Escape local frame= emu.framecount() local plSel= plval[taseditor.getrecordermode()] local plLow = plSel or 1 -- Get the for loop range! local plHigh= plSel or 4 -- Hardcoded 4 doesn't appear harmful... local P1joy= nil -- If one player, get P1. if plSel then P1joy= joypad.getimmediate(1) end -- Otherwise, get all. local changed= false -- Flag, so I don't interfere too much for pl= plLow, plHigh do local pad= taseditor.getinput(frame,pl) local joy= P1joy or joypad.getimmediate(pl) -- Pick out the joypad local mask= 0 -- Convert messy table to numbers for btn,pressed in pairs(joy) do if pressed and not OldJoy[pl][btn] then mask= bit.bor(mask,btnval[btn]) end end taseditor.submitinputchange(frame,pl,bit.bxor(pad,mask)) OldJoy[pl]= joy -- To avoid repeated triggers changed= changed or (mask ~= 0) -- If the bitmask did something, apply! end if changed then taseditor.applyinputchanges() end end taseditor.registerauto(InputToggle) --***************************************************************************** while true do --***************************************************************************** -- Exists to detect frame advances, and thus clear the OldJoy array. for i= 1, 4 do OldJoy[i]= {} end -- Retrigger keys emu.frameadvance() end
Editor, Experienced Forum User, Published Author, Skilled player (1174)
Joined: 9/27/2008
Posts: 1085
I think the idea here is about producing a bot that just plays through a game. The competition being dueling AIs to see who's best at completing the game. Not necessarily the fastest TAS. The lack of any low-level API make this a high barrier to get a competition started on any game. Of course, someone has to go out and produce those functions first, and it will only be of any use in that particular game. If I missed the point, let us know. I just want to reflect what is described, as I don't have any particular ideas to add.
Editor, Experienced Forum User, Published Author, Skilled player (1174)
Joined: 9/27/2008
Posts: 1085
http://tasvideos.org/userfiles/info/5403780114311272 For the ninja, my current plans were: Plan A: Slam the ninja with an endless stream of fire, all the while gaining Knowledge of the world. Plan B: Run out of magic potions, take a shuriken to the face, collapse, and die. Repeatedly. ... I probably should have gone with Plan A. As a level 3, I was getting around 16 shots from full MP. Then I hit 8 Knowledge, and this was reduced to 7 shots. Towards the end, I got to 16 Knowledge, leaving only 4 shots per bottle. The MP cost per fire shot is (Knowledge/8)+1, so the rising Knowledge is a drawback for this battle. Even though I hit as high as 17 Knowledge before the mentioned collapsing and dieing, I still dealt only 1 damage per attack. Unlike physical attacks, this isn't randomly capable of getting 2 damage. By the time I emptied out my stock of potions, the ninja dropped to 72 HP, starting from 180. Even if I had the MP necessary, I'll still be somewhat slower in this battle than Uncle Mario. At least I'm gaining another 4955 EXP for Knowledge by the time the GAME OVER shows up. If I remained alive, Knowledge would hit 67. Not bad, but it's only any good if I can get through this battle. One extra level would help. Although 15 MP may not look like it's enough for 8 2-MP shots, keep in mind I regenerate MP over time. The time it takes for the first seven to get through is enough for 2 MP at times. For some reason, the game refuses to let you use up the last MP through Fire Magic, so that's why I can't cast fire to hit exactly zero MP. I walked in with 13 doses of M.Potion. Including walking in with a full MP bar, that's 14 "fills" of MP. One more level, and thus one extra shot per fill, would mean roughly 14 more hits in. That's still another 58 HP to go. I also had seen a 10 dose M.Potion on the way up the Tower. It is somewhat out of the way, and would mean I lose the 20 shot Falchion in 6F, but might get me another 50 shots of Fire Magic at level 4, going by the 16 ~ 23 Knowledge range at level 4. Still short 8 HP, but at least it's just 8 to burn through now. Another 64 shots would be enough to hit 90+ Knowledge with little trouble. Again, I'd be slower in ninja slaying than the Sword of Flames strategy, but my goal is to keep Arm Strength low until Fortress. That goal looks to be difficult to keep without a great loss at the ninja, though...
Editor, Experienced Forum User, Published Author, Skilled player (1174)
Joined: 9/27/2008
Posts: 1085
http://tasvideos.org/userfiles/info/5352210190918150 Shot through the Tower. I think entering Tower with 26 Arm Strength is optimal -- Attacking the front side of those archers with the Saber did, at most, 14 damage. They have 26 HP each. Notably, I can one-shot them when attacking their back, which I did against one of them. The moment I started the boss battle here, I had 1 Luck. I don't know the mechanics behind damage and Luck, but I suspect having 11 Luck (highest possible for a level 2 Varik) would save a few hits. Luck goes up and down, slowly, through a timer. If we wait specifically for Luck to change, we need to wait 100 frames per point, at best. The timer freezes when Varik is doing just about anything. In other words, don't bother trying to "manipulate Luck", at least most of the time. The item, Amulet of Protection, when used, instantly sets Luck to whatever maximum you currently have. It is found in one of two places. The one in Ruins can be picked up without stepping out of the way. In fact, I face the chest and was capable of retrieving its contents (Amulet of Protection) without spending more than 4 frames (plus lag and inventory manipulation) on it. It's easily right along the path. In any case, the RNG also has an effect on your attacks. No question about that. I would otherwise be hitting for 1s often here. I have two Rings of Life now. I have 9 doses of M.Potion, looking to grab another 4. Maybe 13 will be enough for the Ninja and my Fire Magic spam. Considering that I'm only doing simple manipulation, and not breaking down the mechanics of the game for all its worth, this is more of a test run, if anything. Even so, I don't have any particular plans on a fully optimal run, so if I finish this "test run," be advised that I may not restart the run just to optimize things. I'll leave that up to anyone else to do, as there is a long-awaited TAS for another game I may want to spend time on, rather than this game. But if anyone else wants to give it a go to beat what I've got, you have my full support.
Editor, Experienced Forum User, Published Author, Skilled player (1174)
Joined: 9/27/2008
Posts: 1085
http://tasvideos.org/userfiles/info/5242539807730566 Look at what I coughed up! Manipulation is a bit poor in places. I kind of didn't want to TAS through large areas because the last moment I could manipulate luck is at the start of the floor. Still, good ways to manipulate luck would be waiting at the previous floor, delaying a bit when confirming your warp, interacting with an enemy, or in the odd case of Ruins Area 5, delay before a loading zone. The RNG is found in two words, at 0x7E021F and 0x7E0221. Actually, it's mostly just 0x7E0221, as 0x7E021F appears to be a scratch address to help generate a new RNG. Basically, 0x7E0221 is left-shifted one bit, and bits 0 and 14 (before this left-shift) are XOR'd to determine the new bit coming in. 0x7E021F is just 0x7E0221 rotated left once XOR 0x7E0221 rotated right once. As for how the RNG is used... That I haven't looked into, yet. I plan to use my Saber against the archers in one room of the Tower. Then it's to be ditched for two Falchions to break against the two bosses of the Tower. I will try the Ramela armor to see if it allows me to shield against their attacks safely. The Ramela alone is also enough to help block ninja shurikens later, at least according to some earlier test of mine. Most of the interesting planning isn't down in the Tower or Cave, but up in the Fortress. Tower: Beat bosses with Falchion x20 and Falchion x30. Minimize hits dealt to keep Arm Strength low. Cave: Block shurikens and smash him with Fire Magic. Keeps Arm Strength low. Boosts Knowledge to the skies. Needs lots of M.Potions. Fortress: Now this is where our little vortex of planning needs to go... First off, I need exactly three Rings of Life: * One will be burnt getting past the gap in Fortress 3F. * Another shall be spent for a nifty shortcut in Fortress 4F (sadly, still can't skip the battle) * One last ring needed to get past Fortress Top thanks to yet another deadly gap. There are seven rings to find in the game: #1 - Starter ring #2 - Ruins Area 9 : Slightly out of the way #3 - Tower 4F : Almost right along the path! #4 - Cave B9 : Not even close... #5 - Dark-Zone 2 : Somewhat distant #6 - Fortress 2F : Inaccessible, impossible to get without death! #7 - Fortress 3F : Next door to key item. Snatch it! Obviously #1 will be in my inventory. #3 is lovely as I only need to travel four more tiles to get it. #7 is guarded by the same line of monsters as a necessary key, and these I plan to train on anyway. #2 is a good candidate to pick up, in case I need a fourth or #7 proves more troublesome than expected. Oh, that shortcut? Falling in a pit has some sort of weird mechanics in that if you attempt to jump out right away before you die in it, you will collapse while floating over the hole. Once revived, you can then interact with doors like normal, despite the adjacent pit. I already tried the lobster door, hoping they didn't lock it due to presence of pits, but... Seems those programmers had a backup plan and locked it anyway. Nuts. Next, the three lobsters in the fortress. I plan to get lots of Arm Strength backed by a Blade of Muramasa for it. Honestly, if potent strength plus the second best weapon in the game can't cut through that defense, we may as well give up on any hope of punching through with decent damage. More Luck would help, but that's based on your level, and we're not getting much of that. The Blade can be found sitting in a chest through some secret passages in Fortress 4F. It has 10 hits on it. I need Hardening Potions if that thing's going to last. Each Hardening Potion is worth 10 to 20 hits at random (Quick! Manipulate 20s!). Fortress 1F has a 2-use Hardening Potion in reach without even stepping off the path, and Fortress 3F has a 3-use Hardening Potion very close by. 110 hits with that Blade now! As for the experience necessary for 99 Arm Strength, I'm well aware that enemies give a whopping 1 per hit long before you have 99. But that's if you have around 70 Arm Strength. You see, your stats are allocated a point of experience every frame or so instead of all at once, so while I'm swiftly punching something, the hundreds of EXP I'll build up won't have increased my Arm Strength yet, meaning I can still gain EXP like a low level despite having enough for a high level. It'll also look ridiculous watching that message come up again and again. And then some more. And still showing up even more. You'll wonder when it'll stop. Or, at least, Knowledge will have that effect most pronounced from the ninja battle. For this sort of growth, my best shot would be to minimize my Arm Strength and poke at the highest EXP enemy I can find. The four Arachness guarding a needed key and a useful Ring of Life each have a value of 70. Starting from 35 Arm Strength, each hit would be worth 35 EXP, until I level up. To survive, I need lots of Invisibility Potions. Punching at maximum speed, 6 time-units of Invisibility Potion is eaten and 12 EXP is allocated. One potion gives 50 time-units, enough for 8 hits. I can also make roughly 8 hits before the game finally allocates EXP needed for one full level. So although I can start with making 35+ EXP per hit, by the end, I might only be getting 10 or so. With this in mind, 13 doses of Invisibility Potion would be worth only 30 Arm Strength, starting from 35. 23 doses will get a more favorable Arm Strength, but then I'd have to buy the extra 10 from somewhere. 65 Arm Strength isn't quite enough, so I may need those extra doses. Here's a short list of guesses from starting Arm Strength to ending Arm Strength:
40 : +34 > 74
39 : +36 > 75   Using 23 doses of
38 : +38 > 76   Invisibility Potion
37 : +40 > 77   and getting in as
36 : +42 > 78   many hits as I can.
35 : +44 > 79
34 : +46 > 80
33 : +47 > 80
32 : +49 > 81
31 : +51 > 82
30 : +53 > 83
See why I want to keep my Arm Strength as low as possible? The lower I start, the higher I'll end. Still, these are rough guesses, but every level counts, I think. The maze will be fun to navigate, if I ever get there...
Editor, Experienced Forum User, Published Author, Skilled player (1174)
Joined: 9/27/2008
Posts: 1085
I am running a Windows 7 OS, lsnes-wxwidgets.exe, version rr1 delta17. There appears to be some sort of bad interaction between bitmap objects and the Reset Lua VM menu item. I have duplicated the crash several times: * I open lsnes. * I run a script. * Reset Lua VM. * Execute gui.repaint() twice. Either one of the following scripts is enough to trigger the crash:
Language: lua

local bmp= gui.bitmap_new(1,1,false) local pal= gui.palette_new() function on_paint() gui.bitmap_draw(1,1,bmp, pal) end gui.repaint()
Language: lua

local bmp= gui.bitmap_new(1,1,true) function on_paint() gui.bitmap_draw(1,1,bmp) end gui.repaint()
I haven't been able to trigger a crash without creating a bitmap object, displaying it (even if invisible), then resetting the Lua VM, followed by further on_paint() requests even if it's now nil. No need to run a ROM. Having lsnes sit there with the NO SIGNAL display doesn't stop the crash. I've tried a much more complicated script than the above two that doesn't use bitmaps and was unable to trigger a crash. I've isolated the lua functions the best I can, and this is what I've spotted.
Editor, Experienced Forum User, Published Author, Skilled player (1174)
Joined: 9/27/2008
Posts: 1085
In the script, at lines 330, 331, and 332:
Language: lua

local RGf,RGb= 0x7F7F0060, 0x7F7F00C0 local RBf,RBb= 0x7F007F60, 0x7F007FC0 local GBf,GBb= 0x007F7F60, 0x007F7FC0
Just change those 60 and C0 into FF if you want fully opaque boxes:
Language: lus

local RGf,RGb= 0x7F7F00FF, 0x7F7F00FF local RBf,RBb= 0x7F007FFF, 0x7F007FFF local GBf,GBb= 0x007F7FFF, 0x007F7FFF
I can't say I know whether it'll look better if I change the opacity on my end, since it looks perfectly fine to me. So I would ask you to change it yourself, and hopefully it's a simple matter with my directions. You can also tune the colors darker if necessary, by replacing the 7F to some smaller value. There does exist text in there that does not have any background border, in particular the boss HP indicator. That's slightly more complicated to handle, and probably would be best if I make the changes myself, unless you want to take the time to figure out how to add the function call yourself.
Editor, Experienced Forum User, Published Author, Skilled player (1174)
Joined: 9/27/2008
Posts: 1085
The subtitles aren't in a consistent spot. They are also bordered by different colors. I also show a box at one point. Some subtitles overlap in terms of time displayed. An internal memory address is read and output onto the screen at times. If that complicates subtitling a video, I apologize for my choice of style in my lua script. I know nothing about video making. There is a reason I never posted a work-in-progress on YouTube. What, roughly, would be something that makes the subtitles easier to deal with? I am aware that a lua script isn't something that would convert to some subtitles format as the lua script is arbitrary code, not just display. The fact you can't make a separate encode with lua display over it makes things more difficult to do. Runs fine on emulator, of course. But if the difficulty is too great, perhaps I should take the time to learn some format that makes your task easier next time.
Editor, Experienced Forum User, Published Author, Skilled player (1174)
Joined: 9/27/2008
Posts: 1085
Bobo the King... You just saw my uploaded lua file. You have quite the timing, considering I only just now uploaded it. I found a few more errors in my submission text... I forgot to mark a scene as slower, though the numbers said so already. I didn't dash under a bullet in 2-2, I ducked under. I was successful in the backflip at end of 3-3. Wonder why I remembered differently... I also need to set up an IRC client on this laptop at some point... RGamma, thanks for the encode! Although, you didn't include the high score entry. Not as though it's important, but now people have a YouTube way of seeing this run now.
Editor, Experienced Forum User, Published Author, Skilled player (1174)
Joined: 9/27/2008
Posts: 1085
The Dream Team Contest #3 was a competition held here at TASVideos. I probably should do a better job at explaining that in the submission text. Also, I've spotted a few errors in my frame counting. I've been checking over a few things, and, well... I seem to be pretty error-prone at the moment, more than usual. Said error made me think that I killed the final boss slower and the resulting animation was different or something. Just an error in counting frames, nothing more. Along with a few other things, I believe I shall have to fix up the submission text. I even forgot to point out a few of my favorite frames to use as the image here. I think frames 11992 or 31676 are good.
Editor, Experienced Forum User, Published Author, Skilled player (1174)
Joined: 9/27/2008
Posts: 1085
We really should continue on FFL, eh? We're definitely close, though. I think we do need to confirm whether the KINGSWRD first route is faster than our other route. But I need to work through Alien Hominid for a bit more, though. Attempting improvements, I've redone the end of 3-3 scene 4 by throwing the grenade from a closer position. Since that point, I've saved a total of 28 frames over my previous attempt. However, I'm now sitting in a worse RNG position. I was starting 3-4 with 23441 RNG rolls, but now I'm starting it with 23450. I can tolerate no more than 23446, as any further, and I miss a required weapon drop. Therefore, the 28 frames are meaningless if I can't get the RNG to behave. All I need to do is nudge it back 4 rolls, and I'm good. I am having some trouble finding where I can avoid making those 4 rolls. Throwing away 27 frames to save those 4 rolls will be worth it. Question is, of course, how. I'm already ducking to avoid RNG rolls as I come out of each dash. I've saved every shot I can of my spread shots to avoid those rolls. I'm manipulating those agents best I can to behave right. I'll keep at this for a little longer, but I may just have to back off. I want those 28 frames, or even a portion of those frames, but if it ends in failure, I'll just hand over that .vbm and mark it off as unsolved, and submit my finished run. If someone else ever feels inclined to look at it, there's always my script.