Special effects (a.k.a. eye candy)

I’ve been wondering… How could one create effects such as fireballs/thunderbolts that are not TOTALLY realistic? I have thought of two ways: a)with the help of the particle system and b)by making mesh objects that look much like these objects with the proper lightning and colours.
This is a general question, so there’s no need for being technical.

to achieve TOTALLY realistic one :
download.nvidia.com/developer/pr … rGames.pdf

Okay… Sounds intresting… Supported by an awesome company… But is a volume renderer implemented in panda3d?