What about the particle engine - is there no way to hijack that?, if you could set the properties yourself, then you could use them for bullets. I'm considering something similar with an OpenGLEAS engine, using point sprites which work with just a single vertex and can be rendered in 1 pass. I'm guessing that the particle engine in DB uses a similar approach, setting the colour and fade but not scaling. I don't know GDK, but I think that you need to look for an alternative to sprites - maybe even pasting the image directly would be faster - because then it's easy to optimise.