Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Work in Progress / XenoPhysics - A Havok Wrapper for DarkBasic Professional

Author
Message
Melancholic
14
Years of Service
User Offline
Joined: 26th Nov 2009
Location:
Posted: 31st Dec 2009 19:34
@Xarshi, my email is slprestonjensen<@>aol<.>com (tags to fool email finders)

You hit the hammer on the head also, all the features you have implemted seem to be just what i need .
Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 2nd Jan 2010 02:35
Quick Update

I'm adding in optional support for rendering skid marks with the vehicles. Havok has some utilities to ease the process, so I believe I'm going to add a flag in the vehicle data command set which will enable or disable rendering skid marks for certain vehicles. I may require to load Cloggys d3dfunc dll so I can use it to draw 3d lines. Or just make my own functions inside my plugin. Who knows.

CSGames94
16
Years of Service
User Offline
Joined: 27th Dec 2007
Location:
Posted: 2nd Jan 2010 07:24
Quote: "However, that wasn't TGCs fault. The character control in that physics engine is very disappointing, and the vehicles are disappointing as well."

Well if that was the case, they shouldn't have made us spend money on s crappy plugin.

Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 2nd Jan 2010 07:36 Edited at: 2nd Jan 2010 07:44
Quote: "Well if that was the case, they shouldn't have made us spend money on s crappy plugin. "

I don't think it is a very crappy plug-in. It, in my opinion, supplies better character control than Newton for instance. Vehicles I have not really seen. The only vehicle physics I have seen from dark physics was in the demo that came with the package. Dark Physics is still a completely viable physics solution, as PhysX is a very good physics engine. It is just, in my opinion at very least, that Havok is better than PhysX. This says nothing about my views on Dark Physics, as they just wrapped that physics engine. And hey, I still bought it.

Blobby 101
17
Years of Service
User Offline
Joined: 17th Jun 2006
Location: England, UK
Posted: 2nd Jan 2010 12:00
Are the Character Controllers properly implemented yet? Because i'm working on a GTA style game for NaGaCreMo and I could really do with this for the character controller and camera commands - not to mention vehicles!

Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 2nd Jan 2010 18:57
Quote: "Are the Character Controllers properly implemented yet? Because i'm working on a GTA style game for NaGaCreMo and I could really do with this for the character controller and camera commands - not to mention vehicles!"

Yeah. Characters have been in for a bit. Vehicles are a work in progress, but I'm typing out the string table for the 62 commands now. I'm going to add a command to check if a character controller is near the vehicle I think. Or you could easily do that yourself... I'm not sure.

KISTech
16
Years of Service
User Offline
Joined: 8th Feb 2008
Location: Aloha, Oregon
Posted: 2nd Jan 2010 20:36
Try not to do to much for us. I still like to program.

Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 2nd Jan 2010 21:09
Quote: "Try not to do to much for us. I still like to program. "

I'm just trying to make this a completely functional physics plug-in. I want the complete solution. I do, however, believe that checking distance between the character and a vehicle would not be hard, so I'm going to just let that go out to you guys. I'm still uncertain about skid marks at the moment. I may or may not add support for them in automatically, as it should be easy to do them on your own since you can get the position and rotation of each tire on the vehicle.

jeffhuys
17
Years of Service
User Offline
Joined: 24th May 2006
Location: No cheesy line here.
Posted: 2nd Jan 2010 22:31
Skidmarks, done automatically or by hand, will be awesome!
Xarshi, if I could +rep you...

Is there a possibility for a quick new demo?

You're the 'th to view this signature!
Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 2nd Jan 2010 22:47
Quote: "Is there a possibility for a quick new demo?"

At the moment no. I want to make a small fps demo where you can move around a level and enter multiple vehicles that will be in it. Once I have that finished then I'll release another demo. After that, I'll get constraints and triggers in and make an alpha release (so maybe within the week perhaps).

As of right now I think I'm going to be adding in a small function that will get your characters current state (as in on ground, climbing, in air, or jumping). That way you can implement falling damage if you want (ie if the character is in the air for too long you can make it so that when s/he hits the ground they will die or lose health depending on the linear velocity or something).

