Фреймворк Starling. Інтерв'ю з розробником Денієлом Сперлом

    На недавно минулій конференції DevGamm 2014 мені вдалося поспілкуватися з чудовими людьми — командою розробників Gamua . Деніел сперли і Хольгер Вайсбек — ці хлопці творці фреймворків Starling і Flox , вельми корисних продуктів для спільноти Flash розробників.
На конференції Деніел розповідав про розробку мобільних ігор за допомогою Starling, a Хольгер про створення повноцінного хмарного бекенда за допомогою Flox.
 
Наше спілкування вилилося в невелике інтерв'ю з Деніелом про те як з'явився Starling, як він розвивався і не тільки.
 
 
 
 
 
Starling — це фреймворк для розробників ігор, які хочуть публікувати гри на декількох платформах. Він грунтується на AIR, кроссплатформенную Рантайм від Adobe який працює як на десктопі, так і на мобільних платформах. Оскільки Starling використовує GPU для отрисовки двовимірної графіки, з його допомогою можна робити динамічні ігри з високим FPS і великою кількістю спец-ефектів.
 
Такі компанії як Rovio, Zinga і Ubisoft використовують Starling. Найвідоміша гра на движку Starling — це "Angry Birds Friends"; а також кілька ігор для Disney!
 
 
У Starling 1.5 з'явився ряд нововведень, дізнатися про які можна на офицально блозі . У двох словах ця версія стала швидше і краще попередньої =). Тепер стало можливим використання величезних текстурних атласів, розміром до 4096x4096. А також зберігати саб-текстури в повернутому вигляді, що дозволяє ефективніше використовувати площу текстурних атласів. Ця версія фреймворку створювалася з прицілом на велику кількість мобільних пристроїв, так що учітвивалісь індівудуальності особливості (і недоліки) цих гаджетів. Програмісту тепер можна зосередиться на розробці, а не на налагодженні програми.
Інші нові фічі:
 - Знято обмеження на розміри текстур для iPad1 (Стало можливо використовувати прямокутні, а не квадратні текстури).
 - Тепер АssetManager може працювати фоновому режимі (коли додаток згорнуто).
 - Додані додаткові перевірки втрати 3д-контексту, що робить поведінку програми більш стабільним.
Загальне резюме, як кажуть розробники It just works ™ і я з ними повністю згоден.
 
 А тепер Q & A.
 
 
 
 Як з'явилася ідея Starling?
У далекому 2009, ми працювали над декількома іграми для iOS і не було фреймворків, які б нам дійсно подобалися. Я досить довго займався розробкою на Flash і подумав, що було б чудово мати Flash API для iPhone! Таким чином з'явився Sparrow — фреймворк, який припадає сестричкою Starling для Objective-C. Раптово після цього, в 2011, Тібо Имберт (Thibault Imbert) з Adobe зв'язався зі мною і сказав що добре б зробити такий же фреймворк як Sparrow, але тільки для Flash з підтримкою бібліотеки Stage3D. На той момент бібліотека тільки перебувала в розробці. Я був повністю заманений цим завданням, і захоплений донині! Ось так все почалося.
 
 Чому вирішили робити движок, а не ігри?
Взагалі то, я завжди планував розробляти та ігри теж! Але виявилося, що підтримка такої бібліотеки — це сам по собі дуже великий проект. Я постійно спілкуюся з спільнотою, переглядаю баг репорти та побажання щодо поліпшення. Майже ні на що інше не залишається часу. Однак, я впевнений, у мене буде можливість повернутися до розробки ігор!
 
 Виходить що співтовариство так-же активно бере участь у розробці, наприклад розширення Starling Particles включено в Adobe Gaming SDK. Які ще цікаві розширення додали користувачі? І як часто співтовариство додає нову функціональність, виправляє помилки і т.д.?
Я завжди дивуюся тому, скільки часу проводять користувачі на форумі Starling. Якщо у тебе є питання і ти його опублікуєш на форумі, є великі шанси отримати відповідь на протязі декількох годин! І з'являється багато цікавих розширень від сторонніх розробників; наприклад розширення "PixelMask" забезпечує можливість накладення маски на пікселі об'єктів Starling. Або "Graphics", яке забезпечує базові можливості векторного малювання (аналог API flash.display.Graphics). Люди постійно надсилають новий код! Я цьому дуже радий, однак мені доводиться розбирати цей код і коментувати його.
 
 Яке ПО використовуєте при розробці. Улюблена IDE?
