Jump to content
The Dark Mod Forums

Toro C++ coder


New Horizon

Recommended Posts

Ran into Toro on another forum and asked him to drop us a line. Can never have too many coders. :)

 

 

The bad news is that I don't have a portofolio to show. I worked for almost 5 years as a software developer for embedded systems and a couple of months ago I switched to ASP/.Net. However I have knowledge of C++ (STL), MaxScript and other.

 

I don't know what else to say. I let the details for you as you probably know what is needed.

 

Radu

Link to comment
Share on other sites

Don't worry about not having a portfolio to show. As you probably know, the Doom3 SDK is written in C++, so that experience will help. Usually what we do is let anyone who's interested start out with a small task and see how it goes. Ideally, the task should be something standalone that can be done as a mini-mod to Doom3, without having to wait to get set up with all of our TDM source and assets, as that can take a while. At this point though, it's harder to find a standalone task since a lot of them are improvement to things we've already added.

 

If you want, I can PM you with the current list of programming tasks that have yet to be done, and you can see if anything interests you. Do you have any preference for working on certain areas, like AI, physics, menu GUI, etc?

 

@Other programmers:

Please feel free to also suggest some tasks.

Link to comment
Share on other sites

I have a small task on my ToDo-List concerning the Revenant:

 

- Revenant is not attacking anymore (his GetNumMelee() script event is returning 0 - no attachments due to him not needing any weapons, attacks with bare hands)

 

This would be quite easy to fix I guess but I'm busy with other stuff, so that's a free task.

 

There are a lot of smaller tasks related to the AI, but I'd recommend waiting till I've merged by AI framework back into the trunk. I'm working hard on it, but I'm not done yet.

 

edit: Toro, just saw your edit: I'll certainly need help with our AI, I'll try to push my changes back to the trunk as soon as possible. :)

 

If Toro feels he's up to a task, we already could set him up so that he can download the codebase/mod, which takes long enough.

 

@Toro: you'll need to send sparhawk a PM with your username and your password you wish to use on our SVN server. Then you can download the source.

Link to comment
Share on other sites

Ultra-short setup guide:

 

- Send sparhawk PM with username/password

- Install TortoiseSVN (assuming you're working on Windows)

- Download the Mod as soon as sparhawk has confirmed your access

- Install VC++ 2005 Express Edition (in case you haven't another IDE of your choice)

- Install Platform SDK

- Add settings for shared libraries (look at D3world or ask me)

- Install Doom 3 (no spaces in the path)

- Install Patch 1.3.1 (important, use the one linked on the wiki)

- Compile your DLL (debug/release)

- Push the DLL into the \Doom3\ folder right next to the EXE (this will override the one in the PK4).

Link to comment
Share on other sites

Hi Toro! Looking forward to working with you!

 

@greebo: Did you miss the below sentence? :) Or did you read it but disagree?

 

Ideally, the task should be something standalone that can be done as a mini-mod to Doom3, without having to wait to get set up with all of our TDM source and assets, as that can take a while

 

As for suggestions on what such a task should be, I got nothing. The only task I can see (from a quick scan) on the programming to-do list which doesn't depend on Dark Mod code and doesn't already have at least a name attached to it yet is melee combat:

 

Player Melee Combat

- Figure out how to stop an animation and play it backwards from that point (for being parried)

- Design for attacking and blocking (WIP)

- Context-sensitive attacks and parries

- "Physicalize" it so that actual sword on sword / sword on flesh collisions are detected

- Blood decals should depend on damage def

This is mostly reasonably advanced stuff and/or design work though. The most plausible one is the first one (playing animations backwards from some point), but id's animation code is pretty ugly - it'd be a bit of a rough introduction to D3 modding. :) It should be quite doable in theory since all the animation code is exposed in the SDK, but it's an undocumented, uncommented maze. I'm not even 100% sure what all of the involved classes are for.

 

There's an idea - you could go through id's animation code and document how it works, because none of us really understand it fully. :P That would be very useful, but it's boring grunt work.

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

@greebo: Did you miss the below sentence? :) Or did you read it but disagree?

Whoops, I overread that, but then again, I do think that the D3 tasks are running a bit low, as you stated. Hence I believe we should give him access to the source code (after getting him sign a contract with his very own blood not to leak the sources, or we shall get hold of his first-born spawn, *evil laughter*).

 

Melee combat and animation code are possible tasks, but fairly advanced of course.

Link to comment
Share on other sites

I actually talked to Bloodrayne who's dong melee combat for Hexen EOC, and he said he tried playing the animation backwards, but it didn't look very good. What they've done is stop the animation at the collision point, and blend it into various "bounce" animations.

 

Looking at the list, these things come to mind:

Things not requiring our codebase:

 

1. SetContents calls in derived classes reset custom contents flags

Physics objects have a set of flags called contents (things that bump into it) and one called clipmask (things it bumps into). We would like to set these to custom values. We can easily set them at spawn time, but some classes call SetContents() to reset the contents to something at other times, thus clearing our custom contents changes. It would be nice if we could maintain another list like CustomContents, that was always added to the contents when GetContents() was called. There are some complications, in that in some cases we would actually want our custom contents to get cleared, but we can worry about that later.

 

2. Movers need Rotate Speed variable instead of rotate time; the rotate time always takes effect no matter how small the rotation, so it takes the same amount of time to close a door open a crack and to close a door all the way. This is bad.

 

Things requiring our codebase:

 

3. Fixes to leaning code:

- Play 3rd person lean animation (in player script)

- Control issues (toggling rapidly, wait for return to center to switch forward/sideways)

 

4. Difficulty Levels

- Effect on AI acuities (we made a design for this a while back, where there would be some baseline values scaling everything according to difficulty, as an option for the mapper)

- Effect on player health

 

5. AI Tasks - Talk to Crispy & Greebo, see if they have relatively self-contained tasks that could be done.

 

Also if you're itching to get started right now, you can always download the Doom3 SDK and make sure you can compile it. It can be a little tricky to set up at first, and you need things like the windows platform SDK. www.doom3world.org has a good guide to compiling.

Link to comment
Share on other sites

Thank you for the welcome and the information.

I need to catch up with you.

I will post my actions/questions on this thread.

 

ps.

My current platform is Visual Studio 2005 and I already have Tortoise installed.

I asked sparhawk for an SVN account.

 

For some reason I'm unable to download the correct Doom3 SDK from id site (error 421- too many users) and I already tried a couple of times. Is there another place for downloading the SDK?

 

Some questions:

1. Are you using some Task/Bug tracking software?

2. How many hours/week do you spend on average on this project? This is just for my personal information.

Link to comment
Share on other sites

For some reason I'm unable to download the correct Doom3 SDK from id site (error 421- too many users) and I already tried a couple of times. Is there another place for downloading the SDK?

I don't know if there are mirrors, but I hope so. Perhaps you can find it via google?

 

1. Are you using some Task/Bug tracking software?

2. How many hours/week do you spend on average on this project? This is just for my personal information.

ad 1: Yes, we have a bugtracker for both DarkRadiant and The Dark Mod. The one for TDM is not that up to date, most bug reports are in a separate forum. Ah, yes, the address is http://bugs.angua.at/. You'll have to sign up so that I can give you the permissions.

 

ad 2: That varies wildly. I can only speak for myself, currently this is about 40 to 50 hours per week (:blush:!), but I'm currently in the timespan between my studies and starting a job, this will decrease pretty much pretty shortly, I guess.

Link to comment
Share on other sites

You are right. I took the D3_1.3_SDK.exe file from fileplanet.

I also created an account on the tracking system.

 

greebo: I already have a job, so I cannot afford so much time..:)

 

Over the next days, I will play with the SDK.

And for the first task, I will probably let you to decide.

My only preference is to involve coding.

 

One more question: Is this thread public? Or should I ask what is the preffered way of discussing YM/Skype/other?

Link to comment
Share on other sites

I also created an account on the tracking system.

I already set you up with developer rights for The Dark Mod and as "updater" for DarkRadiant.

 

greebo: I already have a job, so I cannot afford so much time..:)

That's absolutely no problem, I'm aware that I'm probably the only one from TDM team who can spend so much on the mod. :) Any help you can provide is appreciated, that's for sure.

 

And for the first task, I will probably let you to decide.

As soon as I'm ready with merging my AI changes back into the main codebase, I can assign you a few startup tasks. Or Ishtvan assigns you something for the meantime.

 

One more question: Is this thread public? Or should I ask what is the preffered way of discussing YM/Skype/other?

We have a lot of internal forums, which are the primary means of communication. We once had an IRC chat, but this was already out of habit when I joined one and a half year ago.

Link to comment
Share on other sites

You are right. I took the D3_1.3_SDK.exe file from fileplanet.

I'm afraid that you need the 1.3.1 version of the SDK.

 

greebo: I already have a job, so I cannot afford so much time..:)

Most of us don't have a lot of time. Greebo is an exception; I am decidedly not.

 

Over the next days, I will play with the SDK.

And for the first task, I will probably let you to decide.

My only preference is to involve coding.

That's quite alright.

 

One more question: Is this thread public? Or should I ask what is the preffered way of discussing YM/Skype/other?

Forums. This thread is internal, by the way.

Link to comment
Share on other sites

Greebo is definitely an exception with the time thing. Personally I'm still at uni, and during term my TDM output falls to a few hours per month, not counting the time I spend reading the forums (which I've never timed).

 

Almost all our discussion happens on our private forums. If you want to discuss something privately, the forum's Private Message feature is probably the best way to do it; but usually we just use the forums themselves, since there's not a lot that benefits from being made personal. The benefit of putting it on an internal forum for the entire team to see is that we can pool our knowledge better.

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

Okay, well if you are more interested in one particular task than another, just let us know. You mentioned AI.

 

@Greebo: Do we have any self-contained tasks that could be done with your new AI setup? We still have to incorporate some of the behavior from the Doom3 "npc" class (we originally inherited from the "monster" class, which can't do everything the "npc" class can). Now that we're moving away from script though, that might be more complex than just merging in some scripts. What do you think?

Link to comment
Share on other sites

I'm confident that I can define a few self-contained tasks. For instance, the "switch on light" tasks are still to be written (the existing script code is not very compatible with my framework, and in fact I think it's quite easy to set it up now).

 

If Toro could start working on that LightSwitchOn thing, this would also be a good opportunity to write some startup documentation/tutorials for the new AI code.

 

I'll have to look at the NPC stuff to see what functionality has to be ported. As you said, it might be more complex, but let's see.

 

@Toro: Let me know when you're ready to go, we'll then move on to an internal thread to get you started.

Link to comment
Share on other sites

  • 3 weeks later...
  • 4 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

    • Ansome

      Finally got my PC back from the shop after my SSD got corrupted a week ago and damaged my motherboard. Scary stuff, but thank goodness it happened right after two months of FM development instead of wiping all my work before I could release it. New SSD, repaired Motherboard and BIOS, and we're ready to start working on my second FM with some added version control in the cloud just to be safe!
      · 0 replies
    • Petike the Taffer  »  DeTeEff

      I've updated the articles for your FMs and your author category at the wiki. Your newer nickname (DeTeEff) now comes first, and the one in parentheses is your older nickname (Fieldmedic). Just to avoid confusing people who played your FMs years ago and remember your older nickname. I've added a wiki article for your latest FM, Who Watches the Watcher?, as part of my current updating efforts. Unless I overlooked something, you have five different FMs so far.
      · 0 replies
    • 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
×
×
  • Create New...