The most sophisticated prototype is of course the one that is programmed on a computer. Because you can build this kind of prototype any way you want, it will be most like the final game. A programmed prototype allows you to test aspects of your game that the before-mentioned prototypes lack, like user interface, controls and timing. A programmed prototype is also easy to share with other people and is therefore great for communication and soliciting feedback. Of all prototypes discussed, the programmed prototype takes the longest to create and is the hardest to change, so I recommend you start using it only after you have the basics of your game design and rules well in place.