April 24, 2011

Evil Cult Status Update

Okay, while I still vaguely remember what I did before and also to get my thoughts in one place, I decided to describe what I'm working on right now. Well... okay, I don't remember what I did before my current task (that was half a year ago) and my notes are not really helpful. But the current big task is to implement Sects. At the start of this sub-project I decided that I wanted to add more depth to EC (actually that is my whole plan - add more depth until I'm sick of it and then stop). The idea was to make each follower more individual and slightly different from the others. And then to send them on missions, XCOM-style.

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.


  1. Regarding your idea of having agents (or sects) acting in the world. This reminds me a bit of republic:the revolution.

    The goal in republic is similar: you have a handful of dedicated agents which can carry out actions for you. Those actions can either 1) reveal information on the map 2) increase your following 3) decrease following of your enemies

    It's a bit more complex since not every agent can do any action and actions take resources but that's already the gist of it.

    http://image.com.com/gamespot/images/2003/pc/republic/0902/republic_790screen002.jpg (the game does have a 3d view but it is unnecessary)

    I have tried to model the game mechanic into a round based multiplayer game last year, but haven't come far: http://gamejs.org/files/worldcontrol_458f149598e2.png

  2. I'll look into Republic, thanks (first time I heard about this game), maybe it will be some key inspiration for EC.

    About the round based mechanic - the screenshot reminds me that when I started EC a year ago I wanted to use the real world map, too. But it quickly became obvious that real world dimensions/restrictions/etc have nothing to do with cults, so to speak :) So I got rid of it pretty fast. Maybe in your case it's something similar.

  3. so sects are like adepts, but with some new features?
    speaking of that, I think priests should do something more than just performing final ritual.

  4. Sects are something like an extension of adepts. Their tasks run in parallel with core adept functionality. There is whole new window for sect management - creation, task switching etc.

    Priests, sure. Somewhere in the future I plan to extend the ritual system making all sorts of smaller rituals. The basics will be left unchanged though - only priests are able to cast rituals using virgins as a primary resource.