28 сентября 2010

Продвижения.

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

23 сентября 2010

Скриптовой модуль, вступление.

Сначала небольшое предисловие. Как и обещал ранее, напишу в виде прямолинейного описания, о своем скриптовом модуле, что использую сейчас. Модуль простой, ничего особенного нет. Но, думаю, может чем и пригодится людям, только начинающим изучать Lua и стремящихся встроить поддержку скриптов в свою программу. К модулю приложил 4 демки, представляющими из себя простенькие программы, демонстрирующие способ привязывания скриптов к логике основного приложения. Вообще, скрипты в своих программах я использовать начал недавно, пожалуй, плотно занялся скриптами начиная с AiWar, где использование скриптов было обязательным условием конкурса. Потом начал преобразовывать работу с ними, изучать более оптимальные подходы и т.д. Предупрежу сразу: сам язык Lua знаю не шибко хорошо, поэтому супер накрученных мета-таблиц и имитации ООП не использую вообще. Цель рассказал, задачу поставил, обо всем предупредил, так что... в путь!...

18 сентября 2010

Lazarus, чтоб его!

Давно не писал сюда, так как загружен довольно сильно. Да и хочется всех порадовать какими-то радостными известиями, скринами, новостями и т.д... А пока все "делаем", "еще много работы", что не есть позитив... Так что не так давно я начал писать небольшой обзор еще одного юнита, что использую. Называется он uScriptManager, сам из себя довольно прост, в обращении - тоже. Может кому и пригодится. Сделал несколько демо, показывающих работу с ним, но пока не оформил описание в виде текста, так что придется чуточку подождать. Это я к тому, чтобы пояснить, что журнал не умер - будет много чего интересного.

31 августа 2010

Отчет для конкурса.

Подходит к концу август-месяц. Как-то произошло это внезапно и быстро. Что сделано? Похвастаться пока нечем. По сути - научился вырывать контент из флеш-приложений. Соответственно, занялся прикруткой этого самого контента к игровому проекту. Не будем здесь упоминать незаконность таких действий. Для меня - это опыт черновой сборки проекта с чужим артом. Для игры - это более опрятный и узнаваемый внешний вид. Если же посмотреть на количество загрузок конкурсных работ из раздела "файлы" сайта glscene.ru, то максимальное их число отдельной конкурсной работы не превышает 30тыс. По сравнению с миллионными gameplay'ями исходный флеш-игры, это просто ничтожно мало! Так что, надеюсь, никто не обидится за "вырывание" контента.

15 августа 2010

Локализация (часть 1)

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

25 июля 2010

Поиск багов.


Баг (bug) - слово, которым программисты поясняют, что с программой что-то не так. Найти баг в чужой программе - это просто праздник, ты сразу чувствуешь себя настоящим гуру, способным перехитрить создателя программы, не предусмотревшего особое состояние, в которое удалось ввести программу. Найти баг в своей собственной программе - это беда. Как будто твое собственное детище делает тебе вызов, как будто оно живое и протестует против издевательств с твоей стороны. Но ничего, берешь себя в руки, запасаешься deBUGger'ом, и вперед, в потайные лазы методов и функций, внутри которых кроется ошибка, приводящая к странным и порой необъяснимым последствиям.
Сегодня я расскажу про пару багов, которые я ловил недавно в срочном порядке, и из-за которых у меня чуточку болела голова, стараясь выявить и уничтожить их как можно скорее. Первый баг был связан с безумно странным поведением некоторых физических объектов, второй - с прекращением отрисовки сцены при переходе между оконным/полноэкранном режимами.

23 июля 2010

Час за конкурсом

Сегодня просидел целый час, силясь что-то набрось для конкурса RTS. Что получилось? По сути - вообще ничего. То есть, я завёл svn, создал несколько папок, перекинул туда часть модулей из нынешнего проекта, чтобы жилось проще, поотцеплял там всякого лишнего в виде звука, скриптов, Box2d и прочего. В общем, создал оболочку для проекта. И как-то стало тоскливо - делать с нуля не очень интересно. Намного веселее открыть текущий проект, залезть в редактор и начать строить какой-нибудь простенький уровень. Вообще, мне кажется, всегда сложно пересилить себя, и сразу, с наскока, довести программу до более-менее приятного вида, чтобы в любой момент можно было переключиться, доделать пару-тройки фич и отключиться обратно от программирования конкурса.
В общем, набросал несколько классов, подвязал их друг к другу (пока тестово), закинул фоновую картинку, добавил сотню звезд-кружков, реализовал простенький MapNavigator для прокрутки экрана (по сути все свелось к тесту сдвига звезд). Работает, рендерится, мышь откликается. В общем, все просто, оттого скучно. Зашел на форум, глянул сроки, оказалось прошла половина всего времени , но еще целых два месяца впереди! Ура! 
Сейчас все думаю над тем, как лучше сделать - оконный режим или же фулскрин? Ибо в оригинальной флешке разрешение 700х500, растягивать все это на фулскрин совсем не хочется, а обрезать черными полосами со всех сторон - кажется очень пошлой идеей. В общем, окончательно еще не решил, но оконный режим пока берет верх в моей голове :)
Интересно, сгодится ли это за второй отчет?! Надеюсь да, ибо я честно описал все свои наработки и достижения на текущий момент по конкурсу...