Архив

Архив Декабрь 2009

Отчет #05

16 Декабрь 2009 Нет комментариев

Реализовал перетаскивание игровых предметов из общего списка в специальные слоты. С точки зрения банальной эрудиции задача решается ровно за 2 минуты: «clip_mc.startDrag();» для того, чтобы начать перемещение объекта и «clip_mc.stopDrag();» для того, чтобы закончить. У меня в реальности ушло 240 минут. И некоторые детали придется доработать еще завтра.

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

Первый раз придется дорабатывать графику. Подсветка активного слота оказалась недостаточной. Решается за пару минут, но сам момент знаменательный – первый среди многих! Также придется сделать алгоритм определение активного слота. Сейчас используется стандартная функция «hitTestObject», которая возвращает истину, если два объекта пересекаются. Но два слота активными быть не могут, а с каким слотом пересечение больше функция не говорит. Из-за чего возникает ошибка логики интерфейса, как на картинке ниже: игрок навел объект на нижний слот, а активным считается верхний слот.
slot_example

Отчет #04. Проблема с обработкой кнопок

15 Декабрь 2009 Нет комментариев

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

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

Читать далее…

Качество

15 Декабрь 2009 2 comments

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

В своей первой flash игре, которую я выпустил год назад, я сделал 3 игровых режима, перевел интерфейс на 4 языка, встроил Kongregate API, сделал пошаговую обучалку и ничего из этого не понадобилось, потому, что сама игра оказалась излишне сложной, не интересной и в нее практически никто не играл.

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

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

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

Categories: Разное Tags:

Встраивание XML в AS3

14 Декабрь 2009 1 комментарий

Решение задачи я нашел в блоге Мэта Торсона (Matt Thorson) в посте Embedding XML in AS3. В принципе на этом можно было бы и остановиться, но для удобства я переработал статью на русский язык.

Читать далее…

Отчет #03

14 Декабрь 2009 Нет комментариев

Еще один класс сверху. Функция геттер вместо прямого обращения к переменной и параметры вооружения все же хранятся в массиве, а не в XML файле. С точки зрения удобства редактирования ресурсов сомнительное достижение, но так как никто кроме меня с ними работать не будет, а мне все равно в каком формате они хранятся, то улучшение на лицо. К статичным данным потом придется добавлять дополнительную информацию связанную с исследованием и доступностью вооружения для игрока из-за чего данные из XML файла все равно пришлось бы пересохранять в массиве, а так этот этап выкидывается. И довольно прожорливый в плане затрачиваемого времени этап.

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

Categories: Tower Defense 1 Tags:

Шрифты

14 Декабрь 2009 Нет комментариев

Игра про космос и хочется, чтобы на атмосферу работало как можно больше деталей, в том числе и шрифты. Найти бесплатный шрифт в интернете не проблема, тем более, что я не стараюсь сейчас отыскать шрифт с поддержкой кириллицы или японского. К примеру вот такой сайт www.fontspace.com

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

В итоге я остановился на шрифте «Final Frontier»

Final Frontier FontВ графическом редакторе нарисовал внешний вид окна с использованием этого шрифта – получилось довольно симпатично, хотя местами надписи и были на грани читабельности.

То, что во Flash текст точно так же выглядеть не будет я помнил, но результат после переноса оказался совсем удручающим. Static Text в котором я мог выбрать сглаживание выглядел еще терпимо, но статического текста в окне было раз два и обчелся. В основном названия меняются в зависимости от игровой ситуации, а для Dynamic Field нужное сглаживание не выставишь. И пришлось весь мелкий шрифт (меньше 12) менять на Arial, который прекрасно читается и в таком разрешении.

Хотелось бы громко сказать, что удобство победило дизайн, но не правда: мелкий »Final Frontier» выглядел без сглаживания на редкость коряво. Для себя сделал вывод, что играть со шрифтами можно только с крупными текстовыми элементами: название, заголовок окна, очки на игровой панели.

Отчет #02

13 Декабрь 2009 Нет комментариев

Провел «приятный» вечер пытаясь задать набор характеристик игровых предметов. В ActionScript 2.0 я для этого использовал описание массива в отдельном файле, что-то типа такого:

var lstEq	:Array = [
{
	e_name		: "Radar level I",
	e_icon		: "",
	e_price		: 20,
	e_type		: EQ_TYP_PLATFORM
},
{...}
];

Но ActionScript 3.0 слишком объектно ориентированный, чтобы разрешать такие фокусы. Поэтому все надо завернуть в класс. Потом сделать статическим и в итоге получить ошибку «1119: Access of possibly undefined property <…> through a reference with static type <…>.»

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

Читая интернет

13 Декабрь 2009 2 comments

Вот несколько блогов, которые я читаю и которые относятся к теме разработки небольших игр.

  • Flash Game Development – наверное, основной русскоязычный блог посвященный продвижению и монетаризации flash игр. Его автор, Вадим, рассказывает о доходах, которые приносят его игры и, самое главное, объясняет как добиться таких же результатов как у него, а то и лучше. Я заинтересовался разработкой flash играми именно после чтения блога Вадима и, как я понял, я такой не один.
  • Johnny-K – блог начинался как журнал разработчика в котором он делился своим опытом, но сейчас все больше смещается в обычный личный журнал. Впрочем, интересные моменты по продвижению там все еще регулярно появляются.

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

  • CastAway – более новый проект, посвященный разработке игры в жанре «hidden object» на готовом движке.
  • Office Villagers – дневник разработки – проект в редком жанре «продвинутые тамагочи», что-то похожее на «Virtual Villagers».
Categories: Блог Tags:

Сеттинг

8 Декабрь 2009 Нет комментариев

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

Но я быстро понял, что симпатичную картинку в данном сеттинге я не нарисую, по той простой причине, что рисовать не умею. Выходом, конечно, было нанять художника или скооперироваться с кем-то, но что-то мне с художниками не везет и в этот раз я решил не рисковать. Делать что-то абстрактное вроде «Bloons Tower Defense» тоже не хотелось, поэтому в результате недолгого перебора я остановился именно на космосе. Плюсы следующие:

  • Фон игрового поля сделать довольно легко.
  • Отсутствие анимации рук, ног и развевающихся плащей – это фича, а не баг. У космических кораблей рук не бывает.
  • Можно сделать красивые взрывы.
  • Это довольно устоявшийся и узнаваемый сеттинг со своими правилами (лазеры, космолеты, подпространство и т.д.) и приверженцами.

Минусы я пока вижу такие:

  • Картинка получается несколько темной.
  • Не все игроки любят этот сеттинг.

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

Читать далее…

Categories: Tower Defense 1 Tags:

Отчет #01

7 Декабрь 2009 Нет комментариев

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

  • закончил программирование плашек предметов
  • собрал половину закладок окна «Upgrade»
  • доработал по мелочам графику интерфейса

Программирование интерфейса хоть немного отличного от стандартного на Flash непредвиденно сложно. Для того, чтобы сделать окно с закладками и двумя состояниями приходиться вкладывать клипы друг в друга на 5-6 уровней. Надо будет поискать библиотеку GUI для будущих проектов.

В офисе после установки на компьютер .Net Framework 3.5 слетел триальный Flash CS4, завтра придется перестанавливать.