The art of developing great game code involves knowing which mistakes and pitfalls to avoid and which coding techniques really work over time. The one important thing that I've learned over the years is that the distance between exuberance and experience is paved with mistakes, which makes older programmers a little less likely to embrace new things.
My goal in this chapter is to set the foundation for the coding techniques that we'll use throughout this book. I call this material the "dumb stuff" that you should know not because of its lack of importance but because it is the kind of techniques and advice that will make you feel really stupid if you don't use them properly.
We'll start by looking at design practices that you should always consider when writing a game and then we'll move on and look at specific programming techniques such as working with pointers, memory management, how to avoid memory leaks, working with scripting languages, and many other goodies. In the last part of the chapter I'll provide you with a few coding tools taken from my own personal toolbox that I usually employ to develop games for companies such as Microsoft and Origin.