31 May 2010

The Fixx

I am working with a helper who is developing some quests, and today I spent time creating a made-it-from-scratch NPC assistant to aid in the helper's development:

Isn't she helpful?

I had not intended to spend the time that I had spent on this NPC.  This is update week, and I wanted to work on getting my own quests completed for V654.  This NPC started as an idea, which became a scribbled "reminder" note, which in turn became a note plus some ideas on functionality, which in turn grew into an outline of the script, which became a basic "proof of concept" script... and one thing leads to another.

30 May 2010

Never On A Sunday

This morning began with a cup of coffee and a crisis.  After reading a thread in the Sentinel regarding a problem with movie files, I notified the ClientGM who promptly sacrificed his Sunday morning (and on a long weekend, too) to swiftly address and correct the problem.  Many thanks to him!

Throughout the day I kept busy: I resolved the problem with our swimming NPC who shall henceforth remain on the shore.  Later, while researching one script, I came across a small, seldom used script (it was last updated in V224).  Reading the script gave me an idea, so – and I had expressed concern about this – I became distracted by this new idea and started developing some functionality to this script.  I don't want to say much more about this, other than this script relates to a feature that has been requested repeatedly by players.  I'm willing to polish up some ideas and give it a try.

I also spent some time today fixing several areas and closing fix-it-quick bug cases.  I took a short break from scripting to run a short story in game before returning to work on coding.

It's no wonder why I'm tired.  I thought that Sunday was a day of rest!

29 May 2010

Remember To Eat And Sleep. And Occasionally Stand And Stretch.

Today was a solid day spent scripting.  I resolved one of the problems surrounding an antisocial NPC (closing out that bug case), and had some thoughts on resolving the other problem regarding the NPC's wanderlust.  From there I started two new scripts, and touched-up several other scripts.  I think I logged around a total of ten hours of scripting.

My back is sore from sitting in one position all day.

28 May 2010

Another Quest Ready For V654.

My list of scripts to touch has been growing, as has my list of quests to complete.  This evening was spent completing the refined enhancements to one of the quest scripts.  I have some silly ideas how to use this script for a larger quest.  It should be fun, and if anything, it will be another activity to undertake.

My goal for this weekend is to push out a couple of new quests and finish a lingering script to assist helpers.  I hope that I can focus on these projects: my creativity is a double-edged sword insofar as I frequently come up with new, fun ideas but then easily become distracted trying to develop them.

Upon reflection, there are numerous quests that have been on the back burner for far too long.  Hm.  I'm glad that we have a long weekend; that's one more day of development!

27 May 2010

Releasing Version 2.0 Before Version 1.0

It spent time on Wednesday adding some functionality to one of the quest scripts with which I had been tinkering.  I took time in planning this new function, wrote the script, compiled it, tested it and was pleased to see that it worked as designed.

Just as I was about to commit the new changes made to this script, I had a realization: there was a simpler, more elegant way for this script to function.

Argh.  Cue the amusing "Star Trek face palm" image.  Sometimes I find it disheartening to realize that three hours of my life's work is gone, and that I could have spent that time on more pressing subjects – like playing Half Life 2!  On the other hand, I'm excited about the improvements made to Function Version 2.0.

26 May 2010

Oh No.

Just when I had finally managed to curtail my time spent playing Portal, the announcement that I have been dreading has been made: Half Life 2 is coming to the Mac today.

I secretly hope that it costs $70 so I will be enraged and swear to never purchase this game.

[Update]: The price is not $70, but instead is $7.00.  One-tenth the price for which I had hoped.  I am trying to maintain my resolve and stay away from that game, but I find it hard to say "no" to an awesome game for a mere $7.00.

25 May 2010

Rise And Fall And Rise

There were a couple of alarming reports of player's home furnishings vanishing.  This bubbled to the surface as a priority, and I spent several hours researching the scripts trying to understand what was happening and how it happened.  I am grateful that the ServerGM happened to be online; it was he who discovered the sources of the problems (it was revealed that there were two different problems), and the matter was quickly resolved.

