A recursive function calls itself. It needs a base case that stops it and a recursive call on a smaller problem. Each call has its own local variables, and the calls wait for each other like a stack. FieldSim gains recursion.py: countdown, a recursive total, recursive binary search, merge sort and a count of the cells Pip can reach.