Archive for July, 2007

Character progression

Friday, July 27th, 2007

The last major component is now in game.  I am relieved to be done with the character progression.  It took an extra 4 days to complete as it turned out to be trickier than I anticipated.  Regardless, it’s done and I am very happy with the design.  I’ll need to tweak the combat values and probably fix a few bugs, but it works pretty well even now.

I am trying some different ideas for the character progression.  I’m not using the traditional grind and level method.  Instead, I’ve broken the experience into smaller components.  There are 32 different types of non-boss creatures in the game.  As you slay each creature type, you gain experience for that specific creature.  You gain levels and enhanced combat prowess versus that creature.  The levels are actually tiers, ranging from 0 (pathetic) to 8 (elite).

The idea is that you would learn how to fight the specific creatures and thus gain combat experience.  It also helps break up the levels so that you could be leveling up quickly on some newer creatures, while you max out another one.  Also, if you come across some respawns of weaker enemies, you can kill them more quickly.  If I had a global level, the difference would have to be minimal to keep the game balanced.

You also gain prestige as you complete quests and defeat enemy strongholds.  There are currently 8 prestige levels, though I may increase it to 10 by release.  You receive new titles as well as increased health, speed, and chance for critical hits as you gain prestige levels.  This type of experiences allows for some gradual “global” progression as you play the game.  The benefits certainly help during combat, but are not so critical that you must grind.  I have tried to make it so players can still get that feel of progression, but without the tediousness often found in RPGs.

I took a slightly different approach with the player items too.  I decided to avoid armor items and instead have magical gems.  These gems provide many different benefits, such as improving damage versus a specific creature type, adding resistance to a certain element, summoning a more powerful pet, etc.  In total, you can collect up to 255 items.  The most powerful version of a gem takes precedence over the weaker ones.  Players are automatically notified when a looted gem is an upgrade.  These items can be looted off enemies, received after defeating a stronghold, or rewarded after completing a quest.

I played around with the new character progression most of today and I think it works very well.  I wanted to add some unique elements and try to avoid a tedious design.  I think I accomplished those goals.  Hopefully, I will get some good feedback when I release the (internal) Alpha version in about two weeks.

This weekend I will be adding the necessary code for the first campaign board.  I need to change my hotkeys so they can be disabled when the ability is not available yet.  This will let me add new abilities as the player gains them.  I also need to let players select the Shadow Knight model and provide a user name.  Currently, I only have a user name option for the network game.

When I get those two things done, I should be able to create the first board.  Then I will begin adding the actual game content.  I’ll have to keep the scenery a bit simple since that isn’t done yet.  In fact, the terrain needs to be created too.  Right now, Mark is finishing up the creature animations.  I can still get at least half of the first board done, though.  As long as I get most of the quests, NPCs, creatures, and strongholds added to the board, I should be in good shape.

My next entry will signal the Alpha release :)

Jabober lives!

Sunday, July 15th, 2007

For those of you that never played EverQuest, Jabober was one of the randomly selected names for the pet you summoned.  A lot of the names were complete jibberish, but that one always stood out.  I now have my own “Jabober” in game, though I have chosen to keep it nameless.

You can summon a skeleton to fight at your side by using a new combat ability.  There is a 100% chance to summon a servant at the start of a fight.  It gets harder to convince the undead to rise as the enemy gets more enraged.  At enrage level 10 (the max), it is impossible to summon a pet.  I designed pets in this manner to ensure the gameplay remains balanced.  Plus, it makes sense too, because you are only a novice Shadow Knight.  Your ability to command the undead to serve only works on the weaker skeletons.

I always liked having a pet in game, even if it was just for flavor.  The pet in Birth of Shadows can actually tank pretty well.  There will be many situations where it will be necessary to summon a pet if you want to win the fight.  This will be especially true when fighting enemy strongholds.  You can even buff your pet by using an ability that increases your aptitude to command.  It effectively adds 25 percent to your pet’s damage and mitigation.  This brings the total number of player abilities up to sixteen.

