Programming and Art for 3D Games