26 декабря 2011

Gifts Pusher, релиз!

Всем доброго дня!
Последние пару недель я был занят разработкой новой флеш-игры... За основу взял идею из "Square is going home", но этого оказалось недостаточно... В итоге в игру были добавлены кнопки, лифты, телепорты, различные механизмы и многое-многое другое!
О разработке, аукционе, продаже и около-релизных приготовлениях читайте здесь и сейчас!
Итак, встречайте!

19 декабря 2011

GUI: Drag and drop

Я наконец сделал это!
Сегодня продолжаем делать маленькие хитрости для интерфейса, список которых я старался составить в зависимости от нужд и интересов читателей. И на очереди у нас перетаскивание объектов.
На нерусском это называется "Drag and drop".
Всем знаком процесс копирования файлов - перетягиваем файл из одной папки в другую. Наверно буду банален, сказав, что это и есть самый простой пример drag'n'drop'а.

14 декабря 2011

Рисование текстуры "на лету"

Доброго времени суток всем читающим этот журнал! :) Удивительно хороший день сегодня, поэтому под вечер я решил создать это сообщение, содержащее в себе рассказ о небольшой хитрости, которая зачастую пригождается при программировании игр.
Когда я делал "Square is going home" меня тревожил вопрос о текстурах на объектах. Ведь от уровня к уровни размеры игровых тел могут меняться, и в голове вертелись две мысли:
  • растягивать картинку, масштабируя ее до размеров объекта
  • предварительно нарисовать десятки изображений, заготовив их под различные размеры тел
Минусы этих подходов очевидны: в первом случае при масштабировании будут видны ужасные артефакты, во втором - придется делать массу лишней работы по заготовке текстур, при этом сборка уровня превратится в бесконечную рутину по созданию картинок (если для теста нужно увеличить размер объекта на какие-нибудь 10%, придется рисовать новую текстуру).
Поэтому я выбрал программное рисование текстур для объектов и остался очень доволен результатом! То есть картинка создается "на лету" пиксель к пикселю. Сегодня я расскажу, как это можно с легкостью реализовать в GlScene.

18 ноября 2011

Три игры: To-Fu, Nimbus, Snapshot

В последнее время слышу много про клонирование игр, про судебные иски и прочие неприятные слухи в геймдев-индустрии... В такие моменты так и хочется кричать "но ведь есть настоящие шедевры, а значит и есть их создатели - порядочные и хорошие люди, которые смогли воспользоваться своей фантазией, чтобы поразить игроков!".
Именно поэтому сегодня я решил просто рассказать о трех играх, видео которых мне попалось недавно. И это не заурядные клоны, а настоящие игры с большой буквы "И"! :)
Каждая из них имеет свой стиль, свою механику, свой шарм и удивительную привлекательность! При просмотре возникает чувство, что разработчики вложили огромное количество сил, энергии и времени на разработку своего детища!
Лично я не играл ни в одну из них (в последнее время вообще мало времени на игры и посторонние дела, в следствие чего пришлось немного отложить наполнение данного журнала вкусностями) , но видео мне настолько приглянулось, что в голову лезут новые идеи, глаза находят новые интересные объекты и эффекты, в общем - вдохновляет по полной!
Итак, встречайте...

01 ноября 2011

glVehicles, комментарии к Луноходу.

Это снова я! Надеюсь никто не подумал, что glVehicles заброшен, верно? Дело в том, что в последнее время несколько человек у меня спрашивали по поводу тех или иных вещей, реализуемых с помощью Box2d. В итоге я понял, что простенькие демки - это хорошо, их открытый код - это замечательно, но все же разобраться в нем не всегда просто. Поэтому я решил написать более-менее подробные комментарии к реализации демки (пока только одной - комментировать всё нет времени). Жребий пал на луноход, как наиболее прямолинейный в плане функциональности. Так что, если какие-то моменты были не очевидны, заставляли проклинать создателя демок, раздражаться при чтении кода - тогда стоит прочесть данное сообщение! Возможно, что-нибудь станет яснее!
Аккуратно! Дальше много кода и букв...

27 октября 2011

Drag'n'drop, промежуточный результат


