However, Akinator is known for its complex AI and programming such AI must be a very hard task, for which C2 is probably not the right tool.
In fact, Akinator works with a complax tag-and-match system. It has is a huge list of people, and the answers for those questions for each person. Also, it has a question list, saying which attribute is related to that question, from where it picks the questions to make as it rules people out. Like "20 questions", it matches the answers you give with the answers it has for each of the characters.
Let's preview its behavior in a much smaller context:
Characters
Mickey: Rat, Has Girlfriend, Male
Minnie: Rat, Has Boyfriend, Female
Donald: Duck, Has Girlfriend, Male
Daisy: Duck, Has Boyfriend, Female
Goofy: Dog, No girlfriend, Male
Pluto: Dog, No girlfriend, Male
Questions
Is it a rat/dog/duck?
Does it have a romantic partner?
Is it male/female?
You think of Donald.
(It randomly picks a question)
Q: Is it a dog?
A: No.
(It rules out Goofy and Pluto. And it rules out the question about Romantic Partner, since ALL AVAILABLE now have one. And picks another question)
Q: Is it male?
A: Yes.
(It rules out Daisy and Minnie. And, since it has only 2 possible characters, it picks a question that will tell it about an attribute that's different for them)
Q: Is it a duck?
A: Yes.
(It rules out Mickey and, having no other character that fits the description, it states your character)
Is it Donald Duck?
The thing is, you must have a large enough set of characters with a large enough set of attributes that makes each of them unique. For instance, the set we used at the example, would not be a good one, since Goofy and Pluto are, in the eyes of the AI, equal. If we added another attribute regarding number of legs (2 for Goofy, 4 for Pluto) it would be a better set.
So, in terms of development it's very simple, but building this character data bank is a HUUUUUGE job.
Cheers!