Heyus's Rules of Decal Development
Congratulations! So you want to be a third party developer for Asheron's Call or Decal? Well there are a few things you need to know and a few rules you will have to abide by.
- Read this whole document! You are responsible for knowing and abiding by every rule on this page. No one is to blame but yourself if you find yourself blacklisted because you chose not to read past the first line.
- Developers are not teachers. Most of us learned what we know though experimentation and self initiative. Do not expect to find someone willing to sit down and coddle you.
- Developers do not teach programming languages. Go to your local library and find a good introductory book on Visual Basic or C++ before you even start. Nothing bothers 3rd party developers more than people who don't know the first thing about programming.
- Corollary on the above rule: Decal development is absolutely not a good first programming project. If you want to learn how to program, go elsewhere; Decal is not lightweight, nor is it easy to learn. Heck, even the Decal developers themselves have a hard time figuring out Decal. Unless you have a solid grasp on your language of choice, a first programming project should not include Decal.
- Second corollary on the above rule: Programming is not for everybody. Just having an idea to make a cool plugin doesn't mean you can do it. Learn to crawl before you can walk. Learn how to program little things before you undertake a huge project. Most programming projects require a solid grasp on certain computer science topics, if not at least a good understanding of how whatever you're trying to do works.
- When in doubt, use Google. Most general programming questions are more easily, and more quickly (not to mention often more accurately) answered by a quick Google search. If you ask a stupid question in #acdev, don't be alarmed if you get a 60-second Google Rule ban. Decal developers get sick of answering the same stupid questions all day.
- Make full use of the resources on the Internet. Several people have written excellent tutorials on how to get started writing Decal plugins in both VB and C++. There are even some open source plugins available. No one in #acdev will respond to requests along the lines of "how do I make Decal plugins".
- It is not all about your ability to regurgitate code. A lot of Asheron's Call development makes use of mid-level math or computer science theory. A solid understanding of algebra is a must, though math through linear algebra or beyond is most helpful. A solid basic understanding of the concepts behind data structures like stacks, queues, linked list, hash tables, classes, et cetera is essential to even the most basic Decal projects.
- Do not harass, pester, or annoy the #acdev ops. The #acdev ops are people too, and all volunteers. Most will not give a second thought to a swift kick from the room. Additionally, the ops are not the only people in the room who do third party work; asking a question in open chat will usually (assuming the question isn't dumb) solicit an answer. Along those same lines, it is usually easier to just ask your question rather than sitting around asking "can someone answer my question" several times.
- Don't be an idiot. If you get kicked from #acdev, don't take it personally. And if you get banned, try back in a few minutes. #acdev ops rarely hand out permabans unless the person really deserves it. Just come back in, forget about it, and get on with life. Kicks and bans are truly random events in #acdev.
- Do not try and violate the Asheron's Call Code of Conduct. Hacking, cheating, unattended combat macroing, et cetera are not tolerated in-game or out. If you ask anything about how to violate the rules, or ask a question that has a high probability of sounding like you're trying to violate the rules, you will not be a happy person. Such people usually get a blatant warning boot before the ops play "who can kickban this person first". PK-specific plugins and griefing utilities have the tendency to fall into this category. In the past, certain filter developers have been known to demand that their filter not be used in the projects of people who violate this.
- Don't ask for a custom plugin in general chat. Most Decal developers have enough work to do without people asking them for custom plugins. Decal developers have a tendency to only spend time working on projects that benefit a large audience.
- Charging for your plugin is a no-no. Do not, under any circumstances, charge for any third party utility which relies on Decal. This is a good way to get blacklisted and earn you a permaban from #acdev. And yes, requiring a donation counts as charging. This, however, does not preclude you from accepting donations for your utility.
- Do not steal the work of others! Unless consent is explicitly given by the utility author, do not repackage someone else's utility with your own. Such examples of things that could get you in trouble include, but are not limited to: bundling someone else's utility with your own, redistributing someone else's utility, distributing a hacked version of another utility with the intent of circumventing security.
Back to Heyus' Decal stuff