The characters idea sounds good. But how about getting the students to describe the personality of someone they know in class. then collect the descriptions, read them out, and the other students must try and guess who it is. if you have whiteboards in class get them to write down the name of who they think it is, in their teams. each team gets 1 point if they guess correctly. or to make it more exciting give them 3 guesses. if they get it right on the first try - 3 points - second try, they get 2 points, 3rd try they get 1 point.
to increase student speaking time what you could also do is instead of reading out the descriptions yourself, get 1 student from each team to read them. this means that that team won't get a point that round as they'll know who the student is since their name will be on it, but since 1 person from each team is reading it means that each team will go 1 round without a chance at points so it'll even out at the end. just make sure that you do as many rounds as there are teams, e.g., if you have 5 teams do 5 rounds, 6 teams means that the descriptions for 6 students get read out, etc.