This is a Cassandra feature that has been around longer than I've been working on Cassie, but it appears that not a lot of players or moderators are aware of it, so I thought I'd write up a quick thread for future reference.
What is a Subgame or Subthread?
A Subgame or Subthread is an auxiliary thread or game that runs as a part of some other main game. I would use the term "subgame" to describe a wholly self-contained game that happens to be a part of some other larger main game. For instance, in acekim's game The Matrix, there were three subgames that consisted of basic 9 player games, and each of the 27 players of The Matrix was assigned to one of those 9ers. Once each subgame completed, the "main" game continued. In contrast, I would use the term "subthread" to describe one forum thread that players may or may not have access to read, sometimes post, or do various other things in at certain points during the course of a single game. For instance, Redhawke's Game 1000 was played in four separate game threads, and players were able to move back and forth between game threads over the course of the game. Each thread had its own lynch, but it was all part of one game.
When speaking generically of this Cassandra feature, I tend to use the words "subgame" and "subthread" interchangeably.
How do these work on Cassandra?
If you look at the Cassie pages for either of the two games I referenced above, you will notice that they each have a row in the game info table on the top left labeled "Sub-Threads," with links to the relevant subgames or subthreads. If you follow those links, what you will see is a standard Game page for the subgame in question which looks pretty much identical to a game page for any other game. In general, a subgame can have anything that a "main" game can have - including its own subgames! That includes a set of moderators (who may or may not be the same as the moderators of the original game), a vote tally, a player list (which may or may not overlap with the original player list), chat rooms, game orders, items and locations using the Physics system, and so on. Players who are alive in a main game may be dead in a subgame or vice versa. They are, as far as Cassandra is concerned, completely distinct games. In fact, there are only essentially three primary differences between creating a whole new game in Cassandra as opposed to creating a subgame:
1. A subgame is directly linked to in Cassandra from the main game page.
2. A subgame doesn't ever show up on the front page of Cassandra, nor is it given its own unique game number. Any time where a game number is displayed, you will see an asterisk instead.
3. A subgame can be directly linked to a location in the main game via the Physics system, and if so, Cassandra will automatically adjust the player list of the subgame.
How do you create a subgame or subthread?
If you are moderating a game and you want to add a subgame/subthread to your game, go to the "Sub-threads" row in the Cassie game page for your game, and click on it. In the edit form that appears to the right, you may add a new Subthread: to do so, simply add the BGG forum thread number for the new game. This thread has to be a unique thread - different from the main game, and also different from any other game or subgame currently on Cassie. When you click the Add button, you can now follow the link on your game page to your subgame's new game page. From there you can edit the title (the default title for the game will always be "Sub-Thread") and set it up however you wish. This includes setting the game's Status whenever it is ready to run.
One thing to keep in mind: If you have chatrooms in a subgame, then marking the subgame's status as "Finished" will make those chatrooms public, just like it does for any other game. Similarly, if the subgame is in "Signup" status then only moderators will be able to view the chatrooms, and you won't be able to add vote tallies or anything else that is typically associated with currently running games.
What can you do with subgames with the Physics system?
If you look at the guide to using the Cassandra Physics System, you will notice that any Location you create in a game can optionally be associated with a subthread. The intent of this is to automate scenarios such as those found in, for instance, Game 1000 or Indiana Jones and the Will of the Immortal, where players had the option to move from location to location, and in certain cases those movements would take them from participating in one subthread of the game to another. So in effect, whenever a player enters a location in a game that is associated with a subthread, then Cassandra will automatically add that player to the player list of the relevent subthread. Whenever a player leaves a location associated with a subthread (to a location not associated with the same subthread) then Cassandra will automatically remove the player from the player list of the appropriate subthread. Both the games given as examples above were run prior to the Cassie physics system, and so the moderators had to manually track what location each player was in, and which thread they were supposed to be in, and post to each thread an up-to-date list of who all was where and manually add and remove players from each player list. As one of those co-moderators, I can testify to how much of a pain that was each time.
Note that if you create locations and items in a game, and you create a subthread, even if you activate the physics system in the subgame, those same locations and items from the main game won't be "accessible" from within the subthread, even if that subthread is associated with a location in the original game. Remember, each subgame is treated as its own unique game by Cassandra.
Some sample ways and ideas of using subthreads or subgames!
1. Have locations in your game, and as players move from location to location, they automatically move from subthread to subthread, perhaps with each thread having its own lynch and nightkill. You can use the Physics system as noted above to facilitate this.
2. Have a series of independent games running simultaneous to the "real" game, and have actions in the real game depend on what happens in the subgames.
3. Create a maze of subgames a la Belash's Escape from Redemption, where the main game has a set of subgames that players can enter, and each of those subgames has further subgames of their own that can be accessed from within them, and so on.
4. Create a subthread purely to take advantage of Cassandra's thread scanning abilities. For instance I created a subthread of Constellation Lupus (the persistently in-progress test game that jmilum, Melsana, and I use to debug Cassie issues and try out new features we're working on) for the Pictures Thread, which allows you to quickly find a post from a particular player - in this case, perhaps to find a picture of said player. The advantage of using a subgame here is that it keeps it off the front page of Cassandra and doesn't take up a game number for something that is obviously not really a game.
5. Use a subthread to archive content from the main game that you don't want cluttering up the main game. In particular, chatrooms - if you have a game with well over a hundred chatrooms, I know that the web interface gets a bit cluttered and slow to respond. I have on a couple occasions now "archived" some completed chats by moving them into a subgame temporarily, until the game was finished, to relieve things a bit for the moderators. NOTE: Moving chatrooms from games into subgames is NOT something that any moderator can do: only Cassandra admins can do this. If you are running a large and complex game and you'd like one of us to do this for you, you should ask us, but I can make no guarantee that any of us will be available to do this for you. In fact, I wouldn't even bother asking unless you are sure you will have well over a hundred chatrooms in your game, or one of us happens to be playing in the game.
6. Use a subgame to give certain players mod-like abilities within a game: e.g. if a player has the ability to freely open chatrooms, maybe you could create a subgame and make that player a co-moderator of the subgame, so they could create the chatrooms themselves as they see fit.
7. Run a werewolf tournament! The main game would be the main tournament game, and you could create one subgame for each game within the tournament. For instance, yiatzi's recently concluded Ironman Challenge could theoretically have been run this way, so that each game within it was marked as a subgame. (yiatzi, I realize I never mentioned it at the time, but if you'd like, I can actually adjust all your Ironman game pages to become subgames retroactively. Just send me a message if you'd prefer that.)
Feel free to add your own suggestions!
Blacksheep brought up with me a good point that's worth mentioning here: it is possible to add players to chatrooms in games that they are not officially listed as a player of. Simply add the player to the player list of the game, add them to any relevant chatrooms, and then remove them from the player list. They will remain able to access the chats you just added them to even though they are no longer listed as players in the game. However they won't be able to submit any game orders at that point.
This is particularly convenient for subgames, because you can use this to create chats in subgames and give players in the main game access to the chats without publicly indicating that these players would necessarily have access to said chats.