Skip to main content


My video in defence of audio middleware. Trying to bridge the worlds between audio & programming.

Journal Category
Remote video URL

Recently finished work on Speaking Simulator, which is getting a pretty warm reception at various conferences around the world... I made this video breaking down the soundtrack production process. Video is pitched at programmers & designers (not just audio folk) to foster an understanding of why audio middleware exists. Enjoy! =) Andrew

Megascans Maya Bridge Preview

Journal Category

Preview of the Megascans Maya Bridge plugin I'm creating for Autodesk Maya. This plugin allows you to directly import your Megascans atlases/surfaces/3D scans and create shaders for numerous renderers automatically.

This is currently a WIP, but will be released soon™

Versions are planned for 3DS Max, Modo and Unity.

Demonstrating Chaos Theory using a Double Pendulum

Journal Category

So I was watching the following video on YouTube the other day about Chaos and the Butterfly Effect.

After watching the video I though I’d have a go at duplicating the Double Pendulum demonstration in Unity. Turns out it wasn't that hard, just a few 2D rigid bodies and some hinge joints. After playing with the result for a while I added some interaction via the mouse so you can move the pendulum weights and a settings menu so you can tweak things I ended up with a cool little demo. Its really quite pretty. You can play around with it your self here or, if you prefer, you can try the WebGL/Plugin free version here (tho you will need a recent version of Chrome or Firefox).

The Foundation Window Management API

Journal Category

Hey everyone I would like to announce that version 0.3 of the Foundation window management API is now ready to be deployed. This new version now includes:

  • new makefile system that creates a Debug and release build and output an archive file instead of executable file as well as being able to swap compilers in the Linux version (in the makefile just set the CURRENT_COMPILER flag to be either g++ or clang).
  • new window customization system that includes multiple methods of hanging window decorations. This includes being able to swap between general window styles such as pop-up(no decorations at all), bare(no buttons, just the border and title bar) and normal(a regular window). You can also use a window customization system that utilizes bit-fields to allow building or tearing down your ideal window.
  • new OpenGL debugging methods that print the current OpenGL version as well as all supported extensions
  • new safety mechanisms that should help prevent crashes and unwanted results that also print out messages
  • Foundation_Tools has been re-implemented into the core API with the window manager being able to translate key presses itself as well as methods for validating used type including char strings and event callbacks.
  • documentation folder has now been added to the project directory that includes PDF file as well as a full HTML directory.
  • makefile settings have been changed to output static library files that can be linked with your project.
  • pre-built windows binaries have been added to the project directory in 'bin'.
  • Example project has also been included in the project directory that shows how to link the library with your project
  • added README file that describes installing the API, linking the API to your project and using the API with your project
  • moved dependencies folder inside include folder
  • fixes include:
    • pixel formatting issue on the Linux platform has been fixed
    • multiple windows on the Linux platform crashes
    • fixed event handling issue on the Linux platform

These changes are now available in the master branch of the Git repository. here


Graphene Virtual Microscope

Journal Category

I was commissioned to create an interactive museum exhibit for the Nobel Prize winning research team at Manchester University demonstrating and exploring the properties of Graphene. The exhibition stand was for the annual Royal Society Meeting in London and needed to be portable and easy to set up for the scientists, so I proposed a kiosk iPad application housed in a wall mounted enclosure. The success from this lead to them asking me to publish the app to the Apple App Store and Google Play where it has had a consistent high volume of downloads.

Features :

  • Allows the user to zoom into a sample of Graphene like a microscope
  • Mimics the behaviour of an electron microscope including the affects of the imaging process
  • Shows images of actual atoms and the atomic structure of Graphene
  • Includes detailed explanations at each stage in the microscopy

Connection & Division

Journal Category

I was commissioned to design an exhibition for the Inniskillings Museum, in conjunction with the Fermanagh County Museum and the Tower Museum, Londonderry. ‘Connection and Division’ challenged preconceptions and highlighted hidden histories for the period 1910-1930 within the western border region. Because it was an exhibition spread across two physical locations, a continuity for the archive objects from both museums was needed. My role was to design and create a series of touch screen access points where the visiting public could view and explore objects from the collective archives at both museum sites. I created an online management system where the museum curators from either site could add and edit objects. This integrated with a kiosk iPad application displayed in custom enclosures at the museums. My process was :

  • Created a management system for storing information and media relating to each archive object.
  • Digitised and cleaned up old photographs, postcards and letters.
  • Designed and built a natively packaged web application to showcase the objects.
  • Assisted in designing a custom iPad enclosure which was CNC cut from acrylic and mounted on stands in the exhibitions.

