Go Open-Source?

Please post your ideas to improve our mud.

Go Open-Source?

Postby Hung » Thu Apr 16, 2015 9:02 pm

First of all, I clearly understand that everything proposed is simply never going to happen. Therefore I propose it not in hope of being done, but to discuss it. I am going to publish my thoughts in two major parts: in first I am going to defend the idea of going open-source, in second - propose a development methodology which doesnt require a code contributor to be trusted in order to accept contributions from him.

Part I. Why Open-Source?
MUDs very rarely have its source code released. In my opinion, it's some archaic tradition going from 90x not having anything reasonable. But that is the way it is. The situation is different in the domain of roguelike games(which is close to MUDs by its spirit). Nethack, Angband, Dungeon Crawl, etc have its source code released.

Someone would object, that releasing source code would result in appearance 10 SlothMUD clones which will distribute the player base among them.
First of all, I dont ask to release content(areas, etc), maybe just a 3-4 areas to make the whole thing deployable and runnable on local environment(in the Part II I'll state reasons).
Also, as far as I remember in the beginning of 2000 some banned imm in rage released the SlothMUD source. How many clones did appear?
Finally, our players in most play for decades, know each other, etc. They are used to the game and the community and it's quite unlikely they'll run to the clone at first possible chance.

Releasing the SlothMUD source code would be great help in learning the game mechanics. For me most the mysterious and interesting part is how is final damage calculated. It has to go through sanc, fluditity, greater fluidity, sanctity, damage reduction, etc. And my interest isnt just idle curiosity, but it'll result on where I'd place monk in my future chars' class order.

Secondly Open-Source SlothMUD will make possible competely different methodology that will allow anyone to make the code contributions. I'll describe that methology(it is safe and isn't require for the contributor to be trusted) in the next post.
Last edited by Hung on Thu Apr 16, 2015 11:09 pm, edited 1 time in total.
User avatar
Hung
Double 40 Poster
 
Posts: 169
Joined: Tue Apr 01, 2014 10:41 am
Status: Offline

Re: Go Open-Source?

Postby Hung » Thu Apr 16, 2015 10:29 pm

Part II: Code Contribution Methodology

Prerequisites
  • The SlothMUD source code with some content(3-4 areas) released on the corresponding platform such as github
  • Coding Conventions Guide(describes how the new code should be written)
  • Deployment Guide (describes how the SlothMUD should be deployed on the local environment)

Step I: Application
A developer contacts an admin with the application to fix a bug or implement some feature. It could be either his own idea or something already registered in the bug-tracker. The admin gives the green light and provides access to the repository.

Step II: Development
The developer fetches the latest source and deploys the game on the local environment. The he creates new working branch where he implements the proposed changes.

Step III: Review
The developer joins his changes in the one commit and merges it in the main branch. The admin asks one of the staff coders to review the changes. The staff coder check whether the changes correspond to the coding conventions, is the code clean, understandable, etc. He may reject changes. Then the commit gets reverted and the developer returns to the Step II.
If the staff coder accepts changes then we go to the Step IV.

Step IV: Testing
Changes are deployed on the test shard. Where they are throughfully tested. Btw, testers could be simple players and their work could be rewarded with drachma/gems. If testing fails, then the commit reverted and the developer returns to the Step II.
If testing succeeds then the binaries from the test shards are copied to production. The developer is rewarded with drachma/gems. And the process finishes succesfully.
User avatar
Hung
Double 40 Poster
 
Posts: 169
Joined: Tue Apr 01, 2014 10:41 am
Status: Offline

Re: Go Open-Source?

Postby Teron » Fri Apr 17, 2015 4:56 am

1. I believe the reason why imms keep everything a secret is that they want us to learn things on our own. At least that's what I heard way before the code was shared by Tower.

However, not everyone has the patience to test everything.

Given that all the research players do they keep to themselves or don't publicly document it, the research is essentially wasted other than in the head of players or is just shared via grouptells, when the topic is brought up.

Since players do leave and take the knowledge with them, this doesnt benefit other players.

