New Projects - Fresh from the Labs
For anyone interested in quantum mechanics, and the double-slit experiment in particular, Quantum Minigolf is a great little game that should amuse the most hardened physicist. According to the project's documentation:
Quantum Minigolf is a minigolf simulation, in which the ball behaves according to the laws of quantum mechanics. Such a quantum ball can be at several places at once and diffract around obstacles.
Quantum Minigolf exists in two versions: 1) the software-only version, which you have most probably in front of you when you read this file, and 2) a virtual-reality version. Here, the user plays with a real club, which is marked by an infrared LED and tracked by a Webcam. The ball is projected to the ground by a video projector mounted on the ceiling. Basically, the software release contains all the necessary code to build the virtual-reality version. However, building it will not (yet) be easy, since it is not documented yet.
Compiling Quantum Minigolf is pretty easy, but you need to chase down some fairly obscure libraries. The project's README lists the following requirements:
Once you have the needed libraries, grab the latest tarball, extract it, and open a terminal in the new folder. Enter the command:
Provided there are no errors, you should be able to run the program by entering:
As mentioned previously, Quantum Minigolf has two modes of operation: virtual reality (VR) mode and software mode. The VR mode works externally in the “real world”, with a projector, a camera and a ball that is projected onto a field. The software version is merely a basic simulation that takes place on the computer screen. I cover the software version here, but see the VR Mode sidebar for more information on the real-world version.
Once you're inside the main game screen, you'll receive a series of instructions on how to control the game. The basic controls you really need to understand are left and right to change course, and Enter to start playing. Moving the mouse changes your putter's aim.
When you're aimed and ready to go, click and hold the left-mouse button (the longer you hold it down, the more power is applied), and the ball will start moving.
Assuming you're in Quantum Mode, the ball will switch from a solid object to a waveform and will bounce around the course in all sorts of strange ways. Press the spacebar or q, and the ball will stop and switch back from this quantum state into a solid object—probably in the wrong area if it's your first time. It's really up to you to guess where the ball will end up given where the waveforms are at the time. And, if you're unadventurous or just want to test the basic mechanics, you can play it in normal mode, but that's not really the point of this game, is it?
What's really fascinating about this game is how the quantum world interacts with the basic, solid, “Newtonian” world. You can watch the movement of light around an object in real time, but in so many complicated ways! Here's more information from Friedemann's Web site:
For the experts: hitting the ball, you define an initial momentum. The ball is then initialized as a Gaussian wavepacket of hard-coded width, centered around the driving position in position space and around the initial momentum in momentum space.
...Since a quantum mechanical ball is most of the time at several places at once, it is impossible to say whether it is in the hole or not. It is just “at once inside and outside” the hole. However, there is a trick: quantum mechanics allows one to make a “position measurement”, which will let the ball collapse at a certain position. Think of this as taking a photo of the ball. A quantum particle can be at several places at once, but in a photo, it will always appear in one and only one position....At the end of each game, you take, thus, a virtual photo of the track. If the ball appears in the hole, you win. Otherwise you lose.
In much the same way that Valve's Portal took a very simple concept and made an amazing game, if you took these quantum gameplay mechanics and applied them to a big 3-D game, what would be the result? Now, that would be fascinating.
John Knight is the New Projects columnist for Linux Journal.
- Red Hat OpenStack Platform
- Transitioning to Python 3
- Tech Tip: Really Simple HTTP Server with Python
- Stepping into Science
- Linux Journal December 2016
- CORSAIR's Carbide Air 740
- A Better Raspberry Pi Streaming Solution
- Custom checks and notifications for Nagios
- Radio Free Linux
- The Tiny Internet Project, Part II