Kruger Heavy Industries Coroutines
What is this coroutine library you speak of?
KHIC is (... will become) a small portable coroutine library written in C++ with a focus on use for game and related technology
Why write such a thing?
Fresh from success after a project successfully built using Unity3D; the power, fun and flexibility of Unity's coroutines was fresh within our minds. With some years of experience with and seemingly with some affection for C++ we set ourselves the challenge of b ourselves the challenges of bringing some of the Unity 3D coroutine experience to world of C++. While at the moment KHIC is very much a work in progress we're hoping the library itself becomes a used and useful tool in our (and others) game development toolbox.
What kinds of things are coroutines useful for?
While this list is by no means exhaustive, some areas we have seen coroutines use to great effect include timing, AI and background loading of assets and sound streaming.
Because coroutines run on a single thread, there is no need for certain types of synchronisation. This can simplify code implementation and can be very efficient.
Where is it?
What platforms are currently supported?
At the moment KHIC works on Windows, OSX and iOS (iPhone, iPad). It's undoubtedly very easy to get working on Linux, but we haven't quite got there yet.
Quickstart
On a Macintosh at least ...
NOTE: Standard premake4 does not support iOS, so you'll need to either remove the configuration for iOS in the premake4 file contained within the khic directory or grab my patches for various premake4 issues
- premake4 patch for recognising iOS as a valid target platform
- premake4 patch allowing Xcode to recognise the assembly files in khic correctly
spaetzle$ git clone git://gitorious.org/khic/khic.git khic spaetzle$ cd khic spaetzle$ premake4 spaetzle$ open build/khic.xcodeprojLast updated; 1st February 2015