Speaking as a programer, yes programing a game isn't easy... but Ren'Py is barely programing, the whole point of it's existence is to allow people who aren't programers to make visual novels. Unless you're really pushing the limits of the engine (which lets be honest CK isn't) then you basically just have to be able to do basic scripting.
As someone who has only dabbled in programing ranging from Basic, Macintosh's
You must be registered to see the links
(1986), Hypercard's Hypertalk (successor
You must be registered to see the links
), Pascal, C, and finally Swift I have to agree somewhat.
The one thing that made things easier with World Builder (1986) and Hypercard was levels of code. You had in descending order world (stack) code, scene (card) code, and finally object code. The
You must be registered to see the links
so you can see how it worked.
Here is some world builder code to compare with Ren'Py:
MOVE{PLAYER@}TO{forest clearing) - moves the MC to the scene named forest clearing
MOVE {ogre)TO{upper valley} - ogre is the character or object and upper valley is the scene it will appear in. This could be either world or scene level code.
IF{ring=PLAYER@}THEN
MOVE{MONSTER@)TO{STORAGE@} PRINT {Your magic ring has banished the creature}
IF(VISITS#>50}THEN
PRINT{You've been wandering around a long time now.}
IF(LOOP#>12}THEN
PRINT{You seem to be wasting time here.}
END
This ease of use came at a cost. While World Builder could (and in rare cases was) used to make visual novels it was limited and the size (for the time) could balloon really quickly and past a certain point correctly written code would stop working.
The Star Trek game I made where you could wander around the Enterprise (6 decks), warp to a handful of planets, and beam down started having problems at the 1 MB mark - the amount of scene coding got to where the engine just wasn't up to handling it.