Jump to content


Photo

Phyzx - Physics Engine. V2 Out.


  • Please log in to reply
185 replies to this topic

#1 Revel

Revel

    ɹǝqɯǝɯ ɔɯƃ

  • GMC Member
  • 4935 posts
  • Version:GM8

Posted 21 May 2009 - 04:58 AM

I was working on wrapping a physics engine called "Box2D" because it seemed like a simple physics engine that could allow me to create easy and good looking physics based games. So lets talk about the DLL.

Why would you choose PhyzX?
PhyzX is an easy to use physics wrapper all in a single DLL. PhyzX also features an object deactivation system. When a body isn't in motion, it isn't simulated. Whats the point in simulating a body that's not in motion? This allows for hundreds of bodies in your world at a time. Of course there are larger more powerful engines, but this is to help newer users get started with easy physics.

How does it work?
All you need to do is initialize the DLL and specify your worlds gravity, boundaries, etc. Then all you need to do is create objects such as boxes, circles and polygons using the functions provides. Everything is simulated by calling px_worldstep(). You should call this every step to simulate your bodies. The DLL also support joints which is used for linking bodies together.
Comes with an awesome playground to try it out and hopefully you can study it to learn more!

Functions - These are a few major functions without argument info. See the GMK for instructions in each script.
PX_Init(); - This will initialize the DLL. You must call this prior to using Physics functions.
PX_WorldSimulate() - Simulates one step in the physics world. Use this every step.
PX_BodyCreate() - Creates a new body.
PX_BodyUpdate() - Use this to update your object with the body properties such as X,Y and angle.

Download
Posted Image

Troubleshooting:
As of V2, this is the only error I have seen:
Posted Image
Very frustrating because I cannot determine the problem. I think it happens when you try and make a polygon with an angle that is really small:
Posted Image
But I'm not sure. If you find out what is causing the problem (eg. what your trying to do when the problem occurs), please let me know.

Edited by Revel, 03 February 2010 - 03:55 AM.

  • 0

#2 Postality

Postality

    GMC Member

  • New Member
  • 244 posts

Posted 21 May 2009 - 05:58 AM

the link might not be correct as the link points to a FLV to download...
  • 0

#3 IceMetalPunk

IceMetalPunk

    InfiniteIMPerfection

  • GMC Elder
  • 9603 posts
  • Version:GM:Studio

Posted 21 May 2009 - 06:08 AM

The link URL is a ZIP, but then WillHostForFood redirects it to an FLV...

-IMP :) ^_^
  • 0

:GM123: Are you an artist who likes creating original creature designs? Maybe you can help out with Elementa here! Give it a look; you might like the idea :)

:bunny: :excl: :bunny: :excl: :bunny: :excl: :bunny: :excl: :bunny: :excl: :bunny: :excl: :bunny: :excl: :bunny: :excl: :bunny: :excl: :bunny:


#4 Revel

Revel

    ɹǝqɯǝɯ ɔɯƃ

  • GMC Member
  • 4935 posts
  • Version:GM8

Posted 21 May 2009 - 06:15 AM

Sorry about that.

I changed the simulation step alot so the performance is alot better!


New Link


Sorry about the host... Mediafire.com wont take the file for some reason.

Edited by Revel, 21 May 2009 - 06:17 AM.

  • 0

#5 Newly Discovered

Newly Discovered

    Harmonious Genius

  • GMC Member
  • 2475 posts
  • Version:GM8

Posted 21 May 2009 - 07:31 AM

bad sprites = bad collisions.
your room could have been better too...at least put some effort into the display.

I tried fixing it, but your boxes swing stupidly and your triangles must be made from points, so screw it.
  • 0

poof_sig.png


#6 MrOpposite

MrOpposite

    Yesterdays games

  • New Member
  • 744 posts

Posted 21 May 2009 - 09:20 AM

I might use this instead of GMphysics, wich i am currently using in one of my WIPs I just have to look into it some more ^_^
  • 0
