Aug 24 2011
Filed In: Games
So, like I mentioned before, this summer had a wealth of super hero and generally great flicks. Nothing that’ll win any Oscars, mind you. But the sort that leaving you chewing popcorn until you fossilize kernels into your enamel. What was nice about the Summer movie rush, was that they seemed to be fairly evenly spread. Each month there was something that you were willing to take out a small loan to go see.
Now the games industry on the other hand…This summer was a pretty spartan (not a Halo reference) affair. See, I’d imagine this would be the time to really capitalize on your target audience. Most of us have more than ample free time in these months. I actually used to use it as a time to catch up on any backlog of electronic, written, or other forms entertainment. But, nope, not a whole lot this year. Sure, there were some delightfully quirky titles, and a few diamonds in the rough. The big heavy hitters, though, they had to wait until all the conferences and conventions were over to make sure they had everyones undivided, drooling attention.
Of course, this now means there is a deluge of games. We’ve seen the release of the new Deus Ex, September has some games that people are excited about, October sees Rage, Batman: Akrham City, and Battlefield 3. I’m only quasi-complaining, it’s great all these titles are coming out, but man it is going to be an e-slap fest for attention whoring.
Really, what it boils down to is this…I’m probably going to have to sell my other kidney to afford this Fall gaming season.
So, it isn’t much of a secret, but I’m a fairly big geek. I work with robots, programming, etc. regularly, so I suppose it is par of the course. In addition to these technophile tendencies, I also enjoy all manner of pop culture: video games, sci-fi movies, pen and paper rpgs…linux. These are interesting times, a new counter culture has emerged making these things …cool. Maybe that is a bit too progressive, they’re cooler. Much like shooting yourself in the shin instead of the foot. A result of this, is a big drive to bring some of these media to a mass audience. What better way than film?
Comics have had bittersweet film adaptations in the past. Often times directors wanted to gain notoriety by telling some half-hearted story with a beloved hero, rarely wanting to pay an homage to them. Some proved monumental for their achievements in special effects at the time, like Superman in ’78, but until recently they all had this campy feel and lacked a certain “soul” the comics had.
Lately, directors that grew up with the stories and are fueled by that fanboy fanaticism have taken the helm. Christopher Nolan, Jon Favereau, Bryan Singer (for X-men not his Superman flick), and Sam Rami all had a passion not just about the characters, but the nature of the comics themselves. Thankfully, studios have been able to relinquish control to some degree, too. Even the most passionate and enthusiastic directors have to bend a knee, now and then.
It’s a shame to see some films like Green Lantern, though. This was an opportunity to really tell the story of an ongoing space opera, not only epic in scale, but fun on that Star Wars level. I won’t really comment too much more on the film, since I really can’t bring myself to see it. Out of the DC universe, the three characters I feel a strong dedication to are Batman, Green Lantern, and Superman. This film just seemed to do too much too soon. Parallax (the giant yellow thing in the trailers) is one of the Green Lanterns biggest threats, having Hal fight him in the opening movie would have been like Luke pants’ing the Emperor in A New Hope. In general, it appeared to ignore the soul of the comics, a sense of heroism and wonder in new frontiers.
Fingers crossed for Captain America.
So things have been amazingly busy lately. We’ve been deploying new robots, like the breakbot, which is meant to help reduce repetitive stress injuries at the workplace. This little guy was built from scratch using Arduino microcontrollers and hobby electronics, all encased in little tubs hastily gathered from our local Target. They have a couple of motors in them to allow two degrees of motion, a tri-color LED to reflect the robots “mood,” a piezo sensor that allows for feed back if the robot is petted, and also an RFID card reader as a primary means of telling the robot that you’re leaving or just coming back from a break. We’ve placed them at participants desks and now we’re currently analyzing all the data to help better inform our next design phase. Additionally, we’ll be deciding if we want to develop this as a research tool for others to utilize, or a type of product to market.

Breakbots (photo thanks to Kevin Walorski)
The other project we’ve finished was utilizing our Videre Erratic robot at the local Wonderlab robotics event. I programmed the robot to respond to reacTIVISION fiducial markers. If it saw a particular marker it would move forwards, backwards, or rotate clockwise/counterclockwise. We then glued the markers to little “shields” for children to hold and present to the robot as a means of controlling it. At Wonderlab, we had a small arena set up where the children could freely drive them around, run into cardboard boxes, or set up little mazes for them to drive through. It was really enlightening sitting back and watching the group dynamics. We didn’t really give them any specific rules for interacting with the robot, and the robot was designed so it could see multiple markers at the same time, so sometimes it would get “confused.” There was another set of LEDs that would reflect what command was given to the robot (certain colors corresponded with certain commands). The kids would eventually understand the robot seeing more than one command at a time was a bad thing, they’d start forming lines, or taking turns. Siblings fought tooth and nail for superiority. All in all, a very fun and informative experience.

