I get a lot of e-mails asking for advice for getting started in the business of writing and selling software. (And also e-mails saying how much my games inspired people when they were 13, and how they then grew up and started their own software companies. Thanks for reminding me how very, very old I am.) At this point, I think I am too fossilized in my ways to give much meaningful advice. I mean, when I started, you went to the mall to buy shareware demos on floppy disks, for God's sake!
But I do know a lot of things that are valuable, and some of them aren't instantly obvious. Over the next few posts, I'd like to summarize a few of them. A lot of this advice is helpful to anyone trying to start their own business, software or otherwise. Though my focus will be, of course, on software. Especially games.
1. You Need a Good Idea
So you want to sell something. Well, I want you to imagine something first. Think about your wallet, and the money in it. Think about the times when you pull out that wallet and actually hand over your credit card or cash for something. I'm willing to bet it's for something you really need or really want. You don't just do it for anything. You like your money, and you want to keep it. Unless you're rich, you are probably at least a little careful about the money you spend.
Well, when you're running your business, your job is to pry the credit card out of peoples' wallets. Again and again. Systems like Microsoft Points make the process a bit more abstract, making it a little easier to get people to buy your stuff, but, in the end, you have to convince people to give you money. And people like their money.
This means (and yes, I know this seems obvious but it's amazing how often people forget it) that whatever you are selling has to be pretty darn special. It has to be a good idea, well executed, and not competing against a ton of free competitors. And let me tell you something. That's a hard thing to come up with these days.
Have an idea for a tower defense game? Well, is it better than the (free) Desktop Tower Defense? Really? I bet it isn't. Want to sell a shooter on XBox Indie Games? Well, is it better than (free) Aegis Wing or ($1) I MAED A GAM3 W1TH Z0MB1ES 1N IT!!!1? If not, you have a real problem, and you haven't even written a line of code.
How do I make a living doing what I do? I write huge, involved RPGs with funky enemies and intricate storylines. Is it a huge amount of finicky and irritating work to make games like that? Yes. Am I ever tempted to write less involved casual-type puzzle games? Hell yes. But I make something that is relatively rare and you can't easily obtain on Kongregate for free. Thus, not only are people interested in my work, but I can charge a good price for it. Selling something scarce has its points.
Look real hard at your idea. Hunt the web and figure out how cheap the games you'll be competing with are. When you are sure you want to write a game (or graphics editor or genealogy program or random number generator or whatever) that can get people to hand out their credit card numbers, only then may you proceed.
2. Professional Work Requires Professional Tools
Another question I get asked from time to time is, "How can I find a free program to do [make art/write programs/whatever]." And my answer is always, "You DON'T!"
I know. You don't have much money. You can't afford Photoshop or whatever. But starting a business isn't free, and you need the best tools for the job.
If you are doing image editing, you need Photoshop. It's the standard format. There are plenty of resources for it. It is made to do what you need and do it well. Some people will recommend using GIMP, the free software alternative. But every time I try it, it's so horrible that my skin starts peeling off in sheets. Somehow, you need to acquire the real deal.
(Bonus ProTip: When naming your product, don't give it a name like GIMP. Excel is a excellent name for a spreadsheet program. PervTech and SodomPro are not as good.)
Similarly, if you are writing programs for Windows, you want to get some form of Visual Studio. Microsoft makes the operating system. They want you to use Visual Studio. Don't fight them. Using an off-brand alternative might work, but it will cost you time, and time is your most limited resource. Happily, if you want to write Mac software, the best development environment, XCode, costs zero dollars.
These programs are expensive, which hurts. There are ways to shave off the cost. You can get an older version on eBay, or luck into one on craigslist or somewhere used software is sold. If you're a student, you can get established with a much cheaper student version. (Of course, as long as you can get your hands on a recent report card, you can buy an educational version whether you're a student or not, but this is ethically dicey and not to be recommended. Eventually, you want to own your tools for reals.)
There are places where you can cut corners. This is not one of them. Your job is hard enough. Get the best possible resources to help you do it.
3. Take Care Of Yourself.
This is something to which not enough attention is paid.
At PAX two years ago, I attended a panel on running a small Indie game company. A lot of unhelpful advice was given, but I think the part that irritated me the most though was when everyone bragged about how few hours of sleep they got establishing their business, and how this should be considered the norm.
Let me say something here, and I don't want to put too fine a point on it.
You need sleep to live.
When you are working on your project, using your spare hours, scraping up every scrap of time to try to put everything together and get it out the door, you must take care of yourself. Doing otherwise is bad for your work. Program for an hour when you're half-awake, and I guarantee you'll make a mistake which will cost you two hours of debugging. This is what the cool kids call a false economy.
You should force yourself to get an acceptable amount of sleep. And it doesn't stop there. You'll be ingesting tons of caffeine. That's a standard thing. But maybe try to occasionally eat food with nutrients. You'll think better. Also, as soon as you can, invest in a chair with proper back support. Sure, you're young and you don't have an old, hurting back. But how do you think young backs turn into old backs?
I know. I sound like your mother. But writing a profitable product is difficult enough without compounding all your problems by being all HARDCORE. All laws of physics and biology still apply.
There. That was a start, and I hope it's helpful. I'll have more soon.
Edit: About using professional tools, I should point out that the important thing here is quality, not cost. For example, Microsoft's XNA game system is not an expensive thing, but it's a professional quality tool (for certain sorts of games). The important thing is to find the tool that will enable you to best use your time, because time is the most valuable commodity.