I'm working on a new project. The project name is "Timeline"

Reinventing the wheel is stupid, but stealing a car is illegal.

#7 icuurd12b42

icuurd12b42

    Self Formed Sentient

  • GMC Elder
  • 18181 posts
  • Version:GM:Studio

Posted 21 May 2009 - 10:52 AM

What, no BodyDestroy()?


PX_BodyUpdate(sq);

Looks like you are using a gm lib here. If so, why use this function. You can probably keep the ID references in the dll and call this function internaly in your world simulate call. That way, no code needed in the instances...

Clean and simple interface. I like it a lot.

Edited by icuurd12b42, 21 May 2009 - 10:53 AM.

  • 0

gmcbanner.pnggmcbanner_tools.png

ICU Live Tutoring Through Slack or Skype | My Tools Page follow.png

I FRANTICALLY MADE MY 18000 POST TOPIC BEFORE MIKE ANNOUNCED A DELAY...
Now I'm squirming not to hit that reply button


#8 Schyler

Schyler

    Noskcirderf Derf

  • GMC Member
  • 2680 posts
  • Version:GM:Studio

Posted 21 May 2009 - 10:59 AM

The box physics are a let-down = /
  • 0

#9 TheMagicNumber

TheMagicNumber

    GMC Member

  • GMC Member
  • 5247 posts
  • Version:Unknown

Posted 21 May 2009 - 11:48 AM

Something tells me that your compiler included the debug information. Do you think you could remove that (maybe you built for debug and not release).

Anyways, good to see this. ^_^ What you should do is make the example drop more then triangles.
  • 0

#10 Revel

Revel

    ɹǝqɯǝɯ ɔɯƃ

  • GMC Member
  • 4935 posts
  • Version:GM8

Posted 21 May 2009 - 01:48 PM

What, no BodyDestroy()?


Ill add that today along with JointDestroy();

I'm also going to be adding "ShapeAdd();" This will allow you to have multiple polygons/squares, etc on one body (Rather than using joints between bodies)

PX_BodyUpdate(sq);

Looks like you are using a gm lib here. If so, why use this function. You can probably keep the ID references in the dll and call this function internaly in your world simulate call. That way, no code needed in the instances...

Clean and simple interface. I like it a lot.


Im not sure what you mean by" Looks like you are using a gm lib here". Also, Its possible to keep the ids internal, but that would require passing the object ID during the body creation so the DLL knew what object to update. I thought this would be easier to one object could control multiple bodies.


The box physics are a let-down = /


Whats wrong with them?

Something tells me that your compiler included the debug information. Do you think you could remove that (maybe you built for debug and not release).

Anyways, good to see this. smile.gif What you should do is make the example drop more then triangles.


What makes you think that? Did you get an error? And I'm going to be expanding the example later.

your room could have been better too...at least put some effort into the display.


And I'm going to be expanding the example later. Right now I'm just trying to show how they look and how you can get great FPS with many bodies.

I tried fixing it, but your boxes swing stupidly and your triangles must be made from points, so screw it.

Yes the triangles are made from points. Whats the problem? And Why... What makes the box look "stupid"?

bad sprites = bad collisions.

The sprites have nothing to do with collisions. All the collisions are from the body shape you specify. Sprites are just to display the bodies. I did update the triangle sprite so the collisions look better. Download Here

Edited by Revel, 21 May 2009 - 01:51 PM.

  • 0

#11 freaked

freaked

    freak up!

  • New Member
  • 890 posts

Posted 21 May 2009 - 03:00 PM

Nice dll you have here !
I did have some fun messing with the example but my initial poking arounds are causing a lot of slowdown at startup.
Ie, everything's frozen when I play the game and 5 seconds later they come to life.
Also, there's no documentation for PX_WorldCreate.
I also got an Assert error.
Also your example updates the bodies twice every step. Once in the world object and second in the individual object's step events. Is this intended ?
[edit5]
---------------------------
Microsoft Visual C++ Runtime Library
---------------------------
Assertion failed!

