EDIT 10/13/08: Horizontally moving bubbles are now in.
Since Enjay requested this over in the CAH project thread, I figured I'd give it a quick go and see what I could do.
Anyhow, this is pretty simple. The included .pk3 has two demo maps (map01 is the GZDoom OpenGL one, map02 is for regular ZDoom or GZDoom in software mode) to show you how things work. Basically, there are two new things to spawn bubbles underwater:
28000 - spawns bubbles that travel up
28001 - spawns bubbles that travel down
Each thing takes four parameters: spawn frequency (0-100), base radius, minimum vertical speed, maximum vertical speed.
For the best results, I'd suggest keeping the base radius under 32 units, and the vertical speed fairly low (like 1-5). The spawn frequency is basically the % chance that each of the three bubble types will spawn every 2 tics, so 50-75 gives you a pretty good stream of bubbles. The spawner things are unaffected by gravity and can be activated and deactivated using ACS or line specials.
The bubbles themselves will travel upwards and jig around randomly a bit. They will pop if they hit the surface of the water, and they also split randomly as they travel.
Anyway, it's pretty simple and should be easy to adapt. Anyone who wants to use this, modify it, or whatever is free to do so. I ask that you give me some credit, but that's it.