.portfolio
First Blood! XHTML, PHP, MySQL
As a long standing fan of Team17's Worms Armageddon (1999), I created a league system based on chess-style rankings using PHP and MySQL whereby players would play a game on WormNet and come to First Blood! to report their game. It fast became the most active league in the Worms community, and in the three years it remained open, over 50,000 games were played by over 4,000 players. I recruited for more volunteers to help design, develop and moderate the site, resulting in a team of 6 staff and 6 moderators.
Sadly the league had to close in 2007 as it became too time consuming to run voluntarily, but I'm proud to say that my innovative scoring system has been quoted as changing competetive worms for the better, and the league hailed as the most successful the 'worming' community has seen.
Jungle Attack C++, SDL
Written for a final year module at University, Jungle Attack is a simple retro 2D shooter with an intentionally cliché name.
Developed for the GP2X on a tight time schedule, this game demo is very simple in design, but the code is efficient and robust, as required for the console platform. It was required that a technical requirement checklist was followed; this demo meets all requirements.
Physics Simulation C++, Direct3D
This real time physics simulation was written for a final year University module. It demonstrates a physics engine written from scratch. Features include various bounding volumes, impulse calculations on collision and an articulated joint.
This simulation represents a single part of a Rube Goldberg machine. It is fairly stable, but given more time it would've been far cleaner.
Download video [Right click, Save Target As...]
A Bomberman Clone C++, Direct3D, DirectPlay
This simple game was used as a joint project for two final year modules. The Bomberman game is used as a framework to exhibit both artificial intelligence and networking techniques.
AI techniques implemented include A* path planning, a finite state machine, and unique behavioural patterns to Bomberman. When set to 'hard', the AI poses quite a challenge even to the seasoned Bomberhead!
The networking utilises DirectPlay to allow up to 4 players to connect across a client/server architecture. Key features of the networking include latency handling, and game security in that client messages are validated on the server whilst keeping network traffic to a minimum.
Game play and application presentation were not marking criteria, and as such this game demo is somewhat lacking. It will be available for download when it is more polished.
Download AI video [Right click, Save Target As...]
Apologies for the choppy recording.
Top Albums PHP, XML, HTTP, GD
This small script was written in an hour one day to display the most listened to music album weekly, according to Audioscrobbler (last.fm) data. The script parses XML data retrieved from Audioscrobbler, downloads the album cover image, adds some automatically sized text, and caches the image. Typical use is for forum signatures and personal profiles, and it automatically updates weekly.
Your top albums can be seen at davehill.net/topalbum/username/1/medium.jpg, substituting username for your last.fm username and album position number as necessary.
RR-Gen XHTML, PHP, GD
'RR' is a game type played online in Worms: Armageddon, in which players attempt to finish a single-path maze using only the ninja rope utility as fast as possible. Traditionally, Rope Race maps were drawn manually in a graphics package, but RR-Gen randomly generates these maps quickly. Although the algorithm is not perfect and leaves some unused cells, I believe it is an excellent example of my creative approach toward problem solving, as this was developed with absolutely no knowledge of maze generation techniques, back in 2003.