May 23, 2011

1 month challenge

Ok back to modding, so back to blogging (I'm sure many assumed the death of both).

Some of you may have followed my thread here:

http://social.bioware.com/forum/1/topic/167/index/7156713

Now, never one to chime in with ideas that everybody (but me
) should do, I was definitely planning on implementing.

So that's what I did. I silently took up the 1 month module challenge, and I am 2 weeks in. I adopted the quantam leap style concept for an adventure "episode" of which an entire series could be built. I may give myself one extra week just because of the time spent on the pocket plane which would serve as the lobby for this and any future "leaps" into adventure.

I've decided to give it that kind of "more than one path" capability that was great in BG, and I imagine in a few P&P conversions from what I hear. It's not that complex, basically you can go around town questioning people, or if your theiving and spotting skills are keen enough, you can jump the gun and discover a bad guy in your midst earlier, and force the ensuing town meeting.

Now for this, even with 2 ways to get there and an unlinear method to communicate with the townsfolk to find out the true problem in town, got kind of complicated. So despite the brief "don't think" philosophy of this episode, some planning was in order. There is no way I could do this on the fly in game and keep all the webs stranding together.


Got a little garbled as I ran out of space, but I can figure it out easily.

Biggest challenges I've faced was fighting the urge to redo and over-expand areas, and to add a bunch of custom content one piece at a time. Leads to a lot of conflicts. Future note: check it all out first, and make one full hak, and move forward.

Another thing I really need to stop doing is baking/running areas for no apparent reason. If the area looks good in the toolset I don't need to go through the 3 minute process of getting in game and walking through it.

Here's some shots. I've finally found an excuse to be able to do any terrain I want, and I was itching to do a snow theme.



This is the pocket plane episodes begin in. The safe "home lab" where your gnome boss
sends you on jumps to places on faerun that are "karmacally unbalanced"

Nov 24, 2010

Release

Alright it's releasing whenever it hits the vault after a sunday night upload, wether my final voice actors are ready or not. Life is too short.

Sep 27, 2010

The final week

Well thanks to some handy resources from Shaun the Mentally Unstable One, I now have 6 new vocalists to make my project come to light. This week I run through everything recommended by my players and final grammar checks.

Simultaneously, my audio soldiers will record and give life to this campaign. I'm really glad it worked out because 3 years ago when I set out, I wanted to have BG2 style voice overs all along (the sparingly used ones, and rarely in cut scene format). It's going to put the polish level in near respectability with the talent I have assembled for the often ignored audio portion of modding.

Right now I have to do some checks and balances on the combats in the tour-de-force that is chapter 3.

This is the final week for my part; just whatever time it takes for all the voices to roll in after, people have been pretty punctual with this new group however.

Sep 21, 2010

The Islander Experience

So now that Islander is complete and tested and re-completed, posts from here in will talk details.

  • Play time: 20 hours
  • Party size: 6
  • Companions: 2 forced, with 6 more to fill the final 3 spots, swappable throughout the game.
  • Level: 1 - 6 (finishing well into level 6 with exp)
  • Combat: Moderate
  • Skill use: occasional, but essential when required, few skills ignored completely
  • Traps: Average in number, but definitely requires rogue abilities
  • Weapons: 1 to 2 unique magical varients of each type featured in infinity games
  • Armor: 1 or 2 suits for each type of dexterity range, some class specific
  • Magic use: heavy. Wands and scrolls make even your low level mages more "magical".
  • Tactics: occasional, yet essential. Some encounters are really just this side of impossible without the proper plan.
  • Combat style: fairly fluid easy' common battles, with distinctly tougher bosses
  • Dialogue: lighter than average
  • Puzzles: sporadic
  • Non-combat quests: above average in quantity
  • Characters: built with personalities, light but often memorable dialogue
  • Alignment: good
  • Race/Gender: any
  • Chapters: 3
  • Custom Additions: prefab and existing custom content from the community as well as never before seen placeables created by myself, and a completely re-invented spell effects array. All the most popular spells up to level 3 have new effects.
  • Music: custom new track by Hoegbo

That's it for now...

Sep 8, 2010

Pre Test complete

One of the players in the pool has gotten through the entire campaign. The others are slower but have advanced through chapter 1 which is essentially where every issue was, as expected.

Not only have I corrected their issues but I have done some area "finishing" so to speak, making merely functional areas more realistic and bustling.

I added somethings strictly for fun and to more closely fit the Islander claim; I said there will be challenging boss combats, so I've added some where there was no "boss" character before.

Now it truly is down to voice acting only.

Aug 10, 2010

While we wait: What I have learned of the nwn2 toolset

The more I try to fix all the crap in the toolset or engine issues, the more I realize you will never fix it all, even if you waste that time. The thing about most of the bugs (primarily for my troubles and this example, initiating a conversation in a fail proof way) is that they are kind of low percentage random fails. You can't figure out why they fail so build these elaborate catches and exception scripts and then 3 people test it and it fails in two more ways.

For those who insist on using this broken product, of which there are several reasons to do so now that it has mature custom content, allow my last 3 months of hell to produce a lesson for the rest of you.

The secret cure: knowing that scripts and engine functions will work the majority of the time with random failures, place absolutely everything in question in a repetitious system. The one thing the engine has going for it is that everything has heartbeats. Using this to consistently try and re-try your intended action until it works, is the best fit way to seamless force something to work, even if a small delay gives a player pause, they will happily shrug it off and resume when it works six seconds later.

My Example:
Problem: Companion talks that occur on rest at the tavern

My approach: choose the conversation, assign it to the PC as talking to them self, and let the others join as their nodes come up

Issues:
-PC failing to talk because some action bumped it
-NPCs failing to say their line for whatever reason
-future conversations not making sense because prior ones failed at some point
-Companions /roster members going scripthidden permanently because the conversation failed and the call at the end to restore them can never fire

Fixes:

1 - The PC now, rather than being paralyzed, scripthidden etc etc in a vain attempt to get them to actually follow their action que and converse, simply is given a begin conversation repetitiously with no delay until the PC actually accepts it.

pseudo code:
do {BeginConversationWithSelf(PC) }
while (PCNotInConversation);

I noticed that this can call the script like 2000 times a second, but it works, and as soon as the PC actually accepts and is in the conversation, it stops, satisfied that whatever failed attempts may have occured, it has suceeded now.

I do not advance the conversation "counter" until in the final node of the talk, knowing that the conversation will have executed full at that point and the next rest-conversation is now allowed. This I had in long ago however, due to the random companion failures to speak that can be addressed by this method. I use a set int on the final node of the conversation, so its not directly in the script at all when it comes to advancing the rest talk counter.


2 - Fixing the "stuck invisible" roster members

While resting or leaving the area restored "in-party" members, if a conversation broke and everyone was invisible, the roster members (out of party companions) were gone forever.

I tried and wasted about 2 weeks trying to solve this, setting them to un-invis right before a rest talk (in case they were invised by the previous one) but this was still obviously a bug, I also set it to uninvis all members at the end of the conversation, as well as entering the tavern. While re-entering would re show the roster, in the end it was a bunch of work for what was still, a bug.

Final solution: in the taverns heartbeat script, if the PC is not in a conversation, then neither can his roster members be, there fore, set all roster members to VISIBLE if the PC is in the area and not conversing:

Pseduo-code for the tavern heartbeat script:

if (PCIsInTavern)
{ If (IsPCConversing (FALSE) ) SetAllRosterMembersVisible() };

This second method rather than using an infinite while loop simply fires every 6 seconds on the heart beat. By the time the player even notices they are gone they are already reappearing.

So really there is two options for a fail safe, either an infinite loop for instant trys and re-tries or the heartbeat wait, which is 6 seconds. Note that certain commands could cause an overflow error if using the infinite loop so I recommend the heartbeat whenever possible. The overflow error doesnt appear to be fatal though, it just means the script will fail, but if you are retrying it anyway it should resume the next try once the overflow is resolved.

I got this idea from looking at Obsidian's own way of making a conversation mandatory, via the CreateIPSpeaker() function. It simply spawns an IP speaker and keeps trying it every heart beat.

No weeks of frustration, no blocks of code for every possible failure. Just a clean, single line, that keeps knocking the door till it opens. This is ultimately the best and most efficient way to deal with something you know will randomly fail, and there is nothing you can do about it.

Aug 1, 2010

Current Status

I had to rip through my game again discovering a crap pile of problems in 1 run. The 2nd run the storm kind of faded and it was just 2 things. One of which is a problem with the game itself and nothing I can fix.

So my game is zipped up, complete and playable at any point. Im trying to get people to actually do that for me while I get a couple more vocals into it.

That's where it's at.

Jul 21, 2010

Forum death

All forums nwn2 and nwn1 say "this forum is now closed"
and show a post by chris priestly at 12:57 or 12:58.

I can get to the main index but not the individual forums so I assume this is some kind of attack?

Wouldn't that be my nightmare wasting 2 years on my campaign and not even getting it out there.

Jul 17, 2010

Idle waiting: Not quite

It took about two weeks but I finally got a formal tester going and had to fix some oversights before it was worthy.

While it is being played I am doing the proverbial twice over, where you go back and touch up very old decisions with a more modern mind and skillset. Sure I've done some polish but I am also thinking about what looks more appropriate themeatically.

http://img97.imageshack.us/i/fantasy1t.jpg/

http://img202.imageshack.us/i/fantasy2x.jpg/

The townspeople all wear summer clothes so I thought the companions, at least in their unarmed outfits should as well. It was a drastic change for the dark haired companion, who's personality is pretty formal and "non-romantic" if that's the right word. But then I thought hey she could have a xena type of outlook, where she dresses a little more feminine but doesn't draw attention to it. What do you think?

Using the ever summer outfits I was also able to do a scene where one npc is taking a bath that is pretty heavy on cinematics. It's a PG game at worst, but I think showing some humanity gives it good depth.

Once you get some decent armor everyone is fully covered anyway but the companion portrait remains in the "xena outfit" for the tall female companion so it adds to the high fantasy theme I want.

Note* Fantasy yes, stupid no; there is no bikini chainmail or bottomless plate armor where the crotch/buttock area is completely exposed and people are supposed to believe it's worth 5 or more to Armor clas :/