Program: ...\shibjash\LOCALS~1\Temp\gm_ttt_99085\PhyzX.exe
File: C:\Documents and Settings\Bradley\Des...\b2Shape.cpp
Line: 102

Expression: inRange

For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts

(Press Retry to debug the application - JIT must be enabled)
---------------------------
Abort   Retry   Ignore   
---------------------------

Edited by freaked, 21 May 2009 - 03:08 PM.

  • 0

#12 icuurd12b42

icuurd12b42

    Self Formed Sentient

  • GMC Elder
  • 18181 posts
  • Version:GM:Studio

Posted 21 May 2009 - 11:56 PM

Oh, I did not inspect PX_BodyUpdate... I thought you used a GM c++lib type setup like this one which supports mass instrance update
http://gmc.yoyogames...opic=420970&hl=
right in the dll.

Edited by icuurd12b42, 22 May 2009 - 12:04 AM.

  • 0

gmcbanner.pnggmcbanner_tools.png

ICU Live Tutoring Through Slack or Skype | My Tools Page follow.png

I FRANTICALLY MADE MY 18000 POST TOPIC BEFORE MIKE ANNOUNCED A DELAY...
Now I'm squirming not to hit that reply button


#13 Revel

Revel

    ɹǝqɯǝɯ ɔɯƃ

  • GMC Member
  • 4935 posts
  • Version:GM8

Posted 22 May 2009 - 12:00 AM

Ie, everything's frozen when I play the game and 5 seconds later they come to life.

Is it your FPS or just the simulation? How many bodies are being created?


Also your example updates the bodies twice every step. Once in the world object and second in the individual object's step events. Is this intended ?


The ones in the world object (object0) are for the ground and wall bodies. I now realize that its pointless returning the ground properties.


About the error.

What were you trying to do when the error occurred?
  • 0

#14 icuurd12b42

icuurd12b42

    Self Formed Sentient

  • GMC Elder
  • 18181 posts
  • Version:GM:Studio

Posted 22 May 2009 - 12:04 AM

I got a failed assertion

in b2Broa...ase.cpp,
line 239
m_proxyCount < b2_maxProxies


I think I added too many triangles
  • 0

gmcbanner.pnggmcbanner_tools.png

ICU Live Tutoring Through Slack or Skype | My Tools Page follow.png

I FRANTICALLY MADE MY 18000 POST TOPIC BEFORE MIKE ANNOUNCED A DELAY...
Now I'm squirming not to hit that reply button


#15 MitchGraham

MitchGraham

    GMC Member

  • Banned Users
  • 524 posts

Posted 22 May 2009 - 12:23 AM

Because of the activation, this dll provides some highly unstable Fps.

Sure, you can have 300 physical objects without lag, resting peacefully in a pile..

But just tap one of those instances, and suddenly you drop from 30 to 3 fps, as they are all awakened.

Overall, I think it would benefit from being brute-force, not taking activation into account. Just imagine a game where you simulate the tinyest bit of wind blowing your objects around slightly... A great effect, but all of the "efficient" de-activation checks suddenly become painful overhead. When you could get 300 moving objects on screen with brute-force, this would only get 200.

