I recently caught up with Media Division’s lead developer and co-owner Armand Niculescu to get the inside scoop on SparkChess, a popular chess game that can be played on a variety of platforms, including PCs, Android devices, BlackBerry PlayBook, and Apple’s iPad (see Figure 1). In addition to learning more about SparkChess, I also got some insight into Niculescu’s process and why he relies on Adobe to deliver games across platforms and the globe.
Inspire: Why did you use Adobe Flash and Adobe AIR technology to develop SparkChess?
Niculescu: I’ve been using Flash technology since 1998, and over the years, I’ve learned its strengths and weaknesses. Its availability across platforms, the rich toolset from Adobe and third parties, and the ease in combining great graphics and animation with programming are the benefits that have won me over.
Inspire: How easy was it to deliver SparkChess across multiple platforms and channels?
Niculescu: For SparkChess, I use Adobe Flash Professional for the user interface elements, and I use FDT 5 and Adobe Flash Builder to manage the code base—about 25,000 lines of code spread over 80 classes. Each platform uses the same code but has a slightly different layout and slightly different graphics. The biggest challenge was that the game had to be tested on each device—not so much for functionality but for the user experience, especially on tablet devices. A 7-inch tablet needs bigger buttons than a 10-inch tablet. In addition, the aspect ratios are different. You also need to take the onscreen keyboard into consideration.
The packaging and signing process is different for each platform, and it can be confusing at first, but once I had it worked out, I created some batch files to automate packaging and signing for all platforms. Submitting to the various stores requires some preparation and organization, but it’s not daunting.
The multiplayer functionality is built with Union Platform, which provides a consistent experience across platforms.
Inspire: Are you currently monetizing SparkChess?
Niculescu: Yes. There are some significant maintenance costs associated with the game such as the content delivery network and multiplayer servers.
SparkChess is available for free with ads and as a paid version with no ads and some nice additional features.
Inspire: How many people are currently using SparkChess?
Niculescu: Across platforms, there are about 420,000 weekly users (single player and multiplayer). Approximately 8,000 chess games are played in multiplayer mode every day.
Inspire: What drives you to create these apps and games?
Niculescu: I wrote my first game when I was 11 on a Sinclair ZX Spectrum. It’s what got me started with graphics and programming. Games are some of the most challenging types of applications: they have to look great, run smoothly, and, above all, entertain. They are an excellent way for any programmer to push the envelope and learn new skills.
Because I’m interested in both programming and design, I always want to create visually appealing apps. With SparkChess, my goal is to have a chess game that’s actually fun for casual players but also helps them improve their skills. Parents often tell me that their kids love it—it’s a game for all ages.
Inspire: Do you have anything else up your sleeve?
Niculescu: Yes. I’m listening to user feedback, and I’m constantly tweaking SparkChess to make it an even more enjoyable experience and to take advantage of the upcoming features in Adobe Flash Player and AIR. Based on this experience, I’m in the planning stages of a new multiplayer strategy game.
Inspire: What do you want developers to know about creating apps with AIR and Flash technology?
What I love about Flash, compared to any other platform, framework, or environment, is the ease with which I can combine programming with animation, graphics, sound, and video in a seamless way, and with the new 3D support, the possibilities keep expanding.
To see more AIR applications in action, be sure to visit adobe.com/gaming.
Alex Dewey is a public relations manager at Adobe Systems in San Francisco.