Gmphysics - Version 5 Prebeta Released
#1461
Posted 03 September 2006 - 01:50 AM
#1462
Posted 03 September 2006 - 02:55 AM
Shizzastle, you're right. I was actualy gonna compare this to ."a physics engine called GMphysics..." But I'm talking about it. lol, stupid me.Hmmm, Coderchris hasn't been on here for several days now, either he's working on the physics patch or this will be like Windows Vista (delays and more delays)
#1463
Posted 03 September 2006 - 07:43 PM
Also, I tried this and though the examples worked fine, the game froze when I tried making top-down cars.
#1464
Posted 04 September 2006 - 02:41 AM
Shizzastle, you're right. I was actualy gonna compare this to ."a physics engine called GMphysics..." But I'm talking about it. lol, stupid me.Hmmm, Coderchris hasn't been on here for several days now, either he's working on the physics patch or this will be like Windows Vista (delays and more delays)
I'm practically thinking I could quit Gamemaker all together if I never see the patch materialize, I need the save/load function for my games and once you make a game with physics you almost never want to go back to GM without physics.
If I do quit Gamemaker i'll probably move to Blender, they have a new graphics engine coming for the game engine and they do have a nice physics engine, a few bugs left to work out but they're being fixed. (Blender's free by the way (www.blender.org))
#1465
Posted 04 September 2006 - 02:28 PM
It is possible to make your own saving loading code in gamemaker thou it takes a bit of time. Basically what you do is use all the get_ functions to get the state of each body that you want to save. Then you write all these to a file and when you load it, open the file. (Your bodys should be created already when the room is loaded). Then you set the properties of each body using the data from the file.
This will actually work just fine for games that dont need to save hundreds of bodies. For example if you just have a platformer then you can just save the state of the main character
#1466
Posted 04 September 2006 - 05:01 PM
When it comes to writing to files I haven't really touched that part of Gamemaker as i've only used the built in save/load functions.
It doesn't have to be fancy, maybe a character and a couple of boxes and static objects, saving variables with that method would be nice to show too.
Though if you find a way to load a bunch of bodies with PhysX that would be nice too
If you can't but you show us this alternative way that's fine I guess too.
Edited by Adam, 04 September 2006 - 05:04 PM.
#1467
Posted 04 September 2006 - 11:44 PM
Or U can save game settings. Or even make custom levels and stuff. It would B very easy to make your own save system with external files. Just B sure no1 can hack it so either encrypt it or make sure the save's md5 hash matches or soemthing. Whatever U might want if U ever get around to doing that.
#1468
Posted 05 September 2006 - 01:28 AM
#1469
Posted 05 September 2006 - 02:31 AM
#1470
Posted 05 September 2006 - 10:48 PM
Well, having no save/load function is a bit of a bummer. But working hard to get nothing is much better then not working at all.....I guess...Ill make a nice example of a room full of boxes that you can save/load since I cant get the function itself working.
So what else was planned for the patch...bug fixes?
#1471
Posted 09 September 2006 - 01:07 AM
#1472
Posted 09 September 2006 - 09:11 AM
LINK (doesn't contain physics DLLS)
#1473
Posted 09 September 2006 - 10:08 PM
#1474
Posted 12 September 2006 - 10:35 PM
Nice job btw
I was using the ackack engine for my Lymphs game, but now.... well, I just don't know.. I think you might take the cake. Who should I acredit this engine to anyway? Just coderchris or another name? Anyway, pm me or just post =P.
-Ryan
Edited by MrYano, 12 September 2006 - 10:38 PM.
#1475
Posted 12 September 2006 - 11:10 PM
By the way, chris, are you still working on the game with GMphysics?
And to the people at the GMPC:
I might be resigning as an admin soon....maybe. If I do, "mrgibblet" (mod) will take my place.
#1476
Posted 14 September 2006 - 04:30 AM
b=create_body(x,y,1,SHAPE_ELLIPSE,23,23)but when I change the width and height to be less than 23 or greater than 15, it shows " unexpected game error", why? Also the "circles" seem to be more like ovals. There off balance and not centered.
HERE is the gm6 file.
BTW, I do have the sprite's orgin at 16x16 and the sprite's width and height is 32x32.
EDIT: I will use SHAPE_SPHERE but that problem still needs to be fixed.
Also How does the set_hinge_limit work? I tried changeing it so that the ragdoll's arm could only be striaght in front of him but it doesnt seem to do anything.
Edited by yo1dog, 14 September 2006 - 10:48 AM.
#1477
Posted 18 September 2006 - 06:04 PM
#1478
Posted 18 September 2006 - 07:29 PM
One of the things iv been busy with is experimenting with v1 of gmphysics, the really old version that was first released a loooong time ago. Iv been studying alot more recently and have come up with some ways to make a faster, more stable, and more accurate simulation than PhysX can provide (in 2d anyway
Iv come up with a broadphase collision detection algorithm that detects all possible collisions in O(1) time. This coupled with seperate threads for the dynamics and collision detection make it extremely fast, able to simulate literally thousands of colliding bodies with 30+ fps (in c++). If there arent too many pairs of colliding bodies and some are sleeping, you could easily get up to 10,000 without slowing down the simulation due to my new broadphase collision method.
Iv also come across a technical paper that describes the simulation of granular material (sand, small rocks, ect..) Iv implemented this sucessfully and im also adapting it for use with fluid. What this means is you wont have particles to represent fluid but rather whole polygons that group the particles together and allow for much greater performance and visual appearance as well as things like correct viscocity and fluid flow. With this approach to fluid, water bodies and fluid become one in the same and you could for example dip a bucket into a body of water and it will accurately fill up and stay there as you lift the bucket out of the water, allowing you to pour and manipulate it as it should.
Iv also been experimenting with GPGPU processing (i.e. processing physics on the GPU) I havent been able to port all aspects of it to the gpu yet but from what im seeing, it will be possible to simulate a rediculous number of bodies (possibly over 20,000 active bodies!) without slowing down the CPU at all whatsoever, leaving you with crisp framerates and more processing time to do things like AI. What I would like to do is something similar to what directx does: have two modes, referance and hardware. If there is hardware that would benefit the physics simulation, it will automaticall use it (i.e use the GPU). If not it will use reference mode which implements everything in the CPU.
Another advantage to re-writing v1 is that you will be able to use it in fully commercial projects because all the code will be my own and I have no restrictions on its usage (other than the prefered credit). I will also keep 99% of the functions, parameters and constants the same so that you wont have to do much to make it compatable.
I now realize that although top down mode could be usefull, the way I have implemented it doesnt allow for many things like vehicles and rolling spheres. Because of this, in the next version Ill be seperating top down and regular mode completely so that things like vehicles and rolling spheres could easily be added
So sometime this year or early next year you might be seeing GmPhysics v6 featuring things i just explained.
Hopefully all that goodness keeps your interests in this project flowing
I have yet to make an official website for it, but eventually, my plan is to create 3d physics middleware such as havok and physx for use in commercial games and applications
Edited by coderchris, 18 September 2006 - 07:33 PM.
#1479
Posted 18 September 2006 - 07:50 PM
sorry for not being around lately and for all the delays; have been really busy with things and school just started up so I have quite a bit of work to do but I promise ill get this stuff done. I just need to put aside a few hours so I can work on the save/ load example and the c++ one. The game I was working on is currently on hold until I can get more time to finish it.
One of the things iv been busy with is experimenting with v1 of gmphysics, the really old version that was first released a loooong time ago. Iv been studying alot more recently and have come up with some ways to make a faster, more stable, and more accurate simulation than PhysX can provide (in 2d anyway)
Iv come up with a broadphase collision detection algorithm that detects all possible collisions in O(1) time. This coupled with seperate threads for the dynamics and collision detection make it extremely fast, able to simulate literally thousands of colliding bodies with 30+ fps (in c++). If there arent too many pairs of colliding bodies and some are sleeping, you could easily get up to 10,000 without slowing down the simulation due to my new broadphase collision method.
Iv also come across a technical paper that describes the simulation of granular material (sand, small rocks, ect..) Iv implemented this sucessfully and im also adapting it for use with fluid. What this means is you wont have particles to represent fluid but rather whole polygons that group the particles together and allow for much greater performance and visual appearance as well as things like correct viscocity and fluid flow. With this approach to fluid, water bodies and fluid become one in the same and you could for example dip a bucket into a body of water and it will accurately fill up and stay there as you lift the bucket out of the water, allowing you to pour and manipulate it as it should.
Iv also been experimenting with GPGPU processing (i.e. processing physics on the GPU) I havent been able to port all aspects of it to the gpu yet but from what im seeing, it will be possible to simulate a rediculous number of bodies (possibly over 20,000 active bodies!) without slowing down the CPU at all whatsoever, leaving you with crisp framerates and more processing time to do things like AI. What I would like to do is something similar to what directx does: have two modes, referance and hardware. If there is hardware that would benefit the physics simulation, it will automaticall use it (i.e use the GPU). If not it will use reference mode which implements everything in the CPU.
Another advantage to re-writing v1 is that you will be able to use it in fully commercial projects because all the code will be my own and I have no restrictions on its usage (other than the prefered credit). I will also keep 99% of the functions, parameters and constants the same so that you wont have to do much to make it compatable.
I now realize that although top down mode could be usefull, the way I have implemented it doesnt allow for many things like vehicles and rolling spheres. Because of this, in the next version Ill be seperating top down and regular mode completely so that things like vehicles and rolling spheres could easily be added
So sometime this year or early next year you might be seeing GmPhysics v6 featuring things i just explained.
Hopefully all that goodness keeps your interests in this project flowing![]()
I have yet to make an official website for it, but eventually, my plan is to create 3d physics middleware such as havok and physx for use in commercial games and applications
AHHH!!! OMGOMGOMGOMGMOMGOGMOGMGOMGOMGM OMFG!!!! NEED DROOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOL!!!!!
CANT WAIT!! YOU ARE THE BEST OF THE BEST! I CANOT WAIT NOW YOU ARE GOING TO HAVE ME AWAKE FOR MONTHS WAITING....(sorry for cap's but i'm not talking it off im to exited!)
#1480
Posted 18 September 2006 - 10:47 PM
I really like what I'm hearing....er, reading....sounds like a GMphysics Revolution!
lol.
But seriously, I liked everything you said. Just keep at it and I'm sure this'll be great
And good luck with school
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users









