27 марта 2013

Новости #6

...вот и наступила долгожданная весна! День удлиняется, ночь сокращается, и теперь можно просыпаться под утренний солнечный свет! В воздухе появляются неуловимые нотки приближающихся перемен, талого снега, будущей зелени кругом. В общем, весна - прекрасная пора! И сегодня мне совсем не хочется никого грузить сложным кодом или обилием картинок... сейчас будет выпуск новостей, в котором я постараюсь описать последние происшествия в моем маленьком мире разработки игр...
В сегодняшнем выпуске:
  • я окончательно пересел на MacOS
  • зарелизили 'Mouse House'
  • ... а также сделали еще одну флешку 'Flip and Go', будем пробовать продавать...
  • изучаю Adobe Air, все непросто :)
  • решили сделать рескин своей старой игры
  • доход сайта Brain-Games.us перевалил за сто долларов 
Вот такие новости... а теперь подробнее :)
я окончательно пересел на MacOS
Всегда трудно привыкать к чему-то новому, стивнув зубы переучитываться на непривычный лад... Например:
  • какая-то новая кнопка Command, что за ерунда?
  • отсутствуют BackSpace, PageUp, PageDown и всякие такие... досадно...
  • очень мало софта
  • Файловая система вообще нетривиальна... Я полдня искал папку с файлами установленной программы!
  • из-за сильного отличия клавиатуры, скорость написания кода снизилась раз в пять, не меньше... это сильно удручает...
Но с другой стороны и приятностей немало... в общем, нелегкое это дело!


зарелизили 'Mouse House'
Об этом я уже писал, но все же... игру делали с упором "чтобы потом запустить на i-девайсы", посмотрим, получится ли :)
Флешку продали еле-еле и на мой взгляд недорого (2300$ за primary-лицензию), дистрибуция пошла жутко плохо, плеев мало, отзывы отрицательные, рейтинги низкие, сайтлоки пока не продаются. Конкуренция жесткая, нужно стараться сильнее, чтобы выжить!
На самом деле мне кажется, что я немного зазнался, вот высшие силы и поставили меня на место... Буду работать над своим характером, обещаю!


'Flip and Go'
Недолго думая, я решил сделать небольшой платформер с мега-фичей из Flippin' Ninja. Конечно, было добавлено много нового, переработан геймплей, всякие анимации, нарисовали мультик вначале... но контента все равно маловато, хотя трудились целый месяц! На днях будем выкладывать на аукцион, а там уж как пойдет... посмотрим!
Отводя месяц на разработку игры, мы тем самым пытаемся исследовать рынок что ли... не знаю, как правильно выразиться... идея в том,  что спонсоры зачастую сами не могут ответить на вопрос вроде "вы скажите какую игру хотите -  мы сделаем!" Поэтому, мы пробуем что-то новое, заводим контакты со спонсорами, релизим игры и так далее... Что важнее - высокая отполированность или инновационный геймплей? Необычный персонаж или безудержный юмор? Обилие анимаций или атмосферная музыка? Ответов я не знаю, но на все это сразу не разорваться, за двумя зайцами не угнаться... Вот и получается, что в каждой новой игре мы пытаемся сделать упор на какой-то "параметр", исследовав, насколько он важен потенциальным спонсорам...
Возможно, идея бредовая и в корне провальная... но почему бы не попробовать?!


