Football Management for iOS
RubyMotion, iOS, Design
We fondly remember the early days of football management games, back when they were simple and really fast to play.
This project was in-house, borne out of our love for football management games and a desire to build one from the ground up. By designing the game specifically for modern mobile devices we were able to focus on performance and how to best include all of our favourite gameplay features without any of the boring bits.
If you’d like to take a look at the project first hand, Title Challenge is available in the Apple App Store right now.
Developing the game in RubyMotion meant that we could create a native iOS application using our existing Ruby knowledge. The RubyMotion toolchain allows our developers to use their preferred text editor and lots of utilities we are accustomed to working with on our Rails applications, such as Rake, Bundler and RubyGems.
Using RubyMotion allowed us to develop significant parts of game logic in pure Ruby. This makes for a clean, decoupled, code base that makes development and testing easier and faster.
We knew from the kick off that we wanted each club to have its own custom colour theme. Rather than creating hundreds of individual kit graphics and icons, we devised a template where elements could be dynamically displayed, hidden, coloured and scaled to kit out each team.Paul SturgessLead Developer
The graphics were imported into PaintCode, which generates the code to generate the drawing. As a result, Title Challenge is a visually rich experience even with almost no images. This means that user interface tweaks are a joy to implement and really fast to download.
The game engine is written in pure Ruby and is included in the iOS application codebase as a RubyGem. Developing the game engine in isolation allowed us to utilise it outside of RubyMotion. For example, during early development we used the game engine inside a Ruby On Rails application.
In terms of performance, tests are written in RSpec and with no database or user interface interaction the specs run extremely quickly.