Here you may find games and applications to test your system with. Feel free to post links to your projects in the comments section of this page, and I will add them to the download list for everyone to enjoy.
Test applications
WiiRemote - A simple application to test your connectivity of the wii-mote with your PC. It also emulates mouse movements. (download, website). Here’s a video of it in action.
Wii2DShoot - a demo 2D “duck-hunt” like shooting game. Source code can be downloaded that shows you how to add Wiimote support for your games.
Rocket Commander - be a commander of a rocket spaceship and dodge asteroids in high speed action. The original game can be downloaded here. I took the source code and modified it with Wii-mote support and here is the source code of the Wiimote supported version.
Although WiiRemote.exe enabled us to test our system with writing any coding, to develop applications that take advantage of the full potential of the Wii-mote, we need to setup a development environment that is powerful enough for creating interesting games, and allow us to easily access the sensor data from the Wii-mote programatically.
Here are a list of tools and packages we need:
Visual C# 2005 Express - a Microsoft .NET programming environment for the C# language. It is very easy to learn if you have some kind of programming background, you should be able to pick up C# pretty easily.
DirectX SDK - latest SDK for DirectX. “It is a collection of application programming interfaces for handling tasks related to multimedia, especially game programming and video. ” - Wikipedia.
XNA Game Studio 1.0 refresh - a set of classes and libraries built under the .NET framework to facilitate game programming. “Free game designers from repetitive coding, and bring all aspects of game programming under a single system” is their goal. Although it is better to use the latest version, but seems some of the samples project currently only has a 1.0 implementation. Installing this version allows you to open up such sample projects.
Luckily, these tools are now FREE compared with several years ago, the visual studio alone used to cost several thousand dollars to own. So just download and install them in the order listed. After the installation is done, you may move onto the “Tutorials” section to learn about how to write your own game!
After setting up the connection. Our PC-Wii is done! It’s time to test it, and have some fun.
Testing Buttons and Accelerometer
We can first start by testing the communication between the Wii-mote and our computer. The simplest application for a quick test is WiiRemote.
1. Here what it looks like after you download the program and run it.
2. Enable cursor mode by selecting Options-Cursor-On from the menu. Now move your wii-mote and you should see your cursor will follow your movement (roll and tilt for up/down, left/right. Press A for left click and B for right click. When you press any buttons on the Wii-mote, you should see the corresponding button light up on the Wii-remote GUI.
[youtube VcqkQ3YxTd4 ]
Testing Sensor Bar
After testing the bluetooth communications are working fine, it’s time for the moment of truth, a Wii system would not be complete without a sensor bar. This test can also be done with a WiiRemote as well.
1. Fire WiiRemote.exe once again. Click on Options-Preferences, and you should see the following screen
2. Select IR Sensor to switch to sensor bar mode, and then use “Options-Cursor On” again to enable cursor mode. With some luck, we should see the cursor move left and right through the exact position of the wii-mote in front of our sensor bar rather than the relative roll/tilt motion in the previous step.
3. If you succeeded in the previous step, then congratulations, you may move on the more exciting “Game Development” section to either download some sample games to play around with, or start creating your own Wii games! However, if you don’t see the cursor move properly, go back and check your sensor bar with the testing procedure described in the “Sensor Bar” section - if the IR lights are on, you should see them through a webcam.
Have Some Fun
Through using the WiiRemote application that turns a Wii-mote into a mouse, you can already start having fun with the new PC-Wii system without any additional coding! Please checkout the “Game Development” section and “sample downloads” to check out the currently available test apps and games you can download and enjoy!
This is a video of me running a virtual robot simulator with the wii-mote.
Here’s a video I found on Youtube that someone’s playing Halflife 2 using just accelerometer functions of the wii-mote.
[youtube.com asY_I8y6C0M playing halflife2 with wiimote]
Believe it or not, with the sensor bar in place, the hardest part is done! The rest is easy - connecting the wii-mote to the PC. The Wii-mote transmits 6-axis position and rotation information to the Wii-console via bluetooth. Fortunately for us, these sensor data are not encrypted and thus be intercepted by the device capable of bluetooth connectivity. This means, many laptops with built-in bluetooth and usb adapters for many PCs. The comprehensive list of tested hardware that works with the wii-mote can be found here.
The driver I chose to use is BlueSoleil, that can be downloaded from their website. After download and installing the driver (reboot maybe required), here are the steps for getting it to work:
Plug in the bluetooth adapter to your usb and right click on the task-bar to start up the BlueSoleil configuration program (you may need to activate bluetooth if not already activated).
Press 1+2 buttons on the Wii-mote and double-click “search devices” to enable the PC to scan for available bluetooth devices. Keep pressing the buttons until it is discovered by Bluesoleil (the 4 lights on the wii-mote should be blinking during the scanning process). Repeat step 1 and 2 if it fails find the Wii-mote.
Right click the Joystick icon that appeared on the BlueSoleil program and select “connect”
If the connection is established, it should look like this.
Finally, go to next section “Testing Applications” to test your connection with programs such as WiiRemote.
Intially, I thought the sensor bar is a sophisticated piece of hardware that acts as the receiver of signals emitted from the Wii-mote and transmitts these signals into the Wii-console for processing. In that case, one would need to hack the Wii-console in order to pull motion tracking information from the device. Later, I realized that this is far from the truth. In fact, it’s the exact opposite - the sensor bar is actually the emitter of infra-red signals, and it is the wii-mote that is doing all the magic!
The Wii-mote itself is a high-resolution IR camera that is capable of tracking 4 infra-red blobs simultaneously. If you know something about blob-tracking from Computer Vision, this is exactly the same concept. Except one crucial difference - no other distractors in the environment! Unlike vision techniques for doing blob tracking, finding the blob from a naturally cluttered environment is extremely challenging. No matter what feature you use, almost always there will be something in the background that is going to cause confusion to the tracking algorithm. To make matters worse, different lighting conditions will royalty screw up tracking as well.
The infra-red technology the Wii uses is different - for most home-environments, there are no other IR light sources other than the ones on the sensor bar. With such clean signal, tracking is almost trivial. That is why the Wii works regardless of how cluttered you home is, or which time of day you are playing - it makes no difference whether it is broad day-light or at night in the dark.
Other piece of useful information is that IR lights are not visible to the human eye. However, a camera (such as a web-cam) can pick it up. Similarly, so will the IR camera on the wii-mote. Try placing your web-cam toward the sensor bar and you will see. It’s quite fun.