Huge game projects

. Ships that fly at any speed from 0 to 180,000 times the speed of light;
. All objects exert gravitational pull;
. The hit power of particle weapons decreases geometricaly with distance;
. The stellar sectors can be generated randomly, and the number of stars and planets is determined according to a bell curve dsitribution (the center of the galaxy is more populated than the edges of the spirals, the galaxy is NOT spherical);
. Six-degrees-of-freedom, quaternion-based rotation system.
. Six multiplayer scenarios for up to 8 simultaneous players, with motion prediction system;
. In-game chat (public and team);
. Teletransport of troops, ordnance, cargo, and fuel;
. Fierce A.I. that dog-fights like a Top Gun and uses real-world engagement tactics;
. Sleek interface for the cockpit instruments;
. Homing torpedoes;
. Escape pods;
. Variable radar signature based on how much energy is diverted to weapons, sensors, shields, and engines.
. Frame-rate independant collision detection system;
. It is playable...

::taking notes:: Start small, recreate classics with twists, consider the content and coding load before shooting the moon with your foot. Or was that shoot your foot with the moon...

Anyway, why not take an impressive idea, pare it down into seperate workable modules like weapons and maps and characters, use these modules to create something smaller than your original impressive idea as a morale booster/working example, then redouble your efforts on the original (but now changed becuase you've had experience and wrote content) impressive idea?

(everyone got that?)

It only took 72hrs, counting sleep, food, finals, and Diablo 2, to code together a simple weapon editor that has text file I/O. It's taking a little longer to reverse-engineer a base item class (and item editor) using the weapon class and an in-progress armor class.

Breaking projects down can help -- even the absurdly huge ones. "Code reusability" should be more than a buzzword, and IS more than a buzzword when you use the same header in three different projects. Aren't templates fun?

Here's how I envision a "good" newbie's way of thinking (not just for game design, but for anything): Keep your goals high, your expectations low, and your plans slightly above your expectations.

A good art form from which to make a metaphor of this is music because it is one in which it is very easy to see what you can and cannot do. Just because a beginning musician cannot play what a professional musician can does not mean his dreams should be abandoned (keep your goals high). However, the only way to learn is to take his limits (keep your expectations low) and push beyond them (keep your plans slightly above your expectations) every time he begins to learn some new music.

Mind you, most programmers are pushing their limits almost every single time they make something new due to the fact that there is so much information to know, so, in this case, the main focus of a newbie designer should be not to push limits, but to stay within them.

Programming is very much like building with Lego.
You cannot build something that you don't have the parts for.

When designing a game (or any programming project), design it knowing what skills you have available to you (whether it's your own on a solo project, or your team on a large project), preferably deciding upon resources (engine, artwork etc) you already have specifications for.

This isn't to say that you shouldn't be learning and expanding your capabilities during the project, but anything you don't start the project with is going to take a lot more time and introduce a lot more risk to the project.

Thus, a newbie programmer/designer, should design a game that uses the skills and code they have, complete it and learn how finishing a game works. You can then try for a more advanced project where you expand your skill set a little.

You'll also have to admit when a project is out of reach. By the time a solo game programmer can complete a Deus Ex scale project on his own (as an actual project, rather than just a mod or conversion), we'll have moved onto holodecks.

This may have already been said but to me it seems like some of the over-enthusiastic posters ready to make the next big thing need to go through the experience of trying to make their dream come true to realise that it's not going to happen.

When I was trying to write games in various BASICs on the Amiga I used to want to write games like the ones I was playing in the arcades. It took me a lot of failed attempts to realise that I was aiming too high. I feel like I may never have learned the lesson properly without the trying, I can imagine not wanting to listen to people trying to tell me I couldn't do it.

Quote: Here's how I envision a "good" newbie's way of thinking (not just for game design, but for anything): Keep your goals high, your expectations low, and your plans slightly above your expectations.

I'm a newbie to programming. I want to be that "CEO of the greatest game company." But after all the programming I learned, I discoved that creating that blockbuster-hit game would be harder then I believed. And as I learned more about progamming and game design, the more I thought the way geezusfreeek thinks of a "good" newbie. And from experience, that's what I believe is right even now. For newbies, there's nothing more satisfying then getting the computer to display text, show a graphic, make a sound when you commanded it to. But the fact is, something complex as a game takes patience and must be learned. Rome wasn't built in a day, neither will your first dream game. I think we all went into programming thinking we'll make the greatest game ever, as long as your interest was in gaming. For some of us, that's a reality, but for others it's still a dream and it shouldn't die. I go into my computer science class hoping I'll learn as much as I can so that I will one day be able to create my dream games that I have been designing for a while without code.

So for my fellow newbies, please, believe in yourself, don't let your dreams die, learn everything you can about game design/programming, make many attempts at many kinds of program, and have patience with what you learn, it will indeed payoff when it's all over. Look at all the game companies sprouting up. Look at those games you have on your computer or in your game console. They went through what we are going through.

And thanks a lot to all you that have spoke on this topic in the forum. It has given me some inspiration and hope. Now I definitely know where to start. You need a good foundation before you can build anything on top of that. Hopefully we'll see me having my big game company... just not anytime soon.