Robotology: Morphing! (special Canada Day video)

01 Jul / by: M&R / 57 comments /

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!

comments ( 57 )

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

  • 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! 🙂

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

  • 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?

  • 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?

  • @matt: This is a simple version of what we’re planning on doing:

    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!

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

  • 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!


  • 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!

  • 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.

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

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

  • @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:

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

  • […] 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 […]

  • […] 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 […]

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

  • […] 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 […]

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

  • 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!

  • 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.

  • 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 🙁

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

  • 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)


    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!

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

  • @Asax: Yep, you’ll get a refund. Major Nelson is saying they’ll be issued automatically:

    Thanks for buying N+ — hope you love it!

  • […] 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 […]

  • $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.

  • @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.

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

  • 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 🙂

  • 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.

  • @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?

  • 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.
    The second shows the leaderboard, where you can see that I’ve a score for episode number 26.
    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 🙂


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

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

  • 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.

    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.

  • 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?

  • 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 🙁

  • 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 :/..

  • 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!

  • Digital is the wave of the future!

    Plus it just looks awesomer on my big tv.

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

  • 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.

  • 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!

  • 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 🙂

  • 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.

  • 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 🙂

  • 3 readers who check this blog every single day…

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

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

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

  • 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

  • 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

  • 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.

  • 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!

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

  • […] — 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, […]

Leave a reply