December 20, 2012

Sprint 12+ Summary: Holidays and Data


Hey there everybody!
Happy Holidays!

 I'm sorry for the delay it's been a while and this update is long overdue. Sprint 12 has gotten a bit extended due to the holidays. Things have been pretty hectic here and a lot of us (myself included) have been spending extra time with our families and friends. However! Work does continue at a somewhat more sedate pace. Some of the things we've accomplished recently:
  • Tanks are more customizable than ever
  • The scripting system is 75% implemented
  • The HUD has been updated, and now includes a widget for displaying scores
  • Some early work for decals such as tank treads, explosions, and smoke effects has begun
  • The final version of the title screen is finished courtesy of Kortney
  • Fixed a major bug in the map editor saving/loading methods
  • As always bug fixes and minor tweaks
  • Major optimizations to tessellation code used to generate graphs for path finding
  • Lots of profiling/timing
As mentioned we've come a long way on the scripting system and have begun work on some of the more 'flashy' graphical mechanics. Through a combination working on these two systems we finally hit a bottleneck where the game simply doesn't run fast enough to do all of what we want (the frame rate drops below 30 FPS). To fix this we've started with analysis; we've been profiling the code a lot in the past two weeks and doing what we can to optimize it. In one example MathForTanks did a really excellent job at optimizing the tessellation code we use for path finding and achieved nearly 3000% speed increase (That's a difference of 30 minutes down to 0.1 seconds for a large map!). Unfortunately this doesn't apply in-game but is really nice for saving maps. After a lot of profiling and analyzing data we've come to the conclusion that pygame is using up most of our processing for rendering which is not really a surprise. In order to improve this we are currently doing more research and we may switch to a different library such as piglet or pyOpenGL if we cannot get pygame to achieve the speeds we need.

Also a big round of applause to Kortney who just recently got hired at The Athens Messenger as a Graphic Designer! Congrats!

Well that's about all there is for now, I don't expect we'll have another update until after the Holidays. So until then, take care!

Have Fun!
--Donald