Jump to content
The Dark Mod Forums

Aurynn's Application.


Recommended Posts



I write code for a living (webapps, mostly), and I'm interested in helping out with The Dark Mod.


I can dedicate 6-7 hours a week, give or take, to the project. (Basically a day of coding, for me).


I haven't dug into Doom3 coding, yet, save some research for a mod I was planning on, but the AI looks incredibly powerful, and I'd like to see what evil can be crafted for the guard AIs.

Link to comment
Share on other sites

Hi, we could definitely use someone working on the AI!


Please send an email to: recruiting@thedarkmod.com , and New Horizon will set you up with a thread in the Applicants forum. (I'm not positive if the email is 100% necessary, but I think it helps things happen faster :) )

Link to comment
Share on other sites

We'll have to wait and see what our lead coder, Sparhawk has to say, but until then:


Usually for coders looking to help, we end up giving them "contributor" status and starting them on a task. Then when some progress has been made, you become a full member as opposed to contributor. This is because it's harder to "show off" your level of talent than say artists or sound designers (although if you have any links to previous apps that you've coded, feel free to post them).


If the rest of the team members agree, we just have to pick an AI related task for you and help set you up with the stuff you'll need.


AI Stuff

In Doom3, some AI coding is handled by scripting (in a higher level, "C++ like" language) and some is handled by the C++ hardcode.


I have done some work on the AI, doing general stuff like defining an alert system with different types of alerts, alerting them at the appropriate times thru this system (they hear a sound, they see the player, calculated some alert number based on the player's lightgem value and distance to player, and get a visual alert, or when they bump into the player or the player bumps them, they get a tactile alert, when something is out of place they get an environmental alert (not yet implemented) ).


That type of stuff is pretty much written. There are some problems, but I have notes on how to fix them, and think it would probably be more efficient if I just fixed them rather than giving someone else the notes and asking them to do it.


Some Possible tasks:

What we really don't have much of yet is AI behavior. This is mostly handled by scripts (although we'll probably have to add some new script functions in the SDK).


I wrote a basic "search" algorithm for when an AI is alerted by something at a definite point in space, and they come up and wander around near that point. It is pretty badly written though (it's sort've a random walk search, but it always returns to exactly the point where it saw/heard the alert between walks), so I think a better search algorithm could be a possible task.


-Better search algorithm centered around an "alert point." AI saw or heard something pinpointed at a specific point in space, so they will search primarily around that point, maybe in an expanding search radius over time


-Different types of search algorithms: (eg, search in a general direction)

AI heard something thru a doorway and doesn't know exactly where the sound originated, just the direction it came from, so they would search generally in that direction, until they get tired of searching and go back on patrol.


-Combat behavior (this would be tricky since a lot of the combat, like blocking, has not been coded yet)


-Major undertaking: AI awareness of light & shadow. Eventually we want the AI to have some knowledge of how brightly lit different areas are, and take that into account when searching, chasing the player after a definite sighting, etc. This will take a lot of coding though, and might involve some kind of "light grid" that's generated at the start of the map, and then updated when lights turn on/off.


Anyway, we'll see what other team members say. In the meantime, maybe try and think of an AI-related task that would be interesting (it doesn't have to be chosen from the ones listed).

Link to comment
Share on other sites

I think doing the search algorithm would be a good task. Apart from that what is still open would be swordfights, missile weapons like arrows and stones. Maybe this would be the better task to start with, as shooting missiles would be more independent.


Link to comment
Share on other sites

Yeah, there is a lot to do in the search algorithm(s), since we might want different behavior based on whether they saw something, or are in the same room as you and heard you at a definite point, or if they're several rooms away and hear something from a general direction, or finally, if you were fighting them and you run around a corner from them. Also, the more alerted they are, the longer they should search before giving up (I did write that in to my crappy algorithm :) )


Some of it does depend on the light/dark awareness thing though, like searching dark places preferentially. I have no idea how we're going to do that yet.

Link to comment
Share on other sites

I think the search algorithm is a pretty huge task, and I wouldn't want to give this to a contributor as his first task, unless I'm convinced that he is well versed in writing AI code. Fighting code should be much easier to do and is much more seperated from the other stuff.


Link to comment
Share on other sites

I guess I meant just one facet of the search algorithm, that is, not coding all of those cases mentioned, but try out one of them, like, search in an arc in a general direction for a while, then stop (this is actually harder than it sounds because D3 AI are designed to go from point to point, not keep walking in one direction).


Coding something like an archer AI would be great too though. That would be do-able I think, since we have the mechanics of ranged combat already coded.


I guess we'll wait and hear what Aurynn's preferences are. Feel free to suggest any other AI-related tasks too :)

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.

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

    • nbohr1more

      Anyone have any luck with light.setShader( string ) ? It seems to make whichever light you apply it to full-bright on the initial invoke?
      · 0 replies
    • thebigh

      I'm starting to think we need another mapping contest.
      · 4 replies
    • kano

      Don't you hate it when there's a quality discussion on a forum somewhere online about something, but then two disagreeing users derail and transform it into a back-and-forth poo slinging competition at one another?
      · 9 replies
    • Diego

      Oh look the status updates are back! 
      · 2 replies
    • JackFarmer

      After watching the first three and a half episodes of "The Sandman" last night, I realize once again that overly imaginative narratives are not for me. Also, the main actor looks like he has a toothache.
      Which makes me wonder, is there a Dark Mod mission with a medieval dentist?
      · 4 replies
  • Create New...