After spending some amount of time trying to think up a compelling mission mechanic (there's a 5kb text file full of ideas, just like there is 12kb text file full of vague designs for Dr West - most of them unused), I understood that I had two big tasks in front of me instead of one - first is to make the agents (that's what I called them back then) system and then to make a mission system on top of that. What I decided was to make agents system + non-interactive agent tasks and later expand that into full missions.
So I focused on the first part forgetting about missions altogether - I described how an agent is different from a common follower and what could he do etc. And during that part I suddenly realized what is it that I am describing - sects. The basic concept here is that every cult follower can make a sect who he will be the leader of. A sect grows over time and is destroyed when its leader is revealed or is taken over by an enemy cult. Sects can be used for different small tasks like:
- Find out information about cult - at the start of the game player does not know any info about cults
- Cult resources - get how much resources the target cult has available (this is somewhat useless right now because the AI does not stockpile any resources)
- Cult resourse gains - how much resources this cult will gain next turn
- Gather node information - all nodes of enemy cults have all information hidden which also drastically reduces the chance to conquer them (and you don't know which resources you need until you click)
- Search for investigator - investigator will not be revealed automatically, you need to actively search for him first
- Confuse investigator - a sect can be used to lower investigator efficiency
- Sabotage ritual (need level 2 sect) - higher level sects can actively meddle with other cults' rituals slowing them down
I'll try to think of more tasks during playtesting. I also need to do some refactoring similar to DW quests - right now there are two classes - Sect and SectsInfo, everything is in one big pile and will become a huge mess soon. Sect saving should be implemented. There's also an interesting problem of AI not using sects altogether. I always tried to make it so that everything that is available to player would also be available to an AI. But already my AI programming skills are strained and with addition of sects I decided to just use old rules for AI for now - they won't need to use any sects for anything. We'll see how it plays out.
The sub-project grew bigger than I expected and is still not complete - more tasks need to be added, more playtesting and balancing need to be done etc. There's also a big graphics rewrite looming on the horizon - I want to move map display to HTML5 canvas using images instead of divs, that will provide a huge perfomance boost and should free up memory. Another part of the rewrite is removing jQuery tooltips which proved to be ineffective - every tooltip is static and needs to be stored in a title attribute for node div. Which also leads to loads of memory used and rewriting all tooltips for all visible nodes on each gamestate change. Also when I'm done with sects there's some stuff in issue tracker which was requested by people, I'll get on that too. And that damn bug with game hanging up. Loads of work await me :)
That's all for the moment.