Update: YouTube video!
Update: Marketplace link!
This one actually went pretty quick, thanks to some artistic help from Joel Mejia and several hours trapped at an airport. :)
The most time consuming aspect of Thunderstorm was the clouds, which I guess is obvious in retrospect. The number of them needs to be minimized as these phones are very fill-rate limited, but at the same time you need several layers to get any kind of good motion. I ended up defaulting to 9, spacing them out evenly along the Z plane (Z = up), and randomizing their depth between the camera and background layer. The image distribution is random.
A lot of time went into tweaking the color ranges and nature of the alpha to allow them to blend together somewhat and create an amorphous shape when possible, as having sharp edges didn't play well in practice. The phones I have access to also tend to knock the alpha channel to 4-bit (it looks like), which really hurts here. It creates some pretty visible banding, so it was necessary to keep a fairly busy color channel to help hide that. There's still a few artifacts here and there on a couple of the images, but for the most part the remaining banding isn't too bad.
To minimize fill-rate cost, both the lightning and clouds all have custom models that cut out the empty space so we're not rendering unnecessary invisible pixels... it's still a little expensive at times but it's about as minimal as is possible, I think. The models themselves have normals forced outwards on the edges, so the clouds will directionally shade smoothly based on the light source in the scene. The light direction very slowly orbits the periphery, but blips to the X origin of the lightning bolt when a bolt is spawned, then lerps back to its correct position. The flash is accomplished by keeping the diffuse light as-is and spiking the specular light to the bolt's user-defined color, then fading that back down as the bolt fades out.
All this worked out pretty well. There's still the occasional spot where the clouds kind of stand out as a cut-out sprite... that's really hard to eliminate completely without more layers of blending, but as updates happen I'll probably reduce it further. As a whole the results here turned out really cool, and I'm happy to be able to release it.
I'm trying a different sort of approach to the free version with this one... the free version doesn't have an app icon, instead the settings button links to a pop-up dialog that explains the range of settings available in the full version, with a marketplace and web page link. I'm hoping this is unobtrusive while still letting people know the full version's available if they want it.