Ren’Py - and other visual novels - isn’t focused on text generation in the same way that parser-based IF is. Visual novels tend to present pre-written dialogue and narration to the player, with conditionals selecting pre-written blocks. When a variable is changed after the game starts, Ren’Py will track it’s values, in order to handle save, load, and rollback. (Rollback is a feature where using the mouse wheel or pageup key, the game will reset itself it a prior state. It’s useful if a player clicks too quickly and misses a line.
I haven’t seen the markov-chain based game, but I’m guessing it did much of its work using embedded python.
Thanks! Teachers seem to be using Ren’Py to get people over that initial hump of making the first game. It’s been taught in everything from the children’s track of Python conferences to introductory level college courses.
Compared to other IF platforms, Ren’Py might be better at displaying dialogue and thoughts, one step at a time. Ren’Py is very much focused on conversations - internal and external - where other engines seem to be focused on exploration.
Beyond that, even without being an artist, it’s possible to use creative commons art and music to add atmosphere to a game. For example, one could use full-screen background images, perhaps in conjunction with Ren’Py’s NVL Mode (full-screen text mode) to provide a more concrete sense of place.