Random Thought of the Day

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Random Thought of the Day

      I was walking around in Barbie and noticed that there were these funky dirty dark spots showing up on the ground. I joked that these were the shadows of the ghosts of ancient, dead code in our mammoth code base.

      It turns out I was right..... sort of.

      Babrie has multiple worlds that you go to by going through doors. You click on a certain door and go to another area (we call them worlds; just another BSP). It turns out that when someone is left active in a world, their shadow gets drawn even if you're not in the same world at the correct (x,y,z) location. So the effect was to get shadows (dirty splotches) randomly showing up.

      They were the shadows of people in other worlds.....

      Okay, maybe I'm the only one who finds that cool. ;)

    • No I find it cool too. You can now say " I see shadow people"...

      At first I thought that maybe Barbie was a city and this was real life, I was thinking that sort of thing probably happend alot in the 70's. ;)

      Then I realized Barbie was the game you're working on.

      The post was edited 1 time, last by DragonCode ().

    • Well, I'm a pretty random guy. ;) One day I'm looking at the shadows of lost souls, the next I'm pouring through Assembly trying to figure why the pathing code is causing a crash. But hey, that's life!

      The lesson: never use middleware you don't have the source code for. I swear, if this thing dies on me one more time, I'm going to come in over the weekend and gut the whole pathing system.

      I have no idea where I was going with this.......

    • Might you be using PathEngine, perhaps? Much agreed on the middleware source directive... although I'd consider it a grey scale, as I rather like Bink and Miles very much, even though there is no source code... still, those are the exceptions rather than the norms.

      That's a pretty cool Barbie bug. I am looking forward to playing 'Barbie Demon Summoner'.
    • Well Bink and Miles are more like operating system enhancements at this point! They're so stable and easy to use you don't NEED the source.

      Wish that were the same with other middleware...
      Author, Programmer, Brewer, Patriot
    • We use Kynogon, but the only thing we use it for is fancy pathing. It has dynamic avoidance and a few other features we need. It's not that it's necisarily unstable, it's just a pain to debug when you're so shallow into the call stack that you have no idea where the bad data is coming from. It was pretty obvious what the root of the problem was, it died on this line:

      Source Code

      1. call [edx+20h]

      edx was 0, so the vtable was invalid. The time was spent tracking down how and why the vtable was dead. After several hours of grinding through the code and a million data structures, we finally narrowed the problem down to the dynamic obsticles that we create whenever there's a conversation which causes other agents to avoid walking through the conversation. These objects weren't getting destroyed correctly (actually, they were getting destroyed in our world, but the reference was still left over from Kynogon's point of view). Once we narrowed it down, the lead engineer (whose refactoring introduced the bug) and the chief architect (who originally wrote the code) went off to fix it. Two gets and a compilation later, the problem was fixed.

      Any they called me crazy for learning assembly language. Who's crazy now! Not the guy with the green mohawk, that's for sure!

      The next question is whether or not we should write our own pathing system or if we should try to find an opensource one. We don't really want to have to pay for Kynogon anymore.

    • Interesting - we just got an eval of that tech at work. I guess you're not too happy with it, huh?

      I was interested in it mostly for the automatic navmesh generation and squad behaviors...
      Author, Programmer, Brewer, Patriot
    • This isn't the first time we've had trouble, but to be fair, it's always been something on our end. Our style of game really doesn't need any of the extra bells & whistles, all we need is good pathing. Why pay for something we're not really using?

      I can't give a recomendation either way since my experience has only been with this small subset of functionality. I think we got it bundled with Renderware, but don't quote me on that.