NIBBLES.BAS was one of two free, open source games before “open source” really existed. Alongside GORILLAS, NIBBLES was a fun little game that came packaged with distributions of QBasic on IBM computers. These were the frontier times of PC gaming, but just what is a nibble? Well, it means taking a little bite and taking a little byte.
You see, the smallest component in computer memory is a bit. A bit is either a 1 or 0; on or off; true or false—a single binary digit. It is the most discrete component. Memory is often expressed in bytes, though, which is a string of eight bits (depending on the CPU architecture). A nibble is half of a byte—a string of four bits.
When a system like the Nintendo is referred to as being “8-bit”, it is referring to the size of its registers, or individual memory containers, as having a size of eight bits. But back in those days, not many knew what the hell a bit was. When the SNES came out, which was heralded as a 16-bit system, it was just assumed that if you’re doubling the amount of bits, you’re doubling the amount of awesome. The math does check out in this case, so don’t worry if you didn’t know what a bit was.
You don’t have to be a computer scientist to play NIBBLES, though. All you need is QBasic, arrow keys, and quick wits. You control a snake that travels on an empty board. You change his direction with the arrow keys. If you run over (eat) a digit that pops up, you get some points. Your momma probably told you to eat your greens, drink your milk, and stay in school, and you’ll grow up big and strong. Well, if your heed this advice, the snake will grow, too, and also travel faster as you progress to new stages with more treacherous obstacles. The snake will continue to grow so big that you must use caution when bending around to get the next number so you don’t collide with yourself. Doing so, or hitting the wall, will kill the snake. A simple game, but easy to pick up, fun, and gets really intense as you avoid running into your tail and try to plan out having the most available space and doing blindingly quick u-turns with the snake.
Chances are, you have played this game in some form. Most likely you know this as Snake, and instead of numbers, you ate apples. Despite adding a little theology here and removing the basic counting, variations of NIBBLES have spread like wildfire across many handheld platforms. Your old flip phone from the early ’90s probably had Snake, and you may have even played it on your graphic calculator in math class. Writing a NIBBLES clone is a great excercise in basic animation, looping, and structured programming. While the game may not have been exciting as GORILLAS, lacking dancing apes, the code was probably easier to follow for the computer greenhorn and did see more widespread integration with the rest of the world. Also, the growing difficulty of the game with obstacles, and the ability to set your starting speed is something you usually don’t see in Snake clones.
You can find the original NIBBLES.BAS source here. Any hardcore QBasic gamers (I’m fairly sure there is at least one) may want to check out the library over at QBasic.com.
Just realized… This may have been one of the first games to use WSAD