Broad question - programming episodic games, or game episodes
A few folks I know were talking about the idea of putting together our own demo game and wanted to explore the possibility of creating a few short playable chapters, similar to Telltale's roster of work, but possibly going a little deeper like how Bioware did their Mass effect and Dragon age series.
So, basically, how would one program that functionality of decisions/items/ect crossing over from Episode A to B, etc. Is it something as "simple" as programming conditions that need to be met in Episode A to carry over player decisions/items/etc into Episode B, which I assume is stored in your save data?
Hopefully, this makes sense. I'm shooting in the dark here on where to start my research, so I came here since you folks are so friendly :)
Most of the games you mention are not episodic, they are completely new games based on previous work.
There are many games with episodic content, where updates are published with a little bit more content.
Consider Angry Birds and their implementation of episodic content. The initial version shipped with 21 levels in one episode called "Poached Eggs". They added new chapters every few months, and at the end of the first year had five episodes and about 100 levels. They ended up with nearly 600 levels when they stopped after about five years.
The easiest way to build episodic content is to make the game data driven, so you can load any number and types of levels from data. You need to keep the gameplay scripts and other elements the same between levels. Some games (but not all) with episodic content will require the game to be updated with new executables and sometimes with replacement levels.
In the first generation, build your game so it can be played with the first chapter you want to release, and also with the second chapter that should be developed near the end of the development process, but early enough that you can test and verify all your updating code. Start developing your third chapter before finishing and releasing your second chapter, etc.
For save data, you'll need a system that allows for extension. That can mean name/value pairs, like { level 40 : 3} { level 41 : 2 } and so on. Then you just need to ensure each level has a unique identifier. If you know how to use the value then use it. If you don't know how to use the value then it probably isn't loaded so you should persist the values in case it is loaded later.
I haven't looked too deeply at their games, so it is possible they have one executable that runs all the episodes, much like Angry Birds or other episodic content. In that situation they are effectively downloading new levels, new boards, and those are the data that gets used.
Either way the development process is basically the same. Make a game that can run and load levels, then make sure your levels are standalone blocks that can be loaded individually, selected individually, and downloaded individually.