Praetorian Defiance is the large game development project that I have worked on, and had a co-director role in addition to being co-administrator, code-lead, website admin, code repository admin, and more. You can check out the project here: Praetorian Defiance, and here: Our ModDB Page. While this is an ongoing project, and I cannot post code here from the project, I can discuss it. Please inquire via my email if you want to know more particulars, which I might discuss more discretely than open on the Internet: ianburchett@gmail.com.
Praetorian Defiance is a game project with I co-lead, and serve as lead programmer for. Working with a team of about 25 developers from across the world, we work towards making a really great game, and gaining experience in game development. The project is being developed on the Unreal Development Kit from Epic Games. Instead of being a "run-n-gun" FPS as Unreal Tournament and other Unreal games that are based on the Unreal Engine, we work to make a project incorporating stealth, real AI, and more classic FPS action through a compelling single player mode. I personally am responsible for most of the coding, with the new AI (from the ground up) being my most proud achievement. Other coding responsibilties include weapons, pickups, reload system, health system, team system, and more.
The biggest part of coding this project so far has been developing the new AI system. The AI system that is integral to the UDK is the same AI (or very close) used by Epic in their Unreal Tournament game series. This AI is not suited to things like the player being hidden, slower paced realisitic gameplay, nor the enemies being a large military squad-based force. To meet the challenge of needing an AI that allows this functionality, I had to come up with a system which allows this and more. I took the UDK's AI, and whilst using the core engine functionality that I could salvage, developed a few differnt AIs that behave differently than the core AI.
The AI in the UDK is state-based, much like a Discrete Finite Automata (DFA). The AI moves between states as it meets criteria for shifting states. Without going too much into detail, suffice it to say that the criteria for changing these states is critical in making the AI behave believably. Making the AI shift between Patrolling, Attacking, Searching, running away, etc. were key. Through implementing a system where the AI actually sees and hears the player (rather than just knowing where the player is, as the system does naturally), the AI was developed with a very human-level of perception.
In addition to the AI, I have developed the weapons in the game, tweaking their balance via balance charts, so no weapon is over-powered, and making sure that fire rates, range, damage, etc, are all balanced and true to the weapon concept. I also added a clip and reload system to the weapons (UDK does not have this), making more realistic gameplay. Adding more Gears-of-War style weapon-slots was also critical in adding realism: the player may only carry a main weapon, sidearm, and melee weapon, instead of 10 or 20 huge guns, kept somewhere, who knows where.
Besides developing the code, I have worked to contribute via team management of our team, helping my co-director handle personel, collaborate, and helping develop content management tools to keep all our models, art, sounds, and other resources versioned, and assigned tasks on track. Even with a team of just this size, keeping everyone working on something critical, on time, and on target is a real challenge, but valuable experience in my opinion. We plan to finish this game this year!