For those of you who don't know, I've been working on a little project to clone Amorous. The reason I'm doing this is purely as a learning exercise. I don't have much to show at the moment, since I haven't made as much progress as I would have liked. What I've got so far is a tech demo for Amorous' dialogue system, which currently allows me to support an unlimited number of characters and lines of dialogue without needing any further modifications to the code. It has been implemented in two different ways; using XML and using a plain text file. But before I continue, let me show you what the tech demo itself looks like: As you can see, nothing fancy. Just some text. When you click on a button with a character's name on it, the program will find that character from the source file and display their first line of dialogue. When you click on the text area, the program will progress to the next line of dialogue. Now for the source code for the two different implementations. First, for the XML file, this is what the XML file itself looks like: Code: <?xml version='1.0' ?> <characters> <coby> <talk id='talk1'>Good morning, bro!</talk> <talk id='talk2'>How are you doing?</talk> <talk id='talk3'>I'll be in the shower if you need me.</talk> <talk id='talk4'>See ya soon!</talk> <multi> <choice>Join Coby in shower.</choice> <choice>Alright, see you in a bit.</choice> <choice>Ask if Coby wants to hang out later.</choice> </multi> </coby> <seth> <talk id='talk1'>Hey, it's good to see you.</talk> <talk id='talk2'>I just finished another short story.</talk> <talk id='talk3'>Want to read it?</talk> <talk id='talk4'>Hope you like it.</talk> </seth> </characters> And here's the source code: Now for the text version. Here's the source file: Code: coby | Good morning, bro!; How are you doing?; I'll be in the shower if you need me.; | multi | Join coby in shower; Ask coby if he wants to hang out; | seth | Hey, it's good to see you.; I just finished another short story.; Want to read it?; Hope you like it.; And here's the source: They both do the exact same thing, but in different ways. And in case you're wondering why I did it two different ways, I started out using an XML file, but ran into a snag when trying to implement multiple choice options. Then I learned about the text file method, which seemed more simple at first, but proved itself to be even more difficult to implement than the XML file. Going forward, I'm going to focus on just one method of implementation, but would love any input from any experienced coders here on which method would be "better" to pursue. Here are some of the features I have planned for this clone, as of now: Add support for multiple source files, for better organization Add support for multiple choice options (which I'm having a hard time figuring out right now) Add ability to change background/character image based on dialogue location Add character customization system once dialogue system is finished That's all from me, I hope you found this post interesting, at least, and I'll hopefully be updating this thread soon.