Well, that has no simple answer. Nibbler has taken a lot of programming, but equally important as programming is careful design. In a world of 3-D games, it's important not to forget that entertainment is more than special effects. I have gone out my way to make Nibbler a "comfortable" game--one in which you don't have to learn hours worth of fancy controls to play.
It is hard to say how someone is supposed to design well and program well at the same time. Usually, you just have to play around with ideas and find out what works. Feedback from game players and observers is also an important consideration. A good deal of this game's design is gleaned from feedback I've received from people about how to make the game better. A good designer must be willing to exchange his or her pride for the quality of the final product.
A long discussion about successful versus unsuccessful design would be rather pointless, as others have filled books with such talk and can't agree on every design issue. However, I can account for the programming part of the game without a hitch. Read on, provided you have some time to spare. The following documentation is quite long.