Gblorb file editin

Hello,

I’m playing a game that is a .gblorb format and while I do like it I want to edit some thing (for private use) like enabling certain abilities for npcs or making resources easier to find, but to do that I need to edit the code or change the format to make it able to edit, I was also able to find raw game files that just need to be turned into .gblorb format but I have no idea how to do that if it is possible.

1 Like

You definitely need to edit the original code that was used to make the game, then turn it back into a .blorb file to play it. This is not a simple change to make; you’ll need to read and understand the code that was originally used to make the game and then alter that code so it supports what you want to make possible.

The process after you’ve made the edits will be much the same as compiling the raw source code you found: you’ll need to get the toolset for the language used to create the game, then use that tool set to turn the source code into a playable .blorb file. How you do that exactly depends on the language used to write the game. There are several languages that generate playable .blorb files, but the most common in Inform; you can download the Inform toolset from here.

3 Likes

I appreciate the help but the windows download seam to be dead. Nevermind I completely missed the new version on the top of the page, and this might sound stupid but I still have no idea how to open a gblorb file or put rar file and export it as gblorb file

You can’t decompile a gblorb file. The best you can do is to rewrite the game from scratch, which is what Inform lets you do.

1 Like

To change simple values, one could hex-edit if you know where to look, right? I do realise that it’s not workable most of the time.

One could even imagine an interpreter helping you to find the right addresses, where each turn the player indicates if the value has increased/decreased/changed to narrow the search until only one address is left. (That would only work for the RAM, though.) A bit like the Action Replay.

I’m aware it won’t really help you, it’s just that the topic made me think of that.

Right, if someone with the right background went and devoted sufficient time to reverse engineering a game, they could build plenty of tools along the way that would make it less monotonous. Besides inspecting the game as it runs, there’s also a lot of clues in the Glulx bytecode (eg, rule names, unless it’s built with the memory economy option). The translations from Inform to I6 and from I6 to Glulx are also formulaic enough that there’s a lot of patterns one could recognise and “lift” to Inform idioms and library functions semi automatically. But both building such tools and doing the actual decompilation is a huge amount of work, just like any other decompilation effort. So it’s not a realistic option for pretty much anyone. Those with the necessary knowledge and time and motivation will probably find it easier (relatively) to remake the game more directly (only reverse engineering behaviour, when it is unclear).

1 Like

Yes, when I said “You can’t do that” I was glossing over several difficult options. :) It is still true as a short answer.

2 Likes

I was thinking more of basic cheats like always having the hitpoints to the maximum, this kind of thing. It would be pretty easy. Just look for the addresses that has the current hitpoint value, change the hitpoints by getting hurt or healing yourself, find among the previously found addresses the ones that have the new value, and repeat until only one is left. Then the interpreter could just return a fixed value when reading from this address.

It shouldn’t be that difficult to build an interpreter with this kind of feature, or even hack Quixe for that.

It shouldn’t be that difficult to build an interpreter with this kind of feature, or even hack Quixe for that.

I think that’s not difficult, but I’m really not a representative sample!

(If you’re hacking Quixe, the Quixe.get_vm_internals() Javascript method is your starting point.)

1 Like

Thank you all for helping I will try and rewrite the game with changed values. It shouldn’t be too difficult since I downloaded game files (not just the game) in any case I will try it as soon as possible.