Dev continued today after a bit of a break. I've added special building commands to allow the damage to be set for each mob individually. It allows for a more engaging experience I think. That's in and working properly now, and I will also add some degree of customising hit points for a mob, rather than being simply level based.
With diablo III announced, I wonder if it will be a long dev period as normally expected from Blizzard studios. If so, perhaps we can expect some players looking for a diablo clone, and find that MUDs' are actually a more social atmosphere and probably a bit healthier at that.
We'll see !
Thursday, July 31, 2008
Saturday, July 26, 2008
Soulkeeper MUD dev pt 7 - Combat changes
Spent today putting in critical hit combat events. While I was doing it, I thought it would be pretty good if you could see the actual damage you did each hit, so I've added that after the damage message as well. The critical hits work for spells as well as melee damage.
I also did a bit of play testing, to see how things are meshing together. Found a few oddities, mainly because a whole heap of vnums are hardcoded into the header file, and they point to rooms like guild-only locations, which just by chance overlap the vnums of the city I have developed. So when it wouldn't let me enter some rooms, it took a bit of digging to find out why. Tested other things like scaleability, instance hardness, etc. It's looking more complete by the day!
I also did a bit of play testing, to see how things are meshing together. Found a few oddities, mainly because a whole heap of vnums are hardcoded into the header file, and they point to rooms like guild-only locations, which just by chance overlap the vnums of the city I have developed. So when it wouldn't let me enter some rooms, it took a bit of digging to find out why. Tested other things like scaleability, instance hardness, etc. It's looking more complete by the day!
Wednesday, July 23, 2008
Soulkeeper MUD dev pt 6 - Hot reboots
Another feature worked itself into soulkeeper mud today. Copyover, or as some people call it, HotReboot, is a great bit of code that allows the mud to be rebooted, with new code updates, without disconnecting everyone. It's now on soulkeeper and works like a charm. It didn't play well
with mccp at first, but I got that fixed up.
Didn't quite get around to doing the combat enhancements, hopefully I get some time tonight to do those!
with mccp at first, but I got that fixed up.
Didn't quite get around to doing the combat enhancements, hopefully I get some time tonight to do those!
Tuesday, July 22, 2008
Soulkeeper MUD Dev - Pt 5
Yay! I've finished all the mob creation routines for instances. Now a builder can set the flags for bossmobs in the room definition, and it will pick one randomly from the created boss mobs. I'm keen to set up a low level player and start testing it. Soulkeeper now has 48298 lines of code, using 'more *.c | wc -l'. That's not entirely accurate of course, but a good roundabout figure nonetheless.
Next on my list is a revamp of combat code. Part 1 is going to be adding critical hit chances, that do double damage. This is also because one of the possible item affects is adding to critical hit chance. This will be seperate for spell and melee. I'm toying with the idea of having a location-based damage system. I have to be careful of scope creep though, otherwise I'll never get this finished.
I guess I'll have to prioritise. I'm also considering opening up the mud soon to builders and IMM applications.
Next on my list is a revamp of combat code. Part 1 is going to be adding critical hit chances, that do double damage. This is also because one of the possible item affects is adding to critical hit chance. This will be seperate for spell and melee. I'm toying with the idea of having a location-based damage system. I have to be careful of scope creep though, otherwise I'll never get this finished.
I guess I'll have to prioritise. I'm also considering opening up the mud soon to builders and IMM applications.
Saturday, July 19, 2008
Soulkeeper MUD Dev Pt4: Bug squishing + mobs
Found some more bugs today and fixed them. I don't know how I missed them in the first place! It pays not to ask someone why some code is crashing... 'Cause your a shit coder!' is the inevitable reply. I'd have to agree with that, after seeing some of the blindingly obvious bad pointers.
Anyway, after fixing those few bugs, I've moved on to some mob generation in the instances. I was originally going to let the builder of the instance create a list of mobs that could appear, but I've changed my mind. I've instead opted for a more automated approach. The builder creates as many mobiles as he/she wants, within the vnum range of the area, and the instance generation routines chooses the mobile automagically, based on the level (the instance is supposed to get harder the deeper you go). So instead the builder chooses a level range for possible mobiles for each particular room.
Also had a play with some MCCP routines, so that it shows total bytes/compressed bytes for each user at request.
Next job: deal with special mobs, including champions (extra hard), mini-boss, and instance-boss.
Anyway, after fixing those few bugs, I've moved on to some mob generation in the instances. I was originally going to let the builder of the instance create a list of mobs that could appear, but I've changed my mind. I've instead opted for a more automated approach. The builder creates as many mobiles as he/she wants, within the vnum range of the area, and the instance generation routines chooses the mobile automagically, based on the level (the instance is supposed to get harder the deeper you go). So instead the builder chooses a level range for possible mobiles for each particular room.
Also had a play with some MCCP routines, so that it shows total bytes/compressed bytes for each user at request.
Next job: deal with special mobs, including champions (extra hard), mini-boss, and instance-boss.
Soulkeeper Dev pt3 - System functions
Only myself to blame. I stayed up too late last night playing day of defeat, and slept in this morning. Mainly because Hannah (my daughter) was taken care of by my partner. I did get some coding in today, however... some much needed core code functionality. MCCP is a compression protocol, that saves bandwidth, and increases speed, and now it's functional within Soulkeeper. It was a hard slog, as I wanted to change all the send_to_char calls to mxp_to_char.. and as most Mud devs know, there are a lot of send_to_char calls. I'd like to thank Brian Graversen and Celestian for writing the original code. I would also like to put in threaded DNS resolution as well. I'll put it on the list.
It's all working now, which is sweet. I've got some fine tuning to the instance room generation before I go to bed.
It's all working now, which is sweet. I've got some fine tuning to the instance room generation before I go to bed.
Thursday, July 17, 2008
Soulkeeper MUD Dev pt2: Instances and wilderness
Continuing with the Diablo & World of Warcraft mud theme, the instance data structure has now been implemented and a few control procedures are in place to handle them. Someone can now select the instance they want to go to, then enter a portal and arrive at the newly created instance.
One big benefit of this, is that you or your group can complete an instance unhindered by other players, which can make for great boss / mini-boss encounters. One bug reared it's ugly head and refused to be squashed after much debugging. It was locking up the mud, and the process had to be killed. After a bit of banging my head on the desk, I found the cause.. a missing char_from_room() function, which was effectively duplicating a person and when they entered the room again, it encountered a clone and had a brain haemorrhage.
I've created one instance to test out the new functionality, the goblin caves, and it works surprisingly well. Builders will be able to create 'dungeon templates' that can be new instances. Basically set up the types of mobs that can appear, plus mini-bosses, champions, and the final instance boss (which every instance much have). These special types of mob have better chances of dropping rare loot.
I've also created the core city that will be the hub for adventurers, Gerris. This city has the portal fixture for instances, plus wilderness exits. I've also Added a few wiz commands to manage instances.
One big benefit of this, is that you or your group can complete an instance unhindered by other players, which can make for great boss / mini-boss encounters. One bug reared it's ugly head and refused to be squashed after much debugging. It was locking up the mud, and the process had to be killed. After a bit of banging my head on the desk, I found the cause.. a missing char_from_room() function, which was effectively duplicating a person and when they entered the room again, it encountered a clone and had a brain haemorrhage.
I've created one instance to test out the new functionality, the goblin caves, and it works surprisingly well. Builders will be able to create 'dungeon templates' that can be new instances. Basically set up the types of mobs that can appear, plus mini-bosses, champions, and the final instance boss (which every instance much have). These special types of mob have better chances of dropping rare loot.
I've also created the core city that will be the hub for adventurers, Gerris. This city has the portal fixture for instances, plus wilderness exits. I've also Added a few wiz commands to manage instances.
Subscribe to:
Posts (Atom)