Dive into Unity
  • 1-normal.jpg

I did some crazy research in the Unity game engine, particularly the sound engine of the iphone port.

My result so far is that there is about 0 - 80 milliseconds unpredictable delay for the sound engine, which makes it less suitable for real time audio applications.

However, I did find the engine extremely polished in every other aspect, the component approach (similar to mix-ins in Ruby) is so powerful. When I was using the engine, I kept thinking what if this is done in Haskell, and so far most of my answers are that there has to be a break through in Haskell tool chain in order to do what Unity can possibly do now.

Some background of Unity:

  • scriptable part of the engine runs on top of Mono's runtime
  • multiple languages (C#, Javascript, Boo)
  • static typing, with optional dynamic typing
  • type inference !!!!
  • component based OO approach
  • very very powerful runtime manipulation
  • very high performance
  • ahead of time compilation for iPhone, extra speed
  • unbelievably polished workflow
  • extremely friendly community

The Unity developers really know what they are doing!

Wish Haskell can compile to CLR ... :p