So, at the very least, give an option to turn off deactivation, as I think the whole engine would benefit from it. (Never thought I'd say that <_< )

#16 Revel

Revel

    ɹǝqɯǝɯ ɔɯƃ

  • GMC Member
  • 4935 posts
  • Version:GM8

Posted 22 May 2009 - 12:39 AM

How many did you add?
Did it happen when you tried to add a body?

Update:
BodyDestroy and JointDestroy now available!

Download
  • 0

#17 icuurd12b42

icuurd12b42

    Self Formed Sentient

  • GMC Elder
  • 18181 posts
  • Version:GM:Studio

Posted 22 May 2009 - 01:18 AM

How many did you add?
Did it happen when you tried to add a body?


It poped when I clicked to add another triangle...

I was at about 480 I think.
  • 0

gmcbanner.pnggmcbanner_tools.png

ICU Live Tutoring Through Slack or Skype | My Tools Page follow.png

I FRANTICALLY MADE MY 18000 POST TOPIC BEFORE MIKE ANNOUNCED A DELAY...
Now I'm squirming not to hit that reply button


#18 Revel

Revel

    ɹǝqɯǝɯ ɔɯƃ

  • GMC Member
  • 4935 posts
  • Version:GM8

Posted 22 May 2009 - 02:37 AM

It looks like the limit on bodies is 512. I'm trying to change it in the DLL however it still pops an error at about 512. Ill try and create a larger limit, but hopefully you wont need over 512 bodies right now <_<
  • 0

#19 MrOpposite

MrOpposite

    Yesterdays games

  • New Member
  • 744 posts

Posted 22 May 2009 - 06:22 AM

Hmm, I've seen a smilar limit in a commersial flash physics game, when you go over a amout of objects the engine spazz out, either by only "half-start" or "black-holeing"
  • 0
I'm working on a new project. The project name is "Timeline"

Reinventing the wheel is stupid, but stealing a car is illegal.

#20 icuurd12b42

icuurd12b42

    Self Formed Sentient

  • GMC Elder
  • 18181 posts
  • Version:GM:Studio

Posted 23 May 2009 - 08:50 AM

Here. You can use this for your demo...

Download PhyzX.gmk

Added boot room to init the dll and add a ds_map for shapes
Added a SetupRoom to setup the shape of any object you may add later

Added a car

The BootRoom setups the dll and goes to the next room
In that room, you drop your objects you want to define a shape for
On the edges of the object, you add nodes that define the shape of the object. You can quickly add new objects that way.
A controller defines the shape and add them to a ds map and goes to the next (real) room

The car gets it's body from the ds map on create (BTW, you are very limited as far as shape complexity, I got an assertion failure, numvertices bigger than maxnumvertices

I also added static nodes with a controller to set them up (they are red). Static node are placed in the room. a pair defines a wall or slope or floor. I plane some to define the ground arround tiles.

you click at 100,100 to place a node, then at 200,100 for another. then another on top; 200,100. then another at 300,300 to make a slope down. Make sure to uncked Delete Underlying so not to delete node by mistake.

Right click will add a car. The view follows it

I can't figure how to make the car move though.

Edited by icuurd12b42, 23 May 2009 - 08:55 AM.

  • 0

gmcbanner.pnggmcbanner_tools.png

ICU Live Tutoring Through Slack or Skype | My Tools Page follow.png

I FRANTICALLY MADE MY 18000 POST TOPIC BEFORE MIKE ANNOUNCED A DELAY...
Now I'm squirming not to hit that reply button


#21 MrOpposite

MrOpposite

    Yesterdays games

  • New Member
  • 744 posts

Posted 23 May 2009 - 10:42 AM

I have all the functions I need, exept for a PX_PolyDelete function
  • 0
I'm working on a new project. The project name is "Timeline"

Reinventing the wheel is stupid, but stealing a car is illegal.

#22 freaked

freaked

    freak up!

  • New Member
  • 890 posts

Posted 23 May 2009 - 12:46 PM

I can't figure how to make the car move though.

PX_BodyAddForce(...) works fine for me. Its a shame to see such an easy physics sim dll getting only a handful of replies.
  • 0

#23 dadio

dadio

    Potato King

  • YoYo Games Staff
  • 2740 posts
  • Version:GM:Studio

Posted 23 May 2009 - 01:15 PM

I'll have a proper play around with this when I get the chance.

I'm sure there are plenty of people out there waiting for a super simple (solidly working) physics solution.
Good example .gmks & instructions will be needed for more replies.

I'll get back with a proper response when I've played with it more.
  • 0

AczgxAZ.png5aj9t5.jpg
 


#24 icuurd12b42

icuurd12b42

    Self Formed Sentient

  • GMC Elder
  • 18181 posts
  • Version:GM:Studio

Posted 23 May 2009 - 01:49 PM

I can't figure how to make the car move though.

PX_BodyAddForce(...) works fine for me. Its a shame to see such an easy physics sim dll getting only a handful of replies.


Can you check the demo I uploaded (post above) because I can't get it to work... Aside from making it twirl in mid air. I can't get the car to start rolling.

BodyAddForce takes the x,y which is where the force is applied... if x,y match the object x,y nothing happens. Any other value makes to car rotate on itself (when NOT on the ground). When on the ground, it seems to have no effect.
  • 0

gmcbanner.pnggmcbanner_tools.png

ICU Live Tutoring Through Slack or Skype | My Tools Page follow.png

I FRANTICALLY MADE MY 18000 POST TOPIC BEFORE MIKE ANNOUNCED A DELAY...
Now I'm squirming not to hit that reply button


#25 Revel

Revel

    ɹǝqɯǝɯ ɔɯƃ

  • GMC Member
  • 4935 posts
  • Version:GM8

Posted 23 May 2009 - 05:25 PM

I have created a Car example for anyone what wants to see how its done.

Download CarExample.zip


When creating a car, make sure you use lots of joints (I used 3 per wheel) so it is nicely connected to the car. One joint is too floppy.

Also, nowhere are do you need BodyAddForce. You need BodyAddTorque on the wheels.

Edited by Revel, 23 May 2009 - 05:26 PM.

  • 0

#26 dadio

dadio

    Potato King

  • YoYo Games Staff
  • 2740 posts
  • Version:GM:Studio

Posted 23 May 2009 - 10:03 PM

Love it!

Strikes me as the easiest to use so far of the Physics engines.
Also, apart from the body limit (which is actually very reasonable!) I have yet to crash it out or cause it to glitch badly. :)
Very nice & solid so far!
Love that it's 100% free of any copyright issues (using Box2D)
Keep up the fantastic work!

