Project 5 Comments

Well, I know you all are thinking, "It's done and over!" But here are a few comments about project 5.

First, a lot of people did a complete redraw on every idle event. This causes severe backup in the event queue, since it takes comparatively speaking a lot longer to draw than to generate events. This resulted in big slowdowns for many projects. The trick here is to only redraw every, say, 1000 idle iterations. Keep a counter, and when it hits 1000, zero it and redraw; otherwise, increment. I think this is demonstrated in my skeleton code. The timing may have to be tuned for the machine you are running on.

The other option, of course, is to figure out how long it takes you to render, and then establish a frame rate you want and aim for it; this is called real-time rendering. A much better way to do things all around, but a bit beyond the scope of our class!

Second, I came down harder than usual for bad coding habits like global variables. If you lost points here, don't complain... we didn't talk about code structuring and design all semester for nothing! ;-)

Third, a lot of people did some nice extras, like sound for example. I wish I had set up a framework for extra credit on this project, since there's a lot of room for it. On the whole the projects looked great gamewise!

I think that that's everything, but if I come up with something else I'll put it here.


Ian Soboroff -- ian@umbc.edu