A lot of the VN games you see on steam are renpy. You can do quite sophisticated things with it. The syntax is basically python.
If you have a friend who is a writer or artist who loves creating original stories, doing a project in renpy is an interesting way to collaborate and create something together with them.
I looked into Renpy briefly after finding out that Slay the Princess uses it. I didn't get far because I didn't have a story in mind, but it's a neat tool.
I've always toyed with the idea of making some stories for my kids in Ren'Py. Although, I've been toying with the idea for so long that I might get them done in time for the time I have grandchildren.
Ren'Py has at least 3 major problems:
1. It predates the fact that the "obvious" one-VM-to-rule-them-all is the web browser. Yes, it has a WASM version, but that's just several MB of overhead; these days it's just plain silly to target anything but HTML/JS-first (not necessarily only; an efficient native version isn't unreasonable if you plan for it) unless you explicitly need backward-compatibility. The fact that you get to write not-quite-Python rather than JS isn't enough to make up for this.
2. The code design is utterly atrocious. Global variables are everywhere in the implementation, and it is common for VNs to write to them from arbitrary places. Expect random breakage if you ever try to upgrade the embedded copy of Python or Ren'Py (either as the end user or as a VN author), even though this also means Ren'Py can't refactor its own code to be sane.
(note that I don't actually consider the mere fact of embedding to a problem per se; for once it's a reasonable decision for the target audience, even if it's a bad idea for most of the cases developers do it)
3. Ren'Py's home-grown scripting system tries to be "smart". In reality that just makes it fragile. The less said, the better.
4. It relies heavily on Pickle, so say hello to arbitrary code execution from data files! Granted, the backward-compatibility problem means you're probably downloading a random binary (plus assorted unsandboxed Python scripts) to execute in the first place ...
I invite everyone to try running the Ren'Py demos by installing them from Debian stable. Yes, Debian sucks for not updating things ... but this kind of error wouldn't even be possible with a sane design.
should've been called sen'py
I would advise against clicking on any of the links in the “sponsored by” section if you are at work.