Как стать автором
Поиск
Написать публикацию
Обновить
23.2

Action Script *

Объектно-ориентированный язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Particles System в моделировании толпы (3)

Время на прочтение4 мин
Количество просмотров9.1K
Продолжаем разговор от 10.04.2014 (Particles System в моделировании толпы(2)).

В этой части:
  1. добавлю гибель стрелок (ведь взрывы убивают)
  2. поиграюсь с настройками эмиттеров — хочется эпичности


добавлю гибель стрелок (ведь взрывы убивают)

Для того, чтоб «убить стрелку», есть много разных способов. Я же выберу самый распространенный — уменьшить некое «количество здоровья» до нуля или меньше. Но для того, чтобы что-нибудь уменьшить, надо этим самым сначала снабдить — здоровьем (HealthInitializer).
Подробности

Паттерн конечные автоматы для Ash Entity System фреймворк

Время на прочтение10 мин
Количество просмотров8.2K
Два года назад познакомился с замечательнейшим фреймворком для разработки игр на Actionscript Ash (почти сразу после знакомства с ним, пришло понимание, что фреймворк подойдет под любой язык. А еще чуть-чуть позже появились порты фреймворка под другие языки — на момент написания перевода имеется 7 штук). Некоторое время распирало желание поделиться находкой с русскоязычным сообществом, пока меня не опередили переводом на Хабре. Теперь вдогонку хочу выложить перевод касательно реализации почти незаменимого паттерна Finite-State Machine для Ash Entity System фреймворка.
Подробности

Particles System в моделировании толпы (2)

Время на прочтение9 мин
Количество просмотров7.2K
Продолжаем разговор от 07.04.2014 (Particles System в моделировании толпы).

В этой части добавляю:
  1. медленные персонажи (это будут крупные стрЕлки)
  2. огибание в пути медленных стрелок быстрыми
  3. взрывы (с разбрасыванием тел)

Подробности

Particles System в моделировании толпы

Время на прочтение8 мин
Количество просмотров11K
многие идеи, которые приходят ко мне, уже кто-то реализовал или скоро реализует (цитата с просторов интернета)


В далеком 2001 году меня, любителя стратегий реального времени, поразила игра “Казаки”. Поразила ГИГАНТСКИМИ толпами, бродящими по карте. Поразило то, что эти толпы довольно резво бегали на тогдашних маломощных компьютерах. Но в то время я работал на скорой помощи, был далек от программирования, потому восхищением дело это тогда и ограничилось.

Уже в наше время захотелось сделать игрушку с примерно подобным количеством подвижных юнитов — чтоб “эпик” просто зашкаливал(!). И чтоб эти юниты не просто двигались, а двигались внешне(!) осмысленно. И чтоб (главное), все это великолепие работало на слабеньких мобильных платформах.

Встал вопрос — как? С графикой вопросов нет — на любой современной платформе есть разные по-произодительности графические библиотеки, которые займутся выводом толпы на экраны. Главный вопрос — как программно реализовать осмысленное (ну или бессмысленное) нечто, что игроком воспринималось бы однозначно — это подчиняющаяся каким-то стимулам толпа, а не просто набор мельтешащих фигурок.

Уверен, существует куча рекомендаций, литературы, и даже реализаций. Но меня интересовало что-то “простенькое”, что можно применить в незатейливой игрушке для “мобилы” и собрать “на коленке”. Т.е. дешево и сердито, а главное — понятно для меня(!).

Кратко опишу рождение своего варианта идеи.

Как «не программист» игру писал

Время на прочтение7 мин
Количество просмотров90K
Всем привет. Я хочу, чтобы этот пост послужил мотивацией для всех начинающих игроделов, да и не только для них. Статья не содержит сухой научной информации, которая так свойственна настоящим программистам. Хочу поделиться с вами своей историей, на мой взгляд, довольно увлекательной.

Началось всё с того, что ровно год назад меня посетила идея: сделать игру своими руками. Назовите это модным, популярным или трендовым, мол, сейчас многие хотят и делают, но для меня это было, как если б я китайский язык учить решил, да не просто, а так, чтобы с дипломатами китайскими на одном уровне разговаривать.
Читать дальше →

Merge sort и AS3. Обгоняем родной Vector.sort(Array.NUMERIC)

Время на прочтение4 мин
Количество просмотров10K

Слева — mergeSort, справа — родная сортировка. PepperFlash и 75 миллионов элементов.
Читать дальше →

Что такое Entity System Framework и зачем он нужен в геймдеве?

Время на прочтение18 мин
Количество просмотров53K
На Хабре уже есть очень много интересных статей про создание игры с нуля, но мало статей, описывающих что делать, чтобы своя любимая поделка не превратилась во Франкенштейна и дошла до вменяемого состояния. Автор оригинальной статьи рассказывает, как эволюционировал код игрового движка от кучи хлама в основном цикле к продуманной, расширяемой архитектуре, использующей Entity Component System. В статье много кода, который почти весь часто повторяется — но я не стал его выбрасывать, поскольку с ним будет понятнее, какие изменения вносит автор и как это отражается на всей структуре. Статья рассчитана на новичков, вроде меня, которые уже настрочили несколько «гениальных» прототипов, но теперь не знают, как разобраться в их коде.
Читать дальше →

Вирус на сайте или реверс-инжиниринг Exploit.SWF.254

Время на прочтение5 мин
Количество просмотров29K
Все началось с того, что на моем рабочем ноутбуке (Win XP) админ установил новый антивирус. В один прекрасный день, когда я зашел на один из своих сайтов, я обнаружил вот такую неприятную картину:



Update: Антивирус Dr.Web, скрипт до сих пор на сайте тут

Конечно же первое что я захотел сделать это удалить его, для этого нужно было просто зайти по FTP и прибить rss.js файл. Но тут вдруг оказалось что я не могу зайти на сайт по FTP, так как хостинг и домен не мои, и видимо недавно админы сменили логин и пароль. Дозвониться владельцам так и не удалось, зато понять что именно делает вирус было очень любопытно…

Что у вируса 'под капотом' - под катом

Определение процента схожести нарисованного 2d-полигона с заданным шаблоном

Время на прочтение6 мин
Количество просмотров30K
Приветствую, друзья.

Как вы знаете, в последнее время технология разработки игр для мобильных платформ развивается очень бурно. Игры пишутся на самых разных движках и языках, мы не будем в этой статье обсуждать, почему тот или иной язык/движок лучше или хуже (правда ведь?). Разработчики пытаются придумать новые интересные и удобные элементы управления игрой. Мне как игроку очень нравится использовать в игре геометрические элементы. Например такие, как в игре Джаггернаут для мобильных устройств.



Я попробую рассказать вам об алгоритме определения нарисованных 2d фигур. Свою версию движка я написал на языке ActionScript 3.0. При желании(и наличии базовых знаний по геометрии) его можно реализовать на любом другом.

Итак, нам необходимо по нарисованной руками фигуре определить процент схожести с имеющейся:


Читать дальше →

Отчёт по онлайн конференции RuHaxe #1

Время на прочтение3 мин
Количество просмотров8.4K
8 июня 2013 года прошла онлайн-конференция RuHaxe — первое событие в рунете, посвященное Haxe-платформе.

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

Под катом Вы найдёте видеозаписи каждого из четырёх выступлений, а также информацию о дальнейших планах развития конференции.
Читать дальше →

Сборка flex/as3 проекта с использованием gradle

Время на прочтение11 мин
Количество просмотров9.9K
После не самого удачного, на мой взгляд, эксперимента по сборке flex с использованием maven (подробности тут), решил попробовать gradle, про который пишут, что он взял лучшее от ant и maven и это следующий шаг в развитии. Решил провести эксперимент по такому плану:
  • flex compile (Path to FlexSDK/maven dependency)
  • as3 compile
  • flex unit run (dependency)
  • fla compile as static resource
  • reliase compress
  • code quality (FlexPMD)
  • multy module project

Кому интересно, что из этого получилось, прошу под кат, потому как текста достаточно много. Он писался прямо по ходу эксперимента, если читать совсем лень, то в конце есть ссылка на тестовый проект.
Читать дальше →

Away Builder. Или врагу не сдается наш гордый варяг

Время на прочтение2 мин
Количество просмотров16K


О смерти flash технологии было сломано много копий.
Кому-то флеш не нравится принципиально, кому-то нравится.
Но факт остается фактом, это самая распространенная технология в своем классе.
Не смотря на активное развитие конкурентов на рынке игропроизводства, вроде Unity3D, флеш еще достаточно актуален для браузерных игр. И даже пытается быть актуальным на мобилках.
Adobe продолжает развитие своей технологии и не так давно в совместно с Away3D был выпущен набор для разработчиков игр
Adobe Gaming SDK. В который входит 3D движок, 2D движок, билиотека GUI и прочие радости в виде продвинутого профайлера.

И вот 8 мая вышла новинка, о которой так много говорили большевики мечтали разработчики игр на флеше в 3D.

Все самое интересное под катом...

Сборка flex проекта с использованием maven

Время на прочтение9 мин
Количество просмотров8.1K

Вместо предисловия


Довольно много слышал о сборке flex проектов с помощью maven, но все как-то не доходили руки попробовать. С maven познакомился около года назад, когда попал работать в проект, бэк-енд которого собирался с помощью maven. Проект был гетерогенный: бэк-энд — java, пользовательский фрон-энд — flash, административный фронт-энд — java+js, бд — MySql. Исторически сложилось, что все это собиралось как-то. В один прекрасный день, было решено все это перевести на унифицированную сборку. Сразу скажу, что получилось с большими оговорками, но в конечном итоге сборку запускал именно maven. В java-мире использование maven уже почти стандарт, и, если следовать maven идеологии, все достаточно хорошо. В тот раз перевести флэш мне удалось через запуск ант-скрипта сборки. Теперь же, захотелось все попробовать по честному. Кому интересна данная попытка, прошу под кат.

Читать дальше →

Ближайшие события

Статическая переменная инициализируется 2 раза

Время на прочтение6 мин
Количество просмотров6.2K
Играясь с синглтонами-статикой-константами во флексе, вот на что напоролся:

Читать дальше →

Основы Native Extension на Java для AIR

Время на прочтение4 мин
Количество просмотров9.6K
Здравствуйте уважаемые хабрачитатели. Мой рассказ как видно по названию темы пойдет о основе и особенностях создании adobe native extension(далее ANE) для Adobe AIR, в моем случае расширения буду писать на java, для расширения функциональности AIR, на платформе Android. И так с вашего разрешения начнем.

Введение.


Что же такое ANE? Это инструмент который появился с версии Adobe AIR 3.0 и выше, он позволяет извлекать и выполнять куски нативного кода из среды AIR, условно мы можем выполнить любой нативный код. Выглядит расширение в виде скомпилированного файла библиотеки с расширением .ane.

Читать дальше →

PlayScript

Время на прочтение6 мин
Количество просмотров8.2K
Примечание переводчика: неделю назад Zynga открыла исходники проекта, упрощающего перенос игр с Flash на мобильные платформы. Так как на хабре много людей, которые пишут игры на флеше, либо под мобильные платформы, представляю вам перевод текста со страницы данного проекта. Вполне вероятно, что вы захотите использовать его в своих разработках.

Что такое PlayScript?


PlayScript это проект с открытым исходным кодом, представляющий из себя ActionScript-совместимый компилятор и Flash-совместимую среду выполнения, которая работает на Mono .NET и предназначена для создания мобильных приложений с помощью MonoTouch и Mono for Android. Сочетание Adobe FlashBuilder для создания веб-приложений и Xamarin Studio для мобильных позволит разрабатывать мультиплатформенные приложения с использованием всех преимуществ данных IDE, а также с возможностью доступа к нативным API на мобильных платформах.

Читать дальше →

ActionScript — Yes/No Future?

Время на прочтение4 мин
Количество просмотров7.1K
image
Сравнительно недавно передо мной встал выбор: что делать и как жить дальше. Что делать в плане какого то существования и работы в целом. К этому вопросу я решил подойти максимально серьезно, а точнее начал потихоньку выбирать область моей IT-деятельности. Выборов оказалась огромная куча, учи не хочу: C- подобные, Макинтоши и их ответвления, мобильные разработки и все такое прочее. Но мне хотелось выбрать что-то такое, что будет:
— глобальным
— актуальным 5-10 ближайших лет
— востребуемым в плане трудоустройства
— ну и конечно было интересным и увлекательным.

По совету многих друзей, знакомых ну и после прочтения некоторых статей в интернете, решил пойти в Flash программисты и начал работать в качестве игрового разработчика для казуальных игр и теперь работаю с ActionScript 3.0.
Но через некоторое время и после прочтения статей на Хабре я начал сомневаться, что я иду в верном направлении. А точнее, есть ли у меня будущее, как собственно и у флеша. Конечно, как в каждом объекте спора, мнения очень сильно расходятся и разрастаются войны невиданных размеров. И я решил окончательно разобраться, что же происходит сейчас с технологией Flash и в AS3.0 в частности. Кому стало хоть маленько интересно — прошу пожаловать под мой уютный кат.
Читать дальше →

Запись и модификация звука в браузере

Время на прочтение6 мин
Количество просмотров23K
Недавно решил for fun сделать сайт, на котором будет происходить запись и модификация звука. А ещё хотелось какой-нибудь соответствующей анимации. Как работать со звуком на С++ или C# я знаю, опыт есть, однако ни разу не делал этого в браузере.
Немного погуглив, выяснилось что не так уж и много возможностей записать звук. Самая широко распространенная — использование Flash. У меня нет опыта во Flash, к тому же весь UI и функционал я хотел сделать на JavaScript + HTML, поэтому нужно было как-то обойтись без Flash или с минимальным его участием. В итоге, я нашел jQuery плагин jRecorder для записи звука, который внутри себя в итоге использует Flash, а точнее ActionScript код. Но так как работа со звуком была обёрнута в JavaScript, то такой вариант мне подошел.

Читать дальше →

Загрузка, воспроизведение звука, использование микрофона в ActionScript 3.0

Время на прочтение5 мин
Количество просмотров8.9K
Пакет Flash Builder 4.5 и, собственно, язык ActionScript 3.0 предоставляет программистам широкие возможности по использованию в своих flex-программах и обычных флешках звука в целом и микрофона в частности. Зачем же это нужно? В первую очередь, это может пригодиться в создании таких программ, как всевозможные голосовые чаты. Также свое применение эти элементы могут найти и в сфере защиты информации — например, в системах распознавания голоса. Но в данном примере и в данной конкретной статье будет говориться не столько об этом, сколько об общих правилах использования этих элементов. Также следует отметить, что работа будет вестись c flex-приложением.
Читать дальше →

Поддержка протоколов TLS/SSL для сокетного соединения на AS3

Время на прочтение6 мин
Количество просмотров7.5K


Мы разрабатываем Flash клиент для клиент-серверного приложения с постоянным сокетным соединением и нам важно защититься от прослушки трафика. Один из способов такой защиты — SSL/TLS шифрование. Во Flash сделать это можно двумя путями — использовать родной SecureSocket или TLSSocket из библиотеки as3crypto. Ниже мы обсудим плюсы и минусы, производительность, а также проблемы с которыми мы столкнулись при внедрении обоих вариантов.
Читать дальше →