DEV Community

Discussion on: I was a (social) Game Developer for 5 years, Ask Me Anything!

Collapse
 
kspeakman profile image
Kasey Speakman • Edited

What are the biggest technical challenges you faced as a game dev? IOW, what are the hard parts of the implementation? Game dev is something that interests me as a gamer (with some game ideas I wish existed). But I haven't gotten into it as yet.

Collapse
 
bgadrian profile image
Adrian B.G.

Hello! Thanks for stopping by.

What are the biggest technical challenges you faced as a game dev?

Unfortunately I only did social/web games so I didn't faced any hard-core challenges, like CIG is creating history. But in my limited expertise, as we did multiplayer games:

  • latency - it is important in a real time game, for these reasons we didn't used full fledged frameworks and we kept everything as simple and straightforward as possible. Of course the side effects were the opposite of Clean Code.
  • CCU - (concurrent online users) the industry is lead by events and we had days with large 500% spikes, again the resources consume and reducing costs were important.
  • Databases are the weakest (slowest) part, so every new query had to be triple considered and analyzed. All queries had to be backed up by a cache.

IOW, what are the hard parts of the implementation?

Nothing special, same as any other web app, but some were more special:

Monitoring and debugging , when we switched to New Relic we solved all of these issues and our products, technical decisions and optimization tasks improved by 10000%, I cannot say enough good words about these kind of platforms.

A/B Tests - we did so many tests that I wrote a bible for them coder.today/a-b-tests-developers-m... . Having at least 10 running tests has some nasty side effects:

  • the code has many conditionals, harder to predict, easy to make new bugs
  • harder to test - each test can affect others, or not
  • because of the latency, some queries we had to do them async
  • analytics - everything had to be triple measured, and coded, and tests. Each metric added more complexity to the code.

Being a highly competitive market lead us to deliver very fast (daily releases), as effect it multiplied the above issues.

Audience - when your customer base is spread around the globe, and have low-end devices, the technical challenges are greater, including having multiple active CDNs and a low-memory usage.

Collapse
 
kspeakman profile image
Kasey Speakman

Wow, great answer. Thanks!