From gamedev to webdev: the unexpected challenges

Larissa Davidova
5 min readApr 28, 2016

--

Most programmers refer to themselves as simply software developers, regardless of what particular software they are working on, and it makes sense — to the people outside the field writing code is all the same, regardless of whether you’re working on finance software in a corporation or a mobile game in a small startup. Some identify their job by the programming language they use, which, I think, is becoming less common because there are more and more tasks that require use of multiple languages.

I personally always preferred to talk about the field and technology first when asked about my job — like game developer, or graphics developer, or web developer — because I feel that what makes the most difference between different types of software development is not the size of the company you work at, nor the programming language or framework you use, but the purpose of your work, the culture and atmosphere in the community, and the approach to the development process.

This is why I’d like to share my observations on the differences between such related, but different fields of programming as game development and web development, and why these differences take many people making the transition from one to another by surprise.

There is more math on the web than a game developer would expect

Back when I worked only on games I got pretty used to manipulating complex geometry and writing matrix transformations (fun!). And just as many other game developers, I used to look down on web because I assumed it was all about login forms, css stylesheets and database requests. I was wrong.

Modern web development has been evolving towards more graphics and more animations, which requires at the very least some knowledge of geometry, whereas game development, on the other hand, is becoming easier with high level engines taking care of most tedious tasks that involve math (unless, of course, you are one of those people writing their own game engine). Obviously, it depends on the particular project, but many online services today use server side graphics processing as well, so you can’t escape geometry even if you are working on the back end. Processing graphics online is a fairly recent trend that requires very complex math, but even if we are talking about simple web pages with mostly text based content, you’ll have to manipulate some geometry if you want to make them stand out. For example, the beautiful svg animations, fancy css transition effects and responsive layouts.

Integration versus standalone products

In game development there is always the single product — the game. It can be small or large, online or offline, there might be multiple versions for different platforms, but there is always a clear boundary where the project starts and where it ends. Sure, even after the release there is maintenance, updates, and support, but taking care of these things is still a fairly linear process. In web development, on the other hand, this boundary is not so clear cut. Along with the “core” product, you constantly consider releasing plugins and addons for other software products, you integrate other products into your application, and then it all requires updates, support and maintenance — it just never ends!

And it is not just the code, your data becomes integrated as well. In order to provide the user with the smoothest experience you might find your app pulling data from multiple databases running on different technologies, hosted by different providers and maintained by different companies. And at that point it is virtually impossible to draw a clear line of where your product ends and another company’s begins.

This is something that most game developers don’t have to deal with, but for web developers integration is second nature. That’s why a former game programmer might get overwhelmed by the number of libraries to include and plugins to develop, while a web developer starting to work on a game might be surprised at the clear cut project scope and the lack of Bower.

Web developer community is very diverse, but at the same time quite snobby

I am, of course, talking about the diversity of skill levels, preferred technologies, team sizes and approaches to development. Evidence to this diversity is the enormous number of github repositories, the majority of which are web projects, according to GitHut. And despite the great number of different people working on web projects, there are tons of articles on the web about how to write code “properly”, which programming languages are better than others, and why my code is better than your code, as if there’s just one single way to do it, like this one.

I’m not saying I disagree with them, nor do I think it is a bad thing, that’s not the point. The point is that there is a lot of attention to the particular technology, as well as structure and quality of the code. In game development, on the other hand, the programmer often has to deal with “weird” scripting languages and optimization challenges that require an occasional hack and code structure becomes secondary to ingenuity, unless some low level programming is involved, of course.

Such attention to the code structure rather than just functionality in web development is very understandable, with the code being far more exposed, as most web development is done in interpreted (or byte compiled) languages. Plus the whole integration thing mentioned earlier means that as a web developer you would have to read a lot of other people’s code, even if your own project is not open source. For a game developer, especially someone used to working solo, this can be a little intimidating at first, but you get used to all the conventions and unspoken (and spoken) rules quickly and perhaps even start writing your own articles on how to be a “good” programmer and write the “good” kind code.

Conclusion

There are many more challenges than I’ve mentioned here, some are more technical and some are more social/community related, but in my opinion these are the main differences that I rarely see people mention. Bear in mind that this article is written from my personal experience and it might not hold true for everyone. Not to mention that every company and every project has its own unique quirks and challenges.

If you are making a transition from game developer to web developer like I did, I hope my experience will help you at least a little bit in being aware what to expect, and perhaps it could be useful to those transitioning from webdev to gamedev as well. But if you ask me which one I prefer, I couldn’t give an answer. Both fields are extremely deep, challenging and fun to work in!

--

--

Larissa Davidova

Front end developer at Moqups, creator of HalftonePro and Cyberflow