So, it does make the MUD look like a poorly documented project and I applaud the efforts to make the help files up-to-date.

I'd too prefer the background mechanics to be known for me to make educated decisions. Sure, I can test stab/grip on the arena, but do imms honestly expect every player, who needs an answer, to test everything on the arena? I personally don't expect that from the new comers and yet they do need information on how to make the most important decision: picking their classo.

Wiki is supposed to help here, of course, but I think the open-source code and the wiki can work togethether: not everyone is a developer and not everyone wants to write lots of articles for the wiki. Each to his own.

2. As anyone running any project knows, to take it off the ground requirse immense time and effort resources, as well as perseverence. I hardly doubt anyone is able to pull off starting another MUD on their own. So I wouldn't put this as the #1 reason for not making the code open-source.

Besides, there are hundreds MUDs out there. Another new, which is a copy, wouldn't make it any different. If they don't like Sloth, players wouldn't go there and I'd stay away from it, because it'd mean the new MUD is even more buggy and less maintained, than the current one, due to lack of developers.

Also, each MUD is unique and that's what makes it worthwhile. If imms are confident they provide value, they have nothing to be afraid of by sharing the code.

If anything, the code can be distributed through any type of the Creative Commons license that requires attribution and/or limits the changes that can be done without permission.

3. I do believe that making the code open source will open the code for peer review, which will:
- allow player developers help with fixing bugs
- let player developers help with minor things and learn the code, so they can help with larger things.

I think the latter is what the MUD could really use to get more hands, given the lack of developers - that's how big projects get some of their inhouse developers, too. People start small and then develop great stuff. But they do need to start with something.

Honestly, if we are comparing the idea that players should test stuff themselves and the faster developing MUD, I'd pick the faster developing mud that crashes less.
User avatar
Teron
Avatar Poster
 
Posts: 711
Joined: Wed Mar 03, 2004 1:59 pm
Status: Offline

Re: Go Open-Source?

Postby *juggleblood* » Fri Apr 17, 2015 7:45 am

If there are any talented coders who want to join the development team they are free to do so. They have to show some commitment to the game, vision, and the ability to carry out the intended reforms. This is the way things get done.

Even though you are talking in an abstract, third person sense. I read this more as your personal desire for more serious involvement with the game. I suggest you think about it and contact Splork about how you might participate.

I think going open code would be like running a restaurant where the patrons have free access to the kitchen and can stand over the cook's shoulder criticizing them and fighting amongst one another. It seems like a non-starter to me.
Talk to the clown.
User avatar
*juggleblood*
Hall of Fame Avatar Poster
 
Posts: 1304
Joined: Sun Jan 22, 2006 6:36 am
Location: Beyond Yonder
Status: Offline

Re: Go Open-Source?

Postby *Splork* » Fri Apr 17, 2015 9:07 am

This was actually discussed a bit the other day, right after he corpsed and got looted and I expressed my views then but will share them again.

There are plenty of avenues to take to contribute to the game such as area building, wiki articles, writing MUDL code for better quests and game content, running quests, coding for the website or the game itself, and on and on.

For some of these, players don't ever have to become an Immortal. However, if one wants to become an Immortal, the process is easier than ever. Play the game, come up with an idea, and we normally give you an Immortal. Simple as that( unless you are a problem player ). There is no long wait. Players no longer have to achieve certain levels or play time. Of course we want you to know the game. A level 10 newbie with 2 days playing experience will not be allowed to become an Immortal.

Ten or Fifteen years ago if an Immortal wanted to code they were forced to build an area. I changed that when I brought in Isabo and Breeze. Both started out helping with the website and moved on to our code. Teker, our newest programmer, helped out with the wiki and coding( we gave him access to only the MUDL files ) additional MUDL procs on the builder's port. Within a couple of months, he was given an account on our coding port and away he went. Honestly, it only takes someone to show a bit of dedication and desire and it should be quite obvious we will create room for that person. On that point, we just brought back Toxis again! Enough said.