Всем доброго дня!
Давно не писал в журнал, так как навалилась целая лавина дел, которые никак нельзя отложить, заморозить или просто делать в расслабленном режиме. Психологически нелегкое выдалось время, но я стараюсь разобраться со всем изо всех сил. А сегодня я решил побаловать себя, нашел капелюшочку сил и выделил несколько часов на описание демки Drag’n’drop (в рамках создания gui-демонстраций). Точнее сказать, это еще не окончательная программа, а всего лишь заготовка; но тем проще читателям будет понять те или иные моменты работы законченной демки, а мне намного удобнее разбивать описание работы сложных классов на несколько сообщений.

18 октября 2011

Конкурсы компьютерных игр

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

08 октября 2011

Утилитарный класс для вывода FPS + Memory. Этап 1: начало...

При разработке игровых приложений всегда необходимо знать, какую производительность выдает программа и есть ли запас для добавления тех или иных новшеств в игру. Мерилом скорости работы игровой программы обычно выступает количество кадров в секунду, которые отображаются на экране монитора игрока. На английском - Frames Per Second, сокращенно FPS, или же ФПС, если говорить транслитизацией.
Контролировать производительность игры стоит на всех этапах разработки и для каждого из них допустимым будет свое значение ФПС. Например, в финальной версии игры, где экран полон эффектов, игровых объектов, фоновых изображений, программа может выдавать и 40-50 кадров в секунду, что является довольно адекватным  значением для комфортной игры. Но вначале разработки значение должно быть на порядок, а то и два порядка выше, ведь в кадре не так много элементов, которые нужно выводить. При этом необходимо понимать, что в игру добавятся логические конструкции, звуки, скрипты, менюшки, физика, действия самого игрока и много-много чего еще! Поэтому следить за значением ФПС необходимо всегда, и сегодня мы как раз будем делать небольшую примочку для отображения основных данных о работе программы в real-time режиме.

29 сентября 2011

Square is going home


Предлагаю на суд читателей игру с открытыми исходными кодами, которую я сделал для конкурса на сайте GlScene.ru. При разработке игры я старался по этапам рассказывать, как и что я делал для достижения конечного результата.
Немного о разработке:
  • инструменты: Delphi + GlScene + Box2d + Lua
  • команда: один человек
  • время: около месяца упорного труда
  • бонус: много нового по коду и графике
  • итог: почетное второе место!

20 сентября 2011

Мои пыльные прототипы

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

11 сентября 2011

GUI: Круговой выбор элементов

Недавно я приводил список ближайших добавлений в наш замечательный сундучок простых gui-элементов, созданных в связке Delphi+GlScene. Так вот первым в списке был круговой выбор элементов или как еще его называют "радиальное меню". Его и делаем сегодня!
Применений у такого объекта множество:
  • в RPG-играх: выбор заклинания, выбор оружия, а также для меню возможных действий - диалог с NPC, торговля и т.д.
  • в квестах: выбор действия с объектом - поднять предмет, посмотреть на объект (подсказка), активировать элемент (открыть дверь, нажать кнопку и т.д.)
  • в RTS: меню для строений - произвести юниты, продать строение, апгрейд и всякое такое
В казуалках тоже может пригодиться... Так что давайте пополнять свой арсенал интерфейсных элементов для игр!

02 сентября 2011

Предлагаем идеи для GUI

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

24 августа 2011

Delphi + GlScene: Простые анимации

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

Сегодня на растерзание возьмем три элемента:
  1.  Простая анимация полосы загрузки
  2.  Анимация крутяшки ожидания
  3.  Маленький появляющийся хинт на элементы интерфейса

08 августа 2011

Balloon's Mail, релиз!

Всем привет, сегодня я радуюсь, так как мы запустили нашу первую флеш-игру под названием "Balloon's Mail"!
Играми занимаюсь недавно, но это так затягивает, что остановиться невозможно... После релиза "Тайн притяжения" я недолго думая решил отдохнуть, изучить новые технологии и приготовить небольшое кушанье для игроков. Поначалу выходило не съедобно, поэтому процесс создания первой флешки затянулся почти на полгода, и за это время мы создали несколько прототипов, изучили основы ActionScript'а, перечитали сотни статей и форумов, а также вдоволь отдохнули и набрались сил!
А сегодня я постараюсь немного рассказать о разработке и продаже игры, с цифрами - спешите!

05 августа 2011

Flash: некоторые проблемы и их решения...

