Wednesday, February 16, 2011

Rotted Report 06: Grrrrrr!

If you think the title of this post is a flavor quote from Ogress, the PC's Mabari companion in The Rotted Rose, you're wrong. It's a quote from me, expressing my feelings about how modding went last week.

So, it's been awhile since the last Rotted Report. The week before last I got a bit burnt out and decided to spend my free time playing Arcanum, something I've been meaning to do ever since I learned it was available on GOG. Last week, I (more or less) resisted the urge to level up my halfling bomb-thrower and pushed to get the last couple stages of the critical path implemented. Things were going pretty well until Saturday, when I ran into one godawful maddening bug.

One thing I really like about the Dragon Age toolset is that, for all its complexity, it generally gives you what you expect. The WYSIWYG cutscene editor and events-based scripting make for a lot less trial-and-error than in, say, Neverwinter Nights 2. I've often worked on seemingly complicated elements, and then been amazed to find that they work perfectly the first time I test them. The vast majority of the time something hasn't worked, it's been because of a stupid mistake on my part.

One exception came when, many months ago, I tried to implement my own custom world map. At that time, I was planning for the Rotted Rose to be a roadside tavern, with most of the locations being wilderness or rural. Following the tutorial on the builder's wiki, I was able to get my new map to show up in the toolset. However, I couldn't get it working in-game, and none of the suggestions I got from the forums helped. After much hair-pulling, I decided to cut bait and redesign my mod so that it could be set in Denerim (and I'm happy I did, because I think it actually works better for other reasons).

Anyway, I hadn't really had another truly confounding problem until Saturday. And, like most of the truly heinous bugs, it involved something simple that I took for granted would work.

If you really want the gory details... the issue was that two conversations weren't triggering. Now, I probably have more than a dozen conversation triggers already working in the game, so you can see why I really didn't expect to run into this particular problem. First I inserted a debug string to confirm that the trigger itself was working (it was). Then I tried to think of ways the conversations were different than other, functioning conversations. I spent hours trying different things - making adjustments, exporting, testing, then rinsing and repeating. I really wanted to put the problem to bed before I followed suit, but the bug outlasted me and I hit the sack at about 2 am.

The next day, I figured it out. The really weird thing was that the conversation would fire when I set the module's start point to a waypoint inside the trigger. So why wouldn't a floor trigger work (or an area script, which I had also tried)? Finally it occurred to me that this was one of only two conversations that were triggered when the PC jumped to a waypoint from the world map.

And there you go. I changed the transition so the PC jumped to the waypoint from a normal door transition, and it worked fine. Fortunately, this workaround is acceptable for this particular point in the game, so I'm not going to spend any more time messing around with what appears to be a Dragon Age bug.

So, that's about 10 hours spent fixing something that should have been utterly routine - hours that could have been used to stage multiple conversations, make a medium-sized cutscene, or write a minor sidequest. But I guess unexpected detours like this are just part of the package.

The Rotted Report is a periodic update on my upcoming standalone adventure for Dragon Age. Feel free to stop by The Rotted Rose project page on the Bioware Social Network. 

2 comments:

  1. Tough break man, I know how you feel there with that frustrating issue, the toolset is littered with this sort of thing.

    I would put a fair chunk of the difficulty curve down to this and often has been the case where you're staring at script or a trigger that in logical terms, should work perfectly. I've had to create workarounds for a tonne if issues that should not have been as issue whatsoever and have lost countless hours in the process!

    ReplyDelete
  2. Thanks for the commiseration, Daeltaja. As I said, I really haven't run into that many issues with the toolset, but the two I did run into were pretty awful.

    The fact that I couldn't find anything about this issue on the forums makes me wonder if the other big problem I ran into - custom world maps - is still unsolved. Or maybe it's just the case that there's a vanishingly small number of people working on standalone mods. Someone should have run into this issue before now.

    ReplyDelete