Jump to content
The Dark Mod Forums

Lloyd, Welcome To Your Applicant Thread.


New Horizon

Recommended Posts

  • 2 weeks later...

Sorry it's taken me so long to reply guys... to be honest I wasn't sure what I was supposed to do :unsure:

 

Anyway I have 5 or so years of C programming but in the last couple have really taken to C++ and am very familiar with the language (and nuances...). I'm pretty familiar with the physics areas in the D3 SDK but I'd be happy to try and learn other areas if you need me to.

 

ps.. I've never played Thief... I'll go and try and find a demo or something

Edited by Lloyd
Link to comment
Share on other sites

Well if all I'm needed for is physics that's cool too. I'll do my best to give you guys what you need.

 

Personally I think id's physics is pretty good. It's collision detection is slower than most (I think because of it's accuracy) and most objects don't behave properly when a force is applied to them but this isn't really noticeable most of the time because the collision impulses work well.

 

What are you guys looking for?

Link to comment
Share on other sites

What we want is to make the world behave physically correct. When you play HL2 you will notice that the player can pick up most objects and at least throw them. I think this adds quite a lot of believabillity in the gameworld and we want to do something similar. So you can pick up objects depending on their weight and use them. If the player picks up a heavy big craet, he can barely carry he shuold be slowed down accordingly. If he picks up a stool he can use it as a kind of crude shield or you can wield it to exert damage. How usefull that is for the player is another question because a blow with the sword will brake it pretty fast. But in general that is the players addition and I think this will add to the immersion.

 

Currently we will need swimmable water first, and maybe you can help Domarius witht he water arrow. Normal broadhead and an explsoive fire arrow already works. This is the base for the water arrow as well, but you need to add the splash effect on impact. I guess this would be the first things that should be started because the water arrow is a pretty important aspect of the gameplay as it is used to extuinguish candles and torches.

Gerhard

Link to comment
Share on other sites

Okay well the player physics mods seem pretty straight forward and to be honest, most objects in Doom 3 can be made moveable by adding a collision model (.cm) and changing the item from idItem to idMoveableItem.

 

As for the water arrows, I'd be happy to help anyway I can.

Link to comment
Share on other sites

Thanks for the warm welcome guys and I'll do my best. Feel free to send me emails about anything you have questions about or want my help with. I'll try and get on this forum as often as possible.

 

What is it you guys are looking for when you say "swimmable water"?

Link to comment
Share on other sites

Hey LLoyd, welcome aboard!

 

I think, besides "swimable" water, a main goal of our player physics is to pick up items with something resembling the gravity gun or setting g_dragentity to 1 functionality, and also have some way of pushing/pulling items that are too big to pick up (aside from just walking into them).

 

We decided that we want to have a "use" key, and this key will also physically interact with all physical items (idMovables). When one is too large/heavy to pick up, the item will not hilite when you look at it, but you'll be able to exert some force on it like a push or pull at the point where the center of your screen intersects the item.

 

For things that are small/light enough to pick up, they do hilite when you look at them, and you can pick them up and "hold" them at arms length in front of you, then throw them and drop them. (We also have some plans for advanced manipulation, like rotating them about 2 axes to precisely place items, if possible).

 

I think that's the main goal of player physics for now. We have done a lot of the groundwork done for "frobbing" or hiliting items when you look at them and having them respond to the use key.

 

Someone will probably correct me on this, but I think the tasks involved in this system are:

 

Interacting with Physical Items

 

- Detect if the item is small/light enough to be picked up and held in front of the player (maybe take volume, and volume * density, and check if each are below some maximum)

 

If idMovable is too large to pick up:

- If the item is an idMovable, but too large to be picked up, call something like idPhysics::ApplyImpulse to push or pull the item right at the point where you're looking at it (for example, you could push over a heavy chair or statue by shoving it near the top)

 

NOTE: I'm not sure exactly how we'll do pushing and pulling. There were some ideas like you can hold down the use key while looking at a large item, then walk around, and if you walk forwards it pushes the item at the point you're looking at, while walking backwards pulls the item toward you.

 

NOTE 2: The force you apply to the item should have a realistic value for human strength. So no tossing around 500 lb statues.

 

If you can pick up the item:

-If it is able to be picked up, the item is held in front of you, and stuff like using weapons and other items are temporarily disabled.

 

-The item should be able to collide with things in the world while you're holding it (I don't think this will take extra coding since this already happens when you use g_dragentity)

 

-You should be able to throw the item (probably by pressing "use" key again) or drop the item (we'll have a "drop" key for this purpose). Dropping the item just lets it drop under the influence of gravity from whatever height you're holding it at.

 

-Lower priority but we still want it if possible: Ability to rotate the item in front of you around two axis: the "gravity" axis (veritcal) and the axis going thru both the player's shoulders, but translated into the center of the item (ie, the "horizontal" axis). As you "drag" the item around with your mouseview, its rotational orientation should not change. Example: You knock over a vase by accident. You pick it up, rotate it until it's upright, angle the mouse down slowly to set it down again).

 

-Recently we've been talking about the possibility of using the item as an improvised shield in combat. The item would have to be damagable, and get destroyed when the AI hits it. If the item is pretty hard to break, like a chunk of rock, we decided it should have some chance of falling out of your hands when the AI hits it, so you can't block with it indefinitely.

Link to comment
Share on other sites

  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent Status Updates

    • Petike the Taffer

      I've finally managed to log in to The Dark Mod Wiki. I'm back in the saddle and before the holidays start in full, I'll be adding a few new FM articles and doing other updates. Written in Stone is already done.
      · 1 reply
    • nbohr1more

      TDM 15th Anniversary Contest is now active! Please declare your participation: https://forums.thedarkmod.com/index.php?/topic/22413-the-dark-mod-15th-anniversary-contest-entry-thread/
       
      · 0 replies
    • JackFarmer

      @TheUnbeholden
      You cannot receive PMs. Could you please be so kind and check your mailbox if it is full (or maybe you switched off the function)?
      · 1 reply
    • OrbWeaver

      I like the new frob highlight but it would nice if it was less "flickery" while moving over objects (especially barred metal doors).
      · 4 replies
    • nbohr1more

      Please vote in the 15th Anniversary Contest Theme Poll
       
      · 0 replies
×
×
  • Create New...