пятница, января 19, 2018

New blog


I made decision to restore blog. Time to time i saw visitors on my github projects from links at this blog - it means that it’s still useful for someone. New blog will be hosted on new platform with new domain name https://leopotam.ru, because Google Blogger provides less control over all aspects than custom hosting.


This blog will not be updated anymore.

понедельник, марта 14, 2016

суббота, марта 12, 2016

Tools library for unity3d: updates


Some updates to library:

  • Lgui basic example with using free assets from unity store.
  • MonoBehaviourBase works correctly with disabled on start GameObjects.
  • Performance optimizations.
  • Some bug fixes.

суббота, марта 05, 2016

Tools library for unity3d: auto caching for transform property


Common.MonoBehaviourBase class provides 2 optimizations for access to component transform:

  • Standard "transform" property 2-2.5x faster than with standard component.
  • Internal _cachedTransform field for all inherited classes with additional 2x performance boost relative to already boosted "transform" property.
Repo url same: https://github.com/Leopotam/LeopotamGroupLibraryUnity

воскресенье, февраля 14, 2016

Tools library for unity3d


Решил выложить в открытый доступ наработки по unity3d:

  • Адрес: https://github.com/Leopotam/LeopotamGroupLibraryUnity
  • Common (синглтон, вспомогательные конверторы типов)
  • DebugHelpers (доступ к данным о версии приложения в рантайме, fps счетчик)
  • FX (затухание экрана, менеджер музыки и звуков)
  • Localization (статическая, динамическая локализация с возможностью подгрузки и выгрузки в рантайме, возможность выгрузки локализации из GoogleDocs / Office Excel)
  • Math (Более качественный генератор случайных чисел на основе "Вихря Мерсена", аналоги Vector2 / Vector3 для работы с целыми числами)
  • Mobile (Обработка аппаратной кнопки "назад" на android)
  • Notifications (Индикатор загрузки, Всплывающие сообщения)
  • Pooling (Поддержка пулинга любых префабов для оптимизации производительности)
  • Scripting (Встроенный скрипт-язык, позволяющий реализовывать логику и хранить ее в виде текстовых ресурсов. Оптимизирован для минимизации выделения памяти)
  • Serialization (Поддержка десериализации Csv, сериализация / десериализация Json)
  • Tutorials (Вспомогательный код для организации последовательных действий в виде "обучения")
  • Tweening (Простой tweening: position, rotate, scale)
Примеры использования будут добавляться постепенно, по мере появления свободного времени. Лицензия использования указана на главной странице проекта на Github.

воскресенье, февраля 17, 2013

StalkerMobile



Коллеги по геймдеву попросили упомянуть о том, что их группа по разработке мобильной версии stalker-а VKontakte переехала на новый адрес: http://vk.com/projectstalker

пятница, февраля 01, 2013

LeapMotion developer


Таки одобрили мой аккаунт в качестве разработчика с предоставлением бесплатного dev-кита, который приедет 12 февраля. Посмотрим, что за зверь этот LeapMotion и как можно его применить.

Dota2 - ключи


Если кому нужны ключи к Dota2 - обращайтесь (с указанием логина в стиме), есть 16 штук.

среда, января 30, 2013

NGUI - автоматическая локализация через Google translate


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


воскресенье, декабря 16, 2012

Augmented reality - unity3d webplayer


Существует много разных фреймворков для встраивания дополненной реальности в свои unity3d-проекты, как платных, так и бесплатных. К сожалению, все библиотеки платформозависимы и требуют native-линковку.

среда, ноября 21, 2012

Odesk - сборище мошенников


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

UPD1: сняли блокировку через 4 дня без каких-либо вменяемых объяснений: в вашем аккаунте было что-то не так ("issue"), но теперь этого нет.

UPD2: самое забавное, что точно так же блокировали и моего заказчика через пару дней, продержали его в блокировке 2 дня.

среда, октября 31, 2012

GUI system


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

воскресенье, октября 28, 2012

FastTerrain


Давно не писал в блог, надо поправить этот недочет. Докрутил до вполне приемлемого уровня рендер геометрии для GLES2, позволяющий за 1 проход и 2 текстуры выводить 4 типа материалов, смешанных по маске (256 градаций каждого типа) и с возможностью tile-инга. Обычно это делается за 2 или 4 прохода, у меня это получилось сделать за один.

понедельник, сентября 17, 2012

среда, сентября 12, 2012

Dark Omen - ориентация отряда и позиционирование юнитов


Проект неспешно движется вперед:
  • отряд получил способность двигаться;
  • юниты отряда корректно реагируют на перемещения и повороты отряда.

вторник, сентября 11, 2012

Unity3d - бинарные данные как TextAsset


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

понедельник, августа 13, 2012

Unity3d - bundles for free


Для одного проекта пришлось написать аналог динамической подгрузки контента, доступной в pro-версии unity3d в виде bundle-ов. Так как у меня столько денег нет, то пришлось родить нечто подобное на коленке и работающее в free-версии.

воскресенье, июля 22, 2012

Touch gestures


Частично реализовал мини-библиотечку по поддержке gestures. Поддерживаются:
  • Tap - короткое касание.
  • Long tap - длинное касание.
  • Drag - перетаскивание точки.
  • Zoom(pinch) - изменение масштаба (изменение расстояния между двумя касаниями).
Любое из этих событий вызывает определенный метод у каждого GameObject-подписчика из списка с передачей параметров события.