I hope to see this updated & all the Box2D stuff implemented eventually!

*Verrry* nice speed on this too! :) - I think your priority right now should be getting a load of good examples together that show off everything that's currently in there - make people see what it's capable of.
Very best of luck!
  • 0

AczgxAZ.png5aj9t5.jpg
 


#27 Revel

Revel

    ɹǝqɯǝɯ ɔɯƃ

  • GMC Member
  • 4935 posts
  • Version:GM8

Posted 23 May 2009 - 10:09 PM

Thanks!

Also, apart from the body limit (which is actually very reasonable!) I have yet to crash it out or cause it to glitch badly.


Be careful of building your polygons. If you build it incorrectly (concave or not counter-clockwise) then you will get an error.
  • 0

#28 pujal

pujal

    Free Fantasy

  • New Member
  • 197 posts

Posted 23 May 2009 - 10:19 PM

Glad to see someone else attempting this Revel, please keep at it :).

EDIT: Trying to do top-down physics with this and having some trouble with movement. If I add force behind the object it just spins off crazily or goes either up or down, no matter what direction I apply the force from, any idea what I'm doing wrong? Is there a better way to simulate a walking character?

EDIT2: Nevermind, setting it's position seems to work nicely.

Edited by pujal, 23 May 2009 - 11:08 PM.

  • 0

#29 TheMagicNumber

TheMagicNumber

    GMC Member

  • GMC Member
  • 5247 posts
  • Version:Unknown

Posted 24 May 2009 - 03:10 AM

Have you tried BodyAddTorque?
  • 0

#30 pujal

pujal

    Free Fantasy

  • New Member
  • 197 posts

Posted 24 May 2009 - 03:37 AM

torque just spun it around.
  • 0

#31 icuurd12b42

icuurd12b42

    Self Formed Sentient

  • GMC Elder
  • 18181 posts
  • Version:GM:Studio

Posted 24 May 2009 - 04:08 AM

