Jump to content
The Dark Mod Forums

joebarnin -New Coder


New Horizon

Recommended Posts

joebarnin is applying to work with us as a Coder. I think Jeff's experience should speak for itself, he has a varied amount of work under his belt. :)

 

I'd like to volunteer for the Dark Mod project as a programmer. Here's my background. I'm 48 years old, I've been a software developer all my career. Graduated with a BS in Biomedical Engineering from UC San Diego, decided my senior year that I liked programming more than anything. I've been working in software ever since. Been doing Java for the past 9 years; before that it was C++.

 

My game modding experience is minimal. I've played around with the SDK/modding tools for a few different games. I wrote a couple of (unpublished) Thief 2 missions, and one Thief 3 mission (Starting from Scratch, Contest 6). I'm not offering my services as a modder, since I'm not very experienced in this realm. But I have spent 25 years writing code, so I think I can help in some way on this project. No AI or physics experience, no particular expertise in gaming programming (the company I work for now does Document Management). But I know object-oriented languages, and I know how to pick up arbitrary code, figure out what it does, and debug it. I installed the Doom 3 SDK and messed with it a bit, modified some of the C++ code, built the DLL and tested it, just to prove I could (all weapons now fire 5 additional projectiles at a time :-)

 

And I love the Thief games. I love the immersion, the pace, the thoughtfulness of all of the Thief games and so many of the FMs. The Dark Mod looks to be a wonderful way to keep this type of gaming alive. So if there is any way I can contribute, please let me know.

 

Jeff

Link to comment
Share on other sites

  • Replies 72
  • Created
  • Last Reply

Top Posters In This Topic

Sounds good to me.

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

I just realized in my original email I wrote "I'm not offering my services as a modder". What I meant to say was "mapper". Sorry, when you're 48 you start making mistakes like that. :-)

 

Sorry about the lack of sample code. Almost all of what I've done recently is for work, and I'm wary of making that public without heavily obfuscating it. But if need be, I can.

 

joebarnin

Link to comment
Share on other sites

Those sound like good credentials, and it's great that you're already able to compile the D3 SDK. Is there anything you are particularly interested in helping with, AI, physics, combat, etc?

 

Normally we give new programmers a starting "contributor" task that can be done at first as a small mod to the D3 SDK. I'm not sure if we have any tasks left that don't build on our existing mod codebase. The only thing I can think of is to design a pre-mission equipment store like Thief had. This will probably be a GUI, but the trick is getting it to run before anything else happens, and getting it to add items to the player's inventory.

 

If you're interested in that, you might want to look at how maps starts up, which is located in /game/game_local.cpp. The store system may have to spawn entities, so maybe it should run after everything has spawned, but before the overall frame loop actually starts.

 

We have an inventory system different from the one in vanilla D3. To add "starting" items for the player, we set some spawnargs on an entity, and then call an Event on the player with that entity as an argument. These events may be scheduled to run later via idClass::PostEventMS (idClass is the base class for all other game entity classes).

 

So the mission store would pretty much have to run before the overall frame loop starts and before "events" are processed, needs to set spawnargs (varying according to how many of the item the player buys) and then have the player entity schedule an event to add the item(gameLocal::GetLocalPlayer can return a pointer to the player) to add the item. (I think this is how our inventory currently works, Sparhawk will be able to confirm this).

 

Does that task sound interesting? If not, we can work out something else.

Link to comment
Share on other sites

Sounds good enough for me. :) So I would be no longer the oldest programmer here? :P

 

As for expertise in game programming - I also had no specific game programming experience. I just had a lot of experience with coding in general, and at the end of the day, a game is just another piece of application from the coding point of view. :) The major difference is in the performance requirements, and usabillity. But if you work on a real time system, you also have to obey performance laws, so this is not THAT different.

Gerhard

Link to comment
Share on other sites

The pre-mission equipment store project sounds perfect! I don't have any particular areas I want to work on, and that sounds like a great first project.

 

But I'm a bit confused, Ishtvan. It sounds like you want me to work on the vanilla D3 SDK to start with. But then you say that the DM inventory system different from the one in D3. So, should I code to vanilla D3 to start with, then port to DM once it's done? I'm fine with that, I just want to make sure I understand.

 

No doubt I will have one jillion other questions (*Gasp* "Sir, that's not a number." *Gasp*) as I proceed, but for now I can get started.

 

joebarnin

Link to comment
Share on other sites

Hey Joe, welcome aboard. I'm not a coder and don't pretend to understand half of what Ishtvan just said, but if he's actually asking you to do some GUI coding, I can actually help there, at least with the more basic stuff. :) I also have the 'purchase menu' graphics, if and when they'd help.