At this point, I think the combat design and implementation is finished.  I still need to balance the combat values, but that will have to wait until I complete the character progression design.  I plan to tackle that task sometime this week.  I have it mostly worked-out on paper, with a few details to iron-out.

For the most part, the major coding is over now.  I mainly need to start adding my game content, such as the story text and quest data.  In particular, I need to start the initial board, which is probably the most important one.  It will contain the intro story, along with some scripted events.  The tutorial will be incorporated into the quests.  Players will begin learning abilities and various game features.  The board will serve as the demo too.  It is essential that this starting area is very polished.

Before I can complete the first board, I will need to finish some of the remaining coding.  I still need to create my “boss” design, though I will only have an “avatar” level creature to fight at the end of the first board.  I’ll probably base it off my enemy stronghold design, since I want the bosses to be able to spawn waves too.  In addition, I will need to add portals to the game.  These will be based on my interactive items.  Players will use portals to move around the world.  I may even use some of them to create a puzzle mechanism.

The remaining stuff involves visual effects, interface improvements, etc.  I’m constantly updating my schedule, but everything still looks doable.  I’ve pretty much clamped down on the feature list at this point to make sure I stay on schedule.  I’m still hoping to get my new web site up with Alpha screenshots of BoS in 3-4 weeks.

Enemy strongholds

Wednesday, July 4th, 2007

I just finished my code for enemy strongholds last night.  I still need to improve it a bit, but the code works pretty well.  Enemy strongholds are like “ring events” in MMORPGs.  Once you get within agro range, the event activates.  Enemies begin spawning within 2 seconds of each wave.  There can be up to 10 waves with 8 enemies each.  The waves can consist of any combination of creatures and difficulty level.  Even boards created by players can use this method since I provide an options dialog in the editor.

I was able to finally play a network game last night too.  We tested out the new enemy strongholds.  It was a blast.  I unintentionally made the stronghold way too hard.  I had to make a few changes in the editor and start the net game back up.  We were eventually able to defeat the 5-wave event after around 10 attempts.

I learned that my combat design does a good job of dynamically increasing the difficulty level with multiple players to keep it balanced.  In fact, I actually had to make it a bit easier today.  I adjusted some values so that multiple people can fight the same enemy without the fight becoming too difficult.  I’m about to make some more combat improvements soon, so I’ll continue tweaking it as I see what needs more work.

One of the more interesting planned additions to my combat involves a summoned pet.  I always liked having a pet for my Shadow Knight in EQ.  This one will be different from the EQ pet, which was mostly flavor and some extra DPS when kiting.  My pet will actually serve as a tank, possibly absorbing certain damage types more efficiently than players.  I have a few ideas to keep it balanced.  Most likely, it will only exist for a limited amount of time, though it can be summoned again during combat.

In addition, I added some other features recently.  My campaign game (single-player) now has NPC dialog exchanges.  When you first meet an NPC, you can talk with each other in a sequence (or skip it).  Once finished, the quest dialog automatically opens.  In many cases, things discussed will show up as quests.  This new mechanism will be important when I start adding my story to the game.

In fact, one of my next tasks is to create the actual first land area for the campaign.  I have been using a test board up until this point.  The new board will also contain the tutorial.  Players will start with limited abilities and earn the remaining ones.  This will help reduce the learning curve.  My combat design is a bit complex, so I will need to make sure I don’t overwhelm new players.  Another task will involve the character progression, which is required for this first board as well as the others.  I still haven’t finalized my design for it.  I have most of the progression figured out, but there are a few things I need to consider.

I have a bunch of other components to finish, but my focus is now on getting the Alpha release completed.  I expect to start this process in about 1 month.  So far, “Birth of Shadows” is still on track for a November 2007 release.  I’m going to need to continue working hard to make sure I meet that goal.