Project Good Robot 13: How Do We Leg?

By Shamus Posted Friday Sep 13, 2013

Filed under: Good Robot 110 comments

I’ve been reading back over this series, and I have to say I’m pretty happy at how far we’ve come in such a short time. But I have to admit the one thing we need more of in this write-up is crappy MS-Paint level illustrations. So let’s fix that.

We start with our flying robot:

gr13_leg1.jpg

Pfft. I have no idea why people waste money on artists making concept sketches. I think this looks awesome already! In fact, we could throw a little lens flare on that thing and we’d be ready to start taking pre-orders.

As cool as this is, I think it would look even more amazing with a leg. Maybe even more than one leg. But we’ll start with one. The first step is to pick a horizontal offset from the body. Let’s say we draw a line that extends one unit to the left of the body. This creates a point which we will call the knee. The knee can move up and down, but it always has to stay the same distance from the body horizontally. (Yes, I could have the knee pivot instead of moving up and down, which would be more “correct”. But I’m going for an effect here.)

gr13_leg2.jpg

Now we make a line straight down to the floor. This line must always be a certain length, keeping the knee a certain distance from the floor. We will call this bottom point the foot.

gr13_leg3.jpg

As the robot moves, the knee will move horizontally to maintain its fixed distance. As it does so, it will run through a stupid-simple animation. The apparent location of the foot will actually orbit around the point that’s fixed to the floor. The knee will follow the same pattern, except that we cancel out the horizontal movement. This results in the knee just pumping up and down.

gr13_leg4.jpg

With one point moving in a circle and the other moving in a line, it produces motion a bit like the piston rod of an old locomotive.

Except, we don’t want the foot to go underground, so we flatten out the bottom of the circle.

gr13_leg5.jpg

Of course, having floating mathematical points is cool and all, but it doesn’t do us any good if the player can’t see this leg. So let’s construct a rectangle for the upper leg and have the lower leg consist of a single triangle.

gr13_leg6.jpg

Whoopsie, I bungled making the rectangle. I connect the points wrong, which results in two overlapping triangles like so:

gr13_leg7.jpg

But this actually looks a lot more interesting than just the rectangle leg. So, this has been promoted from bug to feature. Now we just slap a simple sprite over the knee to cover up the ugly point where the two polygons meet.

gr13_leg8.jpg

Now let’s give it another leg on the other side.

gr13_leg9.jpg

Now, I want the number of legs to be variable. And they all need to move through the same step animation, but at different points. Here is what I’ve figured out:

On one side of the body, the legs will be evenly spaced around the circle. So if there are two legs on the left side of the body, then when one leg is at 0° then the other will be at 180°. If there are three, then they’ll be at 0°, 120°, and 240°.

On the opposite side of the body, the legs will have the same spacing, but offset by a half-step. If the right legs are at 0° and 180°, then the other side will be at 90° and 270°.

How does it look?

gr13_walk.gif

You know, that’s kind of amusing. There are a LOT of parameters I could mess with: Move the knees up, move the legs out, make that step-circle animation wider or taller. I could adjust how much the head moves up and down. But this isn’t bad for a first try.

 


From The Archives:
 

