Comments on: Solving Problems With Asynchrony: Cinematics I'll check out your implementation when I get home. I'd absolutely be interested in reading why each of those is important! As for Caliburn's implementation: Separating work items from their results - If I understand the issue correctly, then it's up to the implementor of the IResult interface. Ensuring all the callbacks attached to a routine are run on the same thread - Caliburn.Micro does this. Thread safe completion of result objects - I'm not sure, but I suspect not. automatic propagation of uncaught exceptions - no, and this has been a source of pain for me. Rob Eisenberg (the buy behind Caliburn) intentionally kept his implementation extremely simple. I can't wait to get home and read yours :) Will your next article be on AltDevBlogADay? I’ll check out your implementation when I get home. I’d absolutely be interested in reading why each of those is important!

As for Caliburn’s implementation:

Separating work items from their results – If I understand the issue correctly, then it’s up to the implementor of the IResult interface.

Ensuring all the callbacks attached to a routine are run on the same thread – Caliburn.Micro does this.

Thread safe completion of result objects – I’m not sure, but I suspect not.

automatic propagation of uncaught exceptions – no, and this has been a source of pain for me.

Rob Eisenberg (the buy behind Caliburn) intentionally kept his implementation extremely simple. I can’t wait to get home and read yours :) Will your next article be on AltDevBlogADay?

]]>
By: Kevin Gadd/2011/04/03/solving-problems-with-asynchrony-cinematics/#comment-2345 Kevin Gadd Tue, 05 Apr 2011 04:05:32 +0000 Great article! If anyone is interested in how to implement co-routines in C# I recommend they check out the Silverlight MVVM framework Caliburn.Micro. It's not useful for game development but the code is very simple and easy to understand, and it already contains a great co-routine implementation (using the IResult interface defined in the framework). This is just an FYI in case it's not clear to readers how to implement these things. Anyway here's a link to Caliburn.Micro. I'm not in any way affiliated with this project, I know about it because I write business applications for my day job using it. http://caliburnmicro.codeplex.com/ Scripting game characters seems like a perfect application for this technique. There are probably dozens of potential uses for co-routines in the average game project. Great article!

If anyone is interested in how to implement co-routines in C# I recommend they check out the Silverlight MVVM framework Caliburn.Micro. It’s not useful for game development but the code is very simple and easy to understand, and it already contains a great co-routine implementation (using the IResult interface defined in the framework). This is just an FYI in case it’s not clear to readers how to implement these things.

Anyway here’s a link to Caliburn.Micro. I’m not in any way affiliated with this project, I know about it because I write business applications for my day job using it.