Wednesday, July 23, 2008

Getting there...

Well, as you can see from the screenshots below, I'm starting to flesh out Manheim Court. Building has been getting easier. The more I do, the less of a struggle it is. I'm starting to find good places to put things and develop an eye for background.



I've also added some story elements into the NPC conversations. I want the world to be immersive, and that means each person should have as much depth to them as possible. Dialog writing takes time, but it's one of the more rewarding parts of building for me.



Seeing dialogs pull the player into the environment helps me see where I'm going with this whole thing. For instance, Errol's complaint of having to look at Gretchen's food store all day without being able to afford to buy anything. That's pulling the player into the game right there. FP suggested I add some more elements to that, though. As you can see here, I added a little growing something into the pot by his bed (FP's suggestion). Maybe he'll eat it when he's hungry and foolish enough.



I've also begun adding more NPCs. Some of these fellows will be sitting down or walking around once my ambient system is working (yep, yet another system I'm doing from scratch; *sigh*). In this shot, there's a Federal agent wielding a government issue sidearm, a typical Midport guard, and an Automat. Automats are a recent invention in the world of Shadows & Silver; they're similar to golems, but based on science rather than magic. You'll see lots of them around the world and (if I get time to write the scripts) even be able to make or purchase one of your own.



You can see I'm adding plenty of placeables, but not every shop needs tons of wares around it. Here's a simple one that was quite fun to make.



Hope you enjoyed the shots. Here's a few more just for kicks.









Friday, July 11, 2008

Some progress

My computer's fixed now, so I'm getting back in the swing of things. It's coming rather slowly since I keep letting the basics of scripting trip me up, but I'm getting a decent spawn system worked out. I got things to spawn OnAreaEnter, but I still haven't begun work on trigger spawns yet. Still, I've got enough that won't need to be changed that I can begin working it into my building. One of my goals has been to have my NPCs spawn in and remain only when there are PCs in the area, which will keep them from using up cycles unnecessarily. I wanted to get that taken care of before I got too many NPCs for me to go back and change each one individually.

In other news, I've picked my building back up. I've connected two area to Manheim Court, but they don't have anything in them worth showing yet. Here's some screenshots, though, that show how my first area is beginning to fill out:



Saturday, July 5, 2008

The Scripting Continues

Building a PW is a lot of work, I'm finding. I've spent hundreds of hours scripting the systems for Shadows & Silver, and I'm beginning to feel rather worn out. The XP system and reputation system Casa and I are sharing are still in beta. I keep running into brick walls with them, and the frustration has been mounting for quite a while. One of my problems, I think, is that I refuse to incorporate anything into my world unless I know exactly what it does, how it does it, and why. This means breaking open every script and reading through it line by line. What's more, I'm making everything conform to my own scripting standards and making it easily customizable, which means rewriting pretty much every script from the ground up. This is what I did with Knat's XP system and with Vendalus's PRR. They're totally redesigned, rewritten, and expanded. That's a lot of work, but I hope the gain of being able to customize the settings and understand things enough to change them at will makes it worth it.

I while back I published the list of things I was wanting to script. Here they are again plus a bit more, reorganized by priority:

  • A custom XP system with class-based rewards
  • Persistent reputations with NPCs and factions
  • Persistent quests and journal entries
  • A custom spawn system
  • A crafting system
  • A whole new magic system (yes, you heard that right)
  • A D&D 4th Edition-style resting system
  • A D&D 4th Edition-style bleeding and death system
  • An inn room rental system
  • Persistent chests and banking
  • A cut scene system
  • And a whole lot more

The first three are in beta (though I'm about certain the quest and journal system works flawlessly, I'd like to add a feature or two before I call it final). I had an old working version of persistent chests before I lost the mod in a hard drive crash, and I've got a tweaked version of Gestalt's Cut Scene System in alpha. Both of these are rather low on my to-do list, though, since there's few places I intend to use them. I've not even begun my crafting, death, magic, resting, or inn systems yet, and I want to have all these in place before I open the server up for beta testing.

*sighs*

Well, let's at least start getting a working prototype of these systems in place. Getting things started is half the battle with me (the other half is getting them finished).

As I've said previously, the difficulty with scripting is that you've got to know what you're trying to accomplish before you ever open the script editor. If you sit down and just start scripting with no predefined direction, you're going to be lost in a sea of tangled code. So I'm going to begin with the spawn system, listing the requirements of the script:

  1. It must conform to HCR2 coding standards. This means the code should be broken up into short, manageable functions, and it should be self-documenting, requiring few, if any, comments to explain how things work. There should be no inline strings used in the code (e.g., int nNum = GetLocalInt (oPC, “somevariable”);); strings should be defined as constants elsewhere to cut down on errors. Lastly, anything the user may need to change should be placed in a separate configuration file so the user need not wade through large amounts of code.
  2. It must be able to spawn NPCs, monsters, items, and placeables. Preferably, the same code would be used to handle all of these spawns.
  3. It must be able to spawn on a timer or when a PC enters a trigger.
  4. It must be able to spawn multiple creatures or items of the same or varying types at one waypoint.
  5. It should be able to vary spawns based on time of day, the level of the character triggering the spawn, etc.
  6. It should allow a DM to quickly place spawns for on-the-fly encounter design.
  7. I should be simple for non-scripters to use. The easiest way I see to accomplish this is by making the system be based on waypoints and triggers, which can easily be added to the palette.
  8. It must require a minimum number of scripts to operate. I would find 10 or less scripts acceptable.

This is a good list, and it gives me a bit to start with. But one thing that is lacking is user configuration. One of the things that made my XP system so flexible was its massive list of customizable variables. What sorts of things would a user want to be able to modify that would need to be set in a customization script as opposed to on individual waypoints? The first thing that jumps out to me is default settings, which was what the bulk of my XP customization was. As for what things in a spawn system to have defaults set for, though, I have no idea. Anyone?

Tuesday, July 1, 2008

Again?

I've become convinced I am cursed with a demon computer. My CD drive, which I just had fixed, has decided to break and refuse to close. So now I get to send my laptop off again to be fixed. Joy.

On the other hand, I got to talk with Fester Pot, creator of the Almraiven module. If you haven't played this module, I highly recommend it. It's a city adventure that's heavy on the role-play. The most amazing thing about it is the incredibly believeable city. FP makes Almraiven come alive with excellent use of sound, placeables, and tight streets. This module has become my favorite and a great inspiration. Of course, you have to make some changes to form it into a PW, and building something this intricate is much more time consuming than designing a bunch of sparsely populated areas, which is what I've seen on many PWs. The payoff, I think, will be worth it.

There's three key components FP mentioned that I'm trying to keep in mind: small areas with lots of alleys and tight construction, liberal use of placeables to give that lived-in feel, and heavy use of placed sound. Here's a couple of screenshots of the first area I've designed using FP's advice. As you can see, I'm only just starting, and there's lots of odd, empty spaces, even in this 5x5 area. Getting a variety of placeables that still seem to flow together is difficult, and I've never been much good with building anyway. Still, it's a start.

Morgan, one of the first NPCs players will meet.


Manheim Court, with two shops so far...


My favorite screenshot. Heiden, inventor-turned-junk-seller.


Cheers!