Ugh, I keep debating what to do about Asylum. Right now it’s on fairly shaky ground with VC6, using DirectDraw with a nice wrapper called CDX on which development has fallen silent. But there are a lot of things I would want to have work, which I don’t really know how to do myself, and if I did (since I know somewhat what would need to be done to make them work) it would be too slow. Like, I’d like to be able to rotate a sprite. You can’t do that with direct draw, CDX does something close, but it uses a filtering mechanism that produces anti-aliased edges, which is usually good, but then it applies the colour keying, which is a single colour (I think I could fudge it up to use a range, but it would be annoying) and regardless it doesn’t work very well. Nor does the alpha blending, hideously slow.
So the idea is moving on up to something a little more clean, but could quite easily be as slow, or slower. Managed DirectX in C# works well enough, at least the demo’s do, and I think I’d have access to everything I need. So no worries about memory crap, and I could use DirectX, er, directly. I’m not really good with Windows/COM nonsense and it’s very flakey to me. But since I took CS488 (Graphics) I have a grip on 3D programming, which is easily adaptable to a 2D game, and I get the benefits of fast rotation, scaling, blending, nearly without thinking.
But, of course, that would mean, essentially, a rewrite. Which isn’t actually too bad, since I’m not far into this project, most of it was infrastructure, which is the stuff that has to be rewritten. I dunno, then I would be bound to the CLR, which isn’t something I want (ViewEdit is fine cause it’s just a tool for me) but it’s not like the .NET Framework is installed with XP, which means my audience will have shrunk.
I could remain in VC6 with DirectX and use Direct3D to get everything I want… but DirectDraw alone is messy, I dunno if I could stand Direct3D. More research is clearly indicated.