We will not be going open source any time soon. We may eventually, who knows. Claiming that because we are closed source stunts development or labels us "archaic" is simply ignorant. Our methods have changed as the times have and we will continue to do so. We have opened up plenty of avenues to allow players to contribute and to be quite honest, for the most part, they have chosen not to. Its good enough for me that the players are playing and I applaud those who step up and help...

In terms of our stability or lack there of, we experienced a two month blip of being unstable due to upgrading our server ( we had to, all linux environments had a major security flaw ). We fought through that, fixed the issues, and came out on the other side. For years before that, and up until yesterday, we have been extremely stable. In the past 1 1/2 months we fixed over 1300 compiler warnings, fixed quite a few memory leaks, redid a great deal of the backbone regarding our game procs/engine and yesterday's reboot prompted two crashes which were both fixed within hours. Honestly, for making the mass amount of changes we did, that is pretty incredible.

One of the comments is that open source brings a more stable environment and in some rare cases this may be true, in a case like ours, that would not be remotely close to the truth. We have hundreds of thousands of lines of code and probably close to the same amount in in-game procs. Take for example the changes Teker just made in regards to giving us the ability to add room procs and the ability to use MUDL in rooms: no amount of testing with our code and 3-4 areas worth of objects and mobs would of prevented the crash from yesterday. Matter of fact, quite possible that even with a full world of mobiles and objects that all testing would of been fine. We have thousands of events triggering every few seconds, its impossible to test for everything, even for those of us who know our code inside and out.

Anyone who thinks that allowing dozens of untrained programmers access to make changes is helping stability really needs to step back and rethink the situation. Arguing that more testing would be done and people walking each other's code would prevent that simply has not been in this type of environment. When I first began coding, all of my code was walked and tested by Frobisher ( wintin developer ) and we still had crashes and bugs. While comments like that read great in text its simply not the reality.

Either way, feel free to contact any of us if you have a desire to contribute. As mentioned, there are plenty of ways to help out.
User avatar
*Splork*
Site Admin
 
Posts: 1135
Joined: Tue Apr 29, 2003 8:50 pm
Status: Offline

Re: Go Open-Source?

Postby Hung » Fri Apr 17, 2015 12:30 pm

I apologize for the word 'archaic'. I agree that things are changing constantly(i.e. requirements to immortality). However the base principes stay unchanged. It came from tradition that is quite same for MUDs.
And there is another tradition. I'll cite Nethack as example again. It's creators see nothing wrong in allowing customers into kitchen. I am not saying Nethack is better game than Sloth(those games are too different to even compare). I am saying, there are different traditions. And my sympathies are on open-sourced one.
As for immorting. I feel it's quite wrong to immort mainly to find out how final damage is calculated.
User avatar
Hung
Double 40 Poster
 
Posts: 169
Joined: Tue Apr 01, 2014 10:41 am
Status: Offline

Re: Go Open-Source?

Postby *teker* » Fri Apr 17, 2015 7:36 pm

I can't figure out if the motivation is:
1) I want to know how all the numbers are crunched so I want to see the source

Which could be remedied by printing out all the formulas next to the answer. Personally I'm against this kind of number crunching and think that it's more fun to just play the game. I would like some additional documentation to know if a fireball does more damage than a flamestrike - but I prefer language that gives me some kind of x is slightly/double/way more powerful than y. We've talked about putting together a wiki article for class order that gives some details but no specific numbers.


2) I want to learn game development

Diku/Sloth is not really a good example of modern-day game development. Moving that direction is something I'm fond of thinking about, but you'd have to go with a custom protocol and either build a custom client or build a protocol stack for one of the existing clients. Client-server applications have changed quite a bit in the last 20 years (along with most people's processor speeds, bandwidth, etc).


3) Changes/updates are too slow and/or unstable - need more people

In my short experience "working" here, I can tell you that there's been no shortage of ideas that people have for moving forward with new features. Some of them aren't too hard to implement. But they often lack specific details on how the game would be affected, balance issues, etc. You can't code something without the details and you really shouldn't code something until the idea is hashed out and everyone is confident that it won't mess up the game.


