What are some of the biggest - and better yet: insidious and unexpected - mistakes that indie game developers make? Especially when making the transition from hobbyist to full-time indie?
One of the major pitfalls is focusing too much on developing the framework / tools / engine, and too little about making the actual game.
You risk to get all entangled up into that and lose focus. Never forget you are first and foremost making a game not making a middle-ware component.
i.e. You should not start by coding the math library but instead by figuring out how to make the game entertaining.
Biggest indie mistakes:
- Choose a too big project.
- Have a too small team. (Lone wolf can work, but adds unneeded problems.)
- Don't set a fixed target date. (Yes, set the release date before starting and stick to it!)
- Keep it secret. (Get it out there, nobody will steal your idea. Ideas are 1%, execution is 99%.)
- Ignore the community. (Get some early alpha testers. Get early versions out to the review sites. They want your previews and will help you!)
- Ignore copyright. (It's not OK to steal code, graphics, sounds, etc...)
- Expect too much money. (Make your first title a gift. Expect nothing in return.)
Two things... The first one being the most critical
Don't Ignore Marketing
You're indie. Nobody knows you. You absolutely need to get yourself out and start building your brand as early as you possibly can. You can't expect to have the next big hit so you need to start dipping your toes into the water early. Marketing is hard. Building a brand can be a full-time position. Spend an hour or two everyday talking to your community or other people to help them discover you.
Nothing sucks worse than spending a year making something and you don't meet a fraction of your expectations or even reach anything close to your potential.
Don't Sacrifice Quality
Don't fall into the trap of thinking that just because you're independent that you can't produce something of extremely good quality. Yes, it will take you more time to develop than someone with a powerhouse of developers, but you're just going to have to be more creative. If you don't like your artistic style, fix it. If your procedural algorithm routine sucks, fix it.
Take note of the reply above about not spending too much time on a framework / tools/ engine.
Then remove the word 'tools' from it!
While it may be easy to spend way too much time on a well-engineered engine or over-ambitious tech-for-techs-sake, you really don't want to underestimate the importance of decent tools.
They don't have to be high-tech or optimized - but they need to be stable and very usable. Especially if you're making a game that needs a decent amount of content, or where level design is key.
And especially if you're working on a team of more than one. If your level-building tool sucks, even the best artists/designers out there will struggle to build good levels.
Never steal code from another indie developer.
Sure, it applies to non-indie developers as well, but the indie development community is already a very collaborative and sharing environment for a creative individual. It's easier to ask nicely, and more often than not, folks will be quite happy to tell you how it's done. You might even find a teammate in the process.
Even if you're using code that other developers have made available on their websites, be sure to credit them, and send them an email to let them know you appreciate the resource.
Most important thing you can do if you're going from hobbyist to full-time indie: have a business plan. Seriously. What are your revenue streams? Do you have any right now, and if so, realistically how long will they be viable? What's your burn rate, and what are your cash reserves? In other words, how long can you be in development before you have to ship something to pay the bills... and how much do you have to make when that happens? Realistically, how long will it take you to develop your first game, and does that fit within your parameters? If you know these answers, and you're honest about it, then "do I go full-time or not?" should be a no-brainer decision.
Do Build Your Community, Don't Be a Jerk
Indie games, being small, have small but often fanatically loyal fan bases. No matter how your fans act, there's value in catering to your hardcore community and keeping them happy. Keep a dev blog and twitter account, personally visit the forums and respond to issues. The community loves a developer who gives them personal attention. Sometimes keeping a public list of bugs to fix or features to develop can be good too. ToadyOne (Dwarf Fortress) and Notch (Minecraft) both do this to some degree and the community really loves knowing when they can expect X feature or bug fix.
As an Indie, your community is your boss and you should keep them informed and invested in your project as such.
On a similar note, though, don't be a jerk, don't bad mouth other game devs. That's just unprofessional, and it makes you look petty. Sometimes big game developers talk too much and the gaming press usually annihilates them if the fans don't do it first. As an indie, you want friends, lots of them. You want other indie devs to go "Wow, that guy is a class act, I want to work with him, maybe do a bundle release of our games so we'll both sell more."
EDIT: Caveat, Hardcore
I forgot to mention one little clarification on "no matter how your fans act." Obviously you don't want to be a jerk, but you don't want your fans to be a jerk by proxy for you either. This is a serious problem in the fighting game scene, where the fans of some games are seen as so generally unpleasant that those games are banned just so their fans won't show up at tournaments. See also: No Mutants Allowed and Fallout.
If your game can sustain itself on a hardcore group, that's fine. But if you want broad appeal, take care not to encourage a community of elitism that scares away newbies. One big appeal of games like Minecraft or Dwarf Fortress is that both have active community wikis and forums that make the game more inviting to new players.
Finish stuff. Even if you end up hating the thing, finish what you intended to. Nothing is ever going to be perfect so be realistic and take incremental steps in your game career.
To know that you've finished something is positive feedback for yourself, so you won't end with self-nagging thoughts about never finishing anything.
There's a lot of work in actually finishing the programming of a game, much of which isn't as exciting as the initial work on a game.
By finishing something, you increase your portfolio and you end up with valuable lessons learned along the way.
There were lots of people about when I did games (back in the 80's) that never finished anything - most of the time this happened when the least exciting bits of the game needed doing - at which point they moved onto a new idea. Essentially, they were just demo writers instead of game producers (not that there's anything wrong with that, just sayin').
Do what you know best
Don't make a strategy game if you have been into action games all your life. Pick a genre you know well and stick to it.
Follow your instinct
There are too many different opinions and good advices out there. You will be ripped in parts if follow every complain you will encounter by feedback. That does not mean feedback is worthless. Write everything down and sort it by importance (e.g. occurance in your feedback stream). Then go through it and fix real issues. Forget the rest.
Don't get browbeaten
Every day brings a new load of game releases. Some of them are similar to your project and just look so good that you can't compete. Should you give up? NO! Brainstorm and make a list of uncommon USPs (unique selling points - features other titles don't have) and add some of them to your game. Differentiation will save your game from drowning in obscurity.
There have been some great answers, specifically: concentrate on making a fun game instead of working forever on your own developer tools (like an engine) and focusing on marketing.
However in regards to, "when making the transition from hobbyist to full-time indie?", here's what I think is the biggest mistake:
-- Do not go fulltime indie unless you have enough money to keep you afloat for years. --
You should hope for the best (selling tons of games) and prepare for the worst (losing money every single month for a long time). You don't need the additional stress of not knowing if you'll be able to afford rent when trying to make it on your own. Just find the money somehow; be responsible with your dreams.
Don't forget where you came from: from doing things yourself and keeping it simple. Don't try to imitate the broken "AAA" model of being the idea guy and hire others to do and manage your work; that will slow you down, and first you have to get something out there that is successful enough so that it can make you some money.
There's nothing wrong with bootstrapping; be proud of it!
Well the first thing I would say from transiting from hobbyist to indie game developer also means to are a different kind of developer now.
Before you were making games for demonstration or because you just want to play it, or try a new idea.
If you are a professional, which indies are (indie doesn't mean you are just only free from any editor telling you what to do), you are not doing the game for you anymore, you want it to please to people so they could buy it, and that means your game has to have quality content.
Being independent is quite risky, you try to have the advantages of a having an editor to support you, but staying free of doing what you wish, and you can't totally have both.
I think the most important is believing in your project, its ideas etc, meaning being ambitious, but knowing how it scales to your workload.
Do milestones ! Most project use alpha-beta-gold, but it's better to slice it more, for example with 5 different milestone, so you can implement features homogeneously, starting with core features which you feel are important and will make your game look like a game, and adding features one by one, so you won't work on several features at the same time.
Chrome is at its 8th version already, while firefox has not released 4 and IE is there since what, 15 years ? but only at its 8 version.
Don't forget that independent games are very important right now, so think well about the features, since they are the only games that can be really different than blockbusters games which will always sell but be much less innovative.