I like the ideas of Black Dawn, who clearly shows that you can indeed implement a spy system that wouldn’t necessarily suck. Here is how it is done:
I would propose the following as basic info (maybe not complete but …) for a spy system that at least I myself would find adding a LOT of gaming value to Elemental (would still be optional):
The spy is a unit you can train (and give equipment), much like you train a worker or basic militia. Buildings, technologies and faction abilities will cut the price, time of production, add skills available, increase skill level.
You can endow the spy with essence much like another unit (I don’t know how heroes will work in Elemental, but this could turn the spy into a hero unit, give it magical abilities etc, making it more powerful, opening up new skills maybe).
You can send your spy into enemy territory: as basis, it is invisible to any enemy unit (or only enemy spies can see it). But if the enemy has a certain level of counterespionage there is a risk that the spy is revealed. The more heavily populated area it moves in, the higher the risk (since more people would have the chance of noticing something wrong: this is a game mechanic so that the spy can more easily stay hidden in “less important” areas like a forest or scarcely populated farmland, while you would need a higher level spy to sneak all the way into the capital or other major cities where it could then do much more damage). The spy is weak in standard combat.
When the spy moves on the map it scouts. It can also enter enemy territory without you needing to declare war, which can be a major strategic advantage and option. This would allow weak realms to actually DO something against much stronger enemies without suicidally declaring war. A major point lacking e.g. in Galciv2.
The spy can move into a city. Every turn it stays in the city it gives you more info than normally available: how much depending on its skills and level. Very small base risk of getting caught each turn even if there is some basic counterespionage in the city.
You can order the spy to initiate special actions in the city depending on its abilities. When you order this, there is a certain number of rounds of preparation (depending on skill/level of spy and the action itself) during which the spy plans and prepares for his action. Also during this time he can get caught. When the time has passed, you get a message saying whether he succeeded or failed: e.g. that your spy in city X has managed to poison the well in city Y, or has managed to start redirecting resources to your own realm. Or that he did not succeed: he is then still not revealed but would need to try again. This preparation time that goes with each action is a game mechanic so that you can’t try to e.g. assassinate each turn. It also gives suspense when you wait for the moment you will know if the spy has succeeded or failed …
The actions could be as proposed by Black dawn (steal resources, steal research, sabotage structure, poison the wells, assassinate unit), and I would add: sowing discontent: this decreases the morale/happiness of the city. The spy will continue doing it without micromanagement intervention. Average chance of getting caught. If content drops too low normal rules on rioting would apply.
Every turn the game would compare the level of the spy and the level of counterespionage, with modifications for e.g. population, magic etc and with a certain random element included. Either the spy stays invisible and continues, or one of the following happens:
1. the existence of the spy is revealed, but not its origin, and it is not stopped. This would be important info, (that your enemy is using spies, that you might consider counterspy efforts …), but would not affect diplomacy or the spy itself.
2. the spy and it’s origin is revealed. This would affect diplomacy (could start a war …), the spy’s present activity is stopped, but it is not automatically killed. It would be visible for all enemy units for a certain number of turns and would have to defend itself (weak in combat). If there are no enemy units around, it could escape out into the wilderness and try elsewhere later once invisible again. This would also create action and suspense since it would often lead to panic chases through the wilderness, and to panic battles between spies and enemy units you would prefer to avoid but might just have the chance and luck to survive!
3. the spy is caught and it is executed by the populace / military. Affects diplomacy as above and the spy is lost.
You can order one of your own spies in one of your own cities to search for enemy spies. This would increase you level of counterespionage in that city (quite a lot in the city, and a little bit in the realm as a whole).
There would be spells against spies: like True seeing revealing all of them at least at that moment, Scrying for them in a particular city or region, Aerial/Spirit protectors drastically increasing your counterespionage in a city, Talking trees: any spy moving through this forest region is automatically revealed, … There would be spells for spying and aiding spies, like: invisible stalker: much harder to catch and with assassination as special ability, aerial servants able to fly quickly to any city to spy there, invisibility potion letting one of your spies avoid getting caught once … Hero spies could have drastically improved versions of the basic abilities, like sowing discontent with much higher chance of rioting, or stealing spells or possibly even essence.
There would be technologies for and against spying: these would be needed to perform any “active actions” like poisoning wells or sowing discontent. By investing in counterespionage techs like local anti-spy militias, citizen networks etc you could create a rather spy-safe realm except maybe from the most fearsome master spies aided by magic.
Some factions would have natural spying or counterspying bonuses or abilities (+ or -).
There would be no double agents, since this would be too complicated to handle in my view.
I really hope Stardock would consider including such as system, since the game would be so much poorer without it.