📜 ⬆️ ⬇️

Starling framework. Interview with developer Daniel Sperl

At the recently held DevGamm 2014 conference, I was able to communicate with wonderful people - the Gamua development team . Daniel Sperl and Holger Weisbeek are the guys who created the Starling and Flox frameworks , very useful products for the Flash community.
At the conference, Daniel talked about the development of mobile games using Starling, and Holger about creating a full-fledged cloud backend using Flox.

Our communication resulted in a brief interview with Daniel about how Starling appeared, how it developed and not only.



Starling is a framework for game developers who want to publish games on multiple platforms. It is based on AIR, a cross-platform runtime from Adobe that works on both desktop and mobile platforms. Since Starling uses the GPU to render two-dimensional graphics, it can be used to make dynamic games with high FPS and lots of special effects.
')
Companies like Rovio, Zinga and Ubisoft use Starling. The most famous game on the Starling engine is “Angry Birds Friends”; as well as several games for Disney!



In Starling 1.5, a number of innovations have appeared, which can be found on the official blog . In a nutshell, this version has become faster and better than the previous one =). Now it became possible to use huge texture atlases, up to 4096x4096 in size. And also keep the sub-texture in a rotated form, which allows more efficient use of the area of ​​textural atlases. This version of the framework was created with an eye on a large number of mobile devices, so that the individual features (and disadvantages) of these gadgets were taken into account. The programmer can now concentrate on developing and not on debugging the application.

Other new features:

- Removed restrictions on the size of textures for iPad1 (It became possible to use rectangular rather than square textures).
- Now the AssetManager can run in the background (when the application is minimized).
- Added additional checks for the loss of 3D context, which makes the application behavior more stable.
The general summary, as the developers say, It just works and I completely agree with them.

And now Q & A.



How did Starling come about?
Back in 2009, we worked on several games for iOS and there were no frameworks that we really liked. I’ve been working on Flash for a long time and thought it would be great to have a Flash API for the iPhone! This is how Sparrow appeared - a framework attributed to Starling's little sister for Objective-C. Suddenly, after this, in 2011, Adobe contacted me and said that it would be nice to do a framework like Sparrow, but only for Flash with support for the Stage3D library. At that time, the library was only under development. I was completely enticed by this task, and fascinated to this day! That's how it all began.

Why did you decide to make the engine, not the game?
Actually, I always planned to develop games too! But it turned out that supporting such a library is in itself a very big project. I constantly communicate with the community, look through the bug reports and suggestions for improvement. Almost no time left for anything else. However, I am sure I will have the opportunity to return to the development of games!

It turns out that the community is also actively involved in development, for example, the Starling Particles extension is included in the Adobe Gaming SDK. What other interesting extensions have users added? And how often does the community add new functionality, fix bugs, etc.?
I always wonder how much time users spend on the Starling forum. If you have a question and post it on the forum, there are great chances to get an answer in a few hours! And there are many interesting extensions from third-party developers; for example, the “PixelMask” extension allows masking on the pixels of Starling objects. Or “Graphics”, which provides the basic vector drawing capabilities (analogue of the flash.display.Graphics API). People constantly send new code! I am very happy about this, but I have to disassemble this code and comment on it.

What software is used in the development. Favorite IDE?
I use Flash Builder, as it is the best tool to integrate with Adobe AIR and it works right out of the box. However, a large number of developers use InteliJ IDEA and respond well to this system! I'll try it somehow. In addition, the latest version of Flash Builder is pretty “cool” and it’s good to have an alternative in stock.
If you are developing for Windows, then FlashDevelop is a good alternative. I am developing on a Mac, so unfortunately it doesn't suit me.

Do you work at home or in the office, how is the work coordinated?
Photo of the office in the studio.
I rent a small office in northwest Austria with my colleague Holger. The first time, at the stage of the formation of Gamua, I tried to work from home, but it ended up that I practically shut myself up at home without seeing the white light! In general, nothing good came out of this approach. ;-)

While I am working on Starling and Sparrow projects, Holger is fully responsible for our new project “Flox”. We are both perfectionists, so it was very important for us to divide the areas of responsibility.



Tell us a little about Sparrow because the audience for objC application developers is wider than for Flash developers. How much attention is being paid to the development of Sparrow?
Sparrow has not been the best of times in recent months, as Apple has released the “Sprite Kit”, which is very similar to Sparrow. At first it was hard for us! However, I still think that Sparrow has its own audience. In the end, this is Open Source: you can dig deeper inside and fix any problem on your own. If there is a problem in the Sprite Kit, then I wish good luck, write a bug to Apple! You may not be answered; and if you decide to fix it, you will need to wait for the next iOS update.
The new version of Sparrow is preparing for release in the next two weeks! The update includes major improvements, for example, a threefold increase in productivity! Moreover, the feature set is similar to those that Starling has, and this makes Sparrow a powerful game development tool.