In other debugging news, I managed to replicate and resolve one of the reoccurring NPC bugs.  I'm pleased to finally put a patch on this problem and place it at peace.  And I can close a couple of cases!

24 May 2010

The Other Side Of The Coin

Unlike yesterday, today was full of busy CL work.  Yesterday was kind of a tails-down day, and today was definitely a heads-up day.  Today, you see, was /bug day.

I spent the past eleven hours organizing and resolving bug cases.  Many of the cases that I closed today were simple "five minute" bugs – like fixing bad masking, covering-up unsightly gray areas as seen from the edge of a wall, and adding functionality to scripts.  I prefer addressing these cases quickly because I may then close them quickly.  Doing so gives me a sense of progress and achievement, especially when there is a list of 60+ new bug cases to address.

And then there are the bah-roken bugs.  The bug that am currently analyzing concerns an NPC who asks the bumping player a question followed by completely ignoring that player.  This NPC has the additional unpleasant, frequent habit of jailbreaking itself into areas in which it does not belong.  This rapscallion needs rehabilitation!

Resolving the issues with this one NPC will close two cases, which is why I chose to troubleshoot this script first.  I grow encouraged by closing out bugs, as long as the closure is addressed in good faith: it would be easy to close a case containing subject matter with which I do not wish to handle, but such practice only hurts myself, the individual filing the bug report, and the game in general.  The purpose of bug reports is to alert the developers "hey, I think that there's something wrong here," and closing the report for the sake of closing it benefits no one.

I still have development to do, too.  That can be done tomorrow.  Today is Monday, and Monday is /bug day.

23 May 2010


Today was a day of distractions and AFKing of sorts.  I did not develop any materials for Clan Lord today.

Tomorrow is another day, bright and full of promises.

22 May 2010

The Journey Is The Reward, Unless It's Designed Otherwise.

Garr recently suggested an interesting quest variation: all monsters in the quest area have no experience value, but the boss's treasure chest more than makes up for the loss of combat experience.  My understanding on the motive for such an area is to award non-fighter characters an equal share of the area's experience.  Neither mystics nor healers need concern themselves with how many combat shares they have: they would receive an equal slice of the reward pie at the end of the quest.

That is, assuming that someone doesn't solo the pie.

I have run numerous invasions which have included the appearance of an invasion boss.  It has been my observation that players typically strive to take down the boss as quickly as possible, and that typically means there is no waiting for others to tag the boss.  And any chest which is dropped by the invasion boss is picked up just as fast as it is dropped.  This observation leads me to wonder if a quest based around a sizable end treasure would be shared consistently and equally.

The idea itself isn't a bad idea, and it would make for an interesting social experiment.  There are still a lot of questions that require answering: would players wait for other players for a predictable quest chest?  What incentive is there for sharing a large treasure chest?  How does a player get compensated if that player misses the reward?  Assuming that issues around the reward distribution may be resolved (I have some ideas on how to address that), the larger questions remain: is this a good quest?  Is this a fun quest?

I don't have the answers, but I do have the questions!

21 May 2010


Today I diverted my attention away from my script-in-progress by reading and sorting the bugs filed in V648.  Some of the bugs are going to involve a lot of research and attempts at replication.  I try not to think of this as "work," but as "infrastructure fortification from which everyone shall benefit."

I plan to do a lot of trouble-shooting over the next couple of days in an attempt to close out and resolve as many bugs as I can.  It will be a welcomed diversion from all of the recent script designing that I have been doing.

20 May 2010

And the Beat Goes On.

I've been spending a lot of time planning the design of my new script.  I have not written one line of code, but in theory the script looks great!  I am focusing on making this script open and expandable, so at a later time should I have an idea for adding to its functionality I will not need to shoe-horn new code into the existing code.  To do this requires planning.  I liken creating modules for the script to that of crafting pieces of a jigsaw puzzle: each piece must fit snuggly into the big picture.

