The goal of the project is to create a virtual marionette puppet that interacts with the player via the use of two Nintendo Wiimotes - one in either hand. I will utilize OpenGL and an open source Linux library called libCWiid which provides a very simple interface to the Wiimotes.
This project will make use of the following technologies:
XNA Game Studio is a framework developed by Microsoft which empowers developers to be able to write DirectX applications and games with a very small overhead. It eliminates most of the boiler-plate code that developers are normally stuck writing when starting a new project and allows developers to start writing the application itself almost immediately after starting the project.
FarseerPhysics Engine is a C# port of the Box2D library that provides a wide array of capabilities including numerous joint types to link bodies together which has been abused to its fullest in this project. It also provides a neatly packaged object which holds all of the necessary information about a body's condition at the current time step for the graphics engine to utilize.
WiimoteLib is a C# library written for Microsoft Windows to allow the communication between an application and any connected Wii remote devices paired with the computer. It provides complete insight into the current state of the device including any extension peripherals attached to the remote. Only the accelerometer data was utilized for this project.
This project originally aimed to create a 3D toy in which the player can utilize two
Nintendo Wiimotes to play with a 3D virtual marionette. Although this has been accomplished
the 3D aspect had to be sacrificed in order to have a playable toy by the deadline.
The built-in accelerometers inside the Wiimotes allow for easy access to the current
orientation of the Wiimotes at any given time and will be used to change the orientation of
in-game puppet handles tied to the hands and knees. Along with tilting the remotes the player
can also twist them to raise and lower the handles on the screen.
Originally the plan was to either find or create a 3D model of a puppet and rig that model
to a skeleton that would then be played with on the screen. Due to the switch to 2D this
was canceled and instead a texture of a puppet is overlayed on top of each segment of the
body.
To play with the marionette you will need to have two Nintendo Wii
remotes and Bluetooth on your computer. Begin by pairing the remotes
with your computer using the tools available. Since there are multiple
Bluetooth management applications I cannot be sure which you have.
Once you get to the point where your computer is asking to put your device
into Discovery mode press and hold the 1 and 2 buttons on the remote and then
select the device when it appears on the computer. If your computer asks for
a pairing code look for an option to pair without using one.
Once the Wii remote is connected the lights on the bottom will not stop blinking
no matter how long a period of time has passed. If they stop blinking then
you have not successfully paired them with your computer and you'll need to
try again.
Once you are sure the remotes are connected run the program. The lights on
the remotes will cease blinking and will be labeled either with LED 1 or 2 lit
on the remote. The puppet will show up on the screen and you can start
twisting and rolling the remotes to experiment with the controls.
Clicking the X button on the window or pressing CTRL+Q will quit the game.