Aodh Lazuli wrote: Mon Oct 14, 2019 10:00 pm
Long post from Page 6
I want to reach all the way back to Page 6 here, because I want to focus on a similar thing. Not this change in particular, but the general course of Arelith development as it appears from the outside. While it's semi-targeted towards the dev team in general, I think it's safe to say most of this post if particularly focused on Irongron, and I'll probably write it directed more or less towards him.
First, though, I want to cover a couple other things. I want to encourage everyone, whatever side you're on, to please be civil. People who don't make good points, whether subjectively or objectively, are almost certainly not doing it to be dismissive, insulting, entitled, etc. People have a lot of emotions, time, work, and passion involved in Arelith, and everyone, from dev to DM to player, are integral to the success. None of us would be here without the others. It's very important in these kind of discussions to remember that there's no reason to make people your enemy and attack them, whatever side you're on or whoever you are. Being mean, dismissive, or condescending won't further your arguments, won't help your side, and will, if anything, just make anyone who has the same ideas as you seem condescending as well. If you, anyone on any level, feels the need to attack or condescend others, consider taking a break and coming back later.
Second, I want to thank the DMs and admins for keeping this thread unlocked, along with the other related threads. These kinds of change can bring heated discussion, and not everyone shines in those situations. It's fantastic to see threads continuing on even when there's occasional incivility happening. I've seen a lot of topics locked in my time on Arelith, and I have to say I think that moderated but open discussion is much more helpful to the server and community. So thank you, again.
So finally, I'll get to the main points I wanted to make. I hope you'll sit back and enjoy some nice, refreshing water while you read because I do not have the gift of brevity. As another post I wrote in another thread a while back, that I can't find right now, I'll preface this by saying that I'm viewing a lot of this through the lens of a professional software, but not video game, developer.
Between this major change, the way it was released, the direction of the additions, the monk changes, fixes, and rechanges, the spell changes and unchanges, and I'm possibly more that I'm not thinking of, I feel that Arelith development is lacking in several things that I think would really improve the development process.
The first of those, as much as Irongron will hate to see it, is process. Working as a developer, I've been on projects all over the process spectrum. I've worked with teams that, like the Arelith dev team, don't really have any process at all. I've worked with teams that have been all process all the time. But by far the most effective teams I've been part of have been teams that used processes carefully tailored to the project, and in just the right amount. Not so little process that people lacked direction and development lacked essential pieces, but not so much that the team was run with an iron fist.
For Arelith, the process (or lack of) seems to be lacking a few very key things. I hope that no one reading this will feel insulted or offended. Anything lacking here isn't a personal failing of anyone. Rather, I say it knowing very well, from my own frequent experiences, that no one can, or should, wear too many hats, and it's far better to bring on more people to distribute the hats to than to try to pile them on a few key resources.
QA: One thing that's very common on small software development teams is a lack of QA. Non-devs at the top of the organization often assume developers are best suited for this, and can be relied on to test their own work. Devs also, for some reason, tend to assume the same, and often think of QA as their opponents. This leads, almost inevitably, to bugs that should have been caught being released to production. Arelith suffers from this, sometimes quite badly. There are, honestly, not very many changes, no matter the size, that seem to be released without some sometimes very significant bugs showing up. It's not uncommon for changes to be released that immediately break something directly related to what they were supposed to change.
The dev team's workload could be reduced dramatically by either bringing in a couple of resources to do QA on changes before they're released, or by the dev team as a whole testing changes, not only testing if the change does what it's supposed to, but regression testing to make sure it doesn't break something else. Once the changes are compiled into the release bundle, they should all be tested together, and regression tested again. This might be happening already, but as I said above, the prevalence of significant bugs after many releases suggests to me that it isn't.
Balance: This is the big one in relation to the most recent changes, and some of the previous ones. Despite things that have been said in the past, I won't make any assumptions about what anyone on the dev team feels about balance, but as Aodh Lazuli put it very well, balance is absolutely essential to Arelith. The entire game hinges on it. Many of the recent changes have given me the overwhelming impression that the dev team doesn't really have a thorough understanding of balance and mechanics to the point of being able to consistently release roughly balanced changes. As before, this isn't meant to be dismissive or insulting, or to bring anyone down. Understanding balance to this level isn't something necessary for development. Not knowing it doesn't make someone a worse developer, or even not a great developer. I'm sure many, maybe most, of the best NWN developers would be in the same boat.
What this does mean, though, is that the dev team needs to find a way to make up for their lack of knowledge in a subject. If I'm working on a project that requires significant knowledge in something I don't know much about, it's to everyone's advantage for me to find someone who does know. If a team I'm on has no one with this knowledge, we'll bring in people who do. A balance team that vets any and all mechanical changes is absolutely indispensable for this, in the same way QA is. They can go over mechanical changes before they're released, or ideally before they're even developed, and ensure that, at the very least, the changes aren't completely breaking, as happened with the monk update, several new spells, and (to an extent, which I'll touch on next) this most recent UMD change.
Longer development cycles: I'm not sure if this is the right way to call this, because I'm don't think Arelith even has dev cycles, in the traditional sense. What I mean, though, is that it seems to be rather common on Arelith for changes to be partially implemented. Adventure XP for writs was restricted with the assurance that new writs were coming "soon", but they never came. New spells were added with the promise that scrolls would be added later. New weapons are added but not craftable. UMD is changed without an alternative being prepared.
In some cases, there's some argument to be made (as was made for the UMD changes) that more playtesting was needed to figure out what was needed. That's probably often true, to an extent, the same way that in software development we almost always know we'll be making changes and additions once a feature is released and used for a while. However, many of the situations that needed playtesting, like the overwhelming majority of the monk changes, and the lack of disjunction, Word of Faith, etc., replacements to scrolls absolutely did not need playtesting. They were immediately and rightly called out by many players as being huge problems.
With longer development times on these, long enough to really fully develop, balance, and test, vast amounts of the anger and frustration experienced by players could have been avoided. There would still have been anger and unhappiness. That's something that's unfortunately almost entirely unavoidable here or in a professional environment. But it could have been very significant alleviated with, for example, the inclusion of 3-4 items to replace the missing core scrolls, or the addition of those scrolls to the current unrestricted list, like Restoration.
The same goes for the new writs and new spells. If the adventure XP changes were indeed made with the goal of releasing new writs shortly, the change should have been kept until the new writs were released. That would have prevented the current situation, where the new writs have never been added, but adventure XP is still restricted.
New spells not having scrolls is in some ways the most surprising one. A huge amount of work went into the new spells, and other than some balance issues, it was 90-95% done when it was released. A few more hours of work and the scrolls could have been made, added to the loot tables and vendor tables, and we would have avoided the whole issue of wizards deleveling to take the new spells entirely. People would have been elated about the new spells, rather than frustrated they couldn't get them.
Lead Developer: This one might be difficult to read, but I assure you, I don't mean anything negative by it. Irongron's role on the dev team is ostensibly Dev Lead, but from what I can see from the outside, he's much more of what we'd call a Product Manager. He sets the goals and direction for Arelith, decides what should be worked on, how things fit together, etc. He's also an Area Builder, which I won't discuss here because it isn't particularly relevant.
To reiterate what I said above, I don't mean any of this as an attack, or to diminish Irongron's work. Rather, I simply what to clarify what role he seems to fulfill on the dev team.
A Dev Lead, in the professional sense, often has little to do with the actual direction of a project. In fact, assuming there's an Architect on the project, he may even have little to do with how the project comes together (if we want to be loose with the definition, we could even call Irongron the Architect, but we won't confuse things by adding more titles). What a dev lead does is, essentially, tie the development team together on a technical level. They can help to find solutions to coding issues, connect different team members with different skills and work with them to find other solutions, etc. It's a somewhat managerial role, but it's also a highly technical one.
Irongron, to my knowledge, isn't overwhelmingly technical outside of his area building. He doesn't do scripting or coding work, doesn't do mechanical balancing, etc. There's absolutely nothing wrong with this. As I said far above, no one should wear too many hats. All it means is that, where a team like Arelith's would really do well with someone in a technical, code-level leadership role, it doesn't have one. It essentially as Irongron, as the Product Manager/Architect, working directly down with the various developers.
A more effective hierarchy might be Irongron at the top, coordinating area builders, monster builders, coders, the balance team, etc., and then a dev lead heading up the coders, scripters, etc. on a technical level. The same could easily go for other teams. The balance team would have a balance lead, the area builders would have an area lead (probably Irongron, here).
That's about all I have for now. If I upset anyone or anyone feels insulted, I'm truly sorry. I didn't intend it. I genuinely want Arelith to continue to succeed, and I hope that with a few core changes in the development structure, Arelith's development could really be taken to a new level of success and much smoother operation. If anyone feels upset, offended, or anything else, I invite you to please send me a PM and I'll be happy to talk with you and try to resolve any issues.
Thanks to everyone who stuck this out. I know it was a long read, but I hope it was at least sort of worth it. Go refill your water, and it would probably be good to look out a window for a minute or two since you've been staring at my giant wall of text for so long.
Edit:
I wanted to add one more.
Transparency: One thing I've noticed is consistently absent from updates on Arelith is really any form of transparency. Big changes are released without warning, smaller changes often have almost no documentation, future plans, even in the immediate future, are left extremely vague. While this might help prevent people from being a little angry at first, it's a bit like the scene in The Office where Michael tries to appease everyone by telling them he'll have a big surprise for them at the end of the day. When the end of the day comes, they all stand around waiting for the surprise, only for him to panic, try to come up with something, and then shut down as they all walk out in disgust.
If people can know what to expect, they can prepare. They can start to come up with ideas and plans, potential issues, potential fixes, etc., all of which can be taken into consideration for the upcoming changes. Sure, there will always be anger and frustration when things seem like they're not going well, or going against what people want, but it's much easier to handle for players than what can feel like suddenly being ambushed with potentially game-breaking changes all at once, with no idea it was even coming.
This can easily be done by more-or-less comprehensive patch notes. Release the upcoming changes to UMD, for example, a few days early and let people go through the changes and find the potential issues. This not only gives devs time to make any changes that the community comes up with, but also leaves time to detail and define some potential solutions to predicted problems in a calmer environment, rather than in the storm of bug fixes, changes, and tweaks that come after release.