Jump to content
Double Fine Action Forums


DFA Backers
  • Content Count

  • Joined

  • Last visited

Everything posted by SmashManiac

  1. My attempts to load any of the debug rooms causes an immediate softlock, and I have to kill the process. Has anybody been luckier?
  2. Think of it as 3 columns. First column is the instruction number. Second column is the instruction to be executed. The rest is the data required to execute the instruction in a human-readable format. Basically, somewhere in the code, this function is going to be called and executed, starting from instruction 0 and incrementing. The final instruction is RETURN, with an optional value which may then be used by the original code. How to read the data: port.VALUE gets the VALUE data of the port table. The data on the left of the arrow overwrites the data on the right of the arrow. The colored crystals are data containers. They represent variables. So in this example, the function returns the VALUE of port + 1.
  3. I think it's fine that your changes are silent since this is what happens with real hacking. However, I agree that it's totally counter-intuitive that you need to reload a room to see the changes applied. I understand why it happens from a programming standpoint, but it's really difficult to understand from the player's point of view. Not sure how to fix this in a way that makes sense though besides an in-game hint.
  4. I don't think it's a good idea to hack Steam achievements directly either, but a good compromise would be to have a hidden variable that can only be accessed by Halcyon/Ida and that would trigger the achievement. Something like the "Achievement" achievement in The Stanley Parable, but more obscure than simply looking in menus.
  5. I don't think that's a good idea in practice. You need to implement some sort of DRM to detect this. I don't think the extra development time, performance drop and fatal bugs associated with DRM are worth an insignificant achievement.
  6. Just want to point out that there is no "I don't like GOG" option. Not that I would select it since I'm a huge fan of GOG myself, but I find this omission rather revealing.
  7. Ah yes that makes sense, thanks! I didn't realize that some core people at Telltale Games worked on the games this far back. The thought never to me because the Hit the Road is so different from the Telltale Games series, so I was assuming that only Purcell worked on both. (I don't even like the Telltale Games seasons actually.)
  8. Can you elaborate further? The way you explain it, it sounds like your only concern is the brand name difference. That doesn't sound logical to me.
  9. I was wondering how long it would take before someone would think out of the box. I'm even happier to see that's a DF employee.
  10. In this case, it would be more like "master" instead of "remaster", but I agree that it would a great idea. It's probably a better fit for Telltale Games though, since many of their employees were part of the original development team. It has already been remastered in 2009 as the Special Edition. Why another one?
  11. Upon further examination, I think what you actually want to edit is uvRect. Those actually match up with the texture. No idea what rect is actually supposed to represent though.
  12. I may be wrong, but I believe it's because "rect" only controls the draw area, not the draw location. Have you considered the possibility that the cause of the bad alignment isn't some variables but the actual graphics?
  13. Well, in this case I suggest working on the decompiler first. This would make everything else easier.
  14. Good luck with that! I'm waiting for the final release before messing with the code myself. By the way, this may be in handy.
  15. Is that a known issue? I don't recall seeing it documented. In any case, it's hard to say without knowing what the callstack is. From my experience, there's only 3 ways to do it. From cleanest to dirtiest: 1 - Pass the object that triggers the event (usually self) as an argument of the function and compare it with the expected object inside the function 2 - Block the function call except when applicable 3 - Set a global variable to a specific value immediately before calling the function and revert the change immediately afterwards Hopefully that helps. ...actually, now that I think of it, seeing the entire callstack when the universe collapses would be an amazing feature.
  16. Given the lack of responses so far, and given that the decompiler in the Early Access version can't handle most of the files without throwing an exception, I'm going to wait for a more stable build before going back to this problem.
  17. My first criticism is that the document is not in a web-friendly format. But seriously, good job going at this depth. I personally avoided going in detail with the level design when I did my own early access review post. I especially like the "what we learn" part, even if I wasn't always agreeing with it on a personal level. I did notice that you failed to mention some important elements of the game/level design (e.g. the multiple paths in SpookyForest, hints in dialogs, using the amulet to reset puzzles), but I think it's simply because you were mostly concerned with the individual puzzles. Overall, I agree with almost everything in your analysis when taking the game at face value, and while I don't agree with most of your suggestions I can definitely see merit into them and they are well justified. Congrats! If I had some feedback to give you, it would be to stay completely objective in your analysis, since what you find awesome or frustrating may be different from player to player. For example, instead of criticizing infinite health exploits in lengthy notes, simply state that such possibility exist when it applies, and let the reader decide for himself whether that's a problem or not. If you want to include your own opinion or suggestion about some game element, you should do it separately from the main content. By the way, if you want to get better at game analysis, I highly recommend reading Game Design Companion: A Critical Analysis of Wario Land 4. It's 600 pages analyzing pretty much everything in Wario Land 4, and for only $8.
  18. Not to mention that sometimes, completely different crystals have the same color. Personally, I'm just looking at the arrows. I find colors and shapes too hard to remember.
  19. That's a very good point this field blank, and I should have been clearer about that. My objective is to cause the virtual machine to execute arbitrary code within itself, not outside of it, otherwise I believe it would be a security exploit that could be maliciously used and spread through Steam Workshop. (By the way, I haven't found a way to access the "os" library from within the game so far.)
  20. So, with what's currently implemented in the game, here's what's possible: - Hacking of public variables from instantiated objects (sword, boomerang) - Hacking of global variables (artifacts, magic lamp) - Partial hacking of instructions from any function (bombs, book), excluding when it causes the decompiler to crash With this set of abilities, what I'd like to try to do is force the virtual machine to execute arbitrary code. It appears to be based on Lua 5.1 and using the Moai SDK as a framework. Anybody knows of any existing documented exploits for Lua/Moai that could be a good starting point?
  21. I goofed up on the filePath thing yesterday. Tried it again today and it works like a charm! Kudos to Tarean on the Steam forums to figuring that one out by looking at the disassembly in moai_log_Hack'n'Slash.txt! So basically: 1 - Use Ida: activePath 2 - Use magic lamp: hy[[][$]]"3"pvt"eit"oannr 3 - Use magic lamp Content/Game/Global/Items/LibraryBookItem 4 - Use Ida: activePath 5 - Use magic lamp: hey[[[][e]$]]""3"tPtlv"tf"ieito"saannr 6 - Switch rooms 7 - Use magic lamp: the file path you want to access in the algorithm room 8 - Use book More findings from Tarean: With all of these findings, I'm starting to think of a potential speedrunning route for the final version. Assuming nothing unexpected happens after exiting the cave in InfiniteWoods, this should be feasible: 1 - Go to InfiniteWoods as fast as possible 2 - Follow the correct path to the cave (LUULLDDRRU) 3 - Complete the puzzles in the cave normally to get the bombs 4 - Bomb the turtle spawner in CentralForest 5 - Hack its functions to force it to spawn Ida, the magic lamp and/or the book 6 - Say "Hocus pocus" and win, or something like that
  22. Looks like somebody on the Steam forums got busy with my bomb early trick and beat me in trying ideas I had but didn't had the opportunity to check yet, with cool results: http://steamcommunity.com/app/246070/discussions/0/540741132023362742/ http://steamcommunity.com/app/246070/discussions/0/540741132035372484/ I can't get the book fix to work for some reason though. Can somebody else try it? I should note that he mentions "filePath" even though the exception mentions "fullPath" instead.
  23. What you're hacking with the magic loupe is a function. What the unhacked function does is take the strings "ran" and "dom", concatenate them together (which gives "random") and return the result. Whatever piece of code which calls this function then uses its return value to determine if the gate should be unlocked or not. Also, when you hack a function, it gets recompiled only when you exit the algorithm room, so you'll need to do that to check if you got the correct solution. Make sure to decipher the glyphs first though, it will help a lot understanding the decompiled code. Hope this helps!
  • Create New...