DropColour — Our Open-Source Arcade Game for iOS in Swift 2.2

Mateusz Szklarek
EL Passion Blog
Published in
3 min readMay 4, 2016

DropColour is an arcade game in which you simply have to drag and drop one circle onto another of the same color. When you do that both circles will disappear from the screen with nice animation and a sound. The game has no time limit. You lose when the entire board is full and there’s no available space for new circles to appear.

The game is Open Source and you can check its code on GitHub.

Creating the MVP

We came up with the idea for the game in September 2015 during our internal hackathon. Initially, team consisted of one designer and developer. First designs based on mock ups were completed in Sketch. I proceeded to the basic implementation of the game. My aim was to make the main functionality of dragging and dropping circles. I was able to create an MVP in less than 20 hours.

dropcolour

Working on DropColour’s quality

The main aim for next hackathons (November and February) was to release an application to the App Store. Unfortunately code written in less 20 hours was not the best quality and required a lot of refactoring. A new iOS developer, Dariusz Rybicki, has joined the team to help me with the tasks. Together we took the challenges of refactoring the code throughout the app and implementing new functionalities. We’ve also added a new engine to DropColour responsible for the level of difficulty.

Our two most important principles of the project were:

  1. Great playability.
  2. Zero bug tolerance.

With that in mind, we have managed to release DropColour to the app store on February 10th.

Few thousand users and counting!

It’s been two months since the release of the game and we have the following data:

Tech info

  • DropColour was initially written in Swift 2.1 and during development process we migrated it to Swift 2.2.
  • We used one Apple Framework — GameKit for score synchronization with Game Center.
  • We used only two external libraries: SnapKit for layout and Spring for animation.
  • Travis CI + Fastlane are awesome tools for speeding up the deploy process. We used them because we ? efficiency . Travis runs tests, archives projects and sends new beta builds to TestFlight. Everything happens automatically when you push new version to github.
  • Babelish, a Ruby library that allows you to fetch the translations from Google Drive, speeds up the creation of new language versions.

Currently available version of DropColour is 1.0.3, but we’re still working on improving the game.

Thanks for your feedback about the game. We promise that we will continue to work on it and making it even better. We also decided that from now the project will be open source. So if you like it, give us a star on github ?

https://ghbtns.com/github-btn.html?user=elpassion&repo=DropColour-iOS&type=star&count=true&size=large

Try to beat the 1780 highscore too! :)

--

--

Mateusz Szklarek
EL Passion Blog

He is a member of one of the best iOS teams in Warsaw. He loves unit testing and believes that “each line of code matters”.