So, i guess im finally ready to try and form a small group of game devs... Im wondering if that actually works? I was thinking in something like Rev-Share... Though i do wonder if i should concentrate to find ppl from my city/State ..

That's not a question we can answer. Every team is different, different people react differently to situations, I could not say if it could work because my response would have no factual evidence supporting it. The only way to find out is to do it.

I've been apart of a few projects but I quickly always lose interest because of a few reasons:

1. I get lazy sometimes and don't want to work that day, and then I stop working on the project altogether. I did this to some people on this forum and I feel bad about it... but I don't want to force myself to work and produce bad code.

2. Lack of a leader. When a program lacks a leader, you quickly lose interest because most of the time people just screw around and nothing ever gets done.

3. No good problem distribution. A lot of projects I've worked on are very open ended, it seems the team leader just lets you do whatever and doesn't expect you to turn in your work on time. I hate this. I want to know exactly when I need to complete my contribution by so I have a reason to work hard.

Honestly, I don't want to tell you it isn't worth it, but it really isn't unless you get people involved that are serious and actually want to work. Too many people want to join group projects to enjoy the success of the finished product, but don't actually contribute. There are few people out there who are actually truly passionate about programming, and will work to the end. If you find those people, then definitely go for it. But don't pick random people up of the street and ask them if they want to help on a project. You need to find people that come to you. Advertise your project, ask for help and let the people who really want to help contact you. If they contact you, and you think they seriously want to help, then by all means go ahead. But, I just want to warn you that most of the time that doesn't happen!

So yeah, I guess that's my view on group projects. It all changes if you have money involved though, people will work for money (obviously). So if you actually have a good idea, round up some money via a kickstarter or the such and ask for volunteers and tell them they will get payed when the project is completed. Sure, there will still be some "moochers", but there might be more "serious" coders who will actually do good.

So, we inexperienced programmers need to learn how to lead a team? Precisely, how to engage in a team of programmers and provide a set of reasonable goals so that each team member knows what to do, when to finish, and where to go to?

While I think an internet team is *possible* I think the problem is there are a lot of wannabes who are after the fame and glory of trying to become "The next big indie dev" but either lack the dedication, skill or both.

Now, of course you can weed those people out, but honestly for every programmer, artist, musician (or any other talent needed for the project) who can pull off what you need done with a reasonable amount of marketable talent there will be 10,000 others who simple claim they can and make all kinds of promises, but just can't output. Who is who? How do you know who's "got it" and who doesn't?

When it comes to serious game development (or any major project for that matter) you will always find the wannabes, they're people who want to do as little work as possible but retain the fame and glory. They join teams for that very purpose, and almost always end up fired. Problem is the pain in the ass it is to go through all the wannabes to find the actual skilled talent is usually so much trouble and so time consuming you might as well learn the required talent yourself(selves).

You also have the problem opiop mentioned, even if you find *all* the required talent, some may either not be hard working enough or simply just lose interest. Thus, I think to really make an internet based team work, you have to already have an established network of highly skilled people or have cash to outsource anything you can't do.

I do believe it CAN be done though, I just feel it requires a close network of known talent, just recruiting random people off placing like java-gaming will probably not work out.

Rev-share is almost as good as outsourcing though, the problem is if your money-driven team members start to think your project won't sell well they will jump ship in a heartbeat. At least with outsourcing they don't even care about your game, they're just giving you the product you paid for.

So, we inexperienced programmers need to learn how to lead a team? Precisely, how to engage in a team of programmers and provide a set of reasonable goals so that each team member knows what to do, when to finish, and where to go to?

It's either that or find someone who can be the project coordinator so that you can delegate that to them. But even in that case you'll need some leadership skills, because you'll need to lead the project coordinator. If you don't give them a clear vision, they can't lead other people towards it.

Quote

How do we learn this?

Read about effective leadership. You don't have to do an MBA, but you need some understanding of the psychology of leadership and following; and you need to be able to think about which leadership styles will work in your context.

Then find someone who's good at it and willing to mentor and ask to work on their team for a while. Watch how they do it; ask questions about why they do something a certain way; and make sure you pull your weight as a team member.

I can deliberate on this a little bit because I actually started a small development team from the ground up, all open source. The team I have has been working on a game project that I can't really share here because it has moved from Java to JavaScript. We have been at it for at least five years and it is completely nonprofit. Let me be the first to warn you, starting a development team just because everyone knows how to program is a very small part of running a development team.

I have skills in art, music, programming, and customer service. Running the open source project took all of those skills and more. Here is the skills that kept me running this long...

Be well rounded...

Research everything you can about the game you are making, and the process it takes to make it. Being well educated about a wide range of topics will allow you to solve issues early. Knowing mistakes previous people made will help you plan against them. There is never too much knowledge you can gain to prepare yourself for this undertaking.

Be prepared to work...

Hard work is the only way good programs get completed. If you or your team members do not work, then the project will always be at a standstill and never get done. Perseverance is always the key to success. As long as you keep working, it'll motivate everyone else to keep working too. Don't give up on your projects, and they will eventually get done over time.

Be clear in your goals...

