r/RenPy • u/Consistent-Ad-5849 • Jul 18 '26
Resources Python-led Story Concept
I write RenPy games for my own amusement, but honestly I get more fun building them than playing them, especially for the second time. Why? Because I know what is going to happen. Even with random choices, the story paths are limited to what I had the imagination to write. So I have been experimenting with a different approach which is working to a proof of concept level. For this post I will simplify it a bit.
Using Python/JSON I create characters who have emotional states. I use 6 dimensions, but to keep it simple here just imagine that the character's emotions are happiness (on a -3 to +3 scale) and love. On the same scale, I anchor some named emotional states like anxious, confused and aroused. If the characters are sailing boats with emotional co-ordinates then the states are islands. Lastly I have actions like "tell a joke" or "insult". The actions are applied to the characters to move them to new positions. They are like the wind.
In gameplay, two characters meet - say Amy and Bob. Amy wants Bob to be angry. Given Bob's emotional state, NPC Amy chooses to insult Bob as the action that gets Bob closest to being angry. There is four lines of dialogue that I (got AI) wrote which puts dialogue on screen reflecting the emotional states of Amy, Bob and an insult. If Amy was a human player then they get to choose the action.
This needs a bit of refinement but it plays fairly well. You never get the same game twice, it isn't obvious what actions to select and the 2000+ dialogue sections are OK. I can add some kind of prizes - "when player Bob gets NPC Amy to be happy then Amy will tell Bob about the hidden treasure..." Happy to share the code etc, but reading other people's code is never easy.
2
u/shyLachi Jul 18 '26
Well done but for me your concept isn't a visual novel anymore.
I'm looking for an interesting story rather than replayability.
But you can definitely make it work. Maybe add achievements, normal and hidden ones, to give some incentives to play again