GRID Legends (Android, iOS)

GRID Legends (Android, iOS)

Graduate Developer

An AAA game in the palm of your hand...

Key Achievements Threw myself into my role as a generalist, squashing bugs left, right, and centre. Took ownership of core features like Replay and Photo Mode, polishing up the UI and integrating brand-new touch controls. Survived the first of many professional development cycles to come.

Studio Feral Interactive. Made With C++, Javascript.

Nuts and Bolts

Whenever I'd tell friends what I was up to at Feral, I'd always get the same question: but GRID's already been made? Unfortunately (or fortunately, if you happen to be on a porting house's payroll) it's not so simple. One of the two major obstacles in shipping an AAA title to mobile is optimising its graphics, which is more or less the art of Running The Game At 60FPS Without It Burning Your Fingerprints Off. The other is the UI.

As a generalist, one of my core responsibilities in the year-and-change I spent on GRID was helping overhaul its user interface. From the HUD to the frontend to the pause menu, every single screen in the game needed tailoring to the handheld experience. What this meant for me was getting comfortable navigating a knotty codebase, day in, day out. With time, I could jump into just about any screen and help fix it up as needed - more often than not by jury-rigging Codemasters' UI to do things it was clearly never meant to!

Be Kind, Rewind

Hand in hand with rebuilding a game's UI for mobile comes the challenge of redesigning its control scheme - and while, yes, I got to make a couple gamepad-related tweaks like adding support for Backbone controllers, the priority was always our new touch inputs. Making these inputs feel like they're doing more than just emulating a cursor was a focus throughout the project, particularly as I took on responsibility for GRID's Replay and Photo Mode. On top of the usual process of reformatting the original UI templates, I expanded our existing gesture recognition system to process the pinching and panning gestures that control the player camera. I'm proud of how this turned out, given both the technical and design considerations that went into getting its gamefeel just right.

At a lower level, working on these screens would also help familiarise me with the nuances of the Android API. In Photo Mode, for example, players would want to save in-game pictures to their device... but where to store them in Android's file system? It couldn't be the internal storage (which gets deleted if the player uninstalls their game), nor the app-specific external storage (to which other apps are denied read permissions), whereas creating a GRID Legends folder in the shared external storage and scanning it to the MediaStore API will collate the pictures into an album that shows up in photo gallery apps. Similarly, sharing photos required reading up on Android's pop-up messages; converting them to the right ImageFormat needed a well-placed swizzle or two. These quality of life features weren't added to GRID's game code, but Feral's libraries themselves - by keeping my code clean and non-specific, the next dev porting a game's photo mode to mobile should have that much more to go on.

Under the Hood

On reflection, one of the most valuable experiences I got from GRID was refactoring the game's graphics menu. This was, ostensibly, a straightforward job: simplify the existing set of user-facing settings and introduce some flashy new mobile-only ones, whilst keeping the full suite accessible in internal builds for benchmarking and other performance tests. Working on this feature exposed me to the aspects of game production that, this being my first commercial project, I'd never had to consider before. The challenge was not so much making the changes as making them in accordance with other departments needs.

To see what I mean by this, take the game's graphics presets. Design wanted the game to have three modes (Graphics, Performance, and Battery Saver) for the user to straightforwardly choose from. QA, meanwhile, needed to tune each mode on a per-device basis, to keep the game running at an acceptible FPS. We also needed a way for Tools to update the presets quickly and remotely, without having to wait for the game's next patch. As the developer responsible, I coordinated across these teams to make use of Feral's existing infrastructure and find a game-specific implementation to meet the requirements. With the graphics menu being mission critical to QA's testing processes, I was very careful to avoid breaking our builds - most of the time, at least...

GRID Legends is available on Android and iOS.

Trending Tags