[split] an essay about AC development
#1
AC does need Players. It's the goal of almost all the games, but for AC it's something more than essential. Actually it is critical, because as a Totally FREE game, the Players are the main precious assets of it. You can see many of the current developers of the game used to be a player at the first place before they take the responsible in the developing team. So I'd say, More Players means more coders, more mappers, more modders, more new players, more income and to make the story short, more Players means: the faster and better expanding for AC. Here below are some of my personal ideas about bringing AC to a better level:

- It seems that AC needs an accurate schedule with the list of all TODOs for the next release and an estimated deadline for the future release according to the resources in hands. Players also has the right to know about all the new exciting stuffs which are waiting for them in the next release and absolutely how much they have to wait for it.

- It seems that AC needs to upgrade the organizational structure in its developers' area to gain more efficiency. Having a glance at the developers' team for now, we've got such a structure:

[Image: 69858388339621961078.jpg]

Like the diagram above, AC team is already consisting of 10 persons, including 3 team leaders (2 coders and one website maintenance), 4 coders, 2 modders and 1 as the server hoster/maintenance. Analyzing this structure both as the matter of quality and quantity, will lead to the fact that, the developers team has really done a great job up to now for upgrading the game to the next level. Although there are also some weaknesses such as:

- Redundant connections between the groups
- Insufficient members in teams
- Missing teams


About the first and the second weaknesses, we're facing the the huge time gaps between each releases (about 4 years from v1.1 to v1.2?). Obviously there's some lack of members in the developers team, mainly the coders who have more than 70% of the all the time developers team members from the beginning to now. On the other hand we can see in the team, that a coder has several jobs beyond his main coding part such as project leading, hosting, maintenance, solving the problems in the forum, akimbo etc. It seems that the efficiency of the coders can be increased a lot by focusing more on their main job which is coding. To achieve that goal, it's needed to have some other members in the developer team who can take the part of the coders' other jobs. For example, today it seems that all the players believe anyone who is inside the developers team is responsible to answer all their questions of any kind about the game, but as a solution, the team can have one person only in each field of subject to reply the players and leave the rest of coders focus on their coding job. Or as another example, it's really good that the developers team inform people about what they do or what they have done, but it's not a coder's job to spend his time and energy to write all the development status information, obviously someone else in the team can take this job.
the "Modding" Team, is another area which that the matter of lack of members in it is very sensible. As a modder, there are some tasks in the game that none of the modders dare to get close to them to do it all alone, such as: upgrade the animation of the current playermodel, making new playermodels(which is very needed for the singleplayer campaign mode) and even adding the reload animation to the current weapons and etc. Actually any of those tasks are very time consuming individually. But if there would be team of modders all those very time consuming jobs can be done in short period with association.

Missing team (Testers): regardless of how much the bugs are really pain in ass for all the old players, it affects a lot the new comers who want to join the community. So that the "testing game" is really a delicate spot which seems it's really missing in the main team. Personally I have seen a lot when the developers are about to release a new version but they have almost nobody to test it, and finally they have to release the game without enough testing because of the pressure from the players.
On the other hand it seems that the process of testing should be something consistent and must be done during all the process development. Otherwise we can see developers face a bug that they have no idea where it has come from or it takes a lot of time to find the solution since the cause of the bug is mostly unknown.

Missing team (2D artists): Bringing a new looking to the game after each update for a software is one of the basic rules in every software developing. It doesn't only give a fresh looking the game but it also inspires to the players more feeling of facing a visually change in each new version. The fact is that, the user interface of the game has almost been not changed from 0.93 to v1.2. Probably the main reason is the lack of a team which is specialized in 2D art contents. It seems having a 2D team associating with the coders team, can bring a new looking to the game and also the website after ages.
Note : The main page and also the screenshots section of the website hasn't been updated visually for ages.

Missing team(sound engineers): knowing about the fact that there has been almost no upgrade to the AC sounds from v0.92 to v1.2, make it more sensible to understand how much it's needed to have a team whose job is working on upgrading the current sounds and also adding new sounds to the game.

Missing team (mappers): Mappers are defined as one of the groups in the main developers team, but the fact is that, mappers community is not even a real team and has no place in the current structure of the developers team. Actually, currently the mappers community is consisting of individual mappers outside of the developers team, who have made some maps and the developers has decided to add their maps to the game according to their unknown criteria and some polls. I believe that process of adding maps into the game is very delicate, and can be improved by adding a real team of mappers consisting of a few decent mappers who observe and judge all the new maps, set up the polls and also the mapping contest. This team can also cooperate with the modders team to decide what mapmodels are missing or mostly needed in the game.

