, and Kujaku Ō (孔雀王 Peacock King)’s hand signs, a very big part of my childhood monster fighting fantasy:
These hand signs are difficult to track with Kinect and Leapmotion because the overlapping. If we remove the overlapping in each sign, it might be possible to do it with Leapmotion quickly, however, that becomes a different experience. The other way to achieve the gesture tracking is to use electronics embedded gloves. This might be done with 2 flex sensors and 3 contact switches per glove.
I am working with Michael DeMinico, 6th grade Sports for the Mind teacher, to build 4 games for SMALLab. These games are selected from a pool of games designed by groups of students in Michael’s classes as their first attempt to educational game design. The 4 selected ideas are interestingly echoing early popular educational game genres- game show, simulation game, shooting game, and sports game. Except for the Crazy Farm (upper-right), educational contents are add-on, with or without it doesn’t really change the gameplay.
=====Originally we decided that students were responsible for producing all the assets necessary for the game development but all I ended up getting were 4 giant game idea posters. I did some Photoshop works to keep the look and feel true to the drawings.
SMALLab photos:
05/30/13 DOE proxy kept game apps from reading Google spreadsheet. Firefox proxy won’t cut it, have to do it through System Preference.
06/02/13 Test the games in SMALLab for the first time, controller caused rollover graphics to flicker. Thought it was Tracking tool, but found out later it was mouseMode = true
06/03/13 Y is reversed due to new projection orientation
06/12/13 Rehearsal/playtest with Michael and Rich. found following bugs: =======game 2: out of bond bug =======game 2: puck needs bigger tracking range =======game 3: change countdown timer to 3 mins =======game 4: spacejet wonders off the screen due to (Rotate angle = NaN)
06/13/13 Michael filled up question spreadsheet, games are ready to go.
This is my new found love for robotic vision. When it comes to robotics, I dream of a world without wires and cables to drag around. Last year ROBOCON magazine introduced a wireless mini wifi IP camera called AI Ball (English brand name). It is a cute little camera with a high price tag of 150 dollars when it first came out. Picture quality looks great but can’t afford it. I have been casually hunting for a good wireless video camera since then.
I have my eyes on Playmobil Spy Camera 4879 for a while now. It was meant to be an add-on for their R/C car play set but based on my frequent visit to Toys R Us, it doesn’t seem to sell well. The camera is wireless and the receiver is capable of feeding video to USB port in real-time with very low latency. It has everything I wanted. Recently, the set has a steep price drop in Toy’s R Us, the price went down to awesomely $39.99 from the original $125.99*. I bought a set to play with and so far it has been fantastic! It works great on MAC with Processing, despite the official Playmobil website stats the opposite. The picture quality is clear and sharp with 640×480 resolution and the best part for me is the shape of the camera looks just like a regular servo, perfect addition to my black Kendo KHR-3, happy accident!
*AI Ball dropped to 70 dollars without cradle recently also but still not low enough.
↓ AI Ball Mini Wifi Spy IP Camera without Cradle ↓
↓ Playmobil Spy Camera 4879 ↓
↓ Picture captured with Playmobil Spy Camera 4879 ↓
↓ Replaced the head with Playmobil Spy Camera! ↓
I had a meeting with Hyunjee Koo, a student in Anezka’s Major Studio II, about a game she is making for her final. It is about raising awareness of crimes specifically targeting women who are commuting late at night.
Her second iteration has great potential to be a fun serious game. Her research brought a few interesting elements into the mix. She found a color-coded alarm system used by the military to acknowledge different states of awareness for the soldiers in combat. She put together amazing assets of different sites to stage the potential crime scenes. She has information about the crime and how to prevent them. Her attempt was simple and straight forward. When the game starts, a potential crime scene is shown. The player has to pick what state of awareness does the potential crime scene implies. However, the moment of meaningful choice is broken here because what the scene implies is really up to the player’s interpretation but there is only 1 correct answer for each scene.
The quickest fix is to define the meaningful choice better by switching a few elements around and maybe bring in a timer. She has information about the possible threats and how to eliminate them in potential crime scenes – underground parking garage, household, shopping mall, and late-night park. We can design each scene with these threats embedded in the graphics. The player has to circle these possible threats out under a timer, the original mechanic but with a kick, to prevent the crime from happening. Here is the next iteration.
05/20/2013 stop the time when player find all threats before time is up.
NaturalPoint – Mike:
In the calibration menu, there are options for “Data acquisition”. Try dropping “Min Camera Coverage %” to 10, then rewand. Don’t worry about the calibration quality, just make sure the cameras are relatively placed correctly. Set the ground plane, do a quick recording of the ground plane in place, then send that .pt2 file to support@naturalpoint.com. I’ll take a look at your camera positioning more in depth and give you some analysis.
Don Burroni’s set up: Looks like the side with high and low cameras (like camera 2 and 3 in SMALLab), they look at different point in the space to form a longer more inclusive vertical view. Other single cameras look at the center point of the space.
12/16/13 I came to calibrate the cameras for tomorrow’s bosslevel game: Robe’s box. However, when I tried to adjust camera no.9, I was electrocuted by the camera. The camera disconnected from the tracking tool right after the discharge and I have to restart the system to get the camera back. This has never happened to me before, so I called Optitrack to make sure this is not a sight of hardware failure. The technician said it might be the static electricity.
This is the commercial version of Thinkgear brainband, with their brainwave-enabled video player it allows users to alternate the story of the videos. I was naive, since the Thinkgear brainband is not available to the public I thought I can modify Myndplay brainband for development purpose. The process has been difficult but there is a way, so far I am collecting information, hasn’t had time to push this.
Note to myself: If you are using the Neurosky Mindwave Mobile, please make sure you pair the headset before installing the Neurosky suite of software. Once you have paired the headset via the computer’s native bluetooth facility (if none available, any bluetooth dongle will work), please install the MyndPlayer application first and test the connection by selecting the headset from the dropdown list when you first run MyndPlayer. Once you can see the needles on the dial moving, you have successfully connected the headset set. Quit the MyndPlayer then install the Neurosky software. Test with the Neurosky applications. Please make sure you are using the headset with either the Neurosky software or the MyndPlayer, not both at the same time.
1. Working with Optitrak installation to enable VR users to walk around in virtual space. Software pipeline is finished thanks to years working in SMALLab. Portability needs more work. Power and HDMI connection has to be portable or wireless, so there are no cables tripping the user(s).
–Wireless HDMI transmitter and receiver
The receiver is powered by mini USB.
-Found portable battery to might be able to power the receiver and the headset USB external battery pack
All these modules should be mounted nicely onto a platform that players carries on their back. Reminds me every Cyber Troopers has Sega Saturn/Dreamcast console mounted on its back.
APC UPS: A portable power source that can keep a mac mini up for up to an hour:
After research I instead purchased CyberPower CP750LCD for its cool name and the on-board LCD screen, also smaller and lighter.
2. Create giant robot pilot simulation experience like the Gundam arcade game: Senjou no Kizuna <機動戦士ガンダム 戦場の絆>. The play experience will be a hybrid in between Senjou no Kizuna and Barcode Rider <バーコードファイター> and the control will be just like Senjou no Kizuna. Was considering Steel Battalion controller but it will be difficult for players who has the headset on to press the buttons accurately, so Senjou no Kizuna’s duel handles or Cyber Trooper series’s twin stick set up is perfect for this simulation.
05/09/2013 Today Robert brought his Oculus to Quest to Learn. We were hoping to connect Optitrack to Oculus to enable users to actually walk around in Virtual Reality. We thought, at least I did, this will be an easy task. I have all the scripts ready to handle the data, Rober built something nice in Unity 3D, there shouldn’t anything else to worry about. Then a series of unexpected and unfortunate events unleashed.
There are 4 computers in SMALLab: 2 Mac Towers, my MacBook Pro, and Robert’s ASUS pc laptop. None of them worked, Robert’s PC can’t see the data, my MacBook Pro doesn’t have Unity Pro and has no HDMI output, one of the Mac Towers can’t run Unity 4.0, and the other one is used for tracking. It was frustrating till a point it is funny. None of the problems we predicted happened, and everything we thought it would be fine go completely wrong.
05/10/2013 Today I brought in 7 different dongles. Robert got data into his computer in 5mins after we met up in SMALLab today. We tweaked the data since optitrack has Y axis and Z axis switched and Z axis is reversed from the point of view of Unity. Then another series unfortunate events started to kick in. We tested the tracking data on the Mac tower, it is smooth and everything, however, when we run the same parsing code on Robert’s PC laptop, the position data skips from 1.0 to 2.0, there is nothing in between! As a result, the character controller jumps around in Unity… this is so weird!
So we hacked, again. We use Macbook Pro to get the accurate data in and broadcast it to PC with Unity Pro in ASCII byte arrays. Everything works like magic after this point. We tested with Oculus Rift, it was awesome, we can actually walking around in a virtual space and look around. Walking in Virtual Reality, checked!
Processing file modified and renamed to DataBridgeROB.pde. Binary array from OPtitrack is parsed and x, y, and z position were extracted and send to Robert’s PC as ASCII string in the following format:
“position x value, position y value, position z value”
05/20/2013 Claudio, Don, Michael, and Brendan stop by and try out the Oculus Rift demo and they love it. We continue our test. Going to focus on making the position data wirelessly next week.
My wife purchased a baby seat for Aiden a few months back. It is a floor support seat for the baby so we rarely use it. One day, I glanced at it and thought the seat and my Roomba could make an awesome futuristic baby mop. However, the Roomba site states that the maximum permanent weight to add on a Roomba is 5 lbs. Aiden is 16 lbs and growing.
Galaxy Rider is a space horse riding simulation game made possible by combining a vertical Gametrak and a GE wireless doorbell.
TECHNOLOGY: Gametrak is a motion-sensing controller that came out in 2004. It was popular in its own right and some 300,000 units were sold after the release. What I love about this controller is the spring-less joystick and the retractable wire mechanism that makes motion-tracking possible for this controller. It’s unlike anything in the market at the time. When I opened up the Gametrak for the first time, the interior is beautifully designed, it was straight-forward, modular, and totally p-comp friendly. There is also a Gametrak version 2 controller that packs the retractable mechanism and joystick into 1 small and detachable module, but it is only available in Europe.
GE wireless doorbell is probably one of the cheapest solutions for quick and dirty wireless buttons. My game controller extraordinaire, Kaho Abe, gave me the initial insight. She uses the setup in a version of her awesome game – Hit Me!. I eventually got the pin on the doorbell PCB figured out by trial and error.
LOG: 4/23/2013 Attempted to read PS2 USB peripheral Gametrak with Processing and proCONTROLL library on both my Mac and PC and it didn’t work well. The controller shows up as a USB device and proCONTROLL is able to get the details on Joysticks and Buttons. However, the data doesn’t seem to update correctly, I also tested it in Controllermate and got the same result, the buttons, and joysticks show up fine but not reacting. This happened to me before with other USB electrics and it was mostly a JAVA serial issue due to rxtx version difference/incompatibility. Since I am going to incorporate wireless buttons, I will just hack the controller and use Arduino to handle the serial communication.
4/27/2013 Open up Gametrak and wire the pots to Arduino. I found out something more interesting during the autopsy. I realized that the PCB actually has the option to switch the serial mode to PC or XBOX. Apparently, there are different versions of this circuit board out there and luckily the one I have (REV2) has the options visible on the board. I soldered the contacts together for PC (pink circled) and now it works perfectly fine with my Processing + proCONTROLL + Unity 3D setup.
PORTALCADE is a mystic portal and a joystick game controller!
—–In PORTALCADE, after a creature figurine is read and loaded into the game, the figurine itself becomes the joystick of the game! I am a big fan of physical video game pieces and recently I’ve been playing with Skylander and Infinity figurines. However, like many of their Japanese predecessors, once these nicely made game pieces are loaded into the game, they are left aside throughout the remaining gameplay. I want to do more with these cool toys! I decided to make a game and a game controller that keeps player interact with the collectible toys throughout the the entire play experience. PORTALCADE controller is my first working prototype based on this concept.
precedents:
Webdiver Gradion This is a transformers + plug’n play TV game playset with semi-real time transformation detection. During the gameplay, the player has to hold the Gradion in his/her hands and transforms it to a robot or a locomotive based on the game. There are also transformable weapon accessories sold separately.
Game Inspirations:
Interactive demo application shown at Maker Fair. The demo actually went for a more exploratory approach than what’s shown in game inspiration. Giving the fact that PORTALCADE is essentially an Atari joystick, a D-Pad and a button, I am building something simple to test the interaction before going crazy with it.
MAKER LOG: 3/21/2013 Our nanny bought us a set of 4 nicely design animal character eggs and it struck me that it is time to realize this idea of mine.
3/27/2013 Bought button light from Home Depot, took one apart and removed all the cheap guts, including the buttery box. People may not know, usually the space of a 4 AA bettery box is perfect fit for 1 Arduino board.
4/7/2013 Reed switches finally arrived. Tested them on a small breadboard as pull-down switches. First attempt to read RFID reader TX with Arduino. It worked like magic.
4/10/2013 Designed a small breakout board for all my inputs/outputs, also leave some extra pins open just in case I am going to light this up.
4/11/2013 Made a circular structure for reed switches and used 2 3M clip hook to mount it under the button light cover.
4/12/2013 Finish soldering, testing and writing Arduino code. 4 directions work perfectly but there are some noise in between adjacent reed switches.
4/18/2013 Unsoldered the BUZZ pin on the RFID reader, official end the annoying buzzing sound. Was thinking adding a switch to the pin for debugging purpose, didn’t bother.
4/21/2013 Serial port only works with Processing 2.0+ 32-bit version (otherwise 1.5.1). Experienced a huge delay with my old sample code, fixed by using the serialEvent(Serial port) function. I also get ride of out the delay(30) in my Arduino code, not sure if it was necessary.
6/8/2013 Start making the interactive demo
11/4/2014 Coming back to this project and polishing the demo application.