Наверно стоит начать это сообщение с того, что еще год назад я активно делал игру на Delphi, стремясь продать свой первый казуальный проект. Но уже тогда, читая форумы и блоги о flash-индустрии компьютерных игр, мне хотелось попробовать себя в этом направлении... В общем, сейчас проходят предрелизные проволочки с первой flash-игрой, которую мы снова с leric сделали "на пару". В итоге я узнал много интересного, пришлось изучить новые технологии, новые инструменты и редакторы. И вместе с тем пришлось продираться через дебри неясностей, проблем и всяких багов.
Сегодня решил описать некоторые момента, которые иногда выводили меня из себя, ведь казалось бы все прозрачно и понятно, но нет ведь, не работает!
На повестке дня у нас получается вот такой список:
  • не отвечали клавиши в игре
  • прелоадер
  • тормоза в IDE
  • встраивание шрифта внутрь флешки
  • растеризация мувиков
  • CPMStar

29 июля 2011

Конкурс: подведение итогов! :)

Ну вот и подошел к концу конкурс, в котором мне довелось принять участие. Скажу сразу - fun'а было много, и я благодарен организаторам за доставленную радость! В данный момент на общий суд выложены все работы участников и проходит голосование. Ну, а пока запасемся терпением и посмотрим на то, что вышло в итоге...
Всего пришло шесть работ, из них одна - редактор, который вряд ли можно назвать "игрой на конкурс", но все же пусть будет, ведь автор проделал много работы, да и GlScene не помешают хорошие демки!

19 июля 2011

GUI: Стилизованное анимированное меню

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

13 июля 2011

Конкурс: анимация везде...

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

05 июля 2011

Console Application, немного эстетики

Как-то раз я уже рассказывал, что такое Console Application, как его создавать и как использовать. Но лично у меня не было больших нужд в консольных приложениях, правда недавно возникла необходимость написания именно такой утилиты. А именно упаковка файлов игры в один data-файл. Довольно удобно и ничего лишнего - передал несколько параметров командной строкой и вперед. Как известно, для вывода используем стандартные Write()/WriteLn().
Но одно удручает - из всего выводимого текста невозможно выделить какие-то важные моменты. Сразу приходит в голову "разукрашивание" слов и предложений, чтобы определенные элементы текста бросались в глаза.

30 июня 2011

Выпуск новостей #3

Уф-ф-ф... Кручусь-верчусь, а все равно многое не успеваю... Теперь даже журнал не пополняется вкусностями - сухие отчеты, да видео с чужих игр. Но ничего, надеюсь скоро все нормализуется. А пока немного расскажу о том, какие именно мысли занимают мое сознание, чем занимаюсь и куда двигаюсь.
В сегодняшнем выпуске новостей:
  • работаю над 13ым конкурсом игр на glscene.ru
  • обдумываем портирование "магнитов" на айфон/айпад
  • разбираюсь в вопросах построения клиент-серверной программы
  • продаем с leric свою первую flash-игру
  • придумываем идеи для будущего проекта
  • ищу место, где жить

28 июня 2011

Конкурс: небольшие продвижения

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

20 июня 2011

Конкурс: вести с полей

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

09 июня 2011

Завязать пространство в узел...

Очень радует, что на фоне постоянного клонирования игр, продвижения франшизы (это узнаваемый бренд, вроде "Веселая Ферма", к которому начинают клепать версии одну за другой), заполнения рынка однотипными играми (сколько сейчас HOG'ов в топ-е на BFG?), очень радует, что на этом фоне вновь и вновь появляются оригинальные игры с захватывающей динамикой и очень приятным геймплеем. Конечно, такие игры в основном выходят на Flash, так как цикл разработки одной флеш-игры довольно короткий и можно "попробовать что-то новое и интересное". Поэтому покажу три флеш игры, к которым я постоянно возвращаюсь ради отдыха.

02 июня 2011

Немного ответов :)

В комментариях к предыдущему сообщению о разработке и релизе игры, читатели задали несколько вопросов. Хотел сначала выразить огромную всем благодарность! Раз кто-то читает - значит все же не пустое дело описываю. Итак, я постараюсь ответить на все вопросы в полной мере. Мое сообщение будет строиться так:
Читатель
Вопрос
Ответ
В общем, отвечаю...

30 мая 2011

о разработке, релизе и распространении...

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

26 мая 2011

С чего начать игру? С прототипа!

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


23 мая 2011

Очередной конкурс игр!