Aside from this dull work, I have been assisting some helpers in their work.  Their projects are much more exciting than the stuff that I've been doing!

19 May 2010

V651 Is Up.

You may read all about it here.  Have fun exploring.

18 May 2010

Putting the Donkey Before the Cart

I continued drafting the architecture for a new script this evening.  One amusing challenge I faced was describing the concepts that I am building.  I am including these descriptions so that other GMs reading the script will easily grasp my concepts.  I feel that this is important because there are many complicated scripts within the GM library that are terribly difficult to read, and the authors provided little or no documentation.  If scripts can not be clearly read, then their value is reduced.

I find myself including tongue-in-cheek analogies.  For example, instead of describing the technical process of selecting a data field and transporting it to a new location, I might instead describe the data as a cart and the means to transport it as a donkey.  Hook the cart to the donkey, place a carrot to where the donkey needs to go, and the donkey will charge off towards the carrot, dragging the cart behind it.  Such a analogy is unnecessary for a simple concept as moving data, but similar descriptions become useful when describing something like randomized data array pointers.

This level of planning is not particularly glorious, but it's helpful.  I suppose I'm putting the donkey before the cart.

17 May 2010

Coming Attractions

I did very little in the way of development today.  I did a little bug hunting (actually there was a lot more than a little hunting).  I also previewed the V651 build; it looks very nice.

I came up with an idea for creating random dungeons.  This is not a true instance (as players would be able to join individuals already within the dungeon); the idea is to randomly generate rooms and hallways and connect them together, much like Angband.  I am currently unclear on either the purpose or utility of a random dungeon, so I'll put this idea "on the list."

In other news, I am preparing the support scripts for an area under development.  I still have some designing ahead of me before I begin writing scripts.  This planning technique has worked rather well for me, and I wish to replicate my recent success.

16 May 2010

That Wasn't So Bad.

There had been two scripting problems that I needed to address, and I have been dragging my feet at addressing them because I knew that both would require an investment of time and debugging.  I was pleasantly surprised to discover that I was wrong on both cases, but for different reasons.

The first problem was the larger problem of the two: getting monsters to not pull NPCs.  Some monsters pull other monsters as well as players, and I was annoyed to learn that these monsters are just as happy to pull NPCs.  This is a feature – not a bug – for the design belief is that NPCs are people too.  I am in full support for equal pulling rights for NPCs, but there are some cases where my carefully placed NPCs need to stay in their carefully placed locations.  Tempering a monster's yanking urges would require a way for the NPC to opt-out from the pull.  I spent more time thinking about the implementation of this opt-out concept than I did writing the code, and as a result I experienced little in the way of bugs and frustration.

The second problem involved my silly Parting Words script: I discovered that NPCs would continue to speak their parting words to a player long after that player had left the area.  The fix for this was both short in time and short in code.

By the end of this evening, I had faced both tasks that I had been dreading and learned that there had been nothing to dread.  One change went smoothly due to a lot of planning, and the other went smoothly because the fix was smaller than I had imagined.

There must be an adage that summarizes this experience.

15 May 2010

Achievement Unlocked!

With the repairing of the Mac Portal bug, I have found myself playing long sessions of this game solely to unlock the achievements.

This lead me to think more about achievements in Clan Lord.  An achievement is just a quest, minus the flowery back story.  They're simple tasks, and they're complicated tasks.  The simple achievements are pretty simple (like getting the orange portal gun awards the Lab Rat achievement), while some are more activity orientated (like smashing cameras for the Camera Shy achievement).

