Getting Started with Sifteo Cubes

Original Author: Peter-Smith

Sifteo Cubes are little 1.5” blocks with clickable screens on the front. They have a number of sensors in them so they can detect their motion, and their neighbors. It is hard to decide if they should be called a peripheral or a platform, but I am leaning towards the latter. They connect to a computer, but you play games directly on them. While the current set of available games feel a lot like tech demos, they create play experiences that seem completely unique to the platform. I ordered my first set of cubes around the beginning of the year, and I got in on an early release. I immediately wanted to make my own game, but it was not until last week that the SDK was made available. I ran into a few issues out of the gate, so I thought I would create a quick tutorial to help others get started tinkering with their own cubes.

First, I should mention a few things, even though the Sifteo Cubes are a unique hardware platform, there is a simulator that you can get started with. So, you don’t need to go buy them before seeing if this is something for you. I used a mac so this tutorial is for mac users. Also, getting started is pretty simple and doesn’t require programming experience, but the API is written in C#. Obviously, if you already know C# it will be easier for you to pick up long term. Finally, the SDK is in an Alpha state, so there are some issues with the documentation. I am primarily writing this to clarify some sticking points I had in the process.

  1. The first thing you will need to do is to go to www.sifteo.com/developers and click “Download Now.” After agreeing to a license agreement, you will be able to download the SDK.
  2. If you do not have the latest build of Mono on you Mac, you should download it from www.go-mono.com/mono-downloads and you will want both the Mono Runtime and MonoDevelop. The Runtime lets Mono run on your system, while MonoDevelop is the IDE you will use to write and run games on the Sifteo Cubes.
  3. Install the Mono runtime on your computer, and then MonoDevelop. I had no issues with either and used the standard configurations.
  4. Download the SitDev SDK for mac. At this point if you are using Windows you would obviously download the other one. The Windows SDK come in an exe installer and seems like it would be easier to deal with. The mac version is a .zip file. The instructions from the Sifteo site reference where you installed the SDK. From my experience this is wherever you extracted the .zip. I put mine in ../Users/Name/Development/ but you could put it wherever you want. The issue will be linking to it later.
  5. From here the current developer documentations explains the anatomy of a Sifteo Project and how to generate one from scratch. For me, it seemed more important to make sure that I had installed everything correctly and that I could build my own apps. To do this I wanted to test the demos found in the /Sifteo_SDK_mac_1_1_2/demos/ directory. If you open the .html file you will see a description of the 4 available applications. The first is “Hello Sifteo” a standard hello world developed for Sifteo.
  6. In order to build Hello Sifteo you need to first open MonoDevelop. I installed this in the applications folder. Once this is open there will be opening splash screen with a section in the top left that says Common Actions. Select Open a Solution / File from there.
  7. Navigate from there to the demos folder in your SDK directory open the 01_HelloSifteo folder and select the 01_HelloSifteo.sln file. This will open the solution in MonoDevelop.
  8. At this point if you were to try to build the project it will not work. You will need to update the references in your project first. To do this goto Project > Edit References. In the popup you will need to delete the current Sifteo Reference.
  9. You now need to replace the Sifteo reference. Still inside the Edit References window, select the .Net Assembly tab, then point it to the Sifteo.dll file.
  10. I spent a lot of time looking for the Sifteo.dll but on mac it is actually inside the Siftdev.app which I found as quite a surprise. It is at <SIFTEO_SDK>/Siftdev.app/Contents/Resources/Runtimes/Mono/Current/sifteo/Sifteo.dll … Obviously. (Thanks to Martin and John on the Sifteo forums for that.)
  11. You can then click the add in the upper-right corner of the window.
  12. Now you can build and run the app. Once you do this, nothing really happens. You get an application output of 127.0.0.1:7000. In the background the app is now running waiting for you to run it in the SiftDev app.
  13. Back in your Sifteo SDK directory you will find an app called Siftdev. When you run it you will be asked to login to your Sifteo Account and after skipping an intro you will be presented with your current games. Now you need to open the Developer Menu and select Load Apps… and load the folder called demos that contains all 4 demos.
  14. The four demos will appear as games that you can run.
  15. If you own cubes you should connect them to the computer at this point. If not you can launch the simulator. This is a program in the SDK directory called “Siftulator 00_05_09 alpha” or whatever version you have. This will open a window that contains 3 simulated cubes.
  16. On the bottom right of “Siftdev” you should see 3 blue connected cubes. At this point you can click on the “Hello Sifteo” Demo as it should still be running in MonoDevelop. This will bring up another screen with an orange play button on it.
  17. Click Play in “Siftdev” and the demo should work immediately in the simulator.

The other demos require similar effort to get working. This should be enough to get you started in the right direction and I will post more as I start building my own apps.