Hello World!

Hello world indeed. Here is the Alpha version of the new website. The domain name is temporary, I’ll be switching it out to 3DNPC.com soon enough.

FORUMS
To enter, click on the FORUMS button in the top right corner or the recent bulletin posts on the left. This is where discussions, comments, and things of that nature should take place. If you want to start a discussion regarding an NPC or quest, do it here. The Q&A is for bug reports and troubleshooting, the wiki is for information. General chat and the like goes to the forum, just click on the button in the top right corner.

Q&A
In the upper right hand corner, you’ll notice links to the forums as well as a place to ask, answer and browse user questions. Try it out, ask a question, any question, and I’ll do my best to answer it.

The one disadvantage to the Q&A section is that anonymous posters can’t ask questions. Why? I have no idea. The creators say it has to do with spam. It’s bizarre because they could’ve just gave me the option and let me decide for myself. Hopefully they’ll change that in a future update.

A FULL WIKI
The wiki is indexed more or less like it was previously, with one major change. If I’m not mistaken, it can be edited by any subscriber. Unfortunately, it can’t be edited by anonymous users, however, unless I pay $19 a month which is crazy given the information will be mostly static. The linkable text also makes a huge difference.

HTML5 AUDIO PLAYER
The audio player has a pop-out feature that will let you play music while you browse the site. This isn’t as ideal as having it run regardless of what page you’re on, but the only player I found that does that (Background Music Player) doesn’t list the tracks and titles, let alone have a playlist feature. You’ll also notice a DOWNLOAD button. Not a hallucination. You can download right off the player.

WEBM
As evidenced by the top, you’ll notice the site supports the WEBM format, which is better than uploading to Youtube because reasons. Well, mostly due to the fact that the videos load in full quality. I prefer WEBMs to GIFs because they don’t run in perpetuity and cause me motion sickness. Here are some I stole off 4chan earlier this week:
 

The last thing you should check out is the comment system. Youtube videos will automatically embed. Still working on images like GIFs and whatnot.

LINKABLE KEYWORDS
There’s a plug-in that will allow every instance of a keyword to link to that respective page in the Wiki. So if I type the words Fontaine it will link to his page automatically. This should work anywhere on the site, whether it’s the comments, the forum, ANYWHERE.

A More Valid School of Magic

coletteSometimes I think Colette’s protests are a developer’s joke, because restoration in Skyrim has a lot of technical limitations. The most obvious one is that NPCs do not heal each other. You can jack up the restoration stats all you want. You can load them up with nothing but support spells, and they will opt to use their own fists.

With Valgus, we circumvented this by using a package that overrides his base combat. In other words, when the AI normally enters fight mode, the package is telling him to stop, collaborate and heal the player. Simply conditioning the package to check the player’s health ensures it doesn’t run the moment you step on a mudcrab.

However, when implementing Valgus’ heal mechanic, I forgot about the other restoration mage in the mod, the one associated with the Forgotten Lore quest. Luckily, user ShipoftheRisingSun was kind enough to point this out. The problem of course is the heal package takes a little while to load and may lock the NPC in place.

This more than anything is why I think NPCs don’t heal each other. For whatever reason it causes them to freeze as they scan for a target, and at times stay in place until the combat ends. This is a minor complaint for Valgus, seeing as he only has to heal the player and it’s not important that he move – but running “Heal Other” packages on hostile NPCs can run into the problem of having a fixed, frozen opponent.

You’ll notice in the video that the mage locks into place after healing his buddy. However, you may also notice that when the player approaches the mage, he breaks from his package and returns to his normal combat AI. This is just one of a number of conditions we can use to help make the Heal Other package run smoother during combat:

restomage

 

Here is the package and conditions we are going to use to override the Restoration Mage’s combat:

