Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I happened to see this structure of a gooey player character made in flash.

Can anybody suggest onto what computer science concept I should use to

  1. make a goo
  2. make it behave like a goo

Thanking You,


share|improve this question
up vote 4 down vote accepted

If you look carefully at the game you linked to, you can see that it's just a triangle fan with all the vertices merely ray casting to the collision in the world. This is why sometimes the goo looks a bit thin. Gish seemed to have more volumetric stability, probably through being constructed from a flexible mesh of points.

To emulate the movement of the linked-to game, all you need to do is sum the forces (highly damped I guess) that are being exerted on the centre of the character by the ray cast collisions that are pretty obviously being used to power the character rendering. The sideways forces are simple as they apply whether on ground or not, and jumping can be managed through making the lower springs more tensile, but, that said, personally I'd actually return to platformer game physics and use some impulse system to directly affect the vertical momentum rather than try to get the physics to behave right for gameplay.

share|improve this answer
Can you link to some "more" informative article? – Vishnu Nov 24 '10 at 12:35
If you mean about the gameplay element, then not really as this is stuff that usually only gets more playable by tweaking variables and watching the response. If you mean about the rendering, then again, this is actually too simple to have a paper about it, it's just my immediate impression on playing the first level. – Richard Fabian Nov 24 '10 at 13:04
after reading this reply for more than 3-4 times I wish I could award you more points. Man the way you present things are really cool – Vishnu Nov 24 '10 at 13:09
oh I din't see you comment. saw it just now :) – Vishnu Nov 24 '10 at 13:10

The game you posted looks "heavily inspired" by Gish, a quite famous indie game from some years ago. You might want to look at the source code of Gish, which was published after the huge success of the Humble Indie Bundle.

Edit: I googled this blog entry, it mentions the physics engine at some point and recommends using Box2D instead. It might be useful to look how the tar ball was modeled in Gish and then try to implement that idea in another, better, physics engine of your choice.

share|improve this answer
Wow ! That is one heavy piece of information. Might as well mark this as the answer unless I find more informative replys before tomorrow. Thankyou. Thanks a million. – Vishnu Nov 24 '10 at 11:43

Those two games don't really have much to do with each other, and World of Goo doesn't actually contain anything that I would call "goo" since all the characters are just points. The closest I can think of to a generic answer to this question is that a "goo" is usually just a high viscosity fluid and could probably be modeled using a vector space. That wouldn't be particularly fast though, so you could probably cheat and use a triangle mesh with some extra vector data for each vertex.

share|improve this answer
i have edited my question.Can you elaborate on the triangle mesh concept,please? Or provide links to articles for the same? – Vishnu Nov 24 '10 at 8:08

You can check out the source for the game I made for PyWeek, "Bouncy 2". I'm sure there are better/more efficient solutions but it worked quite well for us.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.