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.