Three Rubyists having conversations and interviewing others about Ruby and web development.

Indie Game Dev with Amir Rajan - Dragon Ruby and Ruby Motion

April 28, 2023 0:50:14 96.47 MB Downloads: 0

On this episode of Remote Ruby, Jason, Chris, and Andrew welcome guest, Amir Rajan, an indie game developer and owner/CEO of DragonRuby LLP. Today, our conversations revolve around game development using RubyMotion and DragonRuby.  We’ll hear how Amir built a successful iOS game called, A Dark Room, using RubyMotion, and his experience with RubyMotion and its expansion to target other platforms, leading to the creation of DragonRuby Game Toolkit. There’s a discussion on the challenges of targeting different platforms and the benefits of DragonRuby’s data-oriented API, scalability, and continuity of design. Amir touches on the benefits of game development, the possibility of making a living from it, and he shares some advice for indie game developers. The importance of sustainability in open source development is emphasized, and Amir tells us about some upcoming features in DragonRuby, and he explains his reasoning for charging for DragonRuby. Hit download to learn more!  


[00:01:28] Amir talks about his experience using RubyMotion to build a successful iOS game called, A Dark Room, and about acquiring RubyMotion and expanding its runtime to target other platforms, which led to the creation of DragonRuby Game Toolkit. 


[00:06:21] When it comes to RubyMotion, Amir explains that you still need to learn some of the iOS frameworks to implement it in Ruby.


[00:09:10] We hear Amir’s thought process behind acquiring RubyMotion and how taking over a runtime has been for him. He emphasizes the importance of understanding foreign function interfaces and building C extensions in Ruby to take advantage of battle-hardened C libraries. Also, there’s a great book he read that really helped him understand the machinery and language called, Ruby Under a Microscope


[00:11:52] Amir discusses the challenges of targeting different platforms with RubyMotion and the difficulties of integrating new language enhancements into the runtime. 


[00:14:02] We learn how DragonRuby utilizes MRuby to create a multi-level runtime that handles constructs that don’t exist on different platforms and 90komprovides a cross-platform experience for game development without any assumptions about the platform.


[00:19:15] Amir dives into the problem DragonRuby solves and why someone would want to use it, besides it being awesome and that you get to build video games in Ruby.


[00:21:59] Jason loves how simple DragonRuby is to get started so Amir explains the simplicity behind it versus Unity.  The continuity of design is emphasized which allows developers to start with simple solutions and expand as necessary. 


[00:27:30] The conversation touches on the benefits of game development and the possibility of making a living from it.