8th January 2009, 11:14 pm
Elmo’s World: The Video Game is not licensed or endorsed by Sesame Street. All graphics and sounds are used without permission. It’s a homemade game that your small kids might enjoy.
Download Elmo’s World: The Video Game
System Requirements:
Windows XP/Vista
Microsoft XNA Framework Redistributable 3.0
Bluetooth Adapter
Nintendo Wii Remote
Wii Sensor Bar
Screenshots:




Installation:
Download and unzip to any folder you create. You will need to have a Wii Sensor Bar on top of your monitor. I recommend purchasing a wireless Wii Sensor Bar so you don’t have to fiddle with your Wii game system if you have one. If you don’t have one already you will also need a Wii Remote. Make sure your sensor bar and Wii Remote (also known as a Wiimote) are turned on.
How to Connect Your Wiimote to your PC
To allow your computer to use the Wiimote you will need a bluetooth adapter. To connect the Wiimote to your computer open up your bluetooth device manager. Hold down the 1 button and the 2 button on your Wiimote and then use the bluetooth device manager look for bluetooth devices. Click next to continue through the device manager. If you are asked to enter a pin or code to connect click “skip.” You may be asked which service to use from the Wiimote. Select the keyboard/mouse/HID service if prompted (you should only see one service available).
It seems complicated but once you get it working it’s easy to do again.
Make sure your Wii Sensor bar is turned on and double click on ElmosWorld.exe. If the game reports an error and fails to load your Wiimote is not connected.
Press the home button to quit a mini game and go back to the main title screen. All games simply require that you move the Wiimote to complete the tasks: Feed Dorothy, Catch Soccer Balls or Collect Letters.
5th January 2009, 10:30 pm

The next game I decided to go with from the original Elmo game is the Feed Dorothy game. The object of this game is to move Dorothy so she catches the food. In my version you feed her cookies. In the original version the object is to feed Dorothy fish food. Bleck.
From a technical standpoint this demonstrates some additional game programming concepts. The cookie comes from the fish food container. The fish food container moves around and shakes. Dorothy is actually animated to look like her tail is waving. A 2D image of a goldfish was progressively modified with the “bulge” filter in Paint.Net (a free and excellent image editing tool for Windows). The fish object then progressively rotates through the frames of animation. “States” are used extensively to keep everything in sync. Also, both the fish food and Dorothy face the direction they are moving.
We’re no longer simply moving around static images like the Soccer Game.
The next game to be implemented is the Alphabet Game where Elmo must dodge obstacles and collect one letter at a time. I found a couple examples of Elmo saying the alphabet on YouTube. One is a rap song. The other is a skit with Grover where Elmo says every letter except one. I’ll see how I can best use those in the Alphabet Game.
3rd January 2009, 10:27 pm
For Christmas I picked up Sesame Street Elmo’s World My First TV Fun & Games because it was only $5 at a store that was going out of business. My daughter is only 21 months and likes to play with the Nintendo DS because she can use the pen and make it do things. I figured that since this thing has all of three giant buttons she might be able to make use of it.
Here’s a sample screenshot:

She enjoys it because it has Elmo. However the graphics are dreadful and it features no actual music or sound effects related to Elmo. The graphics are primitive NES quality. Worse than Super Mario Bros 1. So I’ve decided to remake the games using the Wiimote and the XNA Game Studio.

