Gamasutra: The Art & Business of Making Gamesspacer
"Overcomplicating Everything"
Printer-Friendly VersionPrinter-Friendly Version
View All     RSS
April 16, 2014
arrowPress Releases
April 16, 2014
PR Newswire
View All
View All     Submit Event





If you enjoy reading this site, you might also want to check out these UBM TechWeb sites:


 
"Overcomplicating Everything"
by Chris DeLeon on 01/15/14 11:58:00 pm   Featured Blogs

The following blog post, unless otherwise noted, was written by a member of Gamasutra’s community.
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.

 

Arnold Schwarzenegger is an incredibly inspiring person. At 20 years old, he won Mr. Universe as a body builder. For many of us, we could just look at that achievement and see that as the likely high point, figuring that might come to define our identity and life path. No, that wasn't enough though. He started a successful mail order business based on his recognition from body building. Here again, many people might see that as a stopping point - he became a millionaire well before he was a movie star. Still not enough, the guy picked up his life and moved across the world, becoming an actor. And, at least so I once read, his first agent(s) advised him to change his unpronounceable, unspellable, foreign-sounding last name, encouraged him to hit hard the speech therapy to drop his accent so that his voice could sound more American, going so far as asking Arnold to get plastic surgery to make his chin and face less boxy, because it did not fit the image at the time of how a handsome Hollywood movie star should look.

No. No. No. He found someone else to be his agent, because he was determined to succeed on his terms, with his name, with his voice, with his face, and he of course did. With flying colors. He helped define a whole new type of action hero, an image that future Hollywood agents could use as a measuring stick when encouraging new Hollywood immigrants to... maybe not change too much. Again like becoming Mr. Universe, and again like creating a successful mail-order business, anyone would have understood at this point had he simply accepted his identity within the world as a movie star, a beloved and extraordinarily successful one, finding a way to be satisfied with that.

He become governor of a state in another country than the one in which he was born. Not just any state: a state that has 4.5 times the population of his home country and 5.5 times the GDP of his home country. Borrowed directly from the Wikipedia entry on California Economics: "California's GDP is larger than that of all but 8 countries in dollar terms (the United States, China, Japan, Germany, France, Brazil, the United Kingdom, and Italy)." He became head of the executive branch of the 9th largest economy in the world, in a place he immigrated to in his 20's, and for 8 solid years because he won the re-election by a wide margin (if it started even partly as a joke, clearly he succeeded in quickly taking it quite seriously).

Hoo-oo-oo-leeeeyy schnike-ees. It's hard to really wrap our minds around the thought of becoming a mayor in a small city we grew up in. Oh, and he started a restaurant, and probably some other impressive things, but I suspect you're getting the point. Schwarzenegger is basically like Tony Danza on steroids. Ok, formerly on steroids. (Tony Danza, you see, has also done a lot of stuff, not letting his early career determine or limit his identity and interest in broadening his life experiences.)

This is all background, mere set up, though I suppose it has a bit of a valuable message in its own way. The reason I bring up Schwarzenegger is because periodically, he participates in an open online forum about weight lifting, offering advice and answering questions. And recently an exchange took place that I think is worth calling attention to here:

Q (Snowman24): When trying to cut weight after a bulk, what was your best method? In terms of cardio, diet, etc? Do you believe in ketosis at all?

A (GovSchwarzenegger): Pretty simple... I would add in extra cardio - running on the beach, swimming, and bicycling. I cut out bread, pasta and desserts. It definitely wasn't rocket science, but it worked.

Random observer (rainman1): I'm getting the distinct impression we [have] been overcomplicating everything.

Glorious. Here's a massive, highly active discussion forum where people come up with, deeply research, and argue over complex diet and workout schemes to optimize their gains, asking for advice on how to lose weight based on the lifelong experiences of Mr. Universe, a 7-time Mr. Olympia winner, a man that can still achieve heroic muscular fitness now in his mid-60's for continued action movie cameos, and his answer, basically: exercise more, and ease up on carbs.

Pure gold!

It's maybe just a little too easy for some slightly geeky people (if you're reading this, I trust that you're at least a little bit geeky. I'm geeky too) to judge some meathead, weightlifting jocks (I was sort of one of those, too) for overlooking the obvious, making it seem more confusing or difficult than it needs to be. However we videogame developers routinely fall into doing that exact same thing to ourselves.

We often know what we need to do next. Instead of just doing it, we get into a long-winded philosophical argument, tangential discussions about directions that we definitely are not going to go in, or bury our faces in Google trying to find everything that there is to know about this particular decision before we just, 99% of the time, finally get around to doing what we were going to do in the first place, in the same way that we were going to do it in the first place.

I don't know whether you caught the blog post for beginners that I wrote some time back titled Stop Trying to Learn Everything Before Starting. To be clear though, this is that same message for people of intermediate skill level that now pretty much know exactly what needs to be done next but keep finding ways to stall. I could have instead called this entry Stop Trying to Learn Everything Before Getting on With Finishing Your Game Already.

Generally we'll only actually try an alternative approach if that first attempt catastrophically fails us. Even then we're very likely to attempt the next most logical, convenient, or familiar thing that we can find practical information for. This isn't being lazy; this is how things happen at all at our scale. Given our small (or solo!) team sizes and the sheer amount of code, data, content, information, and decisions that we're trying to juggle to make videogames, it's often smart, or at least sensible, to be efficiency-oriented most of the time. Then we can better make it count when we deliberately do something specifically contrary to conventions and expectations for a meaningful reason.

In other words, assuming we're on track to realistically get much done, what we do typically has far less to do with all that extra discussion and investigation, and much more to do with what arises from acting on our ideas and reacting dynamically if they don't come together as expected. There's often simply no way to know whether they can come together as expected until we've tried acting on them. As you've maybe heard me point out before, the brain is not an emulator.

It's almost as though, somewhere deep in the recesses of our minds, we think that if only we could know enough about the problem at hand, one morning we'll wake up and the work will be done. My generation grew up hearing from G.I. Joe that "Knowing is half the battle" but maybe didn't hear often enough that the other half consists of taking action based on that knowledge. It's not as catchy, I know.

No amount of accumulated knowledge is going to substitute typing in the next characters that need to be typed, creating the files that need to be created, doing the bit of code refactoring that may be necessary to move forward on the project without tripping over bugs leftover from partial implementation of ideas tried but abandoned because they did not work. (That's just part of the process. Again, generally speaking, that hasty implementation is often the only and most efficient way to figure out what ideas are or aren't working. When they aren't working, abandoning them is far smarter than forcing yourself to use them simply because the work on them is partly done.)

Here's another hard fact, true for basically every developer, dare I say human being, that I have ever met, myself included, which I hope can be digested constructively here as a challenge to your skills and intellect: there are a great many things that you think you know how to do, but have never attempted, and in all likelihood you don't really know how to do those things. At best you know how to start, and have confidence that you can figure it out from there, but that vague potential is very different from having done it. Even understanding how individual parts work is not at all the same as knowing how and why they fit together, let alone being able to assemble them. Once we actually attempt to do the things that we only thought we understood, we quickly discover all kinds of lovely nuances and subtle complexities that weren't apparent on first glance. The upside of course, is that by the time we finish the attempt, we really will understand exactly what's involved in making it work. It'll become one more tool in our conceptual or practical toolbelt for future use, having shown ourselves that it's something we know how to do.

Note however that to "know how to do something" has way more to do with the "do" than it has to do with "know" - strange, right? If I ask whether you know how to do a skateboarding trick, I don't mean do you understand what the stunt is, I mean: can you do it. If I need heart surgery, I need a surgeon that "knows how to do" the operation, by which I mean someone that can do much more than just describe the procedure. If you haven't made a platformer game before, you maybe have all kinds of ideas of what you could look up or try first to get started with doing so, but strictly speaking, you really don't know how to do it, even if you just finished reading a book on the subject.

To people in our family - and to ourselves - we tend to look like our potential, what we seem capable of doing. To friends, we may be thought of from how we seem in the present: less pressure about the future, and not worried about the past. However to strangers, literally everyone else in the world, our abilities and our character are judged only by our past, what we have already done. So outside of the dozen or fewer people that know us best: if we haven't done it, as far as anyone else is concerned we can't, regardless of what or how much we "know" inside. There is only one thing that can change their minds about whether you can do it, and that's going through with actually doing it. Strangers can be very hard to persuade, however this turns out to be an extremely effective way of doing it.

Someone could spend years reading about how to do something, then be put in a situation to do it, but then be unable to translate that reading into doing. Meanwhile if someone else has actually done it, we know that we can generally count on them to be able to do it in the future, or benefit from real takeaways learned as part of that experience.

Let me balance this by pointing out that I'm a PhD student, I'm basically in the "20th grade" right now. I'm clearly not opposed to books or book learning. I love reading, and I read a ton. Knowledge is great! All I'm trying to stress here is that especially within the domain of a craft, knowledge alone cannot be a substitute for experience actually putting things together. Here's the crazy part: actually putting things together can in many ways be a lot less complicated than trying to study or talk coherently about them. I'm not saying that doing it isn't challenging, but what I am saying is that at the very least, doing it is a different kind of challenge than getting endlessly distracted by learning infinitely more detail about the matter at hand.

Sometimes we need to - get to! - play the role of grand architect on our projects, but for the vast majority of the development time we actually just need to be our own construction crew laying bricks, nailing boards, taking measurements, and lifting things into position. Even if you're the kind of person that's capable of governing the 9th largest economy in the world, there's still a time and place in life for simply being a brick layer.

If you feel like you or your work may be hurting from falling into this pattern, and I know a lot of people are affected by this, having been "overcomplicating everything" day after day, I urge you to catch and stop yourself next time this starts. Just get back to the compiler and do the work. The thoughts you had previously about where this project was headed are still just as valid, though of course even if you're having second thoughts there is no better way to prove to yourself whether the idea works than to simply try it and see.


Related Jobs

Treyarch / Activision
Treyarch / Activision — Santa Monica, California, United States
[04.16.14]

Associate Producer - Treyarch
Treyarch / Activision
Treyarch / Activision — Santa Monica, California, United States
[04.16.14]

Production Coordinator (temporary) - Treyarch
Vicarious Visions / Activision
Vicarious Visions / Activision — Albany, New York, United States
[04.16.14]

Software Engineer-Vicarious Visions
Sledgehammer Games / Activision
Sledgehammer Games / Activision — Foster City, California, United States
[04.16.14]

Desktop Support Technician, Temporary - Sledgehammer Games






Comments


Florian Putz
profile image
AKA get work done :). That's basically the difference between a scientist and an entrepreneur. The former thinks about the most elegant - and sometimes also the most difficult way of solving a problem (sometimes the problem itself being just hypothethical), whereas the latter just solves the damn problem - not matter how crude the solution maybe - because he wants to sell a product that works :)

Chris DeLeon
profile image
Well said! This is definitely a recurring theme in my writing, because it's something that so many developers run up against. They learn enough to get started... but then instead of putting that into action to start refining their ideas through practice, they continue that momentum of study well past the point that can apply to what they can do at their scale. Before long they wind up overwhelmed with concepts that they're far from being in any position to put into action and really learn from, yet still haven't started and meanwhile don't feel comfortable doing what they may mistakenly perceive as backtracking to make something simpler.

One other aspect that your comment makes me think about though is the way that even scientists need to run experiments, gather data from test subjects, or actively observe in the field - merely studying from books and participating in discussions without some kind of engagement with practice doesn't make for very good science, either :) I'm generally of the belief that even among those people more interested in studying videogames from a theoretical perspective, as oppose to developing them as products for players, a little more hands-on engagement with putting their ideas into practice (when applicable, and almost always involving some compromises and tradeoffs!) can often often help clarify, express, or test thinking about the ideas they're working with.

Thanks for the comment!

Arseniy Shved
profile image
"merely studying from books and participating in discussions without some kind of engagement with practice doesn't make for very good science"

It does not make for science at all. Do not remember where I've heard it, but I liked the idea: the scientific approach is the one when you have the problem and you can figure it out by yourself (not look up, but solve by yourself).

One might think about science as a hypothetical thing, because well, lots of science is theoretical and hard to understand for us (like theoretical physics) but without actual figuring out (like calculating something which IS doing) it's not science, it's speculation.

As far as I understand it, the mission of science is to explain how things work. Not to come up with the most sophysticated solution, but to come up with the working solution. Enterprenuers need to come up with a profitable soultion and there are a lot of scientists among them =)

PS
@Chris, stumbled on your blog couple days ago, love it really much! Thanks for tons of insights!

Wylie Garvin
profile image
My favorite inspirational Arnold Schwarzenegger story is the one told by Steve Chandler in his book "100 Ways to Motivate Yourself". That same story appears here:
http://biznik.com/articles/being-like-arnold-schwarzenegger

Michael Joseph
profile image
I think that the design paralysis you're talking about is symptomatic of some of the general failures of CompSci programs. There's plenty of emphasis on algorithms and data structures and design patterns but not enough emphasis on process. We often hear the analogy of writing a blue print and then building the house but in software development, the blue print is the house and the process of designing the blue print should occur more in the code editor than in a Word document. Redesigning and refactoring is an inherent part of that process and trying to eliminate those eventualities is far less efficient than refactoring later. When lacking experience in an area, researching solutions is important but again the research process should involve writing code and not just taking notes.

So I don't think this has anything to do with personality types (eg. scientist vs entrepreneur) and everything to do with training.

As for Arnold, unless you can find a way to boost your ego, personality and charm, you're not going to be able to succeed whilst being unqualified (sometimes woefully so) like him. The advice he was given was pretty sound advice frankly. He's a horrible actor, horrible politician, was far from the best body builder of his era, but he charmed his way to success.

Chris DeLeon
profile image
> Redesigning and refactoring is an inherent part of that process and trying to eliminate those eventualities is far less efficient than refactoring later.

Right on. Especially in the domain of videogame development (at least at the small/medium scale at which I've done most of my work), where we're often simultaneously working out what it is that we're making in the process of making it.

Shannon Rowe
profile image
Great read, I feel inspired anew.

Reminds me of an old academia joke I heard at university once: "Those who can, do. Those who can't, teach."

Paolo Gambardella
profile image
great read, thank you.

Game design is the balance between art and science. It is good to "make" things and don't think too much on the philosophy side, but it is mandatory to keep things well thinked in order to produce at least measurable results.
Design -> Develop -> Analize is the main flow, so without measures no analysis can be made.

Robert Crouch
profile image
You can't just do though. If you want to write a platformer and you've never written a game before you can't just sit at your computer and think PLATFORMER really hard. You have to know where to start, you need to have the tools, you need to learn.

The real issue is not allowing perfect to be the enemy of better. You do some research, and you discover that, hey, Unity is out there, it has tutorials, it lets you make games. You start using it. Is it the best tool? Who cares really? If you start to write your game, you will learn whether it is the best tool, and maybe you can use a better tool for your next game, or if this game never gets finished, or if switching to that tool and starting over would mean your game still gets finished faster. But if you can create what you want in Unity, even if it's not the best, keep working with it. And when you get to difficulties in physics, you can figure it out, you can try to model the whole darn universe, but really, all you need to do is get a nice feeling jump to happen. Get a nice jump, and then move on.

It's a matter of priorities. Sometimes you need to learn. Sometimes you need to do. If you just learn, you do nothing. If you just do, what you do is garbage.

When Arnold said "I would add in extra cardio - running on the beach, swimming, and bicycling. I cut out bread, pasta and desserts. It definitely wasn't rocket science, but it worked." that was relatively scientific. Science is part theory, and part testing the theory. He thought that increasing cardio and decreasing carbs would help him shed that weight, he decreased cardio and shed carbs and it helped him shed that weight. What wouldn't have helped him shed that weight would have been sitting on the internet trying to figure out what exactly would help him shed that weight.

MrPhil Ludington
profile image
Judge a tree by the fruit it bears.

- Said an ancient, controversial and important someone


none
 
Comment: