I do research and development for software companies. I've created a whole range of technologies over 15 years of innovation, including technologies used in games development, market planning, education and web applications. Get in touch if you want to brainstorm your project, under NDA, without obligation.

Game Tech

I have developed technology for the games industry for more than a decade. I'm particularly good at Artificial Intelligence.

Algor- ithms

I create high-performance algorithms and optimisations: real-time search, planning and geometric algorithms.

Creat- ivity

I build systems for artificial creativity: software that can produce graphic and linguistic artifacts from data or weak supervision.

Tech
IP

I've developed and commercialised a broad range of technology IP over the last 15 years. I also help others do the same.

Teach- ing

I've written two textbooks and taught professional and academic groups from basic programming to advanced algorithms.

Get in Touch

Email me at idmillington@gmail.com My twitter account is @idmillington, but I don't tweet very often. Sorry: I don't use Linked In.

My Books

Artificial Intelligence for Games, 2nd Edition

This is the second edition of the most comprehensive book on Artificial Intelligence for Games, extended with recent techniques and many exercises and project suggestions.

Game Physics Engine Development, 2nd Edition

The first introductory textbook on game physics that covers all the little bits of mathematics needed to create a basic physics engine for your game. Assumes nothing more than high-school algebra.

Some Writing

Parametric Cubic Curves

My reference document for the matrix formulation of parametric curves. A convenient single place reference for converting between different types of curve, for trimming or subdividing curves, and for implementing them efficiently. Although the paper started as a terse reference, it has been expanded to include tens of pages of explanation.

Reconstructing Transforms with Pseudoinverses

A technical note describing how to reconstruct a transform matrix, from a set of transformed points.

Source Code

I have made some projects available under open source licenses.

AI and Physics Engines

Source code accompanying my books is available on Github. Both sets of code are intended for instructional use, and haven't been created with production use in mind.

Graphical Tech

Some starter tech that I use in a range of projects.

  • Layout – A constraint based layout package for the printed page.
  • Giclee – A web-based object drawing system (an example of a similar commercial development contract I fulfilled is GroupZap).