Unity is 3d, though, and it's still a development suite rather than an API. I want to use an object-oriented language to program the thing and not use a development suite. For numerous reasons, not least of which being that integrating a development suite with Steam is hard as fuck. However, I don't want to go so low-level that I'm accessing the graphics hardware directly, which is why I'm not going to learn OpenGL or DirectDraw. Allegro is a good middle-ground that'll give me increased control and speed without having to deal with the nitty-gritty of hacking the Windows interface or writing my own graphics buffering functions.