Hi everyone, you might remember, I've mentioned a soft-body physics engine I've been working on. I've also been building a game around it using Orx. Today, the game has matured to the point that I'd call alpha stage, so I've decided to make a gameplay video. You can watch it below:
We're planning to release the game for both Android and iOS within 1-2 months.
' Really like the Soft Body Bred
The unique idea belongs to my wife, it was born out of a strict constraint: To make a simple game around the soft-body physics engine. I had originally made the engine as a hobby project without a purpose.
I am just wondering how good is the performance? It seems something quite hard to simutale.
I find that the wooden frame clashes a bit with the rest of the art, but, after re-reading your original post, given it's in alpha, I now realize that it's probably a placeholder. ^^
The performance is quite sensitive to many things; especially the stiffness of the cheese. The problem is that, the stiffer a material is, the harder it is to keep the simulation numerically stable (i.e you need shorter time-steps). At this stiffness level, I can simulate around 20-30 lumps of cheese like that (~100 particles per lump) on a modern PC, and I'm not taking advantage of multiple cores at all. The problem is quite easy to parallelize (at least with the current implementation) but I want to support single-core devices as well, and I have to program for the worst-case anyway. I might actually drop support for single-core devices towards release and parallelize, but that'll be an entirely commercial decision.
At this stiffness level, I need to simulate the cheese with 500 microsecond time-steps, which is doable, but if you wanted to simulate, say a wooden plank using this very method, you'd probably need a 10-20 microsecond time-step. So you'd probably use another method. I'm using a simple 1st order Euler solution (i.e the simplest one can imagine), so a more sophisticated numerical solver could most probably stay stable with much higher time-steps. There are probably infinitely many ways of optimizing this (both algorithmically and software-wise) but the current method suffices for my use. I'm sure what Idesik has been integrating to Orx is much more powerful.
iarwain wrote: Definitely, it's a placeholder from when I was working on the engine without a game in mind.