3G game programming foundations project