изучаю Adobe Air, все непросто :)
О-о-о... это для меня совершенно новая арена. Игра, прекрасно "летающая" в браузере, показывающая запредельный ФПС, так вот эта же игра дико тормозит на iPad'е... Хм, немного забежал вперед, но все же. Итак, я пытаюсь скомпилировать Mouse House под iPad. Столкнулся с кучей проблем. Вот некоторые:
  • FDT Free имеет довольно странные настройки для билда под i-девайсы. И, чтобы их поменять, нужно купить Max версию. А стоит она прилично... Не буду описывать весь процесс, но крякал я ее действительно долго, даже пришлось подучить китайский, чтобы правильно установить таблетку. Пока работает, радуюсь.
  • Всякие сертификаты, провижн-файлы и так далее в какой-то момент чуть не свели меня с ума. В итоге я зарегистрировался как разработчик на год, заплатил 99$, скачал файлы и пару дней разбирался что куда вбить, какой файл куда подставлять и как добавить эти самые сертификаты в Keychain Access. Это был ужас, но все позади.
  • размеры игры... флешка - 640х480, iPad - 1024х768... необходимо все менять - пропорции уровней, расположение объектов, размеры кнопок и игровых элементов... также очевидно, что у тач-экранов есть наиболее удачные области для кнопок (под большой палец, например) - из-за этого необходимо полностью переосмыслить удобность многих решений из флеш-версии игры...
  • низкий фпс. На экране ничего не происходит, а игра тормозит! Невероятно... приходится изучать, как поднять фпс на должный уровень, экспериментировать, читать документацию и т.д... С этим пока не разобрался!
  •  
решили сделать рескин своей старой игры
Был у нас уже Gifts Pusher, затем еще Gifts Pusher 2 и обе эти игры набрали меньше миллиона просмотров... хотя идея-то вроде ничего! Проблема в новогоднем сеттинге? Не знаю, но, чтобы это выяснить мы решили сделать очередную игру в стиле "толкай предметы мышкой". Сделать это можно быстро, безопасно и такая разработка наделена смыслом :)
Итак, "рескином" называют такую переделку игры, при которой меняется только графика. Например, раньше защищались от гоблинов, а в рескине - от инопланетных захватчиков. Вот и мы будем просто заменять старую графику на новую, при этом оставляя геймплей и все игровые элементы на прежних местах.
Как будет немного времени - допилим неновогоднего пушера и будем выпускать! Посмотрим, что из этого выйдет...


доход сайта Brain-Games.us перевалил за сто долларов 
Тря-х-у-у! Уже полмиллиона просмотров! И сто долларов прибыли от рекламы... Надеюсь гугл чуть погодя опомнится и вышлет мне эту катастрофическую сумму! Также надеюсь, это только начало... Заодно я пустынными ночами делаю новый сайт взамен текущего. Дело для меня новое и продвигается оно жутко долго... Но только так я могу разобраться что к чему и научиться вносить необходимые мне изменения!

Вот и все... Коротко, ясно, немного эмоций... Всяких задумок очень много, времени на все не хватает. Этот журнал плавно узкоспециализируется только на flash-разработке. в общем, перемен много, как внешних так и внутренних! ура!

Сообщения, схожие по тематике:

