04 January 2013
Walter Luh’s interview in “Mobile Game Engines”
Walter Luh, CEO of Corona Labs, recently interviewed for “Mobile Game Engines,” a book that features interviews with a host of platform creators. We’re pleased to announce that the book was released this week and is now available for purchase in a variety of formats. To celebrate the book’s release, we’d like to share an excerpt of Walter’s interview. Enjoy!
You can purchase your copy of the book here:
Brownlee: Could you please introduce yourself?
Luh: I’m the creator of Corona SDK. In a previous life, I was Lead Architect for Adobe Flash Lite during the feature phone (pre-iPhone) era. Flash Lite was a mobile graphics engine that had been installed on over a billion devices.
Prior to Flash, I worked on several industry-standard products geared towards creative professionals. This included Adobe Illustrator and Apple’s Final Cut Pro. In college, I studied physics at Swarthmore College. After graduation, I jumped into a master’s program in computer science at Stanford University.
Brownlee: How long have you been programming?
Luh: I dabbled when I was young. My first exposure to programming was on the Apple II with turtle graphics. I think I was in 3rd grade or something like that. It was so cool! Moving that turtle and seeing the results on the screen. In retrospect, it was truly amazingly forward thinking by the school to let elementary school kids program! Between elementary school and high school, I picked up Basic and Pascal. In my college physics classes, I learned Matlab. I didn’t really start to study programming seriously until I went to Stanford to get my master’s. All these other kids had a whole 4 years worth of serious programming under their belt, and here I was struggling with pointer arithmetic. I even remember spending an hour debugging my own “printf” because I didn’t know you had to distinguish between an int and a float!
What really got me excited was the graphics class. I think it’s because I have two sides. There’s the visual design side and there’s this analytical side. Seeing all those pixels magically light up. Maybe it was coming full circle back to my turtle graphics days.
Brownlee: Could you please describe your game engine?
Luh: Corona SDK is the leading mobile development platform for building #1 cross-platform games, apps and eBooks. Over 200,000 developers use Corona from indies to game studios, from teenagers to octogenarians, from publishers to agencies. Their apps have consistently hit the top of the charts on all four major app stores: iTunes, Google Play, Amazon, and NOOK.
Brownlee: What is the current price and license structure of your game engine?
Luh: Free unlimited trial. $199 per year to publish to either iOS App Store or Google Play. $349 per year to publish to iOS App Store, Google Play, Amazon/Kindle App Store, NOOK App Store. We also have Corona Enterprise, a version of Corona that allows you to customize the engine by ￼adding custom Objective-C/C++/Java code.
Brownlee: What are the engine’s top 10 core features?
• Incredibly simple and powerful API (e.g. render OpenGL texture in
• Corona simulator for Mac/Win for fast iteration.
• Cross-platform between iOS, Android, Kindle, and NOOK.
• Automatically scales content to multiple screen sizes.
• Retina imaging from images to sprites.
• Native widgets as first-class citizens in scene (e.g. move WebViews like any other object).
• Leverages industry standards: OpenGL, OpenAL, Google Maps, Box2D physics, Facebook Connect, etc.
• Integrates the most popular services like ads, analytics, in-app purchase.
• Super fast scripting with Lua.
• Add custom Lua APIs (Enterprise).
Brownlee: Could you estimate how many games have been built and released using your engine?
Luh: Based on numbers we pulled for the month of August from our servers, there were 20,000+ Corona-based games actually being played on devices.
Brownlee: What are some well known or notable games created with the engine?
• “Bubble Ball” – #1 overall free app on iOS store (ousting Angry Birds from top spot) by a 14-year old!
• “Blast Monkeys” – #1 game on Google Play with over 10M downloads!
• “The Lost City” and “Secret of Grisly Manor” – Myst-style games written by a single indie developer that have a combined gross revenue over $1.39 million.
• “Truffula Shuffula” (The Lorax) – a promotional app by Universal Pictures.
• “Word Smack” – a mashup between two classic games (Scrabble and Mastermind) by Electronic Arts.
Building Corona SDK
Brownlee: Did you initially develop alone or in a team?
Luh: For about a year and a half, I was the only one coding on Corona. We didn’t have anyone else on the team with the required technical chops, and we didn’t have the funding to bring the right talent on board. It was a long and lonely road, but it was also a blessing in disguise. I was able to iterate and build features on a daily basis. That period was probably the most productive in terms of code output and quality that I’ve ever been in my life.
Later on, when we got funding, we were able to build a great team of talented engineers. We now have engineers working at different levels from the core engine to higher-level frameworks.
Brownlee: What are some challenges in supporting multiple mobile platforms?
Luh: The biggest challenge is designing APIs that work across platform and maintaining behavioral consistency. Implementing those APIs so they work and behave exactly the same on top of different OSes, that’s really where the gold dust is.
Brownlee: What is your approach for staying abreast of changes to the underlying technology and device APIs?
Luh: The mobile industry moves quickly, so there’s no one approach that will work. The key is to adapt your tactics constantly. We’re also in a very fortunate position where OEMs give us access to prototype devices, so that helps us plan ahead a little bit.
Maintaining Corona SDK
Brownlee: Do you currently think of the game engine as a project or a product?
Luh: Among the two choices: product. More broadly, we think of it as a platform. There’s a whole ecosystem out there from a thriving developer community with meetup events happening around the world to 3rd party tools designed to make Corona even easier to use.
Brownlee: What are the core benefits in having a development community around your game engine?
Luh: There are the obvious benefits like getting feedback on how to improve the engine and getting their thoughts on trends. But the real benefit is more personal. They inspire us. When we go out and talk to developers, it’s energizing. When they tells us all the amazing things they’ve done with Corona, we realize we’re making a difference.
Brownlee: How do you generally engage the community?
Luh: We engage with them in almost every way you can imagine. We talk to them on the forums, Twitter, Facebook, etc. We invite developers to chat with us on Skype. We survey developers to get their feedback. We go to conferences. We hold hackathons. We even have Corona Ambassadors – volunteers from the community – who are holding meetup events around the world.
Brownlee: What are some ways that your interaction with the development community around your engine have influenced features or the direction of your engine?
Luh: We’re constantly having a conversation with our community. They submit bugs and feature requests. They tell us what’s working (or not) on the forums. They tell us when our documentation is confusing and we realize our approach was wrong.
Brownlee: How do you structure the release process?
Luh: We have two kinds of releases. First, we have what we call a public release. This is something we release roughly every quarter. We make this available to all developers.
The other kind of release is a daily build. As soon as a change to the code is made, we post a build the following morning. In this way, the latest bug fixes and features are available to our subscribers. We do this because, unlike traditional shrink-wrap software, the mobile space moves so quickly that developers need access to the latest bits in real time.
Getting Started with a Game
Brownlee: What would you suggest to a developer looking to start making a game with your engine?
Luh: The easiest thing is to just download Corona, launch the Simulator and open a sample. The Simulator makes it incredibly easy because if you edit the code in a text editor, you see those changes reflected instantly in the simulator. There are also a ton of tutorials and videos online. There’s even a book called “Corona Game Development” available on Amazon.
Brownlee: What suggestions do you have for developers working with your engine daily?
￼Luh: I would recommend reading “Programming in Lua” by Roberto Lerusalimschy, the co-creator of Lua. Lua is a simple language that you can learn in one morning, but if you’re going to be writing Lua code, you should learn from the master, Roberto, who is also an advisor to Corona Labs.
Brownlee: What do you think are the required skills for building a great game?
Luh: There are a lot of elements. I’m going to quote one of our developers, Joe Kauffman, who’s become a self-made millionaire using Corona: “It sounds a little cheesy, but I would say love. I can usually tell if the developer loves what they have made and want to share it with others. I think it shines through every aspect of a game. On the other hand, I can usually tell if an app was made just to try and get a quick buck, designed for some marketing campaign, or trying to rip off kids with a zillion micro-transactions.”
With a Successful Game Engine
Brownlee: What are some opportunities that you have received because of your game engine?
Luh: The usual. Speaking engagements, job offers, writing, etc.
The most important opportunity has been to play such an important part in people’s daily lives. Corona has literally changed the lives of thousands and thousands of people around the world. We’ve enabled people to code for the first time, pursue new careers, and even fulfill lifelong dreams.
Brownlee: What elements make for a successful mobile game engine?
Luh: Remembering that technology is used by people. It’s not technology for technology’s sake. For Corona, it’s been focusing on the experience of developing. We found a community that loves that, and we’ve been building on that ever since.
Brownlee: Where do you think mobile gaming will be a few years from now?
Luh: The cloud will play a critical role.
Brownlee: What is your favorite game and why?
Luh: It’s an old one. It’s call Star Control and it was for the old DOS machines. There was a special mode where you would battle another ship on the same screen. Both you and a friend could control it using different sets of keys on the same keyboard. It was just a lot of fun, mostly because the game play was simple!