Jump to content
The Dark Mod Forums

douga's Application


greebo

Recommended Posts

Douga asked whether he could help with some programming, so here is his application thread.

 

For TDM programming tasks, one really needs to have access to the actual source code, which means that he needs to get access to SVN. This will take a bit of time, so I thought about a small task which wouldn't immediately require SVN src access:

 

One thing we talked about was the player's jump behaviour. Many think the speed/jump distance is too small and I tend to agree when comparing it to Thief.

 

@Douga: Would you be interested in looking into the jump code a bit? Basically, we need some means to control how far the player can jump (i.e. control the horizontal velocity during the jump process). This should be possible to check out even without SVN access.

 

This is one possibility of course - maybe my fellow programmers have a better suggestion as a "warmup" task?

Link to comment
Share on other sites

  • Replies 79
  • Created
  • Last Reply

Top Posters In This Topic

Douga asked whether he could help with some programming, so here is his application thread.

 

For TDM programming tasks, one really needs to have access to the actual source code, which means that he needs to get access to SVN. This will take a bit of time, so I thought about a small task which wouldn't immediately require SVN src access:

 

One thing we talked about was the player's jump behaviour. Many think the speed/jump distance is too small and I tend to agree when comparing it to Thief.

 

@Douga: Would you be interested in looking into the jump code a bit? Basically, we need some means to control how far the player can jump (i.e. control the horizontal velocity during the jump process). This should be possible to check out even without SVN access.

 

This is one possibility of course - maybe my fellow programmers have a better suggestion as a "warmup" task?

 

Sounds good, I could give that a go.

Link to comment
Share on other sites

Do you know Thief? Do you have Thief or Thief 2 installed on your machine? This would come in handy for 1:1 comparisons, I think. But it's not much of a problem if you don't, as long as the actual value for the jump speed can be adjusted via a CVAR. The actual tweaking can be done by somebody of the team as well.

Link to comment
Share on other sites

Do you know Thief? Do you have Thief or Thief 2 installed on your machine? This would come in handy for 1:1 comparisons, I think. But it's not much of a problem if you don't, as long as the actual value for the jump speed can be adjusted via a CVAR. The actual tweaking can be done by somebody of the team as well.

 

Yup, I have thief gold installed as well.

 

In thief gold the jump distance is definitely larger, also after the jump the player moves forward a little indicating some inertia simulation, also the when doing consecutive jumps that inertia is taken into account and added to the the next jump speed as the player seems to be able to jump further.

 

I am not sure how much of this behavior we need to integrate in the dark mod. Basically need to know what are the requirements. Personally I would love to see the exact same behavior replicated in the dark mod.

Link to comment
Share on other sites

also the when doing consecutive jumps that inertia is taken into account and added to the the next jump speed as the player seems to be able to jump further.

Isn't that a bug that lets you reach ridiculous speeds by repetitively jumping? And then die if you smash into a wall?

Link to comment
Share on other sites

I could try adjusting pm_runmod and pm_jumpheight so it's like in thief

Beware that the pm_runmod affects the run speed in general (which is pretty much the way we want it right now, so this can't be changed at this point). If you're in need to change it for jumping, you might want to read and modify the value right at "take-off" maybe?

 

And yes, the bunny-hopping exploit is not desired, it was fixed in Thief 2 anyway, IIRC. The step after the jump sounds ok to me, so it depends merely on your time and enthusiasm whether you want to spend time on that. :)

Link to comment
Share on other sites

Beware that the pm_runmod affects the run speed in general (which is pretty much the way we want it right now, so this can't be changed at this point). If you're in need to change it for jumping, you might want to read and modify the value right at "take-off" maybe?

 

And yes, the bunny-hopping exploit is not desired, it was fixed in Thief 2 anyway, IIRC. The step after the jump sounds ok to me, so it depends merely on your time and enthusiasm whether you want to spend time on that. :)

 

 

I've been going through doom 3 sdk files trying to get an idea of what files do what, etc. I think it's going to take some time. I've been mostly working with Player.cpp file. I am not sure if this where the TDM custom movement code is but its enough for me to experiment with jumping movements for now. If there is a custom movement code then it would be better for me to use that.

Link to comment
Share on other sites

The actual jumping code has not changed (at least not much) in TDM, so yes, player.cpp and the corresponding pyhsics object (physics_player.cpp) is definitely the place to look for.

 

If you need help with debugging output (there are a few methods which allow to draw lines and text in the world and on the screen, which are sometimes more helpful than setting breakpoints, especially for physics stuff), let me know.

Link to comment
Share on other sites

Forgot to add, there are also some general notes about coding in that wiki article here, including a section with example debugging code. There is no log file in the D3 SDK, but there is in the TDM codebase.

http://wiki.thedarkmod.com/index.php/Coding_in_the_SDK

 

 

