Halfbrick Sports: Football

Halfbrick Sports: Football is a game in which two teams face each other in a casual and chaotic 3 vs. 3 football match. The main goal is to score as many points as possible against the enemy team within the match's duration. Various gameplay mechanics, such as tackling, dodging, and curving the ball, introduce some tactical depth while also adding to the thrill.

What was my role?

When I joined Halfbrick as a gameplay programmer, work on Football had just begun a week prior. Thanks to that, I was able to not only greatly contribute to the initial design and prototyping of the game's core mechanics but also got to experience its development up to and past the initial release. While I had a hand in nearly everything, some of the features I worked on extensively during this time include:

  • Player movement: Nailing the movement in Football involved spending a lot of time prototyping different movement mechanics and variations. The end result is movement that is responsive as well as intuitive given the limited nature of on-screen controls that most mobile devices allow for.
  • AI behaviour: The AI in Football was one of the more challenging parts of development. It had to adapt to a wide variety of player behaviours and skill levels. After trying various approaches, the AI ended up choosing a role based on the players' and ball's positions and utilizing a rating assigned to the players to match their difficulty patterns dynamically to the players' skill levels.
  • Game flow: The goal with the flow in Football was to provide an experience that doesn't constantly interrupt players and allows them to get into a match as quickly as possible. Designing the flow around this goal did cause some issues. For example, throwing players into a running match every time, just to get them into the action, isn't a fun experience, but neither is waiting a while for other players to join. Striking the right balance between speed and the player experience proved to be the real challenge in this case.
  • Voice Chat: One of the post-launch features that was added is talking to other players in your party. Discord's social SDK was used as a base for the voice chat, which did reduce the amount of work needed a good bit but also introduced other points that needed to be handled, like authentication and handling the connection to Discord. After volunteering for it, I designed and implemented the required systems for this into Football. Later on, these systems were used as the basis for their corresponding implementations in Halfbrick's internal SDK, and by extension, games like Jetpack Joyride Racing.
  • Party System: Since Football is a game heavily focused on playing together, having the ability to party up with friends and other players was one of the core requirements for the game. Realizing the systems that facilitate this was one of my responsibilities. This includes providing party-related events that other systems can listen for, such as players joining and leaving a party, and the flexible syncing of arbitrary member data to, for example, know what match a party member is in or what character they have selected.

Links:

Release Date:

March 2025

Engine:

Unity

Languages:

C#

Roles:

Generalist/Gameplay Programmer

Designer

Tools:

Visual Studio, Rider

Perforce, Jira