[slightly-OT] Game reverse engineering
Forum rules
NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
[slightly-OT] Game reverse engineering
Hi!
I was recently thinking about creating some kind of centralized Wiki for game file reverse engineering stuff. It would be a good place for people to post their findings about game data files so that others might pick up the work and don't have to start from scratch. I, for example, already have some stuff for Might & Magic lying around, which I could post there.
I'm interested in opinions from other developers: how useful do you think such a Wiki would be?
--Darkstar
I was recently thinking about creating some kind of centralized Wiki for game file reverse engineering stuff. It would be a good place for people to post their findings about game data files so that others might pick up the work and don't have to start from scratch. I, for example, already have some stuff for Might & Magic lying around, which I could post there.
I'm interested in opinions from other developers: how useful do you think such a Wiki would be?
--Darkstar
-
- Posts: 30
- Joined: Thu May 14, 2020 1:34 pm
Re: [slightly-OT] Game reverse engineering
I think a Wiki like this would be very useful:
- If someone has reverse-engineered parts of a game and then loses interest, he can add the information to the Wiki so it won't be lost.
- The information in the Wiki might encourage someone to start reverse-engineering a particular game.
- If a reverse-engineer gets stuck at a partciular point in a game, he can use the Wiki to get help from others.
I'm sure there are more reasons, but basically a Wiki would speed up the reverse-engineering process.
- If someone has reverse-engineered parts of a game and then loses interest, he can add the information to the Wiki so it won't be lost.
- The information in the Wiki might encourage someone to start reverse-engineering a particular game.
- If a reverse-engineer gets stuck at a partciular point in a game, he can use the Wiki to get help from others.
I'm sure there are more reasons, but basically a Wiki would speed up the reverse-engineering process.
Re: [slightly-OT] Game reverse engineering
I think "hard" reverse-engineering of commercial games, so it would be somewhat pointless to make a Wiki for it.
Re: [slightly-OT] Game reverse engineering
Ouch! The previous posting should have been:
I think "hard" reverse-engineering of commercial games is illegal, so it would be somewhat pointless to make a Wiki for it.
I think "hard" reverse-engineering of commercial games is illegal, so it would be somewhat pointless to make a Wiki for it.
Re: [slightly-OT] Game reverse engineering
I don't know exactly what you mean by "hard" reverse-engineering, but I'm pretty sure that -- provided you do not circumvent any copy protection schemes -- reverse-engineering is legal. At least in the country where I live (and where the server resides).
However, IANAL, so don't take my word for it.
Here's the wiki:
http://rewiki.regengedanken.de/
Anyone interested in sharing his/her findings is invited to post it there.
--Darkstar
However, IANAL, so don't take my word for it.
Here's the wiki:
http://rewiki.regengedanken.de/
Anyone interested in sharing his/her findings is invited to post it there.
--Darkstar
-
- Posts: 30
- Joined: Thu May 14, 2020 1:34 pm
Re: [slightly-OT] Game reverse engineering
By "hard" reverse-engineering, he probably means disassembling a program and trying to understand the assembler code.I don't know exactly what you mean by "hard" reverse-engineering
The "soft" approach would be to modify the program's data files and examine how this changes the program's behavior.
-
- Posts: 1241
- Joined: Thu May 14, 2020 1:34 pm
Re: [slightly-OT] Game reverse engineering
Exult takes the soft approach. It's not illegal to scratchbuild an engine using old data files - but it IS illegal to distribute those datafiles. That is why Exult's information is kept seperate in Exult.flx and also why mod Shapes.vga files contain the data added, not all the original data.
However, many (but not all) game License Agreements come with a clause that makes it a breach of the License Agreement to decompile the binaries that ship with the game. Again, this does not make it illegal to scratchbuild an engine that reads the datafiles - but you cannot decompile the executable to even see how it works. That is what made usecoding difficult in the early days, because the only way we could determine how things worked was by good old fashioned trial and error. It was the classical "black box" scenario, if you would.
--------
Peter M Dodge aka Wizardry Dragon
Lead Designer,
Ultima VII: The Feudal Lands
However, many (but not all) game License Agreements come with a clause that makes it a breach of the License Agreement to decompile the binaries that ship with the game. Again, this does not make it illegal to scratchbuild an engine that reads the datafiles - but you cannot decompile the executable to even see how it works. That is what made usecoding difficult in the early days, because the only way we could determine how things worked was by good old fashioned trial and error. It was the classical "black box" scenario, if you would.
--------
Peter M Dodge aka Wizardry Dragon
Lead Designer,
Ultima VII: The Feudal Lands
Cheers, Wizardry Dragon
Lead Designer, Ultima VII: The Feudal Lands
www.thefeudallands.ca
Lead Designer, Ultima VII: The Feudal Lands
www.thefeudallands.ca
Re: [slightly-OT] Game reverse engineering
It was also a little like doing a crossword puzzle, where getting a few things right made it possible to guess more things. So once enough was implemented so that you could try to use the fishing pole, we'd notice that we got an "unimplemented' intrinsic when you clicked on the water. And then we could guess that this was probably a test for whether you were clicking on water.
It was frustrating but fun. Ah... the good old days:-)
It was frustrating but fun. Ah... the good old days:-)
Re: [slightly-OT] Game reverse engineering
Remember that so-called license agreements can't take away rights that you're guaranteed to by law. Even in backwater places like the US with their DMCA, I recall there was still an explict exemption left in allowing decompilation of programs for the purpose of compatibility.
I feel the same way as DrCode - I'm currently in the middle of reverse-engineering the game Lure of the Temptress to make a ScumMVM, and it's been enormous fun. I've even used the crossword/jigsaw analogy when it explaining to friends, who couldn't believe I'd do such a hard thing in my spare time.
I feel the same way as DrCode - I'm currently in the middle of reverse-engineering the game Lure of the Temptress to make a ScumMVM, and it's been enormous fun. I've even used the crossword/jigsaw analogy when it explaining to friends, who couldn't believe I'd do such a hard thing in my spare time.
Re: [slightly-OT] Game reverse engineering
I meant make a ScummVM module above. I need to learn to proof read my messages before I post.
Re: [slightly-OT] Game reverse engineering
I was wondering about this in regards to Interplay's Lord of the Rings duology (lol, they never made Return of the King!). It was a great RPG to play, but looking at it now, the engine was pretty bunk.
I've been wondering if it would be worth it to remake, and I can't find anyone else doing it after searching through mountains of stuff on the recent movies and games.
Back to Ultima, sorry about that.
I've been wondering if it would be worth it to remake, and I can't find anyone else doing it after searching through mountains of stuff on the recent movies and games.
Back to Ultima, sorry about that.
Re: [slightly-OT] Game reverse engineering
An Interplay LotR remake is in progress. It is linked here:
http://rewiki.regengedanken.de/wiki/Lin ... mentations
(or, if you prefer the direct link, it's this one: http://www.karlin.mff.cuni.cz/~benes/lotr/ )
http://rewiki.regengedanken.de/wiki/Lin ... mentations
(or, if you prefer the direct link, it's this one: http://www.karlin.mff.cuni.cz/~benes/lotr/ )
Re: [slightly-OT] Game reverse engineering
I wonder if that link has been updated recently at all. I actually found it once.
I think I'll contact the author, just for fun. Its built for Linux, which I don't have running on any of my boxes, but he might have info on the file formats.
I popped it into PSP, and it looks like the tiles are 16x16, but things don't always line up, like walls and scenery could be placed offset on a tile. Hrm...
Edit by Dominus: the thread needed freezing as it was collecting spam ;(
I think I'll contact the author, just for fun. Its built for Linux, which I don't have running on any of my boxes, but he might have info on the file formats.
I popped it into PSP, and it looks like the tiles are 16x16, but things don't always line up, like walls and scenery could be placed offset on a tile. Hrm...
Edit by Dominus: the thread needed freezing as it was collecting spam ;(