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.

Author
Message
kaedroho
17
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 26th Nov 2009 21:38
Could we make an OpenFPS msn group so everyone involved with OpenFPS can easily contact each other?

thenerd
16
Years of Service
User Offline
Joined: 9th Mar 2009
Location: Boston, USA
Posted: 26th Nov 2009 21:40
actually, i quite like OOP. reminds me of the days of python programming (my first language i learned). It's just that dbpro is more a procedurally-oriented language, and it would be a little hard to switch.

when do you plan on getting the havok system done?


forever loading...
Xarshi
19
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 26th Nov 2009 21:51
It would be a little hard, but I think it'd be totally worth it for a project like this. But who knows.

I don't know exactly when it will be done. No one answered my question about how DBP handles object orientations so I'm going to just go my own route and ignore the sObject approach. It's not fun but hey, it's not necessarily bad. Right now I have to take a look at Triangle meshes. If ODEs triangle meshes worked I can make these triangle meshes work as I have the ODE plugins source code (included with the 7.4 extras) so I can view how they did triangle meshes. Everything else is unbelievably easy really.

So here's my todo list with it and in order:
1) Solidify the BaseSystem functions (such as hk start, hk update, hk end, hk set gravity, hk get gravity, and all those)
2) Complete rigid body creation functions (hk create rigid body dynamic/static box/sphere/capsule/cylinder/mesh)
3) Complete rigid body property functions (hk set rigid body position and so on, really easy probably a thirty minute job)
4) Complete character controller creation functions (hk build character start, hk set character speed, hk set character jump height, hk build character end, hk build character)
5) Complete vehicle functions (similar to above)

Basically my plugin will be similar to how Dark Physics works, except instead of phy as a prefix to all the functions, it's hkp (yes, I typed hk above, I don't feel like fixing it)

After that, I'm going to do Havok Animation. That will give us the ability to animate our models at a professional level.

After that, I'm going to work on integrating flash for spectacular gui if you want. I'll do that anyways, but it doesn't matter if we use it with this product. Basically anyone who knows flash will be of value. But I know a little so I can do some stuff.

Then after that it's smooth sailing as all the difficult parts of this game are finished really. I can work on wrapping RakNet if you want. Get some professional networking support in as well. I can also get FmodEx wrapped.

So you can think of me as your C++ programmer if you'd like. hah. I'm sure you all could handle the stuff after given examples and such. But I can help where needed in dbp as well.
thenerd
16
Years of Service
User Offline
Joined: 9th Mar 2009
Location: Boston, USA
Posted: 26th Nov 2009 21:55
great! it doesn't really matter when it gets finished, it's better than anything i could do.

Since you know C++, i suppose you could help with shaders.


forever loading...
Xarshi
19
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 26th Nov 2009 21:57
Quote: "Since you know C++, i suppose you could help with shaders."

Indeed. I can write some shaders. Chances are, if I do that, I'll override the way DBP handles them on my own. I'm not sure as of yet, though. It really depends honestly.

I could also write us our own mesh format if we so desire. I'm not sure why that would help, but I'm capable of it. I did it for my Direct3D 10 renderer a bit back (albeit I had no exporter for my modeler so I used Irrlicht to load *.x files and convert them into my format... hah)
kaedroho
17
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 26th Nov 2009 21:58
Quote: "Since you know C++, i suppose you could help with shaders."


Shaders are written in HLSL. Not C++.


Could people look at my idea? http://forum.thegamecreators.com/?m=forum_view&t=154924&b=1&msg=1905064#m1905064

thenerd
16
Years of Service
User Offline
Joined: 9th Mar 2009
Location: Boston, USA
Posted: 26th Nov 2009 22:00 Edited at: 26th Nov 2009 22:00
oh, sorry, i didn't see that post. That would be great. although at the moment i have gmail for everything, i could get an msn account easily.(and i will)


forever loading...
mitch793
16
Years of Service
User Offline
Joined: 25th May 2009
Location:
Posted: 26th Nov 2009 22:04
That msn group idea is a good one.

