Although this is not actually a game development project, the GIA Project applies to all multiplayer games. I hope you will have the constitution and fortitude to read this through and decide if you would like to join the team.
Like many gamers, I have seen a lot of really good games ruined by cheats. Some years back, most games didnít even incorporate any method at all to stop cheats. Now we have a few anti-cheat applications out there but none really stand out as a truly affective solution.
Punk Buster by Even Balance, Inc. is, currently, probably about the best option. Coupled with MD5 checks and streaming a server so that screen shots can be constantly monitored, itís fairly affective but very, very far from perfect. From what Iíve noticed, they generally give ďthe benefit of the doubtĒ. And sometimes it seems like they are very doubtful people.
The typical routine is that a game is released. The anti-cheat software is integrated into the game. Initially, the game is pretty much cheat-free. Then a few very talented but dishonest people create a program to cheat the game. This works for a while. Then, as the cheat becomes wider spread, eventually the anti-cheat software is updated to include recognition of the cheat apps out there. But that doesnít stop the same people from creating yet another cheat app. This goes back and forth until the game developer finally decides it is no longer profitable to update the anti-cheat measures. Then, ultimately, the way of all good games have the same ends. They become so cheat-filled that the only way you can play the game on a public server is to have a better set of cheats than your opponents.
Half-Life, Ghost Recon, Soldier of Fortune, Quake, and Delta Force are among a number of games that I no longer play for this very reason. Games like Raven Shield, Joint Operations, Black Hawk Down, and even Battlefield, and others, are on that same road right now. It gets more and more difficult to find a cheat free server to play on anymore. But donít think itís limited to the FPS genre just because I didnít mention any. Other games, including RPGís and RTSís are coming to the same end. Even Warcraft Online and Everquest II have their share of cheaters. It is just a little more difficult to detect because the cheats these types of games use are much more subtle and harder to recognize. Additionally, they arenít pursued as much because they arenít quite as directly competitive as other games.
Needless to say, it is very frustrating to be in your favorite game and unload 2 whole clips into a guy just to turn around and have him shoot you in the toe one time and kill you. Iím sure that anyone who has played online games for any significant amount of time can relate.
For quite some time I just got more and more frustrated and upset until one day, when I decided to quit playing yet another game, it all just suddenly clicked. I decided to do something about it; I decided to design the ultimate anti-cheat program.
I have done some work programming memory managers in assembly and a couple graphics engines in C and assembly but for a project of this magnitude I quickly realized that I will need help. My strengths encompass a broad range of knowledge and understanding of a large variety of fields. Although my programming experience is a little dated, I am still adept at project and program flow design even if I may be lacking proper terminology (much like the terminology you learn in high school where you know how to do the problem but you canít remember what the actual term for it is).
After a number of months, and even more basic models, I finally threw off the bonds of traditional thinking and as a result I have arrived at the simplest and most logical conclusion. It is so simple that it is not unlike the idea to put the little piece of tape around the tip of your shoe string to keep it from fraying. Itís hard to imagine that no one did it sooner. The answer is the GIA Project.
GIA stands for ďGame Independent Anti-cheatĒ. But it isnít as much an anti-cheat application as it is a game security and authentication package. Given the design parameters, when GIA is set to its highest security level, the game it is protecting should be effectively 100% cheat free (actually a little better than 99.999999999999999982% with the exception of glitchers because glitching is taking advantage of a flaw in the game as apposed to actually running a cheat to manipulate the game). GIA will be a separate program that runs on both the client and server but independently of games so that it can be used with virtually any game. It is designed to be modular and configurable in such a manner that it is future proof and requires an absolute minimal amount of upgrading. GIA will incorporate the detection of game file alterations and known cheats in addition to reporting and banning options. However, this is not what will make GIA so secure. The core idea behind GIA is not actually to detect cheats. Instead GIA is primarily designed to be able to validate that a particular user is not cheating. If this sounds like it is the same thing, trust me, it is not.
As it stands, GIA is to be a community project for the benefit of the community. It is possible that we might seek compensation for our time and effort by pursuing contracts with major game companies to have GIA integrated into games but this will be decided when the project team is entirely assembled.
I still have some work to do on the initial project design but, after a few solutions are worked out, I will create a very extensive flow chart. At that time we will go to the next stage and hopefully begin programming.
Initially, GIA will be designed for Windows XP and the possibility of a Linux port will be dependent on resources and circumstances. The language that GIA will be programmed in has not yet been determined but we are leaning towards C++ or C#. We will need programmers familiar with designing and programming in the following areas: virus and cheat detection, firewalls, drivers and services, network security and tracking, port monitoring, file hashing and MD5 signatures, memory scanning and monitoring, and possibly a few other areas that I just havenít thought of yet.
If you are interested in the GIA Project and feel you can benefit, and be benefited by, the project, please contact me at firstname.lastname@example.org (Why yahoo? Because itís quick, easy, and doesnít cost money that I donít have.)
Otherwise, please feel free to make comments on this post. Any input and opinion is welcomed as it will only benefit the project when viewed from the proper perspective.
GIA Project Lead Designer