I've hosted a lot of events/showers and I've found that the easiest thing to do is let everyone come in and chat and mingle for a few minutes. When most or all of the guests have arrived, we serve the appetizers/brunch (with the guest of honor being served/seated first). She is nearly done eating by the time everyone else is sitting, so she starts opening presents while everyone is enjoying their food.
One hostess collects the plates and waits for a few minutes, then starts cutting and passing out the cake (if there are a lot of gifts - at the last baby shower I hosted, there were about 35 gifts, all with multiple things in the bags and boxes, so this took a while to open) and the hostess would also pass out juice or coffee.
As soon as the new mom is done with the gifts, she enjoys her cake and sits and visits with those who wish to stay, while the people who need to leave can head out. Myself or one of the other hostesses will refresh coffee and drinks and offer more cake, letting people know (without telling them) that they are welcome to sit and visit.
It should be noted that we don't do games at any showers I've hosted - all of the brides or moms-to-be considered them to be juvenile, so I never included them. I always let that be up to the guest of honor, but I haven't had one choose to include any type of game yet.