Я використовую Flash Builder, так як це найкращий засіб інтеграції з Adobe AIR і працює відразу з коробки. Проте велика кількість розробників використовує InteliJ IDEA і добре відгукується про цю систему! Я як небудь її спробую. До того ж, остання версія Flash Builder досить "бажная" і добре мати в запасі альтернативний варіант.
Якщо ви розробляєте під Windows, то FlashDevelop хороша альтернатива. Я веду розробку на Mac'е, так що він мені на жаль не підходить.
 
 Чи працюєте ви вдома або в офісі, як взагалі відбувається координація роботи?
Фотку офісу в студію.

Я орендую невеличкий офіс на північному заході Австрії з моїм колегою Хольгером. Перший час, на етапі становлення Gamua, я пробував працювати з дому, але закінчилося тим, що я практично замкнувся вдома не бачачи білого світла! Загалом нічого доброго з такого підходу не вийшло. ;-)
 
У той час як я працюю над проектами Starling і Sparrow , Хольгер повністю відповідальний за наш новий проект "Flox". Ми обидва перфекціоністи, так що нам дуже важливо було розділити зони відповідальності.
 
 
 Розкажи трохи про Sparrow адже аудиторія розробників objC додатків ширше, ніж Flash розробників. Скільки уваги зараз приділяється розробці Sparrow?
Останні місяці у Sparrow не найкращі часи, так як Apple випустив "Sprite Kit", який дуже схожий на Sparrow. Спочатку для нас це було важко! Однак, я все ще думаю що у Sparrow є своя аудиторія. Зрештою це Open Source: Ви можете поколупатися всередині і починають будь-яку проблему самостійно. Якщо ж знайшлася проблема в Sprite Kit, тоді бажаю удачі, пишіть баг в Apple! Можливо вам не дадуть відповідь; а якщо вирішуватися полагодити, то потрібно буде чекати наступного оновлення iOS.
Нова версія Sparrow готується до випуску в найближчі два тижні! Оновлення включає великі поліпшення, наприклад збільшення продуктивності в три рази! Більш того, набір фіч схожий з тими які є у Starling, і це робить Sparrow потужним засобом для розробки ігор.
 
 Мігрують чи нововведення з Starling в Sparrow і навпаки?
Немає способу мігрувати від AS3 до Objective-C. Однак, Sparrow використовує такі ж формати файлів для бітмап шрифтів і текстурних атласів. І так як класи теж схожі (навіть імена класів і методів іноді збігаються), можна легко перенести гру. Objective-C, взагалі-то, дуже гарна мова і в деяких областях він простіше ніж AS3! Наприклад, не потрібно турбуватися про збирача сміття; т.к. останні версії стали дуже розумними в галузі управління пам'яттю.
 
 Розкажи трохи про новий режим в AIR для фонового виконання завдань, як це взагалі працює? У фічах Starling 1.5 він часто згадується.
Фоновий режим виконання завдань не пов'язаний з Воркер (які досі працюють тільки на десктопі). Цей режим означає що ви може виконувати деякий код, коли додаток знаходиться в фоні. Багато зробити не вийде, iOS обмежує завдання з метою збереження заряду батареї, але в деяких випадках фоновий режим корисний, наприклад можна закінчити завантаження.
 
 Як зустрів колегу по роботі?
Взагалі то я знаю Хольгера з дитячого саду! Він завжди був одним з найближчих моїх друзів; ми навіть вчилися в одній і тій же школі! Після університету ми якийсь час працювали в різних компаніях. А потім разом заснували Gamua.
 
 плануєте ви розширювати команду? Наприклад, додатково писати гри.
Не зараз. По-перше, ми хочемо зберегти команду маленькою і внутрішньо-командні процеси простими. Зазвичай, у міру росту компанії, більше часу йде на проведення зустрічей і узгодження планів. Я ж хочу програмувати, ан е бути директором. Хоча звичайно можливості компанії з 2 чоловік сильно обмежені. За цим, наприклад якщо ми захочемо почати інший проект, нам доведеться розшириться, тому що ми повністю завантажені поточною роботою.
 
 Чи пишете тести на свій код?
Ти знайшов мою слабку точку! У Starling є юніт тести, але вони не покривають весь фреймворк. Не так просто писати тести для коду пов'язаного з Stage3D, потрібно підготовляти спеціальне оточення, і мені ніяк не вистачає часу на це.
 
 Як працює спонсорування Adobe, якщо я от хочу створити супер пупер ТУЛЗ?
