Lessee. Motion controls are all in the implementation. Sometimes subtlety works better than extremes.
WARNING. A LOT OF TEXT INCOMING.
The wii in general shows that forcing a game to have motion controls just because you can is awful, and you have to be very careful in what you do with it.
As to the tech itself?
I've now tried all three, and that makes it easier to see a few things about it.
The Wii is showing it's limitations in terms of the original hardware, but motionplus does show what you can do with more effective controls. Nintendo is making a huge effort to ensure motionplus becomes a standard feature, with the newly redesigned remotes that have it built-in, as well as having bundled the add-on units with every wii sold in at least the last 6 months.
Wether this works or not will undoubtedly have a serious impact on if motionplus games actually become common.
It's clear the older Wii control have hit a bit of a wall. There's only so much you can do with it. Unfortunately, nobody wants to make games for hardware they're not sure anyone actually owns.
Which neatly brings us to both the Move and Kinect - Both are being sold as add-ons, with all the inherent problems that brings.
Move, in my experience is quite precise. But, so is motionplus. The question here, really, is whether Move is precise enough to be worth worrying about, because that's all it has going for it compared to the Wii scheme.
A hardware comparison of the Move Vs Motionplus shows the following:
Position tracking
Wii - High speed (approx 100fps / 50fps if using the most accurate tracking mode) infrared tracking system built into the remotes capable of tracking up to 4 points, with an IR beacon as reference. Hypothetically, this allows for full 3d position tracking, but the design of the beacon the wii ships with makes it difficult to do anything beyond 2d tracking with any degree of accuracy.
However, specifications claim the positional accuracy in a 2d plane is to within 0.1 mm.
Theoretical accuracy in the Z plane wit custom setups would display a similar accuracy at close range, but become increasingly less accurate as the distance becomes larger. (The inverse square law applies here)
Irrespective of the use of modified beacons however, there is still a large limitation owing to the field of view of the IR camera being less than 45 degrees.
As soon as the remote is pointed away from the beacon, you are left without any positional data, and must rely on dead reckoning.
Can be confused by strong sources of infrared light, but these are not all that common in most environments.
PS Move - High speed (approx 60 fps/ 120 fps. Not entirely sure as not all sources agree) custom RGB webcam used to visually track the glowing spherical orb located on the end of the controller. The Orb can change colour across a full 24 bit RGB spectrum. Partially this is a user feedback mechanic, but it is also designed such that the contrast between the orb and the background can be maximised. Further, it is likely (though I do not know this for certain) that the colour of the orb is important in distinguishing individual controllers from each-other.
Accuracy is again claimed to be on the order of 0.1 mm or less in the XY plane, and it can determine depth to about 1cm.
Since the tracking is done by a camera at a fixed point, there is less chance of going out of the field of view, however it is still possible, especially when motions involve moving the controller behind your body.
Also, tracking in the visible spectrum increases the chance of tracking problems, since irrelevant information is far more common than in the infrared spectrum.
Even so, on balance, the position tracking is far more accurate for the move controller.
The design of this system does however lend itself to very accurate 1:! position tracking of the Move controller so long as the orb on it is visible. However, it can only determine the position of the orb in this way. The orientation of the controller must be determined through other means. (concievably however, image recognition routines could determine some of this. I do not think this is the case though, considering the remainder of the hardware in the controller)
Acceleration.
Wii - The original design of the wii remote contains a 3 axis accelerometer which tracks accelerations of up to + or - 3.6g or so (approx 35m/s/s). It supposedly does not react all that well below about 10% of this maximum, so, below 0.36g (aprox 3.5 m/s/s) it is not all that accurate. The data output is up to 10 bits for the X axis (sideways relative to the remote itself), and up to 9 for the other two.
Within the range limits already mentioned, this implies a maximum accuracy down to about 0.007g (0.06m/s/s - 6cm acceleration) for the X axis, and double that (0.014g or 0.12m/s/s - 12cm acceleration) for the other two.
This can be reported at a rate of about 100 times a second.
One thing of note here is gravity. At rest under normal circumstances, the remote registers exactly 1g due to the force of gravity. - This is inherent in the functioning of an accelerometer unless you are in a zero-g environment (ie. Space)
This makes the remote less reliable at determining acceleration applied to itself, but has the interesting effect of making it very accurate at working out 2 of the 3 axes of the absolute orientation of the remote relative to the ground. (you cannot track the rotation of the remote parallel to the earth's surface).
Indeed, the most 'direct' examples of motion tracking in older Wii games are almost invariably based on rotation.
It does however mean that when both motion of the controller, and gravity need to be accounted for, it becomes almost impossible to separate the two, and you are left guessing at both.
(the IR tracking system can compensate to an extent, since it can determine rotation in one axis, as well as being used to determine motion in 2 dimensions. As long as it is within view, you can combine the data to produce more accurate motion. It is doubtful many wii games do this though.)
The nunchuk extension controller also has a 3-axis accelerometer, and much the same thing applies to it. It is reportedly more sensitive, and it returns a full 10 bits for all 3 axes, but otherwise the same thing applies as to the remote itself.
Note however, since it is physically seperate from the remote, no methods exist to improve the accuracy, unlike the remote.
It is however theoretically possible to attach a remote and nunchuck together in a fixed arrangement. (such as for instance, the zapper attachment). If you can rely on the distance and position of both being constant, you can use the relative motion of both sets of accelerometers to determine the remote's acceleration in all 6 axes.
To my knowledge however, this has never been demonstrated in theory, and certainly never applied in an actual Wii game.
The latest batch of wiimotes contain a 3-axis gyroscope built into a remote the same size as the original model. While built-in, it is presumably designed to the same specification as the motionplus peripheral.
The motionplus peripheral is an extension controller that maps into a non-standard area of the remote's internal memory map, which means it can be attached alongside an additional extension controller.
Although only one extension can be active at a time, the motionplus unit has two data passthrough modes to accommodate either a nunchuk or classic controller as a second extension.
Doing so however results in reduced accuracy for the extension (2 bits are used to keep track of the alternating data), and halving the data rate of both, since the data for the second extension and motionplus alternate.
The motionplus device itself is a 3 axis digital gyroscope. Though not particularly accurate compared, to say, the units found in aircraft, it is still quite impressive.
The gyroscope reports 14 bits for each axis, and operates in two speeds. There is a lot of noise when the remote is stationary, easily up to about 20 units worth.
The high speed mode has about 2/9th the precision of the low-speed mode, but obviously, has a much larger range. At low speed, the accuracy is down to about 0.0725 degrees/second, and at high speed about 0.3295 degrees/second. The noise means values near zero are only accurate to around 1.45 degrees/second though.
A major issue with the design of this system is that the 0 points can vary with temperature and other factors, meaning it needs to be recalibrated every time it is used.
Otherwise though, the very high accuracy of the gyroscope can be used to determine most rotating motions of the remote. This also means it becomes possible to unambiguously separate out which part of the accelerometer data is due to gravity, and which is due to motion of the remote, since the orientation of the gravity vector will only change if the remote has been rotated.
All in all, this allows fairly precise 1:1 tracking of the remote, but it does suffer some drawbacks.
Since both the accelerometer and gyroscope provide acceleration rather than position data, the actual position of the remote is an estimate based on dead reckoning from a given starting position.
(Although the orientation with respect to gravity can be determined in an absolute sense, so the angle of rotation will remain quite accurate)
The accuracy of dead reckoning reduces with time, since each individual error is magnified as more readings are taken.
To make matters worse, the remote lacks a reliable method to determine a starting position. The IR tracking system can help, but it only provides a partial reference in it's current configuration.
It can provide periodic recalibration, since the IR beacon is a fixed reference point, but the lack of accurate distance information, combined with a lack of orientation information along the yaw axis mean that the available information is only sufficient to calibrate 4 of 6 axes with any accuracy.
As a result, games appear to limit themselves to tracking 3 axis rotation most of the time, rather than full position tracking.
Move:
A lot less information is available about the specifics of the move hardware, but it reportedly contains a 3 axis accelerometer, and 3 axis gyroscope.
This in itself puts it in a similar position as motionplus, with the same kind of issues, though this depends on how accurate they are. Presumably however, they're on a similar level to the components in the Wii. It is unlikely they would be substantially worse, and while they could be better, cost factors suggest they most likely are not.
The one additional factor here however, is the addition of a magnetometer. Or, in other words, a compass.
How accurate this device is remains unknown, but in theory, taking readings from the magnetic field of the earth would compensate for some of the orientation problems that the other two sensors cannot fully resolve.
Since the orb and camera solution allow more consistent tracking of the controller, it also stands to reason that the amount of time spent relying on dead reckoning as the only method for determining position and orientation will be a lot smaller.
However, again, the only reference information available appears incomplete, since the camera cannot determine orientation. Perhaps the magnetometer is intended to compensate for this fact.
Camera/ microphone features:
Move
The Move has an RGB camera as an integral part of it's design. This means it can in theory employ image recognition techniques above and beyond what it is using to track it's controllers. The camera also contains a pair of microphones.
The libraries supposedly contain such features as facial recognition, and body tracking, as well as voice recognition and voice chat. But as this is all in software, it remains to be seen how effective it is. A lot of such features depend on how well implemented the software is.
The PS3 has an obvious processing power advantage here though.
Wii:
The Wii does not normally have either a camera or a microphone. It does however have a microphone used for voice chat in a small number of titles. (Nintendo's internet policy, coupled with supposed processing power limitations render this device of limited use though.)
Aside from the official microphone, there is also a webcam designed by ubisoft in use for certain titles. This is not a Nintendo designed product, but it's existence does open up a few possibilities in terms of camera based applications.
However, the lack of CPU power does severely limit any advanced image processing compared to the PS3.
Other:
Wii: The wii remotes contain a speaker, and a rumble motor, both of which can provide some form of feedback. Rumble is pretty much standard these days, but the speaker can do some interesting things sometimes.
PS Move: The move contains a rumble motor as well. In addition, the colour changing features of the orb can be used for gameplay reasons, not just technical ones.
It remains to be seen what this would be like in a game, but it could prove interesting.
------
Between the two, it should be obvious that while the individual components might be about the same level of accuracy, the difference in overall design, (specifically the IR camera in the Wii remote, VS the RGB camera the PS Move system uses) suggest that Move is more accurate in most situations.
My personal experience of the two show that Motionplus and the Wii remote itself are most accurate with rotational motions, and far less so with linear ones. Motionplus is considerably more accurate overall, and can track a 3rd axis of rotation, but the problems with linear motion remain due to lack of any real method to reliably track the position of the remote over long periods.
The pointer can be very accurate, but it's limited field of view make it awkward except in very controlled circumstances.
The additional accelerometer in the nunchuk helps, but it is unclear to me how it's absence in the secondary controller for Move would impact games
The Move feels about as responsive as Motionplus, but seems to offer a larger range of movement, which has obvious advantages.
It's not more accurate in my experience in the situations where it's use overlaps what's possible with the Wii, but it is accurate over a larger range of possible motions.
------
Moving on, we come to the Kinect, which is altogether a different type of device.
The Kinect, in essence, is a fancy webcam. In fact, the RGB component of kinect isn't even very impressive by webcam standards. It only captures 640x480 at 30fps, which is hardly impressive.
However, what allows the Kinect to transcend a garden variety webcam is it's inclusion of a second Infrared camera.
By itself, this does not accomplish much, since infrared light sources are less common than visible ones, as noted for the Wii's infrared system above.
However, the Kinect also contains a projection system, which projects a pattern of infrared light onto the playing area.
By recording this pattern, and noting how it has changed relative to the reference pattern, it's possible to determine how far away from the camera an object is.
This means it is basically a 3d camera.
Now, to be fair, it also contains an array of 4 microphones, so it can do voice chat/recognition too. (4 microphones help to deal with isolating background noise from people's voices)
A 3d camera by itself won't get you very far though. You need some seriously impressive image recognition software to back it up if it's to do anything useful.
And by and large, Microsoft has done a good job creating that kind of software.
The 3d information the camera provides gives it an edge over similar software running on ordinary webcams in that it becomes possible to track things in a volume quite easily, which would otherwise take a lot of work to infer from the information in a 2d image.
Even so, most of the impressive stuff it does happens in software.
So... What's my impression of kinect? - It's tracking capabilities are impressive, but it's hard not to notice how laggy it feels compared to either of it's competitors.
They really could have done with a faster camera/processing if they wanted this to work as well as they'd hoped. It has potential, but I could easily see it becoming by far the most irritating system around, even if it can do some truly unique things.
Overall, motion controls show potential, with effort, they could make games a lot more immersive, though this comes at a price, since they are also likely to make games require more actual skill from their users.
A perfect replica of a game of tennis for instance, sounds like fun, until you realise it would mean essentially learning how to play tennis properly in the real world.
At which point you start to wonder why you're doing it to begin with.
There also still remains a problem with lower body movements.
As Kinect demonstrated to me most clearly, space constraints, and the design of how consoles provide visual feedback mean that it is highly impractical to use motion controls to navigate a virtual space.
You can use them to replicate having hands and arms, but you run into serious problems using them to replicate leg motions, moving through a virtual space (ie. Walking), or even moving your head. (ie. Camera controls.
Head motions are an interesting problem here. Since the screen you are looking at is in a fixed location, turning your head means you are no longer looking at the screen.
But, since this is the most natural way to change what you are looking at, suddenly you need an alternate method of controlling your view.
And, since you cannot walk away from the screen for much the same reasons. (plus space constraints.), you need an alternate method of moving around the game environment too.
This sounds like it's not too difficult to solve if you use a controller, except in doing so you now have something in your hands.
And that means, you cannot use your hands in a natural way anymore, since you are at least to some extent using them to control things you'd normally be doing with your head and legs.
When you take all of this into account, in terms of true immersion, and potentially increasing the degree of interaction we have with virtual environments, Motion controls can certainly make the world more immersive, but in view of these limitations, they are a dead end ultimately. The limits mean they must at some point give way to something else.
That is, assuming we can circumvent the tendency to turn motion control into an outright gimmick.
Then again, game controllers have already hit a dead end in terms of complexity of input.
Game worlds cannot get any more immersive than they are right now so long as we cling to the traditional game controller.
This is because said controller has pretty much hit the upper limits of possible complexity.
We have only 10 fingers, and current controller layouts use both thumbs and between 2 and 4 of the fingers.
While that might seem to leave 4 fingers, they are needed to support the weight of the controller itself.
Little could be done that would really aid game complexity that much with such devices.
Especially when you consider that you need parallel input.
It's no use having lots of extra buttons. (the PC has plenty. And while there are more functions on a PC controller, you can't really control many of them at once all that easily.)
For all practical intents, current game controllers offer about 7 degrees of freedom or so.
By comparison, the human body has more than 7 degrees of freedom just for 1 arm. (not including the hand.)
While you probably wouldn't need to replicate the ability to use every single muscle in the human body at the same time to make an almost perfect simulation, you'd need a lot more than what a game controller can offer.
Kinect comes a lot closer, for obvious reasons, but the way it functions imposes serious limitations on the kind of activities that are practical to replicate, as I've already pointed out.
And aside from this, a large number of activities are quite difficult, or even pointless to attempt without some physical feedback.
And this is pretty much non-existent in any of these control schemes, motion, or traditional. (No, rumble doesn't really count. It's only marginally removed from nothing at all.)
In conclusion, if used cleverly, motion controls have the potential to seriously improve our immersion and interaction level with games in a way that standard controllers cannot.
We need some kind of progress to improve on the situation, and motion controllers, while not ideal, will at least break us out of a technological rut.
However, motion controls do tend towards applications that are gimmicky, and which don't really progress things much if any beyond what already existed.
They are potentially a useful stepping stone. But let us hope they don't end up being a major setback instead.