It's all fine and good but none answered my question. How do you move an object like my car in my example, without wheels, or a simple character walking on platforms...

Do you need to add MotionSet and a MotionAdd that applies on the entire body? Or do the supplied functions do it?
  • 0

gmcbanner.pnggmcbanner_tools.png

ICU Live Tutoring Through Slack or Skype | My Tools Page follow.png

I FRANTICALLY MADE MY 18000 POST TOPIC BEFORE MIKE ANNOUNCED A DELAY...
Now I'm squirming not to hit that reply button


#32 pujal

pujal

    Free Fantasy

  • New Member
  • 197 posts

Posted 24 May 2009 - 06:46 AM

It's all fine and good but none answered my question. How do you move an object like my car in my example, without wheels, or a simple character walking on platforms...


As I found out myself, the SetPos script provided works well for precise movement as it still stops the body when colliding with other bodies. Unfortunately it will probably fail when hitting a slope. The addForce script is probably your best bet, if you can get it to work correctly.
  • 0

#33 nomar522

nomar522

    GMC Member

  • New Member
  • 124 posts

Posted 24 May 2009 - 04:54 PM

I've used Box2D for flash, and this is pretty darn good. Alhough one of the main things that would help for testing a game is using drawing functions instead of sprites. That way you don't need a sprite for every different shape you use.
  • 0

#34 Maarten Baert

Maarten Baert

    GMC Member

  • GMC Member
  • 750 posts
  • Version:GM8.1

Posted 26 May 2009 - 08:23 PM

Crashed at 510 bodies: Assertion failed, proxies>maxproxycount. Go to b2Settings.h and use a higher value for maxproxies, something like 1024 or 2048 instead of 512.

I know box2D, and I am a bit surprised it isn't faster. I am currently working on a GM physics engine myself, which can handle 800 bodies at 30fps in GM. In your example I had only 300 objects at 28fps. I think there's something wrong with your compiler settings, Box2D should be faster than this. Did you enable optimizations?

Why are you calling it 'Phyzx'? Why not 'Box2DforGM' or 'GMbox2D'?

Edited by matrebatre, 26 May 2009 - 08:24 PM.

  • 0
Posted Image

#35 icuurd12b42

icuurd12b42

    Self Formed Sentient

  • GMC Elder
  • 18181 posts
  • Version:GM:Studio

Posted 26 May 2009 - 08:59 PM

Why are you calling it 'Phyzx'? Why not 'Box2DforGM' or 'GMbox2D'?


Oh so it's box2d... I played with it along with a few other. as far as speed these are my results

PhysX and Bullet are on top about the same speed (no PhysX chip on my pc) (I thought this was using PhysX by nvidea, so the name is misleading)
Newton Physics (about mid point between box2d and bullet)
Box2d (way slow) And no I am not surprised about the performance. 300-500 instances was about the max I could get out of the native example on my old laptop when physx was at about 3000. And that really surprised me because physx is 3d and box 2d is not.


Newton offered the best ballance for speed and accuracy. Not fast but less errors when you have a ton of objects colliding.
  • 0

gmcbanner.pnggmcbanner_tools.png

ICU Live Tutoring Through Slack or Skype | My Tools Page follow.png

I FRANTICALLY MADE MY 18000 POST TOPIC BEFORE MIKE ANNOUNCED A DELAY...
Now I'm squirming not to hit that reply button


#36 Revel

Revel

    ɹǝqɯǝɯ ɔɯƃ

  • GMC Member
  • 4935 posts
  • Version:GM8

Posted 26 May 2009 - 10:20 PM

Crashed at 510 bodies: Assertion failed, proxies>maxproxycount. Go to b2Settings.h and use a higher value for maxproxies, something like 1024 or 2048 instead of 512.


I tried that however it still crashed at 510 when I tested it.

Why are you calling it 'Phyzx'? Why not 'Box2DforGM' or 'GMbox2D'?

Because I wanted something more original? I don't think people care what engine it uses, as long as it works...

In your example I had only 300 objects at 28fps.