На GlScene.ru стартовал 13ый конкурс игр. И в очередной раз правила привлекают своей простотой. Ничего сложного - делаем игру, небольшую, простенькую, но интересную! То, о чем можно только мечтать! Очень хочется поучаствовать... Посмотрим, возможно и мне удастся принять участие. Одним из главных пунктов является ведение журнала с кратким описанием того, что проделано. Ну, это я умею :) Также указано, что все ресурсы (даже музыка??) должны быть самодельными. Никаких клипартов, ворованных спрайтов, чужих текстур, моделей и т.д. Поэтому все беремся за простые идеи с элементарной графикой в качестве отображения!
Вот и мне осталось определиться с тем, что делаем, представить в голове и стремиться к назначенной цели. Всем успешного участия! Если получится - с радостью присоединюсь...

19 мая 2011

Простое меню с кнопками

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

05 мая 2011

Демо физического платформера

Проект glVehicles не заброшен! Согласен, известий не было давно, демками не пополнялась длительное время. И вот недавно я взял себя в руки и решил сконструировать что-нибудь полноценное, играбельное. Ведь, как мне показалось, многих отталкивает debug-отрисовка физических объектов. Всем хочется сразу красивых спрайтов и "рюшечек". Рисовать самому или просить кого-то сделать несколько спрайтов для бесплатной демки с открытым кодом - как-то не хотелось. Наткнулся на этот арт и сразу родилась идея для демки. Сделалось быстро, а вот написать это сообщение, руки дошли только сейчас.

28 апреля 2011

Завел репозиторий для демонстрационных программ!


Буквально на днях завел репозиторий для демонстрационных программ.
Зачем? Дело в том, что Google предоставляет огромное количество свободного места, прямые ссылки, быстрый svn, открытый код - это все по мне!
Так что, немного подумав, я открыл репо, залил пяток последних демок, начал мастерить следующие...
Как всегда все просто:
  • в downloads буду выкладывать "снимки" демок, указывая ревизию и название
  • работа с папками репозитория аналогична работе с glVehicles, о которой можно прочитать здесь
  • при CheckOut'е указываем адрес https://lampogolovii.googlecode.com/svn/trunk
  • описание новых возможностей и демок будет появляться здесь, в этом журнале, чтобы ничего никогда не пропустить!
  • если что не запускается/не компилируется/не устанавливается - пишите, будем разбираться!

25 апреля 2011

GUI: Панелька из 9ти кусочков...

Недавно один из форумчан glscene.ru спрашивал о способе отображения панельки с изменяемой шириной. Простым масштабированием (Scale) спрайта правильного эффекта не всегда можно добиться. Например, нам нужны закругленные края или небольшая тень от панельки. При масштабировании эти эффекты безобразно увеличатся и будут портить всю картинку. Как же быть в случае, если заранее ширина или высота такой панельки неизвестна и просто нарисовать png-шку нужного размеры мы не сможем? На ум приходит собирать итоговую картинку из нескольких элементов - углы, края и серединка. Вот такую панельку, состоящую из 9ти кусочков мы и будем сегодня делать на GlScene.

12 апреля 2011

Tween-инг в Delphi, первые шаги

Вот и пришло время выложить демонстрацию tween'инга в Delphi! Если кто забыл, то я как раз недавно озаботился вопросом плавной анимации движения/поворотов/альфы и всего прочего. И даже начал кое-что делать в этом направлении. Конечно, пока работа над этим не закончена, но уже есть что показать. Поэтому сегодня постараюсь описать текущий принцип работы tween-класса. Надеюсь появятся вопросы и предложения... а все знают, что лучше дополнять код в процессе работы, а не переписывать потом все с нуля. Вперед, друзья!

11 апреля 2011

Какой сейчас год?!

Напишу коротенькое сообщение, оторванное от программирования.
Дело в том, что недавно я узнал одну вещь, которая даже не вещь. А как бы факт, который я не знал. Хм... как бы объяснить?! Зайду немного издалека: есть различная информация, которая с легкостью затирается и покрывается толстым слоем пыли за годы, прошедшие с момента появления этой самой информации, что теперь и не разглядеть, что же было на самом деле. Ну так вот...

03 апреля 2011

Жизнь без скроллбаров

