Here is an email I recently received from a satisfied ExEn user:

Believe me, comparing ExEn to a well crafted clock is neither an exaggeration nor a compliment. It’s a solid truth. I once again realized this fact. For a few days, I’ve been trying to port my new game to MonoGame. And I succeeded it at last. But the result is appalling. First of all, it crashes very frequently; font rendering is unacceptably bad, the application starts very slowly (I think because of the large XNB files). I’m not listing other problems that might be solved in the process. So I decided to stay with ExEn. MonoGame is not an option. If I can’t live with ExEn, I consider switching to Unity or to similar engines.

This puts a smile on my face 🙂

First of all, because ExEn has achieved its original goal: to be a replacement for MonoGame that developers would love using. The community entrusted me with over $10 000 of crowd-funding to make this happen. It happened. Thank you.

And also, because I appreciate the recognition of the craftsmanship that I put into my code. I don’t know much about clockmaking, but I imagine that master clocksmiths work to a similar philosophy: elegant, functional, precise, integral. It would be foolish to say that my code is absolutely these things – but when I fire up my IDE, this is always the aspiration.


The email goes on to say that the only problem with ExEn is the iPad 3 retina font bug. In an earlier blog post I described it as finally triggering my long-time-coming decision to retire from ExEn.

I am now happy to say that the iPad 3 font bug in ExEn is fixed!

This garbled text is no longer a problem. If you have an iPad game using ExEn up on the App Store, I recommend you update ASAP. You can get the latest version of ExEn from CodePlex.

This fix comes with a big thanks to Michael Falk, who originally reported the bug (in his game Ms. Particle-Man – show him your appreciation by buying it!) and who has been helping me narrow down the cause and the fix.

I should say that this fix is only a band-aid. Neither myself or Michael have an actual iPad 3, and the bug is apparently hardware-only. Not having an iPad 3 means that I haven’t been able to test this fix up to the standard that I usually keep for ExEn. But it has been verified to work by a few people.

My understanding of the issue is that there is an underlying problem with the way ExEn sets up its retina-display surface. If I somehow get my hands on an iPad 3, I will do a proper investigation and produce a proper bug fix.

I know this is not really what you might expect for someone who just retired from a project. But until MonoGame get their act together, I still feel a responsibility to ExEn users – like the gentleman who sent me that email – to keep their games running smoothly.



6:28 am, Tuesday 10 April 2012

Andrew, I told you several times, ExEn is awasome! it just works! I tried Monogame and ExEn on my game port ( and ExEn works out of the box! and it’s very well architected. Although it is a pity you don’t continue the project, we’ll always be go grateful.
Greetins from Argentina
Hernan (


7:39 am, Tuesday 10 April 2012

Thanks for all your work Andrew! As a fan of XNA I’ve been following ExEn since its funding days. I understand your decision to step away from such a time consuming project, but I admit I am a little disappointed that ExEn did not reach the level of automation that I had hoped.

I admit to not being as well-versed in Visual Studio or XNA as I maybe should be, but I have a lot of difficulty understanding certain steps in your porting checklist. Currently I am stumped trying to find how to change the content processor for my spriteFonts (you’d think it would be straightforward, but I can’t get exEnFontShim to show up as an option!).

That said, I don’t expect you to pour countless more hours into this project getting the conversion process automatic — that’s too much to ask. However, if possible, could you create a more detailed walkthrough for less experienced developers like myself?

Thank you for your dedication and effort regardless, and good luck in all your future projects.

Andrew Russell

9:14 am, Tuesday 10 April 2012

Thanks Hernan and Eldiran.

Eldiran: It might be helpful to load up the sample projects that come with ExEn and see how they do it.

If ExEnFontShim does not come up as an option, ensure that you have: 1) added the ExEnFontShim project to your solution, 2) built the solution, or at least ExEnFontShim, so that Visual Studio can find the DLL file produced, 3) in your content project, added the ExEnFontShim project as a reference, 4) with your .spritefont file selected in Solution Explorer, press F4 and you should be able to change the Content Processor to ExEnFontShim now.


3:39 am, Wednesday 11 April 2012

Thanks Andrew, I’ll give that a try!


2:24 am, Friday 18 May 2012

Hi Andrew,
I know that this was meant to come from overage on the original funding, but what would it take generally speaking to hack ExEn to work on Mac and Linux? I see this as the only feature missing from ExEn (Aside from the other two consoles)

Andrew Russell

10:41 pm, Friday 18 May 2012

Hi Marc,

Basically all the device stuff would have to be rewritten. The audio and input stuff is the most hairy. The rendering is mostly OpenGL, which would need minor conversion from ES to desktop.

It may be worth looking at MonoGame for this. Unlike ExEn, they actually implement these platforms. I’m not sure the quality is up to my standards. The impression that I get is that they do a lot more testing on desktop platforms than on mobile – so I’d expect it to be at least a bit better.