16 коммент.:

  1. Молодец! Двигаешься!

    ОтветитьУдалить
    Ответы
    1. Благодарю!
      обычно летом у меня затишье, вот и стараюсь весной "поднажать"))

      Удалить
  2. Прокоментирую пару моментов:

    По поводу макоси.

    После винды первое время действительно кажется все не понятно и жутко не удобно, но спустя некоторое время начинает вникать в различия и даже начинаешь видеть плюсы в этом.
    "какая-то новая кнопка Command, что за ерунда?" кстати кнопка комманд мега полезная кнопка, в основном через нее работают все хот-кеи и что самое главное много хоткеев одинаковые во всех программах (cmd + , - Настройки, cmd + q - выход из программы, cmd + w - закрыть текущее окно программы ну и т.д.)
    "отсутствуют BackSpace, PageUp, PageDown и всякие такие..." если у тебя ноут, то все эти кнопки появляются через сочетание кнопки fn и delete(для backspace), fn и стрелки (для pageUp, pageDown и т.п.).
    "Я полдня искал папку с файлами установленной программы!" в макоси вроде каждая программа это один файл и они лежат в папке Applications =) Для того что бы посмотреть какие файлы внутри, надо нажать правой кнопкой и кликнуть на пункте 'show package content' или что-то такое.

    По поводу MouseHouse.

    "Флешку продали еле-еле и на мой взгляд недорого" как раз хотел узнать как вообще шла продажа, но ты сам рассказал=) Спасибо. В последнее время мучают раздумья стоит ли вообще браться за физпазлы или нет. Пока не пришел к однозначному ответу.

    По поводу Air.

    "низкий фпс. На экране ничего не происходит, а игра тормозит! Невероятно... приходится изучать, как поднять фпс на должный уровень, экспериментировать, читать документацию и т.д... С этим пока не разобрался!"
    Вообще советую использовать такой метод. Лучше кодом наверное.

    private static const ENTER_FRAME_DISPATCHER:Shape = new Shape();

    public function GameController(config:IGameConfig)
    {
    ENTER_FRAME_DISPATCHER.addEventListener(Event.ENTER_FRAME, this.update);
    }

    Смысл в том, что любой DisplayObject шлет Enter_frame и слушать каждое это событие не тру. По-этому лучше создать отдельный пустой объект, который ты и будешь слушать для своих нужд.
    Плюс надо попытатся заюзать пулы объектов(для того что бы не тратить по пусту память и не гонять GB по напрасну). Разобраться с ним можно за пару часов не торопясь. Если хочешь могу прислать свою реализацию.
    Плюс надо постараться отказываться от событий как таковых и использовать сигналы(либо их аналоги). Минус событий в том что они создаются и соответсвенно удаляются(опять же GB напрягается) в отличии от сигналов, который создаются один раз(при создании экемпляра класса, к которому относятся).
    Плюс попробуй посмотреть через профайлер(не знаю есть ли он в FDT) сколько памяти и на что уходит, сколько объектов создается и т.п.
    А вообще как бы печально это не звучало, что-то более менее динамичное и подвижное на Air пока проблематично сделать, либо вообще не возможно. Все это сугубо ИМХО вытекающее на опыте других =) не обижайся если что =)

    И еще хотел узнать, как вообще у вас происходит рабочий процесс с leric. Как вы общаетесь, как происходит поиск идей, какой системой для задач пользуетесь, как происходит деление прибыли (если не секрет конечно =) ) и тому подобные нюансы?

    ОтветитьУдалить
    Ответы
    1. да-да, cmd очень крутая, но в винде, например, скакать по словам, копи-паст и многие другие хоткеи закреплены за Control! а тут - скачем по словам с помощью alt, а копируем с помощью cmd... мои пальцы жутко устают от постоянного напряжения))
      cmd + q меня подводит, кстати... в FD за этим хоткеем закреплено комментирование строки, что очень удобно... а тут - бах, и все закрылось))

      на самом деле все круто, плюсов много, но вот эти минусы, связанные с переучиванием, тормозят скорость написания кода, заставляют гуглить те или иные решения... уф, но это все очень весело!

      о, да! насчет того, что программа выглядит одним файлом... это меня ввело в жуткий ступор! консервативный взгляд виндо-пользователя заставил меня полдня искать какую-нибудь папку 'Program Files'))

      аукцион MouseHouse был очень скучным... я был агрессивен в поисках и превлечении спонсоров, постоянно был на связи, делал рассылки типа "а у нас ласткол, спешите!")) и все в таком духе... жуть на самом деле! если я буду браться за физпазлы, то либо это будут быстрые рескины/вторые части, либо там будет какая-нибудь обворажительная мега-фича! думаю, нужно расширять границы физпазлов хотя бы до скролинга экрана, смешения с аркадо-платформеро-шутерными жанрами и всякого такого... игроки жаждут разнообразия!

      по поводу ENTER_FRAME... как я понимаю, у меня так и сделано... точнее, на него у меня подписан только основной менеджер, всем остальным он вызывает Update... я недавно писал про это. или я не так тебя понял?

      насчет пулов - на флеше пока не юзал, надо будет обязательно... спасибо, что напомнил! но конкретно в MouseHouse нечего кэшировать с помощью пулов - все объекты изначально на экране, они никуда не пропадают и новых не создается... по идее, в этом не должно быть проблем в данной игре, но я перепроверю!

      про сигналы много слышал, но не разу не смотрел, что это. благодарю за наводку! хотя событий у меня практически нет, вернее они есть, но не во время игрового процесса, а для глобальных изменений - нажали паузу, рестартнули уровень и т.д... а у меня тормозит во время игры!

      профайлер как и дебагер мне пока не удалось завести в FDT, там как-то все через левое ухо сделано на мой взгляд, приходится пока обходиться всякими "обвесами" вроде текстовых полей с дебаг-информацией... жуть!

      ой, по поводу рабочего процесса ты меня озадачил... даже и не знаю, что ответить... то есть ничего интересного на мой взгляд)) хм... чтобы не раскрывать все тайны (тут такое загадочное эхо вторит "тайны-тайны-тайны"), скажу, что мы с leric общаемся непосредственно, так как живем по-близости! поэтому никакой системы задач - все в текстовом файле с пометками +- в зависимости от законченности пункта! насчет идей - просто болтаем, перекидываемся мыслями, вспоминаем предыдущие задумки... и потом я говорю "ок, я сделаю прототип, поглядим, насколько это интересно")) прибыль - можно сказать, что поровну, так сложилось исторически и все рады! возможно, я в ближайшем будущем расколюсь и выдам все тайны... но сейчас я как-то оказался не готов и немного обескуражен твоим вопросом...

      большое спасибо тебе, что заходишь, советуешь и комментируешь! очень радостно видеть, что кому-то интересно то, что я пишу!

      p.s. кстати, видел вы продали ICanFly... поздравляю! надеюсь все круто и она скоро появится в AppStore! было бы интересно узнать как все прошло, а то я сейчас замышляю сделать типа такого ланчера и прикидываю, насколько это выгодно)) если это не секрет - расскажешь немного об игре и аукционе?

      Удалить
    2. "по поводу ENTER_FRAME... как я понимаю, у меня так и сделано... точнее, на него у меня подписан только основной менеджер, всем остальным он вызывает Update... я недавно писал про это. или я не так тебя понял?"

      Вся соль в том, что ты слушаешь отдельный объект у которого нет ни детей, ни родителей(статический и константа к тому же). Ради интереса попробую посмотреть реально ли есть пользо от такого=) А то где-то увидел и начал использовать, а есть ли реальное преимущество даже не знаю=)

      Тормозит во время игры из-за GB(сборщик мусора) скорее всего. А то как и когда он запускается ходят байки и доподлинно не известно каким закон все это подчинено. Т.е. ты может и ничего не создавал в памяти и вроде бы все должно быть ок, но вот GB захотелось запуститься и подчистить все то, что накопилось.

      Если хочешь попробывать профайлер попробуй поставить FlashBuilder. Вот там профайлер очень легко запускается и никаких проблем с ним не возникает особых.

      Кстати ради интереса можешь поставить просто какую нибудь приблуду для мониторинга памяти(наподобие того что юзает Антон Карлов) и посмотреть как у тебя ведет себя память во время тормозов(поидее должен быть виден скачек вниз - т.е. происходит высвобождение памяти).

      Очень интересно узнать про то что вы с leric общаетесь оффлайн=) удивлен=)

      ICanFly продали - ждем когда денежки упадут на счет. Обязательно напишу посмортем и опишу что да как. Про AppStore это ты конечно завернул=) Если честно не вижу смысла пока что идти на мобильные. Да и устал я от свинки=)

      Пользуясь случаем хочу пригласить тебя на свой бложек http://maximovanatoly.com
      Там пока что есть только еженедельный дайджест так сказать(надеюсь будет интересен), но планирую туда так же выкладывать свои мысли и заметки=)

      Удалить
    3. по поводу слушателя у отдельного объекта интересная идея, не думал, что это может хоть как-то влиять на производительность... если протестишь этот момент, то будет здорово!

      насчет тормозов какая-то странная история... фпс просто низкий, без скачков или рывков. держится где-то на 15 кадрах. отчего такое - пока не понял и сейчас занимаюсь другой игрой... как разберусь - обязательно черкну об этом! из-за того, что рывков нет, мне кажется, что это не чистильщик... кстати, на эмуляторе стабильно 35, все четко))

      да, мониторинг надо подключить, там вроде все просто... спасибо за напоминание!

      о-о-о, у тебя очень полезный журнал! вчера завис на целый вечер... круто! подписался!

      по поводу общения оффлайн... не знаю, почему я не сказал об этом сразу... в общем, дело в том, что leric - моя жена!)) вот так все просто...

      Удалить
  3. "Заодно я пустынными ночами делаю новый сайт взамен текущего"
    С нуля или на каком-то движке?

    ОтветитьУдалить
    Ответы
    1. WordPress... с нуля я бы не потянул... скоро опубликую ссылку на тестовый вариант, чтобы услышать в том числе и твой отзыв! бета-тестинг так сказать))

      Удалить
    2. С нуля не так уж сложно, хоть и долго :)
      Публикуй, я с радостью поделюсь впечатлением и подскажу что-нибудь по юзабилити. От тебя хотелось бы услышать от же самое:
      http://perfect-daemon.blogspot.com/2013/03/my-website.html

      Удалить
    3. По поводу WP можешь обращаться. У мну оч приличный опыт в этой области. Смогу проконсультировать, обратить внимание на некоторые моменты, посоветовать плагины для тонкой настройки.

      P.S. По ICQ меня сейчас трудно словить - скинь своё мыло через обратную связь в моём блоге.

      Удалить
    4. perfect daemon, о, супер! как будет немножко свободного времени - загляну к тебе на огонек и распишу свои ощущения!

      Триникс, круто! сегодня кину тебе свои контакты...

      Удалить
  4. Странно, что тормозит на пустом, Аир довольно хорошо доработали.
    По поводу флеша на иОс - желательно все растрировать, если сейчас сделано в векторе.
    Опять же нужно попрофилировать и выяснить, что именно тормозит - физика или отрисовка например.
    Есть очень мощный инструмент - Scout
    https://www.adobe.com/devnet/scout/articles/adobe-scout-getting-started.html

    Сборщик мусора для Air подкрутили, можно поигратся с параметром функции pauseForGCIfCollectionImminent
    http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/system/System.html#pauseForGCIfCollectionImminent%28%29
    http://blogs.adobe.com/cantrell/archives/2011/10/providing-hints-to-the-garbage-collector-in-air-3.html

    Вот рекомендации адоба по оптимизации help.adobe.com/ru_RU/as3/mobile/flashplatform_optimizing_content.pdf

    Mouse House и правда не так понравилась как предыдущие игры, раньше графика более теплая что-ли была, узнавался стиль.

    ОтветитьУдалить
    Ответы
    1. Gamer,
      о, ты меня навел на одну идею... дело в том, что мне не удалось подключить последний Аир, поэтому довольствуюсь версией 2.5, надо будет еще раз попробовать подключить, авось будет пошустрее!

      я многое растеризую, да... ок, Scout запомнил, обязательно попробую!

      большое спасибо за обилие ссылок! буду изучать!

      MouseHouse получился немного сырым, как я сейчас это вижу... жаль, что я не распознал этого сразу! будем стараться в дальнейшем!

      Удалить
    2. Да, 2.5 это, насколько я помню, вообще одна из первых версий в которой появилась возможность собирать под иОс.
      Так что я думаю с новой версией все может со старта быть хорошо.
      Нужно брать 3.6 или бету 3.7 (в ней что-то поправлено для последних изменений эппл)

      Как вариант еще можно глянуть в сторону haxe nme
      http://haxe.org/
      http://www.nme.io/
      http://www.nme.io/about/faq/

      По синтаксису очень похоже на as3, но публикует в нативный код.
      http://www.joshuagranick.com/blog/2011/10/28/simple-box2d-example-as3-and-haxe-side-by-side/

      Удалить
    3. Разница между аир 2.5 и 3.5 небо и земля

      Удалить
    4. Gamer,
      ок, попробую все-таки 3.6 подключить! но что-то пока в fdt я никак не разберусь, не тривиально как-то все...
      спасибо за ссылки! почитаю!

      Анонимный,
      отлично, значит так тому и быть и в ближайшее время испытаю крайнюю версию!

      Удалить