as I promised... some soft blobs ;)

Community Forums/Showcase/as I promised... some soft blobs ;)

Bouncer(Posted 2003) [#1]
Get the demo:
www.kotiposti.net/naama/SOFT_TEST.zip




d/e = disable/enable gravity
c = add a few rigid boxes
z/x = toggle fps limit

There is still issues with the soft bodies... they might lose their original form if you punish them too much... I got the inversion problem somewhat covered , but it's not perfect.


EDIT - new file available... scroll down


dangerdave(Posted 2003) [#2]
Works great.
I couldn't get the 'jelly' balls to lose shape but
they did seem to 'eat' the boxes if I slammed a box at them as fast as I could.

The jelly balls slid down very realistically, pushing each other and the boxes.

GREAT stuff.

Can the 'softness' be controlled? (firm to extra soft)
What about other shapes?
Can it be used for cloth? (flag, cape, etc.)

Is this a in-house only thing or will you be making it available to others?


fredborg(Posted 2003) [#3]
Hehe, great as always... You should make the blobs a little transparent, so you can see the boxes when you have trapped them inside the blobs :)

When's the game coming?

Fredborg


JoshK(Posted 2003) [#4]
Imagine the possibilities for PornStar3D 2!


poopla(Posted 2003) [#5]
THats really awesome, nice stuff!


HNPhan(Posted 2003) [#6]
oh very nice :D


taxlerendiosk(Posted 2003) [#7]
Wow. Very, very good.


Bouncer(Posted 2003) [#8]
dangerdave: Softness can be totally controlled, and ANY kind of object can be used. And cloth can also be made.
I will not release the source, because it's all a part of my 2d rigid body engine, that I have been working for 6 months now. Cant beleave it's that long...

Fredborg: Not started on the game yet... trying to find some 3d artist and have been planning. It just seems that this engine is never ready :)

One thing I have also implemented is a kind of fur / grass system, so I can use grass on the ground which reacts to explosions and wind and such. It's pretty nice.

Ain't the verlet integration just great :)


Richard Betson(Posted 2003) [#9]
Very nice! :)

L8r,


Koriolis(Posted 2003) [#10]
This is simply excellent :)


Bot Builder(Posted 2003) [#11]
OMG this is Nice!!! how the heck did you do the blob-blob collisions? that's the real hard part. The softness is simply a factor of the strength of the springs, but the collisions are impressive indeed. Also looks like you have a file format to store verlet data. Congratulations. I didn't know your system was along so far.


Foppy(Posted 2003) [#12]
These are easily the most impressive blobs I have ever seen.


Dave(Posted 2003) [#13]
yeah this looks really nice, how about posting a screenshot of the grass system (sounds very cool).


Gabriel(Posted 2003) [#14]
Tis very cool. Forgive my ignorance, but is this part of some kind of library? Is it going to be available to license or something?


JaviCervera(Posted 2003) [#15]
Impressive !!!


Bouncer(Posted 2003) [#16]
Yes, the engine is pretty far... 100's of hours of work
Here are some features:

- Rigid bodies... all shapes and sizes.
* Sphere to Sphere collisions.
* Allmost perfect friction modelling
* Very stabile. Uses spring sorting technique for
maximum stability.
* Total control over the objects distribution of mass.
* Automatic springing of objects.

- Static objects...
* sphere to line collisions
* Supporting hundreds of lines per object, so very
complex static scenery is possible.

- Soft bodies
* Any shape possible
* Based on the same approach as the Rigid Bodies
* A technique for keeping the body in shape with
gradually stiffening springs.

- Joints and different kind of springs supported.

- Dynamic grass / hair

- Very fast collision checking
* Very optimized BB to BB checking
* Sphere to Sphere and Sphere to Line methods
* Modified superfast Sweep'n Prune algo. Optimized
for stacking huge amount of objects :)

- Dynamic timestepping supported... number of timesteps
can be added for more complex objects.

- Easy to use editor for creating Rigid Bodies, Soft bodies
and static objects. All in single editor.

- iBullet system for creating thousands one pixel sized
rigid bodies and with perfect collision to other objects.
* Very fast collision system based on a kind of color
buffering :) Don't know how to explain it really.


STILL TO DO:

- Breakable bodies... where one object could brake from any point. That would involve dividing and re-springing the particles and splitting the mesh to form two objects. Really hard to do... but would be super cool.


Bouncer(Posted 2003) [#17]
Sybixsus: I would love to release this as a library... just don't want to spread my code around... least not yet when I'm planning to do a game with it. But I'm thinking about it. If I could somehow make a dll or such, I would release it.


dangerdave(Posted 2003) [#18]
I understand your reasons Bouncer and this is why we need to be able use precompiled blitz code.

So many awesome libraries could be available and would help to drive a healthy library business for Blitz.


TheMan(Posted 2003) [#19]
Its really very good, keep bouncing bouncer :)


Bouncer(Posted 2003) [#20]
Here's a second test... where you can control the blobness (elasticity) of the blobs ;)
And there's also a badly textured human heart to go with it ;)

www.kotiposti.net/naama/soft_test2.zip

btw. Making the blobs too soft can have unpredictable effects...


poopla(Posted 2003) [#21]
Bouncer, if mark makes blitz to DLL compilation possible, will you liscense this?


JoshK(Posted 2003) [#22]
Bouncer, my feeling is that we can either each invent a slightly different version of the wheel, or we can each attack one single aspect of the whole, and collaberate. I figured out a while ago that Blitz users don't have any money. Trust me, no one's here waiting to take your code and get rich with some game without giving you credit or royalties for your code.


Bot Builder(Posted 2003) [#23]
hehe. that human heart is gruesome. especially if you get a crate stuck in it.

Does your system have 3d capability? right now it's running on a plane, but have you ever tried making it run in full 3d?


Michael Reitzenstein(Posted 2003) [#24]
Bouncer, my feeling is that we can either each invent a slightly different version of the wheel, or we can each attack one single aspect of the whole, and collaberate. I figured out a while ago that Blitz users don't have any money. Trust me, no one's here waiting to take your code and get rich with some game without giving you credit or royalties for your code.

Right. So release the Cartography Shop 3 source code, and we can start making some map editors!


coffeedotbean(Posted 2003) [#25]
WOW! You d'man. I can already see a Lines/Tertis/Colums style game with jelly counters.


Steve C ™(Posted 2003) [#26]
It's awesome!


Barnabius(Posted 2003) [#27]
Bouncer, perhaps you can put all the code not directly involved with Blitz3D engine into PowerBasic and turn it into a DLL. This DLL can then easily be used in Blitz without revealing most important parts of your code.

Barney


Gabriel(Posted 2003) [#28]
Just a thought : http://www.blitzbasic.com/bbs/posts.php?topic=25275


Bouncer(Posted 2003) [#29]
bot builder: It started as a 2D engine, so It's somewhat imposible to turn it 3D now. The same techniques could be used in 3D, but the collision system would be over my head. In 2D everything is quite a bit simpler, escpecially collisions.


(tu) sinu(Posted 2003) [#30]
what can i say, simply breathtaking, this would be so awesome in a puzzle style game.

"The same techniques could be used in 3D, but the collision system would be over my head. In 2D everything is quite a bit simpler, escpecially collisions."

and i'm guessing 2d was when you first started, don't let that hold you back.


Bot Builder(Posted 2003) [#31]
oh yeah. a 2d physics system is fine. I was just wondering how much competition my system was getting. of course my systems not even truely off the ground yet...... And yes. the clencher is the collision stuff. especially when you're an insane perfectionist like me, and want to make the collisions ten times as fast as blitzes. okay, so equaling blitzes would be extremly good anyway.


Bouncer(Posted 2003) [#32]
Blitzes collisions are slow... You can easily make faster system. I was just thinking about poly to poly collison stuff, that's a bit difficult to get really fast... but blitz doesn't do that either. I would do a 3D version with same kind of collisions I have allready, but I don't have use for it. I'm more of a 2d person. I know, it's rare these days :)


JoshK(Posted 2003) [#33]
No one is waiting around to steal your source and not give you credit or whatever royalities you ask for. The way I see it, we can each invent our own version of the wheel, or a few people can develop in one specific area and share with everyone else. I don't have enough time to write a map editor, handle character animations, and write a physics engine, but I can do two of those things and share them.

I figured out a while ago that Blitz users have no money. Blitz sales account for about %2 of total CShop sales. They also don't make games, so there's no danger of someone getting rich off your work. About the only thing the Blitz community is good for is maybe getting some specific code and ideas from.


Bouncer(Posted 2003) [#34]
Deja-vu?

"They also don't make games, so there's no danger of someone getting rich off your work."

All I see is new game demos coming every day, so don't know about that ;)

"No one is waiting around to steal your source and not give you credit or whatever royalities you ask for."

I'm not worried about that. If I was to spread my system as a library, It would be free.

It's just that if I struggle with something for 6 months, it's kind of like my baby, wouldn't want to just give it away in a orphanage. :) lol. --> Bad metafore.

And as I said... I'm gonna use it for some projects, which might be shareware, so there's no point making the engine open source.

What don't you make C-shop open source then?


Bouncer(Posted 2003) [#35]
Did some speed testing with reduced detail blobs (still nice though. The original blobs had 18 particles per blob, these babies only consist of 7 particles.

-->


100 blobs 75fps on my athlon 1500xp. I think it's pretty
good.

bot builder: and as you were wondering how I did those collisions... It's just sphere to sphere...

Here you can see the collision zones image:
(not the same capture as above obviously)




Bouncer(Posted 2003) [#36]
damn these double posts... what am I doing that I shouldn't?


sswift(Posted 2003) [#37]
I haven't looked at the demo but it looks pretty cool from the screenshots.

But I can't think of a damn thing to use these for in a game. :-)

I mean obviously at some point people will want to model soft bodies to have very realistic physics, but in everyday life, how many really soft things are there around you that you'd want to interact with in a game? A beanbag chair? :-)

These blobs are pretty cool anyhow though. They look kind of alien so maybe there'd be some use for them in a game like Half Life.


JoshK(Posted 2003) [#38]
CShop is actually pretty profitable in other markets. I made my Blitz game engine open-source because I'd rather we all compete with the big players together rather than trying to outdo each other's sad little demos.


Bot Builder(Posted 2003) [#39]
hmmm. that's interesting. I guess I was thinking you might be doing some line-intersect stuff, but your current model is effective enough. the 100 blobs look really cool


Bouncer(Posted 2003) [#40]
Halo:
You can't ever compete with the big boys,not with a fps shooter. I don't see what's the point of doing a sad FPS shooter anyway these days. And I also think that it's pointles to try to create somekind of all-purpose fps engine, which everybody can then add to, there's just too much compromises. If you really wanna compete with "The Big Boys" then you'll better come up with some good new ideas.

Even if you did a great FPS with all the media and latest technology, which I doubt, you'll never gonna seriously compete with the big companys.

Blitzes 3d engine is never going to be enough for an fps that is going to make any impact in a game world. Why don't you just do your own 3D engine from scratch, and I don't mean no Blitz / OpenGL "engine", use C++ and all the latest DX GFX gimmicks, then you might have a chance. And ofcourse with those 10,000$ for the media.


Klapster(Posted 2003) [#41]
A little optimism and ambition never hurt anyone!


CyBeRGoth(Posted 2003) [#42]
Love the soft blobs!

You could make a cool puyo puyo type puzzle game with them and it would be pretty sweet!


bradford6(Posted 2003) [#43]
I agree with Bouncer on the FPS thing.

the "little guys" have 2 HUGE advantages over the "Big Boys"

Innovation and creativity.

If you want to sell your software it must fill a niche in the Marketplace. FPS aint gonna cut it. we are oversaturated with FPS. 1/2 life, doom, quake, splinter cell, rougue spear, blah, blah.

one thing a small developer can make is the next tetris, lemmings or such. something unique and addictive.

gameplay rules the roost.


koekjesbaby(Posted 2003) [#44]
the "little guys" have 2 HUGE advantages over the "Big Boys"

Innovation and creativity.


i don't agree. not only because you suggest that the "big boys" don't have creative and innovative employees but also because original games don't sell anymore (sadly). for example: rez, vib ribbon and doshin the giant were all innovative and creative games but sold really poorly while really crappy games, such as enter the matrix, made huge profits.

the limitations you have by working with so little manpower can force one to be creative and innovative but it's no guarantee for a great game.

what bouncer said (except for the "pointles to try to create somekind of all-purpose fps engine" part) is harsh but very true, it's almost inpossible to compete with the "big boys" using blitz.

but should you care?

i use blitz because i like making games and i don't like hardcore programming. i like to think how the game should work, not how a triangle is rendered or how a 3d model is loaded. blitz is realy great for that purpose, the engine that halo is building is equally great for that purpose.

or something like that ;)