I am a sci-fi novellist about to make my first proper attempt at making IF (in the form of a RenPy VN). I have basic coding experience, so should be able to handle the modest demands of RenPy with practice.
Where I want to do things differently is to find a way to build a mechanic that simulates relatively free flowing conversation between characters. I would appreciate any feedback or suggestions on my thoughts so far.
The plan is to generate a set of around 100 small conversation based branching decision trees, each on a narrow topic (with say two branch points and four endings on average).
The difficulty lies on how to allow the player to explore all these options without getting overwhelmed or lost in excessive randomness. So lets say we limit the player to a choice of 3 new topic trees after the previous one is exhausted.
I need to balance narrative cohesion with player freedom, so this is my plan.
Choice 1. A random selection from a range of 2-3 hand picked topic trees that most directly flow from the previous topic and decisions.
Choice 2. A random selection from a range of 10-20 topic trees that are categorised into the same broad subject as the previous decision.
Choice 3. A random selection from all other topics (topic trees will be removed from the selection pool after being selected once for all options).
This is intended to replicate the feeling of having a “getting to know you” conversation (like a first date), focused on allowing the player to get a partial slice of the NPCs character’s backstory. In any single playthrough only a small percentage of topics can be chosen in the time allowed. Hopefully this creates an “iceberg” feeling around the characterisation, and encourages replay to explore the NPCs full backstory.
The workload seems manageable here- ~100 short dialogue trees, ~400 x 3 hand selected topic that are the best fit to follow on, broad categories of topic types. I plan to only make 2 characters this complex in the first game, with a few smaller models earlier in the game for me to achieve proof of principal. I have a professional programmer on board to help me get the new mechanic working (after which I should be able to adapt the code for new characters as needed).
The thinking behind this mechanic is one approach to avoiding exponential path bloat, by breaking the game into three distinct phases:
- Establish premise and sketch main character. Offer only a few choices off the main narrative (leading to death/failure of the MC- restarting hurts less 5 minutes in). Possible small versions of conversation simulation engine with low stakes to introduce the new mechanic.
- Establish major characters through conversation simulation engine.
- Plot focused climax, rapidly branching paths (using information/stats/flags accumulated from step 2 to influence outcomes).
Keeping the branching narrative to the very end limits the amount of time for excessive numbers of paths to accumulate. Separating characterisation from plot (via the conversation simulation mechanic) could be one approach to solving this issue. It might be worth noting I am aiming to create a VN with a 30-60 minute playthrough time (but designed to be rewarding for multiple playthroughs).
Any feedback/critique/suggestions are welcome.