This is by far the hardest part because it actually requires you to have good well rounded knowledge of your limits. If you haven't made a game yourself, I can guarantee this is where 99% of teams fail to deliver. Having a plan and very clear goals of what needs to be done is exceedingly important for a project. It is also important that you take time to make sure the people understand what you want correctly. Having a clear design document does wonders for keeping a group task oriented.

Communicate

This doesn't just include setting up a chat service. It also includes finding time to have meetings and opening yourself up to answer any questions. Knowing your team members strengths and weaknesses is all so important for keeping them interested in your project. Try to give them things that they are passionate about, but try to steer away from things that they have no idea how to do unless you are willing to do just as much work as they are to figure it out.

There is more, but...

I am tired of writing huge walls :-P. Building any project is a team experience with people. When you deal with people, you open yourself up to people problems and people issues. Always be mindful of why people are working for a project, and make sure to hold a high level of respect for their work. Remember, leading is not for everyone... It'll test every skill you've learned and you still won't get the results.

I actually have a computer science background, so I can only imagine how hard it'll be for someone who doesn't. For all those not scared away by this message, then good luck leading. Research, persevere, and succeed. :-)

1. Already have close, trusted friends who have the skill level and dedication to pull this off.2. If 1. fails, cry alone.

I know it sounds harsh, but thats really how it is most of the time. You *can* get a dev team going, but it'll be a crapshoot trying to get decent programmers/artists. Truth be told, the "good" ones who don't know you personally, will probably rather work on their own projects than give some random stranger their time. The bad ones will be all over your project because they want "2 b part of a kool dev team and bcom rich!!".

For example, I have nothing against you *at all*, but I wouldn't join your team. Not because I don't like you, not because I think you suck, but simply because I don't know you all that well (as of writing this). I simply can't trust my talents to a stranger when I could be working on my own stuff, without restrictions.

I know, it sounds really harsh, but that's the sad reality of it. You either pay for their talents, or become really good friends with people before even putting forward the idea else it's nothing but a crapshoot just hoping you get random people who are good.

Well, I've known Chaz for 28 years, so we go back a long way And our minion Alli I've known for 7 years, but Alli and I see each other every weekend for pen-and-paper RPG gaming. This sort of thing helps!

What you need is people who are willing to participate and contribute on their own, without too much management or even control.

... and that under such freedom do not create utter chaos and conflict with each other's efforts.

So basically you need to create that magical moment where you put people together that actually work well as a team You did that huh? You lucky SOB!

I tried to do some things with classmates and good friends way back when. It was the least productive period of my life. I like teams of two-three people the most to be honest; even smaller projects are big enough to divide among such small groups without people being overly dependent on each other.

I would personally suggest you be apart of a team a few times before looking to start one of your own. This not only gives you insight on what is good management and what isn't, but also opens potential pathways to you if you should ever decide to venture off and start something.

I've been part of a few (attempted) projects, and honestly, online community projects are really horrible.

Even small well defined projects are likely to fail. Medium and large projects are silly to even attempt.

Let's say you're the project initiator. You end up doing at least 60% of all the work anyways, but have to spend 2x more time doing those 60% than if you would have done it alone, because trying to coordinate a team requires a lot of work and effort. Instead of being able to design things on your own, you have to discuss with others, explain, and after a lot of effort they lose interest in the project anyways. Time wasted.

If online community projects succeed, it's because of one or two extraordinary individuals willing to strive to finish it. Finding a like minded team partner is like a lottery you rarely win in. Most team members drop out fast and stop contributing very early. Also, finding a good team partner is unlikely, because all the good devs out there know well enough to stay away from these kind of projects. You end up with medicocrate people, unless they're hired for money.

If you really really want to attempt it (may the force be with you) then you have to keep things in mind:- Be very strict regarding time put into the project, at what times people work and how many hours.- Communicate and talk using Skype or something like that, even while working. Working together at the same time and being able to discuss at any time helps make the project more real. Having to write everything in email is horrendous and puts too much distance between you and your team partner(s)!!- Get rid of members that don't do anything. Better to be alone than being a horse dragging a carriage of free riders.- Define the project VERY VERY VERY WELL. What your goals are, what are the requirements, features etc. Plan things, split things up, know what you're doing, don't just go on a joy ride with no destination in mind. You end up in a ditch killing all the passengers.

I do have one bit of sage advice which I've come to learn the hard way over about the last 10 years, which is, if you're going to manage, manage. If you're going to code, code. Do not attempt to do both.

Let's say you're the project initiator. You end up doing at least 60% of all the work anyways, but have to spend 2x more time doing those 60% than if you would have done it alone, because trying to coordinate a team requires a lot of work and effort. Instead of being able to design things on your own, you have to discuss with others, explain, and after a lot of effort they lose interest in the project anyways. Time wasted.

This is my experience too. But working together with one or two persons can work.

java-gaming.org is not responsible for the content posted by its members, including references to external websites,
and other references that may or may not have a relation with our primarily
gaming and game production oriented community.
inquiries and complaints can be sent via email to the info‑account of the
company managing the website of java‑gaming.org