25 июля 2010

Поиск багов.


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

23 июля 2010

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

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

05 июля 2010

earth-ling One who inhabits the earth.

Ведение лога в играх.


Всем привет. Решил я немного наполнить журнал всякой писаниной по поводу программирования и всего такого. Но здесь меня поджидала сложность: с одной стороны текст хочется сделать интересным, а код прозрачным; с другой - у меня уже довольно много самописных модулей, от которых не хочется отказываться при написании демок или при разъяснении работы тех или иных хитростей программирования. Потому, чтобы всем было просто и уютно, я решил сначала начать с маленьких модулей, расписать их назначение и работу, а затем уже с чистой совестью подключать при необходимости в демонстрационных программах не боясь вопросов "а что это за модуль ты подключил?" Итак, начну с самого простого - ведения лога в играх. Что это?

02 июля 2010

у-ф-ф-ф...

Черкну сюда что-нибудь))
Вообще я сейчас произвожу чистку всего в игре... чищу png-файлы, чищу jpg-файлы, смотрю на ogg и wav-файлы... пробую перекомпилировать под Lazarus'ом и много чего еще...