I am going to address a few places. These are advice from another amatuer game developer.
: I already have work and project experience so you can expect that I can identify what's important and how to achive this. Most of you are very young, but you have lot of will and enthiuasam and that is what is great! First of all, look at this steps:
: 1. Story and Background?
: Let's start with a Sci-Fi FPS game; Lots of banging, explosions, enemies, different weapons and like... ok, but that's not all. We need to have strong story, belivable, because that is what makes player to go further, all other is just details which makes game more enjoyable. I'm not a story teller, I hope that someone can contribute here, because when we agree about this we can see, or "materilize" in our mind what is really that what we want to accomplish. This is also important because team have to be accomplished of people which love the same or similiar things, in that way they can more contribute to project, opposing to end up in some conflict and confusing situation which is not rare, belive it to me.
Well actually its been my experience that what one visualizes in the mind is rarely what one ends up achieving. In the beginning however it extrememly hard to even get to 10% of what you visualize. Also its hardly true that a believable story is what one plays. Now if you see Quake and its kind(story is believable ?), not really. Actually if I look from the end user point of view they just want to have fun and fun to many means being able to do things which they won't be able to do in real life. If you look at games like super mario, zelda, serious sam etc, weren't what you call stories that would happen in real life, in other words they weren't sane but they had some light sense of humor and overall they all were fun to play. Also one should try to stay away from games which literally make you puke(some games even advice not to play if you get dizzy playing it and kind), this eventually reduces your audience. The bottom line the audience wants some kind of excitement, so give it to them.
: 2. Technology
: PC Windows platform, I think that everybody here agrees with this; this is time of 3D cards, so creating some sprite-2D game is really out of time; we dont have money to license some commercial 3D engine, what means that we have to create our own (that means, belive me, lots of work and pain); however, we can choose between OpenGl and DirectX 3D, because that APIs support most of the cards on the market today; both APIs have con's and pro's for using them but if it's up to me I would rather use DX (this is only my prefered platform, I cant say that's ultimetly the best). We can even implement both API's in one engine but that things makes more complex...
You might want to see this
According to me that linux is probably is gaining some insight into a 3d applications. Also 2d games don't sell is probably a misconception. 2d games even today are welcomed by game players. Those who play the games rarely care whether the game is 2d or games like "claw" etc would never exist. Also as you are working don't you think its a bad idea to send them on an extremely difficult road without even knowing the basic art of game programming. Learn 2d first then jump into 3d, it will be a much more fruitful experience. There is more joy in finishing something small rather than trying something too ambitious which may be out of your reach.
: Modeling and texture creation
: Modeling should be done in some 3DS file compatible 3D editor, whats yours opinion? Is there any shareware or freeware editor? How about Lightwave and Maya? I used 3DS because i had mesh exporter, with which I could import that mesh as object (.X file) into my scene, but this exporters exists and for other editors.
As most of these guys are young and new, chances of having 3ds max is low, I suggest you try out freeware stuff like blender or anima8or. Blender is pretty good but I am not sure if its still available for download.
: Texture creation could be done in PhotoShop or some other 2D tool, shareware or freeware, any suggestions? All textures will be from 256 to True colors.
Again as I pointed out its hard to have all the costly softwares. Gimp would serve as good replacement. By no way is it as good as photoshop, however it definitely will serve the purpose for newbies. Also I suggest you use the png image file format.
: How about music and sounds? Tools? Output can be a wave, or some crunched data (like mp3), and it is not really a problem how to programmaticly output that data ina application, but how about creation?
You might want to look into ecasound. It may not be as good as the commercial sound programs, it definitely does have quite a good load of features. Check the following site :-
: 5. Comittment
: Because this is not commercial product(or is it?), it could be better that this is open source project, what's your's opinion? That way if someone leaves, some one can continue his work.
As all of you are learning I suggest you put it under the GPL. A lot of advantages of this - someone might actually rip your code apart(programmers love doing this :) j/k *wink*) and give you some useful pointers. Also if some experienced programmers look at your code they might catch bugs you might not even be aware of.
: I would like to hear your suggestions.
: Good source of information for game developers is www.gamasutra.com, check their 'features' section which consists of great aricles and developers project experiences.
Check out www.gamedev.net, they are the best resource for beginners, while gamasutra promptly points out that its not for amatuer game developers.