4) Something else

??.
*teker*
Triple 40 Poster
 
Posts: 299
Joined: Sun Apr 05, 2015 3:41 pm
Status: Offline

Re: Go Open-Source?

Postby Teron » Mon Apr 20, 2015 8:09 am

1. Splork, I believe you should be familiar with how Git works. Programmers don't contribute the code directly to the live server, they show it to you and you make the decision, whether to merge it with the live server or not.

2. I don't think there will be many onlookers from behind your shoulders. As long as the feedback is structured, it shouldn't be a problem - more ideas is always better.

Then again, I can't tell you how to feel regarding your development. If open-source doesn't cut it, alright, but that's the now old trend in web development that makes projects better.

3. As for an easy way for developers to join you, I am talking about an easy way to start with small things. There should be an open invitation to developers to join the coding team and a list of things to fix, which they can see before getting an immort.

4. Teker, on a number of my suggestions Juggleblood told me that anything that isn't coding can be changed quickly. Anything that's related to coding is a no go, because the developers are busy.

Is this not true now?

I can take a reason that there are other priorities or that my suggestion needs to be improved to become a real development task. I can work on that.
User avatar
Teron
Avatar Poster
 
Posts: 711
Joined: Wed Mar 03, 2004 1:59 pm
Status: Offline

Re: Go Open-Source?

Postby *Splork* » Mon Apr 20, 2015 10:28 am

I am quite familiar with how GIT and other repositories work.

I am not sure why JB would say anything code related is a no-go because that hasn't been the case that I am aware of. We do work on our own projects but whenever something someone else needs is requested, we sure try to get it as quickly as possible. We do have what we feel is a priority list and we also banter the ideas around before they are actually coded. For the past year, we have been working extremely hard on stuff which players don't really see much of. Its all back-end related but eventually we hope it leads to some great stuff. I've personally been spending probably 30-40 hours a week for the last 5-6 months working on this project.

I use the idea command several times a day and add the ones I/we like.

Teker is starting out fixing some things and working on an easier way for our Immortals to add dynamic content to our game. Not everyone can write MUDL or be expected to. Having a third programmer should definitely increase our output though. However, it does not mean that every idea submitted will be coded. The ones we like and find interesting we will discuss, as we always do, and possibly start work on soon after.





Thanks!
User avatar
*Splork*
Site Admin
 
Posts: 1135
Joined: Tue Apr 29, 2003 8:50 pm
Status: Offline

Re: Go Open-Source?

Postby Teron » Tue Apr 21, 2015 4:22 am

Teker, just to give you real, current examples:

1. One thief and I are not sure, whether buying the max dex drachma item is worth it for a thief right now, or we should rather save for nekodes/crystal sleeves.

We were told by two different people that max dex matters and doesn't matter, even if it says so in the files.

Even if it does, does it lead to more damage, compared to standard damage?

As you can see, the items in question cost lots of drachma, so it's a decision one makes once in a life of a character and yet, there's no definitive answer and it probably can not be found in the help files, even if they were updated to the limit.

2. Should one buy +dam or +5stab dam for a thief? EQlist suggests they are equally weighted, but are they equal in final damage? Drachma costs suggest otherwise, as well as arena testing. But testing was done by one person, should every thief test it before arriving at his own conclusions?

3. Weapon dam for charge: does it help? It should, but I was told it doesn't.

So I do agree that there should be answers. They can be written in a normal language, not formulas. But like I said, previously, imms were reluctant to give out any information regarding inner game mechanics, insisting on tests. Has this changed? Do you only need writing hands to update the help files?

Thanks.
User avatar
Teron
Avatar Poster
 
Posts: 711
Joined: Wed Mar 03, 2004 1:59 pm
Status: Offline

Re: Go Open-Source?

Postby *teker* » Tue Apr 21, 2015 11:50 am

4. Teker, on a number of my suggestions Juggleblood told me that anything that isn't coding can be changed quickly. Anything that's related to coding is a no go, because the developers are busy.

