Announcement : This project has won the 2nd Place in AltCtrlGameJam.
See you at Siggraph 2015 and GDC2015.
For day to day proceeding : Check this Unity forum thread >> AltCtrlGameJam Entry : SpaceBattleshipShield
SpaceBattleship Shield is a IoT based toy prototype which fits on Arduino Uno Board like a shield. Also, it can be fitted on to a proto shield making it plug able to arduino board. This toy is used to control a similar spaceship in a vertical shooter video game . The guns of the ship are controlled by the widgets on the toy.
This ideas for this project started way back. I was trying to build a range of toy controlled video games, and AltCtrlGameJam provided me with an opportunity to show this off and realize the idea as a prototype. So, the first thing to do was to sketch up what it will look like. Arduino seemed to the perfect thing to interface the toy controls and the game. The video game was to be built with Unity Game Engine and the serial interface with the Arduino Board will be handled by Uniduino plugin which I discovered some time back. It’s a wonderful plugin which uses Firmata protocol to communicate with Arduino.
The project development lasted for a 10 days from 12th to 22nd September 2014. I’ll try to recap what happened.
- It began with drawing a visualization of the toy. And how the spaceship will fit on an Arduino Uno Board.
- Next I did a rough layout of the component positions and draw the first draft of the circuit in Fritzing. Also, figured out what components will be required. I required some 10K trimpots, some pushbutton switches, a 10 mm LED with 220 ohm resistor. The trimpots will go into the Analog Input of the Arduino at A0, A1, A2 Pins and the pushbutton will go the digital pins D2 and D3 will act as output for the LED, pretty simple.
- Now I needed to implement the fritzing on a breadboard. It was quick to setup. Did a quick run through Unity Game Engine and Uniduino Test Panel and the circuit was working fine.
After implementing the circuit I was off to model the ship in Blender. This same model will have to be playable in game and also should be 3D printable using desktop 3D printers like makerbot (not shapeways). First thing I needed was to make sure the dimensions are correct, so that when I’ll be exporting the stl files for 3D printing, the components should fit nicely in the sockets of the 3D printed model. I found this cube for calibration and also a nice shield case which I can modify as a stand. The first draft of the ship looked like this with the components on it.
- But I wasn’t happy with the design and the usability. It was difficult to play with the breadboard. So, after some brainstorming and inspiration I finally settled on this design. While doing the design I had to check back continuously with the 3d printing addon of Blender and check if the model is becoming too narrow to print or having much overhangs.
- After doing the model I was off to build the vertical shooter game. In the game the ship will have 3 turrets which will be controlled by rotating the trimpots on the toy ship. The first screen of the game looked like this.
- While working on the game I sent the 3d model for printing. I approached this company http://www.3dprintronics.com/ for 3D printing, and I must say I was overwhelmed by their print quality and support. I broke up the model and exported stl files and mailed to them. Within 1 hr of receiving the files, we had a discussion about the problem areas. Mainly it was the overhangs which created the problem. So I quickly modified the ship and added a stand which minimized the overhangs.
- I had to wait 2 days until the 3d print reached me. It was printed in an hour, but took 48 hrs to reach me. That’s the fastest courier. Ouch! In the meanwhile I worked on the game, and played it with mouse and waited for the 3d prints to arrive. The ship in game had 3 laser turrets which can be rotated and when rotated, they will fire. The enemy ships will come from all sides, you have to destroy them, upon destroying you will gain energy points which will power up your main gun ( star blaster). When the star blaster gun is fully charged, you can use the push button switch to fire the gun. It will instantly destroy all the nearby ships.
- The 3d Prints arrived finally, it was wonderful and better than I expected.
- Started wiring up the ship, some soldering was required.
- After that I assembled the ship pieces with modeling glue. After wiring was done, the controller response was much better than on a breadboard due to the soldering. The final model looked like this.
- Finally, I did a quick shoot of the game play and uploaded it on Youtube for http://www.altctrlgamejam.com/.
I must say it came out pretty good to my satisfaction. Can’t wait to do the next version of this ship and also extend the prototype into a complete game.
Please let me know your feedback about the project.