Thanks, I am reading it now, also debugging on the display sound like an excellent idea. Please let me know how it can be done, it would help me a lot.

 

just realized the instructions are in the wiki

 

This is fun but not surprisingly a lot of work, the code is huge compared to what i have been exposed to, but i am making progress. :wacko:

Link to comment
Share on other sites

Yes, it's a lot to work through and id's code is not very well-organised. But I'm sure you'll get a handle on it soon enough!

 

Welcome, by the way. :)

My games | Public Service Announcement: TDM is not set in the Thief universe. The city in which it takes place is not the City from Thief. The player character is not called Garrett. Any person who contradicts these facts will be subjected to disapproving stares.
Link to comment
Share on other sites

It definitely takes time, but you get used to things and after a while you know exactly where to look for certain issues. Additionally, we are here to ask and to point your nose to the right place.

 

You also don't need to know all the code. As long as you don't mess with animations, you can skip a lot of code, same for AI, same for physics, inventory, etc.

Link to comment
Share on other sites

Thanks, I am reading it now, also debugging on the display sound like an excellent idea. Please let me know how it can be done, it would help me a lot.

 

just realized the instructions are in the wiki

It sounds like you found it on the wiki, but if not, printing to the console can be done with gameLocal.Printf.

 

As for the step after the jump, I'd be wary of the consequences of that when the player is trying to jump precisely on to a thin edge or a pole or something. It's already hard enough since you can't see your feet, but if you always took an extra step forward after jumping, and that step often resulted in you falling off the thing you were jumping on to, that would be very frustrating.

Link to comment
Share on other sites

It sounds like you found it on the wiki, but if not, printing to the console can be done with gameLocal.Printf.

 

As for the step after the jump, I'd be wary of the consequences of that when the player is trying to jump precisely on to a thin edge or a pole or something. It's already hard enough since you can't see your feet, but if you always took an extra step forward after jumping, and that step often resulted in you falling off the thing you were jumping on to, that would be very frustrating.

 

 

Yes, thats a good point. Maybe even leave this out, or create a boolean Cvar so it can be turned on/off?

Link to comment
Share on other sites

It's up to you what you want to do for starters, but I'm guessing people might complain about it if you put it the involuntary step forward at the end.

 

 

Totally agree, the fact that you can jump on poles now basically negates the need for this step. Unless the game play rules are changed but then some of the maps may be affected. The only place for this extra step really is when a player is on a flat or near flat surface, is running, just jumped and now landed on a flat surface and not on any other physics object, so he takes a step as he/she decelerates to a halt, unless he jumped into a water and in this case the is no step.

Link to comment
Share on other sites

I think the step should be left out. You could include the *sound* of a step, if that matters, but we only have to look to TDS to see how annoying it is when your character takes extra steps that you didn't intend to take.

Link to comment
Share on other sites

I think the step should be left out. You could include the *sound* of a step, if that matters, but we only have to look to TDS to see how annoying it is when your character takes extra steps that you didn't intend to take.

 

Well thats actually interesting, because instead of the step we could just lean/bob in the direction the player was jumping to make it feel like they just stopped abruptly. So in effect what would happen is that if a player runs and jumps they lean slightly forward on impact and if the land on a pole then a "balancing bob" can be used to give a feel of instability on a narrow object. This will also be consistent with what already happens when the player climbs an object.

Link to comment
Share on other sites

If you want to attempt it that's fine. I'm guessing it will be hard. You'd have to make sure the bob didn't take the camera forward thru a solid, for example. You could look at our forward lean code as an exampe (not sure if you have our source though). It's probably best to get the basics of the jump down and then work out the aesthetic touches later.

Link to comment
Share on other sites

Well, leaning in the direction of the landing might be a little deceiving or disorienting to the player. He/She might panic and back up. I definitely like the idea of a bob, though. Bob was a really nice guy back in T2 days.

yay seuss crease touss dome in ouss nose tair

Link to comment
Share on other sites

If you want to attempt it that's fine. I'm guessing it will be hard. You'd have to make sure the bob didn't take the camera forward thru a solid, for example. You could look at our forward lean code as an exampe (not sure if you have our source though). It's probably best to get the basics of the jump down and then work out the aesthetic touches later.

 

 

Yes, I think I would rather work on whats required and has been agreed and approved so to speak. I don't have any TDM sources yet so I am just going by what is in doom 3 sdk and what I can infer from the demo. Its been good so far, i've been getting a lot of support, and I am still going through player.cpp (8000 lines!!!) its nuts. :blink:

 

I assume there is some sort of change management process and all changes are approved by someone before any works gets started. I am happy for someone to give me a task with details on what required, and will attempt to meet the requirements.

Link to comment
Share on other sites

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.
      · 4 replies
    • 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...