I think that's the simulation step has 80 iterations which is actually quite alot but it provides a very accurate simulation.


I thought this was using PhysX by nvidea, so the name is misleading

Yea I forgot about nVidia when I named this project.
  • 0

#37 icuurd12b42

icuurd12b42

    Self Formed Sentient

  • GMC Elder
  • 18181 posts
  • Version:GM:Studio

Posted 26 May 2009 - 10:55 PM

You can probaly pass the simulation count as argument in your PX_WorldSimulate function

var simcount; simcount = 80;
if (argument0>0) simcount = argument0
call dll function WorldSimulate(simcount)

this will ensure backward compatibility, calling
PX_WorldSimulate()
in the step event and add the ability to reduce it
PX_WorldSimulate(16);

Edited by icuurd12b42, 26 May 2009 - 10:56 PM.

  • 0

gmcbanner.pnggmcbanner_tools.png

ICU Live Tutoring Through Slack or Skype | My Tools Page follow.png

I FRANTICALLY MADE MY 18000 POST TOPIC BEFORE MIKE ANNOUNCED A DELAY...
Now I'm squirming not to hit that reply button


#38 Maarten Baert

Maarten Baert

    GMC Member

  • GMC Member
  • 750 posts
  • Version:GM8.1

Posted 27 May 2009 - 03:02 PM

80 iterations is way too much. 10 or 20 will to if you enable warm starting. But I don't think the velocity solver uses that much processing time, most of the processing time is used by the collision checker.

If you are using Dev-C++ and you changed b2Settings.h and it still didn't work, try recompiling everything. Or disable 'use fast but imperfect dependency checker'.

@icuurd12b42: But newton is 3D only, right?
  • 0
Posted Image

#39 icuurd12b42

icuurd12b42

    Self Formed Sentient

  • GMC Elder
  • 18181 posts
  • Version:GM:Studio

Posted 28 May 2009 - 12:10 AM

@icuurd12b42: But newton is 3D only, right?


It may, like bullet and physx, allow you to lock the z axis and the xrot and yrot so to have 2d collision only.
  • 0

gmcbanner.pnggmcbanner_tools.png

ICU Live Tutoring Through Slack or Skype | My Tools Page follow.png

I FRANTICALLY MADE MY 18000 POST TOPIC BEFORE MIKE ANNOUNCED A DELAY...
Now I'm squirming not to hit that reply button


#40 dadio

dadio

    Potato King

  • YoYo Games Staff
  • 2740 posts
  • Version:GM:Studio

Posted 30 May 2009 - 12:56 AM

Which physics engine is used isn't really important... so long as it's 100% free of any copyright issues...
*&* is *ultra simple to use*.

Again, I'm just popping in to say:
make lots of tasty samples showing off everything!
That will be the key to getting a load more feedback, making this a lot more popular & resulting in many physics based games being made by this community.
Goodluck! :P

Edited by dadio, 30 May 2009 - 12:57 AM.

  • 0

AczgxAZ.png5aj9t5.jpg
 


#41 softhunterdevil

softhunterdevil

    LazyBoy

  • GMC Member
  • 276 posts

Posted 30 May 2009 - 06:39 PM

Does this allow fluid (water) simulation ? like floating objects and flow of water ?
  • 0
<a href="http://www.redbubble...eactdevelopers" target="_blank"><img src="http://www.redbubble...rb_profile.gif" border="0" class="linked-sig-image" /></a><a href="http://www.redbubble...eactdevelopers" target="_blank"><img src="http://www.redbubble...ers_banner.jpg" border="0" class="linked-sig-image" /></a>

#42 Revel

Revel

    ɹǝqɯǝɯ ɔɯƃ

  • GMC Member
  • 4935 posts
  • Version:GM8

Posted 30 May 2009 - 07:05 PM

No, box2d does not support fluids
  • 0

#43 Postality

Postality

    GMC Member

  • New Member
  • 244 posts

