The Battle Grounds 3 is an ongoing long-term project that I have already worked on for more than 5 years. The game pits British soldiers and American patriots against each other in the American War of Independence.

To create this game with my team, I have worked on everything and the kitchen sink: AI programming, world design, 3D modeling, and website design.

Overhauled AI System

The old “AI” used by Battle Grounds 2 was only a laughable point-and-go.

For Battle Grounds 3, I learned to implement a strategy-pattern based AI. I built this AI from the ground up. Now, each time a computer-controlled bot thinks, the bot A) scans its environment B) checks if needs to switch to a different “brain” and then C) does what its current brain tells it to do. There are different “brains” or patterns for navigating, fighting, melee, shooting, reloading, retreating, etc.

The bots can also respond to voice commands issued by players and by other bots.

It is beautiful how from simple data, simple rules, and a little randomness, the bots show very natural behavior.

Read more about the new bot AI here.

Beautified World

graphics-upgrade
Left: Old map bg_plateau in Battle Grounds 2. Right: Overhauled Battle Grounds 3 version.

boston.jpg
A little bridge in a recreation of Boston cerca 1776.

new london.png
An interior space of a tavern in New London.

For 3 years I worked to beautify all the maps from Battle Grounds 2 and bring them into the 21st century. I created and mixed and matched assets old and new to create beautiful, well-performing scenes.

To do this, I ported and reorganized old BG2 assets to the Source 2013 engine. I improved textures and geometry of the old models. I added fog, light, color correction, and tonemap effects. I created new high-res textures. I used models and assets created by other team members and contributors.

It took 3 years. It’s not perfect, but nearly so. I’m proud of what I’ve done.

Improved Player Models

player_model_rumpelfrenchman
Left: Model made by Rumpel. Right: My work editing it into Frenchman.

I also learned to create and edit the geometry, UV maps, textures, and blend weights of 3D models used by the game. To get the most bang for my buck, I focused on our new player models.

A contributor had given us some new player models, but they were too simple, too clean, and they were missing their hats! I extensively modified them to make the final models used by the game.

Website-integrated UX

I created a new website for the game. It is very useful because it is actually integrated into the main menu of the game; All news, tutorials, and other content that is put up on the website automatically shows up in-game. This helps my team and I communicate with our players.

Another piece of GUI programming I did was for the new class and team menus. This was challenging because of how pressing one button would have to change, enable, and disable so many other buttons. So it is kind of like a tree structure of button states. Yet I did it with OO design principles. All of the buttons for classes, weapons, and the data associated with them are 100% reflective of the actual class and weapon definitions used by the game. I also did most of the artwork for it all.

in_game_menu

teammenu

classmenu_almost_done.png