Queen Mary’s Hospital

Journal Category

The Archive & Museum Group of Queen Mary’s Hospital Roehampton commissioned two separate exhibitions over the course of three years. The exhibitions focused on the hospital’s specialisms including the famous Limb surgery, Prosthetics and Amputee rehabilitation unit. These two exhibitions were called ‘Repairing the Ravages of War 1915-1960′ and ‘A Very Special Hospital 1960-1998′, both of which served the purpose of maintaining awareness of the hospital’s distinguished reputation past and present. The exhibition makes use of historic cine film, artefacts, photographs and oral history recordings. My involvement and responsibilities in this project included:

  • Selecting, digitising and editing archive cine film footage to create a looped educational video.
  • Designing and manufacturing a mobile media stand for a mini travelling version of the exhibition.
  • Compiling and editing oral history recordings and designing and developing a touch screen listing post kiosk.
  • Digitising and touching up archive photographs for use in the interpretation panel designs.
  • Working with the museum archivist to help select artefacts for display cabinets.

Brewers branch finder

Journal Category

I designed and developed this GPS map app to help customers and trade professionals locate their nearest Brewers branch. The major challenge I faced with this app was that the client required cross platform support for iOS, Android and Blackberry. I lead and independently completed this project a Dot New Media. Some of my skills and responsibilities were :

  • Wireframing and UI design.
  • Coding HTML, CSS, and JavaScript and compiling native applications on each platform using the PhoneGap framework.
  • Developing a CMS module for app management and integrating with the existing Brewers backend.
  • Managing and interpreting store location data and integrating Google maps API.

Javascript, Php, Sql and all that fun stuff

Journal Category

Was looking for a reason to learn sql, and was feeling the urge to play an oldschool pen and paper rpg.

didn't like gurps licence, nor dnd's 'open' source licence, then while looking around, found legendary quest, which is kind of neat.

have a fair chunk of the database backend working, and last while has been adding a webpage frontend.

screen shot is of the character creation is mostly working, and the next goal is combat :) (but have to add a bit more to the equipment implementation first, to allow for items to take damage and other joy)


Journal Category

somewhat random, got up to speed with SDL (simple media layer) to see what it could do for me to make my life easier, also rewrote my game engine to be a lot more generic and support unittest.

grey image is having fun bluring the depth buffer then using it in a shader to make drop shadows, opengl

black image is a javascript prototype exploring some of the solutions euflorias uses to make a single touch rts work

blur and downrez of purchased model

Journal Category

Note. Not my base mesh and texture, purchased a highres model from turbosquid (20000+ vertex, several 4098x4098 textures) and reduced it to 600 vert and a 2048x2048 texture page (for diffuse, alpha, normal and specular maps)

was currious if i could use a warm blur (bias on red) to emulate subsurface scattering, the way light is reflected under the surface of the skin.

the second screenshot, experementing with oversampling to try and get smoother edges while performing blur, which not entirerly happy with.

Submitted by souri on Mon, 07/11/11 - 9:35 PM Permalink

The proportions and texture work on this actually looks really good, even after the downres. Would be interesting to see how it animates. Is this for a new project of yours?

Submitted by davidcoen on Mon, 27/02/12 - 2:19 PM Permalink

Thanks souri, yeah it was for another little project.
was being a little quiet about it as wasn't certain if it would ever see the light of day. thought the univers was in need of a pole dancing game :)

Testing out canvas5 for facebook game (so there is a reason people keep on using flash)

Journal Category

Have never done that much database/php stuff, but was currious if you could make a game using javascript/canvas rather than flash.
this seemed fine till trying to get Internet Explorer to work, in which case i would like to think flash works as canvas, even with various script emulations, has rather poor canvas support.
so anyway, tested it out and hit a dead end, to continue this project, would need to port it to flash, make a php and database backend, as well as ballance/ improve content.
or just move onto a new project.