Get Distance – This is for when the package freezes in place. If the player gets too close, we want the mage to return to normal combat
GetinCell – The mage freezes completely if the package is running and he switches cells, so we want it to only run when inside. This ties nicely with Olivia‘s mention of cramped spaces, and the basic intent of the quest.
GetHealthPercentage of Mage – We don’t want the mage to heal others instead of himself. This ensures they have more than 40% health.
GetHealthPercentage of Quest Alias – Here, we’re checking to see if the bandit is less than 70% health but not dead, in case the mage tries to heal the dead bandit.


videospaceLastly, another tactic we can employ is attaching a script to each of the bandits. If one of them dies, a grand healing spell is cast by the mage. While there’s a slight bit of lag because I was running FRAPS, the healing effect in this video is the result of the bandit’s death triggering a script. This might be overkill at low levels, so I’ll definitely have to clone and tweak the spell, as well as widen the radius. Still, this will guarantee that some sort of healing effect will be cast provided you don’t kill the mage first. And if you attack the mage, they’ll heal themselves anyway. When it comes to self-healing spells, that does appear to be a valid option.

News, Notes, and Scene Stoppage

2014-01-31_00008

A user mentioned today that the scenes used in place of monologues get interrupted from time to time, so I figured now is a good time to discuss what can stop scenes and why it’s important when reporting the behavior to be as specific as possible. With scenes, things can get wacky given all the different variables in Skyrim, but this doesn’t mean they’re hopeless. You just need to apply the right failsafes.

In this case, the user mentioned Eldawyn would stop her story and start waving her tankard, which is likely due to the vanilla bard mechanism that forces random NPCs to join its audience (There’s actually a faction called the BardAudienceExcludedFaction that is extremely useful in keeping certain NPCs, like innkeepers, from getting drunk and acting the fool). Of course, adding Eldawyn to this faction is one way to keep her scenes from screwing up inside the Bannered Mare. However, I think the real culprit was setting her scenes to interruptible, which can cause them to get, well, interrupted.

Other things that can stop a scene are:

• Missing Audio Files – F5/F9 will usually skip the missing audio phase and basically tell you if this is the case.

• A Phase Doesn’t Finish – Scenes are based on phases. If Phase 1 isn’t complete, it can’t move to Phase 2. So let’s say I tell Eldawyn to move to a specific spot for Phase 1, like a chair. Then in Phase 2, start talking.

However, if some other punk ass NPC is sitting in the chair, Phase 1 won’t complete and the scene stalls. This NPC is literally a scene stealer. He’s sitting in a chair reserved for someone else and preventing the scene from progressing. This is more of a quest thing, as most monologue scenes don’t require getting to a spot, but something to think about nonetheless.

Combat End – If a scene is set to end on combat, then vampires and other hostiles can kill a scene halfway. This can also be a useful tool to get a scene unstuck. The solution in most cases is setting them to pause on combat.

Another Scene Interfering – Scenes play in order. Sometimes one scene doesn’t fire because it’s waiting for another to finish. There’s no reason a vanilla scene should override one that’s currently running, with one exception.

If your scene is set to interruptible, it can be killed by a separate scene. This is what happened with the user who was trying to talk to Eldawyn. The interruptible flag is used for things like stopping a bard song halfway to play another song, but I think in general it’s a little too fragile. It kills scenes way too easily. Putting a stop on other scenes via a script is better.

Understanding how scenes work can be fundamentally crucial to deducing when bugs occur. But in most cases, it’s important to describe either the line the scene got killed or the behavior of the NPC. Being told Eldawyn was waving her tankard told me everything I needed to know to fix it. Here, she goes through her scene and resists the temptation to flagon wave.

More Monto Music
Here is a new song from Ronja Monto. Man, the end really gives me the feels. It’s even better in context, and I’m really stoked about having this NPC in the mod and the way it adds an extra dimension to one of the followers. I’d tell you more, I just don’t want to get too spoilery.

tears_of_joy

This picture basically sums up my feelings about this song. Now, all we need is the other person involved to voice his part, although that can be any time between now and forever. Still, as someone who considers composing music to be as difficult as casting magic, it’s really great to have such a healthy soundtrack for the mod. Ronja, Giramor, Arisen1, Anduniel, and Sebastain Schneider all did and continue to do great work.