3D game special effects, fire, lightning, water, and ice
I'm working on a 3d game using OpenGL and would like to take it in a fantasy direction. Specifically I'm thinking of having magic with effects for fire, water, ice, and lightning. My problem is I have no idea how to create these effects. Are there any resources for me on how to learn something like this?
I always go directly to the GPU vendor development sites. They will have complete development environments set up and have literally hundreds of ready to go code samples.
For example, take a look at the NVIDIA dev site for GPU Gems: there are several articles on water effects.
The core engines do an amazing job at these physical simulation effects and unless you really want to become a special effects artist, I would suggest to pick an engine that does the effects as you know that they will do it to the best-known-methods at that time and they have a commercial incentive to keep improving on it.
The fact that the GPU now has so much compute power that it can do these complex physical effects creates another barrier to entry: you need to know and want to know the details of NVIDIA's GPUs, and AMD's GPUs, and Intel's GPUs, etc. That is a full time job and if your focus is on using these effects then you might get side tracked.
However, having said that, if you are really interested in how these special effects work, I suggest you join the Blender community ( http://www.blender.org ). There are some really good people there and the community is ready to help. Another valuable resource is the Bullet physics engine ( http://bulletphysics.org/wordpress/ ). It is the third most popular physics engine for games behind Havok and PhysX which are both big commercial projects.