My friends and I want to create a skill-based mud just for us. we've all played on different muds for various years and want to try our hand at creating one. Were just doing this for fun and for ourselves. We were thinking about using the Merc 2.2 code base to start with, my question is this, What would we need to change to turn it into skill based system. I believe we're keeping xp, as we also want to the characters to level. I know we have a few things to iron out but wanted to get a starting point. Also if there is a better code base that you feel would be better at doing the skill based system I'm all ears :)
I'm guessing that in this context it's skill-based as opposed to class-based. To the OP I'd recommend Nakedmud as a decent place to start. It's built with C and Python so you can do your development in either language. It also has a lot of tools and generic functionality built in, but with very little game logic so is ideal if you want to do something that's a little different. There is a mailing list and IRC channel and the codebase is actively maintained.
Usually by skill-based people mean choosing skills through a skill tree, or at the very least choosing skill groups, and maybe improving skills with use, rather than automatically getting class skills on each level-up.
Nakedmud? This one is new to me :) but I will check it out!
To clarify what were looking for is something like this. To level in the game you need to have a certain amount of points in certain skills (ie For a level 1 Rogue to advance to level 2 they would need 10 in stealth, 10 in lock pick and 10 in perception). Combat would also be based on skills, so a level 3 fighter with 30 in long sword would do more damage than a level 3 fighter with only 15 in the same skill using the same weapon.
I like the Nakedmud idea, as not having to worry about removing stuff is nice but I also want to see how much work it would take to rework Merc to do this. I kinda have a small idea what I would need to remove, I just want to make sure I didn't miss anything.
I know the experience system would need to go and the practice command would either need to go or be reworked. combat would need a reworking… thats all I can think of off the top of my head…
I tried the Nakedmud, but after fighting with it to compile and then everytime I run it and try to connect I get a segmentation fault… I'm kinda sad as it looked very promising and I was pretty excited about being able to use my python knowledge with it… I'm not totally giving up on it. I subscribed to the yahoo group and will try to get it running.
Well I appreciate all the time you've spent helping me, please don't hesitate to add anything you may feel is useful :)
I won't derail the thread with NM troubleshooting, but if you want help to get it set up create a new thread and we'll see if we can help. I think there's a couple people here who use it and the author posts here from time to time. Alternatively post to the yahoo group or jump in the IRC channel which you can find details at nakedmud.org.
As it happens, Mac and I are working on a new Merc with OLC distro, and we discussed this just last night. Russ and Brian added quite a bit to Merc, fixed a lot of bugs present in 2.2, and while things got a bit convoluted and might have been done better, ROM does have a lot going for it. Since your interest lies specifically in skills, I'd say yes, a lot of things you'd want have already been done in ROM.
26 Aug, 2009, KunoNoOni wrote in the 10th comment:
I did some reading last night and some looking around. I see that ROM got a cleaned and updated to the new gcc4. I looked at Envy because I remembered that another friend of mine was working on putting up a mud and thats what he was using. Mostly because it had some pre-built stuff that didn't come stock in ROM. I also looked at Mythran, I'm not too familiar with this codebase. Can anyone shed some light on this one? Lastly I see that another code base that I'm kinda fond of got an update, SMAUG.
Smaugfuss in itself is a fairly decent codebase to start out with. I learned how to program (if you call my knowledge any good..heh) on smaug/smaugfuss. It's pretty straight forward in what it can do, yet it's also pretty easy to learn/understand/modify. It has a great community in smaugmuds.org and is actively maintained.
So smaug would be a solid foundation to start on (but I'm biased as I'm more familiar with it).
I run an Envy2.0 codebase and I have really enjoyed working on it, but it is very outdated though codewise.
Well, that's pretty much it. You're looking for a unique experience/combat/skill system that you won't find anywhere, except for your own creation. Smaugfuss is very easy to learn and modify. It has OLC for quite a few things plus it is very actively maintained.
Any codebase you find, you're going to have to create your own thing, but I would think smaugfuss would be the easiest to do it in. But again, I'm biased as that is the code based I learned from and have not looked in depth at other codebases.
Your skill system is partly implemented already in that if you would hit harder if you had 50 in long swords rather then 25 in longswords. All you would need to do is take out the learn_from_success/learn_from_failure and your skills will not gain the more you use the sword, but only gain by practicing.
I don't see it being very hard to implement the level by skill set (10 in sneaking, 10 in hiding, 10 in lockpicking, + have exp to level)
With nakedmud you have to reinvent the wheel so to speak, with smaug, you jump right in and have a running playable game from day one. Just edit as you go knowing there is still a completely full game underneath.
26 Aug, 2009, KunoNoOni wrote in the 14th comment:
I have been checking out the code for SMAUGfuss and saw that it already had functions for learning from Success/Failure. I was thinking I could tweak them to fit what I need. Then I would just need to worry about combat and leveling.
I think SMAUGfuss may be the best fit for what we're looking for!