你必须从头开始编写游戏引擎代码。当存在像Unity，Corona，GameMaker Studio或Construct 2等免费（或廉价）的出色引擎时，你又何必自己费心去创造呢？
耐克的“Just Do It”是我最喜欢的一个标语。自我怀疑是件很可怕的事。但“如果不好会怎样”是不去学习一种艺术的糟糕理由。你不可能一夜之间变成大师。特别是当你未去实践一些曾经创造出更好结果的事时。
Everything is a skill – Start practicing
by Tobiah Marks
Some of you have already started New Year’s resolutions this week, using the calendar change as an opportunity to motivate yourself. I would like to suggest that you add learning a new skill to your list, if you haven’t done so already. Specifically, indie game development.
If you ever considered becoming an independent game developer, today is the day to start.
Is there something special about now? Is there a new opportunity? Has something changed?
Well, yes and no.
Yes, things have changed, and things will continue to change. The indie markets have exploded both in availability (development and distribution have become cheap and plentiful) and popularity (more people than ever are downloading and buying indie titles.)
But, no, that’s not why I’m saying now is the best time.
Now is the best time to start, because the only other two options are “Later” and “Never”
This is an argument for doing anything you want to do, not just indie game development. No matter what has happened in the past, or what is currently happening, when you want to start doing something your choices are simply “Now”, “Later”, or “Never”.
Arguments against “Never”
I’ll start with arguing against choosing the “Never” option, because it’s easiest to fight.
I wouldn’t blame you if you skipped reading this and went ahead to the “Later” argument instead. In fact, I’d urge you to. If making games has always been your passion, or has always been something you thought would be cool to try, why would you ever say “Never”?
Becoming a game developer used to be costly. It would take tens of thousands of dollars to make a game, if not more. You’d have to buy special equipment, not to mention take years of your life learning how to use it. Then you’d have to get a publisher who would spend thousands on printing disks, putting them in boxes, and shipping them to stores. They would then sit in a store for a short time, some might get sold, others would end up in a bargain bin, and a short time later they would be out of the stores and nobody would be able to buy your game again.
Now, that is no longer the case. Everybody can start their own game development business.
No need to code game engines from scratch anymore. Why would you, when amazing and feature rich engines like Unity, Corona, GameMaker Studio or Construct 2 are free (or cheap)?
GIMP, Inkscape and Blender aren’t as nice as Photoshop, Illustrator, and Maya… but they get the job done, not that hard to learn, and are free.
You don’t even need special development kits or high-end state of the art machines. You can develop apps on your phone or in a web browser. Pretty much any semi-modern home computer or device you’re reading this blog post on will work just fine for app development. It’s not just PC and phone apps either, every XBOX One is able to transform into a development kit.
I have personally spent thousands of dollars on school for over four years with a goal of learning how to make games. Most of the information I learned is now available online, free and open to everyone.
Stanford as well as many other schools offer their courses online for free or at deep discount. For every subject imaginable, there is a YouTube video or podcast explaining it. Public API and documentation references end the need for expensive programming textbooks. All the knowledge you need to start is out there on the web, and just a quick search away.
Every major software platform now ships with digital distribution, and it’s fast becoming the norm for how we buy and consume software.
The time between finishing development and getting the app in consumers’ hands has essentially eliminated. Apps can go from “Gold” to release in less than a week. Need to fix an important bug? Deliver it to every user within a week, and it will even alert them about the update!
These online stores have infinite inventory. This means that when an app gets released, it stays available for as long as the company wants to sell it. No more small windows of opportunity while a game sits on a shelf before it gets moved to a bargain bin. Old games are finding new life as people buy them sometimes years later. As long as a market exists for the app, people will have access to buy it.
Infinite inventory has other advantages too. No matter how popular or unpopular your app is, you never have to pay any extra cost. You can sell 1 copy, or 1,000,000+ copies, with exactly zero per unit cost. Thought the app would have been more popular? No loss due to overstocking inventory. Wasn’t sure it would be popular at all? Instantly scale up and let millions download if they so want with no more work on your part.
The amount of money you can make on apps is staggering. Many are making upwards of six digits per day! Even the little guys without the million dollar budgets are making money. The development cost to potential returns ratio is staggering.
Worst case scenario
I hear you. “Ok Tobiah, that’s all good, but don’t most companies fail?” That is true. Most likely, you will not make millions. Many people simply focus on the risks of failure, without considering the opportunity.
What’s the worst case? What horrible fate will befall you if you choose to become indie and aren’t as successful as you’ve dreamed?
Make exactly how much you’re making from your games now (aka: none)
Have learned a ton and gained practical experience with programming, art, design, and business.
Have created a portfolio of finished content and the ability to put “entrepreneur” on your résumé.
Have spent your time doing something you [hopefully] enjoyed doing, and are now able to proudly say you took a shot at your dreams.
Yeah, those risks are there. I won’t argue that. The way I see it, even if your worst fears come true and you “fail” you still come away with much to show for your time and effort.
Arguments against “Later”
“The way to get started is to quit talking and begin doing.”
Most people don’t choose to “Never” do something, they instead tell themselves that they’ll do it “Later”.
It’s a default choice for many people. People think they couldn’t possibly do it “Now”, and they don’t want to say “Never”, so they tell themselves they’ll do it “Later,” once they have the time and resources.
That seems to make sense to most people out there, and was actually true a few years ago. Five years ago, most people could not have started an app development company. As I pointed out in my “Never” arguments, that’s no longer true. Everybody now has access to all the tools, education, and distribution resources they need for success. No matter how little experience or knowledge had before, anyone can succeed.
“Later” isn’t always bad…
Now, before I go further, I should say “Later” isn’t always a bad choice. There are some very valid reasons why you need to devote your time and energy elsewhere. I’m not saying everybody should drop what they’re doing and become a full-time indie game dev. People have lives. Bills to pay. Families. Important things. Even other hobbies that they get more enjoyment out of or are a higher priority for them.
This blog post isn’t targeted to that group of people. I want to talk to the people who only think they’re in that group.
“Later” can be a poisonous state of mind
I’ll exercise and get healthy… later.
I’ll finish that long neglected housework… later.
I’ll make more time for my children… later.
This default “Later” turns into a default “Never” far too easily. If you really want to do something, and if it’s really important to you, you can’t just sit by and wait for “Now” to come. You have to actively decide that “Now” is, well, now.
How often do you hear the story of somebody who kept wanting to do something, and then suddenly a huge time gap in their schedule opened up, they had nothing to do, and it was the perfect moment for them to start? Rarely, but not never. People win the lotto. It can happen.
Most of the time, though, when somebody starts a project or hobby, it wasn’t because the perfect situation landed in their lap. It was because they made the time for it. That hour and a half of TV they watched at night? They made that less than 30 minutes instead. That MMORPG they played? They canceled their account. That music they listened to on their commute? Swapped them out for instructional/educational podcasts.
They made the time for their passion.
Everything is a skill
Besides time, here are the most common statements I hear with people who want to start making games, but haven’t yet:
I want to, but I don’t know what game I should start with.
I have an idea for a game, but it’s not fleshed out yet so I haven’t started.
I’m reading a book about game design, once I finished I’ll start.
I tried making an app before, but it was really bad.
I know the app I want to make, but I don’t have [skill/time/money] to create it yet.
Do those seem like valid excuses? Someone must think they make sense. If we change the context a little, though, they won’t make sense.
What if you ran into somebody who always wanted to be an artist and they loved paintings. They have all the canvas and paints they need, but they gave you these excuses:
I want to, but I don’t know what painting I should start with.
I have an idea for what I’ll paint, but it’s not fleshed out yet so I haven’t started.
I’m reading a book about painting, once I finished I’ll start.
I tried making a painting before, but it was really bad.
I know the painting I want to make, but I don’t have [skill/time/money] to create it yet.
How about those excuses? Something seems off about them, right?
Game development is an art form
Artists don’t expect themselves to make art gallery quality pieces the first time their paintbrush touches the canvas.
It’s an art. Just like sculpting, music, 3d modelling, etc., game development isn’t some you can learn without doing. Art isn’t something that you can learn just from attending lectures or reading a book, you learn art through creating.
Games, and app development in general, are the same way. You learn from experience, you learn what works and what doesn’t by doing. You can listen to lectures on techniques, you can read a book that inspires you, but you learn by doing. You learn game development by developing games.
In short, you have to doodle.
The power of doodling
Doodle. It’s a funny word right? It’s dismissive. You can say it about your own work, but it’s not exactly nice to call another person’s work a “doodle”. Artists rarely, if ever, show their doodles to the rest of the world. But I assure you, they doodle. They doodle a lot.
For ever amazing piece of artwork you’ve ever seen in your life, there are probably dozens, if not hundreds or thousands of doodles that artist did before creating a finished piece.
Artists don’t think about their first painting for weeks, deciding what pieces they’ll show to the world before they even put pencil to paper for the first time. They simply start.
Sometimes, a sketch doesn’t work out, and they throw it away. Through that doodle, though, they’ve improved their skill. Sometimes, they sketch boring stuff. Boxes. Shapes. Hands. They’re practicing their technique. As they do, they figure out what works (and what doesn’t.)
Don’t be afraid to doodle.
Learn a new skill
Nike’s “Just Do It” is one of my favorite slogans. Self-doubt is a terrible thing. But “what if it’s not good?” is a terrible reason not to learn an art. Of course it won’t be good. You don’t become a master overnight. When has not practicing something ever produced better results?
Too many game developers don’t even start. They’re so worried about what they’ll make, and if it will be “worth their time,” that they’ll be caught up in details which don’t really matter.
Don’t think about ideas for weeks and months. Do a quick and dirty prototype. See if it works. Test it.
Have an idea, but don’t know how to start making it? Try remaking a simple game you know well to practice your technique. (Why do you think there are so many Pong/Galaga/Mario clones in the world?)
Treat development as an art. You won’t get better until you practice.
Ten thousand hours
It takes ten thousand hours of practice to become a master at any skill. Those don’t need consecutive. You don’t need to set aside multiple hours a day or lots of money to be able to practice. A few minutes here and there will add up over time. All you need to do is take the initiative and start practicing.
The best time to start, is now.
Go make some games!