UI Programming | Flock

From early October 2022 to the end of August 2023, I contributed to the development of Flock, “a multiplayer co-op game about the joy of flight and collecting adorable flying creatures with your friends.” It was developed by Hollow Ponds and Richard Hogg, published by Annapurna Interactive and released in July 2024.

Release Date Trailer courtesy of Annapurna Interactive

Working remotely as a contractor, I mostly programmed and implemented various components of the game’s UI, using C++ and Unreal Engine 4’s Widget system. This usually meant working from visual and functional bases that were already designed, but there were often instances of adding UI elements alongside functional and structural changes to the game. Having joined the project a decent way into its development, there was also a lot of repurposing old elements to fit newer visual designs or functionality requirements.

One of the key elements I worked on was the multipurpose curved container box, as well as a number of implementations of it. Essentially, the game needed UI containers that could be created, displayed, adjusted and removed, following a cohesive visual language while supporting a variety of use cases. These things are all over the place in the shipped game, but a couple of specific implementations to which I gave more love were the controller tooltips and the menu for recalling creatures to the flock, as perhaps evidenced by their (possibly excessive) motion. ;¬)

I also had a nice time working on the interface for naming sheep, although I wasn’t keen on Unreal Engine’s integer-based positions for UI elements, which makes the name bubbles feel far less gentle than they should. (The GIF below is pretty big, so it might need to be opened in a new tab to function.)

One issue with the curved boxes was that I didn’t implement an active preview for them within the UE4 editor, meaning that their execution relied on precalculating and predicting their behaviour (or relying on trial and error). This likely made things more difficult for others using the boxes, especially when applying them to fringe cases (outside of their automated behaviour options), and when using them after I’d stopped on the project. It certainly would have helped for me to have figured the previews out, even if it may have been tricky for me to fit that work into my schedule.

As well as attending fairly regular team meetings (in which people shared their progress and thoughts on various parts of the game), I was very frequently in contact with some of the team over Slack. There were plenty of instances of talking to Ollie Hoff and Dick Hogg about implementing their (really lovely) visuals, but most of my correspondence was with Ricky Haggett, who directed the game and handled much of its programming. Ricky also helped a great deal with getting me familiarised with C++ and Unreal Engine, as it was my first time using either.

I left the project at the beginning of September due to worsening mental health problems, but the team were friendly, supportive and great to work with. Being the first commercial game that I worked on, there was something special about seeing the bits I’d developed once the game had shipped.

The game can be purchased digitally from the following pages:

Flock on Steam

Flock on PlayStation

Flock on Xbox