Page 2 of 5

Re: Games using bepu

Posted: Fri Feb 24, 2012 12:50 am
by Abuzer
Hey there,

Looks like this thread has been dormant for a while, so I figured I'd post some info about our game we've been working on to get it the ball rolling again.

I posted a dev-blog entry briefly discussing our BEPU integration into our game:
http://www.pixelfoundrygames.com/index. ... to-physics

The link to our company and game site is: http://www.pixelfoundrygames.com/

...and a gratuitous screen shot from the dev blog post:
Image

Cheers

V

Re: Games using bepu

Posted: Fri Feb 24, 2012 4:33 am
by Norbo
Awesome! It's looking great :)

I'm glad to hear that integrating a custom collidable wasn't a massive pain; those 'deeper' extensions don't get as much testing/cleaning as the high level API. There's especially quite a bit of redundancy between the static collidables (Terrain, StaticMesh, InstancedMesh) that could be abstracted up. Did you happen to run into any significant issues when it came to plugging the cube terrain collidable into the engine?

Re: Games using bepu

Posted: Sat Feb 25, 2012 2:52 am
by Abuzer
Norbo wrote:Did you happen to run into any significant issues when it came to plugging the cube terrain collidable into the engine?
No actually it was relatively pain-free especially since the terrain implementation already took care of the majority of the framework pointing out what I had to plug to get it functioning properly. It was mostly a matter of translating the assumptions made in the terrain to work in all dimensions.

I'd probably say the biggest effort was put into getting an efficient GetOverlaps() implementation going. The final idea I used was to "reverse project" the incoming bounding box from the curved space above each face to a flat space defined by the face's coordinates before extracting the min/max verts from the shape's data set. It worked out pretty nicely and I added a debug draw callback into the function to verify the set of verts that were being hit during each collision. The one hack I had to add in the end was to grow the incoming bounding box by one unit in each direction and to this day, I don't know why that is the case.

The other function I spent a bit of time on was the RayCast function because it's fairly tough to shoot a ray in any given direction and get an accurate hit on a displaced sphere. While you can easily get up to the sphere's boundaries, (and unless I'm missing a known algorithm) from that point on, it comes down to ray marching (be it in pre-calculated steps - like cone stepping - or constant steps). All in all, I think I have it returning down to 0.0000001 accurate results within 20-50 height queries on the surface lookups. I'm thinking I could look into doing a full cell step which is similar to the way the terrain raycast works to further optimize the lookup, but we don't rely on it too much to warrant further optimizations right now. Of course I have the obvious optimization where I return the result in one shot if the ray is cast directly to the origin on the cube terrain which happens when an object requests its "altitude".

Last but not least, the function I had a bit more trouble than I thought was going to have is the ProcessCandidates() function where it checks to see if the object is inside the cube terrain and pushes it out if necessary. After a long time fiddling, optimizing etc, it finally hit me that the normal of the contact was the inverse of what I thought it was supposed to be :) But again the cool part is that it's a one shot call to see if the given object is inside the terrain. :)

Down the line, depending on how crazy we get with the number of physics related elements in the game, I'm thinking that I could probably keep optimizing the GetOverlaps() function and potentially special case it for certain primitive types if need be, but so far I haven't had to do it.

At first, I was hoping that I was going to be able to implement my custom collidable in a "plug-in"-like separate csproj, but after going a tiny bit into it, I realized that it wasn't going to work as I had expected because the API is expecting that collidables are compiled in and much of the functionality is tagged as "internal" keeping external libs from accessing them. Definitely a good thing for an end user who doesn't want to have to shuffle through things they are not really meant to see unless he's adding new features to the engine, and also probably good for speed purposes as the compiler can be more liberal about certain things when the given interface is not public.

Phew that was a long post! :)

Re: Games using bepu

Posted: Sat Feb 25, 2012 9:39 am
by Norbo
Interesting! Always good to hear how it's being used :)

Re: Games using bepu

Posted: Mon Apr 09, 2012 2:35 am
by jsuffolk

Re: Games using bepu

Posted: Mon Apr 09, 2012 3:14 am
by Norbo
Cool, neato! :)

Re: Games using bepu

Posted: Sun Sep 02, 2012 9:05 pm
by LostMachete
Hey Guys,

My new game 'Null Battles' was just released on Xbox LIVE Indie Games! It utilizes Bepu for zero gravity combat.

http://marketplace.xbox.com/en-US/Produ ... c7?cid=RSS

I'd like to thank Norbo for his help along the way!

Re: Games using bepu

Posted: Sun Sep 02, 2012 9:44 pm
by Norbo
As an expert in assemblages of balls and boxes, I can say that is a realistic simulation of ball/box based warfare. Well done!

Re: Games using bepu

Posted: Sat Nov 24, 2012 10:55 am
by 6thVenom
Hi there, i had worked on a project for quite a while now, it's called "Steel Warriors" and it's a run'n gun like Contra and Metal Slug series.

It's a solo project that've been recently putted on hold, but i'd want to share with you the actual state of the prototype, it's coded over the XNA framework and use BEPUphysics for collisions and bullets checks mainly.

You can see 4 little videos on this Youtube channel:
http://www.youtube.com/playlist?list=PL ... H1EiOybZmq

Thanks to BEPUphysics and Norbo.

:)

Re: Games using bepu

Posted: Sat Nov 24, 2012 9:32 pm
by Norbo
Looks great! Extremely polished, smooth, and content-filled (burrowing snow plain worm in the background :)), especially for a prototype :)

Re: Games using bepu

Posted: Fri Dec 21, 2012 2:47 pm
by Eclectus
Lots of good looking games here, thanks for sharing :)

Re: Games using bepu

Posted: Sun Jan 13, 2013 7:22 am
by Tiba
here is what i have got going so far.
it get cool aroud the 2:15 mark

http://www.youtube.com/watch?v=uXI8sdyLMds

Re: Games using bepu

Posted: Sun Jan 13, 2013 7:43 am
by Norbo
Nice :)

Re: Games using bepu

Posted: Fri Jan 25, 2013 2:07 pm
by Phippu
And here's a video of my latest game: http://www.youtube.com/watch?v=MwX8_taklLM :D

Prospeed:Wavecraft is a little boat racing game. The project is currently in open beta, you might get it over there: http://www.windowsphone.com/de-ch/store ... 754abd06e7

Enjoy :P

Re: Games using bepu

Posted: Thu Jan 31, 2013 11:56 am
by ruggy
My game Vampire Slayer FPS uses Bepu. Mostly for the static mesh collision, environment to the character controller class. Also use it for simple ragdoll when players die and the raycasts for bullets.



Marketplace: http://marketplace.xbox.com/en-US/Produ ... 0258550c53

I've PM'd you a redeem code for it Norbo. Thanks for the great physics engine.