About
Hi, I’m Chris! I’m a 21 year old PhD
student reading Computer Science at Durham University. This webpage
contains information about various projects that I am involved in and
links to my reports. If you are interested in anything and would like
to chat, feel free to email me at: 

Latest Work
This section outlines my current research and latest
work. Before you read this, it is already out of date :)

|
Dissertation: Object
Clustering for Game Environments
Our new algorithm, Object-Mapped Behaviour-Grid
(OMBG), produces near perfect non-Euclidean clusters of arbitrary
shapes and sizes in constant time complexity according to some
predefined resolution. We show an improvement in the reduction of
network overhead by categorising object behaviours into primitive
shapes, and we observe success with five example behaviours implemented
in a realistic multithreaded and hardware-accelerated environment.
|
Download
[PDF]
Download
[EXE]
|
|
|
Space Online MMORPG
This was a fun small computer graphics
assignment. I made a full 3D MMORPG with a multi-threaded server in C++
using openGL. Features include extremely low packet transfer based on
predictive key input, CLOD, heightmapped terrain, an infinite world,
multiple animated MD2 models, occlusion culling, deformed grass
crystals, basic collision, stats, autonomous AI NPC's and many more.
|
|
Projects
This section links to various projects and a download
is provided where possible.
 |
Cross-Site Development
This project lasted a year and our goal was to work in two teams and
collaborate cross-site with Newcastle University in order to design and
implement a delivery system for Proctor & Gamble. We implemented a
client which connects to an SQL database. It can handle multiple
orders, delivery algorithms, user access levels, produce reports &
graphs and many, many more features.
|
|
|
|
Highly Dynamic Clustering
This was the position paper for my clustering
project dissertation. I am currently simulating more than 15
million objects with a C++ openGL multi-threaded implementation.
|
|
 |
Messenger "I Seek You"
This project is a LAN based messenger which instantly
connects and uses UDP Multicasting to deliver messages. It also has
many other features including TCP file transfer and HTML messaging.
|
|
 |
RMI Project
I programmed this using Java RMI (Remote Method
Invocation) on a custom flat-file database. It allows for multiple
toy-store branches and stock monitoring from multiple warehouse
servers. The report was bound to a strict 3 page limit.
|
|
 |
Desert Island
This project involved manually coding a desert island,
entirely in Java3D with no extra libraries. The sharks swim in opposite
directions around the island at varying speeds. Initially the sun rises
and the user has control over moving the camera. Also, when the sun is
clicked, the sharks change direction. It requires Java3D installed into
the native JDK or JRE to run.
|
|
 |
Bite Me! ONLINE!
This is a fan project using graphics from Nintendo.
The game features online play based on peer-to-peer connectivity. It
also features a chat feature, multiple layers and many varying sized
custom-made maps. Note, it is not released yet. Email me if you would
like more details.
|
|
 |
Keynote
This was fun! One of my first ever Java programs. It
was before I had a piano in my room, I used to spend hours at the
computer so tried to turn my computer keyboard into a music instrument.
This is the result. After lots of practice, I can play Fur Elise - but
it's very difficult. It loads instruments from your soundcard and you
can also click keys on the virtual piano. + More features.
|
|
Reports
This section refers to other less interactive
research, and algorithm study.
Artificial Intelligence algorithms
This was a quick project where I examined and implemented three
existing solutions to the travelling salesman problem. The algorithms
that I implemented were bruteforce, greedy & genetic. Most of my
findings went into the genetic algorithm, where I implemented several
techniques to acquire effectiveness and efficiency. Note: the report
was limited to a strict 3 page limit and isn't detailed.
|
|
|
Java to Haskell conversion
This 8 page report examines the conversion of a program
between Java and Haskell (a purely functional programming language).
The results are an extremely language-independent and conceptual
solution to the problem.
|
|
Theorem Provers
The goal of this project was to examine two existing
theorem prover tools. One of which, Prover9, was automated. The other,
Coq, was an assisted theorem prover. The report evaluates both and
examines advantages and disadvantages.
|
|
Personal profile
So yeah, the above is fairly geeky, but what else do
I get up to?
Those who know me know that computers are only 30% of my life. The rest
is spent with a passion for music, creativity, cooking, designing,
dancing and all sorts of other (slightly crazy) things!
Copyright © Since 2005 Christopher
Willcocks. All right reserved.