Missing team(advertiser/sponsorship): AC is already 8 years old now. It's no more a newcomer game which is looking for absorbing the players. Actually thousands of players are the assets of AC brand which any other games dream of it. It seems that AC has already got the enough potential to earn at least its own expenses itself by a good marketing beyond the donations (i.e from the advertisement in the website and the forum). This is so important to be done because : 1. The developers has the right to concentrate on their job only, instead of being afraid all the time about the expenses of the maintenance from their own pocket and keep hoping a few donations might compensate a few of their personal money loss. 2. Furthermore even an extra money can be set to the official tournaments as a prize, to absorb more players (investment for the future) and therefor expand the future projects.
Also it seems that AC has almost no adequate activity in social networks, such as Facebook, twitter, Instagram and etc. Actually nowadays these are all the places to introduce the game to others and absorb new players to the game. Therefor reviving AC actions in social network by assigning active admins to its official pages seems to be highly needed.

----------------------------------------------------------------------

Proposal Structure: There is always a risk of inconsistency when expanding the members of a team. So that the existence of a new role in the team to manage all the members and connects them to each other is kind of essential. If we assume the whole game as a project, that new role would be called the "Project Manager".

[Image: 73101363371259051946.jpg]

Like in the diagram above, the developers are devided into 5 teams and each team is leaded by a teamleader to increase the efficiency of each team. It's each teamleaders' job to assign the tasks to its member according to the schedule and he is responsible to reply all the questions related to his field of work. In such structure, the project manager has his high effects in setting up the connections between the teams and keeps his eyes on the whole project to make sure that the tasks are done in time as it's assigned in the schedule. The whole diagram above is just a prototype proposed one according to what is mainly needed in a game like AC, and surely can be modified according to the requirements. The structure above is a simple example of showing how the efficiency can be increased in the developers' team by some little changes in the structure.

More info @ :
http://en.wikipedia.org/wiki/Video_game_development
http://en.wikipedia.org/wiki/Open_source_video_game
http://www.blitzgamesstudios.com/blitz_a...v/dev_team
http://www.digital-church.com/html/week_53.html

AC is a Family. For many of us it's not only a goddamn game, it's more being some part of our life that get all of us together from all around the world, and we all have grown up together with it. AC is an excuse to communicate, to see, to laugh and live with all the cool persons who's gotten involved in. Actually the whole Life is all a game, and for me the most amazing one is "AC" for sure.
Thanks given by:
#2
I want to see a diagram for a dev team of 4 - that's how many AC has.

Aerke is your proposed project manager. The whole team's responsibilities are somewhat organic - while they usually do what they are experienced in, sometimes they are required to do things outside their comfort zone (as a consequence we have in some cases less than good work; but that's not because there's no management). While I agree there should be someone who should lead the team. I do not agree such person should be a "project manager". You need a vision, not management.

Redundant connections are both a good thing, and not. For a small project, like AssaultCube, the bus factor is much more important than people sticking to their areas of game development. If I could have a team of 10 who could contribute to more than one area of game dev (eg. coding and design,) I would pick it any time over of a team of 10 who covered the same skill set, but only knew their own limited area of expertise. By choosing 10 people with wider skill sets, I could have them act as 10 "teams" of two people, for example.

We don't need a drone project manager, nor do we need to introduce teams. We need active people. People, who do not burn out, or get bored of working on this thing and leave things half done. Your proposed solution does not fit the problem, I'm afraid.

What we as a community should focus on, is making contributing to AssaultCube easier, instead of driving people away. What contributors should understand, however, is that they will most likely not be able to change the direction of where AssaultCube is heading.
Thanks given by:
#3
LoL strange post jajajajaja if you can tell me more, please i dont understand it too much ;)
Thanks given by:
#4
Quote:Aerke is your proposed project manager.
Quote: While I agree there should be someone who should lead the team. I do not agree such person should be a "project manager". You need a vision, not management.
A "Leader", a "Manager" or a "Director" or whatever, these are just playing with words. The fact is that we both agree on that subject that there is one person needed to lead the whole developing team.

In case I don't agree with you about that Aerke's case. There is no doubt of Aerke's coding and leading skills. But today that the lack of coders is pretty sensible in the developer team, someone else in the team with more free time might be more appropriate to take this role.

