Robotology: Morphing! (special Canada Day video)

Before we get to the title topic, we’re thrilled to announce that N+ will be the Deal of the Week next week on XBLA (July 6-12 2009). 50% off: Hooray! Just in time for summer vacation for a lot of you! Everyone else: quit your job for the summer!

If for some crazy reason you or someone you love (or even someone you hate) have yet to download N+ XBLA — the gold standard and best of the various versions of N+ — now is your chance to save some money.

 

And now, the main attraction: it’s been a long time coming, but we finally have a video to show!

Although don’t get too excited.. the graphics are all debug/placeholder, so it’s nothing much to look at.

Vimeo (high quality.. relatively anyway)
YouTube (lower quality)

(Hopefully we’ll figure out how to get screencapture and exporting working a bit better in the future, this initial vid is unfortunately a bit choppy — sorry about that.)

It’s just a simple demonstration of how robots in the 2D world will change direction in a physically-valid way; typically this sort of movement is faked (for instance, in Super Mario Bros objects just “flip” instantaneously, however this only works because their simulated shapes are symmetrical and unchanging — only the graphics actually “flip”), or relies on movement in 3D.

We wanted to try something different. Since our goal is for all movement to be physically-based, we needed a solution which would allow robots to change direction while their movement remained valid in the 2D “flatland” simulation. This way, any external constraints (such as grappling hooks) that are interacting with a robot will continue to behave normally, with no popping or other glitches as the robot changes facing direction.

Our solution is to morph the collision/graphics geometry (which defines the shapes of each rigid body), while simultaneously morphing the physical constraints (which define the way the body moves). “Morphing” is just a non-rigid transformation.. moving around vertices or joint angles or whatever. Currently this deformation is purely kinematic; we decided that driving the morph via physical motors was one step too far in terms of complexity, although it would be possible to do. We’re already somewhat behind schedule, so keeping it simple is a priority. ;) Since the actual rigid bodies are free to move during the morph, the robot continues to be responsive and reactive regardless of its current deformation state. Nice!

This particular test biped is representative of how the larger robots will be modeled; it’s made of over 100 points bound to 14 rigid bodies. For smaller robots, we’ll be morphing the graphics geometry, but the dynamics model will probably be simpler or symmetrical (for instance, the 6-particle + 5-stick model we used for the ragdoll in N).

The process of getting this to work nicely was a lot more complicated than we anticipated (hence the two month blog-posting delay — sorry!) but it was a great experience since it made all the unanticipated problems obvious and we managed to find solutions to most of them. It also impressed upon us the need for better tools — that biped is defined by almost 800 lines of code, painstakingly hand-transcribed from graph paper and Flash mockups! Ouch. We thought that would be quick-and-dirty; instead it was long-and-painful-and-dirty ;)

The good news is that during implementation it became obvious that morphing could be used for much more than simply changing the facing direction of robots; it could be used to effect any sort of shape-change, allowing us to model transforming robots. We’re still not sure how far in that direction we want to go though, there are enough technical challenges as it is, but it sure would be cool :)

That’s it for now — Happy Canada Day!

57 Responses to “Robotology: Morphing! (special Canada Day video)”

  1. Kian says:
    July 1st, 2009 at 3:53 pm

    Amazing! While the morphing is awesomely impressive , I’m curious, how does the biped keep itself balanced? Looking forward to future posts and videos! ;)

  2. M&R says:
    July 1st, 2009 at 3:57 pm

    We’re still working on the balance, in the video there’s just a soft constraint keeping it upright. Hopefully this will be sufficient, because getting bipeds to balance “for real” is hard! :)

  3. Kian says:
    July 1st, 2009 at 5:40 pm

    Ah I see, well it seems to be working great – you had me fooled :)

  4. SeanG says:
    July 2nd, 2009 at 12:41 am

    You two are incredible. I love the shit you guys do. It’s awesome. I know you’ve shared a great deal of your programing approach in these posts, and there is some stuff on N, but where do you find your inspiration for really all aspects that go into the game from a programming level. Such has how to address the various issues that come about?

  5. mattk210 says:
    July 2nd, 2009 at 1:39 am

    wow, that is far too awesome. Something it brings to my attention: how are you planning on doing the graphics? will they basically be coloured shapes that are equivalent to the physical geometry or will you overlay actual designed artwork on top?

  6. M&R says:
    July 2nd, 2009 at 9:21 am

    @matt: This is a simple version of what we’re planning on doing: http://www.metanetsoftware.com/robotology/screendump2009-3-10_17_57_26.png

    So, basic coloured shapes, but with strokes and silhouettes. Also there is a second graphical layer of geometry that we want to add to represent “internal” bits of the robots at the joints.. this is hard to explain though. A good example would be C3P0 — he’s mostly gold, but at joints (such as his waist) you can seen a “under-layer” of wires and stuff. Probably we won’t get that detailed though, it will just be another colour — one problem we’re having is that it’s easy to make a huge robot look good, but you need to be able to transfer that same aesthetic to a tiny robot where the detail will be lost.

    There are also various different types of detail that may be added to the robots/world, depending on how they turn out. We’re trying to minimize the amount of content-creation we have to do though, so simple and/or procedural stuff is preferred.

    @sean: That’s the hard part! Most of the ideas for what we’re trying to do are things that were cut from N, but how to actually make them work is a an ongoing struggle :)

    Addressing the anticipated problems is just a matter of thinking and talking about them until something presents itself, and/or trying stuff to see what works and what doesn’t. This might not be the best approach though, it tends to result in writing systems more than once, because the first version is horrible but teaches us a lot about what not to do!

    The real problem is the unanticipated issues — there have already been a few bad surprises where something that looked like it worked on paper turned out to either not work or be a lot messier than we expected.

    This happened with morphing, we had assumed that it could be done for any sort of articulated character by having the knees/elbows “slide” along the upper or lower limb-segment, but that turned out to not work very well.

    Luckily in this case we had a different way to model limbs which was easy to morph — this alternate model was something we came _very_ close to abandoning when we were rewriting the simulator, because it was more of an “oh look, we could theoretically do this” aside than a necessity, and was a bit complicated. Thankfully we figured it out before giving up on it!

  7. maximo says:
    July 2nd, 2009 at 10:29 am

    Video looks very cool guys. Can’t wait to see all these various bits start assembling into one coherent piece of awesome.

  8. JR says:
    July 2nd, 2009 at 11:22 am

    Pretty amazing stuff!

    Dear M&R – are you working on Robotology full-time? If so, what does a typical day look like?

    Thank you for sharing with us – we love you!

    J

  9. Miguel S. says:
    July 2nd, 2009 at 1:40 pm

    Nice! Great to see a video of your work in progress.

    I’m looking forward to seeing all that physics interactivity working with animation, should be awesome!

  10. Seang says:
    July 2nd, 2009 at 9:17 pm

    That’s what I figured, I just wasn’t sure if you knew of a good place to look for how to approach physics programming problems.

  11. Droqen says:
    July 3rd, 2009 at 12:48 am

    Awesome :0
    How could you try and un-excite us? That’s looking really amazing!

    Looking forward to seeing more of that in action @.@

  12. M&R says:
    July 3rd, 2009 at 9:18 am

    @Sean: Going through the Box2D source is definitely a great way to learn about how to structure things, since it’s very well-made and performant. The problems concerning how to simulate physics are well documented, but aside from Box2D there aren’t a lot of references for how to structure a simulator. This thesis might be of interest also: http://www.digitalrune.com/Portals/0/KB/Physics/A%20Unified%20Framework%20for%20Rigid%20Body%20Dynamics.pdf

    @JR: a typical day is “work, lunch, a meeting, more work”.. practical, but not very exciting :)

  13. Metanet: N+ next week’s Xbox Live deal | Gaming Rover - The News You Want says:
    July 3rd, 2009 at 11:34 am

    [...] by Mister-X on July 3rd, 2009 at 12:15pm Developer Metanet has revealed that its excellent platformer, N+, will be XBLA’s Deal of the Week for July 6-12. The developer [...]

  14. Freeplayed : : Your Gaming Blog Metanet: N+ next week’s Xbox Live deal says:
    July 3rd, 2009 at 2:58 pm

    [...] in Xbox360, deal-of-the-week, metanet, n, xbla on 07 3rd, 2009 | no responses Developer Metanet has revealed that its excellent platformer, N+, will be XBLA’s Deal of the Week for July 6-12. The developer [...]

  15. Metanet: N+ next week’s Xbox Live deal | GameWitz says:
    July 3rd, 2009 at 3:19 pm

    [...] Metanet has revealed that its excellent platformer, N+, will be XBLA’s Deal of the Week for July 6-12. The [...]

  16. Metanet: N+ next week’s Xbox Live deal - Xbox 360 Blogger says:
    July 3rd, 2009 at 6:44 pm

    [...] admin on Jul.03, 2009, under Xbox 360 Developer Metanet has revealed that its excellent platformer, N+, will be XBLA’s Deal of the Week for July 6-12. The [...]

  17. Oatmeal25 says:
    July 6th, 2009 at 9:17 am

    Major Nelson said it’s 560 MS Points not 400 (or 50%) as you mentioned. Has something been misinterpreted or has something changed?

  18. M&R says:
    July 6th, 2009 at 10:25 am

    ARGH!! We just assumed it would be 1/2 price like EVERY OTHER deal-of-the-week! We’re not sure what’s going on.. this sucks!

    This is actually the tragicomic end of a series of shafts, N+ was originally supposed to be the deal-of-the-week for March break! But after being cleared for that we got bumped two or three times..

    Sorry Everyone!

  19. Oatmeal25 says:
    July 6th, 2009 at 10:34 am

    So you guys don’t control the pricing?

    Well, it’s a great game and at least some people will get a more affordable chance to take a crack at getting their a$$ served to them :-)

    Seriously, thanks for the fun and frustration.

  20. M&R says:
    July 6th, 2009 at 10:41 am

    Wait, we just checked our emails — we didn’t just assume, we were _told_ it would be offered for 400 points. Hooray, it was not our fault for once! ;)

    Microsoft gets to decide because its their system. Really though, what is the point offering 30% off of a $10 game is disappointing..we were hoping the deal would get N+ on the “most popular” list for a week :(

  21. Tony says:
    July 6th, 2009 at 10:42 am

    Well, hopefully they’ll correct that for you guys.

  22. Oatmeal25 says:
    July 6th, 2009 at 10:46 am

    if it helps, I did see it shown during both the Canadian and US betas of 1vs100 a few times.

    It could be worse, you could be in the community games section (queue crickets, tumbleweed, wind noise, a lone guitar note and a snake rattle)

  23. M&R says:
    July 6th, 2009 at 11:48 am

    GOOD NEWS!

    Microsoft have let us know that it _should_ be 50% off (400 points), it was an error which is in the process of being corrected.

    Thanks very much to Oatmeal25 for letting us know — you saved the day! Everyone owes you $2 :)

    And thank you to Microsoft for catching and fixing this error so quickly!
    http://www.xbox.com/en-US/live/marketplace/dealoftheweek/

  24. Asax says:
    July 6th, 2009 at 12:20 pm

    Just a moment, i’ve bought this game this morning at 560 MSP, I’m going to get a refund or what?!

  25. M&R says:
    July 6th, 2009 at 1:32 pm

    @Asax: Yep, you’ll get a refund. Major Nelson is saying they’ll be issued automatically:
    http://majornelson.com/archive/2009/07/06/deal-of-the-week-n.aspx?PageIndex=2

    Thanks for buying N+ — hope you love it!

  26. Jump for joy: N+ is XBLM Deal of the Week | GameWitz says:
    July 6th, 2009 at 3:21 pm

    [...] stated that the game would be “50% off,” which means that the game, regularly priced at 800 ($10), should be 400 ($5)! Back up our [...]

  27. Oatmeal25 says:
    July 6th, 2009 at 4:08 pm

    $2 from everyone… PERFECT! I’m unemployed.

    Hopefully this causes a big fat spike in game sales for you guys. It really is a terrific game that everyone should experience.

  28. maximo says:
    July 7th, 2009 at 12:09 pm

    @Asax: If you contact MS they will refund you the points. I Have never ever heard of them not doing this. Just be nice to the reps and let them know what happened.

  29. maximo says:
    July 7th, 2009 at 12:11 pm

    @Asax: Actually from Major Nelson’s Blog, “Update: No phone call needed. We’re going to take issue refunds automatically. “

  30. yoKenny says:
    July 11th, 2009 at 3:02 am

    Hey guys I bought the game and I am really enjoying it (i <3 the editor), but there’s some big issues with the save system (i _can’t_ save some multiplayer levels) and with the online (huge lag).
    Really, the game is very good, but it needs a little update :)

  31. Simmo33 says:
    July 11th, 2009 at 11:24 am

    M&R, I think you may have mentioned this in one of your previous posts, (if so, sorry) but will Robotology be played in a set play area, like the set-sized square in N, or will it be sidescrolling or maybe have a different shape for each level? Thanks.

  32. M&R says:
    July 13th, 2009 at 10:02 am

    @Simmo33: We’re hoping for it to be scrolling, with larger levels; we don’t know exactly how this will work though (i.e screen-by-screen scrolling like Prince of Persia, or smooth scrolling like Super Mario Bros).

    @yoKenny: are the saving problems with the editor, or saving progress through the game? Does it give you an error, or it just doesn’t work?

  33. yoKenny says:
    July 13th, 2009 at 2:09 pm

    They’re saving problems through the game, individual and coop. I beat a few levels, return to the main menu, and sometimes they’re levels ‘unblocked’, but I can check my leaderboard and see that I’ve done them.
    I’ve some photos (sry for the poor quality and theyre in spanish).
    The first shows the episode select screen. You can clearly see that number 25 and 29 are done, but the levels in between are missing.
    http://img33.imageshack.us/img33/1527/dsc05750v.jpg
    The second shows the leaderboard, where you can see that I’ve a score for episode number 26.
    http://img441.imageshack.us/img441/5294/dsc05751.jpg
    I hope the photos help understand my problem. I think I don’t do anything wrong (I exit via the game menu, and it normally works), and I hope you can help me :)

    Thanks

  34. yoKenny says:
    July 13th, 2009 at 2:11 pm

    Sorry, there’s a mistake on the previous comment. In the second line, I mean ‘blocked’ instead of ‘unblocked’.

  35. M&R says:
    July 14th, 2009 at 12:58 pm

    Thanks for the pic, we haven’t seen that problem before; we’re looking into it!

  36. DavidJCobb says:
    July 16th, 2009 at 6:50 pm

    Though obviously you shouldn’t trust software being recommended by people you don’t know, I know of two screen capture programs that can achieve a pretty good level of quality.

    http://www.evanolds.com/wmvcapt.html
    http://www.evanolds.com/sc_main.html

    The first link saves as WMV, the second as AVI. I tested the WMV one once, haven’t had any problems and the frame rate was pretty good, though I wasn’t really doing anything memory-intensive at the time.

  37. Christian says:
    July 19th, 2009 at 8:46 pm

    Hi M&R! I hate to go back and ask again (asked several months ago), but it appears both the PSP and DS versions of N+ do not have working servers. I remember when the unfortunate event of Silverbirch Studios happened and Atari was going to handle the servers.

    I’ve tried both copies again today and… nothing. Should I just not expect Community features to not work?

  38. M&R says:
    July 21st, 2009 at 8:41 am

    We still haven’t gotten an official response from Atari about this beyond “we’re working on it”, but my guess is that they’re actually not going to do anything about it because the handhelds sold very poorly and cost them a lot of money :(

  39. Christian says:
    July 21st, 2009 at 4:27 pm

    M&R – so sad to hear that. I love both handheld titles. I think the price-point they were released at was really awesome as well. In fact, I think the PSP version is my favorite version of N+.

    Apologies for ransacking the Robotology post :/..

  40. M&R says:
    July 23rd, 2009 at 8:23 am

    np — we don’t really know why the handheld versions did so poorly, we definitely thought they would do better :(

    As it stands, 3x more people own N+ on XBLA than on DS and PSP combined!

  41. maximo says:
    July 23rd, 2009 at 9:55 am

    Digital is the wave of the future!

    Plus it just looks awesomer on my big tv.

  42. smartalco says:
    July 25th, 2009 at 6:44 pm

    N+ DS was definitely fun, but it was too short… I beat all the levels in not even 10 hours.

  43. Sparky says:
    July 27th, 2009 at 7:36 pm

    Hi folks!

    I love seeing your updates. Your quality standards are inspirational.

    It’s great seeing a large articulated character (even if it’s not animated yet). The shapeshifting is a really great idea. I love the fact that it’s perfectly consistent two dimensionally.

  44. joel says:
    August 4th, 2009 at 9:19 pm

    I am sorry to hear the handheld versions did not sell well. I think the main reason being that they got no real advertising, and most stores only had one or two copies total. No one knew what it was, and without flashy graphics, its tough to sell I think.

    Meanwhile, people are constantly browsings XBLA and PSN for new games, and advertising for new games on those services is handled more directly by sony and microsoft themselves, it seems.

    That would be my guess anyways… even though the actual portability of the handheld versions is a distinct advantage over being tied to a tv.

    Though, the XBLA has many advantages of its own, including new features, multiplayer, HD, no loading issues, etc.

    I do love hearing about these Robotology developments though, they are REALLY getting me excited. I think the youtube video of the robot interacting with the ball, and also turning back and forth was really awesome! I can definitely see how controlling such a character will be fluid and enjoyable.

    I guess one more N related thing is that I am still hoping for a PSN release of of N+ … perhaps with a crisp HD classic view. haha, I realize you’re still tied up with contracts, and it would depend on other factors as well, but I hope you will at least pursue the idea. :p

    Keep up the good work, guys!

  45. M&R says:
    August 6th, 2009 at 3:25 pm

    We haven’t forgotten about PSN! It’s still not likely, but if we _do_ make a version of N for PSN, it won’t be for a year or two and will definitely be different (i.e N++ or N^2 or something), not just N+.

    But that’s very far in the future.. we’d like to get some other games done first :)

  46. maximo says:
    August 11th, 2009 at 7:09 pm

    You guys might me interested to know the new xbox 360 dashboard update includes community rating, which means you might want to pimp N+ a little and get it rated some more.

    Just a heads up.

  47. M&R says:
    August 12th, 2009 at 9:19 pm

    Yeah, we just saw that today — we’re not really sure what we can do aside from a blog post, which is probably not going to do much.. I think we have about 3 readers :)

  48. SeanG says:
    August 18th, 2009 at 3:08 pm

    3 readers who check this blog every single day…

  49. smartalco says:
    August 18th, 2009 at 3:49 pm

    Yeah, come on, we need more blog posts for all 3 of us!

  50. M&R says:
    August 19th, 2009 at 11:29 am

    There have been major developments since the last post.. hopefully we’ll get a post together soon

  51. Moose says:
    August 26th, 2009 at 5:45 pm

    Major developments? What’re you waiting for? Post your heart out!

  52. Aaron says:
    September 1st, 2009 at 11:26 am

    A post would be much appreciated right about now!! We’re in so much suspense! I cannot wait to see where you’ve headed with the game

  53. smartalco says:
    September 3rd, 2009 at 11:56 am

    If you use the time it took between this post and the one before it, we should get another post in about a week.
    Current rate of posting: 5.5 posts a year

  54. SeanG says:
    September 5th, 2009 at 9:07 pm

    When someone calculates the average posts you make per year along with when we should expect the next post…you’re running a little slow on updates..

    Just a heads up. I won’t tell anyone. Promise.

  55. M&R says:
    September 6th, 2009 at 9:46 am

    5 a year?! Ack!! That’s depressing :(

    The problem right now is that we have too much of a backlog of news, and writing it up takes a long time for some reason. We’re working on it though!

  56. metablog » Robotology: These Roboots Were Made For Walkin’ says:
    September 28th, 2009 at 7:44 pm

    [...] case you missed it, you can check out the first video in this [...]

  57. N+ devs Metanet show first Robotology demo | VENUS PATROL says:
    September 17th, 2012 at 7:16 pm

    [...] — the Toronto indie studio behind the widely ported ninja platformer N — have just officially revealed the first actual in-progress look at their second game, [...]

Comments