Ren'Py is a visual novel engine that helps you use words, images, and sounds to tell stories with the computer. These can be both visual novels and life simulation games. The easy to learn script language allows you to efficiently write large visual novels, while its Python scripting is enough for complex simulation games.
Ren'Py is open source and free for commercial use. It supports Windows, Mac OS X, Linux, and Android.