Начну с того, что меня всегда удивляет использование в демках и конкурсных работах стандартного vcl. Как же так? Мы рисуем сцену с большим количеством объектов, красивым фоном, эффектами, физически взаимодействующими телами, с помощью графических движков (вроде GlScene, HGE и других), а элементарные кнопки, чекбоксы оставляем на отрисовку устаревающему vcl? Думаю дело в том, что красивый, простой и работающий гуи под GlScene - большая редкость, и поэтому многие просто вставляют в игру стандартные кнопки - кинуть на форму TButton умеют все. С другой стороны, возможно, те, кто начинают делать свой графический гуи, хотят сразу построить навороченный интерфейс с панелями, формами, выводом тысяч символов текста и т.д. Надеюсь, это рабочий подход к программированию, но не мой. Мне всегда кажется, что нужно начинать с чего-то маленького, тогда сразу станут видимыми границы, которых хочется достичь. В общем, я буду создавать, описывать и выкладывать в своем журнале простые элементы гуи, чтобы ими можно было воспользоваться в любую минуту. Обычно одним из самых неприятных моментов в гуи являются скроллбары, поэтому поступим хитро и попробуем организовать прокрутку длинного списка без скроллбаров вообще. Собственно, отсюда и заголовок сообщения - "Жизнь без скроллбаров", это возможно, просто и приятно. Приступим!

01 апреля 2011

Чужой код или "перепроверяй за камрадом"

Расскажу одну историю, которая приключилась со мной недавно. Если говорить "с начала", тогда стоит упомянуть, что недавно я познакомился с tween'ингом во flash. Понравились удобство, красота и прозрачность исполнения. Захотелось чего-то подобного в Delphi. Мне подсказали, что существует вот этот проект, в котором добрый человек как раз и реализовал анимацию между заданными значениями. Супер! О чем еще мечтать?! Но меня оттолкнули следующие вещи:
  • меняются только integer-параметры
  • событие на изменение параметра (хочется, чтобы оно само все меняло)
  • все работает за счет срабатывания стандартного таймера, нужно все перебросить в Update игрового цикла
  • нужен также tween'инг Vector-класса

24 марта 2011

Игры с потрясной анимацией...

Не так давно я уже говорил о том, что существуют игры с невероятной анимацией и эффектами, завлекающими игрока. Так вот на днях наткнулся на тизер одной игрушки и решил выложить как пример замечательной и красочной картинки. Заодно добавлю еще две очень известные, и в свое время популярные игры с безумной графикой и очень опрятной анимацией. Итак, встречаем WhipCrack, Heart of Darkness, Grow Cube.

17 марта 2011

Сплайны: целый воз практики и чуточку теории...

Загадочное название в заголовке этого сообщения не должно никого настораживать. Дело в том, что недавно я решил смастерить класс-навигатор для движения объекта по заданной траектории. Казалось бы все просто - меняй координаты вдоль траектории и радуйся передвижениям тела по экрану! На деле же появилось несколько интересных моментов, которые я и решил описать здесь - поделиться так сказать.
Центральная вещь класса-навигатора, конечно, состоит в движении объекта по гладкой кривой, то есть нам необходимо по заданным основным точкам траектории, восстанавливать всю сглаженную кривую, чтобы движения тела были плавными, без угловатых поворотов. Сейчас этим и займемся!

13 марта 2011

Подсветка кода в blogspot.

Можно было заметить, что с недавнего времени в журнале изменился способ подсветки кода. Лично мне так нравится больше. Старые сообщения висят в прежнем виде - совсем нет времени, чтобы изменить подсветку по всему журналу. Раньше для подсветки синтаксиса я пользовался сервисом ToHtml: вбиваешь код, выбираешь язык, кликаешь Highlight и на выходе получаешь html-код для вставки в сообщение. Что удобно - есть несколько стилей подсветки, выглядит съедобно, казалось бы совсем немного "телодвижений", а результат хороший. Правда в последнее время стало раздражать то, что при малейшем исправлении такого подсвеченного кода, начинает плыть разметка, скачут символы, шрифт, напрягаются нервы.
И вот недавно начал задумываться, что должны бы существовать какие-нибудь плагины или что-то другое, чтобы облегчить жизнь насущную. Быстро наткнулся на google-code-prettify, начал разбираться. С первой попытки не взлетело, но через какое-то время заработало как надо. Вот теперь им код и подсвечивается. Все нравится - и рамка вокруг кода, и простота в использовании, и тот факт, что изменение кода можно проводить со спокойной душой - ничего никуда не поедет и останется на своих местах.
Как же его установить? Как можно увидеть в строке адреса данного журнала, он находится на blogspot.com. Поэтому и внедрение подсветки я сделал именно сюда. Вот здесь можно найти отличное руководство как проще всего прикрутить подсветку кода в blogspot'у. Занимает десять минут, а границ моей радости не видать!

08 марта 2011

Flash: Оживляем фон летающими светлячками

Анимация - это всегда здорово! Бывают игры, полностью построенные на анимации, которые могут затянуть в процесс надолго. Когда что-то движется на экране, оживляя окружение - игрок сильнее погружается в действия, происходящие перед ним. Например, многие были в восторге, когда в Hexen'е над трупом через какое-то время начинали кружить мухи. Пример кровавый и поэтому неудачный, согласен. Сейчас придумаю что-нибудь получше... Вот например Braid полностью пронизан красивыми анимациями: пыль из-под захлопывающейся двери, на фоне падают листья, используется параллакс на движения бэков, при реверсе времени - все эти анимации обращаются вспять и красиво радуют глаз. На самом деле в играх можно найти и взлетающих птиц при приближении игрока, и червяков, изредка высовывающихся из деревьев, и плавную смену времени суток с закрывающимися цветками и начинающимся вечерним ветром, да и многое-многое другое. Игра оживает перед игроком и предстает сочной картинкой, взаимодействующей, а порой просто завораживающей своими анимационными эффектами. Вот и мы немного посмотрим в эту сторону. Сегодня начнем с простого: запустим на фоновое изображение маленьких светлячков, оживляющих картинку своими движениями.

02 марта 2011

Параллакс: звездное небо в 2д и не только

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

01 марта 2011

Весна пришла!

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

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

22 февраля 2011

Скриптовой модуль, Демо-5

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

  • результат виден сразу, никакой перекомпиляции!
  • тексты диалогов лежат в отдельных файлах скриптов, не нужно производить навигацию по десятку разрозненных pas-файлов
  • можно отдать файл на редактирование постороннему человеку и быть уверенным, что никаких небезопасных действий с программой он не учудит (ему даже исходных кодов основной игры можно не давать)

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

14 февраля 2011

Squall: рёв двигателя!

Для многих техник в играх можно увидеть приставку "программная(ый)": например, программная анимация, программный спец-эффект, программный ландшафт, программная текстура и т.д. В чем заключается такая добавка к выражению? Все очень просто. Дело в том, что всю игру можно условно разделить на две составляющие: контент (содержимое, наполнение игры, например графика или музыка) и программистскую часть, состоящую из кода самой игры. Так вот под "программным" понимают то, что некоторый контент создается с помощью программирования: формул и алгоритмов. Сегодня как раз поговорим о том, как можно программно создать звук гудящего мотора мотоцикла или автомобиля.

13 февраля 2011

Выпуск новостей #2

А вот и я! Давно не был, нового немного, но рассказать есть о чем... Вообще, так много крутится в голове, так о многом хочется написать, что не могу довести ни одно из сообщений до завершения. Именно поэтому я решил написать небольшой выпуск новостей (второй по счету) на тему "что сейчас происходит вокруг меня" :)
Краткий анонс сегодняшнего выпуска:
1. Прогрипповал целую неделю
2. Завершился конкурс на glscene.ru!
3. Все шаманю с локализацией магнитов на европейские языки
4. Страсть как хочется рисовать!
5. Завел несколько черновиков, но довести до читабельного состояния пока нет сил
6. Разрываюсь между Flash и Delphi
7. Вернулся к ползунку для демок glVehicles, решил сделать

03 февраля 2011

Секрет древней рецептуры...

Никто не подскажет рецепт замечательной игры?
Оказывается, если открыть старинную книгу игроделов, то можно найти волшебный рецепт... не уверен, что смогу его дословно передать (книга ведь старинная - на дом почитать не дают, только по абонементу в читальном зале), но я постараюсь.
А вот и сам рецепт: "Для приготовления замечательной игры необходимо запастись храбростью, верой в успех и огромным количеством терпения. Если этих первоочередных ингредиентов будет в недостатке, тогда блюдо никак не получится!...

01 февраля 2011

Простой tween'инг во flash

Потихоньку изучаю flash, решил поделиться новыми знаниями, полученными в ходе недавних изысканий... сегодня немного распишу про tween'инг. Для тестов я взял стандартный класс Tween, находящийся в пакетах Adobe Flash. Код простой, демка еще проще, но как-то очень приятно видеть, как страницы журнала тут же оживают и начинают анимационно и интерактивно двигаться по экрану. Это вам не демки качать и полдня компилировать! :)