So why not award achievements in Clan Lord?  For example, there could an Honor Roll achievement for players who visit every NPC within the Clan Lord tutorial.  There could be a Rat Catcher achievement for players killing 1000 rats.  Older players could enjoy a Battle Ready achievement for equipping a new set of iron armor (passing the set from one friend to another wouldn't count).  The Silver Chain achievement could be awarded to players who have used a chain 500 times.

What's the point of achievements?  Would achievements earn experience?  I haven't given this a lot of thought.  The appeal of achievements is that it's an activity – it's something to do in between hunts.  I envision achievements done for fun rather than for the promise of a tangible reward – the reward being a simple Attaboy.  Hunts and big quests would earn experience, and achievements would earn fun.

But do achievements fit into Clan Lord?  Achievements work well for console games, but will they work within a MMORPG?  This seems to be the tough question: it's not "can it be done," but "should it be done?"

14 May 2010

V651 Is In.

I was surprised by what little content that I personally generated for this update.  Almost all of the submissions that I made for V651 were on behalf of helpers who have been working hard on new areas.

Most of my V651 content was related to scripts.  I still have some touch-ups to do over the weekend, but overall I'm pleased with what I did.  It wasn't the massive bug fix that I did the last update (or was it the prior update?); I predict that I will be catching up on bug fixes for V654.

My quests are standing by.  They're in, but unaccessible.  I want to confirm that they're working as advertised.

[Edit]: grammar.

13 May 2010

Best Bug Ever!

Just as I had feared, my waking hours were spent playing Portal.

One of the neat features of the game is the game developer's commentary.  This enables players to listen to designers discuss problems and issues that were encountered while play testing the game.  Another neat feature of the game is the auto-update feature, where the game updates itself with the current bug fixes.

And probably the best thing about the game is that the current version of the bug patch which I downloaded this afternoon significantly crippled the game (one may no longer look through the portal).  Why is this good?  The game is unplayable without the ability to see through the portals, so I've stopped playing it.  By golly, I just might return my attention to Clan Lord!

12 May 2010

Portal is FREE.

From now through May 24th, Valve Software is giving away Portal for free.

And that sound that you heard in the background was my Clan Lord productivity coming to a sudden, violent, crashing halt.

11 May 2010

Iron Man

Today I added the remaining features that I wished to include to a certain quest.  While adding the last of the code, I came up with a rather sudden (and silly) concept which I included to the quest script.  I am rather excited about this concept because I do not believe there is anything like it currently available in Clan Lord.

Now I have to think about making some fun quests that utilize this quest option.  I have a couple in mind.  We'll see if I can get them in for V651.

10 May 2010

Void Where Prohibited

I had been working on one of the standard quest scripts for a while now and finally finished most of my additions today.  I say "most of my additions" because there are still some additional improvements that I want to make, but the script will now basically do what I've been wanting it to do for some time.  I have updated some of the existing quests to reflect this new quest feature.

Whew.  It felt very good to complete this portion of the script.  It will be interesting to see how this script gets used.  I already have some ideas.

09 May 2010

Happy Mother's Day

Take a moment from Clan Lord today and call/visit Mom.

08 May 2010

MMORPGs Are Games Of Time, Not Skill.

Our cynical friends over at That's A Terrible Idea posted an entry regarding PvP within  MMORPGs, making the dry observation that MMOs are a game of time, not skill.  This is probably one of the finest summaries of RPGs that I've ever read.

I've often wondered how Clan Lord would play if it were more like the Capture the Flag area.  Players would have a selection of abilities which would never grow, thus making new players and older players equal in power.  Using this model, I could create a healer right now and hunt with a bunch of people on Metzetli Island.  Of course, I would never gain experience, so the next question would be "if there's no reward, then what's the point?"

This model would make more sense if Clan Lord were an achievement-orientated game: rewards would be granted by completing quests, and players would measure success by collecting achievements, badges and trophies in place of experience.  I could still collect these rewards to measure my progress within the game.

Some people simply don't have the time to invest within a MMORPG.  Should they be penalized for this lack of time?

07 May 2010

You Helped Destroy A Wall

I had an idea which allowed for new combat descriptions.

We're all familiar with Kills, Vanquishes and Slaughters.  I was looking to include a new type of monster – like a wall – that would not really be a monster, but instead it would be a destroyable obstacle.  It never made sense to me that a player could slaughter a wall: slaughters are typically associated with defeating opponents, and it doesn't make a lot of sense to use this term when defeating inanimate objects.  My idea was to describe a new non-monster object that would be Destroyed upon defeating it.  This description could be applied things like boulders, catapults (!), walls – any non-sentient object, thus keeping the terms Slaughter and Kill reserved for monsters.

It turns out that this idea would be very tricky to implement.  It would require making changes on the server level, and the amount of work required behind this idea is probably not worth the added aggravation of reconfiguring the combat code.  Ah well.  Maybe one day players will be able to Destroy a Wall in YappyLord.

06 May 2010

There's Always Tomorrow For Dreams To Come True

I don't know what happened to today.  It was gone before I had a chance to enjoy it, and I never made the time to do anything productive-wise for Clan Lord.

Tomorrow's another day.

05 May 2010

Return To Work

Real Life had carried me away from Clan Lord the past couple of weeks.  My commitments have been fulfilled, which means that I will be able to focus on writing some quests over the next couple of days.

Some quests are silly, some are activities, and one is rather involved.  I'll have to come back to the last one, but if I can get some elements prepped for V651, then that quest may be ready for V654.  Or V657.

This doesn't really feel like work.  I love writing quests.

04 May 2010

Shepherds and Sheep

I had talked to a couple of GMs about creating a "Shepherd's Quest," the type of quest where the player is responsible for shepherding an NPC from one location to another while keeping the NPC alive.  The NPC would be killable by monsters, so the player (or group of players) would need to defend the NPC.  I had scratched my head on how I would get an NPC to follow a player around, and this evening I stumbled across a solution.

I was in the Newbie Hall with another GM trying to troubleshoot a problem and noticed that the Combat NPC would follow the player to whom it spoke.  This is exactly what I need for the "Sheep AI" – the script to make the NPC follow a specific player.

It's funny where I find answers to problems, even while working on unrelated issues.

03 May 2010

Bug or Feature?

I had placed one of my new quest NPCs in a location.  Not just any location, I had placed it in a specific location.  I was a little dismayed when I later returned to this NPC and discovered that it was gone.  I found this troubling because this was a stationary NPC; it did not walk around like the St'ple sisters.  A quick search revealed the NPC in the same area where I had left it, but it was far from where I had placed it.

This was puzzling.  How did it move?

I ran a couple of tests and discovered that certain monsters had pulled the NPC away from my carefully selected area!  I reviewed the scripts and, after a lot of ferreting, found the section of the code that enabled monsters to pull NPCs.  Now comes the delicate part: applying a fix that does not break anything.  The idea of monsters having the ability to pull NPCs is kinda cool, so I am hesitant to completely eliminate it.  I am currently working with the other GMs to apply a flexible patch.

Sometimes I am amused on what bugs get unearthed through play.  Or maybe it's a feature.

02 May 2010

You’ll Have to Explore to Discover...

I'm back.  What's all this buzz I hear about a new area?

01 May 2010

Fire Pits and Burning Buildings

Recently I overheard some players talk about the fire pit that was in town; one expressed disappointment over the inability to put a log of wood on the fire.  Players could have used a tinderbox for fire, but I figured "why not" and rigged an improvised log-accepting fire pit.

On a related subject, I recall a bug report that was filed during an invasion.  Some darshaks had invaded town and were setting fire to buildings, and one player /bugged that barrels of water could not extinguish the flames.  After improvising a fire pit in town, I had an idea: I should create a dedicated script that takes an item from a player and in turn generates an effect.  There would be a "beginning state" of the object (a burning building or a fire pit), a "key item" (an item that triggers an effect, like a barrel of water or a log of wood) and the object's "active state" (a smoky building or a small fire).

I'll still have to give this idea some though, but it should be fun to do!  It's "on the list!"