It's been a long road and I've had to deal with a fair share of ups and downs along the way. But as with any difficult thing, its been an incredible learning experience. I've decided to share some of the the biggest, most life-changing lessons that I've gotten during my brief time as a developer.
Warning: Corny caption ahead
1. Everything takes way longer than you think it's going to.
This one will be obvious to anyone who has been watching our game develop. In the Odyssey, Odysseus had to sail from Troy on the east side of the Aegean Sea to Ithica on the west coast of Greece. A voyage that should have lasted a number of days, or weeks at the worst, ended up taking ten years. Maybe that's the point of the whole story. Be prepared for any endeavor to become an odyssey.
What I'm about to show you is embarrassing. It's a screenshot of an old milestones scheduling doc I had drafted to lay out the plans for when the game would be finished. I can actually feel my stomach knot when I look at the year attached to the end of those dates.
What I've learned across my several jobs and projects over the past few years has been that, whatever your best estimate is for how long something will take, you need to at least double it and probably triple it. This seems to be true at big companies as well as small ones.
2. Reign in Your Optimism
Even when disguised as pessimism, or realism, I've learned it's probably good to be even more pessimistic. I got this one from a book. Basically, when trying to get an estimate on number of sales in a period of time, or estimated future reach with each post, or follower growth, or any of that stuff, it helps to assume far beyond what you think the worst will be. Basically, the book suggested taking your best conservative estimates and dividing them by three. If you can't make it work with those numbers, you need to rethink your plan completely. If you do better than that, then great. What's nice is that I've actually found this has gotten me much more accurate results about how many new followers/Likes/RTs to expect in a period of time. This translates to me being far less depressed when I come up short.
3. Don't Let the Down Days Collect
Taking a day off here and there is fine, but its important to analyze why you are doing it. I've learned that if it feels like I am making up and excuse not to work, I probably am. After two days off of working on the project, the guilt of having not worked starts to have an effect. I'm suddenly feeling too guilty to open or look at the project. Too guilty and ashamed to right my wrongs. It starts to snowball.
The lesson here was that I shouldn't take off two days in a row, and if I absolutely have to, I have to force myself back into things as soon as possible. Luckily, this situation hasn't happened in a long time, and I think I have this lesson to thank for that.
4. Not All Ideas Are Amazing
Sometimes I'll have incredibly ideas to improve the game. New ideas usually come in the form of impossibly unnecessary features that will only clutter up the game, but as soon as I have them, my reaction is something like, "Yes, this is absolutely the most necessary thing the game could ever need. We must do it now!"I think I have Mihai and AJ at Forte Sounds to thank for tempering this wildly unreasonable side of me. Luckily, it's getting better.
5. The World is Full of Amazing People
Seriously. It's mind boggling all the things people are working on out there. Spend ten minutes browsing a Twitter feed and look at all the people doing incredible things for fun. Doing soul-crushing, time-devouring work every weeknight and weekend for fun. The vast majority of us aren't getting paid, and a majority of those probably never will be. And yet we slog on. But just look at the stuff that's being made.
See for yourself. Do a quick search for #gamedev on Twitter and look at some of those incredibly progress pictures people are posting. Lots of hearts and souls out there...