Bendy Franchise Ports
Taking Bendy to new platforms. Console and mobile porting at Pocket Sized Hands.
The porting work
At Pocket Sized Hands, I was part of a four-programmer team working on ports of Bendy and the Ink Machine, Bendy and the Dark Revival, and Bendy: Lone Wolf. Across those projects, our work covered PlayStation 4 and 5, Xbox One and Series X/S, Nintendo Switch, Android, and iOS.
A large part of my work across the ports was optimisation, working towards 30 or 60 FPS depending on the hardware while preserving the look of the games. We also fixed existing gameplay bugs and issues that appeared on specific platforms.
I built shared in-house tooling for save handling and contributed extensively to user management. These tools were designed to work across games, helping us handle the different requirements of each platform. Adapting controls and preparing the games for digital release were also part of the job.
Platform certification was a major team effort. Our thorough preparation meant submissions passed on the first attempt, with one exception: a minor storefront issue. The games themselves had no certification issues.
Released and in players' hands
The ports received great feedback from players and the original developers. It's rewarding to have the Switch copies sitting above my desk as a reminder of the work we shipped together.
As of October 2026, Dark Revival holds a 4.6/5 player rating on both the PlayStation Store for PS5 and the UK App Store.
Project challenge
Removing multi-second freezes during scene loading
Dark Revival's world is split into separate Unity scenes, connected by hallways. As the player moves through an area, upcoming scenes load asynchronously and additively, while previous ones unload. This worked well on PC and PlayStation, but other platforms struggled with the amount of work happening as each scene loaded.
On Switch and Xbox One, one particularly demanding area could freeze the entire game for several seconds. We discussed several possible fixes, and I identified the biggest contributor: hundreds of Awake and Start calls running together as the scene loaded. In some areas, there were roughly 600–800 calls happening in a single frame.
The upcoming area loaded before it was visible to the player, which gave us time to spread that initialisation work out. I proposed controlling when those calls ran, and after getting the team's agreement, spent one to two weeks implementing the change.
I moved the affected Awake and Start logic into methods exposed through a custom interface, then introduced a loading manager for each scene. The managers processed batches of around 50–200 calls per frame, depending on the level. The same initialisation work still happened, spread across several frames.
This needed careful changes throughout an already completed game. Some components relied on others being initialised first, and the existing loading system had its own sequencing requirements. I preserved those dependencies while changing how the work was scheduled, so spreading it out wouldn't break the scene's behaviour.
When we tested the revised system, the multi-second freezes were gone. Even in the worst case, the load showed up as a small bump on the frame-time graph. The player could keep moving through the world without that immersion-breaking pause. It's one of the changes I'm proudest of from the porting work.
Project challenge
Keeping Xbox saves compatible across generations
Partway through our work on Bendy and the Ink Machine, we discovered that saves could be shared between Xbox One and Xbox Series X/S. We brought the option to the client, who was very keen to offer it to players. Then came the complication: we'd already updated both the game's save system and the save handling in our in-house tooling.
Ink Machine was already out on Xbox One, with players' progress stored in the original format. Our new format was needed for new content and bug fixes, as well as safer platform handling guided by Xbox's XRs. We couldn't simply roll those changes back. We had to patch the updated systems to read the old saves while keeping everything that now depended on the new format.
I led much of the save-system work and helped develop a conversion wrapper that read the old saves and brought them into the new format. The conversion went one way, allowing us to retain the newer systems while keeping existing players' progress compatible.
Working out the old format and accounting for every piece of saved data took careful investigation. QA helped uncover gaps in the conversion, and we worked through those findings to make sure players' progress loaded correctly.
Once the Xbox One update shipped, both updated console versions could load saves in either format, with save parity across generations. Existing players could continue where they left off. The studio and client were very happy with the result, and it was a rewarding outcome from some particularly fiddly work.