Engineering games involve a deep understanding of multiple technologies, building highly dynamic content, interacting with multiple disciplines, and having a constant eye on how the game impacts players in every way.
We spoke to Mr. Sarvesh Navelkar, Senior Director of Engineering, Zynga on some of the key advantages and experiences one could gain by working on engineering within the games industry are as follows:
- Multiple Tech Stacks
Engineers can build exposure at all layers of the tech stack starting from GPU (Graphics), high-
performance clients (C++ based), game engines, native code on Android and iOS, backend tech, storage layers, infrastructure provisioning, cloud-native tech and analytics. Games use well-architected generic services for authentication, storage, payment gateways, identities, leader boards, messaging and many more generic game requirements. A lot of the patterns learned here have wide applicability across all consumer applications and can be applied to non-gaming domains as well.
- The Breadth of Architectural Exposure
Each game genre has a distinct architecture. Slots games, simulation games, strategy games, racing games, casual word games, MMOs and more, have different backends, client tech stacks and architectures.
For example, real-time games like racing need a real-time tech stack built on top of UDP protocols, whereas strategy games need to be heavily server authoritative to prevent cheating in social features, such as leader boards. Engineers can get exposure to a wide variety of tech stacks and architectures. They can increase their exposure and expertise.
- Wider Player Impact
Games have a direct visible impact on the lives of millions of players across the world. Games create an environment to fulfil intrinsic motivations of autonomy, mastery and relatedness. As game creators, you have the responsibility to make it happen in the best manner possible. Building great features, improving load time, FPS and memory, solving player pain points and building meaningful social features to engage players — all have a direct, visible impact across millions of players.
- Latest Tech Trends
A lot of technology, such as blockchain, NFTs and 5G networks, may be tried and tested in the gaming domain before going mainstream.. Some of the deep learning technologies also have direct applications in the gaming domain.
Upcoming technological trends that may further fuel the growth of the mobile gaming industry include:
- Cloud streaming – reduces the friction of installing larger games and allows for running console-quality titles on the mobile devices
- Augmented reality – allows us to place game objects in the real world
- 5G – can take real-time synchronous player-vs-player games to the next level
- Superior mobile hardware – can give a new degree of realism and console-quality graphics to mobile titles
- Machine learning and AI – allow for personalising the right experience for sets of players
- Tech Challenges of Live Games
There are several challenges to managing a live game — massive code bases, designing storage layers for high concurrency, managing multi-device gameplay, version-controlled asset systems, highly dynamic events, performance optimisations, and ever-evolving features. Fixing a player issue might involve debugging across various layers of the code base, changing the client without doing a release, jumping into code which you have never seen before and solving the issue. It could involve touching a variety of layers on the system right from client to backend to analytics and telemetry. Full systemic understanding equips developers to solve such issues much faster and can be a great learning experience.
- Exposure to Domains such as PM, Design and QA
Engineering successful games requires the right collaborative effort across various functions. Each function has a distinct responsibility. For example, product managers need to make sure the game has healthy metrics around player revenue and engagement. They also build a roadmap and feature specifications in alignment with business goals. Game designers have a responsibility to make the game fun and exciting to play. The art and UX functions need to make the game look great, production ensures that collaboration across functions is smooth and effective and game release schedules are met. QA ensures the game is built as per specifications and all the non-functional requirements, such as performance and smooth gameplay are also met. Engineering must work closely with all of these functions while developing features that excite players and achieve business objectives. Each of these functions has a specialised focus area and unique perspective on how things work and eventually plays a critical role in the gameplay experience.
- Shared Meta-Patterns
One can get wide exposure to different products and consumer behaviours. Consumer behaviours and meta loops on gaming products are extremely interesting from a neuroscience perspective, and similar gamification patterns can be adopted across all consumer products. A few examples of these include game meta loops and game core loops. The core loops are typically responsible for engagement within a game, whereas the meta loops take care of long-term player retention. Most of these game loops and patterns are portable across games. A good example of this is the battle pass feature, which has been adopted by several gaming genres.
Gaming is a great domain for engineers to work on as it gives them end-to-end exposure to the full product development lifecycle and allows them to grow their technical skills and knowledge as well. The gaming domain is not monolithic and a single category as perceived from the outside, there are diverse genres of games, each one having a different audience and product structure. This naturally leads to a wide variety of interesting architectures, tech stacks, and challenges. Engineering needs to adapt to these diverse set of constraints and domain realities, at the same time one has the experience of delivering great entertainment to millions of players across the world. All of these make working as an engineer for the gaming domain a fun and great experience at work.