Well, a whole lot of people have replied to this email already, and I will try to address most points in just one email. Apologies for not answering previously, but I have been on vacation with my wife for the last five days or so, and haven't had a chance to check my email during that time.

In response to Hogne's original email, people have written lots of 'goals' they would like to see accomplished. While there's nothing wrong with this, I think it's something of a red herring to list goals. That's not the problem here: anyone can list of a heap of things that would be nice for the project to have. The problem isn't *what* to develop, but *how* to do it. What structure should the project take? Who makes the important decisions about where things are going?

Since the release of 1.0 (and before that), I have had both little time and little motivation to work on Wesnoth. I have taken somewhat of a 'leadership' role in a few areas, but not nearly as much as is necessary to keep the still-growing project humming along nicely, and I certainly haven't written any code for it for a long time.

Unfortunately I haven't done a very good job of grooming a 'successor' as lead developer, and although we have many developers who are competent in their area, as far as I can see there isn't really anyone who can take over my role in the project.

If I was the only developer -- or if other developers felt as I do -- I would say that I would probably wind up the project. The original goals of the project have been met and exceeded, and we have produced a quality, stable, fun game. There is nothing to be ashamed of, and no sense of failure in winding up the project now.

However, I think there are many people who want the project to continue. People who still want to contribute their enthusiasm, energy, and talent to improving it further and further. So, the project should continue, but how? What kind of structure would work?

I want to try to transition the project to depend on me less and less. I might contribute more in the future, but I might not. I don't know, but I want the project to continue either way -- as long as there are people who want to contribute.

Firstly, the project will absolutely still be based heavily on the KISS principle. Development has been hard enough in the past when the project was small, without throwing away the KISS principle now the project is large.

We will also continue to use evolutionary development heavily. We will not re-write large portions of code. Rather, we will add a small amount at a time. Add one small feature at a time.

We will continue to constantly refactor the codebase as we develop to keep things working nicely, and to keep the code at an acceptable standard. We will not embark on a massive rewrite of large portions of code under the guise of 'improving code quality'.

We will stick to the same basic game rules. We might add (or better, remove!) an ability or two that are in the style of Wesnoth, but we will not add big gameplay changes that totally change the face of the game.

Now that I've finished preaching against common fallacies that I think I've spouted against for the last two years, I will get on to the important part of suggesting the new project structure. :)

Over the course of the project, I've attempted to install people who are 'in charge' of different areas of the project. I've tried to put someone over art, someone over translations, and so forth. I think we need to extend this structure further, to take less burden off the project lead. I think more responsibility needs to be delegated, and people in various areas need to 'step up' more and take more responsibility and exercise more authority in their areas.

I think every area needs to have someone firmly over it who can make decisions. I think the person over an area needs to be relatively technical (enough to use SVN), and importantly, needs to want to be in charge of managing the area. This person is not necessarily the best person in the area. A very talented artist, for instance, might not necessarily be head over art, since they might only want to draw art, and not have the annoyance of having to arbitrate disputes over whose art gets in the game. Of course, the head of art might consult the opinion of the talented artist on important issues.

These 'domain leaders' must also feel comfortable in sub-delegating responsibility where necessary. The lead over art might delegate someone to be in charge of trying to collate animations, for instance. Or they might simply want to appoint a 'second in command' for when they are busy.

We also need a process for 'domain leaders' to be able to be removed and replaced if they become inactive. Preferably they would simply say they don't have enough time/motivation to be a domain leader anymore, and they would try to appoint a successor.

An absolute requirement for being a domain leader is that they must be willing to be active both on this mailing list and on the #wesnoth-dev IRC channel. Preferably they would leave their computer idling on #wesnoth-dev and would read the backlog at least once a day, and ensure they contact anyone who wants to discuss something about their area.

Importantly, we also need a domain leader who leads coding. Someone other than me. This person would probably be the most important domain leader of all, since they would have to co-ordinate across domains. They would have to discuss with the artists what support is needed for a certain new animation, and with translators what support is needed to properly support translations, and so forth.

Finally, I would like to have a 'second in command' below me who can confidently settle most disputes, and who can bring important and difficult issues to me. This person would also take full leadership of the project when I'm not available. This person needs not be a coder -- and in fact perhaps shouldn't be. They would work at a 'higher level' than the head coder, interested in project direction rather than how to implement a specific feature.

Rather than leave things so very hypothetical, I would like to name some candidates for various positions:

- isaac should be 'second in command'. He has worked on the project for a long time now, and has a very balanced opinion on most things. Jetryl could also do this, though he doesn't seem to be available on IRC nearly as much as isaac, which is a problem. Ivanovic is also a possibility. - Darth Fool could possibly be 'lead coder'. Ayin and Yogi would be the other main contenders, but Ayin doesn't seem to have enough time, and Yogi hasn't been with the project very long. - Jetryl would continue to head the art department, and would give stylistic approval of most new 'game world concepts'. - Other positions would remain in place, as long as the people in the various positions can commit to the increased level of responsibility they have.

The main alternative to this I can see is to have a 'Wesnoth Council' which consists of a small number of developers who vote on issues, and perhaps has a rotating presidency. I would only use such a structure as a last resort though.

So, what do people think? Is this workable? Any other ideas?

David

Hogne Håskjold wrote:

Hi all

Been thinking a bit about this lately. Since Dave "retired" I have gotten the feeling that Wesnoth development lacks direction. Everyone (including myself) seems to be wrapped up with doing their own thing without much overall planning/discussion/vision.

If we are to be able to release a new stable version some time in the future I think we need to decide where we are heading, what are the overall goals.

Are KISS still the mantra? or do we want to add more complicated features. What will this do to game stability/code complexity... Do we need more rigorous methods or are commit and break ok..

Many are also looking into some major rewrites of part of the code, this will need to be planned quite well imo, or it might turn into a mess.

Personally I have the following goals:
- Keep improving the gfx while retaining Wesnoths excellent gameplay
- Work on GUI suggestions, since I feel the GUI has the potential to be vastly better than it is now
- General polish. I want Wesnoth to look professional

I would like to hear what other peoples goals are.




Reply via email to