Why I would hire game developers for my startup
This is one of the ideas I’ve only realized now in context but always knew deep in my mind. Whenever I talk publicly, I talk about pushing the limits of the web. My startup ideas are nothing different – every idea I have pushes the web to its greatest limit to deliver the most impressive result.
Perfectionism vs. trying to be awesome
Note that all ideas I have, and everything I’ve presented so far is not related to being perfect or delivering the perfect web product. Perfectionism is extremely dangerous, and chances are you never get the job done. In fact, many of my labs demos are far from perfect, even stable, but they push the limits. They deliver awesomeness. They provide great experiences.
Looking at games
Why games? It’s actually really simple. While web developers have been whining for years and have been stuck in their despair, game developers never stopped to amaze with the little tools and possibilities they’re given. 3D on a Super Nintendo? Easy. Full blown 3D RPG on PlayStation 12 years ago? You bet. Yes, game developers deliver.
Cheating and optimizing
Why are game developers so different, and what are they doing? Well, for once, they’re simply cheating. Remember Final Fantasy VII, the greatest selling role playing game of all time that lead Sony’s success of the PlayStation? Since the limited 3D capacities where not enough to deliver a great experience at times, they simply uses prerendered scenes and mixed them with live renderings. Yes, 1997. The even bigger point though is the optimization efforts that are made. Web developers only optimize when they see performance issues. For game devs, they know from the beginning on that the console they’re developing for cannot handle the raw 3D data, so they need to find optimization patterns right away!
They for instance need to control the number of polygons on the screen, memory consumption and frame rates. Many 3D techniques developed in the last 10 years are in fact optimization techniques, that either deliver a richer experience with the current hardware, or consume much more energy to be able to use much more of the same.
Delivering
Most importantly, game developers aren’t afraid of going different routes if something doesn’t work out. They try hard to deliver the experience they’ve planned, not the actual expact specification. Whenever I work on new projects, I ask myself “how would a game developer do it in a game?”. This usually gives me brilliant new ideas, and I highly suggest you try it out!
Now if only I could convert some game developers to start over in the web world…
9 Comments
Scott Conner on October 6th, 2009
I got into CS for game development. I even made my own online portal for web games – http://arcade.connersc.com.
I’ve had both web and game experience. I know both web and game programmers. And while I agree that game programmers are very resourceful (they have to be), they are in practice very sloppy.
Most professional game code is never seen, mostly proprietary, and duct-taped together. The games are usually designed for one or two platforms in mind and that “fully specified-world” symptom that game programmers have does not translate well to web development.
Web developers are forced to evolve much faster and learn a wider variety of technologies and languages.
A game programmer probably knows Photoshop (if they are also an artist), but mostly either C/C++ OpenGL or AS2/3. Maybe a little bit of assembly if you’re boss like Carmack.
For even a simple web application to be done correctly, you probably need to know HTML/CSS/Javascript/(PHP/RoR/Erlang/ASP/.NET)/(MySQL/Couch DB) as well as strong Unix skills.
In general, game programmers have a static solution-stack and often get suckered into the golden-hammer idealism that their technology provides (Why use iPhone built in UI if I can spend 3 weeks writing my own pretty library in OpenGL?)
Merely my $0.02, based on experience. YMMV
dave on October 6th, 2009
Nice article, interestingly I think that game developers could learn an awful lot from web developers too, I put a few things here http://world-create.blogspot.com/
bojan on October 6th, 2009
> Most professional game code is never seen, mostly proprietary, and duct-taped together
Take it from someone who has spent a decade in games industry before moving on – the code in games is no sloppier than what you can see in many other industries. Au contraire – people who write engines and frameworks do usually sweat over every single line of C/C++/asm/shader code. The actual game-code is a throw-away and it matters not if it’s optimal/nice or not.
bailey on October 6th, 2009
I’m afraid this is one of the worst, ill thought out, and purely glib blog posts I’ve ever read. Your musing’s on what make a game developer approriate for delivering a superb Web application are frankly, misplaced. As mentioned above, and by yourself, developing for a game requires an incredibly specific solution (due to performance constraints) for a less than specific end result. Tru engines and game API’s are built to be built upon, but game code rarely is. This is vastly different in the world of Web application development and the scalability that becomes inherent in its implementation.
Paul on October 6th, 2009
@ David: I agree, it’s often the mix that works best! I don’t think I could run a web business with *only* game developers
@ Scott Conner: I partially agree, especially on your point that game developers tend to only develop for 1-2 platforms, while web developers have to watch out a bit more. However, we’re living in times where developers have created abstractions like frameworks and libraries for working with the web, and building specialized solutions is easier than ever before nowadays even with IE6 still around. Also, web developers tend to be too afraid to use gracefull degradation / progressive enhancement for actual features, which I think is a shame. Also, while it’s true that web devs might need to learn a bit more syntax, they only usually learn 2-3 programming languages – JavaScript, and one or two backend languages. On the other side, you pointed out C++ and Open GL, both a lot more complex that what we usually have to work with (memory management, anyone?
). Thanks for the good comment!
@ dave: That’s excellent, I will read your post right away! Great that I was able to start a dialogue. In fact, I should have pointed out in the post that this is of course a web developer’s objective – I would *additionally* hire game devs, not exclusively, because as you’re completely right, both have crucial skills I’d need. Cheers!
@ bojan: I do agree, but this is the same for the web development world. I’ve been working on plugins and widgets for the last couple years now, and it’s really a whole different world than writing a specific application. The very same goes for game development.
@ bailey: see my comment above. It’s exactly the same situation. Web developers often have the luxury to deliver throw away code because they can literally patch without having their users to install new software – game development followed in the recent years, when consoles got hard disks. Frameworks always have to be more mature because they’re versioned and delivered across the web. Concerning specific solutions, it’s important to note that we’re moving into a direction where specific solutions will happen more often in web dev as well. If you’re building a high end mobile app, chances are likely that you’re targeting webkit only (if you Opera Mobile / Fennec).
Daily Digest for October 6th | BostonDave's Experimental Site! on October 6th, 2009
[...] Shared The Sea of Ideas » Why I would hire game developers for my startup. [...]
David’s Weekly Tech Reader - 93South – Thoughts on New England Web 2.0 on October 12th, 2009
[...] The Sea of Ideas » Why I would hire game developers for my startup [...]
bakaohki on November 2nd, 2009
3D on SNES is not *that* easy, but I guess you did read the linked Wiki article and noticed the precence of the on-cartridge DSP chip. It’s no matter how smart you are, sometimes a bicycle is just a bicycle, but it’s good to see that you have found yourself an imaginary idol or idols, in the form of game developers.
David on October 6th, 2009
I think your “delivering” point hits home the best. the same could apply to many roles…sometime you need mix in staff with different background to bring in fresh ideas.
There is a strong urge to keep the status-quo. People with complimentary skills but different background can bring new thoughts that your typical pros might not have thought of or even ruled out just because it’s not “the way it is done”.
Nice article.