Since leaving university I have been improving my skills in C++ coding within the Microsoft Visual Studio 2005 IDE. I have also been working extensively with the DirectX API. I feel that the attached show-piece not only demonstrates my ability to quickly adapt to a new language but also provides a clear visual indication of what I can achieve.
The features of the show piece are as follows:
- C++
- DirectX
- 3D Math
- Artificial Intelligence
- Physics
- Particle Effects
- Collision Detection
- Shader and Lighting Effects
- User Control
Interactive Fish School Simulation
Screenshots:
Requirements:
- Windows 98/XP/VISTA
- Winrar - for extracting the files
- DirectX9.0c
- d3dx9_36.dll - download and install if you have problems running demo
Java was the primary language for software development during my four years of university experience. This allowed me to develop an adept understanding of object-orientated programming, which can be easily extended to other languages, such as C++. My BSc Dissertation involved coding a real-time simulation of an evolutionary ant colony in respects to solving search issues in Real Time Strategy games. This included visual and statistical feedback to monitor the performance of the colony’s search behaviour over time. My MSc thesis also used the same techniques to solve a combinatorial optimisation problem (known as the Product-to-Shelf Allocation Problem). The thesis was awarded a distinction.
MSc in Natural Computation
The Product to Shelf Allocation Problem (P2SAP) is a complex optimisation task that can be formulated as a Quadratic Assignment Problem (QAP). Ant Colony Optimisation (ACO) algorithms have been used for solving other complex optimisation tasks, such as the Travelling Salesman Problem. These have resulted in some of the best solutions to date. In this dissertation we select two distinct ACO algorithms for solving the P2SAP based upon an in depth literature review. We also look into new research based upon the idea of negative pheromone operators and utilise this concept in the two ACO algorithms. The algorithms are implemented within an accompanying software package specifically designed to help establish what advances have and can be made in ACO techniques for solving the P2SAP.
Requirements:
- Winrar - for extracting the files
- Adobe Reader
- Java Runtime Environment
BSc in Artificial Intelligence and Computer Science
This report proposes a new way of implementing the search strategies for computer players in Real Time Strategy games. It utilises design features found in ant simulation systems and builds upon these ideas by applying evolutionary algorithms to evolve the parameters of the agents in the population. The report demonstrates how co-evolving agents within a distributed system can result in a population that work together for the common goal of locating and collecting as many of the resources as possible within any user defined environment.
This approach moves toward a computer player that appears more realistic throughout the duration of the game. It blends the boundaries between human strategies and traditional hard coded game AI, which will ultimately create a more believable opponent. The advantage of this approach is that it also cuts out the need to hand design the population for each different environment you give it. By running the population in the environment until it has been trained enough to perform well due to their evolved characteristics.
The findings of this paper show clear behaviours within populations of ants that have learnt to collaborate to maximise their fitness within the environment. Results show how pheromone greatly effects the communication and behavioural patterns of ants searching their environment.
Requirements:
- Winrar - for extracting the files
- Adobe Reader
- Java Runtime Environment
Stealth Swarm Game
The download features a game that demonstrates the following:
- a swarming algorithm used for the AI character interactions
- obstacle avoidance using primitive physics operators such as velocities, accelerations and locations
- vectors used within the physics simulation can be easily extended to a 3D environment if required for future development
- a GUI that allows for the game to display current Health/Score and a menu for accessing a new game, controls and an exit game option.
The Game Of Life
A recreation of the famous game of life that demonstrates how simple interactions between entites can result in seemingly complex behaviours.
Screenshots:
Requirements:
This is a procedural programming language that I used for the development of early AI concepts within the first year of the BSc degree. Projects involved recreating the game of Master Mind, coding the Cannibals and Missionaries River Crossing Conundrum and creating a Natural Language Processor for interacting with a Blocks World environment.
My University courses included a planning and natural language processing module which required learning Prolog. Continuous assessment resulted in a number of projects being submitted including a natural language parser, route-finding procedure and an implementation of the STRIPS Planning Algorithm for the blocks world environment.
A BSc module to learn VRML resulted in producing a project coded in VRML in an area of our choice. I successfully designed, coded and presented a functional First Person Shooter game.
Professional websites (see Web Design) written in CSS and HTML.
