I’m an avid watcher of Extra Credits. I’m not really interested in working in the video game industry, but I find discussions of games and mechanics fascinating. Their recent video encouraged budding game developers to focus on finishing games and to pick projects that they can start and finish within a month. Otherwise you either take on a project that greatly outclasses your skills; you’ll end up getting stuck and never get any experience with actually finishing a game.
I agreed that it was pretty good advice and move on. Later that week I watched a video of someone playing parts of the Legend of Zelda: Ocarina of Time blindfolded. I was partly impressed but a lot of the techniques come down to creating paths that are simple enough to memorize and find while blindfolded. I was kind of hoping that you might be able to figure things out without ever having seen the game.
I started thinking about what a game might look like that was meant to be played blindfolded. I realized that this game would probably fit the scope of something that I could do within a month. So on Saturday I started.
My plan is simple. The game will be a randomly generated maze that you’ll have to navigate while trying to remember the layout. It will be designed to be played with a controller and you will only have sound and vibration to figure out where you are. It will probably involve searching the maze for a number of switches in order to open a door in the main chamber. I think this is something I’ll be able to accomplish. It will be challenging because the game will need strong stereo sound design in order to be able to hear your way around, which I’ll have to learn to do as I go along.
I doubt the game will turn out to be that fun, but I’m interested in the challenge of starting and finishing the game. You can see the code for Blind on GitHub right now. So far I have some simple walls and a controllable character. I’ve got a character that can be moved via the keyboard or a plugged in controller. The plugged in controller will vibrate when the character hits a wall. There are graphics right now, because I’d like to be able to see things to test them. I’m writing this in Python because I’m working the most in Python right now, and I’ve done some work in PyGame. I didn’t think this would be a performance intensive game, and I figured it would be faster than figuring out a Java or C++ library that I hadn’t worked with before. I also determined that I could get controller input and do a controller vibration pretty quickly.
So far I’ve only spent three or four hours on this, but I’ve got a lot of the fundamentals working. From here I want to get a random maze generator, the switches, and a victory condition. And then I anticipate spending the last two weeks playing with sound to see if I can actually make this thing work.