Game development using the .NET Compact Framework
As soon as I got my hands on Everett, the beta of VS.NET 2003, I dived into the Compact Framework... great to be able to develop your applications within VS.NET for such a small formfactor as the Pocket PC. One of the things I looked at was the possibilities for game development for Pocket PC, not that I am twisted enough to be able to develop a game (trust me, you need to be a twisted to come up with bright game ideas, I worked with some of these guys!), I'm just very interested in graphical applications.
Of course there is the possibility to use the Forms library to do all kinds of graphics (see http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetcomp/html/netcfgaming.asp for an example), but the real performance you will only get using direct access to the screen buffers. What you really want is the PocketPC variant of DirectX... it's a pity: only the DirectPlay part is available for communication(http://www.microsoft.com/windows/directx/default.aspx?url=/windows/directx/downloads/directplay.htm). On the Pocket PC you have GAPI (http://www.microsoft.com/downloads/details.aspx?displaylang=en&familyid=d9879b0e-4ef1-4049-9c61-e758933d84c4), a very simple game API with only the basic functions available for screen buffer access.
On top of GAPI some nice game development libraries are available like PocketFrog (http://pocketfrog.droneship.com/) and GapiDraw (http://www.gapidraw.com, works on multiple platforms). Another really interesting initiative is by a Dutch company called Overloaded (www.overloaded.com) who developed the Overloaded Game Foundation SDK, and a whole program to develop games and publish it with them in participation and get revenues. Their website seems down (http://overloaded.pocketmatrix.com) so I don't know if their initiative survived. See http://www.mobigeeks.com/e/forum/showthread.php?s=8b025d293af64be37828ab90eb2dde1c&threadid=191 for more info.
Problem with all these libraries is that you need to be a hardcore C++ programmer who knows everything about WIN32 (although Overloaded created a really nice framework containing all you needed to write games). I have bin there, but I really don't want to go back. I love the speed of development with C# and managed code. I tried to get interop between C# and GAPI working, but I just did not have the time to really dive into it.
Today I found some links to articles describing just that a .NET layer on top op GAPI with a lot of extra functionality. I did not have the time yet to read it all and try it out, but it looks very promissing... Is there a future for game development for the Pocket PC using .Net? Have a look at: