суббота, 28 апреля 2012 г.

Хочешь сделать хорошо — сделай это сам: редактор UnityScript на базе FlashDevelop 4

FlashDevelop 4 + UnityScriptКоротко: я подбил автора FlashDevelop внедрить в его редактор поддержку UnityScript и оказал посильную помощь в адаптации. Рабочий билд можно скачать здесь. А теперь подробно: кто-то, возможно, читал мой предыдущий пост где я изучал доступные редакторы для UnityScript и пришел к выводу, что все как-то кривовато и хочется большего. Опуская текст предыдущей статьи, могу сказать, что наилучшие результаты показал некий UnityDevelop — билд FlashDevelop старинной версии 2.0, который был адаптирован под Unity-версию javascript'а. Оно и не удивительно, ведь по своей сути UnityScript — это просто-таки близнец ActionScript'a. В целом — IDE выглядела неплохо, но хотелось, конечно же, — большего. И тогда я пошел к разработчикам FlashDevelop на форум… Один из разработчиков (Philippe) откликнулся и заинтересовался. И работа пошла. Буквально за неделю мы с ним собрали работающий билд с поддержкой UnityScript. Конечно что касается кода — по большей степени сделал все он (за что ему огромное спасибо). Я больше направлял :)


Читать дальше: Хочешь сделать хорошо — сделай это сам: редактор UnityScript на базе FlashDevelop 4

вторник, 17 апреля 2012 г.

Stripper - утилита для сборки страйпов(strips)

Привет, читатель!

Хочу поделиться с тобой одной самопальной утилиткой, полезной любому, кто часто создает спрайты для игр в 3D редакторах.

Дело в том, что обычно 3D редакторы рендерят каждый кадр анимации объекта в отдельное изображение и ручная компоновка этих изображений в одну длинную полосочку-раскадровку - есть процесс мучительный и долгий. Предлагаемая утилита сама переберет все изображения и сформирует страйп (strip).


Stripper - утилита для сборки страйпов(strips)

Читать дальше: Stripper - утилита для сборки страйпов(strips)

вторник, 10 апреля 2012 г.

Геймдизайнерам об игроках или как программировать игроков?

Вступление 1.

Много думал и анализировал информацию на тему разработки игр. И чтобы не потерять, а так же поделиться с людьми, получить подсказки, советы и комментарии — решил оформить и выложить статью. На сегодняшний день “геймдизайн” все больше обретает очертания некой науки, требующей особого подхода и изучения. К сожалению, в общем доступе находится очень мало структурированной информации. Что касается иностранных авторов, имеющих большой опыт и ряд успешных проектов — зачастую их труды так и не попадают на прилавки отечественных магазинов. А изучить их в оригинале многим мешает языковой барьер. В данной ситуации спасением служат статьи, где люди делятся впечатлениям и личным опытом по разработке игр. Эти статьи не только и не столько доносят до читателей новую информацию, сколько подают ее в новом свете, позволяя более четко осознать и отобразить в жизнь.

Вступление 2

Хочу отметить, что на написание материала оказало влияние выступление на Sociality Rocks 2011 Henric Suuronen — руководитель студии Wooga, разработчика Bubble Island и других хитов. Особого внимания заслуживает статья Андрея Плахова “Геймдизайнерам о программистах или как программировать программистов”. По аналогии с той статьей возникла мысль, что программировать можно и пользователей тоже. Программировать их модель поведения, чтобы их развлекать и извлекать нужные нам ценности — платежи, удержание в игре, привлечение новых игроков. И одним из инструментов удержания служит набор функций в приложении, который можно условно назвать игровым циклом. Об этом мы и поговорим далее Читать дальше: Геймдизайнерам об игроках или как программировать игроков?

четверг, 5 апреля 2012 г.

Динамическая генерация текстурных атласов

Давно задумываюсь: "А не попытаться ли перевести Flixel на Stage3D?" Сам автор движка обещал, что когда новая версия flash-плеера с аппаратной поддержкой 3D получит достаточно широкое распространение, то он добавит эту фичу. Но новостей от него пока не слышно; тема на форуме фликселя, посвященная планам по разработке новой версии, тоже довольно давно не обновлялась. Поэтому и мысли такие. Кроме того, в сети появилось несколько очень хороших уроков по stage3D, в которых рассматривается использование нового API для разработки двумерных игр. Из них можно вынести очень полезные сведения, связанные с оптимизацией графики:
  • необходимо минимизировать количество вызовов метода drawTriangles(), т.к. он довольно ресурсоемок;
  • также следует использовать как можно меньше текстур, т.к. размеры текстур могут иметь строго определенные значения (64х64, 128х128, 256х256, 512х512, 1024х1024 или 2048х2048). И если в Вашей игре используется множество маленьких изображений, для каждого из которых Вы будете создавать новую текстуру, то видеопамять будет расходоваться нерационально (в каждой такой текстуре будет много "пустого места") и довольно быстро закончится.
 Для решения этих проблем рекомендуется использовать "пакетный рендеринг" (не знаю, правильный ли я использую термин, на английском он пишется batch-rendering), при котором мы за один вызов метода drawTriangles() пытаемся отрисовать все полигоны, использующие одну и ту же текстуру. Для этого нам и понадобится генерация текстурных атласов, вынесенная в заголовок статьи и позволяющая значительно уменьшить количество текстур (о пакетном рендеринге я скорее всего напишу в следующей статье). Суть его в следующем: на входе мы имеем множество мелких изображений, а на выходе -- одно (это в идеале) большое. На русском языке уже есть, по крайней мере, одна статья от flash-сообщества, посвященная этому вопросу -- класс для генерации текстурных атласов, в ней дается исходник класса, использующий рекурсивный метод построения атласа. Данный класс мне показался не слишком понятным, а так хотелось самому разобраться в алгоритме, благо что в статье приведена ссылка на англоязычную статью по данному вопросу, из которой и становится ясен общий принцип.
Читать дальше: Динамическая генерация текстурных атласов

вторник, 3 апреля 2012 г.

Циклы параллельных наград

Grand Prix StoryВ январе подсел на классную игру на iPad2 – Grand Prix Story от Kairosoft. Эти разработчики делают отличные игры про менеджмент. В свое время выстрелили аддиктивной Game Dev Story. Потом еще выпустили несколько проектов, скроенных по той же формуле.
Давно уже хотел поделиться схемой циклов параллельных наград из реальной игры. Те схемы, которые у меня есть – или из устаревших игр, или из игр, в которые никто не играл. Поэтому решил использовать для примера GP Story – игра относительно свежая, и ее легко можно найти в Appstore и Google Play.
Для понимания этой заметки желательно ознакомиться со статьей “Параллельные награды”.

Общая информация

[...]
Читать дальше: Циклы параллельных наград

четверг, 29 марта 2012 г.

Alternativa3D 8 вышла в Open Source!

Друзья, 29 марта 2012 года произошло важное для компании AlternativaPlatform и, надеемся, для многих из вас событие! После шести лет развития в закрытом состоянии графический Flash 3D движок Alternativa3D 8 выходит в Open Source. Исходный код опубликован на портале GitHub. С открытием исходного кода в истории Alternativa3D начинается новый период. Мы рассчитываем, что силами сообщества технология будет развиваться быстрее, а также станет понятнее и доступнее благодаря росту числа учебных и аналитических материалов от разных авторов на разных языках. Публиковать их, кстати, можно в нашей Базе знаний. Со своей стороны мы не прекращаем развитие и поддержку движка, так что идеи и предложения приветствуются — вы всегда можете оставить их на нашем форуме.
Согласно обновленной лицензии, любая организация или частное лицо может свободно использовать технологию в своих целях. При этом размещать в созданных на движке проектах логотипы и иные упоминания об AlternativaPlatform как разработчике Alternativa3D более не требуется. Тем не менее, мы будем признательны за такие упоминания.
Перейти к исходникам
Обсудить на форуме
Читать дальше: Alternativa3D 8 вышла в Open Source!

среда, 28 марта 2012 г.

Flash Player: планы на будущее — много замечательного!

Снова привет!
Сегодня вместе с анонсом premium функционала и релизом Flash Player 11.2 / AIR 11.2, Adobe обновили свои планы на будущее относительно Flash и показали массу отличного функционала который появится в этом году!
Взгляните на переведённый быстрый копипаст из их поста:
Flash Player «Cyril»
После релиза Flash Player 11.2, во второй половине 2012го, Adobe планирует выпустить релиз Flash Player’а под кодовым названием «Cyril».
Некоторые из запланированных нововведений:
  • Поддержка клавиатурного ввода в полноэкранном режиме
  • Улучшенная поддержка аудио для работы с аудио с меньшими задержками
  • Возможность прогрессивной поточной передачи текстур для Stage 3D контента
  • Поддержка LZMA сжатия для ByteArray
  • События для кадров
  • Поддержка сжатия BitmapData в JPEG и PNG форматы
  • Поддержка требований к «песочнице» для Mac OS X App Store приложений
Здорово, не так ли?
Flash Player «Dolores»
Кроме того, вслед за «Cyril», Adobe планирует релиз ещё одной версии Flash Player под кодовым названием «Dolores».
Некоторые из запланированных нововведений:
  • ActionScript workers (позволяет исполнять ActionScript в нескольких параллельных потоках — многопоточность проще говоря)
  • Поддержка продвинутого профайлинга (Telemetry)
  • Расширение поддержки видео карт для Stage3D (начиная с 2005/2006)
  • Увеличение производительности ActionScript при компиляции под Apple iOS
  • API для получения индекса производительности — для получения сведений о производительности текущей среды
  • Событие мыши Release outside
  • ActionScript 3 API для прямого доступа к быстрым опкодам работающим с памятью (те, что используются в Alchemy) прямо из as3 кода! (премиум при использовании вместе со Stage3D)
[...] Читать дальше: Flash Player: планы на будущее — много замечательного!