Thursday, December 27, 2007

A Choice Made Early On

I think I made a good choice early on. When I placed the "shopkeepers" in their shops, I gave them some simple, sample dialogue that ran something like this:

"Hello. Want to buy something?"
"Yes."
"No."

I knew full well that by doing this I was gonna add more detailed conversation later on. This gave me a platform for debugging any simple errors that I would experience. I side-effect of this gave me another idea. I could flesh things out further by making separate conversations for the first time the player speaks to the merchant and another for after they have met them, heard their stories, and no longer wanted to read through a massive amount of redundant text.

After all, your co-workers don't normally introduce themselves everytime you talk to them. If they do, perhaps they have a mental illness and that can be overlooked.

Monday, December 24, 2007

Two Days Spent on a Tavern

I've spent the past two days on the lower level interior of a building. This particular building is the tavern in this swamp-village near the starting point. I'm really trying to flesh this place out. I would expect such a tavern would serve as the common building as well as the local “hang out”. Given this, I'm placing people at tables and giving them “drinking” animations.

For some odd reason, the overhead chandeliers have been causing the ground beneath them to be “unwalkable”. If I convert them to Environmental Objects, the problem is solved. It has not been a big deal; it's just kind of strange why it works like that.

This building is also going to be the start of the first "quest". It's going to be a low-level mission, involving "defeated" a group of local bandit-bullies that have taken over the inn. Once I get done with this tavern, I will decide on how detailed I wish to make future taverns. I was hoping to bust this place out in half a day, but it's taking a lot longer than I expected.

Tuesday, December 18, 2007

Broken Animations

Well, I've spent the past couple of days with further work on animations. "In conversation" animations has been a real pain thus far. I'm finding that many of them are "broken" from the start, so the methods provides within the engine are completely useless. I have been getting them to work through manually inputting the scripts. What that translates to is this:

Instead of "clicking" the animation box and chosing "chuckle", I have to compile my own script:

void main()
{
object oPC = GetPCSpeaker();
object oTarget= GetTargetByTag("character name here");

ActionPlayAnimation(ANIMATION_FIREFORGET_CHUCKLE);
}

I basically have to write something similar for every line that I wish a character to show some animation during a conversation. Of course, once I've written that script for that animation on that character, I can use it again.

Needless to say, I start thinking about how many character that I may want to have "chuckle" and I start to feel a headache coming on. On the bright-side, I know the bug and know how to work around it, so not all that horrible.

Thursday, December 13, 2007

ActionDoAnimation

I started adding animation to some of the NPCs today and they all mostly work. So far, they have all been OnHeartbeat scripts, so the script fires every six seconds. I'm hoping to use more OnSpawn animation scripts in the larger areas, as the OnHeartbeat scripts can add extra burden on the processor. In general, OnHeartbeat is the last resort. Two people are cooking, one person is drinking, and another person is supposed to be sitting. From what I was told, the ActionDoAnimation(ANIMATION_SIT) script was supposed to be unworkable in the current engine, but I am able to get the NPC to sit; I just can't get him to stay sitting. I'm sure there is a workaround this with using the OnSpawn. Unfortunately, that will mean he will stay standing after an OnDisturbed script fires. I can add the ANIMATION_SIT at the end of a conversation involving him, too. Either way, I am sure I can work at this from a couple different angles.

Wednesday, December 12, 2007

Oak Knoll exterior complete...mostly

So with a little over three days of work, I have completed the Village of Oak Knoll. When I say that, I mean that I have the exterior set usable. The interior of one of the buildings has been started, but it is far was usable, and the town itself is like a ghost town, void of life. When I got done with the construction of the village, I ran a play test and thought to myself, "Damn, this looks good." I may have actually said it aloud, but I can't be certain. I have been thinking of a starting plot of the village. I need something to get the player involved in the town, as they will spend a portion of the beginning of the story with Oak Knoll being their home base. I also need to consider the fact that any missions must be suited to a party of two first levels. The other party member is a "tank", so it need to bare in the mind the notion that the player may not have any viable resource for healing. I'm confident that I can do it well without resorting to storyline changes.

Thursday, December 06, 2007

Hmm...

Well, I ran into another speed bump that had apparently been lurking in the background for sometime, but failed to show it's true self.

I noticed that the non-player characters were the same height no matter what race they were. Elves, dwarves, humans, and even the golem I made, were the same height. I guess I just never noticed it before since they were either in separate areas or not standing side-by-side. I discovered it on accident when I placed my 12 foot next to a character that was supposed to be 6 foot.