Do innovations migrate from Starling to Sparrow and vice versa?
There is no way to migrate from AS3 to Objective-C. However, Sparrow uses the same file formats for bitmaps for fonts and texture atlases. And since the classes are also similar (even the names of the classes and methods sometimes coincide), you can easily port the game. Objective-C is actually a very good language and in some areas it is easier than AS3! For example, no need to worry about the garbage collector; because The latest versions have become very clever in the field of memory management.

Tell me a little about the new mode in AIR for background tasks, how does it even work? In Starling 1.5 features, it is often mentioned.
The background task execution mode is not associated with workers (who still work only on the desktop). This mode means that you can execute some code when the application is in the background. There is not much to do, iOS limits tasks to save battery power, but in some cases, the background mode is useful, for example, you can finish the download.

How did you meet your work colleague?
Actually, I know Holger from kindergarten! He was always one of my closest friends; we even went to the same school! After university, we worked for a while in different companies. And then together they founded Gamua.

Do you plan to expand the team? For example, additionally write games.
Not now. First, we want to keep the command small and the intra-command processes simple. Usually, as the company grows, more time is spent on holding meetings and coordinating plans. I want to program, to be a director. Although of course the capabilities of the company of 2 people are very limited. Therefore, for example, if we want to start another project, we will have to expand, because we are fully loaded with current work.

Do you write tests on your code?
You found my weak point! Starling has unit tests, but they don't cover the entire framework. It’s not so easy to write tests for the code associated with Stage3D, you need to prepare a special environment, and I don’t have enough time for it.

How does Adobe sponsorship work if I want to create a super duser tool?
As I said, Adobe turned themselves to me, and not vice versa. So I do not know how to negotiate with them about sponsorship! I suppose you need to work on something that matches very well with the tools and strategy of Adobe, and also a bit of luck!
For us, sponsorship works great, I can’t think of anything better. Adobe provides enough freedom for the development of Starling. They just want game developers to have a quality tool.

What are your plans for future releases of Starling?
I have a lot of ideas for new features, but requests from the developer community always have the highest priority. I want Starling to be as stable and reliable as possible! Therefore, I add new features when the current functionality works flawlessly.

How old are you? When I first sat down at the computer, how did I get into IT?
I am 33 years old and I have been interested in computers since the first Commodore 64 in the 80s. I started learning programming at school and learned the basics of playing with BASIC. It always seemed to me fascinating that in some way you can tell a small gray box what you need and it will carry out your orders!

Where did you study?
I studied Media Technology and Design at the University of Applied Sciences of Upper Austria, which gave me knowledge in both design and programming. That is why I have always loved the development of games: in this area, both talents are needed.

Family Children?
Actually, I got married a couple of days after the first release of Starling in 2011! I want to tell you that it was a stressful time ... organizing a wedding and preparing for release at the same time (while I was still working on my main job during the day), which required a lot of effort. But not in vain, because now I can work on Starling as my main job, and of course I have much more time for my wife.

Rest where? how often?
Actually, I like to spend my free time with a good book on the couch or in the sun. Or I play toys from the Zelda series or Super Mario, I didn’t miss any of them at all! Also, I like to ride a bike in the Austrian outback. And sometimes travel abroad. I do not like lying on the beach, it is much more interesting to drive around the country by car and see as much as possible. I would like to travel around Russia someday! If only to know the language ...!

Bike, cool! What kind of bike? We have many developers ride bicycles.
Haha, most of you will smile if you see what I use to get around! I do not know why, but I am a fan of everything small and portable. As a child I didn’t have a NES, but there was a Game Boy! And now I have a Smart and a folding bike! They fit perfectly and I can easily place my bike in the trunk.

Here are a couple of pictures for understanding the idea. (These are not real photos of my vehicles, but they are very similar).



Is it the first time in Russia? Liked? What is remembered?
Yes, this is my first time in this beautiful country! To my shame, I managed to see only a small piece of Moscow. But I met many really good people and really want to come sometime again, so there would be more to get acquainted with the country and its people!

In conclusion, it is worth adding that the Gamua development team, although it consists of only two people, but makes a very high-quality and complex product. How they do it I do not know. Perhaps these are personal qualities (both developers are total perfectionists “energizers”), maybe European mentality, or sponsoring Adobe (with a large degree of freedom in development). But an illustrative example, the same Sprite Kit in Apple (and many other frameworks), most likely, is being developed by a certain group of developers (as is customary in the “enterprise” development).

The interview in English can be found by reference: Talks about Starling. Daniel Sperl Q & A session , comments on the translation and the text in a personal promptly correct. If you have something to ask the developers, write a comment, ask and write it off.

Source: https://habr.com/ru/post/224347/


All Articles