RUCCUS
19
Years of Service
User Offline
Joined: 11th Dec 2004
Location: Canada
Posted: 2nd Jan 2010 23:05
Id be more inclined to use / buy something like this if you didn't do everything for us. Simple things like skid marks, checking if the user can enter a vehicle, hell even setting up custom vehicle types like motorcycles and whatnot, are the entire point of programming. There's no real learning experience or feel of self worth if all we're doing is calling a few commands you've written to set up the entire game's physics environment. I'd love to get my hands on Havok so Im really interested, I just think you shouldn't focus on the things most of us can do on our own. Write a wrapper for havok by all means, but Id say leave it at that.
Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 2nd Jan 2010 23:20 Edited at: 2nd Jan 2010 23:24
Quote: "Id be more inclined to use / buy something like this if you didn't do everything for us. Simple things like skid marks, checking if the user can enter a vehicle, hell even setting up custom vehicle types like motorcycles and whatnot, are the entire point of programming. There's no real learning experience or feel of self worth if all we're doing is calling a few commands you've written to set up the entire game's physics environment. I'd love to get my hands on Havok so Im really interested, I just think you shouldn't focus on the things most of us can do on our own. Write a wrapper for havok by all means, but Id say leave it at that. "

I see where you are coming from. The whole character being able to enter vehicles was already scrapped as stated above. With vehicles, the reason I created the presets is because yes, there are 62 commands you can use to modify the presets, but those are required to be called if you plan on building from scratch. By no means do you have to use the vehicle presets. You can build from scratch if you desire. And for skid marks, those are part of Havok. Not rendering them, of course. But that is going to be left up to users.

Edit

Also, some of the stuff is for me as well. I'm programming a plugin that I would have wanted to use back when I used dbp. Of course, the only thing like that that I have made so far are the anti-grav vehicles and flying vehicles. Those still can be built from scratch, however.

CSGames94
16
Years of Service
User Offline
Joined: 27th Dec 2007
Location:
Posted: 2nd Jan 2010 23:20
Quote: "Id be more inclined to use / buy something like this if you didn't do everything for us. Simple things like skid marks, checking if the user can enter a vehicle, hell even setting up custom vehicle types like motorcycles and whatnot, are the entire point of programming. There's no real learning experience or feel of self worth if all we're doing is calling a few commands you've written to set up the entire game's physics environment. I'd love to get my hands on Havok so Im really interested, I just think you shouldn't focus on the things most of us can do on our own. Write a wrapper for havok by all means, but Id say leave it at that. "


Instead of adding presets and other small things, you could probably make a quick tutorial on setting up vehicles or ragdolls with havok.
Because, thats whats slowing me down on my Pokemon Engine, adding a GUI System, Saving/Loading.

Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 3rd Jan 2010 00:51
Quick Update

I think I've decided what to do with skid marks. There is a field WheelInfo::m_skidEnergyDensity which, obviously, gets the density of the skid marks. If you check this and it is above a certain amount, you can start placing skid marks at the wheel positions and rotate them accordingly. This would also allow you to control fading and how much marks you want to have at once.

Another thing this helps with is for audio. The higher the density the louder you want the skid sound to be.

However, you also need to focus on the RPM of the vehicle. This will help for the sounds of the engine. With these you can easily have amazing sounds for your vehicles that are dynamic in themselves.

jeffhuys
17
Years of Service
User Offline
Joined: 24th May 2006
Location: No cheesy line here.
Posted: 3rd Jan 2010 13:13
Very cool!
I can't wait to play around with this plugin!

You're the 'th to view this signature!
Airslide
19
Years of Service
User Offline
Joined: 18th Oct 2004
Location: California
Posted: 3rd Jan 2010 20:44
As long as the plugin doesn't handle the sound, because we may want 3D or omni-present sound, and I do like programming as others have said

I think this is going great! Just make sure to let us have to do some things too. Handling other things for us is more likely to add to bloat and slow things down, or in some cases it may be difficult to utilize for a different type of game.

I'm still very interested in the potential for ragdolls. Also, what about physics groups? I know they should be part of Havok so it shouldn't be difficult. Just the ability to add things to groups and disable/enable collision between them. Very useful for things like debris and ragdolls, where you want them to collide with the world but not the player.

Kryogenik
14
Years of Service
User Offline
Joined: 22nd Sep 2009
Location: Heidelberg, Germany
Posted: 3rd Jan 2010 21:57
Looks really cool. Is this less complicated then newton? That would be good, cause it took me forever to make a tower of boxes in that, and thats all I made.
binsky
15
Years of Service
User Offline
Joined: 6th Feb 2009
Location:
Posted: 4th Jan 2010 00:46
Any chance you will make this available for DarkGDK?
Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 4th Jan 2010 01:05
Quote: "As long as the plugin doesn't handle the sound, because we may want 3D or omni-present sound, and I do like programming as others have said

I think this is going great! Just make sure to let us have to do some things too. Handling other things for us is more likely to add to bloat and slow things down, or in some cases it may be difficult to utilize for a different type of game.

I'm still very interested in the potential for ragdolls. Also, what about physics groups? I know they should be part of Havok so it shouldn't be difficult. Just the ability to add things to groups and disable/enable collision between them. Very useful for things like debris and ragdolls, where you want them to collide with the world but not the player."

Hah, nope, sound is all on you. There are just ways you can base sound volumes and such off of values. And yes, I'll add collision groups. It's not difficult at all.

Quote: "Looks really cool. Is this less complicated then newton? That would be good, cause it took me forever to make a tower of boxes in that, and thats all I made. "

In my opinion it is much more simple than newton. Here is some code to get a box falling on a plane:


Quote: "Any chance you will make this available for DarkGDK?"

Yes, I plan on releasing it with the first release of XenoPhysics.

binsky
15
Years of Service
User Offline
Joined: 6th Feb 2009
Location:
Posted: 4th Jan 2010 01:09
Ok!!! Awesome I cant wait. When do you think your first release will be again? Im pretty new on this thread so im just trying to get caught up.
Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 4th Jan 2010 01:44
Quote: "Ok!!! Awesome I cant wait. When do you think your first release will be again? Im pretty new on this thread so im just trying to get caught up. "

It's perfectly fine. I'm just going to guess by the end of this month, but I'm not sure.

Diggsey
17
Years of Service
User Offline
Joined: 24th Apr 2006
Location: On this web page.
Posted: 4th Jan 2010 12:30
A few features which would be cool:
- Custom dimensions and offsets for shapes. (ie. I might have a roughly cube shaped model, but which is not centered, and has bits which stick out. In this case I might want to choose exactly where the virtual collision cube is placed in relation to the model, and what dimensions it has. The same goes for other shapes)

- Convex shapes.

- Combined shapes. Some objects may be only representable by a cube and sphere joined together, etc.

Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 4th Jan 2010 21:32 Edited at: 4th Jan 2010 21:48
Quote: "- Custom dimensions and offsets for shapes. (ie. I might have a roughly cube shaped model, but which is not centered, and has bits which stick out. In this case I might want to choose exactly where the virtual collision cube is placed in relation to the model, and what dimensions it has. The same goes for other shapes)"

Ok, Havok has some ways of doing that.

Quote: "- Convex shapes."

Already implemented.

Quote: "- Combined shapes. Some objects may be only representable by a cube and sphere joined together, etc."

That will be a little more difficult, but it will be easy to implement. I've done it before myself when making a game in C++ with Havok, so I can definitely implement it in this plugin.

Edit

Diggsey, if I were going to add that all in, I think it would be easier to create a shape command set and simplify the rigid body creation command set to:
xeno make dynamic rigid body objectID, shapeID
xeno make static rigid body objectID, shapeID

Although, I could simply supplement the current rigid body creation commands with those above. Then you could use more customized shapes if you need to. Of course, all customized shapes will most likely be like this:


Do those seem like they'd help? I'll implement those today or tomorrow if you think that's what you'll need. That would also mean you could translate and rotate a shape, then add it to a shape list. That would give you nearly unlimited control of dynamic shapes in a very simple manner.

Diggsey
17
Years of Service
User Offline
Joined: 24th Apr 2006
Location: On this web page.
Posted: 5th Jan 2010 15:42 Edited at: 5th Jan 2010 15:42
Those commands would be very useful

Unfortunately, I can't do much testing atm, since my main computer is in pieces

jeffhuys
17
Years of Service
User Offline
Joined: 24th May 2006
Location: No cheesy line here.
Posted: 5th Jan 2010 16:34
Quote: "Unfortunately, I can't do much testing atm, since my main computer is in pieces"

No worries, I'll test for ya
Hehe just joking...

You're the 'th to view this signature!
ShaunRW
DBPro Developer
16
Years of Service
User Offline
Joined: 7th Jan 2008
Location: Brisbane, Australia
Posted: 6th Jan 2010 04:49
I can't wait until i can get my hands on this.
Keep up the good work Xarshi.


FireIndy
17
Years of Service
User Offline
Joined: 17th Jan 2007
Location: US of A
Posted: 7th Jan 2010 01:47
Looks really sweet =]

Daniel wright 2311
User Banned
Posted: 7th Jan 2010 03:07
when you do the triggers make shure you can use more then just one per leval. this was a bug in dark phisics and was never fixed.

Aldur
16
Years of Service
User Offline
Joined: 8th Oct 2007
Location: Melbourne, Australia
Posted: 8th Jan 2010 08:13 Edited at: 8th Jan 2010 08:14
How's progress Xarshi?
Any updates on vehicles or characters?

Still watching this very closely!

Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 8th Jan 2010 20:35
Quote: "How's progress Xarshi?"

Today has been the first day in quite a while where i have been able to work on it. I'm adding in some shape commands right now for people to have more control over the shapes that Havok will simulate. Then I'm just going to finish up the vehicle commands and all that stuff.

Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 8th Jan 2010 23:17
Quick Update

I've finished adding in the new shape commands. Here is a list of all the new ones I have added in:


Melancholic
14
Years of Service
User Offline
Joined: 26th Nov 2009
Location:
Posted: 9th Jan 2010 00:56 Edited at: 9th Jan 2010 00:57
Sounding good Xarshi!, and BTW its been working a treat for me
Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 9th Jan 2010 01:05
Quote: "Sounding good Xarshi!, and BTW its been working a treat for me"

Glad to hear!

ShaunRW
DBPro Developer
16
Years of Service
User Offline
Joined: 7th Jan 2008
Location: Brisbane, Australia
Posted: 9th Jan 2010 09:57
Still going to be doing ragdoll and cloth?


Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 9th Jan 2010 13:35
@ Xarshi - yeah the ragdoll stuff (as user friendly and idiot proof - for me - as possible) would be excellent

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
FireIndy
17
Years of Service
User Offline
Joined: 17th Jan 2007
Location: US of A
Posted: 9th Jan 2010 16:58
Ragdolls would be nice to see =]

Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 9th Jan 2010 18:36
Ragdolls will still be added in. Cloth probably wouldn't be feasible at decent speeds unfortunately.

Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 9th Jan 2010 20:35
Quick Update

I'm going to be removing anti gravity vehicles and simply implementing a few "actions" into the plugin. Think of actions like Dark Physics force fields or whatever they are called. I'll hopefully add some ways to customize actions, but if not, I'll supply a few good ones for you all. I know I'll have an anti gravity action, a gravity action (rigid body acts like a planet I guess would be one way of looking at it, it just sucks things into that rigid body), wind actions, an explosion action, and things like that. At very least it should add some capability and won't be as annoying on me to attempt to add in so many dang vehicle options. So I'm keeping it only as ground vehicles, meaning vehicles are now officially completed, and then I'm going to start working on triggers now which will then lead to actions which rely on triggers. I'm kinda excited to see what people will be able to pull off with this plugin

The Slayer
Forum Vice President
14
Years of Service
User Offline
Joined: 9th Nov 2009
Playing: (Hide and) Seek and Destroy on my guitar!
Posted: 10th Jan 2010 01:51
Quote: "I'm kinda excited to see what people will be able to pull off with this plugin"


Well, by the sound of it, this plugin will be extremely usefull! Thanx for making this possible for us!