28 января 2011

Игра "Тайны притяжения" вошла в список Top Casual PC Games of 2010 на Avault.com

Вот такие дела... Если кто не знает, английский тайтл игры - "A Magnetic Adventure".
Скачать можно здесь.
Итак, очень приятно увидеть нашу игру в списке Top Casual PC Games of 2010, рядом с такими монстрами как "Puppet Show: Souls of the Innocent Collector’s Edition" и "Haunted Manor: Lord of Mirrors Collector’s Edition" от BigFishGames.
Вообще, с момента выхода игры на нее было написано несколько ревью и множество отзывов.
Некоторые из них почитать можно здесь:


Еще бы прибыль от продаж коррелировала с этими мнениями :)

25 января 2011

glVehicles-Gibbets или насколько трудно программировать физику?

Снова я... И сразу же - ура! обновления в репозитории! добавилась еще одна демка! Правда еще пару дней назад я не планировал делать то, что получилось. Отчего такая спонтанность? Ну, немного предыстории...
Недавно закончился 11ый конкурс на glscene.ru и в данный момент подводятся итоги. Конкурс выдался на редкость замечательным! Большое количество участников, высокий уровень работ, интересные находки в плане геймплея... супер! Без шуток! Рад, что довелось оценивать работы конкурсантов! 
Теперь происходит выбор новой темы для следующего конкурса... Как всегда я предложил выбрать для темы игровую механику какой-нибудь флеш-игры. Среди них есть множество действительно чумовых! На мое удивление, прозвучала фраза, что это сложно и только с виду выглядит простым. Наверно, это задело мое самолюбие и я решил продемонстрировать, что программирование физической основы игровой механики предложенных мною игр не столь трудно, как представляется... завернул мощно, ничего не поделаешь, но суть проста - я попробовал запрограммировать что-то из тех физических штук, что я предложил...

21 января 2011

Скриптовой модуль, Демо-3

Продолжим изучение основ Lua! Стоит перейти к описанию третьей по счету демки, что я как-то выкладывал на суд читателей... Наверно, её можно обозначить как наиболее наглядную для понимания того, как вообще можно использовать скрипты. Строить безликие графики, считать никому ненужные формулы может каждый, но "это ведь простенькие тесты, а мы хотим настоящей бомбы" - скажете Вы! Поэтому сейчас на элементарном примере попытаюсь показать как можно очень быстро прикрутить скрипты к уже работающей программе с благой целью... Программисты пишут программы - это несомненно. А бывало ли у кого-нибудь, когда юзер говорит: "а не мог бы ты подвинуть вон ту кнопочку в своей программе?" или же "переименуй поле меню, а то неясно". В ответ говорим: "секунду! сейчас все сделаю!". Что происходит дальше? В худшем случае: открываем IDE, ковыряемся по диску в поисках проекта, открываем, компилируем, берем итоговый exe, который весит порядка мегабайта, отсылаем юзеру. Становится очевидным, что настройки  программы нужно выносить во внешние файлы. И тогда ответ был бы короче: "открой файл menuitems.ini и поменяй название менюшки как тебе угодно". Уже лучше, а что, если нас попросят поменять не только название, но логику отработки кнопки? Вот тогда приходят на помощь скрипты...

13 января 2011

"Отчаянные пилоты", исходники под новую сцену...

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

11 января 2011

Знакомство с flash...

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

09 января 2011

glVehicles, поверхность жидкости силами Box2d

Когда-то давно я уже описывал простые физические модели, которые можно построить с помощью доступных физических движков. Для 7ой демки glVehicles я выбрал жидкость. Конечно, вводить какие-то новомодные частицы для простой демки я не стал. А вот смоделировать поверхность жидкости стандартными способами (плавание и погружение тел) всегда приятно, быстро и красиво! Итак, еще одно обновление в физических демках: на этот раз демонстрируется, как можно дешево добавить уровень воды в игру, разнообразив тем самым уровни и тайлы карты. Итак, встречайте...

07 января 2011

С новым годом!

Немного запоздало, но все же... Поздравляю всех-всех! Творческих успехов всем!
Сам этот две тысячи десятый год стал для меня довольно переломным и необычным... очень много событий, очень много изменений! Не всегда приятных, но обязательно поучительных! Год прошел, встречаем новый ;)