Sign in to follow this  
kablammyman

Unity ideas on emoticon parser

Recommended Posts

hey guys,

Im working on a 3d avatar chat "game" (written in c# and unity). The game has a lot of cool animations and dances the avatar can do. However, many of the animations are of emotions or gestures. So, i wanted to parse the text that the user would type for keywords or emoticons, then have the avatar do that animation.

For example, if the user is chatting and within the sentence has the word "sad" or a sad face, i want the user's avatar to do one of a few sad animations.

Now, Finding something in a string is trivial, so Im not asking for the easy way to do this. But seeing all the different keywords, emotions, and phrases (and combinations of them) makes me wonder if there is a better way to find out for every type of emotion without marching thru the different list of keywords for ever sentence the user types. (there will be a txt file of the key words for each emotion like happy, sad, angry, surprise, etc + any we add in the future)

so any advice will be appreciated. if Im over thinking things, then let me know as well. lol

thanks

Share this post


Link to post
Share on other sites
You can build a search tree.

Consider the case where the emoticons that are recognized are

[code]
:)
:D
:-D
:-)
:-P
[/code]

Parse a string character by character. If you come to a : character, you know that you are looking at a possible emoticon. The next possible characters for an emoticon are - ) D
If the next character is a ) or D, you have an emoticon. If the next character is a -, you go down one level in the tree and repeat. If it is something else, you aren't looking at an emoticon.

The term for a search tree like that is a "formal grammar".

Share this post


Link to post
Share on other sites
[quote name='turch' timestamp='1335478199' post='4935233']
The term for a search tree like that is a "formal grammar".[/quote]
That's a somewhat dramatic simplification (and not a terribly good search google search term for what the OP is doing).

Look instead at implementing a [url="http://en.wikipedia.org/wiki/Trie"]Trie[/url].

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

  • Partner Spotlight

  • Forum Statistics

    • Total Topics
      627653
    • Total Posts
      2978433
  • Similar Content

    • By STRATUM the Game
      Hey, everyone! This is my first post here.
      I would like to know what you think about my project called STRATUM. It's a 2D platformer that is heavily based on storytelling and boss fighting while trekking through the world.

      Everything in STRATUM takes place in the first century AD, in a world that wraps our own universe, called  The Stratum. A parallel Universe that is the home of the Christian deities . In this game you will play as a Dacian warrior, unfamiliar with everything in this world, you’ll get to know and understand The Stratum together with him.
      The main thing that I want with STRATUM is to reinvent the known lore and history of the Christian deities and realms. 
      The story is unconventional, it plays down a lot of the mysticism of Hell or Heaven and it gives it a more rational view while keeping the fantastic in it. What do I mean by that? Well, think about Hell. What do you know about it? It's a bad place where bad people go, right? Well, that's not the case in STRATUM. I don't want to describe such a world. In STRATUM, there is a reason for everything, especially for the way Hell is what it is in the game. "Hell" is called The Black Stratum in the game.
      This world is not very different from Earth, but it is governed by different natural laws.
      The story will also involve the reason why this world entered in touch with ours.

       
      What do you think about all that I said? Would you be interested in such a game? I have to say that everything is just a work of fiction made with my imagination. I do not want to offend anyone's beliefs.
      I want this to be a one man game. I have been working alone on it (this was my decision from the beginning) from art to effects to programming to music to sound effects to everything.
      I also have a youtube video HERE if you want to see the way the game moves and the way my music sounds.
      Please, any kind of feedback will be highly appreciated. If you have something bad to say, do it, don't keep it for yourself only. I want to hear anything that you don't like about my project.
       
    • By LimeJuice
      Hi, it's my first post on this forum and I would like to share the game I am working on at the moment.
      Graphics have been made with Blender3D using Cycle as a renderer and I am using Unity3D. It's a 2D game, one touch side-scrolling game for iOS and Android.
      Here some pictures, and you can have a look to the gameplay on this video :
      Feedbacks ?
      And if you want to try it, send me your email and I will add you to the beta tester list!
       
       








    • By Kirill Kot
      An adventure indie game with quests in a beautiful, bright world. Characters with unique traits, goals, and benefits. Active gameplay will appeal to players found of interactivity, especially lovers of quests and investigations.
      Available on:
      Gameroom (just open the web page and relax)
      AppStore
      GooglePlay
      WindowsPhone

    • By Kirill Kot
      Big Quest: Bequest. An adventure indie game with quests in a beautiful, bright world. Characters with unique traits, goals, and benefits.
      Mobile game, now available on Gameroom. Just open the web page and relax.
    • By Kirill Kot
      Big Quest: Bequest. An adventure indie game with quests in a beautiful, bright world. Characters with unique traits, goals, and benefits.
      Mobile game, now available on Gameroom. Just open the web page and relax.
  • Popular Now