I've also been thinking about implementing pirates, here was the initial approach I was envisioning:
Barbarians would be given normal frigates and galleons (for simplicity), but they'd have the black flags and scull and crossbone barbarian flag style. The creation of these would be limited by how many players knew astronomy, once two did the pirate spawning would begin.
Similar to land units, the frigates would spawn randomly in fog'o'war ocean tiles, with a max possible number of pirates based on the number of ocean tiles. Then, maybe 20% of the time, instead of spawning a frigate in the middle of nowhere, it would instead spawn a frigate, a galleon, and some land unit or two in a random coastal barbarian city. The frigate would be given the sea assault AI, so it would load up some units and go invade somebody. If there are no coastal barb cities ... I guess it'd be more fun to spawn it in the middle of nowhere than not.
Once two people had researched combustion, no more pirate ships would be spawned. Getting to this point is just a few lines of Python code, could have it working this weekend.
Beyond this, options for making it super sweet would include:
- A pirate land unit or two ... Arrr! Wouldn't want to replace the barb states ability to build regular units, so they'd probably have to be new using the method naterator discussed above. I've actually never seen barb musketmen, so maybe you could get away with replacing those. Or you could do some total hack where they replace units the barbs should never have, like modern armor or fighter jets.
- Special version of galleon as unique unit for pirates, with more gold trim on the cabin area, that could only carry a couple units, but maybe also bombard (like naterator mentioned above).
- Add a Civ3 style Privateer to the game for all civs. Would have invisible nationality and chance to capture a defeated vessel. The pirate frigates would then be replaced with these. (Would probably have to have a cap on how many they can capture, or have them lose to most frigates, to avoid having unpassable seas).