Posted 31 May 2009 - 03:06 AM

I like this so far and would love to see more in it.

Right now the biggest thing (and I'm not sure if it's in it or not yet I've just been scheming through it) is joint limits so you can make a humanoid type character properly rag-doll.

Very nice work Revel I'm loving your stuff on here. the INI DLL is another kick--- one I like to keep on this one for sure It's the new GMPhysics IMO
  • 0

#44 CompanionCube

CompanionCube

    GMC Member

  • New Member
  • 220 posts
  • Version:Unknown

Posted 31 May 2009 - 10:50 PM

Hmm I wanted to use this but it appears its not quite finished yet.
  • 0
Some people say that game design is their hobby and they wouldn't want to turn it into a chore by making it a profession. I say if you enjoy what your doing you wouldn't be working anyway.

#45 posva

posva

    GMC Member

  • New Member
  • 610 posts
  • Version:GM8

Posted 02 June 2009 - 08:42 AM

you need to add a script to get rotation ,torque speed etc that things are realy important! good job though! very easy to use ad fast!
  • 0

#46 Consoft

Consoft

    GMC Member

  • GMC Member
  • 449 posts

Posted 05 June 2009 - 02:05 PM

I haven't downloaded the file yet as I am not at home, but if someone good answer this simple question for me that'd be great:
Does this have the ability to form polygons from a sprite?
Also, are the bodies able to be drawn over with rotations etc, in order to create a more "painted" character.
If this is anywhere near as fast as the actual Box2D engine, this'll be a blast and included in future projects for sure.
  • 0
19 / Australia. [GML/Java/C++] Known as kkg, HeXeN and elimzke as well.
Make games in GML, compile them in C++! http://www.enigma-dev.org [Windows/Linux/Mac]

KUICS Australia PTY LTD

#47 Consoft

Consoft

    GMC Member

  • GMC Member
  • 449 posts

Posted 08 June 2009 - 03:52 AM

This is actually quite decent. It's very simple and does what most people need. However, it started getting very annoying when I was making my own bodies and doing the vertexes for complex sprites was very frustrating. Any chance of a script that can find out the vertexes for you and dump them to a text file? GMPhysics did that, so I think it's wise to learn from others' benefits AND mistakes.

EDIT: My mistake, I didn't read the scripts. Only 8 points, and convex only? That's a little limited don't you think?

Edited by Consoft, 08 June 2009 - 04:13 AM.

  • 0
19 / Australia. [GML/Java/C++] Known as kkg, HeXeN and elimzke as well.
Make games in GML, compile them in C++! http://www.enigma-dev.org [Windows/Linux/Mac]

KUICS Australia PTY LTD

#48 dadio

dadio

    Potato King

  • YoYo Games Staff
  • 2740 posts
  • Version:GM:Studio

Posted 12 June 2009 - 02:39 PM

Is work still being done on this?
I really like this physics .dll & am really looking forward to more!
Let us know.
  • 0

AczgxAZ.png5aj9t5.jpg
 


#49 HaRRiKiRi

HaRRiKiRi

    GMC Member

  • GMC Member
  • 1364 posts

Posted 12 June 2009 - 05:25 PM

Any chance of a script that can find out the vertexes for you and dump them to a text file? GMPhysics did that, so I think it's wise to learn from others' benefits AND mistakes.

The autopoligon was actually made in GM, so it works here too... just import the script and modify it a little (its not hard, I replaced get_pixel with a custom system and made it a lot faster without that many changes to the original script).
  • 0

#50 nomar522

nomar522

    GMC Member

  • New Member
  • 124 posts

Posted 13 June 2009 - 06:11 AM

EDIT: My mistake, I didn't read the scripts. Only 8 points, and convex only? That's a little limited don't you think?


The 8 vertex limit is only there to conserve speed and reduce lag, Box2D doesn't let use concave poly's...must be some problem with simulating concave poly's...

Edited by nomar522, 13 June 2009 - 07:38 AM.

  • 0