Quote:For a small project, like AssaultCube, the bus factor is much more important than people sticking to their areas of game development.
I totally agree with your wise idea about the bus factor issue. Now with the current structure of the developer's team, there is a question "what will happen to the game if a bus hits Aerk(if he leaves the developing team alone)?". Expanding the members of the developing team might be a wise solution to this issue.

Quote: We need active people. People, who do not burn out, or get bored of working on this thing and leave things half done.
True, it's always good to have active members. But maybe firstly we should find an answer to the question that why most of the active developers become inactive or leave the team after a while. Are they lazy or what? I would reply "definitely not". Since you have been contributed the game some coding, you must be familiar with the current process of the developing team, in which as a developer each member faces to lots of undone tasks and he has to handle most of them all alone and all for FREE. It is very predictable that most people decide to leave after a while and most probably everytime 80% of the works are done by two members only, who really care about the game and dedicate their life to it (and usually leave the team after they finish with the next version release because of all the pressure). On the other hand, the developers are humans like me and you and they do have lives since they do everything for FREE, then any kind of counting on small teams with fully dedicated active members, most probably will lead to a big failure, IMO.

As a solution in the proposed structure, two main goals have been followed: 1- Increasing the efficiency of each developer by focusing on his main job. 2 - Splitting each task to small packages as much as possible and assigning them to more people so it won't cause them to burn out or get bored of doing huge job after a while.

Personally I believe bringing up solutions is needed as much as criticizing. Like a Chinese proverb which says "Light on a candle, instead of blaming the darkness".
Thanks given by:
#5
Great post.
I believe that in general your idea is very good. Actually, this is a great question. Several questions need to be answered to us to know if an organization and distribution in this way would be good for the game project.
I worked often with free contributors, what I can say is that it is very difficult. The informal commitment causes complicated situations. To solve this I usually use a method called Scrum.

Thus it is possible to work with a team, delegate tasks and manage time.

I do not know if the project of the AC has enough people to take the jobs in this way...
Anyway I can see a position for me, where I can help, in your proposal structure.
Advertising is my first name. :)
Yes, lets do it together mates.

بعدأ میبینمت lol Man bayad farsi ro bishtar tamrin konam
Thanks given by:
#6
Wow, that was a ridiculous point of view.
It's a game where the devs use their free time, not EA.
Thanks given by:
#7
I agree it's overthinking a very simple process for an open source game. Basic communication skills and a mildly sense of leadership is all that's needed. Anything more than that is ridiculous.
Thanks given by:
#8
I'm not really sure about all this, but I agree that there should be a testing team consisting of people invested in the community. Devs have been complaining about a lack of testers for a while now, and having people that have signed on could help out.
Thanks given by:
#9
@1Cap Your idea about Scrum seems to me very interesting. I'm so eager to research about it more.
P.S : واقعا شگفت زده شدم. خیلی خوب فارسی حرف می زنی.

@Drual
Quote:It's a game where the devs use their free time, not EA.
That's exactly what this essay is talking about. Since the developers do everything in their free time and they are a few, it is supposed to be useful to find a way to increase the efficiency of the developers' team with the current resources in hands, IMO. Actually the whole idea came into my mind couple of months ago when you set up a Logo design competition for AC Radio. I got really surprised when I saw many people from the community participated with their works. That was the time I asked myself "when AC has these all talented 2D designers, why not use this potential into the game?". I'd let you answer that question yourself.