Slayer rules!!! Yeaaah, man!
ShaunRW
DBPro Developer
16
Years of Service
User Offline
Joined: 7th Jan 2008
Location: Brisbane, Australia
Posted: 10th Jan 2010 02:42
Quote: "Ragdolls will still be added in. Cloth probably wouldn't be feasible at decent speeds unfortunately."

Woohoo, Cloths not that important anyway, isn't there a free plugin somewhere that already does this?

Quote: " I'm kinda excited to see what people will be able to pull off with this plugin"

I'm already planning a game that i wouldn't have tried before because of my lack of physics programming abilities.


thenerd
15
Years of Service
User Offline
Joined: 9th Mar 2009
Location: Boston, USA
Posted: 10th Jan 2010 02:48 Edited at: 10th Jan 2010 02:48
and my game relies on it, all the functions are already programmed in with placeholders...
I can't wait! this will really help me with my own game as well as openfps...

CSGames94
16
Years of Service
User Offline
Joined: 27th Dec 2007
Location:
Posted: 10th Jan 2010 04:03 Edited at: 10th Jan 2010 04:06
I've been planning a football game using this plugin too! And, if you could get in deformable objects the would be even better!

jeffhuys
17
Years of Service
User Offline
Joined: 24th May 2006
Location: No cheesy line here.
Posted: 10th Jan 2010 13:04
Deformable objects, hell yeah!

You're the 'th to view this signature!
Xenocythe
18
Years of Service
User Offline
Joined: 26th May 2005
Location: You Essay.
Posted: 10th Jan 2010 17:26
How do you guys expect DBP to handle deformable objects?

I like the idea with the actions. I can't wait to play around with it. If you need a Beta tester, (DBP or DGDK) just let me know.

Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 10th Jan 2010 17:59
Unfortunately deformable objects would be nearly impossible to handle. If I had Havok Destruction or DMM then sure I could, but Havok wouldn't make their best technology free for non commercial use. If they did I'd gladly wrap havok destruction and AI as that'd be awesome.

jeffhuys
17
Years of Service
User Offline
Joined: 24th May 2006
Location: No cheesy line here.
Posted: 10th Jan 2010 19:39
Quote: "How do you guys expect DBP to handle deformable objects?"


One of the Dark Physics demo's had deformable objects in it, don't know where but it worked pretty awesome!

You're the 'th to view this signature!
Xenocythe
18
Years of Service
User Offline
Joined: 26th May 2005
Location: You Essay.
Posted: 10th Jan 2010 20:02
I'm fairly sure that the commands for it have been discontinued however, because of how unstable/slow/messy it was working with DarkBasic. Features of such high caliber just aren't meant for DB. :\

thenerd
15
Years of Service
User Offline
Joined: 9th Mar 2009
Location: Boston, USA
Posted: 10th Jan 2010 20:06
altually, the soft bodies worked pretty well, and there was a paremeter to make it rigid but deformable, like metal. I thought it was cool, but thinking about it, there's really no preactical way to use it in a game.

RUCCUS
19
Years of Service
User Offline
Joined: 11th Dec 2004
Location: Canada
Posted: 10th Jan 2010 21:56
I tend to find manually deforming objects works better in most cases anyways. It gives you more control over how it'll look. Unless you're working with simple structures like blobs of goo or metal boxes, anything more detailed generally gets a much better effect from designing different parts of the model with different levels of destruction and then switching between them based on damage occurs.
Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 10th Jan 2010 23:05
As Ruccus said, manually deforming objects would be best. I can supply a few tools to do this maybe, but it won't be my primary focus. Or even near my primary focus.

As of right now I'm going to be integrating a rigid body character controller. Havok supplies two forms of character controllers: the character proxy and the character rigid body. The demos I had before that used character controllers used character proxies. The main downfall with the proxies is that they aren't multithreaded, but offer more accuracy. The rigid bodies are the opposite: multithreaded, but less accurate. I'm going to implement both so people can have the choice.

Login to post a reply

Server time is: 2024-03-29 13:18:20
Your offset time is: 2024-03-29 13:18:20