A Dark Room
By Amirali Rajan
A Dark Room is a very popular text-based role-playing game. Originally web-based, Amir Rajan ported it to iOS using RubyMotion and very quickly it went viral, reaching the top-paid app position on the AppStore and the #2 spot on Google Play (right behind MineCraft). As of 2018, it has accumulated over thirty thousand five star reviews and has been downloaded nearly four million times worldwide across both app stores.
Not enjoying Xcode, Amir used RubyMotion instead.
Amir had real-world experience with Xcode and Objective-C, but didn't like it at all.
Amir also has a Ruby background and went with RubyMotion to build A Dark Room. The command-line interface, the testing framework, the gems libraries and the CocoaPods integration and the freedom to use any text editor contributed to his decision.
20,000 lines of Ruby.
A Dark Room makes use of the ProMotion and BubbleWrap gems. During its development Amir used all the refactoring techniques of the Ruby language and also ran the built-in spec framework in the background. The project contains about 20,000 lines of Ruby (targeting both iOS and Android).
A Dark Room was also praised as being one of the few games being accessible to the blind.
If you want to know more about the story behind this best-selling game, check out the New Yorker Article.
"Idiomatic Ruby wrappers on top of iOS, frictionless workflows, and the “it just works” culture that Ruby fosters, trumps any hesitation I once had with RubyMotion."
Amir Rajan, Creator of A Dark Room for iOS
Read the full interview on our blog