Give each elemental spellbook a basic spell that allows players to enchant a single crystal and turn it into that corresponding element. So if you start with a Fire elemental spellbook, you come with a spell to change a crystal into a fire crystal. But you can only cast it on one crystal at a time. Using it on a new crystal changes the prior crystal back to its original element. The spell should be relatively cheap, say it costs 1 essence to cast. But that is still significant, since that is one less city you can create in the early game.
I think one glitch in this plan is that if the spell is cheap enough to be useful early on you could later "game" the system by repeatedly casting it to maneuver shard colors around. So for example you have a fire book, and own an earth and an air shard, you could cast your spell on the earth shard to get fire/air, and then cast it again to get fire/earth, and then back again. So you're limiting the pressure to tap new sources of power in order to get access to new spells. I definitely think a player should have reasonable access to the most basic level (i.e., if you have a fire book you should be pretty certain you'll get a fire shard) but from then on you either have to adapt to what you find or expand to find what you want.
Plus from a lore perspective I like the idea of the shards being immutable. After all the shards are the raw materials for magic. Allowing the player to change them just feels like the tail wagging the dog.
End of imbiginjapan's quote
Good point, but I think you could simply implement a turn delay before the enchantment goes into effect in order to prevent that.
As for the lore, I agree it does belittle the shards a bit. Though I guess at this point, the lore will be keep vague enough to allow the devs to fiddle with game mechanics (in case any changes would go against lore).
So, instead of thinking about it as if though the channeler is changing the actual shard, the channeler is simply transmutating the magic he/she is channeling out of the shard by injecting his/her own essence into it. Think of it as gasoline. They pump out crude oil from the ground, then add and take away certain things to make it into gasoline.
Visually on the map, the shard could stay the same color, but will now have a red halo around it (to indicate it has a fire enchantment on it).
You could have it so that you spend 1 essence each time the shard it tapped to produce the enchanted element, instead of simply a 1 essence cost up front. I like this better actually, since it could allow you to still use the original element, and further promotes players to find more shards (in order to save on essence).
Let’s say a wind shard is enchanted with fire, and the player controls no other fire shards. Each time the player uses a spell that requires 1 fire, 1 essence is used automatically. If the player then finds an actual fire shard, that same spell will now require no essence. However if another spell requires 1 wind, then no essence is also required, since the enchanted shard was originally wind and the magic channeled out of it does not need to be changed.
From the lore perspective, the shard is static and constant, and it’s the channeler who is doing all the work.