Anthill 0.3. И капелька магии

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

За прошедшие пол года Anthill получил много всяких улучшений, оптимизаций и исправлений, и все это благодаря активным пользователям, которые пишут мне о своих предложениях и найденных багах. За что им сразу же хочу сказать большое спасибо! Многие из тех багов и недочетов, которые были обнаружены другими людьми — врядли бы были замечены мной и исправлены в ближайшее время. И от сюда, конечно, же следует вывод: чем больше людей использует открытые наработки, тем лучше эти самые наработки становятся :) Полную историю изменений Anthill можно почитать здесь...

Anthill Wiki

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

Игры, использующие Anthill

Monstershill

Некоторое время назад начали появляться и игры, которые созданы с использованием Anthill, что меня, конечно, же очень радует и воодушевляет на дальнешую разработку и поддержку движка. Пока в Wiki можно найти ссылку всего на одну игру, разработанную не мной с использованием Anthill. Но я сам видел уже больше игр на Anthill, просто они еще в разработке и демонстрировались мне в закрытом режиме :) И я очень надеюсь, что в скором времени список игр, использующих Anthill, существенно пополнится.

Физическая надстройка для Anthill

Очень часто меня спрашивают про то, когда же появится надстройка для Box2D под Anthill. Стыдно признаться, но не смотря на все свои обещания, я так и не сделал её. Впрочем раньше я упоминал, что уже есть какая-никакая надстройка и вроде как можно было бы выложить её, как есть. Но проблема заключается в том, что эта надстройка писалась под самую первую версию Anthill и её невозможно без адаптации использовать в новых версиях. Более того, работая над продолжением Зомботрона 2, я обнаружил несколько критических проблем в её реализации и понял, что многие вещи не помешало полностью переписать. В общем, пока получается так, что надстройку для Box2D как минимум нужно переработать под новую версию, а в идеале, и вовсе все переделать так, чтобы без осбых переделок можно было использовать базовые возможности основных физических движков: Nape и Box2D. Вот тогда бы было совсем все замечательно! Но, на эту работу мне нужно время, которого на данный момент пока категорически не хватает. Поэтому ответ на вопрос: когда же появится надстройка для физики — по прежнему остается открытым.

Впрочем, отсуствие физической надстройки для Anthill совершенно не мешает некоторым разработчикам создавать физические игры с использованием Anthill ;)

Расширение «Живые огоньки»

Я думал, что первым дополнением, расширяющим возможности Anthill, станет обертка для физических движков, но все получилось немного иначе. И по совершенно случайному стечению обстоятельств первым расширением для Anthill стало «Living Lights».

Living Lights — это всего пара дополнительных классов, позволяющих легко и быстро создавать динамические и статические источники света с реалистичными тенями. Чтобы подробно не описывать их функционал и возможности я подготовил простую демку. Смотрим.

К мышке привязан динамический источник света — поводите чтобы увидеть его. Попробуйте отключить ночь и другие эффекты чтобы увидеть как это работает.

В Anthill Wiki доступна страничка, где можно скачать это расширение, исходники примера, а так же более подробно почитать о том, как его устанавливать и использовать (ссылка). Впрочем установка и использование в данном случае — это слишком громкое заявление, так как первое заключается в копировании дополнительных классов в нужное место, а во втором случае всего лишь нужно добавить актеры, которые должны отбрасывать тень в окружение источников света, и создать непосредственно сами источники света.

Но пока у данного расширения есть недостаток: статические источники, находящиеся за пределами экрана в момент первого их рассчета — рассчитываются неверно. Идеи, как решить этот вопрос у меня есть, но пока нет возможности доработать.

В общем исходники примера, как всегда, достаточно хорошо прокомментированы и ничего сверх естественного там нет.

За расширение хочу сказать отдельное спасибо Постика Денису! Денис попросил помочь ему разобраться с источниками света и подкинул пару примеров на эту тему, которые в свою очередь сподвигли меня задуматься о том, чтобы сделать такую вот плюшку для Anthill :)

Внимание! Запрещается использовать графику из представленных примеров в своих проектах. А вот исходный код абсолютно свободен для копирования, модификаций и распространенения.

Заключение

Вот такие вот весьма позитивные новости получились относительно Anthill. Если у вас есть какие-либо идеи, пожелания — я всегда рад вашим комментариям и письмам! На письма относительно Anthill стараюсь отвечать быстро и подробно :)

Объявление

Еще у меня есть маленькое объявление, не относящиеся к разработке игр. Если вы играете в Minecraft и ищете уютный, сервер без модов и плагинов, а так же без кучи оголтелого народа со всеми вытекающими из этого последствиями, то заселяйтесь к нам: 212.90.174.154:9933

Ну и раз уж такая пьянка: у нас еще есть клан в Clash Of Clans, так что если вам нравится эта игра, то будем рады видеть вас в нашем клане: «Kopateli». На данный момент в клане одни флешеры :)


Индикаторы: Action Script 3, Новости
Постоянная ссылка

 

 

очень здорово!И я считаю что физические движки не стоит прикручивать, т.к. очень много игр который не нуждаются в физическом моделировании,а если надо использовать физику, то соединить например с бокс2д не составит труда.

flac
26 Апреля 2013
— 21:53
#

Флэшка, бомба!
В первый раз такое вижу, нет слов.

Антон
26 Апреля 2013
— 22:05
#

Приятно что благодаря мне появилось что то в Anthil:3

Денис Постыка
26 Апреля 2013
— 22:25
#

flac, это почему не надо. Ещё как надо. Пусть будет, а люди сами выберут нужен им физ. движок или нет.

skyboy
26 Апреля 2013
— 22:37
#

O_o

Офигенно выглядят огоньки!
Видел примеры с динамическими тенями в 2D.
Везде одно говно, а тут чудеса.
Не ожидал.

P.S. Маленький вопрос по Anthill`у.
В нем рендер происходит на один большой BitmapData?

Fear_Factory
26 Апреля 2013
— 23:08
#

Заметил меню в верху.
Отлично придумано.

Fear_Factory
26 Апреля 2013
— 23:10
#

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

Fear_Factory
26 Апреля 2013
— 23:17
#

Невероятно

Cynoluck
26 Апреля 2013
— 23:21
#

Пока читал wiki нашел ошибку на http://anthill.ant-karlov.ru/wiki/guide:assets_loading в тексте "То есть вы можете использовать любой упаковщик текстур который умеет создавать атласы для Straling." - последнее слово с ошибкой... Было бы неплохо добавить указания на ошибки через ctrl+enter

Дмитрий
26 Апреля 2013
— 23:32
#

Прошу прощения за придирчивость к грамматике, но потом ещё увидел, что запятых не хватает(((

Дмитрий
26 Апреля 2013
— 23:34
#

Здравствуйте. Вы удивительный человек и игры у вас такие же. Наверно вы хороший математик, если такие вещи пишете сами.

imbaaa
26 Апреля 2013
— 23:40
#

@flac, физическая надстройка планируется как дополнительное расширение для Anthill. То есть классы для работы с физикой будут опциональными так же как и эти живые огоньки.

Ant.Karlov
26 Апреля 2013
— 23:41
#

@Fear_Factory,

> рендер происходит на один большой BitmapData?

Не совсем. Рендер производится в битмап равный размеру экрана (размеру камеры). Объекты находящиеся за пределами экрана не рендерятся, но обрабатываются.

Ant.Karlov
26 Апреля 2013
— 23:43
#

@Fear_Factory, в целом меня вдохновляют практически все интересные игры которые на слуху, которые созданы независимыми разработчиками и которые имеют не обычную или свежую игровую механику :)

Но в последнее время меня больше вдохновляют именно дети которые играют в игры. Когда видишь как ребенок (или подросток) играет в твою игру и видишь какие эмоции он испытывает, как относится к игре — многие вещи проясняются и становится ясно зачем и для чего все это делается.

Ant.Karlov
26 Апреля 2013
— 23:48
#

@Дмитрий, статьи в вики не проходят проверку на ошибки так как время от времени дополняются и обновляются. Но если у вас есть возможность и вы хотите по участвовать в поддержке и, возможно, в наполнении Вики, то вы можете просто зарегистрироваться и редактировать страницы самостоятельно: расставлять запятые и исправлять синтаксические ошибки или опечатки.

Спасибо! :)

Ant.Karlov
26 Апреля 2013
— 23:51
#

@imbaaa, нет, к сожалению. Я не математик, не физик и программист из меня средненький, как собственно и художник с аниматором — знаю всего по чуть-чуть и развиваться достаточно сложно, так как направлений много. Это правда!

Ant.Karlov
26 Апреля 2013
— 23:55
#

@Ant.Karlov, А не думали развиваться в чем-то одном? С вашим опытом можно открывать небольшую независимую студию ;)
Эх, я тоже средненький программист, в математике огромный пробел, рисовать не умею, но люблю игры и выдумываю различные игрушки, пока только в голове, времени не хватает. Считаю главной идей и качество в разработке игры, это когда приносишь кому-то удовольствия/

imbaaa
27 Апреля 2013
— 00:08
#

А почему ваш клан Копатели называется?

Максим
27 Апреля 2013
— 04:49
#

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

Иван Cheshir
28 Апреля 2013
— 14:42
#

Вот еще игра использует твой двиг
http://www.newgrounds.com/portal/view/612976

h812
28 Апреля 2013
— 19:16
#

непонятно зачем такие сложности с вводом с клавиатуры. допустим управление персом на WSDA, а игра онлайн и потом необходимо ввести сообщение, придется очистить горячие клавиши и повесить свой стандартный обработчик для ввода?

flac
28 Апреля 2013
— 19:45
#

@Иван Cheshir,

Раньше я пользовался SWFProfiler (в примере правый клик и > Show Profiler) — он меня всем устраивал поэтому я взял его за основу профайлера для Anthill и немного расширил его возможности.

Профайлер по приведенной выше ссылке, вы можете встроить в свой проект одной строчкой.

Ant.Karlov
28 Апреля 2013
— 21:02
#

@Максим,

> А почему ваш клан Копатели называется?

Случайно так получилось. Название такое случилось из-за того, что изначально клан создали для людей (копателей) с которыми мы дружно копали в Minecraft и Terraria :) Сейчас нас в клане всего 4 человека и нам там одиноко :D

Ant.Karlov
28 Апреля 2013
— 21:04
#

@imbaaa,

> А не думали развиваться в чем-то одном? С вашим опытом можно открывать небольшую независимую студию ;)

Если мне развиваться в чем-то одном, то мне придется делать что-то одно и тогда я не смогу делать игры в одиночку. А если открывать независимую студию, то придется развиваться в сторону руководителя. Но тут другая проблема: для независимой студии нужно независимое финансирование ;)

Ant.Karlov
28 Апреля 2013
— 21:08
#

@h812, спасибо за ссылку на игру. Порадовала! Поставил пятерку и добавил ссылку с описанием в Wiki :)

Ant.Karlov
28 Апреля 2013
— 21:09
#

@flac, в онлайн играх, в которых управление производится с клавиатуры, если человек захочет что-то написать в чат, то ему вначале нужно открыть чат (enter или другая клавиша), и тогда управление отключается на то время пока чат не будет закрыт. А в экшен играх еще существуют «горячие фразы» которые могут активироваться хоткеями без открытия чата вообще.

ЗЫ: Но если честно, то я не очень понял почему в комментариях к этому посту вы написали про управление и онлайн игры!? :)

Ant.Karlov
28 Апреля 2013
— 21:13
#

Ant.Karlov, хочу присоединиться к вам в Minecraft, ник будет Rokzero, какую версию для этого нужно скачать? У вас там свои текстур-паки? Ломать ничего не буду, люблю только строить =)). Надеюсь сервер в режиме выживания.

Rokzero
29 Апреля 2013
— 01:59
#

Ant.Karlov, можно узнатьпопросить туториал для обнаружения столкновений. До этого делал на Ant.Hill простенький тир - там все было понятно: если прицел (точка) попадает в bounds объекта. А для взаимодействия объект-объект как? Если можно с примером кода (:
И что бы дважды не вставать - а планируется простенькая встроенная физика как в Flixel?

Александр
29 Апреля 2013
— 15:54
#

@ Александр, если можно я влезу.
if (actor1.bounds.intersectsRect(actor2.bounds))
{
trace("intersect");
}

fred
29 Апреля 2013
— 18:41
#

создал карту из актеров (256 штук), и заметил такую штуку что иногда они прям полосками разъезжаются примерно на 1 пиксель,хотя я их не как не трогаю, а потом когда начинаю персом передвигаться и камера начинает двигаться по горизонтали, то вертикальные полосы исчезают , а если по вертикали то горизонтальные полосы исчезают (исчезать могут не сразу а с задержкой), как быть?

flac
29 Апреля 2013
— 19:48
#

@Rokzero, присоеденяйтесь.

Клиент нужен последней версии на текущий момент 1.5.1. Текстур-паки на свервер не ставятся, они применимы только к клиенту — вы можете поставить любые текстур паки которые вам нравятся самостоятельно, для своего клиента.

Сервер в режиме выживания, плагинов и модов никаких дополнительных нет. Сложность чуть выше нормы — мобы сильные.

Ant.Karlov
29 Апреля 2013
— 22:23
#

@Александр, на текущий момент нет встроенной физики, столкновения можно проверять только с баундсрэектами вручную. Простой физики пока не планирую так как для этих целей намного проще использовать полноценные физические движки: Nape или Box2D.

Ant.Karlov
29 Апреля 2013
— 22:25
#

@flac, посмотреть бы на скриншот чтобы понять о каких полосках идет речь. Скриншот можно прислать мне на почту.

Но могу предположить, что при скролле карты могут быть вертикальные и горизонтальные полоски если для тайлов включено сглаживание и карта прокручивается на значения меньше чем в 1pix.

Ant.Karlov
29 Апреля 2013
— 22:27
#

я установил цель для камеры она за ней ездит, но все остальное (кнопки разные) не хотят ездить,как сделать чтобы кнопки держались на месте?

flac
30 Апреля 2013
— 23:34
#

Господи, если AntHill будет поддерживать Nape - я буду его везде пиарить и писать только на нем!

Вопрос к Антону:
Планирую указывать наиболее подробную информацию об использованном в игре, для чего отвожу отдельную кнопку "Credits" в меню.
Если буду использовать Ваш движок, на который из Ваших сайтов предпочтительнее ссылатся?

Jim Karter
1 Мая 2013
— 13:51
#

@flac, чтобы кнопки не прокручивались, им нужно поставить флаг isScrolled = false или установить scrollFactor.set(0, 0) — оба способа в целом идентичный :)

Ant.Karlov
1 Мая 2013
— 15:25
#

@Jim Karter, Anthll и так Nape поддерживает, то есть вы смело можете использовать Anthill в связке с Nape уже сейчас. Просто на данный момент нет никаких стандартных классов у Anthill для взаимодействия с физическими движками.

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

Ant.Karlov
1 Мая 2013
— 15:29
#

огромное спасибо, а то даже не обратил внимание)
а зачем осевая точка изменяет локальные координаты анимации?

flac
1 Мая 2013
— 16:21
#

"...им нужно поставить флаг isScrolled = false или установить scrollFactor.set(0, 0) — оба способа в целом идентичный :)"

при isScrolled = false скролиться не будут только те объекты которые у которых запущена анимация play, а если без анимации то будет работать только scrollFactor.set(0, 0)

flac
1 Мая 2013
— 18:47
#

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

flac
1 Мая 2013
— 18:57
#

Ребят, может кто подскажет. Возникли проблемы с методом addGraphic, класса AntAssetLoader. Когда просто добавляю изображение в очередь на обработку
loader.addGraphic(myEmbedPicture, "myPicture");
и созданию актера с однокадровой анимацие, все отлично. Но при попытки создания анимации из изображений с секвенцией кадров
loader.addGraphic(myEmbedPicture, "myPicture", 32, 32);
компилятор ругается:
[Fault] exception, information=TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
Происходит это в классе AntActor, методе calcFrame (484), т.к. переменная _pixels = null в этот момент. Что делаю не так?

Иван
1 Мая 2013
— 23:22
#

@ Иван, а версия Anthill какая? :)
В новой исправлено.

fred
2 Мая 2013
— 00:53
#

@ Иван
P.S. Новая в смысле на гитхабе которая :)

fred
2 Мая 2013
— 01:01
#

@flac, при добавлении объекта в сущность, для добавляемого объекта применяется scrollFactor сущности в которую добавляем, поэтому сбрасывать scrollFactor следует после добавления.

Форум для Anthill по позже постараюсь организовать.

Ant.Karlov
2 Мая 2013
— 11:29
#

@Иван, это баг в классе AntAnimation. В последней версии на GitHub эта проблема уже исправлена.

Обновите Anthill с GitHub — вверху нажмите кнопку "Zip", когда скачаете архив со сборкой, удалите старую версию Anthill из своего проекта и скопируйте за место нее новую из скаченного архива с GitHub.

Ant.Karlov
2 Мая 2013
— 11:35
#

@Ant.Karlov, fred, действительно, после обновления с GitHub все наладилось, спасибо. До этого была версия с сайта - http://anthill.ant-karlov.ru/ (скачивал вчера).

Иван
2 Мая 2013
— 14:05
#

@Ant.Karlov
Я не правильно выразился. Стандартные классы имел ввиду.

Jim Karter
4 Мая 2013
— 11:13
#

Ant.Karlov, обновите ваш сервер пожалуйста к версии 1.5.2, поиграть охота =).

Rokzero
4 Мая 2013
— 19:07
#

@Ant.Karlov
Все таки, мне кажется вы хорошо учились по математическим наукам в школе и универе, а то вы такое делаете :) Я на такое не способен, никогда не считал математику за ни скучную дисциплину :)

imbaaa
4 Мая 2013
— 23:05
#

будет ли поддержка GPU ускорения (через Stage3D)?

flac
5 Мая 2013
— 02:25
#

imbaaa, самообразование рулит.

Дмитрий
6 Мая 2013
— 11:32
#

я уже делал физику nape для anthill
но топорно вышло, модифицировал AntGame
погляжу может быть в виде плагина лучше сделать действительно

.nodoxi
6 Мая 2013
— 13:10
#

Буду делать на Anthill
игру на конкурс Гаминатора
http://gamin.ru/blog/compo/10609

.nodoxi
6 Мая 2013
— 13:26
#

@Ant.Karlov Подскажи, пожалуйста.

У меня есть класс Player наследованный от AntActor с добавленной анимацией "Action". Action - это movieclip, который состоит из 2 символов с именем "head" и "weapon".

Вопрос: как обратиться к символу "weapon" из класса Player?
Через AntStorage не получается, тк возвращает AntAnimation и компилятор ругается, что у класса AntAnimation невозможно найти свойство weapon.

Дмитрий
6 Мая 2013
— 16:45
#

@.nodoxi, здорово! Присылайте потом ссылку на игру! :)

Ant.Karlov
6 Мая 2013
— 21:31
#

@Дмитрий,

> Вопрос: как обратиться к символу "weapon" из класса Player?

Никак. AntAnimation — это просто последовательность снимков (битмапов) того что у вас было в клипе.

Чтобы реализовать задуманный вами функционал, графический образ weapon надо вынести в отдельный клип и отдельно его добавить в кэш, а потом в Player добавить его отдельным актером:

// Объявляем переменную внутри Player
public var weapon:AntActor;

// Инициализируем внутри конструктора Player
weapon = new AntActor();
weapon.addAnimationFromCache("WeaponClip");

// Добавляем в игрока
add(weapon);

При добавлении не забудьте сместить weapon внутри Player так как вам нужно, а потом можно работать с ним как угодно через: player.weapon.

Ant.Karlov
6 Мая 2013
— 21:36
#

@flac,

> будет ли поддержка GPU ускорения (через Stage3D)?

Возможно. Но я пока не задумывался об этом серьезно. Поэтому что-то конкретнее чем «возможно» — не могу пока ответить :) Пока, в силу некоторых причин, нет необходимости работать с GPU.

Ant.Karlov
6 Мая 2013
— 21:41
#

@imbaaa,

> Все таки, мне кажется вы хорошо учились по математическим наукам в школе и универе, а то вы такое делаете :)

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

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

Ant.Karlov
6 Мая 2013
— 21:47
#

@Rokzero, сервер не мой. Админу пожелание передал.

Ant.Karlov
6 Мая 2013
— 21:49
#

Хм, интересно, это майнкрафтовский сервер упал, или нас всех забанили? :D

Annoh и друзья
11 Мая 2013
— 08:27
#

@Annoh, сервер упал, такое бывает. Сегодня починят. Когда банят — сервер онлайн но зайти невозможно :)

Ant.Karlov
11 Мая 2013
— 11:03
#

Ха-ха, спасибо, ты нас успокоил! :D

Annoh и друзья
11 Мая 2013
— 16:47
#

Антон, а где ты раздобыл Minecraft версию 1.5.1 для макоса? Целый час просидел в инете так и не нашел :)

Андрей
12 Мая 2013
— 02:54
#

как и все остальные игры эта ТОЧНО БУДЕТ УСПЕШНОЙ!!!

Mr.Guest
12 Мая 2013
— 19:56
#

на антхиле игры можно будет портировать под иось и андроид?

flac
13 Мая 2013
— 00:57
#

Антон, делай TD, а не Зомботрон 3.
Не будешь же ты через полгода делать Зомботрон 4? Это уже не серьёзно и плохой тон. Не ну ты конечно, можешь её сделать.
Но без явного отрыва в уровне это будет как погоня за деньгами.

TD уже есть.
Сейчас они самый популярный жанр.
Осталось добавить графику.

Есть минимальная возможность такого варианта? Варианта создания TD?

TD от тебя очень неплохо бы посмотреть.

Удачи!

Slipknot_ACDC
13 Мая 2013
— 15:58
#

@Андрей,

> а где ты раздобыл Minecraft версию 1.5.1 для макоса?

Я раздобыл на официальном сайте, там всегда актуальная версия :)

Ant.Karlov
15 Мая 2013
— 11:28
#

@flac,

> на антхиле игры можно будет портировать под иось и андроид?

Теоретически возможно, через AIR, но я с этими всеми связками не очень знаком поэтому не буду обнадеживать.

Сейчас еще человек делает порт Anthill на Haxe и хочет подключить Stage3D чтобы делать игры для мобилок на Anthill, но что у него из этого получится — я не могу даже предположить. Если интересно посмотреть, то ссылка на порт Anthill под Haxe есть на Wiki.

Ant.Karlov
15 Мая 2013
— 11:31
#

@Slipknot_ACDC,

> Антон, делай TD, а не Зомботрон 3.
Не будешь же ты через полгода делать Зомботрон 4?


Ну вот кино "Форсаж 6" начали рекламировать и вроде ничо так :) Продолжение Зомботрона хотят и ждут, во всяком случае я регулярно получаю письма и комментарии на эту тему.

> Есть минимальная возможность такого варианта? Варианта создания TD?

На данный момент у меня нет никаких мыслей и идей по поводу TD. Поэтому не будут вас обнадеживать по поводу разработки такой игры.

На счет популярности жанра TD я не уверен. Он безусловно известен и пользуется спросом, но насколько он популярен чем какой-либо другой жанр — это сложно определить.

После завершения текущей части зомботрона, я скорее всего продолжу работу над игрой про поезда, а там видно будет :)

Ant.Karlov
15 Мая 2013
— 11:45
#

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

Pamel
15 Мая 2013
— 18:07
#

будет 1 июня друг мой =)

Mr.Guest
16 Мая 2013
— 22:33
#

Антон, а как использовать сторонние библиотеки с готовым интерфейсов в Anthill. Напрмер эту: http://www.minimalcomps.com/ . Addchild не добавляет компоненты на экран.

Марк
16 Мая 2013
— 22:47
#

@ Марк, а без антхила добавляет?
Может и не в нем дело )

fred
16 Мая 2013
— 23:34
#

@Pamel, как долго — пока не известно. К работе над поездами вернусь летом.

Ant.Karlov
17 Мая 2013
— 11:33
#

@Mr.Guest, нет, нет. Не нужно дезинформировать. На первое июня был запланирован бета тест игры, а сколько времени он займет и сколько времени еще займет исправление багов и недоделок выявленных на нем — это не известно. К тому же я уже не успеваю закончить игру к намеченной дате бета теста.

Зомботрон выйдет где-то летом, я думаю.

Ant.Karlov
17 Мая 2013
— 11:35
#

@Марк, я использовал эти же самые компоненты в редакторе игры про поезда. Компоненты можно добавить только в AntState через addChild(). Например:

// Получаем доступ к текущему state
AntG.state.addChild(myDisplayObject);

В место myDisplayState указываем компонент или другой Sprite/MovieClip. Данный метод позволяет добавить DisplayObject в текущее игровое состояние.

Ant.Karlov
17 Мая 2013
— 11:43
#

очень жаль Антон ;``( я то готовился вот вот поиграю в новую крутотень =( очень жаль

Mr.Guest
17 Мая 2013
— 13:14
#

Антон, я же говорю addChild`ом если добавляешь, то ничего не появляется - просто чёрный экран.

Марк
18 Мая 2013
— 12:49
#

@Mr.Guest, фуллтайм работаю над игрой, в одиночку качественно и быстро не получается. Поэтому приходится делать либо качественно, либо быстро. Я предпочитаю первое.

Ant.Karlov
18 Мая 2013
— 14:08
#

@Марк, у меня не было с этим проблем. Как я уже писал выше — использую эти же самые компоненты для игры про поезда для реализации внутри игрового редактора и никаких проблем.

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

Ant.Karlov
18 Мая 2013
— 14:10
#

Антон, я новичок в программировании, уже пару лет думаю над проектом игры, а руки никак не доходят.. И так как проект немаленький и проблемы с быстродействием намечаются, решил попробовать использовать твой Anthill, ещё не писал на нём, пока изучаю только... и тут я решил найти реализацию hitTest`а... и обнаружил что у тебя в документации есть только хиттест по "прямоугольнику сущности", я правильно понимаю, что нет проверки по реальным пикселам? А как быть тогда?
А то в as3 был же hitTestPoint() с "shapeFlag:Boolean — Указывает, следует ли выполнять тестирование по фактическим пикселям объекта (true) или по рамке (false)."

Богдан
19 Мая 2013
— 12:44
#

не завидую тебе Антон =) тебе статью писать на коменты отвечать игру делать и кучу всяких дел! Я бы не справился ;)

Mr.Guest
19 Мая 2013
— 15:11
#

Антон, я отправил тебе проект. Глянь.

Марк
19 Мая 2013
— 16:05
#

РРеспект Антону =)

Вася
19 Мая 2013
— 22:17
#

Шикарное освещение :) Сервер майнкрафт функционирует? Пробовал зайти, не пускает

informatik2010
20 Мая 2013
— 09:41
#

Ага, прям захотелось в текущий проект вставить такой свет. Правда он там будет невтему...

BolT
20 Мая 2013
— 10:17
#

@Богдан, hitTest с попиксельной проверкой сделать не проблема. В следующем обновлении постараюсь добавить такую возможность. Спасибо за предложение!

Ant.Karlov
21 Мая 2013
— 10:48
#

@Марк, посмотрел и отписался.

Если кто-то еще вдруг ищет ответ на похожий вопрос, то обратите внимание на то где вы создаете компоненты. Если в методе create() состояния, то помните, что если вы не создаете камеру вручную, то она будет создана и добавлена автоматически после того как был вызван метод create() для состояния. Таким образом при автоматическом создании камеры, она будет создана и добавлена самой последней и соответственно перекроет собой все ранее добавленные объекты.

Варианты решения проблемы:

1. Создать и добавить камеру на сцену вручную перед созданием других компонентов (визуальных объектов).
2. Добавить компоненты в отдельный спрайт который позже поменять местами с камерой через swapChildren().
3. Создавать компоненты где-нибудь еще немного позже.

Ant.Karlov
21 Мая 2013
— 10:55
#

@informatik2010, в последнее время сервер наш работает с перебоями. Есть один исследователь который активно ищит грибной биом и постоянно роняет этим сервер :)

Ant.Karlov
21 Мая 2013
— 10:57
#

антон молодец !!!!

Егорчик
21 Мая 2013
— 13:17
#

Че как зрители с вами Гагатун и сегодня мы будем посылать комментарии Антону Карлову Антон мне очень понравились обе части но что же нам следует ожидать с 3 части зомботрона???

GagatunFeed
21 Мая 2013
— 13:21
#

Если что я есть на своем канале на Ютубе :3.

GagatunFeed
21 Мая 2013
— 13:23
#

Привет всем мне тут Гагатун скинул ссылку я .Поиграл в твои игры Антон мне очень понравились продолжай!!! И к статье,крутая подсветка можно было бы сделать миссию в зомботроне где с фонариком бегаешь а он освещает там куда смотришь!!!И у меня тоже есть свой канал на Ютубе ;3.

UsulessMount
21 Мая 2013
— 13:28
#

Даааааа сервер лагает из за того грибника-наркомана я заходил туда =) и у меня тоже канал на Ютубе =)

Mr.lololohka
21 Мая 2013
— 13:31
#

Антон это я привел сюда звезд Ютуба :3
Они меня послушали в твои игры поиграли и были довольны!!! :3

Mr.Guest
21 Мая 2013
— 13:34
#

Аноним! Да ты, я вижу, юморист! Для чего этот цирк?

Богдан
21 Мая 2013
— 14:30
#

@Ant.Karlov, благодарю за ответ!

Богдан
21 Мая 2013
— 14:34
#

@Ant.Karlov, беда, второй день пытаюсь зайти - Read timed out, надеюсь лаги поправятся:)

informatik2010
21 Мая 2013
— 16:10
#

Mr.Guest, ты юморист) для чего "приглашать звёзд Ютуба"? они же липовые) они даже в своих никах ошибаются! =))

Богдан
22 Мая 2013
— 21:23
#

Nape удобно расширением подключать, это да, кстати.
http://nodoxi.org/anthill/napeexp.swf

.nodoxi
24 Мая 2013
— 01:14
#

А указатель на физику всё равно в AntG нужен? Или с поддержкой плагинов что-то изменилось?

fred
24 Мая 2013
— 19:17
#

удобно конечно когда физика доступна через AntG, но тогда это уже не плагин.
у меня указатель на физику в статическом свойстве класса AntNapeActor.

.nodoxi
24 Мая 2013
— 19:33
#

Антон, скажи, а ты на сайте регистрацию сделаешь? А то напрягает, что люди могут написать от чьего угодно лица.

Богдан
24 Мая 2013
— 22:30
#

@.nodoxi, спасибо, обновился и сделал через плагин со static переменной, получилось хорошо.

fred
25 Мая 2013
— 17:52
#

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

Ну и новые интересные статьи конечно же будут! :)

Ant.Karlov
26 Мая 2013
— 09:18
#

@.nodoxi, здоровская демка. Мне понравилось! :) Если сделали физику отдельным расширением (без изменений в коде Anthill), то, если не жалко и есть желание, давайте знать, выложим ваше расширение в Wiki. Думаю многие вам будут благодарны за это ;)

Ant.Karlov
26 Мая 2013
— 09:20
#

@fred, в ближайшем обновлении система плагинов немного обновится. Самих плагинов это практически никак не коснется, но управлять активными и не активными плагинами станет проще ;) Можно будет ставить обработку определенных плагинов на паузу и возвращать их к работе незавсимо от чего-либо.

Ant.Karlov
26 Мая 2013
— 09:23
#

@Ant.Karlov, Благодарю =)
Я кстати на wiki каждый день засиживаюсь, вдруг спам появится - удалю) теперь это моё хобби))

@.nodoxi, Да, демка действительно здоровская) минут 10 баловался создавая over9000 элементов + наблюдал за fps =) Thanks

Богдан
26 Мая 2013
— 09:55
#

@Ant.Karlov
да, сделал отдельным расширением, поделюсь, конечно, вот только подключу, чтоб столкновения Nape посылали сигналы объектам.

.nodoxi
26 Мая 2013
— 10:15
#

Антон мне очень интересно но я начинающий программист не мог бы ты мне "разжевать" Про AntHill =) Я не очень смыслю в програмировании но хочу как ты делать игры ))))

EgorOK
26 Мая 2013
— 11:22
#

НЕ СМЫСЛИШЬ НЕ НАДО СЮДА ЗАХОДИТЬ это мой дружеский совет тебе егорОК здесь сидят в основном программисты!!!

Богдан
26 Мая 2013
— 11:24
#

А я нашел очень смешную игру !!!

Малыш
26 Мая 2013
— 11:56
#

@EgorOK, по Anthill достаточно подробно все разжевано в Wiki.

Ant.Karlov
26 Мая 2013
— 12:03
#

@.nodoxi, буду ждать. Спасибо! :)

Ant.Karlov
26 Мая 2013
— 12:03
#

@Богдан, круто! Спасибо за участие! :) Я тоже стараюсь по чаще заглядывать и наводить порядок, а так же готовить по мере возможности новые материалы :)

Ant.Karlov
26 Мая 2013
— 12:08
#

Ох спасибо а то я не понимаю

EgorOK
26 Мая 2013
— 12:47
#

Я передумал писать статью про зомботрон!!! наш отдел закрывают и все прощайте не поминайте лихом и вы не услышите обо мне прощайте!!!

И мне не очень нравиться то что зомботрон так долго я понимаю там все сложно........короче можете и не отвечать я все равно сюда больше не зайду=) я уезжаю в москву и там буду работать вице призедентом одной компании.......ну это мелочи конечно........................................................
С вами был Mr.Guest всем пока :D Удачи всем
[/u]Буду скучать

Mr.Guest
26 Мая 2013
— 12:59
#

да м я посмотрел........не умею я речи составлять :D

Mr.Guest
26 Мая 2013
— 13:08
#

@Богдан, КАК ЗАКОЛЕБАЛИ ТЕ, КТО ПИШЕТ ОТ МОЕГО ИМЕНИ!!!

@EgorOK Да, почитай Вики. В принципе, я на Anthill ещё сам не писал, но вроде там нет ничего сложного, если читал, например, Колина Мука.

@Mr.Guest, НЕТ!!! не уходи)

Богдан
26 Мая 2013
— 13:28
#

@Ant.Karlov
во демка чуть поинтересней стала )
click - строить
ctrl + click - бомба
shift + click - ящик
http://nodoxi.org/anthill/napeexplosions.swf

.nodoxi
26 Мая 2013
— 13:30
#

@EgorOK, я на самом деле тоже начинающий, относительно.. не сделал ни одной игры, хотя as3 уже пару лет изучаю))) времени нет) если хочешь - спишемся, может помогу)

Богдан
26 Мая 2013
— 13:34
#

@.nodoxi Вау! Шикарно))) пошёл баловаться))

Богдан
26 Мая 2013
— 14:05
#

Goodbye я ухожу все равно может свидимся лет через 5-6 но вы переписывайтесь :) не скучайте без меня

P.S это мой посследий комент ;)





С вами был Гость просто Гость так сложно прощаться ;`( но мы еще увидимся!!! ;)

P.SS как я вижу я уже не нужен Антону.....ну тем боле я ухожу не скучать без меня :)

Mr.Guest
27 Мая 2013
— 10:16
#

а вот по поводу этого, кто нибудь может что нибудь высказать?
http://www.sideroller.com/wck/

стоит ли его с anthill`ом использовать как конструктор уровней? или всё это слишком наповоротливо в итоге получится?

Alexander
28 Мая 2013
— 00:13
#

Мне кажется нет особого смысла.

.nodoxi
28 Мая 2013
— 12:11
#

а поподробнее можешь рассказать почему нет смысла?

Alexander
28 Мая 2013
— 15:02
#

World Construction Kit будет увеличивать размер флешки т.к вы будете использовать больше графических элементов

Юна
29 Мая 2013
— 09:01
#

Вроде бы куда swc файл с графикой не суй, размер флэшки от этого не поменяется. но то что размер флэшки увеличится это да. на 214 Кбайт больше чем при использование обычного Box2d благодаря Alchemy port. но при этом прирост прозводительности на 10 - 20%. Это что касается физики. А что касается конструктора уровней , немного поразмыслив пришёл к выводу что надо позаимствовать идеи некоторые из него(может быть) а в качестве движка хорошим выбором будет anthill. Ну всё пошёл дальше думать.
P.S. Антон спасибо за движок.

Alexander
29 Мая 2013
— 16:30
#

@.nodoxi, ты писал о том что делаешь игру на Гаминатор, так что? Не сделал? В участниках её нет, не успел или как?

Богдан
30 Мая 2013
— 07:54
#

Антон, ты не представляешь как я жду регистрацию =)

Богдан
30 Мая 2013
— 17:41
#

Антон... у меня такой вопрос.. вот если у нас есть сущность в которой 2 актёра, и если у сущности альфа поставить например на 50%, то при показе на экран что произойдёт? Эти два актёра будут как бы одним целым с прозрачностью или как 2 отдельных полупрозрачных объекта и в тех местах где они друг на друге, они будут просвечивать?.. то есть у комбинированной сущности с прозрачностью будет видна её структура? Конечно я мог бы сам проверить но я с anthill`ом ещё не работал...
А если будет видна внутренность, то как этого избежать? Каждый раз растеризовать эту единую сущность, а потом добавлять прозрачность? Или как? Помоги пожалуйста!

Богдан
31 Мая 2013
— 11:33
#

@Богдан,

> у меня такой вопрос.. вот если у нас есть сущность в которой 2 актёра, и если у сущности альфа поставить например на 50%, то при показе на экран что произойдёт?

Реакция будет такой же как и в случае с обычными Sprite и MovieClip — если оба спрайта будут полупрозрачными то они будут видны в некоторой степени и будут перекрывать друг друга. То есть один спрайт не исключает другого при перекрытии и они будут оба видны.

Правда в Anthill есть еще такая недоработка: если родительской сущности изменить прозрачность через alpha, то вложенные в нее актеры никак не отреагируют на это. Но отреагируют если использовать метод setAll():

parentEntity.setAll("alpha", 0.5);

— так можно установить всем вложенным объектам имеющим свойство alpha равным 0.5.

PS: И да, я тоже с нетерпением жду регистрации :) Скорее всего, анонимусам вообще будет запрещено что-либо писать.

Ant.Karlov
1 Июня 2013
— 20:53
#

Реквестирую hitTestObject для AntEntity!

kohver
1 Июня 2013
— 22:14
#

>@.nodoxi, ты писал о том что делаешь игру на Гаминатор, так что? Не сделал?

По теме игра не подошла, да и больше чем игра на конкурс получилась, я её делаю, и надеюсь скоро презентую. Underheim Caves

.nodoxi
4 Июня 2013
— 19:46
#

@.nodoxi Будем ждать! =)

Богдан
4 Июня 2013
— 19:51
#

Приветствую, Антон!
Вопрос не по теме поста: каким образом в зомботроне 2 получились такие красивые взрывы? Если приглядеться, то видна не только анимация огня и дыма, но и некое свечение позади взрыва. Это свечение рисуется отдельно с каким-нибудь хитрым/нехитрым режимом наложения? Какие, вообще, составляющие у зомбротроновоских взрывов, коли не секрет?

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

приветкакдела
5 Июня 2013
— 12:04
#

@kohver,

> Реквестирую hitTestObject для AntEntity!

Без проблем, только не очень понятно что подразумевается под Object? Извлечение объекта из группы по которому кликнули мышкой?

Кстати, в последней сборке Anthill на GitHub добавлен попиксельный hitTest.

Ant.Karlov
6 Июня 2013
— 05:25
#

@приветкакдела,

> Если приглядеться, то видна не только анимация огня и дыма, но и некое свечение позади взрыва.

Да, все верно. Во второй части зомоботрона я добавил вспышки делающие эффекты более красочными. Вспышки — это просто радиальные градинетные заливки рисующиеся с blend = "overlay". Заливки нарисованы и анимированны заранее, а в самой игре они используются как растеризированные анимации.

> И, раз уж заговорил про зомботрон, когда будет левел пак ко второй части?

Как раз сейчас активно работаю над дополнением. Но продолжение это не просто набор уровней — это полноценное продолжение истории с новыми фишками и т.п. :) Продолжение я должен был закончить еще в Мае, но из-за большого количества новшеств немного не укладываюсь в сроки. Игра должна выйти летом.

Ant.Karlov
6 Июня 2013
— 05:32
#

а физикс присутствует в зомботроне ???

Mr.Guest
6 Июня 2013
— 11:46
#

@Ant.Karlov,
Извлечение объекта из группы по которому кликнули мышкой?
Кстати да, а то AntMouse target всегда возвращает камеру.

И hitTestObject это разве не intersectsRect - проверяет на столкновение с рамкой?

fred
6 Июня 2013
— 19:01
#

Уважаемый, Антон, я позаимствовал из Вашего исходника "теста графики" раскадровку МувиКлипа взрыва и перерерисовал все кадры по своему, ориентируясь на готовое.
Получилось, что рисунок взрыва уникален, но по стилизации он походит на Ваш.

Надеюсь, это не возбраняется.

J.L.
11 Июня 2013
— 16:27
#

Привет, Антон. Как идет разработка Zombotron 3? Когда будет релиз? Ещё хотел узнать в Zombotron 3 физику ты используешь как надстройку Anthill для Box2D?

helio
13 Июня 2013
— 17:47
#

@helio, разработка в самом разгаре. Предположительно релиз игры ожидается с середины и до конца июля, в крайнем случае релиз состоится в начале августа.

> Ещё хотел узнать в Zombotron 3 физику ты используешь как надстройку Anthill для Box2D?

Сейчас я работаю над дополнением к Zombotron 2. То есть в новой игре используется старый Anthill и, да, старая надстройка для Box2D для Anthill. А так я уже не советую использовать Box2D так как Nape в разы удобнее и быстрее + более разнообразный и интересный функционал. Box2D не поддерживается и не развивается, во всяком случае на Flash платформе.

Ant.Karlov
14 Июня 2013
— 06:59
#

> Без проблем, только не очень понятно что подразумевается под Object?

Я думаю, что под Object было бы логично подразумевать AntEntity. Лично мне этот метод был бы удобен для триггеров. Возможно, конечно, я что-то делаю не так :)

kohver
16 Июня 2013
— 13:14
#

Уже два месяца ни дной новой записи. Я каждый день захожу а тот никаких нвоых статей... Ждемс. видимо следущая будет только про Зомботрон 3.

BoLT
19 Июня 2013
— 07:45
#

Антон, хотелось узнать, как ты в Zombotron организовываешь игровые меню. Ну т.е. ты создаешь классы MainMenu, Credits и т.д. и наследуешь их от AntState?

helio
19 Июня 2013
— 12:45
#

привет у меня вопрос изменится ли менюшка с которой начинают играть???

Mr.Guest
20 Июня 2013
— 10:01
#

Что-то сервер майнкравтовский давно лежит! Непорядок!

Annoh и друзья
20 Июня 2013
— 16:56
#

Антон, к вам вопрос как к профессионалу.
Реально ли на Flash сделать файтинг уровня Guilty Gear или BlazBlue?

Иван Cheshir
20 Июня 2013
— 20:07
#

Антон, раньше на сайте player.io были готовые туториалы простеньких приложений(без статей, только видео и архивы).
А сейчас остался только цикл статей, который ты переводишь.
У тебя случаем архивов не осталось?

Эд
20 Июня 2013
— 23:37
#

@Иван Cheshir, не играю в файтинги, поэтому не знаю что это за игры. Но думаю что на флеше файтинг создать — это не проблема. Главное чтобы руки были ;)

Ant.Karlov
21 Июня 2013
— 08:20
#

@helio, в Zombotron 2 игровые меню созданы с использованием клипов, то есть в игре всего один AntState в котором крутится только игра. А в первом Zombotron вовсе все на клипах работает, там нет никакого движка кроме оптимизации вектора в растр.

Ant.Karlov
21 Июня 2013
— 08:22
#

@Эд, нет у меня этих туториалов не сохранилось. Я их не скачивал никогда.

Хорошо смотрели? Может быть их просто куда-то переместили? Если очень надо, то я могу попробовать узнать их судьбу.

Ant.Karlov
21 Июня 2013
— 08:23
#

@BoLT,

> Уже два месяца ни дной новой записи. Я каждый день захожу а тот никаких нвоых статей...

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

Как закончу работу над текущим проектом, сразу займусь обновлением блога, а там и записи новые появятся обязательно.

Ant.Karlov
21 Июня 2013
— 08:35
#

BoLT, не мучай себя.
Подпишись на RSS и всё. :)

Godsmack
23 Июня 2013
— 17:58
#

hallo lieber Freund Ich bin aus Deutschland Ich bin sehr froh, zu gratulieren Ihre Spiele bald heraus zombtrona h und könnten Sie eine deutsche Übersetzung

Hitler :D

Hitler: D
24 Июня 2013
— 12:06
#

я могу перевести НО МЕНЯ ЖЕ ПРОИГНОРИРУЮТ!!!

P.S И немецкий я знаю!

Mr.Guest
24 Июня 2013
— 21:02
#

Добрый день Антон,
В примере Living Lights и в демонстрации движка Anthill http://anthill.ant-karlov.ru/ заметил что при увеличении зума в браузере игра не растягивается а остается такого же размера как для zoom=100%. Такое ограничение так и задумано или если задать значение для stage.scaleMode отличное от StageScaleMode.NO_SCALE то все будет сепер гууд?
Или возможно это связанно с растеризацией изображений?

[link=http://www.diazor.com/]VladUA[/link]
26 Июня 2013
— 14:57
#

Антон, я пытаюсь сделать надстройку для Box2D. Так вот не до конца понятно от чего следует наследовать собственный класс Body, который представляет из себя шаблон построения физических тел? От AntEntity или же AntActor?

helio
29 Июня 2013
— 20:17
#

{this.addAnimationFromCache("anim");
this.mask = new AntMask();
this.mask.addAnimationFromCache("mask");}

сделал маску, но она не работает(
там где непрозрачная область получилась чернота, маской просто накрыло сверху, а через прозрачную область видно - "anim"
как сделать чтоб норм?

teran
30 Июня 2013
— 14:42
#

в кнопке нашел такой код
if (cam != null)
а в антхиле написано
if (camera != null && camera.exists)
зачем так и надо, производить волшебство с кнопкой если даже камера убита?

teran
1 Июля 2013
— 00:49
#

и еще баг
if (!aIsScrolled)
{
btn.isScrolled = false;
aLabel.isScrolled = false;
}

если aLabel по умолчанию null, то при вызове makeButton только с именем анимации, выбрасывает исключение

teran
1 Июля 2013
— 01:23
#

Попробовал реализовать интерполяцию кубическими сплайнами
http://vk.com/app3124262

Марк
2 Июля 2013
— 13:18
#

Антон хотелось узнать у тебя будет ли какой-нибудь бета тест перед релизом Zombotron? И когда намечается релиз к середине июля или же все таки вначале августа?

skyboy
3 Июля 2013
— 16:40
#

@teran,

> сделал маску, но она не работает(
там где непрозрачная область получилась чернота, маской просто накрыло сверху, а через прозрачную область видно - "anim"
как сделать чтоб норм?


В моей реализации маски, там где в анимации непрозрачная область — это прозрачная область маски, и соответственно прозрачная область — это непрозрачная область маски. Посмотрите пример с маской, там все должно быть понятно.

Ant.Karlov
4 Июля 2013
— 08:05
#

@teran,

> в кнопке нашел такой код

Когда вы находите какой либо код который хотите обсудить — указывайте номер строки где вы его нашли, чтобы я мог предметно что-то по этому поводу написать, а то приходится голову ломать :)

> зачем так и надо, производить волшебство с кнопкой если даже камера убита?

Камера немного не доработана. Фактически вы можете убить камеру методом kill() но при этом она не удалится из Anthill и будет работать дальше. Камеру следует убивать методом destroy() — тогда она удалится из списка обработки. В любом случае — это недостаток. Спасибо что указали на него, доработаю.

Ant.Karlov
4 Июля 2013
— 08:14
#

@teran,

> если aLabel по умолчанию null, то при вызове makeButton только с именем анимации, выбрасывает исключение

Баг с кнопкой уже был поправлен немного раньше. Спасибо! Самая свежая версия с некоторыми исправлениями всегда доступна на GitHub.

Ant.Karlov
4 Июля 2013
— 08:16
#

@skyboy,

> Антон хотелось узнать у тебя будет ли какой-нибудь бета тест перед релизом Zombotron?

Бета тест будет на следующей недели, но скорее всего закрытый. Максимум что может получится — это бета-тест игры через flashgameblogs.ru. В таком случае, при тестировании игры, всем известным мне пользователям рассылается приглашение принять участие в тестировании, там же обсуждается сама игра. Если вы зарегистрированы на flashgameblogs.ru, то в случае тестирования игры там, я смогу вам прислать приглашение.


У текущего спонсора есть свой QA отдел, поэтому я пока не уверен на все 100% что будет тестирование на блогах.

Релиз планируется на вторую половину июля, в крайнем случае — это будет начало августа.

Ant.Karlov
4 Июля 2013
— 08:23
#

а то я не знал что камера не удаляется, я говорил что кнопка обрабатывается если даже свойство камеры exists==false.

а на счет маски мог бы и написать, что она не работает на актерах, а только на сущностях!

код который я отправил можно без нумерации в классе кнопки по поиску найти , он там единственный

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

teran
4 Июля 2013
— 18:21
#

@Ant.Karlov, у тебя в твиттере или фейсбуке было написано, что в в аддоне к Zombotron 2 применяется новое разрешение 800x600. Если это правда, то вроде бы как на флеш-порталах существует ограничение на размер ширины и высоты флешки.

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

skyboy
9 Июля 2013
— 20:17
#

Антон, майнкрафт сервер все?

Андрей
10 Июля 2013
— 03:19
#

Ant.Karlov, есть ли у тебя какие-то дальнейшие планы по переходу на другие платформы unity, мобилки. Какое направление на твой взгляд является перспективным на данный момент? Чем бы ты занялся помимо флеша?

helio
10 Июля 2013
— 16:21
#

@Андрей, на днях перезапустится с новой версией Minecraft 1.6.1 и с новой картой соответственно.

Ant.Karlov
10 Июля 2013
— 19:57
#

Антон, с вами можно будет побегать? Если да, то где искать инфу по серваку?

Андрей
10 Июля 2013
— 22:01
#

Ant.Karlov, только недавно прочитал у тебя в твиттере о выходе очередного аддона. Можешь объяснить, что изменилось? Поиграв в игру, я не заметил ничего нового. Ты все это время работал именно над этим аддоном? На скринах в фейсбуке немного другое, т.е. присутствует грузовик и пр. Разве это должно быть в аддоне или же это будет в Zombotron 3.

Владимир
11 Июля 2013
— 01:10
#

Если вставить свет из Living Lights в зомботрон 3 (и соответственно создать кромешную тьму) то мне кажется получится круто

Андрей К.
11 Июля 2013
— 18:18
#

Владимир, а это вроде квесты для armorgames. То есть набомбишь там миллион монстров тебе квест защитают, внизу под игрой значок загорится.

Alexander
11 Июля 2013
— 23:34
#

Ant.Karlov, небольшой вопрос. Обнаружил странный баг:
http://megaswf.com/s/2591422 (открой full screen)

При движении человечка влево scaleX = -1
При этом у левого края экрана он пропадает.
Только когда развернут. При scaleX = 1 все нормально.

Фон - обычный растеризованный MovieClip.

Петр (Deirel)
13 Июля 2013
— 02:33
#

в AntEntity можно заменить функцию onScreen вот на такую. она как бы скалирует проверочный на вхождение в камеру прямоугольник. не очень изящно но тем не менее

public function onScreen(aCamera:AntCamera = null):Boolean
{
if (aCamera == null)
{
aCamera = AntG.getCamera();
}
var boundsTemp:AntRect = new AntRect();
if (bounds.bottom < bounds.top && bounds.right < bounds.left) {
boundsTemp.set(bounds.right, bounds.bottom, -bounds.width, -bounds.height);
} else if (bounds.bottom < bounds.top) {
boundsTemp.set(bounds.x, bounds.bottom, bounds.width, -bounds.height);
} else if (bounds.right < bounds.left) {
boundsTemp.set(bounds.right, bounds.y, -bounds.width, bounds.height);
} else {
boundsTemp = bounds;
}

return boundsTemp.intersects(aCamera.scroll.x * -1 * scrollFactor.x,
aCamera.scroll.y * -1 * scrollFactor.y,
aCamera.width / aCamera.zoom,
aCamera.height / aCamera.zoom);
}

Alexander
13 Июля 2013
— 15:16
#

Странно.. У меня так и не собралась даже первая демка. Выскакивает ошибка AntG.as(291): col: 18 Error: Type was not found or was not a compile-time constant: IPlugin.
Что не так делаю, подскажите, пожлуйста

LasZlo
13 Июля 2013
— 22:02
#

мда..
а ларчик просто открывался
все прекрасно работает
Спасибо ))

LasZlo
14 Июля 2013
— 03:21
#

Недавно видел на сайте armogames то ли новую версию зомботрона, либо просто статью про зомботрон. называеться zombotron2 quests. Что это?Антон, расскажи пожалуйста. Вот это http://armorgames.com/news/zombotron-2-quests

Поиграл я ещё раз в зомботрон 2 на том же сайте, дошёл до 7лвл и не нашел отличий только карта в 2 лвл слегка подправлена.

Вован
15 Июля 2013
— 20:50
#

парни ща обьясню эти квесты для ползователей (арморов) и когда поиграл высвечивается получил награду!!!

Mr.Guest
16 Июля 2013
— 10:47
#

@Андрей, информация по серверу Minecraft в этой записи в конце. Сейчас вроде как сервер offline, но я сегодня узнаю его дальнейшую судьбу. По идеи должны были уже перезапустить его.

Ant.Karlov
17 Июля 2013
— 07:45
#

@Владимир и @Вован, то что касается обновления игры на armorgames.com — то там ничего нового нет, в игру добавлена только поддержка Armor Quests (местных наград), так же исправлена пара незначительных багов. В остальном игра осталась неизменной.

Новая игра будет называться Zombotron 2: Time Machine и выйдет в ближайшее время. Сейчас спонсор проводит тестирование и я делаю некоторые доводки. Как только игра выйдет, я сразу об этом напишу в блоге, твиттер и т.п. ;)

Ant.Karlov
17 Июля 2013
— 07:50
#

@Петр (Deirel),

> При движении человечка влево scaleX = -1
При этом у левого края экрана он пропадает.
Только когда развернут. При scaleX = 1 все нормально.


Да, есть такой баг. Уже получил несколько замечаний о нем. В ближайшее время обязательно его поправлю. А пока можете использовать код приведенный в комментарии @Alexander.

Ant.Karlov
17 Июля 2013
— 07:53
#

@LasZlo, если не сложно, опишите в чем была проблема и как вы её решили? Возможно мне следует что-то поправить или уведомить новых пользователей об этом как минимум на Wiki? Спасибо! :)

Ant.Karlov
17 Июля 2013
— 07:54
#

Ребят, а как лучше всего реализовать простой клик по AntActor если нам важен конкретный подкласс AntActor (например нам важно что данный класс это Unit)? Сейчас сделал через intersectsPoint, но как-то это не красиво : Через mouse.target не получилось - так как он выдает sprite.

Izmy
17 Июля 2013
— 20:22
#

Вопрос решен переносом кода из кнопки в актера, но может есть еще способ?

Izmy
17 Июля 2013
— 20:51
#

@Izmy, а почему через intersectsPoint не красиво? Или хочется так чтобы ткнули в мире куда-то и сразу получить непосредственно тот объект по которому попали без лишних ручных работ?

Ant.Karlov
18 Июля 2013
— 05:34
#

@helio,

> есть ли у тебя какие-то дальнейшие планы по переходу на другие платформы unity, мобилки. Какое направление на твой взгляд является перспективным на данный момент? Чем бы ты занялся помимо флеша?

Да, планы по переходу конечно есть. Думаю, что с удовольствием бы попробовал разработку игр под мобилки, но там достаточно сложно сейчас стартануть и взлететь — это пока единственный сдерживающий фактор. Юнити мне тоже симпатична. Но если честно, я не хочу создавать 3д игры, 2д графика мне нравится больше. Поскольку Юнити не имеет в данный момент нативных инструментов для работы с 2д, я отношусь к этой среде прохладно. Но если смотреть на нее как на мультиплатформенный инструмент, то это пожалуй лучший сейчас вариант.

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

Из-за раскрученности html5 люди у которых есть деньги считают что в него следует вкладываться, а поскольку разработчиков на данный момент не так много под html5, то спрос пока превышает предложение ;)

Ant.Karlov
18 Июля 2013
— 06:03
#

@skyboy, да, действительно в новой игре будет разрешение 800x600 — уж очень игроки хотели экран по больше. Более того на своем сайте я сделаю поддержку полного экрана (с потерей качества конечно же).

Спонсор не очень был рад большому разрешению и написал, что для них предпочтительнее 640x480, но не смотря на то что этот вопрос был поставлен на его усмотрение — они все же согласились на большой экран. Как это отразится на распространение игры по порталам — сложно сказать, но я обратил внимание на то, что большинство порталов имеют запас пространства в плоть до +900pix. Все же мощности компьютеров подросли как и размеры разрешений для мониторов.

Посмотрим что из этого выйдет. Я лично от этого ничего не теряю ;)

Ant.Karlov
18 Июля 2013
— 06:09
#

сервер Minecraft уже рабоатет? какая версия?

Taras_Z
19 Июля 2013
— 11:14
#

"Красота та какая, Лепота" ^^

Crash
20 Июля 2013
— 15:34
#

@Taras_Z, нет еще не работает. Сегодня напомню админу про поднятие сервера. Версия вероятно будет последняя 1.6.2

Ant.Karlov
21 Июля 2013
— 06:33
#

Ant.Karlov, еще вопрос (и спасибо за ответ))
http://megaswf.com/s/2593669

Три AntTileMap друг над другом с различным scrollFactor (0.6, 0.8 и 1) и включенным drawQuickly.

Можно ли как-то избежать проблемы?

Петр (Deirel)
23 Июля 2013
— 22:21
#

@Петр (Deirel), если возможно, пришлите мне исходники этого примера на почту — так я быстрее смогу понять в чем дело и исправить это. Спасибо!

Ant.Karlov
24 Июля 2013
— 07:23
#

Отправил исходники.
Заранее спасибо!)

Петр (Deirel)
24 Июля 2013
— 11:49
#

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

имеем картинки игрока (Image,Image2)
имеем спрайт игрока (player)
имеем спрайт уровня (level)
имеем самый главный спрайт (world)

player.addchild(Image);
level.addchild(player)
world.addchild(level);

т.е. мы добавили изображение на экран.
теперь мы решили изменить картинку у игрока.


player.removeChild(Image);
player.AddChild(Image2);


не работает. картинка не меняется. как будто на level добавлен не спрайт player а его копия.

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

BolT
24 Июля 2013
— 12:51
#

Разобрался.
Этот пример как раз рабоатет. не работает если просто сменить Image=Image2.
Видимо addChild добавляет не Image а то на чо ссылается Image.

BolT
25 Июля 2013
— 06:23
#

что с Minecraft-ом?

Антон
27 Июля 2013
— 19:31
#

Блог умер ?

крпырдыр
29 Июля 2013
— 18:27
#

@крпырдыр, блог жив. Автор погружен с головой в завершение работы над продолжением Зомботрона, а так же попутно в летних разъездах :) К осени планирую редизайн блога с новыми возможностями, ну и конечно же новые записи! :)

Ant.Karlov
29 Июля 2013
— 21:43
#

@Антон, сервер с Minecraft уже пару дней как ожил, версия 1.6.2, контактные данные остались без изменений.

Ant.Karlov
29 Июля 2013
— 21:43
#

Всем привет! Нашел небольшую багу: если отражать объект (в моем случае по горизонтали), то bounds.intersectsPoint не будет работать. Из-за того что правая сторона оказывается левой, а левая правой.
Лечение, наверно, не оптимальное, зато работает (заменить функцию в AntRect):
public function intersectsPoint(aPoint:AntPoint):Boolean
{
return (aPoint.x > AntMath.minFrom([right,left]) && aPoint.x < AntMath.maxFrom([right,left]) && aPoint.y > top && aPoint.y < bottom) ? true : false;
}

Если надо сделать для вертикального отражения, то вы знаете что делать :)

Izmy
1 Августа 2013
— 01:33
#

https://www.fgl.com/view_game.php?game_id=29600
Anthill использует)

Taras
5 Августа 2013
— 18:54
#

Антон, привет. Точная дата релиза Z3 неизвестна?)

Хома
7 Августа 2013
— 01:14
#

Антон, что с продолжением Zombotron 2 Time Machine. Вроде бы как ты говорил что в конце июля начале августа будет релиз. Но уже скоро 10 августа, а про игру ничего не слышно.

helio
8 Августа 2013
— 23:24
#

Ребята, подскажите плиз, на этапе выполнения код

[Embed(source = "main_menu_e.png")] protected var _bg:Class;
...
loader.addGraphic(_bg, "BgImage");

вызывает ошибку

TypeError: Error #1034: Type Coercion failed: cannot convert GameStates::MainMenu__bg@428fac1 to flash.display.MovieClip

картинка проверенная
эмбед код сгенерирован средой
компилирую под плеер 10.1

Elmigo
10 Августа 2013
— 07:27
#

все въхал, не понял помента и сделал лишнего
loader.addClips(new <Class>[ _bg ]);
что не применимо, растеризовал растеризацию, окаг!

удалите плиз мои посты за бесполезностью

Elmigo
11 Августа 2013
— 08:56
#

После завершения разработки текущей игры ждем от вас много вкусностей для блога, Антон! Очень хочется поиграть уже в Зомботрон: Машина Времени =) И еще большое спасибо за информацию на вашем блоге - именно с помощью этого блога начал разрабатывать игры.

Rokzero
12 Августа 2013
— 00:03
#

Антон, хотел поинтересоваться, кнопочки "Donate" на страничке зомботрона что-нибудь вообще дают?

Platon
13 Августа 2013
— 12:53
#

Антон здесь не пишет, но на Фейсбуке анонсировал дату выхода Zombotron 2: Time Machine - 22 августа на Miniclip.com
Пруфлинк - https://www.facebook.com/AntKarlovGames/posts/557882934271595

Zaphod
15 Августа 2013
— 10:10
#