On the other hand, it's true that AC is a totally Free OpenSource game. But it's kind of a traditional mistaken belief if we assume that any free game must have a equal meaning to a crap amateur game. I can name lots of games outside that they are free but they are professional too and even they can easily compete with the commercial similar games. Even at 2006 when AC got born, it could easily compete with the commercial alike games, such as CS(and it was so far better than it in so many aspects, IMO). No matter of how big or small is a project; The schedule is the main essential part of all successful projects. The fact is that, AC game has been developed in 8 years and has been expanded a lot but the whole structure has been being untouched. If we see the weaknesses and still want to stick into traditions (only because we're used to work like that), personally I really doubt if any AC would be exist in the next decade.
Thanks given by:
#10
people want more dev involvement

devs want more tester involvement

people want to have a more competitive environment

new clans are shunned

i am being a huge hypocrite

i may be making a bit of sense

anyway, the point is that we need to decide if this game is alive or not; people get tired of watching their beloved game slowly wither into death
Thanks given by:
#11
I think this game still has a very constant player base which is certainly not big enough to unlock AC's full potential, but which is enough to keep it going and attract new players.

A point which comes to my mind is the excessive use of aliases by many players on pubs. New players hardly see the community ingame and if they don't bother to look for it, they wont find it. We hide. Why?

When 1.1 got released, dev's asked for test persons on #assaultcube - which is no very frequented channel nowadays. A more effective method would be necessary and the forum seems to be a quite obvious place, maybe fixed testing times? I realize that IRC is becoming more and more unpopular and I also realize that not everyone wants to install software like TS3 where many people now idle, instead of IRC, so the forum is the only place of reaching the comunity for devs to organize such events, as we all hide ingame.

While writing this post I thought: "why am I even posting it makes no difference on here anyways, thats also the same I feel about mapping" Where does this opinion come from? Do others share it? At the same time I do not feel like this game is dead, I still enjoy playing after almost 6 years now and around .45| it's also very active.

Sorry if I might have been offtopic - I pretty much only read Cemer's post but wanted to voice myself ;)
Thanks given by:
#12
(19 May 14, 10:33PM)SrPER$IAN Wrote: I totally agree with your wise idea about the bus factor issue. Now with the current structure of the developer's team, there is a question "what will happen to the game if a bus hits Aerk(if he leaves the developing team alone)?".

Absolutely nothing. He's already non-existent.



(19 May 14, 10:33PM)SrPER$IAN Wrote: True, it's always good to have active members. But maybe firstly we should find an answer to the question that why most of the active developers become inactive or leave the team after a while. Are they lazy or what? I would reply "definitely not".

I would say yes. If they weren't, things would be moving a lot faster.



(19 May 14, 10:33PM)SrPER$IAN Wrote: Since you have been contributed the game some coding, you must be familiar with the current process of the developing team, in which as a developer each member faces to lots of undone tasks and he has to handle most of them all alone and all for FREE. It is very predictable that most people decide to leave after a while and most probably everytime 80% of the works are done by two members only, who really care about the game and dedicate their life to it (and usually leave the team after they finish with the next version release because of all the pressure).

What two persons are you talking about? The only one working on the game right now is stef, literally (ok, grenadier is working on some bits of AC from time to time, but he's not a "developer"). The other two are doing maintenance work, like banning cheats.

So far, what I've seen is people going off on a tangent, rarely (properly) finishing what they've started. While, it prevents one from getting sick of working on AC, most of the work they've done was on svn trunk. You can thank them for a nice list of no servers.



(19 May 14, 10:33PM)SrPER$IAN Wrote: As a solution in the proposed structure, two main goals have been followed: 1- Increasing the efficiency of each developer by focusing on his main job.

That won't work. You'll just increase down time, people will end up waiting for each other in some cases, or at least they would, if AC had more than one active dev.



(19 May 14, 10:33PM)SrPER$IAN Wrote: 2 - Splitting each task to small packages as much as possible and assigning them to more people so it won't cause them to burn out or get bored of doing huge job after a while.

Soo, do you want N people to do one feature? Because that's how you get failure.




If you want to do something, hop over to AC's issue tracker on GitHub and see what you can do to help. Or at least log issues, that would help, too.
Thanks given by:
#13
Great post my friend. I think this whole organized system could work. There should be some kind of serious application process, open for everybody where serious people can volunteer themselves to help with one of the items you mentioned. Therefore, everybody can contribute with the improvement of the game and devs won't be so tired at the end of the day. My competences are limited so I can help testing the game, for example. In the same fashion, others can help with design, etc.

I wonder what devs think about it. We have to bring new players and also bring back old players. This is the only online game I play. I've tried many more though. However, none of them is as good as AC. I would like that people feel the same I felt when back in time pubs were so interesting to play, the process of joining a clan was an exciting experience and playing cms or even inters was a blood-rising event.
Thanks given by:
#14
(21 May 14, 08:12PM)EndGame Wrote: There should be some kind of serious application process, open for everybody where serious people can volunteer themselves to help with one of the items you mentioned. Therefore, everybody can contribute with the improvement of the game and devs won't be so tired at the end of the day. My competences are limited so I can help testing the game, for example. In the same fashion, others can help with design, etc.

This right here is great.
Thanks given by:
#15
My view is different, you described development for money, you got position, work and then paid. I would prefer more decentralized development. Custom servers run by various groups (clans) who modify and improve them. With client code it is similar, i met so many coders in this game, they will not candidate for development, they just open Visual Studio, modify something, compile it and play. You need strong forum, open minds and be able copy/paste codes. You dont get full time coder, you need to use random people coming here who has time 1 day per month in a rainy day. Just set problem and wait for a solution.
Thanks given by: