Jul 9, 2017

A Conversation Simulator in RenPy

Hiya! Missed me? Well, I'm back, baby!

I've dropped RPG Maker and found a new toy: Renpy! Actually, I'm surprised so few people use it. It turns out Python is A LOT similar to Ruby, so RPG Maker scripters should feel at home. Plus, there's a nice set of tools for debugging and stuff, I'm really enjoying myself so far.

Anyways, to the point.

This is not exactly a project, or more precisely, it's a demonstration of a script I could use in a future project of mine (as well as me tinkering to see how far I can get with RenPy).

This is a conversation simulator. Now, don't get me wrong, it's not like you get to type in what you want to say and the computer answers. But, rather than choosing between a few dialogue options (which is how it's classically done), you get to choose what topic you wish to discuss, among a number of them (20 in this demo). Nothing groundbreaking so far.

It turns interesting when the computer answers. You see, the conversation is two-way, and the person you talk with will also pick a topic in turn. Of course, the computer doesn't pick at random (which would be pointless). Actually, the NPC is anxious to discuss a topic in particular, and the idea is that you score points if you manage to get the conversation to that topic. But since the NPC doesn't want to make a harsh transition, they will always try to come up with a topic which is relatively close to the one you picked, and yet drives the conversation toward the desired topic. And it's the only clue you're gonna get.

In short, it takes conversations in role-playing games to a new level. It's not about choosing between a few predetermined lines, which are always obvious by the way, to get what you want - but rather, it's some sort of mind game where you have to read between the lines, and use everything you know about the NPC to understand what they're trying to tell you.

I hope you'll enjoy the concept in its current form, though I have quite a few ideas to make it even better. For now you just have to exhaust all topics to find the right one, but in a real game situation, you would have a limited number of tries before the NPC gets tired and walks away. Also, you would start off with a limited number of topics, and unlock them one by one, as you get to know people/places and events occur. So the first conversations would be easy to handle, while you could very well end up with dozens of topics, and have to tread carefully when you're in a critical event with just 3 tries. Also, what you can't for now because there's just one NPC to talk to, is that she has a personality. That is, she has her own favorite topics, and the one she'd rather avoid. A different NPC would make different picks in the exact same situation.

I've prepared 2 situations, with the exact same scripted dialogue. The difference is that in one, the girl wishes to discuss a predetermined topic which is always the same, so once you've found it you can try different approaches and see how she tries to draw closer to it. In the second, though, the desired topic is chosen at random, so you can put your guessing abilities to the test!

The point of this demo is not to put up a challenge. You will find it's pretty easy to reach the desred topic, mainly because there are too few topics. You have to imagine how complicated conversations could turn with about 40~50 topics, and a limited number of tries for each.

Anyways, here's the download link. Don't hesitate to let me know if you like the idea and how you'd like to see a full game based on this system. :) Cheers!

Download PC version: http://www.mediafire.com/file/xc41cfcma2h4428/Test-1.0-pc.zip
Download Mac version: http://www.mediafire.com/file/48mzab68mnsrn8q/Test-1.0-mac.zip

No comments:

Post a Comment