чего-то упарился, подскажите как прикрепить HUD(набор актеров) к камере

лучше чем

private var av:AntActor;
private var av_pos:AntPoint = new AntPoint(21, 11);

и в update стейта

av.x = av_pos.x - _camera.scroll.x;

не нашел решения

Elmigo
20 Августа 2013
— 04:09
#

@Elmigo если ты хочешь, чтобы спрайты находились в одном и том же положении на камере, то используй av.scrollFactor.set(0, 0);

Zaphod
20 Августа 2013
— 10:25
#

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

еще вопрос тогда по ходу, я глянул как в примерах выставляется граница камере
_camera.setBounds(0, 0, _tileMapFG.mapWidth, _tileMapFG.mapHeight);

Сделал набросок клипа (тупо прямоугольник шириной 1112 пикселей), скопировал код из примера урезав до одной тайлмапа, все вроде работает, но не правая граница ограничения, т.к. _tileMapFG.mapWidth содержит не ширину исходного клипа, а ширину экрана (может совпадение, но в любом случае не то что должно быть). В чем может быть неправильного в моем клипе, что его ширина не корректно берется движком?

и еще по поводу анимаций, если анимация содержит подклипы, то растеризуются каждый отдельно или сливаются в один общий? вопрос о аттаче ножа к руке как в зомботроне к примеру

Elmigo
20 Августа 2013
— 12:25
#

с анимациями разобрался, вопрос - в зоботрон2 у ГГ левая рука "резиновая", как такое реализуется?

Elmigo
21 Августа 2013
— 19:20
#

В новый Zombotron можно поиграть здесь: http://www.miniclip.com/games/zombotron-2-time-machine/en/#t-h-a

Zaphod
22 Августа 2013
— 19:00
#

Ура! Новый Зомботрон! Ждем записей в блоге!

Rokzero
22 Августа 2013
— 22:10
#

Интересно что о новой части узнаем не от Антона.
И подстава, прошел зомботрон на английском, вышел в главное меню и только потом увидел кнопку переключеия языка на русский :(

BolT
23 Августа 2013
— 10:09
#

еще вопрос, а как отразить анимацию горизонтально?

видел метод AntAnimation.makeFromGrafic с параметром aFlip вроде как работает, но у меня не получилось ей корректно отразить, анимация сместилась сильно и обрезалась, дайте рабочий пример?

Elmigo
23 Августа 2013
— 17:55
#

сделайте пожалуйста все в swc

do
23 Августа 2013
— 23:24
#

да так и сделал...

Elmigo
24 Августа 2013
— 01:17
#

@Rokzero, спасибо! Новые посты уже надвигаются :)

Ant.Karlov
24 Августа 2013
— 11:04
#

@Platon,

> кнопочки "Donate" на страничке зомботрона что-нибудь вообще дают?

Нет, практически ничего не дают. 4-5 небольших донейтов за все время.

Ant.Karlov
24 Августа 2013
— 11:05
#

@Elmigo, резиновая рука в Зомботроне 2 сделала через scaleX. Реализуется это методом проверки расстояния от ключевой точки плеча руки до ключевой точки на оружии (куда рука присоеденяется), высчитывается процент от обычного состояния и рассчитанный процент применяется к scaleX — таким образом рука растягивается и стягивается.


По поводу отражения анимации: самый простой способ отразить анимацию это изменить scaleX или scaleY на отрицательный.

Ant.Karlov
24 Августа 2013
— 11:08
#

ЭТО ЖЕ ЗОМБОТРОН 3!!!!!!!!!!!!!!!!!!!!!








http://www.miniclip.com/games/zombotron-2-time-machine/en/#t-

FUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
24 Августа 2013
— 13:23
#

@Ant.Karlov, спасибо, честно говоря ваше молчание пока шел проект намекало на дикую загрузку и думал что у вас будет отходняк после сдачи и вряд ли вас скоро ждать.

Elmigo
24 Августа 2013
— 13:33
#

а адрес ant.karlov()gmail.com живой, я 3е письмо с очередным фиксом по движку шлю, а может зря...

Elmigo
29 Августа 2013
— 20:18
#

В anthil framework в мониторе значений можно как то сортировать порядок вывода значений?

Shtirlitz406
1 Сентября 2013
— 13:20
#

@Elmigo, адрес живой! Это мой основной адрес. Что-то по багам приходило, ответы обычно всем отписываю. Обязательно еще проверю спам папку. Кроме почты вы можете слать баг репорты прямо на GitHub.

Ant.Karlov
7 Сентября 2013
— 16:08
#

@Shtirlitz406, нет, сейчас в мониторе нельзя сортировать значения. Но опция полезная, сам с этим сталкивался. Постараюсь реализовать в ближайшее время. Спасибо!

Ant.Karlov
7 Сентября 2013
— 16:09
#

Никак не могу связать box2d и anthill. Дело в том что для отрисовки дебага в box2d нужно передать Sprite Не могли бы вы подсказать как вы это обходите?

Shtirlitz406
19 Сентября 2013
— 21:36
#

@Shtirlitz406, дебажный Sprite для отладочной отрисовки физического мира можно добавить в AntState который у вас отвечает за обработку игровой логики обычным addChild(). Только не забудьте обновлять положение Sprite относительно положения камеры. Где-то в методе state.update:

var cam:AntCamera = AntG.getCamera();
debugSprite.x = -cam.scroll.x;
debugSprite.y = -cam.scroll.y;

Ant.Karlov
20 Сентября 2013
— 16:59
#

как сделать ввод текста для разных языков ?

flac
21 Сентября 2013
— 21:04
#

Огромное спасибо за помощь.
Только минус не нужен:
debugSprite.x = cam.scroll.x;
debugSprite.y = cam.scroll.y;
Может кому пригодиться.

Shtirlitz406
22 Сентября 2013
— 21:11
#

Антон, какая у тебя версия майнкрафт?

Gost001005
27 Сентября 2013
— 16:45
#

а вот "капельками магии" можно наладить полноценную темноту?

бленд режим оверлей делает пелену (слой закрашенный #000000) даже при альфе == 1 прозрачной процентов на 50, а вот чтобы затемнение было 95% как?

Elmigo
4 Октября 2013
— 19:34
#

при загрузке флешки в контейнер то она принимает размер контейнера и совсе не двигается(

flac
27 Октября 2013
— 19:07
#

двигать надо камеру, а не флешку

cam:AntCAmera = AntG.getCamera();
cam.x = ...
cam.y = ...

P.s. по руссификации здесь в блоге есть отдельный материал, поищи

Elmigo
28 Октября 2013
— 17:44
#

Elmigo, прочти внимательно мой пост

flac
4 Ноября 2013
— 14:28
#

ваш пост слегка чуден, в движке не грузятся флешки, в движке грузятся ресурсы из swc файлов или embed ресурсы

камера отображет только то, что влезло в установленные для нее границы, по умолчанию устанавливаются равными размерам введенными в main.as (или какой у вас там самый главный файл)

а не двигается возможно потому что ее перемещение ограничено с помощью
AntG.getCamera().setBounds, а так как у вас получилось загрузить все сразу на экран, то и двигаться ей некуда

Elmigo
5 Ноября 2013
— 12:24
#

скажите пожалуйста, как с поомщью вашего движка создать такое освещение?

http://cs310718.vk.me/v310718240/9ead/n2CN9Gb7zi0.jpg
http://youtu.be/K-nrNsYoRVo?t=10m32s

brown
1 Апреля 2014
— 09:41
#

@brown, можно попробовать поиграться с режимами наложения цветов для актера. Меняется это так: actor.blend = "overlay";

Все доступные режимы наложения можно посмотреть здесь (раздел общедоступные константы)

Только это очень сильно сказывается на производительности, поэтому тут нужно смотреть и пробовать что получится. В тех примерах, что вы показали, используется аппаратное ускорение, поэтому на производительности реализация такого простого освещения в этих примерах, практически не сказывается.

Ant.Karlov
8 Апреля 2014
— 23:33
#

Антон, я вот хочу разобраться как работает living_lights, то есть мне интересно как это все вычисляется, но разбирая код не все понимаю, подскажи может есть уже статьи на такую темы где описывался бы сам принцип, буду очень благодарен . Заранее извиняюсь если этот вопрос уже был задан)

Vetalll
17 Июня 2014
— 20:32
#

@Vetalll, если хотите найти больше информации по расчету реалистичного света, то я вам советую погуглить по ключевым словам raycast, dynamic light ну и добавить ко всему этому flash — уверен вы найдете много наглядных примеров и статей. Так как тема достаточно интересная и популярная.

Ant.Karlov
1 Июля 2014
— 11:12
#

Спасибо нашел, кому интересно вот - http://www.emanueleferonato.com/2010/06/07/create-a-survival-horror-game-in-flash-as3-version/

Vetalll
3 Июля 2014
— 00:24
#

А в движке есть кэш(пул) объектов?
И еще в классе AntCookie в методе toString() используется метод массива joint(), а правильно join() без буквы "t", а то ошибку выдает.

Владимир
29 Июня 2015
— 21:05
#

Отличный пример.

игрок
2 Октября 2015
— 18:21
#