It was only recently that we picked up the news of both GTA III and Vice City getting a fully working reverse engineered game engine, along with plenty of upgrades. Sadly, and expectedly, it got nuked from orbit.
Even though it required you to own the game assets, so you would have needed to purchase a copy of either to use the re3 and reVC game reimplementations that wasn't enough to satisfy Take-Two Interactive Software, Inc., the parent company of Rockstar Games. They've now given it the DMCA treatment, with the main repository and all known forks at the time to be taken offline on GitHub.
Sad but fully expected. Big publishers really don't like these sorts of projects, even though they can help revive their older games and perhaps even get them more sales. Copyright and Intellectual Property Rights are a legal minefield at the best of times, so the only way we may get this treatment in future is a fully clean-room reimplementation more like OpenMW for Morrowind or OpenRA for classic Westwood RTS games.
Perhaps now someone can pick up OpenRW again.
Sad world.
The fact that they went with a DCMA and not more formal legal proceedings suggests to me that this was a drive-by attack by a company, not necessarily a law firm, hired to protect Take Two's IP/Copyright.
I mean, FFS, people invested time and efforts in this, probably without earning a penny. What is the legal justification of this ? If GTA's code was indeed reverse-engineered, that means not a single line of code or asset belonging to Rockstar exists in this project, hence no reason for the DMCA.
If it's the case here and it turns out to be yet another DMCA abuse, I *do* hope it will attract negative (but constructive) feedback, hopefully a lot of it, on both TakeTwo AND GitHub. If every unjustified DMCA takedown procedure was met with a fierce reaction from people turning it into a living nightmare in terms of company image/prestige and unending lawsuits, big companies would probably think twice before abusing the system.
Last edited by ssj17vegeta on 22 February 2021 at 11:08 am UTC
Saw this one coming. I hope Github doesn't get hate for this like they did with Youtube-dl. Github are not to blame for this, they have no choice but to comply with the awful DMCA
Youtube dl is back though and has been for over a month now
Were I Take-Two, or any other similar company, I would hire the developers. Reverse engineering is difficult and if they managed to also bring improvements and port the code to other systems other than Windows, I would be like: "Hell, work for me and let's make next GTA/Assasins/whatever even better!"
But they dont want it on other platforms given the PS5 and the Xbox whatever the fuck is essentially a pc the windows port involves tweaking the xbox port to a very limited degree and viola windows console port or vice versa. They have no interest in supporting linux or mac they will leave that upto proton. Besides Take 2 would rather sell you a remastered port of vice city in fact they do sell a remastered version of vice city it does not have anywhere near the level of polish of this former project but its for sale.
I see that publishers dont have enough ressources to port their games on Linux, but they have ressources to make DMCA for this kind of projects which could lead to more sales...
Sad world.
I have some knowledge on this from a business point of view they view it as brand protection, what if the fan remake rule 34s everything or has anti gay or racist messaging. Now of course this project didnt but how would take 2 know that without playing it or investing the project. It's far easy to get a law firm to nuke it from orbit rather than bother investigating it. Which saves the corporation time and time is money.
Last edited by Whitewolfe80 on 22 February 2021 at 11:22 am UTC
Saw this one coming. I hope Github doesn't get hate for this like they did with Youtube-dl. Github are not to blame for this, they have no choice but to comply with the awful DMCA
https://github.blog/2020-11-16-standing-up-for-developers-youtube-dl-is-back/
I wonder how this one will end.
Last edited by pb on 22 February 2021 at 1:13 pm UTC
Last edited by vipor29 on 22 February 2021 at 2:47 pm UTC
Not in active development anymore; Superseded by re3
RIP
Last edited by wytrabbit on 22 February 2021 at 2:56 pm UTC
Remember when Microsoft tried to legally poopoo* the Samba project, but then later agreed to help them by providing spec docs?
* not a legal term
This is a weird one. I might be talking out my ass here, but DMCA is for copyright, and as far as I know, reverse engineered efforts like this usually do not use any of the original code and you still need to buy the original game for the assets. So it does not violate any copyright.As mentioned in the article, this did not seem to be a clean room reverse engineering effort. I think Rockstar might very well claim copyright.
If it was a clean-room implementation there wouldn't be as much of a problem, however this was reverse engineered directly from the binaries it seems. That's a bit more of an issue as far as countries with dmca style laws go.There was a point in time where reverse engineering was perfectly legal. I'm not sure if it is at this point. But for the most part there has to be some form of being able to read the data files to be able to recreate the game, and the term reverse engineering could technically be pinned to that. Pretty sure they weren't full on creating the engine through such means, were they?
I think the 'brings more sales' argument is shot down by sales, as they'd rather sell you new games instead of people being able to buy cheap old games. Plus with it being opened, they're afraid new content will be created for the old games, again hampering sales of new games.
Basically anti-consumer, pro-company thoughts.
All this aside, it blew me away to get Vice City running on my Raspberry Pi 400
!reVC on Raspberry Pi 400
1024x576 running at 20-25 fps, The framerate seems more stable by forcing GLES instead of OpenGL (just by commenting out the OpenGL profiles in the code).
Very cool!
Saw this one coming. I hope Github doesn't get hate for this like they did with Youtube-dl. Github are not to blame for this, they have no choice but to comply with the awful DMCA
So, that's no actually true. I'll have to dig up the appropriate video, but a particular Business Lawyer clarified the DMCA provisions relating to takedowns. There is no requirement to takedown content from a DMCA request. All that provision does is protect the platform owner from liability on both sides. Basically, it protects hosts from being "caught in the middle" of a copyright dispute and facing a lawsuit from the organization requesting the takedown and from the users affected by the takedown.
But, as can be seen with a recent copyright case between Cox Communications and Sony Music, if a company doesn't actually comply with the DMCA takedown, they lose the immunity to lawsuits.... making them liable for an infringement by their users.
This is unfortunate.
All this aside, it blew me away to get Vice City running on my Raspberry Pi 400
!reVC on Raspberry Pi 400
1024x576 running at 20-25 fps, The framerate seems more stable by forcing GLES instead of OpenGL (just by commenting out the OpenGL profiles in the code).
Very cool!
Nice! I want to give it a try now, can you zip up the code and upload it somewhere? Please help :)
If it was a clean-room implementation there wouldn't be as much of a problem, however this was reverse engineered directly from the binaries it seems. That's a bit more of an issue as far as countries with dmca style laws go.There was a point in time where reverse engineering was perfectly legal. I'm not sure if it is at this point. But for the most part there has to be some form of being able to read the data files to be able to recreate the game, and the term reverse engineering could technically be pinned to that. Pretty sure they weren't full on creating the engine through such means, were they?
I think the 'brings more sales' argument is shot down by sales, as they'd rather sell you new games instead of people being able to buy cheap old games. Plus with it being opened, they're afraid new content will be created for the old games, again hampering sales of new games.
Basically anti-consumer, pro-company thoughts.
Depends on if there are clauses against reverse engineering in the EULA of the original game since it was declared in https://en.wikipedia.org/wiki/Bowers_v._Baystate_Technologies,_Inc. that such an EULA override the copyright law that expressly permits reverse engineering. However it has also to be said that Baystate did sell a competing application to Bowers and reverse engineered Bowers application to add new features to their own so that case is not 100% comparable with this situation.
However defending your position in court even if you are 100% sure that you will win is extremely expensive in the US so many smaller entities will not defend themselves even when they are in the right paving the way for big corporations to bully their way through the court system.
Nice! I want to give it a try now, can you zip up the code and upload it somewhere? Please help :)You should be able to find a mirror of the repo by searching a bit. I already had it pulled from github before the takedown. Checkout the correct branch if you want to build for Vice City or 3.
This is on Manjaro KDE with Wayland.
At the root level I had to apply:
diff --git a/premake5.lua b/premake5.lua
index 531f92ea..987e72b3 100644
--- a/premake5.lua
+++ b/premake5.lua
@@ -354,7 +354,7 @@ project "reVC"
if _OPTIONS["with-opus"] then
filter {}
- links { "libogg" }
+ links { "ogg" }
links { "opus" }
links { "opusfile" }
end
libogg is wrong.
In vendor/librw apply:
diff --git a/src/gl/gl3device.cpp b/src/gl/gl3device.cpp
index b1036c0..5184e17 100644
--- a/src/gl/gl3device.cpp
+++ b/src/gl/gl3device.cpp
@@ -1689,8 +1689,8 @@ static struct {
int gl;
int major, minor;
} profiles[] = {
- { GLFW_OPENGL_API, 3, 3 },
- { GLFW_OPENGL_API, 2, 1 },
+ //{ GLFW_OPENGL_API, 3, 3 },
+ //{ GLFW_OPENGL_API, 2, 1 },
{ GLFW_OPENGL_ES_API, 3, 1 },
{ GLFW_OPENGL_ES_API, 2, 0 },
{ 0, 0, 0 },
To force GLES selection.
I compile it like this:
premake5 --with-librw --with-opus --lto gmake2
cd build
// export your compiler flags like MAKEFLAGS=-j5
make verbose=1 O=. config=release_linux-arm64-librw_gl3_glfw-oal
The binary will be at the root level in bin/ and copy the content of gamefiles/ over your game directory.
I have an overclock for the pi 400:
arm_freq=2100
gpu_freq=750
v3d_freq=750
over_voltage=6
Also using the pure kms driver:
dtoverlay=vc4-kms-v3d-pi4
If I find some time I'd like to figure out how to force the use of wayland instead of xorg (using glfw for wayland). There's a small part that depends on X11 input constants which should be replaceable. Wondering if it would help performance.
Last edited by popsulfr on 22 February 2021 at 4:35 pm UTC
See more from me