110 thoughts on “Project Good Robot 13: How Do We Leg?

  1. krellen says:

    That’s pretty cool looking. Is this another boss, or just a new variety of mook?

    Also, I still want to play this. How do I sign up for the beta (or even alpha)?

    1. Usually Insane says:

      seems to simple for being a boss, but with a six second segment, could be anything… I like how it moves though, like a creepycrawler out to get you, maybe hook the speed of the popupattack to dificulty or colourgrade it (different colours for different speeds of popup, fire animation, make the black instantanous)

      So this is the beta signup list?

      1. Ooh, I want to join this beta-by-nagging thing! If we just all pretend really hard Shamus will eventually come around and do one, right?

        Seriously, though, this all looks pretty sweet. When are you gonna do a kickstarter for this thing?

        1. MrGuy says:

          Or just tell us how much you want us to donate via PayPal.

      2. Irridium says:

        Could be a mini-boss, or high-level mook. He could give it the ability to crawl on the ceiling/walls as well, maybe jump around. Not sure how hard that’d be to implement or how fun it’d actually be, but it sounds interesting at least.

        Also +1 for alpha/beta/donations/whatever

    2. rofltehcat says:

      Make it a boss early on and then introduce differently sized (and maybe color-changed) versions of it that jump/crawl everywhere in the dozens until you take out a giant “queen”!

      I like the insect aspect of it.

      1. IFS says:

        Would be pretty cool, especially if they can climb on walls and ceilings. Are there going to be upgraded versions of enemies with more powerful attacks? Could give them the same color change to indicate an upgrade that the player has.

        1. I was just thinking that climbing on walls would be a cool idea. But it might not be that interesting – we’ll have to see.

    3. ACman says:

      I too would like to beta-test Shamus’ hobby game. I would pay monies to do so.

      1. aldowyn says:

        Steam early access Shamus, get on that.

        1. ACman says:

          Also they should really put the Reginald Cuftbert holding a controller onto a T-Shirt.

          I would pay monies for this also.

    4. ET says:

      Aaaaaaaarrrrrrrrrrrrrgggggggg!
      Shamus, y u no have beta for us to play with? :P

      But seriously, if you still are 1-2 weeks ahead of us with programming, compared to these posts, then this game should be very playable.

      Good job!

  2. Bropocalypse says:

    Dang Shamus, this is looking pretty darn spiffy so far.

    If that thing were red-lit instead of green, it’d look rather like that eye-walker thing from Johnny Quest.

  3. Zukhramm says:

    I is impressive how fast you’re working. I wish I could keep that pace. Though, I don’t program often enough.

    1. Cybron says:

      I don’t think he’s caught up with today yet, so I imagine we’re still viewing this from a compressed time point of view.

      1. Zukhramm says:

        Each post is just an hour, right? So this is the first post belonging to day 2.

        1. Phantom Hoover says:

          Dunno where you got that impression, I think this is being divided up based on topic rather than timeframe.

          1. ET says:

            In one of the podcasts, Shamus mentioned that he was very far behind with these posts, and estimated that it would take him about two decades to get to the end of the game’s content.
            But now…I *think* he’s caught up, by skipping over a lot of stuff?
            I don’t know anymore; That podcast was around the time of post 2-4 for this game, so…
            Either way, I’m just having fun reading about this game-in-progress.
            All the technical stuff is really cool!

          2. MrGuy says:

            Shamus is actually using a sophisticated blog-post-to-code converter. The game is being generated on the fly as he posts about it.

            1. Shamus says:

              It took me decades to write, but just think of the hours of work I’ll save!

              1. DGM says:

                The shibboleth of the programmer.

                1. Bryan says:

                  As with lots of stuff, xkcd is relevant:

                  http://xkcd.com/1205/

  4. Abnaxis says:

    That looks really neat.

    Couple questions: first, how hard would it be to have it put its feet down when it stops moving?

    Second, how did you make that kicking-up-dirt effect? Is that some particle effect trick?

    1. While I’m not Shamus, from his explainations above I think I can answer these questions.
      1) – It would be quite hard for the legs to go down to the ground when it stops moving. What Shamus is currently using is a single animation for all the legs, except some of the legs are further ahead or further behind in the animation than others. When the robot is moving, it says “Hey, play the animation on each of the legs!”. When the robot stops, it says “Pause the animation!”. This means that some of the legs float in the air, as they are partway through the animation. If Shamus did want the legs to go down, he would have to add quite a lot of complexity to the system – it’d have to detect when the robot has stopped, which of the legs is still in the air and then procedurally create an animation for them to go down to the ground (as the walking animation wouldn’t look right if the robot has already stopped.) In addition, it would be very hard to get right, as you’d get this annoying “settling” motion every time the robot stopped, and it’d be really easy to make look clumsy or out of place.
      2) Yes, the dirt kick up effect is just a particle emitter.

      1. Septyn says:

        I argue that it’s not difficult to lower the legs to a “standing” position, just a matter of more code. Instead of entering a “pause animation” state, you enter the “sit down” state by saving the current animation variables and entering an animation where the legs level out. When you exit “sit down” you enter “stand up” which does the reverse, returning the legs to the saved variables. At that point you resume the walking animation.

  5. Piflik says:

    That’s one creepy robot. If you want to make him really scary, make him hide. Deactivate the lights when he is not attacking, make them just light up a little (~10 – 25%), when the player’s flashlight shines at them. Only shortly before he fires he activates his lights (because he is charging his LAZER!!!!!11OneOneEleven).

  6. Steve C says:

    Why do developers have secrecy on their projects? NDAs, etc? For the life of me I do not understand why a game developer who’s asked “So what are you working on?” Always answers, “I can’t talk about it.”

    I can see far more marketing opportunities by talking about it than concerns about industrial espionage. Are there even any actual examples of industrial espionage in video games?

    BTW excellent use of the verb “leg”.

    1. Shamus says:

      EVERYTHING is a verb if your grammar is bad enough!

      Which makes me think:

      This verbing of words for comedic effect has been going on for well over a decade now. I still remember an old Calvin & Hobbes (I guess they’re ALL old now, aren’t they?) where Calvin says, “Verbing weirds language.” It’s very possible this will stop being a joke and end up being an acceptable and regular construct with this next generation.

      As if English isn’t enough of a pain in the ass already. Now we have to explain to people learning English, “No, see in this sentence the verb is implied. ‘How do we [create [a]] leg?’ Well, not so much implied as deliberately omitted to confuse you.”

      1. WillRiker says:

        Verbing nouns has been a productive part of English…well, basically forever. There are a considerable number of verbs in common use in English today that were not considered verbs 100 or even 50 years ago. In fact, according to this article even a character in Shakespeare complains about people using nouns as verbs.

        So no, this is not even remotely a new phenomenon.

        1. Syal says:

          Reading that, that wasn’t Shakespeare complaining about it, that was him straight-up using it to keep the rhythm.

          I would think it would be hypocritical for the guy who wrote “knee your way back into his good graces” to criticize verbing.

          As for complicating the language, I think the main appeal of verbing is the create an image in your head. “To conference” creates a mental picture of everyone gathered in a room, while “to confer” probably doesn’t. Therefore, verbing should actually make things easier to understand, as you have a better mental picture of what’s going on.

          Of course, Shamus isn’t actually verbing here; he’s just reminding us of such famous grammatical monstrosities as “then who was phone”, “how is babby formed” and “no I’m doesn’t”.

          (My mental picture of “to confer” is two shifty-eyed people whispering to each other while hiding their mouths.)

          1. Jakale says:

            Yeah, that’s not Shakespeare complaining. Shakespeare made a career out of changing word usage for his needs. That’s why you sometimes hear about him making up half the words in the English language. He turned nouns into verbs, verbs to adjectives, separate words to compound ones, and stuck on prefixes and suffixes. Occasionally, actually did make up totally new words.

            1. Zeta Kai says:

              My rule of thumb is “If Shakespeare did it, it’s not new & it’s not wrong.”

      2. Andy says:

        Doubly confusing since I play a lot of Mechwarrior Online, where “leg” IS a verb, meaning “destroy a leg.” “Leg that guy!” “I’ve been legged!”

        So I thought I knew, and was confused because there were heretofore no explodey legs, and confused again because he meant “give leg” instead of “make leg asplode.”

        1. psivamp says:

          This is like one of my favorite canonical English words, ‘cleave’. As nerds, we’re quite used to ‘cleave’ meaning to take one thing and make it two things; but in old English, it also meant to make two things one — in the King James Bible it says that a “[spouse] shall cleave to [possessive pronoun] [other spouse].” I forget the order and bring up a Biblical reference only because it’s the only example that comes to mind.

        2. Hitchmeister says:

          Combine that with the more common use of leg as a verb, as in the phrase “leg it” which means to run away, and things get even more confusing.

      3. Jack Vickeridge says:

        I read this as “EVERYTHING is a verb if you grammar bad enough!” which I thought was awesome :)

        And the robot looks amazing as well.

      4. Steve C says:

        Relevant image. And remember the programmer’s credo: “A Winner Is You!” because “All Your Base Are Belong To Us!”
        Words to live by…

    2. Retsam says:

      But leg is a verb. (First 20 seconds relevant, remaining 2:58 is just unrelated awesome)

    3. Nick says:

      Because lawyers exist.

      But seriously, in a game development cycle you’ll throw out a lot of stuff. Things that you were sure were going to be the case day #207 of the project can be completely false on day #263. If you talked to the press about the cool feature that you had to get rid of because the graphics can’t work/the game direction changed/it got replaced by something better for the game, fans can turn up all excited day 1 of the launch and then be really disappointed that the game isn’t what they wanted it to be.

      In Shamus’ case, he doesn’t have to deliver this game. He doesn’t have a large group of people depending on the income from the game who are going to yell at him if he makes that kind of … well mistake is not really appropriate, PR blunder is probably a better way of putting it. He’s just doing this for fun and if it eventually sells (and I hope it does, it looks really cool) then that’s great. But he had the option of walking away.

      Add that developers are not necessarily the clearest communicators in the world and you can get a lot of bad press by talking about stuff before it’s ready.

      Now, that’s not to say that it’s a bad idea per se to have developers talk about this stuff ahead of time, but it IS true that the safe option if you’re not sure is a ‘I can’t talk about it yet’

      1. Syal says:

        If you talked to the press about the cool feature that you had to get rid of because the graphics can't work/the game direction changed/it got replaced by something better for the game, fans can turn up all excited day 1 of the launch and then be really disappointed that the game isn't what they wanted it to be.

        Also, False Advertising is a crime in the US. It’s why all the commercials with people flying and jumping nonchalantly onto moving cars have to say “dramatization” and “do not attempt” at the bottom of the screen. It’s not because they think people are that stupid, it’s because people are greedy enough to claim they’re that stupid and sue them.

        Now I want to know if anyone has ever sued a video game company for not delivering everything they said they would in a game. At the very least you should be able to get a refund.

        1. Thomas says:

          It’s definitely happened. I think someone filed class-action against Aliens Colonial Marine for their demo footage (some of which was stuff in the game that Gearbox stripped out because they couldn’t optimise it) and I think I’ve heard other cases too.

          Talking about a game can also screw up marketing if people don’t know what they’re doing. The Obsidian guys are being really careful about what they talk about. The Wasteland guys have to be prepared to be talking about things current enough that they can change it all when they get the torrent of feedback coming to them. In relation to them, tons of people were criticising their alpha video as though it were finished and saying the game looked like it was going to suck. Even with their latest people were saying it looked too linear or criticising some of the placeholder art.

          1. Steve C says:

            I really don’t think “I’m currently making legs.” Or even “I’m working on the character builder and the nose looks wrong,” Can count as false advertising even the Land Of the Lawsuit. “I’m factually working on this factual thing.” Isn’t in the same ballpark as “It will have this feature.”

            I did find a few references to the lawsuit. The details may be that case is false advertising- I don’t know. For example if they were accepting preorders at the same time as showing the demo that would be kind of damning.

            Some other companies do like to talk about what they are doing and what they plan to do. That makes far more sense to me. Digital Extremes comes to mind. But they aren’t in the USA and I’ve only been paying attention since they made a finished product. So not the best of examples.

            As Zeta said, Peter Molyneux is the posterboy for false advertising. Again there is a stark contrast between “We are going to deliver X,” (Molyneux style) and “Hey look, I got my robot to spin-die on the first try,” (Shamus style.)

        2. Zeta Kai says:

          If that were truly the case, then Peter Molynuex (sp?) would be sued into oblivion, as would be just. That man is false advertising personified. Peter, just shut up & make your game; stop teasing people with the goods that you can’t deliver.

      2. Something I’ve noticed, related to this, is that Shamus is mostly avoiding talking about actual game play. He’s talking about the cool technical things he’s solved. Which avoids the meta-spoiler effect.

      3. Thomas says:

        I think the safest time to talk about a game is when you’ve _only_ got a small and dedicated fanbase.

        If people talked about Mass Effect, the first video to be controversial would spread around the whole web. Opinions would form and people would say ‘gah the graphics and gameplay suck’ (this happened even to Wasteland 2 with their pre-alpha). But when the developers announced they’d scrapped that idea or whatever it wouldn’t be important enough to hit headlines and people would forget (or accuse them of backpedalling).

        Whereas with things like Gunpoint, the only people who hear are the people who will also be around to hear what the developer says in response. They understand about alpha footage and that things can change. And they’ll evangelise the game when it comes out

        1. Nimas says:

          Although the community is terrible, I’d actually like to point out League of Legends here. Quite alot of the time you have devs coming into the forums and actually discussing and getting feedback on changes to champions. They’re actually a really open company, which sometimes it *has* come back to bite them (use of the Soon(tm) was one example) I actually think it really helps the game.

          An example is one of the greatest amount of anger at remakes was a champ called Karma, which they didn’t really say anything about, just sort of changed over a patch. Whereas alot of the other remakes have been viewed much more favourably as they discuss with the community what they need to keep to keep its core and retain the champs flavour.

        2. Steve C says:

          People are still talking about the product you are selling which is good. Controversy sells. Well controversy in the sense of disagreement sells. Unanimous dissent (XBoner) isn’t the same kind of controversy.

          But generally it’s worse to be forgotten than it is to be slammed.

  7. Daemian Lucifer says:

    “But I have to admit the one thing we need more of in this write-up is crappy MS-Paint level illustrations.”

    Im glad thats fixed,but it seems you removed alt text while doing that.So can we get a patch for this entry to (re)introduce some spiffy text over the spiffy images?

  8. swenson says:

    Crappy MS-Paint level illustrations? My favorite!

    Anyway, looks pretty good for more or less slapping it together. I like the spider robot a lot! Kinda spooky.

    1. Felblood says:

      Well then, have I got sometrhing you you.

      –Just google “MS Paint Adventures”

      DISCLAIMER: Excepting the first pages of the first story, this is not actually drawn in paint, it just struggles to look like it.

      1. PeteTimesSix says:

        Or, (no offense to Homestuck) if you prefer your stories not to be a self-indulged overcomplicated mess of an impossible to follow plotline, theres Prequel Adventure.

        1. Syal says:

          Well, I can safely say that Problem Sleuth suffers from none of these things.

          (…spoilers.)

        2. Felblood says:

          It is not impossible.

          In fact, figuring out the plotline is kind of the point.

          Reading Homestuck is like reading a web comic in Hard Mode, which is, understandably, not for everyone, but everyone should take the oppourtunity to give it a chance.

          There is a wiki if you find the need to cheat (I did get a walkthrough for some of those HTML segments, especially the pony puzzle), or if you just need some nice charts to keep track of all these character names.

  9. Alan says:

    I don’t remember seeing the… afterblast? in previous posts. The thing where the blast kinda goes through the Good Robot in a dissipated shock wave. It’s pretty awesome. Indeed, the whole thing is just soaking in juiciness. I obviously don’t have a sense of the actual gameplay, but I so want to try it out!

    1. Alan says:

      Doh! I somehow missed update 12, where it looks like it was introduced, and Shamus specifically brought up the idea of juiciness!

  10. When seeing the topmost screenshot, I started wondering how much effort it’d be to have little background robot fights in the parallax background planes. I image it’d give you the impression of a larger scale “invasion” of the tunnels, and it wouldn’t feel like you’re the “hero”, more like you’re just one of many, eventually lucking out on achieving $goal.

    Also, care to make it so that all feet have to touch the ground when not moving? the 2nd-from-left leg is kinda hanging in the air when spiderbot stops, so it almost looks like he’s standing on the background.

    That being said, I’d buy that game. The art style is really coming together nicely, warts and all. Dunno, it just strikes a chord with me somehow.

    1. Syal says:

      I would like it if a weapon could stun him so his legs were still in the air. I can’t think of anything that adds more lightheartedness than a “what just happened” pose from an enemy.

      Looking good!

    2. krellen says:

      Serious question: what’s the appeal of being “one of many”? Why is this something people desire in their escapism?

      1. Viktor says:

        It’s not so much “one of many”, it’s more a retaliation against “You are the best and most perfect hero” that crops up a lot. It’s a bit ridiculous how PCs are just so much more incredible and special than everyone else. Something like Die Hard, where the hero is just an average cop who happened to be in the right place to make a difference, is a wonderful change of pace.

      2. Zukhramm says:

        Teamwork is generally seen as a positive quality. I can’t see anything strange about wanting that. There’s also the feeling of taking part in something big.

        And of course, why do we want characters with flaws, problems and challenges and anything else that’s not super awesome? And do games have to be escapism?

      3. Syal says:

        I think in this case it’s specifically about wanting more context for the fights. One robot going through a cave killing everything makes you go “why is this happening?”, while dozens of robots going through a cave killing everything makes you go “So we’re at war with these guys.”

        More generally I’d say it’s related to changes in the way people view success, moving away from the ideal being one man triumphing over overwhelming forces and more toward folks banding together to make things happen. It’s more believable because that’s how people think the world works.

        1. Bryan says:

          But Descent wasn’t “a bunch of guys fighting a bunch of other guys”. Mostly because it wasn’t a war game.

          It was “you, a single pilot, being sent in to take out the virus-affected robots”. (Though I don’t remember if you knew from the beginning that it was a virus or not. I think you did, though.)

          Of course, this changed a bit in Descent 3, where you ended up teaming up with CED and clearing out one of their dreadnoughts before finding the virus’s source and taking it out from there — but even then all the gameplay was still “a single human against tons of robots”. Just the cutscenes between levels had more people in them.

          Now, how this all applies to Good Robot I’m not sure, since he’s a robot too, and not a human… but the 1-versus-many thing is pretty deeply ingrained in at least one of the inspirations.

          1. Syal says:

            It was “you, a single pilot, being sent in to take out the virus-affected robots”.

            Which sounds like it was stated in the introduction (I’ve never played any of the Descent games). Since this game doesn’t have an introduction yet, it doesn’t have that context, so people want to create a context for it.

            1. Bryan says:

              Ah. Indeed, it was in the introduction to the first game. (I never played the second, but did play the shareware version of the first, and the whole of the third since shareware was dead by the time it came out.)

              Various copies of it on youtube now. This one has the intro plus the first level:

              http://www.youtube.com/watch?v=HfcrOJ-z7ho

              This game might or might not have an intro (…but probably not; you’re probably right), but it does have the comments from the second post in the series about the influence of Descent (and a few other much more recent games), so I figured “maybe a similar “story” as well”. We’ll see. If there even *is* a story. :-)

  11. Ithilanor says:

    Looks very spiffy already. Your comments about having lots of parameters to adjust also makes me think that this might be an opportunity for some good ol’ procedural generation!

  12. Retsam says:

    I can’t shake the feeling that that spider thing should jump at the player and try to physically hit them. But I’m not sure what game I’m thinking of that has enemies like that.

    1. Piflik says:

      UT2004 had exploding spider-bots that pursued you and jumped in your face, if I remember correctly.

  13. Cybron says:

    They look great, but it bugs the heck out of me that they don’t make any effort to be near the ground.

    1. Shamus says:

      Technically, they’re PERFECTLY on the ground, and much effort was spent making them so. The trouble is that the wall textures (which are my own scribbles) don’t properly cover the collision area of the walls.

      1. tengokujin says:

        The fact that the feet taper to a point helps disguise the fact that they do not actually contact the ground texture.

      2. WillRiker says:

        Yeah, it looks like for this to look right you’ll need the grass texture to actually spill over the collision area of the walls so it looks like the legs are sinking into the grass.

        What bothers me more though is that when the robot stops walking, one of its legs is still up in the air as though it were mid-step. When it’s not moving it should have all its legs on the ground.

        1. Jimbo says:

          I think you are probably only really noticing it because of the low framerate. At 60fps you may not notice it as much. You will be more focused on dodging and shooting.

          1. Syal says:

            It’s still an issue, since once you notice it you’re going to notice it every time afterward.

            1. ET says:

              When will you have time to notice?
              This thing is going to be shooting the bejezus out of you!
              Plus, Shamus can always spawn a couple mooks around this boss (assuming it is a boss) to make it more challenging, and distract from the non-perfect animation.
              By the way, the animation is already perfect, because this is a SHMUP, and what are you, Shakespeare-Disney or something? :P

              1. Syal says:

                You’ll have time to notice when someone else is playing. And then you’ll point it out to them, and it’ll bug the both of you.

                Or if you get tired of playing for now and decide to just let the enemy kill you. I do that in a lot of games.

                …or if you saw it here.

        2. Tom says:

          instead of “spilling” the grass texture over the collision area of the walls you could also just spill the leg texture over the collision area of the robot, so that being on the ground actually means that your feet are buried. From looking at the .gif one thing you would have to change would be that the head of the robot is always higher than the highest “feet” ( in this example the second leg ends higher than the head and you dont want the head buried ( unless you really go for sneaky spider ) )

      3. Bruno M. Torres says:

        You could use a variation of the “sprite sheet collision system” you use for shooting. The one from update 11.

      4. Andy L says:

        The terrain is marching squares tiles, right?

        It shouldn’t be too hard to use the alpha channel pre-calculate the “correct” foot-Y-value for any given foot-X-value (relative to the origin of the tile.)

      5. Neko says:

        You are technically correct; the best kind of correct.

  14. Paul Spooner says:

    Wow! Legs all of a sudden! So cool.

    I’m guessing those are driven backwards from the robot position (instead of driving the robot’s position based on the position of the feet)?
    Also guessing they are doing a collision check with the ground, so it goes up and down slopes correctly. Very neat looking!

    What happens when it runs into a wall? Or off the edge of a cliff? Are there height limits on leg position, or does it just stretch like mad?

    1. Shamus says:

      Heh. Yeah, I had to add some checks to prevent spiders from interacting with cliffs. Without that, their legs would just rubber-band all over the place. It was kind of hilarious looking to see them casually step up 20 times their body height.

      And for those who suggested making it crawl on walls & ceilings:

      Not in this game, I think. That would be a LOT more complex. It would require a radically different AI, the leg-moving code would be many time more complex, and I don’t think it warrants the investment.

      My goal with this enemy was just to get something that was stuck on the ground for an early-game foe. This is a warm-up foe before players have to worry about being circle-strafed.

      1. Brandon says:

        Sounds like you are already well on your way to having multiple levels and a difficulty curve. Seems like “completed game” is probably not too far behind. :)

        1. Paul Spooner says:

          The main question at this point is, who’s going to shoot the engineer and go into production? Therein lies the problem of being both producer and programmer… you end up having to shoot yourself.

          Holding out for the best though!

      2. kdansky says:

        It would not be too hard to have four similar but completely different enemies: Wall crawler (left and right version), ceiling spider and ground walker. Making a combined climber would be very difficult.

        1. Paul Spooner says:

          It seems like it would be trivial to simply rotate the “down” vector for the leg code, have it run a simple “go right or left to get closer or farther” loop, and call it a day…

          it SEEMS like it to you and me, but we’re not privy to what it takes to get here. Plus no one knows how much it would take to generalize the walking code, or how much “better” the game would be after it was done.

          The person I know who has the best guess decided it wasn’t worth it. Good enough for me, but yeah, it DOES seem like it would be easy, doesn’t it?

      3. WJS says:

        It seems to me that having it on the ceiling would be incredibly simple; you just have to reverse the y offsets. Having it jump from one to the other shouldn’t be all that complicated either; just tween the position of the body, and have the feet rotate 180 about the knees.

  15. Phantos says:

    Okay, I think I’m actually excited for this now. Good Robot’s got fan-art on the way.

  16. Daniel says:

    Are the shorter legs supposed to be in the front or the back? From the fact that the green joint is always visible, they must be the legs closer to the screen, but when I first watched it, I thought they were the legs that were further away.

    If the short legs were the ones further from the screen, then the green joints should get covered at times by the closer legs (which I think would be a neat effect, though totally unnecessary).

  17. Foster says:

    An idle animation would definitely make those ‘bots seem more alive. It’s a little jarring to see them stop suddenly after scampering into position.

    Otherwise, looks great! I’m impressed, at least.

    1. Sleepyfoo says:

      Aren’t these robots and thus don’t actually have a reason to Fidget like living things? I don’t think an Idle animation would make sense, in context.

      1. Trix2000 says:

        While technically true, it would help to make them seem more ‘alive’ which helps differentiate enemies better from, say, scenery. Though I think either way would work considering it looks pretty cool without it.

  18. Mephane says:

    My first thought: this robot looks so awesome. I always loved many-legged insect- and spider-like robots.

    My second thought went like this:

    Spider bot, spider bot, does whatever a spider bot does.

  19. Ooh here’s an idea for you Shamus. (if you have not done so already)

    The parts where you have some liquid on the ground (water?) why not have some kind of thing that surfaces, shoots and hides again. A Loch Ness’ish thing maybe?

    A lava level could perhaps also have something like that, but depending on the game something swimming in the lava may or may not make sense.

    Also, any turrets at all? They could be nice in the first levels (being stationary), and “annoying” in choke points in later levels.

    Also love the “face” of the robot, it’s almost like it constantly has a sarcastic look of “Oh! Really?!”.

    1. The Rocketeer says:

      As the famed naturalist Merlose once said, “A little bit of personality goeth a long way.”

      I mean, how else do you explain Pylo the Pylon?

  20. Brandon says:

    Wow Shamus, those MS Paint graphics look incredible when your graphics engine renders them. Must be all the 3DRs and the Blooms and all of that kind of stuff.

    In seriousness though, this is really cool. I love watching your progress on this game, I hope it’s as enjoyable for you to work on as it is for us to read about!

  21. Michael Enzweiler says:

    The walking looks great. I’d suggest losing the floor debris flying up as it walks. It’s a little distracting.

    1. Andy L says:

      Oh, no! I love the debris!

      Makes it look more terrifying and cartoonish at the same time.

      1. Syal says:

        If he does remove the debris, he should definitely add heavy stomping effects noises or something. I like the weight it has right now.

  22. Deadyawn says:

    Just noticed that EXP bar at the bottom of the first screenshot. This whole thing is looking better and better with every post. Also, robot spiders, much cooler than regular spiders.

  23. Talby says:

    Shamus! I read your book, you magnificent son of a *****! (No really, I did!)

    This looks really cool. Day 1 purchase for me.

    1. MrGuy says:

      If you’ve defeated Shamus’ game, you’ve defeated Shamus. Isn’t that true?

  24. Ravens Cry says:

    Maybe it’s just my personal phobias, but Mister Skitters here takes the transition from simple and amusing with clever little touches of life, like the Pac-Man ghosts, into something genuinely creepy.
    *shudder*

  25. BitFever says:

    When I first saw the little robot face I thought you were doing a joke post but I must say the end result looks amazing. The only thing I can think so say is that right now the range of motion up and down for the head looks larger than it should I think. Still looks pretty great though :P

  26. Sacae says:

    Looking at the player getting his, I think when the shield breaks and the player gets hit it may be interesting to see the flashlight flicker.

  27. Vegedus says:

    Man, Shamus, you make game developement look easy.

  28. The Snide Sniper says:

    Given the two-segment nature of the leg, you could easily add full inverse kinematics using the cosine rule.

    The difference between your current method and the proposed method would be subtle, but the current animation comes across (to me) as subtly wrong, simply because the knees don’t move horizontally.

  29. Hieronymus says:

    Not sure if you’ve already fixed or noticed this, but it looks like all of the kneecaps are rendered after all of the legs. So, the back kneecaps show up in front of the front legs when the attack animation occurs.

  30. Sean says:

    What about making the legged robots jump around ( like jumping spiders )? Jumping from wall to wall, especially if they aim their jump so they pass close to the player, could be pretty freaky. Might make the player feel like the robots are trying to aim for the player, but keep missing.

    Or they could actually aim for the player, and attempt to grab on and suck away shields/life/energy/whatever.

    In any case, the legged robot idea is pretty awesome!

  31. Kingmob says:

    So simple, yet so creepy, impressive!

Thanks for joining the discussion. Be nice, don't post angry, and enjoy yourself. This is supposed to be fun. Your email address will not be published. Required fields are marked*

You can enclose spoilers in <strike> tags like so:
<strike>Darth Vader is Luke's father!</strike>

You can make things italics like this:
Can you imagine having Darth Vader as your <i>father</i>?

You can make things bold like this:
I'm <b>very</b> glad Darth Vader isn't my father.

You can make links like this:
I'm reading about <a href="http://en.wikipedia.org/wiki/Darth_Vader">Darth Vader</a> on Wikipedia!

You can quote someone like this:
Darth Vader said <blockquote>Luke, I am your father.</blockquote>

Leave a Reply to kdansky Cancel reply

Your email address will not be published.