Browsing articles from "February, 2018"
Feb 10, 2018
PermaNulled

Turok 4 Multiplayer – Part 1

To start this off I suppose I should explain what Turok 4 Multiplayer is, Put simply it’s actually a modification for the original Turok 4: Evolution game which was released on PC with no multiplayer support. It introduces Multiplayer Online via means of reverse engineering, programming, and injecting custom code into the game engine.

The idea of this series of posts will be to go over the various hurdles and challenges I went through and am still going through while creating this modification with the hope in mind that it will help others learn this stuff or even create a similar project of their own for their own game, the caveat here is that Turok 4: Evolution on PC did have some local multiplayer code available within the binary this was a huge step towards already having existing Multiplayer content usable and reduced the amount of work needed drastically.

If we look at other games such as Grand Theft Auto 3 or Grand Theft Auto: San Andres while there was no multiplayer support initially there was a wide open world and tons of NPCs to control or replace, that task (replacing NPCs with players, or dynamically spawning them) should have been relatively straight forward once some initial reversing was done… I’ll get into that later in the article/series though.

The idea when I obtained Turok 4 was the same; I had no idea I was walking into a game where Multiplayer modes would exist but there would be no way to control other players, disable the split-screen modes, among other things including various bugs and crashes to overcome.

So the question I had to ask myself before even having the game was where to start; I’ll get into that next but first I want to note that this series will assume the reader has some prior reverse engineering and game hacking knowledge as well as some understanding of the tools such as Cheat Engine/MHS, IDA Pro + Hex Rays Decompiler/OllyDBG, and ReClass.

The first part of this article won’t be super technical as it’s an introduction to the project and initial steps taken; if you’re looking for more technical information in terms of how classes were able to be discovered, player spawning functionality, or the networking put in place please tune-in at a later period this part of the series probably isn’t for you.

 

If you’re just into the source-code and not interested in the reading of how this came to be this is for you:

https://github.com/PermaNulled/T4MP

A video of the current progress of this project can be seen here:

 

As promised though, here’s a series part by part on how the Turok 4: Multiplayer modification took place what the code contains how it works and etc.

Continue reading »