Як я вже говорив, Adobe самі звернулися до мене, а не навпаки. Так що я не знаю як домовитися з ними про спонсорство! Припускаю що потрібно працювати над чимось дуже добре збігається з інструментам і стратегією Adobe, а також трохи удачі!
Для нас спонсорство працює чудово, краще я не можу і придумати. Adobe надає достатньо свободи для розвитку Starling. Вони просто хочуть, щоб у розробників ігор був якісний інструмент.
 
 Які у вас плани на подальші релізи Starling?
У мене багато ідей для нових фіч, але запити від спільноті розробників завжди мають найбільший пріоритет. Я хочу, щоб Starling був якомога більш стабільним і надійним! Тому я додаю нові фічі, коли поточний функціонал працює бездоганно.
 
 Скільки тобі років? Коли перший раз сів за комп, як увійшов в IT?
Мені 33 роки і я цікавлюся комп'ютерами з тих часів, як у нас з'явився перший Commodore 64 в 80х. Я почав вивчати програмування в ще в школі і пізнав ази граючись з BASIC. Мені завжди здавалося захоплюючим те, що ти можеш деяким чином сказати маленькій сірій коробці що тобі потрібно і вона буде виконувати накази твої!
 
 Де вчився?
Я вчився за фахом "Медіа технології та Дизайн" в Університеті Прикладних Наук Верхньої Австрії, що дало мені знання як в області дизайну так і програмування. Саме з цього я завжди любив розробку ігор: в цій області потрібні обидва таланту.
 
 Сім'я, діти?
Взагалі то, я одружився через пару днів після першого релізу Starling в 2011! Я хочу тобі сказати що це було напружений час… організація весілля і підготовка до релізу одночасно (при цьому я ще працював на основній роботі вдень), що потребувало чималих зусиль. Але не даремно, адже тепер я можу працювати над Starling в якості моєї основної роботи, ну і звичайно у мене залишається набагато більше часу для дружини. ;-)
 
 Відпочинок куди? як часто?
Взагалі-то, я люблю проводити вільний час з гарною книгою на дивані або на сонці. Або граю в іграшки серії Zelda або Super Mario, взагалі не пропускав жодної з них! Ще, я люблю їздити на велосипеді по австрійської глибинці. І іноді подорожувати за кордон. Мені не подобається лежати на пляжі, набагато цікавіше об'їхати країну на машині і побачити якомога більше. Я б хотів коли-небудь помандрувати по Росії! Якби ще знати мову ...! ;-)
 
 Велосипед, класно! Який велосипед? У нас багато розробників їздять на велосипедах.
Хаха, більшість з вас посміхнеться, якщо побачить що я використовую для пересування! Не знаю чому, але я фанат всього маленького і портативного. У дитинстві у мене не було NES, але був Game Boy! А тепер у мене є Smart і складаний велосипед! Вони відмінно підходять, і я можу легко розмістити свій велосипед в багажнику. ;-)
Тут пара фоток для розуміння ідеї. (Це не справжні фото моїх транспортних засобів, але вони дуже схожі)
 
 
 Перший Чи раз в Росії? Сподобалося? Що запам'яталося?
Так, я перший раз в цій красивій країні! На свій сором я встиг побачити тільки невеликий шматочок Москви. Але я познайомився з багатьма дійсно хорошими людьми і дуже хочу як небудь приїхати ще раз, що-б було побільше на знайомство з країною та її людьми!
 
 На закінчення варто додати, що команда розробників Gamua, хоч і складається всього з двох чоловік, але робить дуже якісний і складний продукт. Як це у них виходить я не знаю. Можливо це особисті якості (обидва розробника тотальні перфекціоністи «енерджайзери»), може бути європейський менталітет, або спонсорування Adobe (з великим ступенем свободи в розробці). Але приклад показовий, той же Sprite Kit в Apple (та й багато інших фреймворки), швидше за все, розробляє деяка група-натовп розробників (як це прийнято в «Ентерпрайз» розробці).
Інтерв'ю англійською мовою можна знайти за цим посиланням:: Talks about Starling. Daniel Sperl Q & A session , зауваження з перекладу та тексту пишіть в личку оперативно поправлю. Якщо є що запитати у розробників, пишіть в коментарі Запитаю й відпишу.

    
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.