So I take it we are going 3d?

Sdl and OGL in the same box, like it, I'm on the same boat here with Prometheus - sdl for the earlier stuff and OS stuff like event handling, and OGL for speed. Nice. Heres my good deed for the day: do not, I repeat do NOT use sdl_surface, or sdl for graphics AT ALL apart from loading nice file formats. It will give weird results - period. I know you can get it to work, but is it not easer to just go OGL?

Event stack or queue, to post and fetch from
Hey man, sdl has this, I would just write an interface to it - pie easy here

observer pattern in the input class to notify when there is an event
I see a prime target for some neat and low resource multi-threading here don't you?

If you habe any Qs and want As just post or whatever, if you need some multi threading code, then same thing. Anyway, you get the idea.