Hmm, I remembered the golem being bigger. Sure enough, something wasn't working properly. I first tried to see if I could physically modify the sizes. I could, but I began to see how much time this was gonna take and starting doing research elsewhere.

In some forums, I uncovered that this was not unheard of. I number of others explained what they believed was causing it and explained their fixes. In my case, none of them seemed to work.

The good news is that I fixed it. The bad news is that I'm not sure how I did it.

I played around with some of the 2da files I had built, but discarded for others. One of them seemed to fix the problem and I'm not sure why. I guess since everything works, I'm not gonna question it, nor screw with it.

I just hope this problem has been officially solved and won't pop up again. Cross your fingers.

Wednesday, December 05, 2007

Encounter success

Today was a big success for the Rise of the Fallen project. The first NPC encounter runs perfectly and the aftermath conversation flows well. I still have some animation bugs to work out, but I have faith that they will be easily ironed out.

I set the scene with the player entering a trigger which ran a script to spawn an NPC that joins as a companion in the aftermath conversation. The spawning waypoint was placed behind a group of trees, so it looks completely natural. The intent was give the appearance like the NPC runs out from a patch of trees. It looks really good.

A placed a group of undead just beneath the cover of some spawn water to give them the appearance of rising from the water. After a couple play tests, I realized that I made them a bit too tough to defeat so I will back them down a bit. The last thing I want to do is kill the player ten minutes into the game. I won't start making things tough until the player has somewhat of a base of operations started in a village or a town.

All over, today seemed to flow pretty well.

Tuesday, December 04, 2007

Default tints and how they effect us all

Rise of the Fallen is still rolling out on a moderate pace. I'm just hoping that things will go this smoothly from now on. I'm getting extremely sick of trying to repair scripts that worked a week before, but somehow, fail to fire properly after a compile.

I ran into a single hiccup today that ended up opening up future possiblies. All problems should end with a result such as thing.

I have been thinking of a way to incorporate a character that I have always felt was an interesting concept: the vampire paladin. So after a month of planning, I decided I was gonna forge ahead and at least get the blueprint reference in place so I didn't have a tinker with it later. This female vampire paladin started to form as I began assigning the physical appearance. She needed some armor and I wanted to go with full plate. I constructed it in the best way I felt would suit her. It had to have it's own unique appearance.

I decided on a dark purple color for the steel. Saved and compiled it. Added it to the vampire and went for a play test to make sure the shadows rendered well. Behold, the steel was not showing up as purple. I tried it a couple more times, just to make sure that I hadn't missed something.

The non-player characters have a default tint setting. The inventory tints mean little unless you remove the default setting. I was able to achieve the dark purple, by changing the character tints.

This would come in handy if you had a non-player controlled character that only wore black. You could change their personal tints, so no matter what they donned, the tints would show as "black". Pretty handy, if you ask me. This would fit in nicely with a "Johnny Cash" type character or a druid that only wore earth tones. There might even be a lingering theme of Miami Vice in there somewhere.

Sunday, December 02, 2007

November Month-End

It's the month-end, so I spent much of this Sunday transferring October's game data from my server into DVD archives. I have been keeping the previous month on the server because I have to access it on occasion when I run into a problem. If it's a month old, I'm not gonna need it again, but I hate deleting stuff that has a 1% chance of being accessed again.

So I stuggled today with a couple doors that I was trying to set inside a building. For whatever reason, this new engine, is completely unforgiving when it comes to any placeable that is able to hold any form of transition code. Doors, in this case, are sensitive to what is on a wall on the other side. Normally, you can get creative with these things when the door is just going to be background meshing. The door is placed on the map, given a Static FALSE string and the door becomes a prop.

I'm just glad that I discovered this now, rather than a month from now when I'm in the middle of a massively complex structure.

Rise of the Fallen

Last week, I started up my project for the Rise of the Fallen again. I put it on hold when the engine was extremely unstable. I just couldn't take the pain of starting the same modules over and over again, as the engine was eating my code.

To avoid making costly mistakes that slow my work down in the future, I knew I was gonna have to start off slow again. I had the habit of doing a whole bunch of work and then testing it, only to find silly mistakes, but being unable to pinpoint what was causing the error.

I spent the first day, setting up the textures and building the interior of the starting zone. It was pretty easy, but I didn't fine tune it, yet. I'm sure I will go back before this project is done and tweak things just a little.

The past couple days, I have been setting up the exterior zone, and creating a realistic looking platform. Hopefully, the players won't look at it as forcefully directional. Sometimes, you have no choice in these things. You gotta keep the system resources down, by limiting the number of rendered objects.