Showing what the robot is actually seeing
Now we’re working on shifting away from the Erratic platform to using iRobots Create robots. They’re better supported, more widely used in research, and just plain affordable. So far, we’ve used them to better understand an individuals feeling of privacy in an assisted care setting, we’ll be investigating different control methods and how that effects immersion (or “situational awareness”), and finally seeing if we can develop a socially aware Roomba.
I don’t update regularly, yet, but things may be quiet for awhile. For a personal project I’m going to try and redesign my home page and try and integrate my blog with it there. I’m using JQuery and JQuery UI for the moment. It seems like these to frameworks will support what I need and have in mind. After seeing the latest Tron movie I had the urge to start a geeky project and this seemed like the best quick release.
It seems the movie world is picking up actually. There are a wide array of good flicks out that I highly recommend: Tron 2.0, True Grit, Black Swan. It is almost the complete opposite in the gaming world. It is mired by half-hearted and quick cash-in sequels and spinoffs. Not much to look forward to there.
So, I’ve been playing this, and I really want to like it. I want to get into the story, I want to care about characters, and I want to give a damn. Notice how often I’m saying want?
Really everything really feels slap-dash, rushed, unpolished, and generally uninteresting. The color palette is as bland as the world we’re inhabiting, the engine is even showing its age now. I wanted to believe that this game wasn’t a glorified expansion to the original, and that it was a throwback to the origins of the series.
But in playing it more and more, all I realize is that it is a rushed attempt to cash in on the Brahmin that is Fallout. No wonder I’m getting jaded.
So, work has been going well. Our break taking robot is coming together nicely. Getting rid of the reliance of a network to transfer and store information has been a pretty huge relief. Funnily enough, abandoning these complex technologies have given the users more interactions with the robot. They actually indicate when they’ll be taking the breaks, if they’re going away, etc. It’s fun to see people sit down and get to know the robot. They’ll try to pet it and play with it, and just get generally amused by it.
My recent task was finishing off the behaviors for our bigger robot Steve (He’s a rover, I was asked to name him, Steve it was). I programmed some of his behaviors based on information piped in from an OpenCV program recognizing geometric shapes. We’ll be show casing this guy in Wonderlab on January 22.
Lastly I’ve been playing with a concept based in crosswords. I was solving them with my girlfriend quite a bit over Thanksgiving (plane trips are long and boring). So I’m going through some mathematics on my idea, seems like I may be doing a clustering proof, but we’ll see what comes of it.
So life took precedence and I’ve let my blog fall to the way-side. I’m currently working as a Research Assistant building robots for the Human-Robot-Interaction (HRI) group here on campus. We have plenty of big projects in the pipe, so it is a terrific way to keep busy. Our break bot is in its second iteration. This time we’ve abandoned using interpretive means of detecting presence (a combination of heat and motion detection) to using an interaction with the robot that is the indicator. This means we have to less data analysis on-the-fly (which is a bit intensive for the poor lil’ arduino) and we can have more accurate responses. You can even pet and play with this prototype!
We’re also working on ways for communities/groups to control a robot for a telepresence task. But, instead of the individuals sitting around the room like a committee, they’d be anonymous users on the internet. So, you have to determine some novel ways for the “group” to come to a consensus. We’re hoping to have one of our ideas ready for an exhibit in Wonderlab this January.
Some of the game development has stalled, and changing directions. We’re trying to find ways to get around the fact that we’re two people trying to program and develop a whole game. The biggest issue is the art and art assets. We’re thinking of using a more pixelated style. Almost like abstracted 8-bit sprites. So we’ll see how that goes.
I’ve also been really impressed with Call of Duty: Black Ops. It takes a slightly different approach and delivering the narrative of the main character. I won’t go into any details, but it plays out a little bit more theatrically than a typical “We got through the War” scenario. I’m not really a big fan of Activision and EA’s business method of churning out sequels in rapid succession, but this game does have some neat gems to it. Especially if you play around with the main menu, there are some pretty sweet easter eggs.
In other news, Tron: Legacy is looking pretty entertaining and should be one of those few movies that makes sense seeing it in 3-D. I never actually saw Avatar in 3-D, I saw it once and never really felt like wasting 3 hours that way again. Even if it meant I got to have digital bugs and flora “leap out at me.” I don’t like how most films are attaching 3-D as a buzz word and not utilizing it for immersion. Heaven for bid content actually draws us into a movie, instead of gimmicks.
Some of the game development and programming has taken a backseat to real life for the moment. However, in that neck of the woods I’m still debating on how to do the camera. Testing has shown that 3rd person can be fairly buggy and you have to be constantly aware of your environment to prevent the camera clipping through objects/terrain. I was thinking of doing a just-off-of over the head style-camera. This also helps in some level design, and ultimately reduces the amount of model work I’ll have to do.
In other news, my research robots are coming along. Breakbot, a robot that is an embodied alarm to denote when to take breaks in a work-place environment, is just about together. I’ve constructed the prototype out of left-overs around Robot-House, and the sensors are ready to be attached. Zach worked like a maniac on fire and has the PHP coding and Arduino-Arduino communications done, while I’ve coded the robot to perform little “dance routines” to denote its behaviors. I’ll include some pictures later on today of this glorious stress-tested prototype.
Steve (our ERRATIC-MOBI) robot is winning hearts left and right. It’s really great to sit back and watch people teleoperate him. I’m hoping in the future to incorporate some novel means of control. <a href=”http://www.neurosky.com/”>NeuroSky</a> has a great little product that measures brainwaves or brain activity and translates it to controller commands. So my one experiment I’d like to try is removing as much of the experience of directly controlling the robot via physical devices (a computer, a laptop, looking at a monitor) and measuring how “immersed” people become in the controlling. I also want to do some work with Arduino to overlay some more sensor information on the video feed for the robot, it’s still difficult to determine depth and obstacles in certain “blind spots” on the robot.
Robotics work is going well, using skype for a live video feed was a darn good idea. We now have cameras set up in some parts of the robot house to let us view interactions with participants. The visiting undergrad is coming along nicely, she’s starting to get the idea of formulating your own research questions and seems like she’s swimming fine in the deep end of things. I’ve wrapped up a prototype for another project. It’s funny looking at it, I made it out of Arduino parts and plastic cups, budgeted-style.
Game programming is coming along, doing all the coding is a bit rough and slow-going, but oh well. I’ve done a bit more refined third-person camera, and incorporated some textures and terrain for the world. The controls allow you to run holding the ctrl button, you move with the standard WASD controls.
My next little goal will be to get started with Processing. I want to do some sort of fun visualization with some real-life data feed as a seed. It doesn’t have to be something informative or ground-breaking, just fun to code and pretty.
UPDATE: The Unity embedding plugin has some issues showing multiple Unity objects at one time. So if it seems like there are repeats that I’ve included in a post, go ahead and click the link for the post, and the actual embedded file should appear.
[WP_UnityObject src="http://www.kechavarzi.com/projects/better3rdperson.unity3d"/]
So, I’ve graduated and decided to redesign and restart my website and blog. I’m currently working for Professor Sabanovic on some HRI investigations. Currently I’m testing usability and overall software performance for a handful of robotics platforms. Additionally, I’m preparing another robot, Videre designs Erratic-MOBI (aka Steve), ready for teleoperation and a bit of ethnographic studies. For the sake of time, I’ve set up it’s unix computer to be SSH’ed into and it has Skype installed and running. So all you have to do is connect via SSH, run the controller software, and make a call to a Skype contact for a live video feed.
On the side, I’ve been reading on various little programming projects and starting a few of my own. I’m currently working to complete some small, proof-of-concept game. As you know from my old blog, I surveyed many engines and flip-flopped between them. I really feel pulled towards the Unreal Engine, it is incredible versatile and pretty well documented. But frankly, you can still tell it is geared for people with a budget. There are others that are made so you don’t feel like you’re constantly ice skating uphill, so I settled on one such game engine, Unity.
At the moment I’ve just set up a basic 3rd person camera and stage. Hopefully I have it embedded in this post. If you fall of the stage, that’s it. This is just a simple sample program for me to test the camera settings.
[WP_UnityObject src="http://www.kechavarzi.com/projects/3rdPersonTut.unity3d"/]