Link to comment
Share on other sites

Hey Joe, welcome aboard. I'm not a coder and don't pretend to understand half of what Ishtvan just said, but if he's actually asking you to do some GUI coding, I can actually help there, at least with the more basic stuff. :) I also have the 'purchase menu' graphics, if and when they'd help.

 

That's great, because which graphics I should use (and how to do GUIs in general) were on my list of a jillion questions. I'll let you know when I get to that point!

 

Thanks,

 

Jeff

Link to comment
Share on other sites

Usually we let the artist to do the graphics job. It's enough if you create functional placeholders, in case you need some graphics, or ask an artist to create something suitable for you.

 

The shop is rather self contained, so this would indeed be a good start. Since we already have a lot of changes done, you certainly will need our codebase. Doesn't make sense to start with vanilla D3 SDK in this case.

Gerhard

Link to comment
Share on other sites

I was thinking maybe one could do it without our codebase initially, by finding the place in gameLocal to run the shop GUI, and then at that point to interface with our inventory it just has to be able to spawn items and call idEntity::PostEventMS on the player, so as long as it can do these two things in a test case, it can be modified with the specific inventory spawnargs and event name later. I have no objections either way though, it just takes some time to set up SVN access.

 

I just realised though that running the GUI may or may not require some stuff we added to overlay a GUI on the player's screen. Also, it could be a trickier task because a GUI might require game time to be changing in order to update certain timed parts of the GUI, but we don't want most of the stuff in the frame loop to be running yet, so that's something to overcome. You may want to look at how g_stoptime is handled, which pauses the game but still lets the frame loop run for the player.

Link to comment
Share on other sites

So, how about if I start with vanilla D3 SDK and see how far I can get. If I start running into issues that require the DM codebase, then I can upgrade. Does that make sense?

 

Also, I'm currently on version 1.3 of D3 and the D3 SDK. Should I upgrade both to 1.3.1?

Link to comment
Share on other sites

Yes, installing the patch makes sense, as we upgraded the Dark Mod codebase to 1.3.1 a while ago. Although it won't make much difference from the coding point of view.

 

If you upgrade, you'll have to upgrade both the game and the SDK, but I guess you know that already.

Link to comment
Share on other sites

Sorry, somewhat off topic, but slightly relevant since the shop came up.

 

Well first, joebarnin, welcome aboard.

 

Just curious what the shop is gonna look like. I was just thinking it might be cool if the shop looked like shleves loaded with goodies. Instead of the typical items in a box. The T2X website comes to mind, it's got a bunch of items scattered around a table or something. Something similar.

Dark is the sway that mows like a harvest

Link to comment
Share on other sites

Sorry, somewhat off topic, but slightly relevant since the shop came up.

 

Well first, joebarnin, welcome aboard.

 

Just curious what the shop is gonna look like. I was just thinking it might be cool if the shop looked like shleves loaded with goodies. Instead of the typical items in a box. The T2X website comes to mind, it's got a bunch of items scattered around a table or something. Something similar.

 

Not really going to be a physical shop, basically we're talking about a Thief 1/ 2 purchase screen. Ingame shops are still possible for mappers to put together though.

Link to comment
Share on other sites

Well, that's what I meant. But just that it would look like a picture of a shop, not a screen with a box for shop and one for inventory like thief.

 

A nice rendered picture that the weapons/items would overlay. A health potion would always appear on the table in the left corner, if included in mission. A water arrow would always be in a bucket of water on floor, a sword in a rack on wall...

Just a better visual than icons in a box.

 

Doesn't matter to me though, just a thought.

Dark is the sway that mows like a harvest

Link to comment
Share on other sites

How the shop looks is an artistic decision. Codewise it doesn't matter if you have one item or many displayed.

 

I don't think baddcog was connecting the coding aspect with the artistic aspect, he was simply wondering about the look of it.

 

This is the mockup of our purchase screen. We wanted to keep it the same artistic style as our other menus.

 

http://www.mindplaces.com/save/gui_purchase1.jpg

Link to comment
Share on other sites

Calling it a "shop" is probably misleading. A "purchase screen" is a little more accurate.

 

And in the time since I made that mock-up, I've actually learned how to do some of the things in there, like including images of 3d models. ;)

 

In fact, most of the gui elements in there will be stuff I can handle. It's just the code parts (tracking money, spawning items, keeping totals, etc) that I won't know how to do. It looks like I'm going to have to get back into gui coding this summer anyway (since napalm hasn't posted in months), so this is good timing.

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  »  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
    • 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
×
×
  • Create New...