Is this not true now?


I'm not going to say that we're not busy - but I don't think that coding suggestions are no-gos. Since I'm new, I'm not going to work on things that change gameplay or balance without hearing from the others whether it should be done or not. But I'm open to working on new features or fixing old things that don't work right.


Teker, just to give you real, current examples


Yes, I think there should be some documentation to aid you in your questions. I'm happy to look at the code to see if things matter - but I have to run it by the others before I can reveal it to you. So are your questions equivalent to:

1. Does max-dex matter or is it just dex that matters with regard to damage?
2. What's better +1dam or +5stab-damage for a thief?
3. Does weapon damage affect the charge skill in any way?
*teker*
Triple 40 Poster
 
Posts: 299
Joined: Sun Apr 05, 2015 3:41 pm
Status: Offline

Re: Go Open-Source?

Postby Filk » Tue Apr 21, 2015 2:46 pm

*teker* wrote: But I'm open to working on new features or fixing old things that don't work right.

Could you be so kind and put up a discussion about max stats not working while shifted 8)
To at least be decided, will it ever be implemented or not. So i could stop to ask about that. :lol:

Also, would be lovely to see all forms damage rolls somewhere. Since now its unbalanced at higher levels and probably should be changed in some ways. Revealing damage rolls could help alot to make some offers to balance forms.
Fluffy
User avatar
Filk
Double 40 Poster
 
Posts: 197
Joined: Tue May 18, 2004 6:02 pm
Status: Offline

Re: Go Open-Source?

Postby Dragoth » Tue Apr 21, 2015 4:42 pm

Could you also please take away the code that adds a timer on aerial servant recast for clerics after a deathgrip, Splork approves! Thanks!
User avatar
Dragoth
Triple 40 Poster
 
Posts: 401
Joined: Tue May 25, 2004 3:37 pm
Status: Offline

Re: Go Open-Source?

Postby *teker* » Wed Apr 22, 2015 10:59 am

1. Does max-dex matter or is it just dex that matters with regard to damage?


Max-Dex does not appear to do anything other than let you get a higher Dex. I did notice that items marked AFF_MAX_DEX add to MAX_DEX and DEX.

2. What's better +1dam or +5stab-damage for a thief?


From the looks of things, +dam is better. Stab-damage only applies when using the backstab skill. Damage applies to each physical attack each round. Unless the mob dies in less than 5 hits, damage will be better.

That being said, I know there are damage caps and if you've hit yours, +stab-damage might be a bonus on top of that - not really sure.

3. Does weapon damage affect the charge skill in any way?


No.
*teker*
Triple 40 Poster
 
Posts: 299
Joined: Sun Apr 05, 2015 3:41 pm
Status: Offline

Re: Go Open-Source?

Postby Teron » Fri Apr 24, 2015 6:42 am

Teker, thanks for replying.

1. "Help dex" says max dex helps with attack skills:
"The reaction bonus helps with things such as palming, squirm, stalk, deathgrip, wraithtouch, flurry, dodge, focus, presage, prediction, evade capture, and deathtouch."

It also shows max dex of 25 adds 6 reaction bonus. Is it there or it's just in the help files?

2. Weapon damage is added to the total damage of charge - I've tested this in the arena. I think there should be a multiplier for weapon damage for an opening attack and I've ideased it.

Interestingly, standard damage (+1 damroll) does *not* affect the charge damage in any way.

As you can see, even with your input there's contradiction between what you know and what's in the help files, so there should be clearer information, either in a form of correct help files or open source code for those willing to know. Though I agree that opening the code just to learn the mechanics isn't really helpful to most players.

What might work is opening the code for (individual?) players, who wish to research and contribute to the wiki/help files.
User avatar
Teron
Avatar Poster
 
Posts: 711
Joined: Wed Mar 03, 2004 1:59 pm
Status: Offline

Next

Return to Mud Suggestions

Who is online

Users browsing this forum: No registered users and 9 guests

cron