If you can, I would stay in Ames. The atmosphere in Ames on game day is great and if you stay in Des Moines you lose some of that.
No matter where you stay, try to get to the stadium early. The tailgating is great and there are activities going on around the stadium. You will find people are very friendly.
If you need a place to eat in Ames, I would eat at Hickory Park. They seat a large number of people and it is hopping on a game weekend. The food in very consistent and it is very affordable. It is the restaurant most often associated with Ames and Iowa State.
Take a drive through central campus. The roads in and around campus are open to the public on the weekends. It is beautiful. Reiman Gardens just south of the Stadium are also very pretty and can be toured on game day.
If you do stay in Des Moines and the game is in the late afternoon or night game, I would recommend the Des Moines Farmers Market on Saturday morning. It is huge and lots of fun. Vendors have all kinds of prepared food, baked goods, produce, wine, home goods, .... I've attached a photo below. It only shows part of the Market.
Have fun at the game and I hope you enjoy your visit.