27 декабря 2010

Unicode в GlScene: сложности и результаты.

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

24 декабря 2010

glVehicles: Грузовичок, а также привязка графики.

А-га-гась! Снова на связи, и я готов заняться писаниной :)... Трепещите!
Вообще, реалистичные физические взаимодействия в играх используют катастрофически часто... Ныне, когда мощности компьютеров хватает на быстрый просчет соударений, разлетов тел, погружений в жидкость, "отлетаний" от выстрелов и много другого, физикой в играх никого не удивить. Поэтому можно найти отличное применение и множество инноваций в геймплее! То, что приходит на ум из "инди", это: Intrusion, World of Goo, Gish, Lugaru, Gibbets, Braid.
Геймплей, построенный на физике, меня всегда привлекает. Вдохновившись игрой Mining Truck, и, чтобы немного оживить glVehicles, решил смастерить что-то подобное.
Скриншот:

13 декабря 2010

glVehicle + svn

Всем привет! В этом сообщении решил описать полный процесс установки glVehicle на Ваш компьютер ;) Чтобы не думать о том, какие демки есть, что там нового и т.д. Думаю, это будет полезно всем, кто вообще хочет познакомиться с системой контроля версий svn. А также рекомендую к прочтению тем, кто постоянно трудится, вычищая папку с проектом от всяких назойливых dcu/~pas/~dfm и других файлов. В общем, постараюсь осветить маленькие хитрости, которые, возможно, помогут Вам в работе. Надеюсь, это сообщение устранит последний барьер между исходными кодами glVehicle и монитором читателя. Вот так вот я поэтично закрутил вступление, поэтому сразу же направимся к кульминации, чтобы никого не утомить!

12 декабря 2010

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


Зашел сюда, решил что-нибудь написать. Вроде прямо какой-то темы или повода нет, поэтому напишу обо всем, что лезет в голову, чем сейчас занят. Как бы обзор новостей. Итак, обо всем по порядку.
1. Конкурс "Тетрисов" на glscene.ru
2. Перевод игры на корейский язык.
3. Моргания окна с игрой в полноэкранном режиме.
4. glVehicles, несколько обновлений + сообщение об использовании svn
5. Определение "сектора зрения", учитывая препятствия.
6. Ищу идею для маленькой демо-игры.
7. Фильм "Home"
8. Задача с timus уже убила полдня моего времени

25 ноября 2010

И как они это придумывают?

Вот скажите мне: как люди придумывают классный геймплей? Что это? Секундное озарение? Или же кропотливый расчет, исходя из отзывов аудитории о других играх? Вдохновение, пришедшее на свежем воздухе высоко в горах, или прагматичный расчет в душном офисе? Как человек придумал Braid? Или Portal? Эти две игры у всех на слуху, поэтому никого не удивлю, сказав, что они - настоящие шедевры, в которые стоит поиграть! Braid так вообще indie, что заслуживает отдельного уважения!
А в этом сообщении я решил собрать еще три игры, которые меня поразили своей задумкой. Ни в одну из них я не играл, видел только видео геймплея. Но они поразили меня тем, что они придумали в качестве инновации управления и топологии пространства. Неужели вы не испытывали приятное чувство восторга, когда додумывались, как нужно повернуть время вспять, чтобы добыть очередную паззлинку в Braid'е?! За это чувство игрок и готов заплатить разработчикам, как бы в знак уважения и благодарности за замечательно проведенное время. Так как можно придумать идею для игры, чтобы она потрясала и манила к себе? Лично я не знаю...
Итак, ниже идут три обещанных видео... возможно, вы видели уже это, но не выложить ссылки на эти потрясные вещи у себя журнале я не могу... как бы прикосновение к великому что ли! :)

glVehicles, Луноход и всякое по мелочам

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

24 ноября 2010

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

Чтобы отвлечься от багов в релизной версии игры, решил описать вторую демонстрационную программу связки Lua + Delphi. В общем, запоздавшее описание вроде почти закончено и я лучше выложу его сейчас, чем буду кормить всех новыми обещаниями о доработке текста. Как говорится "меньше слов - больше дела", поэтому приступим! Начнем с основного вопроса: "Что же делает Демо-2"? Ответ прост - строит график зависимости скриптовой функции от времени. Опять же, если вы не понимаете о чем идет речь, то, вероятно, стоит прочесть сообщение, в котором я как-то раз обещал описать демки, что выложил на всеобщее обозрение.

12 ноября 2010

glVehicles - завел svn на google.

Йе-х-у! Всем привет!
Открыл репозиторий под демонстрационные программы с 2д-физикой от Box2d. В итоге, я надеюсь, в них любой желающий найдет для себя интересные физичные механизмы, сможет изучить код моей связки GlScene + Box2d, а также посмотреть на развитие демок как таковых. Open source, в общем :)

09 ноября 2010

Timus, интересные задачи

Вчера зарегистрировался тут...

08 ноября 2010

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

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

23 октября 2010

Vehicle 2, Box2d

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

20 октября 2010

Отдыхаем с Box2d...

