I'm not a game developer, and this game was developed in my own spare time. The purpose of developing this game was to learn more about Silverlight and the Farseer Physics Engine, and not to deliver a killer game to the public.
The relationship between the physics engine and WPF user interface is very similar to the example application found in the Farseer Physics CodePlex source code. For each Body/Geometry in the physics engine, there is a corresponding Silverlight user control that has the same size. On each game "tick", each user control added to the scene has its position and rotation updated to reflect the position and rotation of its corresponding physics object.
Game "ticks" are controlled through the use of a WPF Storyboard object. Each time the Storyboard completes, the physics engine is updated for one tick and the Storyboard repeats.
Enemy AI is pretty basic. The hard work was finding a quadratic function curve that could match a 45-degree angle shot to the player's tank. The enemy AI pretty much ends there. Some randomness is thrown in so that the enemy tanks don't score a direct hit on each shot, and they are also constrained by rate of fire and damage limits. Enemy rate of fire and damage bonuses increase in the game as you advance.
Each round is its own .NET class. There is a core base Round class that defines core round logic, but each round can override things like the number of enemies, tank placement, enemy bonuses, and wind parameters.
The maps are just WPF user controls with LineSegments that define the terrain shape. When a map is loaded, the LineSegments are read out of the user control and physics bodies/geometries are created from the LineSegment points.
Top scores are submitted using a REST-ful service call to a SQL server database. The top scores web page uses JQuery and an AJAX call to go and get the data.
No performance benchmarks were defined or used. The game has only been tested on a Pentium Core 2 Duo laptop on Vista x64.