It’s coming along nicely. The soccer game is mostly done. I’m just hunting for my Elmo sound effects. For as popular as he is there is a distinct lack of Elmo media on the net. I guess when most of your fans are still in their diapers you can’t expect too many fan sites to pop up.
On top of being something that my daughter can actually do (she likes swinging the Wiimote around and seeing Elmo move) it’s a good demonstration of how to put together a game using the Wiimote and XNA Game Studio.
I like my software rendering stuff because I’m doing a lot more. But the XNA Game Studio is my choice for this project. The focus is less on learning graphics programming and more on making games with the Wiimote. It’s ridiculous how easy the XNA stuff is to learn. There is no shortage of sample code to do anything you want. It even integrates with Visual Studio Express so you can get started making 2D or 3D games with little to no effort. And best of all, no cost.
Sesame Street really should look into releasing games for the Wii and DS. Parents would love it. There are so many educational games out there that just have terrible graphics and/or require sub-par gaming systems and there’s no reason for it. My parents didn’t have video games. These days kids are growing up with parents that played and still play video games. Parents today are going to have an XBox, Playstation or Wii. Why require that they buy yet another console or handheld system when they already have one or five?
I’d rather buy an educational title for a system we already own than have to buy yet another console just to have educational titles. With Nintendo’s expandable Wiimote it would be ideal for companies that not only want to create simple games but also have simple controls. I’d happily pay $15 for a Wiimote extension with 3 giant buttons for a toddler to use if I could get simple games for her to play as well. That makes more sense than $5 for yet another game system that she’ll quickly grow out of.
In the meantime, I’ll have to stick to making use of my talents to create my own educational titles for my kid to play.
2nd January 2009, 11:44 pm
One of the early mistakes people made in understanding how the Wii works was thinking that the Wii Sensor Bar actually did anything. After all it plugged into the Wii with what looks like a USB cable and you must have it on or the Wii Remote doesn’t work. Turns out that it’s essentially just a flashlight with infrared LEDs. You can put two candles on top of your TV and play the Wii.
The second misconception seems to revolve around what the Wii Remote actually does. I e-mailed Brian Peek who wrote the Managed Wiimote Library and he was apparently unaware that there was anything missing in his library. He was under the impression (as are a lot of people) that the points returned by the Wiimote for the infrared sensors indicate where the Wiimote is pointing. He didn’t realize that you can’t use those values by themselves to use the Wiimote as a pointing device.
It appears to work in some cases but once you start rotating the Wiimote (you know, twisting your wrist) things don’t work anymore.
Those values are actually where the infrared points appear in the camera. They do not by themselves indicate where the wiimote is actually pointing.
There’s a very good reason for that: the Wiimote is a collection of sensors that reports back the raw data to the Wii. It is not a computer. The individual sensors are not communicating with each other. The camera finds the x and y coordinates of its light sensor that are activated by the infrared light that hits it. The accelerometers measure their respective g-forces. There is also circuitry that indicates what buttons are being pressed. All of those parts feed their data into a bluetooth transmitter.
The reason that the Wiimote is not doing calculations is because it would add additional cost to the controller for no good reason since there is a perfectly good computer sitting on your entertainment center. All that raw data is feed to the Wii and the Wii crunches the data and spits out usable information that games can make use of. The Wii takes the positions of the infrared points of light that the camera sees and combines it with the data from the accelerometers and generates the X and Y coordinate indicating where on the screen the controller is pointing.
If the remote were to do that it would require some sort of CPU and memory and custom software, etc. As it is the Wiimote is not a programmable device. All it does is take data from the sensors and feed it through a bluetooth transmitter for more sophisticated hardware to deal with. It’s genius in its simplicity.
Anyway, the point is that the Managed Library is a great start but like the Wiimote, it only gets you the raw data. You still have to do calculations to realize the full potential of that data. The biggest missing piece is being able to use the Wiimote as a pointing device. I’ve got a good start on that as I’ve mentioned in previous posts. I’ve started work incorporating my pointer code into an XNA project to create a few sample games using the Wiimote as the pointing device.
Yes, that’s right, I’m using a game programming library intended to be used to create XBox games to create Wiimote based games. My software rendering library I wrote from scratch is nice and all and is fun to work with but it’s not going to cut it for making the types of games I want to create now that I can make better use of the Wiimote.
Hopefully I’ll have a release of some games this weekend. The games I’m currently working on are designed for a 21 month old. Perfect for demoing the capabilities of my Wiimote code without burying it under complex game code.
1st January 2009, 12:27 pm

This is a higher resolution of the sample Wii Pointer app in action.
You can download the app from
wiimote_pointer.zip
Everything is precompiled and ready to go. All the source code is also included. Just follow the directions at Brian Peek’s blog to get your Wiimote connected to your PC. You must have a sensor bar for this app to work properly.
Hit “+” on the number pad to increase the resolution (not the “+/=” key). You can also drag the corners of the app to change the resolution.
common\input_buffer\wiimote_class.cs contains the logic for figuring out where the Wiimote is pointing.
I updated the code to be able to approximate the location of the pointer when one of the IR sensors goes out of range. It works best when you stand several feet back from your computer monitor.
I’m sure there are some potential improvements that could be made but it is an excellent starting point for using the Wiimote as a pointing device in your own games. The sample app uses software rendering so you don’t need DirectX or OpenGL to try it out.
I’ll have some sample DirectX games created in a week or two that make use of this library.