:: coding
navigation

main
coding
misc
about

links

arstechnica
escapist
game research/tech
italian-calcio
chromegat
djforums
megatokyo
shoryuken

podcasts

stonesthrow
mixtapeshow
ejflavors
pop defect radio

_coding

 

coding projects (past, present, future)


Backbreaker - NaturalMotion

This is my first professional game project currently under development. It is an american football game which will showcase amazing physics-based tackles using cutting-edge animation technology aka euphoria. Being developed by a relatively very small team of programmers, my tasks pretty much covers gameplay/AI, UI, tools/asset pipeline.


Simulacra X - AI Engine

A personal project originally intended as a game engine but I've now strippped it down to just an AI engine - due to the lack of time I have these days. This is work in progress and I will be dumping updates on my blog.


World Of Football (WOF) - AI/Scripting (2006)

For my MSc dissertation, I worked closely with Kimera Studios, an indie game developer, designing and developing a robust AI engine prototype for their title, "World of Football". This was done using with C++ and Lua.


screenshots of ai prototype framework

World of Football Official Homepage
AI ENGINE Research Presentation [ppt]
Project Dissertation [doc]

Code Snippets
Lua Scripted State Machine
Lua Script Manager
Basic GLRenderer


Louis and the Lost Bots - Game Design © Copyright Steve Ince (2006)

An academic team project which involved writing a full 3D game by professional game designer, Steve Ince. Technologies used were C++, Lua and XML. The target platforms were the PC and the GameCube. I was solely responsible for audio design and programming for both the PC and GameCube platforms. My other tasks includes additional gameplay programming and scripting with Lua, coding controller interfaces and various utility classes. The PC audio renderer was implemented using DirectAudio and I used the GameCube's SP library for the GameCube audio.

Executable [Win32]

Code Snippets
Direct Audio Renderer
GameCube Audio Renderer


Battle Field Effects - HLSL Shaders (2006)

This demo involves pixel/vertex shader programming with HLSL. The shaders simulate various battlefield effects such as bump mapping, parallax mapping, enviromental mapping, particle systems, water animation, reflection, refraction and more. I wrote the HLSL shaders using ATI's RenderMonkey which can be downloaded here. A few of the shaders were then incorporated into a C++ program using the DirectX Effects Framework.

Shaders [fx]
DirectX App/Source [win32]
Shaders [RenderMonkey Package]


Distributed Table Tennis - Physics, Multi-Threading & Network Programming (2006)

This is a physics simulation of a table tennis game for one or two players and multiple (<5) spectators over a LAN. It's a multi-threaded application with the physics, AI and networking running on separate threads. The distributed architecture was implemented with Win32 threads and TCP/IP sockets using the WinSock API. It features real time rigid and soft body simulations, and real-time collision detection and response.


Video
Executable/Source [zip]

Sample Code
Model View Controller
Deformable 2D Mesh
Ball Physics
Collisiion Engine
C++ Sockets Wrapper
Threads


3D First-Person Simulation [Attack of the Zargons] (2005)

My first 3D program and the first piece of coursework for my MSc. This is a first-person shooter simulation written in C++ using OpenGL. The demo features basic 2D and 3D OpenGL rendering techniques, animations, particle effects, vertex arrays, and 3D Maths. It is set in a maze environment which is loaded in using a custom map file format, and constructed programmatically. It also features a 2D map/radar rendered in another window.

Video

Sample Code
Particle System Engine
Camera Class
Maths Library

I am currently was working on an efficient version (in my spare time) that uses a portal scene manager with frustum culling, and the vertex arrays are replaced with vertex buffer objects. I am was also implementing collision detection and physics using AGEIA'S PhysX SDK. This new version also features a few GLSL shaders. A port to linux is also in the plan.

WorkInProgress [win32]
Executable [Linux]

Sample Code

GLSL Shader Framework
Portal Scene Manager


Pac-man AI Controller - Artificial Intelligence (2006)

Design and implementation of an AI controller for the Pac-man character in an already written Pac-man game using AI path-finding techiques and finite state machines. Implemented in C++. The aim of this assignment was to create an efficient AI controller for Pac-man. The controller should be able to beat any single chosen ghost and should be also able to beat all 4 ghosts at least once in ten games.

Analysis/Report
Executable [win32]
Code Snippets


Distributed Programming: FUTO Instant Messaging System (2003)

An individual undergraduate project which involved design and development of a client/server messaging system and protocol for a linux-based environment. The project was written in C. The APIs involved include BSD Sockets, POSIX threads, MySQL for data storage, and GTK+2.0 for the client frontend. i've lost the complete source and executable (hard disk got fried). All I have now are snippets of the old code.

Code Snippets


Console Programming: TICTACGBA (2004)

This is a side hobby demo i wrote for the Gameboy Advance (GBA). Just another tictactoe game written in C using the DevKitAdv SDK. Get the VisualBoy Advance Emulator here

Game Rom
Source code


Java Multi-User Chat Server with Client Applet (2004)

An individual project which was written in Java. This involved the Java Network API and the Java Applet class. I did this little project to get a good grip of java and it's popular applet class. Features a basic server and applet client.

Download


Integrated Graphics Processors

A presentation on integrated graphics processors - what they are, history, hardware, benchmarks, market sales.

Download [ppt]