Всем привет!
если честно, всё ленюсь описать демки про Lua... но ничего, надеюсь скоро выложу продолжение! А пока, на glscene.ru завершился конкурс "RTS/TBS", в котором, к сожалению, не удалось поучаствовать... В общем, с пылу с жару, все участники форума устремились обсуждать новую тему для конкурса. И я решил отдохнуть, попробовав написать маленькую демо.

10 октября 2010

Сразу после релиза...

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

03 октября 2010

Скриптовой модуль, Demo-1

Вот и наступило время выложить описание первой демонстрационной программы связки Lua + Delphi, написанной мною недавно. Если вы не понимаете о чем идет речь, то, вероятно, стоит прочесть сообщение, в котором я как-то раз обещал описать демки, что выложил на всеобщее обозрение.

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, растягивать все это на фулскрин совсем не хочется, а обрезать черными полосами со всех сторон - кажется очень пошлой идеей. В общем, окончательно еще не решил, но оконный режим пока берет верх в моей голове :)
Интересно, сгодится ли это за второй отчет?! Надеюсь да, ибо я честно описал все свои наработки и достижения на текущий момент по конкурсу...

05 июля 2010

earth-ling One who inhabits the earth.

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


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

02 июля 2010

у-ф-ф-ф...

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

19 июня 2010

не скрин))..

Совсем забросил журнал... но времени совсем нет!

Раз пока мой мозг и руки все еще работают над "Историей одного магнита", то приступать к конкурсу я никак не могу... отдыхать все же нужно, поэтому я иногда рисую, а иногда накидываю в FireWorks картинки к будущей программе...

07 июня 2010

отдых...

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

04 июня 2010

Конкурс "TBS/RTS" на glscene.ru

Ура! Конкурс стартовал. Все рады. все уже ускорились. Кто-то модельки клепает, кто-то обдумывает, куда бы бамп прикрутить))
В общем, участников вроде много должно быть. А раз так - должно быть интересно.
Лично я планирую сделать клон вот этого

Про "придумывание"...

Меня тут спросили, сложно ли придумывать головоломки. Когда я начал писать комментарий-ответ, то понял, что тема довольно обширная, потому решил написать отдельное сообщение.

27 мая 2010

физика ;)

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

Время не ждет! (с)

Давно не записывал сюда ничего, ибо совсем мало времени...
Что нового? Да много всего. Отправил музыканту реферансы, жду первых 30ти секундных треков. Надеюсь, что он "поймает" ту нить музыки, которая мне понравилась в саундтреках Rolfe Kent'а. В игре добавилось невероятно много всего "закулисного". Поправлены незначительные баги. Успешно скомпилировался под Lazarus'ом - полёт нормальный. Записано множество идей для будущих уровней - времени реализовывать пока нет.
Также протестировал игру на трёх друзьях. Результаты лично меня не очень обрадовали.

07 мая 2010

Первое видео.

Ищем музыканта. Для завлечения соорудили видео.

12 апреля 2010

о хинтах.

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

05 апреля 2010

Пример скрипта...

Решил чуточку рассказать про скрипты в "игреХ"...
в первом тексте я коснулся технического аспекта использования скриптов. сейчас же напишу о том, как в итоге скриптовые файлы-уровни представлены у меня.
Вот пример первого уровня:

29 марта 2010

2d

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

отчет №7

не знаю, как начать этот отчет, так что напишу по-простому: всем привет!
в общем, в комментариях к предыдущему отчету, обещал записать тизер через три недели от написания сообщения... уже одна прошла! так что надо ускоряться, уж больно не хочется возиться с видео. кстати, подтвержу слова, сказанные кем-то на dtf о том, что последние 10% проекта занимают 90% времени...

15 марта 2010

заметка про мясо...

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

отчет №6

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

22 февраля 2010

отчет №5

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

было это давно...

ф... давно я здесь не писал... не знаю почему, но сегодня мне вспомнились старые задумки, которые когда-то я делал... решил выложить сюда пару скринов старых игр... изначально хотел видео заснять, но Fraps у меня почему-то не захотел нормально записывать, какие-то артефакты одни...
итак, поехали, первой завершенной игрой на GlScene нужно считать игру на конкурс "Танки":

01 февраля 2010

фильмо-названия...

...вчера посмотрел фильм "Men Who Stare at Goats". название вроде забавное, но как его перевести на русский? ведь в прокат надо запускать кино уже с адаптированным под зрителя названием и озвучкой! как же быть? как лучше перевести? вообще, отмечу, что сам фильм непростой, и перевод, в идеале, должен бы не сильно искажать первоначальный смысл, на мой взгляд.
В итоге, прокатчики немного растерялись. они разрывались между:

29 января 2010

Lua + Delphi, компиляция

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

25 января 2010

отчет №4

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

20 января 2010

Чтобы не скучать...

Давно здесь не писал, так что, чтобы не было скучно, решил кинуть ссылку на вот это здоровское видео:

музыка тоже там отличная... Nara by E.S. Posthumus

11 января 2010

отчет №3

Вот и прошли праздники, а жаль... на самом деле успелось сделать довольно много чего. сразу всего и не вспомнить, но по сути как-то так: