Robotology: These Roboots Were Made For Walkin’

28 Sep / by: M&R / 42 comments /

We just finished making another video showing some of what we’ve been working on around here: walking robots!

See it here on Vimeo (higher quality) and Youtube (lower quality).

(In case you missed it, you can check out the first video in this post.)

 

The graphics are of course still just debug stuff, and all collision shapes are capsules, as this was much simpler than having to specify polygonal shapes for each segment of each body.

The environment is also obviously not at all what the final game world will be like, but as we haven’t yet implemented a camera we aren’t able to do any scrolling; the treadmill and “hamster wheel” scenes come in handy for testing extended walking 😀

It’s really exciting to finally feel like we’re getting somewhere, after so much prep work establishing the foundation. We still have a lot of work to do on physics-based animation, in terms of both modelling and control, but it’s just great to finally be able to use the systems we’ve spent so much time building.

 

In the video, all movement is animation being driven based on time; the next step in terms of modeling movement is to add some sort of feedback to the system, since currently it’s all just blind forward animation (i.e “wind-up toys”). Instead of being oblivious to physics, the playhead driving the animation should be coupled to the physical state of the robot so that, for example, if a robot’s foot is stuck on something, the animation doesn’t just keep playing back regardless. That would be silly! We have a few ideas but there aren’t any good references around so we’ll be more or less stabbing in the dark. That’s okay, we’re good at stabbing. Er, metaphorically.

Control also needs a lot of work; for the video we were just using the keyboard to set the speed of the motors driving the animation, but moving forward, some sort of higher-level controller which can steer the motors is needed. There are thankfully a few good papers on integrating high-level logical control with low-level continuous control — hopefully it won’t be too complicated to add slightly more intelligent brains to the robots!

We also have a lot of work to do on the tools side; we made a basic parametric model which can generate legs and feet, but it’s quite rudimentary and can’t handle, for instance, wheeled or flying robots. Oh yeah, for sure we need wheeled and flying robots 😉 It’s definitely a huge improvement from hard-coding everything — making a biped now only takes ~20 lines of code to define some parameters which are then used to generate the necessary data, instead of 200+ to make all the shapes and constraints by hand. But what we really can’t wait for is when we finish a more visual editor which will make defining custom shapes even less tedious 😀

 

So, that’s about it for now. How are you liking all these posts? It’s prolific around here!

We’re going to get back to working on the character controller (used to model the movement of the player and smaller robots), and we have about a month to get something playable done for the IGF deadline…it will be tight, so maybe don’t expect much in the way of posting for a little while!

comments ( 42 )

  • Thanks for the updates guys. Love the video and the technical details you divulge in these posts. Looking forward to more and good luck with the deadline.

  • Great job again! I loved the video and somehow I thought the music went perfectly with it.

    Oh yeah, one more thing. DO NOT EVER ASSUME YOU ARE UNHEARD OF! You did get a DS/PSP game AND people tatooed your ninja on themselves. I have been your fan since 05 myself!

    Ooh, almost forgot. Have you said anything about DS’s wifi mode not working? It’s been like that for almost a year now and I’ve seen alot about others having the same problem. Ehh I’ll do some more research before assuming things.

    Your loving fan you have never heard of,
    Fig.

  • Awesome. Just awesome. I like that, for a game called Robotology, a lot of things seem very organic, movement in particular, that “morphing” video you guys posted, and the walking robot models in your most recent video. I think the spider walkers are my favorite.

    Keep up the good work!

  • Thanks for your support guys, we really appreciate it. It makes what we do worthwhile 😀

    @Fig: Unfortunately, yes, the N+ DS/PSP servers are no more. Read all about it in this post:
    http://www.metanetsoftware.com/?p=512
    (near the end)

  • Love it guys! Keep up the fantastic work! I eagerly await your next vid 😀

  • Some of the walking animations are almost creepy awesome (like the walking dog robot thing I can’t find a video of right now)… (that is a good thing).

  • wow. this game is going to be amazing. will the player walk like this too?

  • The rapid posts have been brilliant! Keep up the awesome posting!

    I’m most impressed with the spider bot and the 3 legged robot, but I must say, in the way of legs, you have a LOT of brilliant diversity in those robots!

    It’s also very interesting how the robots interacted on the angular surfaces, do the legs “seek” the ground before advancing their walking motion, or do they just continue the walking motion with no difference compared to flat ground?

  • @smartalco: actually the robot in the halfpipe (the same one that’s being thrown around at the end) is modeled after Boston Dynamics’ “big dog” 🙂

    We found that there was way more creepiness than we had anticipated, especially with the spiders.

    @mattk210: the plan is for the player (and other smaller robots) to be modeled more like a regular platformer character — however we’re going to do our best to make it hard to tell the difference visually between what’s fully simulated and what’s faked.

    The idea of a game where the player controls a simulated robot is definitely cool, but we really want this to be more of a platformer — and having to control individual limbs or worry about tripping would sort of detract from that. We’re trying to make movement as simple/easy as possible so that players can focus on the grappling/rope part without having to work too hard on basic movement.

    But definitely there is a lot of fertile ground here that we won’t get to cover in this game, we have several offshoot ideas based on “The Incredible Machine” and/or robot battle arenas 🙂

    @JRatchet3: this is something we need to work on, right now the movements are just blind animations anchored to the torso. This is enough for small bumps, since the torso wobbles and that tilts the feet into the slope automatically most of the time, but for steeper hills we need higher-level AI which knows to lean forward/back, change the path of the feet, etc. because right now they tend to just fall over or be unable to ascend steep slopes.

    This sort of thing is on the agenda, but it’s a lot more complicated and there isn’t a lot of existing research we can use. We’re hoping to find a relatively simple solution, because for one thing there may be performance problems with e.g casting dozens of rays for each robot in an effort to try and predict/understand the surrounding terrain.

    That’s the problem with getting the basics working, you’re then left facing the complex stuff 🙂

  • Nice!

    I love the updates on Robotology, seems like you have progress. Also, Robotology is one of the most Original games I’ve ever seen (about physics, animation and stuff), nice vid!

  • Oh man, that video cracked me up! Awesome!!!

  • Oh man, guys. That video is siiiiiick.

    Can’t wait for this. Love the recent blog updates. ;D

  • Haha, this is great! I love seeing all of the different robots and how they all move differently, gives each one a little personality of it’s own. :3
    The game seems to be coming along really nice, can’t wait for the release 😀

  • The idea just struck me that you could add a mode where you can create you own roboots; I remember playing a Flash game back in the olden days that had that premise, and very similar graphics to your debug ones.

    Maybe in Robotology v1.5.

    Awesome work, we’re all looking forward to it.

  • Here in Calgary, we had a gentleman: Mark Tilden, who works in the field of robotics and he made some interesting findings. He was also the inventor of his so called neural network which was based on a ternary system. The human brain could be considered a ternary computer.

    He made several little bug-bots that implemented the neural network – they learned to walk on their own. If they got stuck, they would figure out, eventually, how to get free and also how to walk over obstacles. Not bad.

    His work would definitely be a good source of info to help aid in robotic movement and design. Who knows, you could have ai that learns… then network together and form Skynet… and sees the human race as a thre…. ahem, I mean, learns how to outwit the player. 😀

  • @ATR: yes, making your own robots is something we’re playing around with (that would also be a part of the aforementioned robot-battling system we alluded to in an earlier comment). It won’t be done anytime soon, but it’s definitely on the list!

    @Snow: we’ve been reading up on robotics in many areas (and mostly not understanding any of it — so complicated) for this and other projects, and have been completely intrigued by neural nets…but unfortunately it’s far ambitious for Robotology, especially considering how close our deadlines are. We hope to include neural nets in a future game though (because that tech is endlessly useful and utterly cool), and we’ll definitely look into Mark Tilden’s work — thanks!

  • Yay, I’ve been looking forward to this video. Keep up the good work.

    I strongly suspect the robots in this game are going to have an incredible amount of personality. Even without graphics, these different configurations all have a lot of soul to them. It must be so fun playing with different leg configurations.

    I look forward to seeing how you handle feedback from the environment in future updates.

    I suspect that while it might not be as ambitious as what you have in mind, there are quite a few very simple robots which could work well as hazards or opponents- simple, dumb devices which are reactive to the player in simple ways (or are totally blind). Don’t underestimate goombas and timed smashing platforms 🙂

    Keep up the good work!

  • Thanks, you’ve got a really good point 🙂

    We’re definitely trying to keep things as simple as possible, and inevitably things will be cut/abandoned… sigh.

  • What struck me as I was watching that (frankly, amazing) video, was how much personality had been imbued into each robots’ gait. Maybe it was all down to the backing music, but the game so far looks really charming. Honestly, I cannot wait to see more like this.

  • Really? Am I the ONLY one who knows about SodaPlay? This game looks like its based off the exact same principles.
    http://sodaplay.com/

  • Can I get in on the Beta version of that?

  • @Luke: SodaConstructor was definitely a big inspiration! Note that the actual game should be much more like a regular platformer though.

    @Malde37: we’ll probably be announcing something on the blog when we do beta-testing, but it won’t be for a while!

  • This may be too vague but it was the first thing that popped into my head concerning AI balance. I’m not sure how effective it would be, but what about a fuzzy logic controller built around balance? If you could somehow have a resting “balanced” state, you could use fuzzy logic-esque rules to shift the legs to balance change in terrain.

    Again that could be way too vague to understand or way too over-simplified. I’m sure it is from experience, but it seems like the type of approach you would need to tackle keeping robots from flipping over.

    Just an idea…

  • Will the motion be pre-keyframed or will the players have the amazing possibilty of altering the motion on-fly to make custom moves? Like in http://www.farseergames.com/divergame for example?
    It would be totally amazing to interact with your surroundings your own way, fighting, making acrobatics (especially with bipeds) etc.
    How do you think about it?
    Peace!
    Really, an amazing project we all are looking forward to :)!

  • that video is epic, the video just went with the song so perfectly, great job

  • @Sah: The work done by Michiel and cohorts is definitely one of the big inspirations for us 🙂

    We definitely want to add some sort of creation mode at some point, however that’s likely to be one of the things that is added after the initial release. But it’s definitely on the agenda!

  • That’s great then ;)! Seems you thought about everything ;).

    Just few more tries to brainstorm with you two:
    -how about a name change, while it’s still pre-release (so it’s not such a big problem)?
    I mean there’s nothing wrong with the current one, but it will probably give the searcher different results that he would hope for, when he’ll be looking for your game ;).

    -and for ability to texture robots’/creatures parts in-game, I think many artists would be incredibly grateful (and dragged to your game) to see their creations and pictures animated/walking/running/interacting with the surroundings (which also could be texturable) and you could probably gather even bigger fan base and an get the 2d art community around your project, by itself ;)… like – how I imagine it – one could load images from his pc and drag them onto some physical objects/robots parts).
    I think this way you could get those second-layer wires with no problem of your own – tons the pictures would be most probably available on the net/forums in a second after the release ;).

    Anyway, this game could definitely squeeze the last drop out of what 2d physics game could offer us;).

    With constructable creatures/robots, custom-makable moves and textures (looks) this game just looks too fun to be real. 😉
    Anyway, just saying… I wish your project the best, and I’ll definitely will give a shout about it, once it’s done, wherever I can ;)…
    Peace!

  • Oh! And I’d definitely love to beta test the sh*t out of that baby once it’s possible 😀 ;)!

  • @Sah: Apparently we’re now #1 if you google “Robotology” 🙂

  • It’s great to see you guys updating the blog more frequently these days – especially when you put out videos like that! Having seen what you guys have put together so far, it already has more character than a lot of games out there!

    I’m also eagerly looking forward to the prospect of some new tutorials based around the new systems for this game. BIG thanks for the tutorials you already have up by the way, superbly written!

    On another note: “We’re trying to make movement as simple/easy as possible so that players can focus on the grappling/rope part without having to work too hard on basic movement.”

    Is this a hint about gameplay? I’d love to be toppling robots by grappling their legs and pulling/tangling them up!

  • Yea. Not only #1, you’re doing great all over ;p ;).

  • We can’t wait to get this done so that we can explain how everything works — hopefully other people can solve the problems we got stuck on 🙂

    I guess it’s a hint about what we’re hoping to do, but we don’t know yet if it will work..

  • I like the music, it gives a nice “ha ha that robot is walking really fast” feeling, where I know in the future it will be “oh shit that robot is walking really fast run run run”.

    Great video 😀 love seeing all those crazy walking designs.

    —> A question, do the feet have nigh-infinite friction, or is it possible for them to slip?

  • Right now they only have moderate friction, so they can slip.. we found that while cranking up the friction helped reduce slipping, it also caused problems where trailing feet would “snag” on the ground and prevent the robot from moving forward. Possibly we’ll end up animating friction so that when the foot is supposed to be planted it has high friction, and is slippery when being lifted.

  • I like that you are going to add sensors and AI thought about appendage placments and disired outcomes.., wind-up toy are cool but usefull robots need to think,. or the scripted equivolent of thought.

    Have you tryed a Cajun Crawler type Theo Jansen setup? (its a ‘wind-up toy’ but could be usefull as a leg system with more interesting stuff on top)

    http://www.cove.org/ape/demo2.htm
    http://www.youtube.com/watch?v=JCPlczI3k-c
    http://www.youtube.com/watch?v=-GgOn66knqA&feature=related

    should work well, one motor drives all the legs,. simple, and works in reality too.

  • We did come across the Jansen stuff, through that first link actually (flash physics engine), it’s pretty incredible.

  • I forget if this has been covered in the past, but will the player be as agile as the ninja in N?

    (if not, will any aspects of that incredible agility be passed over?)

  • We don’t know yet.. we’re still working on the character controller. Our *goal* is for the player to be even more acrobatic in terms of movement and animation, however it will definitely be different (i.e jumping will be de-emphasized since you have a grappling hook).

    We have a lot of ideas we’re trying to get working concerning both the feel of the movement and the animation of the player’s body.. but it’s still not up and running yet. Ha 🙂

  • make it have like a sword or a ninja star to kill those machines

  • Please Guys , make that Game for the PC too, please because I
    haven’t an XBox or a psp or a DS!!!!!!!!!!!!
    Please MAKE THAT GAME FOR THE PC TOO!!
    Thank you very much
    A very big fan

  • […] This is in fact the strategy we used for the robots in the walking video: http://www.metanetsoftware.com/?p=508 […]

Leave a reply

Archives