If you are interested in doing a story driven game, then Twine is hard to beat as a starting place, even if you don't plan to use it for the finished game. It has a really nice flow chart style node editor for planning out your story. Each node represents a chunk of your story. It starts you off with 1 node by default, you just need to select it and choose to edit it to get into a simple text editor for that node. To link to other nodes, just add a line of text similar to this:
The text before the arrow is what gets displayed to the player, the text after the arrow is the name of the new node that will be created automatically for you. If you want multiple choices, just add multiple links, one after another, each on its own line. With this setup, you can quickly map a game's choices in a nice visual chart to have as a reference for what you'll implement in another engine or a starting point if you want to stick with Twine through to the end.
Ren'Py is a great choice for VNs as many have already stated. The only downside to it really is that customizing a new UI can be a bit cumbersome, as you have to basically do it all through a text file and unless I'm missing something, the UI in a running instance of the game doesn't update as you make changes, so you end up having to keep shutting down and relaunching to check your changes, and that turn around of shutting down, editing the text, saving, launching the game and navigating to the bit you want to check takes several seconds, which is a bit annoying to me.
This actually caused me to switch to Godot for my current text game project (despite being a text game, I have a very specific UI layout in mind for the graphics side of things and it will include several unique painted backgrounds for different areas of the story.) Godot has a nice visual editor where you can see your changes immediately and a great built in debugger and a nice text editor with high quality auto complete and even a built in searchable reference for looking up nodes and their methods so you can figure out how to use them. So it speeds things up substantially once you get into it and figure everything out. The downside is that I have to do everything in code, instead of simple markup when it comes to creating the game's content. It isn't really that hard though, GDScript is very easy to learn and is a lot like a game focused version of Python, but it's still definitely a bit tougher than Ren'Py if you've never coded before.
If you want to create more of an RPG and you have no previous experience and don't mind spending a bit of money, RPG Maker can be a decent option. I'd turn to Godot for this as well, but that again will take a fair bit more coding, but offer way more flexibility and almost certainly a better performing and much less buggy finished game in the long run.