Noise Snke is a classic Snake game that writes its board state directly to your sound card. It is ha…
Noise Snke is a classic Snake game that writes its board state directly to your sound card. It is harsh and experimental. Headphones recommended only for the strong of heart. Below the game, you can see an approximation of the wave form being created by the game (and your speakers). The computer requests audio information from a program many times per second. Usually this is a snap shot of whatever sound files are playing at that moment. But we can also synthesize our own sounds. The program provides the sound card with the data it needs to make the sound. The audio passed to the computer is a set of values that describe a sound wave (if you were to graph it out, the numbers would read from left to right with 0 being a low point on the wave and 1 being a high point). This program has a buffer that is 256 values long. This is a series of numbers that your computer uses to make a sound and which it is constantly sending to the sound card. What Noise Snke does is manipulate that 256 long buffer. The 16×16 grid you play on is converted to a list of values and then sent to the sound buffer by treating each cell as one value in that buffer. Each cell in the grid has a value between 1 and 0 (1 being all the way filled in and 0 being off) and these values are placed, in order, into a 256 element long array starting with cell 0,0 and moving down along each column and then on to the next column. The resulting string of values is then passed to the sound buffer to make the jagged noise you hear during the game. Cells that were dark in the grid became peaks in the sound wave. It is important to remember that computers are not magic boxes, and that while we can use a particular set of bytes to represent an image or a sound or a movie or a game state, there is nothing inherently special about them. Our computers are just machines that interpret data and there is nothing stopping us from giving them a set of bytes meant to represent one thing and asking them to interpret it as another thing. As more and more of the processes of computation become hidden from the user, it is important to be reminded of the essential mechanical nature of the computers we interact with every day. Have fun and mind your hearing!
Categories: Elliot's Pins