Case Study

AI for Games, Microsoft and the University of Bradford

 Microsoft is serious about working with and meeting the needs of both industry and academia so we were delighted to work with Black Marble and Bradford University to develop this curriculum. We recognise that collaboration between industry and academia will play a key role in solving future challenges in the IT industry. Black Marble demonstrated a consistently high level of delivery and expertise which ensured a very fruitful partnership
Gavin King, University Relations Manager, Microsoft.  


Professor Peter Cowling, of the School of Informatics and Industrial Innovation at the University of Bradford, instigated a course for students teaching AI for Games.

The aim was to make learning fun and competitive, focusing on the following areas:

AI software design and implementation

C#.NET and Visual Studio .NET

This was to be done by getting students to write AI software agents for two very different games and continuously running a competition between agents so they can see how each agent progressed.

In conjunction with Microsoft, Peter Cowling was able to make use of Microsoft product Terrarrium, and to produce a new product, The Virus Game. However, extensive software modifications were required before the games could be used by students. This is where Black Marble came in.

Black Marble Role

Black Marble developed The Virus Game under direction from Professor Cowling, and modified the existing Microsoft product Terrarium.

Black Marble have developed server software and graphical clients for the two platforms used to teach final year students in the AI for Games module. Both of these platforms required software engineering at the "bleeding edge", managing tournament play and security for 50 AI Agents submitted by students and staff, and providing a powerful environment for the development and testing of sophisticated AI agents.


The word Terrarium means a glass case for small animals, or a sealed globe for plants. In the Terrarium world, each creature (agent) represents a piece of code. Once written, it goes out into the world to do battle and the gamer has no further control over it. The object is to propagate as many pieces of code -- or agents -- as possible for the length of the battle.

Microsoft created the game to show what can be achieved in peer-to-peer applications -- particularly those using the company's .Net Framework. The code, which can be written in any .Net language -- such as C#, Visual Basic.Net or C++.Net -- is translated into Microsoft's .Net low-level assembly language, called Intermediate Language, or IL.

The full version of Microsoft’s Terrarium was not required and many of the advanced features were disabled for the course. The code interface was also simplified to allow concentration on the A.I.


Code reduction and simplification exercise

Bug fixes

Implementation of extra features


Code verification

Architected Segments per turn

The Virus Game

The Virus Game is a 2-player tile-based game. Players can move their tiles, including jumping over and capturing the opponents pieces.


Built from the ground up

Complexity added by design

Delivered on Pocket PC and Desktop


.NET security

Restricted methods


Microsoft are currently in the process of delivering this solution to several prestigious Universities world-wide.

Common Server

Common product for both games

Delivered as both a windows service and server application

The server ran agent against agent, for 10 of 1000’s games in a League, run competitively amongst the students. Up to 10 agents were battling it out at any one time in the competition.

Microsoft Case Study

Microsoft have produced a case study of the AI for Games work being carried at the University of Bradford by Black Marble.

Black Marble, Woodland House, Woodland Park,
Bradford Road, Chain Bar, Cleckheaton, West Yorkshire, BD19 6BW
General Enquiries: +44 1274 300 175
Black Marble Limited - Registered in England and Wales | Company Number - 3343234

© copyright black marble 2014

our cookies policy