[url=http://steamcard.com/]

thenerd
16
Years of Service
User Offline
Joined: 9th Mar 2009
Location: Boston, USA
Posted: 26th Nov 2009 22:05 Edited at: 26th Nov 2009 22:06
I'll get an account today or tomorrow, when I have time.


forever loading...
Xarshi
19
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 26th Nov 2009 22:08 Edited at: 26th Nov 2009 22:08
Quote: "Shaders are written in HLSL. Not C++."

It is quite similar. Nvidia has a very similar language for shaders called c for graphics (CG). I believe ATI and Nvidia both were developing a shader language for Microsoft but then Nvidia branched off. High Level Shader Language is a C like language. Regardless, I know it.

And yes, an msn group would be great for this. If you want this to succeed there needs to be great communication.
kaedroho
17
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 26th Nov 2009 22:09
Shall I create the group and add people in?

Quote: "Quote: "Shaders are written in HLSL. Not C++."
It is quite similar. Nvidia has a very similar language for shaders called c for graphics (CG)."


I should learn that. Is it faster or slower than HLSL?

Xarshi
19
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 26th Nov 2009 22:14
Quote: "Shall I create the group and add people in?"

I say go for it.

Quote: "I should learn that. Is it faster or slower than HLSL?
"

Eh, if you want. It won't benefit you here unless I decide to add Cg support. I could if you all want, it would be like a one day process or so.
kaedroho
17
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 26th Nov 2009 22:27
Ok, ive currently added:

Benny53
Wikedly Kick It (not sure if hes still with us)
n3wton
dared1111

If anyone else wants to be added. Just add me on msn and ill add you.

mitch793
16
Years of Service
User Offline
Joined: 25th May 2009
Location:
Posted: 26th Nov 2009 22:28
Do we add your yahoo.co.uk one?

[url=http://steamcard.com/]

thenerd
16
Years of Service
User Offline
Joined: 9th Mar 2009
Location: Boston, USA
Posted: 27th Nov 2009 00:17
I'd assume not, because his msn address says hotmail.co.uk...


forever loading...
thenerd
16
Years of Service
User Offline
Joined: 9th Mar 2009
Location: Boston, USA
Posted: 27th Nov 2009 00:30
ok, I think I set it up. try to find me, it should be [email protected]...


forever loading...
Xarshi
19
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 27th Nov 2009 01:05
Quote: "ok, I think I set it up. try to find me, it should be [email protected]...
"

Adding you now.
Xarshi
19
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 27th Nov 2009 07:02 Edited at: 27th Nov 2009 07:22
Eh, for the most part got Havok's rigid body physics working. Rigid bodies interact with each other and stuff. Works really nicely. Just gotta finish up the primitives. I'll have the rigid body types fully functional by tomorrow probably.

Edit - Oh yeah, if you are wondering what the syntax of this plugin is, here is the program I used to test the plugin:
Monk
16
Years of Service
User Offline
Joined: 25th Sep 2008
Location: Standing in the snow =D
Posted: 27th Nov 2009 08:31
My msn is just by email so add if you wish.

Glad to see someone reads my blog, even I haven't read it in a while =)

Xarshi
19
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 27th Nov 2009 09:05
At 3:05 I think I'm calling it quits. In a day I have finished the following functions (the C++ functions, don't feel like typing anything else out really):


Obviously you should be able to tell what all of those do. Still gotta add a few more functions to make creating shapes a little more friendly (aka only inputting a single integer value (the id of the object) and letting the plugin compute the bounds).

So yeah, fun stuff.
thenerd
16
Years of Service
User Offline
Joined: 9th Mar 2009
Location: Boston, USA
Posted: 27th Nov 2009 14:15
it looks really easy to use...

just wondering: can you compile a demo of the rigid body code from your previous post?


forever loading...
thenerd
16
Years of Service
User Offline
Joined: 9th Mar 2009
Location: Boston, USA
Posted: 27th Nov 2009 18:06 Edited at: 27th Nov 2009 18:06
started a group (aptly named "OpenFPS")
hopefully here:
OpenFPS MSN/Windows Live Group


forever loading...
Xarshi
19
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 27th Nov 2009 18:10
Quote: "just wondering: can you compile a demo of the rigid body code from your previous post?"

Yup. See if this works for you.

The syntax changed a slight amount. The code for this now is:
thenerd
16
Years of Service
User Offline
Joined: 9th Mar 2009
Location: Boston, USA
Posted: 27th Nov 2009 18:28 Edited at: 27th Nov 2009 18:30
gonna test it now, before I leave.

[edit]
"run failed: need Havok Wrapper.dll"


forever loading...
Xarshi
19
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 27th Nov 2009 18:44
I thought dbp put that in the exe itself o.o

Uh, ok. Here's the Havok Wrapper.dll. If you were going to use it you would put it in plugins-user. But for this case just put it in the dir I guess.
kaedroho
17
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 27th Nov 2009 19:46
If you add the havok dll into your dependencies list. It should work.

Xarshi
19
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 27th Nov 2009 22:38
Well it's the plugin itself that is missing it looks like. Which is really weird. I didn't think you had to add your plugins to a dependency list. Back in 07 when I used dbp it seemed like it did it automatically.

Oh well. I'll finish up rigid body dynamics tonight and possibly start on some character control.
kaedroho
17
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 28th Nov 2009 01:16
Are you using 2 separate dlls for the havok wrapper. One for havok. And the other to wrap the havok dll? If so, put the havok dll in the wrappers dependency list.

Xarshi
19
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 28th Nov 2009 02:34
Quote: "Are you using 2 separate dlls for the havok wrapper. One for havok. And the other to wrap the havok dll? If so, put the havok dll in the wrappers dependency list."

Nope. Havok is a collection of static libraries. They link directly into the plugin.
thenerd
16
Years of Service
User Offline
Joined: 9th Mar 2009
Location: Boston, USA
Posted: 28th Nov 2009 14:15
it still does not work, it has the same error even with the dll.
i tryed renaming it from "havok_wrapper.dll" to "Havok Wrapper.dll", still no luck. maybe just save as a normal exe and include all the dependencys in a zip?


forever loading...
Xarshi
19
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 28th Nov 2009 17:30 Edited at: 28th Nov 2009 17:46
Ok, just build it yourself then. This is really weird.



And attached is the dll you will need to place into your plugins-user folder.
thenerd
16
Years of Service
User Offline
Joined: 9th Mar 2009
Location: Boston, USA
Posted: 29th Nov 2009 01:12
fixed, it just needs the dx9 august 2009 redist installed.


forever loading...
Balin
15
Years of Service
User Offline
Joined: 29th Nov 2009
Location:
Posted: 29th Nov 2009 08:45
Hey, this looks cool. I hope this is out soon.

i r lolcat
Xarshi
19
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 3rd Dec 2009 02:44
Just to bring you all up to date on the physics:
Rigid bodies are completely integrated. You can choose any of these shapes: box, sphere, capsule, cylinder, and mesh. All can be dynamic except the last one.

And I just finished the basic implementation of the character controller. As of right now I have a small demo in DBP showing a first person character with mouselook, jumping, moving, and a few boxes to push around (or off...) and jump on to. I still have to set rigid bodies to be able to be tagged with a ladder tag for the character to climb since Havok supports ladders automatically with tagged rigid bodies. Then I'm going to implement crouching entirely, as right now it is relatively unsupported.

Next step is either going to revamp the character controller command set or begin work on vehicles. I know that I'm going to have presets for vehicles, and these include:
4 wheeled car (think of a standard four seat car)
Motorcycle (vehicles that use this preset will actually act like motorcycles when they turn and will angle themselves automatically)
Six wheeler (think of a military truck or something with six wheels)
Large truck (think a delivery truck. Not quite a semi, but kinda like a uhaul for anyone who knows what those are)
Semi-truck (obviously this is a semi-truck).

Those are the only ones planned right now. After that, I just have to implement some constraints and then completely integrate triggers (they are integrated behind the scenes for the character controller, but that's to be expected since Havok uses them for collision detection and response, unless using the rigid body character controller).

I also have multithreaded mode supported. I'm working on implementing the visual debugger as well. That alone is about 99% complete.

To finish it all off, I'll show code for my character controller demo at the moment. I'm not including the plug-in at this point in time, but here is the syntax:


Any questions you can just ask me. Questions geared specifically toward how this physics plugin will be integrated into OpenFPS preferably.
BMacZero
19
Years of Service
User Offline
Joined: 30th Dec 2005
Location: E:/ NA / USA
Posted: 3rd Dec 2009 03:19
Excellent!

revenant chaos
DBPro Master
18
Years of Service
User Offline
Joined: 21st Mar 2007
Location: Robbinsdale, MN
Posted: 3rd Dec 2009 05:17
Hi Xarshi, great work on the plugin so far. Do you have any plans to add support for dynamic or convex meshes (I'm not sure if Havok supports these features)? A must-have feature for any FPS would be a collision detection system which can be used to trigger sound events (which returned the position, intensity, etc...). It would be even cooler if it could return weather objects were sliding together, or rolling. Not sure if there is any easy way to do that from within the lib, but just some ideas.
Xarshi
19
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 3rd Dec 2009 12:10
I'll be adding in convex meshes soon. They weren't at the top of my priority. Plus they can have pretty odd behavior in Havok as the inertia tensor won't be set correctly afaik. I'll have to take a look at them again. Perhaps the document provides a way around that.

And with the sliding together thing, I think that it would be easy. Just check if two objects are colliding, then get the linear velocity and angular velocity. I could probably add commands for that. Good suggestion.
Xarshi
19
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 4th Dec 2009 04:25 Edited at: 4th Dec 2009 04:27
I have the basic concept behind ragdolls finished now. This plugin will give you complete control, but also let you just get it finished with quickly. I'm thinking you'll create ragdolls like so if you want to do it quickly:


I'm still arguing about the prefix on the functions, however. I wanted to use phy, but I don't want to render Dark Physics completely useless. I don't like the "xp" prefix. hkp seems okay, but I'm not entirely sure. I'm leaning toward phy, however. If I have any other reason than "It'll interfere with Dark Physics" then I will consider using hkp (however, if you are using this chances are you don't want to use Dark Physics).

Oh, and BMac Zero, I'm implementing the checks for if a rigid body is sliding or rolling now as well. I quite like that idea, as I think I'll have functions to return the magnitude of the slide or roll, making it so you can dynamically modify sounds according to the sliding or rolling data.
BMacZero
19
Years of Service
User Offline
Joined: 30th Dec 2005
Location: E:/ NA / USA
Posted: 4th Dec 2009 04:30
You should try to avoid all conflicts you can, regardless of what makes what obsolete. If you really want to use the whole "phy" thing, why not "hphy" or "phys"?

Quote: "I quite like that idea, as I think I'll have functions to return the magnitude of the slide or roll, making it so you can dynamically modify sounds according to the sliding or rolling data. "

Neat .

Xarshi
19
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 4th Dec 2009 04:36
Quote: "You should try to avoid all conflicts you can, regardless of what makes what obsolete."

I suppose you are correct. I think I'll stick with the hkp and hka prefixes (hkp for physics parts and hka for animation parts)
revenant chaos
DBPro Master
18
Years of Service
User Offline
Joined: 21st Mar 2007
Location: Robbinsdale, MN
Posted: 4th Dec 2009 07:38
Quote: "Oh, and BMac Zero..."
Did you mean me?
Xarshi
19
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 4th Dec 2009 18:11
Quote: "Did you mean me? "

Yes yes, terribly sorry. I didn't look who posted it, I just saw a name who posted recently and guessed. Sorry.
revenant chaos
DBPro Master
18
Years of Service
User Offline
Joined: 21st Mar 2007
Location: Robbinsdale, MN
Posted: 4th Dec 2009 20:30
Quote: "Yes yes, terribly sorry. I didn't look who posted it, I just saw a name who posted recently and guessed. Sorry."
Don't worry, nothing to be sorry about.

How is the command set for the sliding/rolling detection going to work, will they just be commands to return info about a collision? If so, then I imagine that the collision reporting system will report a collision for the entire duration of the rigid body(s)'s contact with one another.
thenerd
16
Years of Service
User Offline
Joined: 9th Mar 2009
Location: Boston, USA
Posted: 4th Dec 2009 20:37
great that you got that done, xarshi!


forever loading...
Xarshi
19
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 4th Dec 2009 23:58 Edited at: 4th Dec 2009 23:58
Quote: "
How is the command set for the sliding/rolling detection going to work, will they just be commands to return info about a collision? If so, then I imagine that the collision reporting system will report a collision for the entire duration of the rigid body(s)'s contact with one another. "

I'll supply a couple of ways to do this. One way is comparing the linear and angular velocity and determining that (also it has to be colliding with something).

Another way will be to check if the rigid body is rolling on something else (something like xeno get rigid body rolling rigidBodyID, otherRigidBodyID)

The sliding command will work similarly.

Also, I added a command "xeno get character controller head position iID". This returns the modified y value for the character controller so you can position the camera right away.

I also revamped the crouching system a little. Now, when you crouch in the air, the lower half of the body gets brought up (think crouch jumping), but when you are on the ground, the upper half of the body goes down. So in easier terms that aren't as cryptic, when you are on the ground, your torso goes down, when you are in the air, the legs are brought in to the torso. Then of course if you land on the ground after crouch jumping everything is normal. So yeah, crouching is working GREAT. Also, you cannot uncrouch if something is above you. It will wait until there is room to uncrouch the character controller (note that you do not have to say the character is crouched in this situation).

Now character controllers are ALMOST finished. I just need to add the ability to create ladders. Which is a five minute task.
JRH
19
Years of Service
User Offline
Joined: 8th Jul 2006
Location: Stirling, UK
Posted: 4th Dec 2009 23:58 Edited at: 4th Dec 2009 23:59
I've updated the Wiki to include updated credits. If we use any resources, remind me and I'll add in the author.
thenerd
16
Years of Service
User Offline
Joined: 9th Mar 2009
Location: Boston, USA
Posted: 5th Dec 2009 00:33
thanks. monday I will try and model some characters...


forever loading...
Xarshi
19
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 5th Dec 2009 01:01 Edited at: 5th Dec 2009 03:25
Ladders are now implemented. You can flag any rigid body as a ladder. It works with this command:


If flag is set to 1, it is a ladder. If flag is set to 0, it is not a ladder. So this means you can dynamically adjust what is a ladder at runtime.

Just for a heads up, I'm adding two commands in:


This will come into play for first person shooters when the programmer wishes a player to enter a vehicle. This will disable that player, and allow everything to run as if the player were inside the vehicle.

Also, I'm implementing a command set for positioning and rotating a camera behind a vehicle. This will allow for professional camera and vehicle control simultaneously. You can thank Havok for their amazing engine and their very nifty class hkp1dAngularFollowCam.
Xarshi
19
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 6th Dec 2009 02:39
Sorry for the double post.

Vehicles may get a bit crazy. Havok basically has you designing the entire vehicle from the ground up. They give you so many options to fill out. I'm forced to do this:
I'm going to have two command sets for vehicles. One command set will be for creating the vehicle data, like "xeno vehicle data set chassis unit inertia yaw iID, fInertia" and then creating a set for vehicle instances. That way you don't need to go through all of this more than once when creating new vehicles. But I'm going to try and have a full fps demo up soon. I have characters working perfectly, just need to get vehicles integrated to get that haloish feel.

XenoPhysics - A Havok Wrapper for DarkBasic Pro. In progress.
BMacZero
19
Years of Service
User Offline
Joined: 30th Dec 2005
Location: E:/ NA / USA
Posted: 6th Dec 2009 03:04
Ah, yes. Vehicles are the awesomeness I'm really looking forward to from this plugin.

Login to post a reply

Server time is: 2025-08-08 16:03:13
Your offset time is: 2025-08-08 16:03:13