a week of prototyping (6 prototypes)

Journal Category

a week of prototyping (6 prototypes), 1 of which failed and not included, another of which i am still working on and not online yet (procrastinating by blogging rather than finishing it)

Seems prototyping is the popular thing to do at the moment, have spent the last week on various game prototypes of which some work, some don't, and one was just a clone of a game i loved as a kid (dungeon master). but javascript and canvas (is that what people mean by html5?) are pretty quite to try out ideas with.

bit of a pain getting them to play nice on the iPhone, (frame rate? what frame rate), the screen shots above are of safari (apple/ iPhone web browser) trying out a few of the prototypes, though having some issues with the iPhone touch event coordinates in javascript (so have different versions of the prototype for iphone, which kind of breaks the look and feel of my website, but what the heck)

bikini beach volleyball 2

Journal Category

and so the quick 2 week project to recover from a big project/ experement with stencil shadows is now up to the 4 week mark.
wrote a gui/ font system and tools pretty much from scratch which is a good way of making a 2 week project take 4 weeks, now considering quickest ways of finishing it though, but trying to get maximum quality of result for time spent on it. fun.
should be able to have it finished soon, trying to understand the ethos of iPhone games, starting to think that pretty 'do nothing' games are a focus of the casual market...

Bikini Beach Volley Ball

Journal Category

because i can, though the play mechanic is pretty much pong, and after spending the day making animation i'm kind of wiped out to type anything interesting.

the main photo, had one of my female friends critique the bikini girls appearance, dear gods females can get objective about swimsuits/body aesthetics. possibly looks about twice as good after the crits where applied, though there was still a few hours of sweat and tears in getting a texture up to this level to begin with (10 hours, that is insande, in that amount of time you can implement a full complicated engine feature in code), and even then i'm a little worried about how reliant i am on photo referencing, but have to start somewhere. even if i have been 'starting' with computer art for several years now.

fun and games, and bouncy bits.

Stencil shadows implemented

Journal Category

Bit of a slow week, finished 'chico of the dead' (once it is available in the app store i get to start promoting it, fun) and during the recovery time after a big project, tidied up some randoms bits of tech, simplified renderer, and added stencil shadows.
the world is an interesting place for backwards compatiblity, basically iPhone of third generation and after has stencil buffer, infact they interleave it with the depth buffer which is kind of nice.

currently doing performance testing and small engine fixes, though going from artist side to programmer side for working on a renderer is a bit wierd, though getting a bit more understanding of openGL, even if getting to work on win32, openGLES1, openGLES2 take a bit of mental gymnastics, irony is changing data format more towards art goals than renderer capablities (was getting to complicated to work on as an artist)

one screen shot from iPhone (opengles2, iphone3G) and one from windows.

chico of the dead week 6

Journal Category

well, took 5 hours to write my own morph plugin for max, but then took 2 days to change the pipeline, engine and animation for stream based morphing.
and so the first thing to make was a shalug, half shark, half slug. what else is morphing for, really.
have a lot of the art done, 2 models left to texture, 3 left to rig, then a whole butt load of animations, sounds and mission scripts, but everything is looking finishable, just wish it was finishable sooner. note to self, don't make so much content for my next game.

Day 29 'Chico of the dead'

Journal Category

First pass of the assets is almost done (evironemnt, some props, 3 player models and 5 zombies are done. one zombie and 3 small creatures left)
Code is also getting done, minus the occasional task from hell such as 'rewrite collision system', which is not a pleasent thing to watch lurk on a todo list.
the current workflow is to get a programming task and an asset done each day, though the asset is just model, uv and lightmap. the sencible thing would have been to reduce the scope of the content, but i'm stubborn, though thinking some of the animations are going to be a bit rough.

screens shots should have in the file name if they are on the pc or iPhone, otherwise the last two screenshots at 320x480 are off the iPhone

zombie game dev day 15

Journal Category

Day 15 game dev, the zombie can now fight back which makes thing seem a bit more fair, also made it a lot tougher to kill the zombies.
Title screen and starting a new game are done. now to make place holder art for the rest of the game.
also need to work out what assets to cut so i can finish this a lot quicker.