пятница, 9 ноября 2007 г.

Вэб Сервисы в AS 3.0 release 1.0

Столкнулись недавно с проблемой, нужно было использовать ВЭБ Сервисы в AS 3.0, а там как известно их нет. Писать парсер самим не хотелось, вооружились гуглом. В результате после недолгих поисков нашли вот это. Попробовали использовать это с нашим Java-сервером. Наши WDSL документы генерировались с помощью X-Fire. После парсинга, не находились Вэб Сервис методы. В результате, наш Java-developer Владимир aka red, нашел ошибку в классе WDSL (WDSL.as). Достаточно заменить существующую функцию getBinding, той что пердставленна ниже, и все заработает.

ВНИМАНИЕ! Этот код проверялся с X-Fire сгенерированными WDLS документами, использование кода на ваш страх и риск.


 

private function getBinding(portType:String):String{

var wsdl:Namespace = __rawWSDL.namespace();

var service:XMLList = __rawWSDL.wsdl::service;

// var myPort:XMLList = service.wsdl::port.(@name == portType);

var binding:XMLList = __rawWSDL.wsdl::binding.(@type.substr(@type.indexOf(":")+1) == portType);

var addressNS:Namespace = service.wsdl::port.children()[0].namespace();

__servicePath = service.wsdl::port.addressNS::address.@location;

var bindingAmount:Number = binding.length();

if (bindingAmount == 1){

return (binding.@name);

} else if(bindingAmount >0 ) {

return binding[0].@name;

}

return("");

}

вторник, 6 ноября 2007 г.

Монетизация игр

В прошлый раз, когда я писал о монетизации игр, я давал ссылку вот на эту статью. И вот подоспела вторая часть. По результатам недельного тестирования, автор заработал 113,0$. Пока они виртуальные, потому что на сервисах где он заработал он еще не успел набить минимальную сумму для обналички, но тем неимение, за игру на которую потрачено 6 часов, это неплохая сумма. Главное в таких играх – поток. Чтобы их было много, и все интересныеJ

четверг, 1 ноября 2007 г.

Экономика должна быть экономной.

Для написания более мнение сложной игры на флеше необходимо назубок знать, как обращаться с памятью. Где использовать какие типы данных, чтобы сэкономить такую драгоценную память. Как быстрее обрабатывать данные, чтобы не загружать процессор. В большинстве случаев сокращение времени обработки данных производится с помощью подбора правильного алгоритма, но все равно не стоит забывать о том, что, к примеру, тип Number использует гораздо больше памяти, нежели int. Интересная дискуссия развернулся на сайте у Роста. Почитать можно здесь и здесь. Рекомендую.

понедельник, 29 октября 2007 г.

Монетизация игр

Создание игр, это конечно хорошо и весело. Но помимо всего прочего любая работа должна приносить деньги. Хорошо если вы работает в крупной компании и вам платят высокую зарплату. А если вы фрилансер? Искать заказы, а будут ли они? Да и вообще независимость наше все. Поэтому стоит задуматся о монетизации ваших игр. Довольно интересная статья на эту тему. Также рекомендую зайти на этот ресурс Kongregate.

суббота, 27 октября 2007 г.

Ребята молодцы!

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

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

Поиск пути

Вот чтобы не быть голословным, решил, выложит в качестве примера алгоритм поиска пути. В нем имеются проблемы, в частности не обрабатываются точки, лежащие на границе карты. Позвольте оправдаться, в моём ткущем проекте, где используется этот алгоритм, не требуется обработка этих точек, и чтобы не захламлять алгоритм лишними проверками решил оставить как есть. Я сознаю что алгоритм далек от идеала, но думаю может кому-то пригодится. В целом об алгоритмах поиска пути вы можете прочитать здесь. Об волновом алгоритме отдельно, здесь

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

Еще хотел извиниться, что сейчас редко пишу. На носу двухнедельная командировка в Швецию, поэтому приходится ударными темпами заканчивать всю текущую работу.

вторник, 23 октября 2007 г.

Тайлы, основа.

Добрый день.

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

Сейчас я занимаюсь разработкой проекта аналогичного DTD. Изначально стоит обратить внимание на таки сложности как

  • Непрерывный поиск пути. В любой момент игрок может изменить свой лабиринт пушек, монстры должны реагировать моментально.
  • Большое количество монстров одновременно. Игрок в погоне за очками может вызывать по несколько волн монстров, и в итоге на сцене окажется больше сотни монстров.
  • Множество пушек должно реагировать на монстров и вовремя открывать огонь.

Каждый этот пункт по отдельности представляет собой не простую задачу. А вместе превращаются в настоящую головную боль. Однако мы берем и начинаем использовать тайлы. Поверх готового заднего фона мы натягиваем невидимую сетку, каждая ячейка которой по факту и является тайлом. Сразу упрощается задача поиска пути, наши тайлы и будут, является сеткой для карты. Во-вторых, как только мы строим новую пушку, автоматически изменятся параметры тайла, следовательно, при следующем пересчете пути, монстр уже будет знать об изменениях в лабиринте. Далее зона обстрела пушек. Нам не нужно более проверять каждую пушку относительно каждого монстра. При строительстве пушки, мы отмечаем в тайлах, что они находятся под зоной обстрела. И как только монстр приходит в новый тайл, просто «вызываем огонь на себя». В результате, в данный момент одновременно на карте находится до 100 монстров, со стреляющими пушками.

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