For our locomotion features in this chapter, let's take an agile approach to development. This means (in part) that we'll start by defining our new feature, or story, with a set of requirements. Then, we'll incrementally build and test this feature, one requirement at a time, by iterating and refining our work as we go along. Experimentation is not only allowed, it's encouraged.
Agile software development is a broad term for methodologies that encourage small incremental and iterative development in a fashion that's easy to respond to changing and refined requirements. See the Agile Manifesto at http://agilemanifesto.org/.
The feature we want to implement is this: as a first-person character, when I start walking, I will move through the scene in the direction I am looking until I indicate to stop walking. Here are the requirements...