It just happens that relatively recently I talked to a person who had successfully reverse-engineered a commercial game that was released on multiple platforms including DOS, and based on this reverse-engineering that person created a re-implementation of said game running on modern systems. When I touched the subject of legal matters that person directed me to this website:
https://www.eff.org/...engineering-faq
This supposedly should answer some of the questions concerning how legal reverse-engineering for such purposes as stated above is. I have no idea how accurate this source is, however, and would much appreciate any comments from the more experienced people here.
BloodBox proof of concept
#31 Posted 25 June 2016 - 08:20 AM
#32 Posted 25 June 2016 - 08:30 AM
Psycho87, on 25 June 2016 - 06:34 AM, said:
Thanks. And yeah, even if it's illegal, It's not like I'm distributing the game's data or anything, so I doubt they'd come after Lucius or me.
Good Luck Hope to see a finished product.
#33 Posted 25 June 2016 - 08:56 AM
I'll use the example of printers. Take for example the reverse-engineering of ink cartridges so that 3rd parties can make them. Lexmark tried taking them to court over it and lost, which found that the reverse-engineering was legal because it was done to allow compatibility with their system. People do this with old device drivers sometimes to allow devices to be used on operating systems that aren't officially supported. Since it's dealing with the binary and not the game data, I don't think anyone has anything. Kaiser did it to get DOOM 64 working on PC. You still have to fetch the game data. I think you should run with it.
This post has been edited by deuxsonic: 25 June 2016 - 08:59 AM
#34 Posted 25 June 2016 - 09:13 AM
deuxsonic, on 25 June 2016 - 05:53 AM, said:
Reverse-engineering something for the purposes of compatibility is legal I believe so I think you're okay. Good luck.
For compatibility or interoperability, yes. But keep in mind that the act of reverse engineering is not the same as distributing the copyrighted result. Your printer example is totally irrelevant.
From MrFlibble's link: "It is highly risky to copy any code into a program you create as a result of reverse engineering, because that copy could infringe copyright unless it is a fair use under copyright law. Note that copying can include both imitation of non-functional elements as well as verbatim duplication."
It might be possible to make a fair use defense, but the problem with fair use is that you have to defend yourself in court should anything arise, rather than operate under clear-cut rules. So unless you have a massive legal budget, don't count on it.
Psycho87, on 25 June 2016 - 03:21 AM, said:
I believe the only way to get an accurate port is by reverse engineering the original game,
I agree.
#36 Posted 25 June 2016 - 10:59 AM
deuxsonic, on 25 June 2016 - 09:32 AM, said:
Do it anyway.
I will. Whether it's going to be Lucius, me or someone else, this game is going to get a good open source port.
#37 Posted 25 June 2016 - 11:36 AM
Hendricks266's thing is going to walk all over all other efforts.
#39 Posted 25 June 2016 - 12:01 PM
Does your approach involve some sort of run-time analysis of BLOOD.EXE?
#43 Posted 25 June 2016 - 12:58 PM
I don't know. BLEED is easily the most ambitious project I have ever undertaken, and I have to reinvent several wheels to make it happen.
#44 Posted 25 June 2016 - 01:20 PM
I'm still interested in the other attempts, so please do not stop your efforts, Psycho87.
#45 Posted 25 June 2016 - 01:22 PM
Yes. Please don't stop on my account. I'm sure we'll encounter some of the same issues.
#46 Posted 25 June 2016 - 01:39 PM
Don't worry, I'm actually having fun with this. And I think it's great that multiple people are working on porting the game. The higher the chance we'll end up with a good port.
#47 Posted 25 June 2016 - 01:43 PM
Psycho87, on 25 June 2016 - 01:39 PM, said:
Don't worry, I'm actually having fun with this. And I think it's great that multiple people are working on porting the game. The higher the chance we'll end up with a good port.
This
#48 Posted 26 June 2016 - 01:11 AM
Interesting, so Hendricks, does this mean your approach could technically run any version of Blood, provided you have the executable for that respective version? Or am I misunderstanding?
#49 Posted 29 June 2016 - 03:47 AM
I've got a very vague suspicion that Henrdicks266's project is going to somehow use the compatibility layer principle. If this is the case, then yes, it should theoretically run any version of any supported game.
#50 Posted 04 January 2017 - 06:57 AM
With my interest in source ports and remakes renewed, I just read about KeeperFX which is a re-implementation of Dungeon Keeper. According to the official site, it works as follows (emphasis added):
I wonder if something like this could theoretically work with Blood (I'm assuming that the KeeperFX author used the Windows version of DK)? That would be way easier and less demanding of system resources than any approach that involves DOSBox.
Quote
The problem with remaking games is that usually the remakes are abandoned at some stage and never finished. This means that all the work put into such remake is lost, as it usually isn't finished enoughly to be used. Making games requires lots of time, and often volunteers do not have enough will to finish the project.
Bearing this in mind, I've decided I won't try to remake the game from start. Instead, I've learned binary formats of EXE and DLL files, and modified the Dungeon Keeper executable file to become a DLL.
With my new DLL, I was able to create very simple executable file which may be used as complete code to run the game. Now I'm incrementally rewriting DK; functions which are not yet rewritten are called from the DLL, so the project functions like whole game, even though it wasn't completely rewritten yet.
Many functions are already rewritten and fixed. Structure of the code allows to take advantages of every rewritten part, by fixing bugs and making new functions. The project is open-source, and its code is downloadable here.
Bearing this in mind, I've decided I won't try to remake the game from start. Instead, I've learned binary formats of EXE and DLL files, and modified the Dungeon Keeper executable file to become a DLL.
With my new DLL, I was able to create very simple executable file which may be used as complete code to run the game. Now I'm incrementally rewriting DK; functions which are not yet rewritten are called from the DLL, so the project functions like whole game, even though it wasn't completely rewritten yet.
Many functions are already rewritten and fixed. Structure of the code allows to take advantages of every rewritten part, by fixing bugs and making new functions. The project is open-source, and its code is downloadable here.
I wonder if something like this could theoretically work with Blood (I'm assuming that the KeeperFX author used the Windows version of DK)? That would be way easier and less demanding of system resources than any approach that involves DOSBox.
#52 Posted 04 January 2017 - 07:46 AM
This is very similar to my plan. With yet another competitor entering the ring, I can't afford to put this off any longer.
#53 Posted 04 January 2017 - 07:50 AM
Kawa, on 04 January 2017 - 07:17 AM, said:
Turning an EXE into a DLL?
What a time to be alive.
What a time to be alive.
Not that unusual, if I'm not wrong, a similar concept is used to make Return To The Roots aka Settlers II open source remake.
http://settlers2.net...n-to-the-roots/
#54 Posted 04 January 2017 - 05:38 PM
MrFlibble, on 04 January 2017 - 06:57 AM, said:
With my interest in source ports and remakes renewed, I just read about KeeperFX which is a re-implementation of Dungeon Keeper. According to the official site, it works as follows (emphasis added):
He documents the process here