Game Development


 DefenseTurret – A Tribes2 Anti-Cheat by TheRoDent

December 26, 2007

Well, Tribes2 ended up being pretty cheat-free, but eventually some people came out with some really bad exploits.

DefenseTurret is my project to kerb these cheats. The program uses an executable injection mechanism to seamlessly load into the tribes2.exe Win32 and tribes Linux binaries.

The basis of the system is a “consensus based” cheat detection mechanisms where clients connected to the server check the validity of each others’ playing environments.

It’s been accepted on the European, and American ladders as the de-facto (read ONLY) anticheat program for Tribes2. I released a Win32, and Linux version.

More information can be found at, or

Game Development, Reverse Engineering | Leave a comment
Tags: , , , , ,


 Tribes:Vengeance’s miserable failure

November 19, 2006

Sadly,  it turned out that Tribes:Vengeance really sucks. Vivendi cancelled the very FIRST patch for the game, with a couple of lame excuses.  Such as “we only sold 7800 copies in the first week”. It’s pretty straight forward guys.  Release a game that is broken, unfinished and no fun to play, and nobody is going to want to buy it. Simple economics. If you had at least bothered to fix it, you may have caught the “long tail” and benefited from the loyalty of the fanbase.

It’s a pity. Tribes was the best team-based Science Fiction game of the last two decades, and I’m going to seriously miss it. Every other game I look at that doesn’t have jetpacks simply gets a “poor groundhuggers” response from me. Perhaps community games like Renegades, or StarSiege:2845 will bring back some of the goodness that was Tribes, but it just simply isn’t going to happen in the next year or two.


I have however dabbled in some Tribes:Vengeance development, but only briefly.

My T:V Projects

VengeanceSpawn – infinite spawn-like tool for Tribes:Vengeance
VengeanceMaster – info about the Gamespy system used by the in-game  T:V matchmaking

Business, Game Development | Leave a comment
Tags: ,


 Tribes:Vengeance Scripting tips, and gotchas

Tribes:Vengeance is based on the Unreal Tournament Engine.

Here’s how it differs from normal UT scripting:

  •  When extending other base classes you have to specify the fully qualified name of the base class, e.g. instead of doing class Foo extends Object; you HAVE to do class Foo extends Core.Object; – this is naturally braindead but I guess IG may have had their reasons.
  •  C-Style comments are broken. Don’t use /* or */ to delimit comments, or blocks of code. It breaks if there are any other slashes inside. This  is pretty dumb.
  • When attempting to use structs defined inside other classes in your own derived classes, you may have to use the dependson() directive like so: class Foo extends Engine.Object dependson(~SomeClassWithStructsInIt);

Things you will need to do to make UCC work (For Beta/Demo)

Edit your UCC.ini, and ensure that you have the packages that you’re working on listed like in this following example:

~EditPackages=~Core ~EditPackages=~Engine ~EditPackages=~IGEffectsSystem ~EditPackages=~IGVisualEffectsSubsystem ~EditPackages=~IGSoundEffectsSubsystem ~EditPackages=~Editor ~EditPackages=~UWindow ~EditPackages=~GUI ~EditPackages=~UnrealEd ~EditPackages=~IpDrv ~EditPackages=~UWeb ~EditPackages=~UDebugMenu ~EditPackages=~MojoCore ~EditPackages=~MojoActions ~EditPackages=~PathFinding ~EditPackages=~Scripting ~EditPackages=~AICommon ~EditPackages=~Movement ~EditPackages=~Gameplay ;~EditPackages=~TribesGui ; these have to be commented out, crashes otherwise. ;~EditPackages=~Tyrion ; these have to be commented out, crashes otherwise. ~EditPackages=~Physics ~EditPackages=~TribesAdmin ~EditPackages=~TribesWebAdmin ~EditPackages=~TribesVoting ~EditPackages=~TribesTVClient ~EditPackages=~TribesTVServer ; my packages ~EditPackages=~FooPackage ; Add your packages at the bottom of the list, othwerise you’ll get undefined()s

  •  When compiling, you need to use “ucc make -NoBind” otherwise all the core packages will look for their associated headers/and dll’s to bind.
  • You will need to edit StartupUCC.ini and include the path to the script source code.
Game Development | Leave a comment
Tags: ,


 Tribes:Vengeance Master Server Polling

I wrote a bit of code, using Luigi’s code for GameSpy in PHP, that allows you to query the gamespy master server and retrieve the list of IP and port’s for any of the GameSpy supported games.

This handy image –> []
for example, is generated using the code, and is updated dynamically every 3 minutes.

The query code isn’t really cleaned up enough or ready for release yet, but you can mail me  if you’re interested in obtaining a copy in the meantime.

Game Development | Leave a comment
Tags: ,


 Legends – A spiritual successor to Tribes2

I’m one of the developers behind a game called Legends. Legends started out as a project to be what Tribes2, and Tribes1 never was, and then, it grew completely out of control. I’m officially the Linux port-monkey, and general “plumbing” coder for Legends.

Legends was made possible by the awesome people of Dynamix, who got shut down by Sierra. The lead developers then started a company called GarageGames, which licenses the Torque (ala Tribes2) game engine to developers for the meagre sum of $100.

That’s the best deal you can get for _any_ kind of game engine. Tribes1, and Tribes2 were well known for their excellent network code, and engine. Besides that, the engine has an open scripting interface, and runs on Linux, AppleMacintosh, and Win32.

To checkout, Legends go to

Contributions are welcome. We need more sound specifically. The game is currently at no 9 on the HappyPenguin rankings, and is well known amongst the Gentoo crowd, and loved elsewhere.

Game Development | Leave a comment
Tags: , ,