Home games Rewriting My Game Engine based off GTA 3 Source Code

Rewriting My Game Engine based off GTA 3 Source Code

by admin



My second devlog, I’ve recently done a re-write on my game engine, and used the GTA 3 Re-implementation / OpenRW project for some useful design practices that I’ve discussed in this video!

My Rewrite it here: (on a rewrite branch)
https://github.com/jasonmzx/cppkart/tree/rewrite

And here’s a link to the OpenRW Project Website:
https://openrw.org/

Thanks for Watching

#opengl #gamedev #gamedevelopment #computerscience

source

Related Videos

23 comments

@jason_m2003 September 27, 2024 - 10:20 am

https://github.com/jasonmzx/cppkart <– Here is the link to my engine! (OpenRW repo is also in description)

@sneikychannel8876 September 27, 2024 - 10:20 am

I would like to play GTA San Andreas wihout wine hahaha

@sionyde2345 September 27, 2024 - 10:20 am

what are the chances of R* Sending a dmca?

@aliyassin5631 September 27, 2024 - 10:20 am

I am a freshman cs student and planning to make my engine at some point and this video was great inspiration to me, please keep making more devlogs, support from Egypt!

@boopumer September 27, 2024 - 10:20 am

How did you get the skills to do stuff like this? As Bachelor Graduate I constantly have imposter syndrome because there is so much stuff I don't know about

@The_Hambone_88 September 27, 2024 - 10:20 am

I would love to mess with this! Is it pretty easy to setup?

@xoxoheartz September 27, 2024 - 10:20 am

shake shake shake

@benjamin2713 September 27, 2024 - 10:20 am

Nice BG Music

@toddwasson3355 September 27, 2024 - 10:20 am

Pretty cool. I'm not sure how good of an idea it is to get too buried in engine design patterns from a graphics engine that's 25 years old though, predating almost all GPU hardware acceleration and multicore. Can OpenGL do anything like DirectX12's ExecuteIndirect? I'm sure the old versions can't, but I wonder if the most recent versions can. I've been writing a DX12 engine for the last two years. All draw calls for the entire scene are loaded onto the GPU during loading one time. One big vertex buffer and one big index buffer for everything but 2D overlay stuff, pretty much. It's then rendered with just one ExecuteIndirect call per camera in my system. That runs a compute shader which culls the scene and builds a fresh draw call list that goes straight to the GPU rendering pipeline. There's no looping over objects CPU-side at all per frame other than the cameras.

@ismbks September 27, 2024 - 10:20 am

has anybody ever lost a case, or have been sentenced for reverse engineering? to my knowledge there is nothing illegal about reverse engineering, no matter what the terms and conditions of the software says
im genuinely curious if it has ever happened

@jw200 September 27, 2024 - 10:20 am

I wish they would release GTA2 sources. Or hackers would leak it

@ttkftykyfts September 27, 2024 - 10:20 am

o.o

@daniel99497 September 27, 2024 - 10:20 am

Plz do more devlogs

@Plantum21 September 27, 2024 - 10:20 am

imagine some1 invent a clay brick, then after a while stops selling good clay brick and starts selling ugly plastic bricks, and also forbids other people from making clay bricks……

@rawallon September 27, 2024 - 10:20 am

Thats pretty cool, I don't want to be the guy that does "Well, duh 🤓", but isn't that the most basic of design patterns? (and now I figure I sound just like that guy) What you've seen to have shown seems to be the most basics of inheritance, where you have can have different implementations (say one for openGL, another for Vulkan, etc.) but they respect an interface, that way later in the code they can get passed as an argument and the function that recieves that argument doesn't need to know the implementation of it

@zonea4860 September 27, 2024 - 10:20 am

OpenRW" and "re3" are two completely different projects. "re3" was the one that got sued and removed from github. From my knowledge "OpenRW" never had such problems. These two projects were made in two totally different ways. "re3" was an attempt in decompiling (decompiling is a form/method of reverse engineering) the original game executable back to readable C++ code, that's why it replicated the behaviour of the original game so well (almost 1:1, even bugs were replicated), but that's also why it got sued. "OpenRW" on the other hand is a project that aims to recreate the game engine to behave as closely to the original as possible, but without actually using any decompiled code, that's why this project is completely legal, but that's also why its less accurate than "re3". In many cases authors of this project had to "eyeball" stuff, because they didn't have the access to the original code, they were coming up with their own code that was able to read the game data and recreate its behaviour. That's also why "OpenRW" is called "OpenRW" as in "Open Re-Write" and not "OpenRE" as in "Open Reverse Engineering" or something like that.
Cool devlog tho

@raveltammeleht6278 September 27, 2024 - 10:20 am

Interesting! Since you now have some knowledge and experience with the code base. How would you personally describe its performance side of things. Such as optimization. I noticed quaternions. Do you have them implemented and how do you go about them. Quaternions are sometimes tricky from my personal experience especially from the vehicle simulation perspective. To my current project they are essential part of the simulation actually. But when I tried to narrow it down to rotation matrix instead (not that I would suggest it) I found some technical limitations, just a learning experience. Why am I asking this? Well mainly because gta3's vehicles felt good, but not exactly amazing, this is how I find the quaternions in this game a bit interesting. As if I would have never guessed that such a advanced rotation model is actually used there in the first place. I previously thought that all the rotations are done in plain simple Euler Angles.

@Sandbowl September 27, 2024 - 10:20 am

rise FM background music 💞🎊

@zestaboy2455 September 27, 2024 - 10:20 am

Pretty dope! I've been looking at the project myself and making a similar game in Godot but in my own style

@eaeaeaeaeaeaeaeaeaeae September 27, 2024 - 10:20 am

epik

@squiddywtf September 27, 2024 - 10:20 am

i dont know how to program but it looks pretty cool! great job 🙂

@Snowy-AI September 27, 2024 - 10:20 am

Bro played Shake from Rise RM Gta 3 radio and thought we wouldn't notice

@eugenetalks September 27, 2024 - 10:20 am

Just wow, I love how you simplified some explanations about OpenRW's engine, for the more intuitive understanding 🎉🎉🎉

Comments are closed.