Issue 4 already? Time flies! In this one we’re going to do a bit of housekeeping. As a project grows you often need to refactor (rewrite) parts of your code to keep the code scalable and readable. Our approach is what you might consider ‘rapid application development’ (RAD). An alternative approach would have been to sit down and work out the whole game in advance – before writing any code – but the MGF aim is “results, fast” so the more traditional ‘waterfall’ approach is out the window! We want fun while we learn. You’ll also be adding collisions to your game, explosions, gravity, water effects and a bit of camera trickery. As promised in Issue 3 we will also explain and improve the fog, lighting and sky.
All of the Issues in Volume 1 rely on something called Panda3D. Panda3D is a 3D game engine provided completely free by the Carnegie Mellon Entertainment Technology Center. A game engine is a Software Development Kit (SDK) that takes the pain out of the common tasks involved in game development. For example, Panda3D provides libraries for graphics, physics, lighting, audio, keyboard/mouse/other input and so on. You really would not want to find yourself having to write all of these routines yourself (you’d never finish a single game on your own!). There are other game engines out there but we really like Panda3D due it’s ability to run on Windows, Linux and Mac and its support for Python: