On the latest DevGamm 2014 conference I met talented developers from Gamua team. Daniel Sperl and Holger Weissböck – these guys developed Starling and Flox, cool and useful tools for game developers with Flash background.
On the conference Daniel speaks about development mobile games with Starling framework and Holger about Flox as the cloud backend for your game.
We talked a lot and as a result is Q&A session about Starling and development at all.
But wait what is Starling?
Starling is a framework for game developers who want to publish their games on multiple platforms. It relies on AIR, Adobe’s cross-platform runtime that works on both desktop and mobile. Since Starling uses the GPU for all its rendering, it produces very fast games with lots of special effects.
Companies like Rovio, Zynga and Ubisoft use Starling. The most famous Starling-powered game are the “Angry Birds” games on Facebook; and there are some Disney games I’m not allowed to talk about!
Starling 1.5 includes bunch of new features, you can check them all on the Gamua blog. In brief, all is faster and better. Now it is possible to use huge texture atlases up to the 4096×4096 size. Also now it is possible to store rotated sub textures.
As the developers say “It just works™” and I totally agree with them. Now lets move to the Q&A.
How was Starling born?
Back in 2009, we worked on several games for iOS, and there was simply no framework available that I really liked. I’d done lots of Flash development before, so I thought it would be cool to have the Flash API for the iPhone! That’s how the Sparrow framework was born, which is Starling’s sister framework for Objective-C. And then, suddenly, in 2011, Thibault Imbert from Adobe contacted me and told me that they’d be interested in having a framework just like Sparrow for Flash, using the brand new Stage3D library they were working on. I was thrilled about that opportunity, of course — still am today! That’s how it all got started.
Why do you develop a game engine but not any games?
Actually, I always planned to develop games, too! It just turned out that maintaining such a library is, in itself, a huge project. I’m constantly in touch with the community, looking through bug reports feature requests, and this doesn’t leave much time for anything else. I’m sure the opportunity will come up again, though!
So community as well actively participate in development, for example Starling Particles extension also included into the Adobe Gaming SDK. What other interesting extensions are committed by users? And how often community adding new features or fixing bugs?
I’m always amazed by the time that Starling users spend in our support forum. If you’ve got a question and post it in the forum, chances are good that it will be answered in a couple of hours! And many interesting extensions are from other developers; for example the “PixelMask” extension that adds pixel-level masking to Starling objects. Or the Graphics extension that can provide basic vector functionality. People are posting code all the time! I’m super happy about that, but of course it also means a lot of time commitment for me, to look through all of that and comment on it.
Development environment. What IDE you are using and what is your favorite one?
I am using Flash Builder because it has the best integration with Adobe AIR and works out of the box. However, many Starling developers are using IntelliJ IDEA and are speaking very highly of it! So I might look into that one day. The latest Flash Builder version has always been a little buggy, so it’s good to have alternatives.
If you’re developing on Windows, FlashDevelop is also a good alternative. I’m doing all my development on a Mac, so that’s not an option for me, unfortunately.
Are you working at home or at the office? How do you coordinate your working process?
I’m sharing a small office in Upper Austria with my colleague Holger. After Gamua was founded, I tried to work from home for a while, but I ended up bunkering in my home for too long, not seeing the real world any more! So that didn’t work out too well.
While I’m doing all the Starling and Sparrow development, Holger is responsible for our latest project, “Flox”. We’re both very passionate developers, so it was important for us to split up our responsibilities.
Tell us some words about Sparrow, because auditory of the Objective C developers is wider than Flash. How much attention is being given to the development of Sparrow at the moment?
Sparrow has had a little hard time during the last months, because Apple introduced “Sprite Kit”, which is very similar to Sparrow. This was a little hard for us at first! However, I still think that there’s an audience for Sparrow. After all, it is Open Source: you can tinker with it and fix any problems yourself. If there’s a problem with Sprite Kit, good luck reporting it to Apple! They probably won’t listen; and even if they fix it, you have to wait for the next iOS release.
There’s a brand new Sparrow version coming out within the next two weeks! It’s a major improvement, for example it’s almost three times as fast! Furthermore, it has almost the same feature set as Starling, which makes it a very powerful game engine.
Is there any kind of features migration from Sparrow to Starling and vice versa?
No, there’s no way to migrate from AS3 to Objective-C. However, Sparrow understand the same file formats, e.g. for bitmap fonts and atlas textures. And since the classes are so similar (almost all class and method names are the same), it’s really easy to port a game over. Objective-C is actually a great language, and in some areas it’s even easier to use than AS3! For example, you don’t have to worry about the Garbage Collector; the latest versions have become very smart with memory management.
Tell us some words about AIR’s new background execution mode, is it mobile workers or other entity? I see it mentioned in what is new for Starling 1.5.
Background execution mode has nothing to do with workers (which are still only available on Desktop). It means that you can execute some code while app has moved into the background. You can’t do much — iOS will limit what you can do, in order to save battery — but it’s useful for some things, like finishing a download.
How you did you meet your teammate?
I’ve known Holger since Kindergarten, actually! He’s always been one of my closest friends; in fact, we’ve gone through exactly the same schools! Then, after university, we worked in different companies for a while, before joining again to found Gamua.
Do you plan to add new members to your team? For example game development department.
Not at the moment, no. For one, we want to keep the team small and the processes easy. As soon as a company gets bigger, a lot of time pours into managing meetings and writing plans. I want to program, not to be a manager! Of course, there’s a limit about how much you can do with two people, though. So if we’d start another project, for example, we’d need to grow our company — there’s no way we could take on any additional work in the current set-up!
What approach or methodology are you using for development? Any Unit tests coverage?
You found my weak spot! Starling has unit tests, but they don’t cover all of the framework. It’s not easy to test stage3D code, so I’d need to set up some special environment for this, and I’ve never found the time to do that.
How does the Adobe sponsorship work, for example if I’d have an idea for a super duper tool?
As described above, I was approached by Adobe, not the other way round. So I don’t know how one would approach them to get a sponsorship! I guess you have to work on something which fits their tools and strategy really well, and then need a bit of luck!
The sponsorship works really well for us, I couldn’t be any happier about it. They leave me a lot of freedom with the direction I want to take with Starling. They just want it to be a great tool for game developers.
Any roadmap or plans for the next Starling release?
I’ve got lots of ideas for new features, but the requests from the community are always my highest priority. I want Starling to be as stable and reliable as possible! I only want to add new features when everything that’s already there works flawlessly.
How old are you? Tell me how you come to the IT?
I’m 33 years old, and I’ve been interested in computers since we got our first Commodore 64 in the 80es. I started programming in High School and learned most of it just by toying around with BASIC. I always found it fascinating that you could somehow tell this little gray box what you wanted, and it would actually follow your orders!
Where you studied?
I studied “Media Technology and Design” in the “University of Applied Sciences” in Upper Austria, which taught me a great deal about both design and programming. That’s why I’ve always loved game development: you need both talents for that.
Do you have family or kids?
Actually, I married just a few days after the first release of Starling, back in 2011! I can tell you, that was a busy time … organizing a wedding and finishing the release at the same time (while still working in a day job!), that was quite an effort. But it worked out well, and now that I can work on Starling as my day job, I’ve got much more time for my wife, too.
How do you spend your free time? Do you like to travel? How often? What is favorite place?
Actually, I love to spend my time with a good book on the couch or in the sun — or with the latest Zelda or Super Mario title, I never miss one of those! Other than that, I like to ride my bicycle through Austria’s countryside, and to travel to a foreign country from time to time; not the typical beach holiday, but to drive around by car and see a lot of the country. I’d love to make a longer trip to Russia, one day! If I just knew the language …!
Bike, cool! I know many developers fond of bikes. What kind of bike is yours?
Haha, most of you will laugh when they see what I use to move around! I don’t know why, but I’m a fan of everything small and portable. As a child, I didn’t have a NES, but a Game Boy! And now, I’ve got a Smart and a folding bike! The perfect fit, because I can easily pack my bike into the back of my car.
Here are some images, so you get an idea. (Those are not actual photos of my vehicles, but they are very similar.)
Are you first time here in Russia? Do you like it? What do you remember most of all?
Yes, this was the first time for me to visit your beautiful country! It’s a shame that I could just get a small glimpse of Moscow. But I got to know a lot of really nice people, and I’d love to come back soon, with more time to really get to know your country and your people!