Pull to refresh
20
0
Константин @KonH

Пользователь

Send message

35 полезных советов для участников Ludum Dare

Reading time 8 min
Views 9.5K
image

Совсем недавно, 9 мая, завершился подсчет результатов Ludum Dare 35. Ludum Dare — международный игровой джем (по-простому — конкурс, на котором нужно за 48 или 72 часа полностью сделать игру). Мы участвовали в нем не единожды (для кое-кого из нас это уже 4ый LD подряд), но сейчас среди нас есть и новички. На волне энтузиазма от прошедшего события и была написана эта статья.

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

Многие из данных советов могут показаться очевидными, но каждый из них может оказаться для кого-то полезной каской от лишних граблей. Особенно для тех, кто еще не участвовал ни в чем подобном.
Читать дальше →
Total votes 11: ↑10 and ↓1 +9
Comments 3

Немного о магазинах мобильных приложений и цифрах, которым нельзя верить

Reading time 3 min
Views 3.6K
Думаете, чтобы знать объем аудитории своего мобильного приложения, достаточно загрузить его в магазин приложений и смотреть на красивые графики? Не совсем так, если не сказать иначе.

image

В этой статье мы проведем анализ данных о загрузках, представленных различными магазинами приложений и сравним их с реальным количеством установок.
Читать дальше →
Total votes 8: ↑6 and ↓2 +4
Comments 0

Создание приложения для Gear VR с использованием Unity3D

Reading time 2 min
Views 15K
На днях мне довелось поработать с новыми очками виртуальной реальности от Samsung и Oculus — Gear VR. Моей задачей было создать приложение для этих очков, что оказалось чуть сложнее, чем я предполагал.

image

Зачем эта статья?


Samsung Gear VR — продукт новый и еще не вышел в открытый доступ, так что конкретной информации о том, как подружить эту технологию с Unity3D еще очень мало и ее приходится долго собирать по крупицам, а официальный Integration guide мне не сильно помог. Надеюсь, эта статья сэкономит вам время.

Примечание


Я опустил слишком подробное описание каждого действия, так что для полного понимания инструкции нужно знать базовые основы Unity3d и уметь билдить приложение под android.
Читать дальше →
Total votes 7: ↑5 and ↓2 +3
Comments 1

Я не могу написать бинарный поиск

Reading time 11 min
Views 205K
Недавно (буквально два года назад) тут пробегала статья Только 10% программистов способны написать двоичный поиск. Двоичный поиск — это классический алгоритм поиска. Мало того, это еще чрезвычайно простой алгоритм, который можно очень легко описать: берем отсортированный массив, смотрим в середину, если не нашли там число, в зависимости от того, что в середине — ищем это число этим же методом либо в левой части, либо в правой, откидывая средний элемент. Для функций также, просто берем не массив, а функцию. Все очень и очень просто, алгоритм описан почти везде, все баги словлены и описаны.

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

А в чем, собственно, проблема?
Total votes 165: ↑107 and ↓58 +49
Comments 156

xNet — C# библиотека для работы с Web

Reading time 7 min
Views 144K
Постепенно, с изучением C# и .NET Framework, я начал писать различные Helper'ы, которые скрывали рутинный код за вызовом всего одного метода. После это переросло в разработку полноценной библиотеки, которую я хочу вам представить. Данная библиотека написана полностью 'с нуля'.

Так что же такое xNet?


xNet — это библиотека классов для .NET Framework, которая включает в себя:
  • Классы для работы с прокси-серверами: HTTP, Socks4(a), Socks5, Chain.
  • Классы для работы с HTTP 1.0/1.1 протоколом: keep-alive, gzip, deflate, chunked, SSL, прокси и другое.

Читать дальше →
Total votes 47: ↑36 and ↓11 +25
Comments 42

Смешиваем любимые биты в программе Unity 5.0

Reading time 6 min
Views 12K
Работа над звуком – одно из главных направлений в подготовке Unity 5.0. После того, как стало понятно, над какими функциями придется попотеть, мы включили звук в список первоочередных задач.
Чтобы всё было на мази, нам пришлось вернуться назад и расставить акценты над теми областями звука, которые были бы задействованы в Unity. Чтобы вы могли соединить сколько угодно хороших, качественных звуков в своих играх, нам нужно было определиться с кодеками и убедиться, что такая схема действительно будет работать. Я постараюсь расписать все нюансы в более подробной статье, ну а пока расскажу вам о нашем первом звуковом аддоне к Unity 5.0, AudioMixer.
Читать дальше →
Total votes 21: ↑18 and ↓3 +15
Comments 4

Режимы смешивания в Unity

Reading time 9 min
Views 47K
Многие наверняка слышали о режимах смешивания (blend modes), которые присутствуют в большинстве популярных программ для работы с изображениями и видео. Там это — важный инструмент создания контента, давно уже ставший неотъемлемой их частью.

А что же в играх?

Допустим, появилась необходимость использовать Color Dodge смешивание для системы частиц или UI-художник сделал красивую графику для игрового интерфейса, но некоторые его элементы используют какой-нибудь Soft Light. А может, вам понадобилось подвергнуть трёхмерный объект Divide-смешиванию, чтобы получить эффект прямиком из кинокартин Линча?



В данной статье мы рассмотрим принцип работы популярных режимов смешивания и постараемся максимально точно воссоздать их эффект на игровом движке Unity.
Читать дальше →
Total votes 33: ↑30 and ↓3 +27
Comments 11

Алгоритмы интеллектуальной автогенерации уровней в iOS игре

Reading time 6 min
Views 22K


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

Вернемся к нашей задаче, нам нужно интеллектуально генерировать карты для IPhone/IPad игры типа «Марио», для начала мы рассмотрим генерацию карты в пределах поля 128х128 кубов.
Читать дальше →
Total votes 31: ↑29 and ↓2 +27
Comments 11

Приемы при проектировании архитектуры игр

Reading time 11 min
Views 143K
К сожалению, нигде нет более менее полной публикации на тему проектирования архитектуры в играх. Есть отдельные статьи на конкретные темы, но нигде все это вместе не собрано. Каждому разработчику приходится самостоятельно по крупицам собирать подобную информацию, набивать шишки. Поэтому решил попробовать собрать часть из этого воедино в данной статье.

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

В публикации рассматриваются следующие темы:
  • Наследование VS компоненты
  • Сложные иерархии классов юнитов, предметов и прочего
  • Машины состояний, деревья поведений
  • Абстракции игровых объектов
  • Упрощение доступа к другим компонентам в объекте, сцене
  • Сложные составные игровые объекты
  • Характеристики объектов в игре
  • Модификаторы (баффы/дебаффы)
  • Сериализация данных

Читать дальше →
Total votes 40: ↑38 and ↓2 +36
Comments 30

Broadcast Event Messaging в Unity3D

Reading time 4 min
Views 18K
При разработке игр, довольно часто возникает необходимость в построении системы широковещательной рассылки сообщений. Предположим, Вы хотите сделать так, чтобы в тот момент когда персонаж, управляемый игроком, вошел в определенную зону, или выполнил определенное действие, все заинтересованные в этом объекты получили уведомление. По возможности это уведомление должно нести в себе информацию о произошедшем событии. В данной статье, я предлагаю Вашему вниманию один из возможных способов построения подобной системы. Приведенная система построена на базе Unity3D EventSystem.
Читать дальше →
Total votes 17: ↑13 and ↓4 +9
Comments 4

Руководство к Car Tutorial (Unity3d): Изучение альтернативной физической модели (часть 1 из 3)

Reading time 6 min
Views 25K
Прежде чем начнем, хочу предупредить, что это не перевод официального руководства, а мое личное руководство к установке физики на автомобиль.

Часть 1
Часть 2
Часть 3

Изучение альтернативной физической модели:


Часть 2
Часть 3

В официальном руководстве говорилось о физике автомобиля, которая имеет упрощенную модель и имеет много недостатков, которые можно прочитать в самом конце Часть 3 руководства. Или посмотреть это видео:



P.S Для тех у кого модели экспортированы, можем сразу же перейти к настройке автомобиля Переход, а так же могут просмотреть видео по настройки автомобиля (дополнение к статье) :
Читать дальше →
Total votes 8: ↑7 and ↓1 +6
Comments 2

Добавляем MVP в игры на Unity3D

Reading time 5 min
Views 21K
image Всем доброго времени суток. В данной статье хотел бы рассказать о том как можно применить шаблон MVP в процессе разработки игр на платформе Unity3D. Использование этого шаблона может способствовать упорядочению кода и улучшению структуры проекта. Стоит сразу отметить, что в статье не дается детального описания самого шаблона, а предполагается наличие у читателя базовых знаний о нем.

Как мы все с Вами знаем, MVP — это шаблон призванный отделить презентационную логику от логики приложения. В случае Unity3D, представлением может быть GameObject с набором прикрепленных к нему компонентов, необходимых для реализации презентационной логики ( в том числе и компонент самой презентационной логики — MonoBehaviour имплементирующий соответствующий интерфейс представления (View)).
Читать дальше →
Total votes 15: ↑13 and ↓2 +11
Comments 6

Защита игр и мобильных приложений от взлома для чайников (Unity, C#, Mono)

Reading time 8 min
Views 70K
Всем снова здравствуйте! Дошли руки написать крутую статью на весьма важную тему для разработчиков игр. Итак, поговорим о защите ваших драгоценных игр и приложений, которые вы пилите на Unity в надежде заработать на буханку хлеба, от взлома злобными школьниками. Почему школьниками? Потому что надежной на 100% защиты априори быть не может. И кто захочет, все равно взломает. Вопрос лишь в том, сколько времени и сил он на это потратит. И как любят шутить безопасники — терморектальный криптоанализ никто не отменял.

Итак, в статье я постараюсь максимально доступно рассказать о 3 аспектах (и конечно, предложу реализацию):
  • защита данных приложения (сейвов)
  • защита памяти приложения
  • защита внутриигровых покупок (Google Play)

image
Читать дальше →
Total votes 31: ↑26 and ↓5 +21
Comments 34

Краткий обзор нового Unity UI с примерами организации интерфейса

Reading time 5 min
Views 81K


Пожалуй, для многих новость о выходе новой системы Unity UI (далее просто UI) не показалась чем-то значимым. Как минимум — по причине её сырости, как максимум — из-за существования NGUI. Я поначалу не стал исключением, но открытие исходного кода UI системы (1) под либеральной лицензией MIT/X11, а так же энтузиазм разработчиков Unity Technologies заставили меня изменить мнение.

На мой взгляд, новый UI принесет нам довольно много плюсов:

  • Вполне достойный инструмент из коробки;
  • Возможность более глубоко понимать работу UI благодаря наличию исходников;
  • Общепринятый механизм внесения изменений в исходный код UI — fork/pull request;
  • Здоровая конкуренция между разными системами UI в конечном итоге принесет свои плоды в виде более качественных и удобных инструментов для Unity, а возможно и демпинг цен;
  • Тесное взаимодействие команды разработки UI и ядра Unity уже сейчас приносят плоды в виде оптимизаций производительности, да и в будущем надеюсь они будут идти нога в ногу.

Читать дальше →
Total votes 19: ↑17 and ↓2 +15
Comments 25

Unity UI в версии 4.6

Reading time 3 min
Views 30K
Доброго времени суток.

Пускай уже несколько дней v 5.0.0.9 BETA лежит в открытом доступе, но из названия понятно, что скачивать и вести свой проект на ней еще рановато, поэтому в этой статье я распишу достопримечательности UI в 4.6. Сразу замечу: все, что написано ниже, сугубо имхо, так что не нужно придумывать остроумные комментарии, поскольку я не претендую с этой статьей на ЦА Хабра, а просто хочу, чтобы такая статья на Хабре была, ведь если бы я наткнулся на подобную статью, как только скачал UNITY 4.6, то осваивать новый UI было бы легче и интереснее. Вот. Поехали.
Читать дальше →
Total votes 28: ↑20 and ↓8 +12
Comments 7

Unity3D Editor: советы и трюки

Reading time 4 min
Views 31K
Решил вкратце в одном документе описать некоторые способы расширения редактора, позволяющие сделать работу с ним более удобной.

В публикации затронуты следующие моменты:

  1. Отображение иконки и текста над объектом в сцене;
  2. Отображение текста или иконки в окне Project;
  3. Шаблоны создаваемых скриптов;
  4. Открытие и создание проекта через контекстное меню проводника;
  5. Добавление подписчиков на событие в инспекторе.

Читать дальше →
Total votes 27: ↑24 and ↓3 +21
Comments 0

Исследование UI в Unity 4.6 beta

Reading time 3 min
Views 21K
На днях начал изучать новый UI в Unity 4.6 beta. Все, что на официальном сайте в видео туториалах, естественно было просмотрено, но там нет ничего о том, как работает новый UI. Доков я тоже не увидел и, естественно, захотелось разобратьс, я как это все работает. Итак, кратко о том, что я понял:
Читать дальше →
Total votes 12: ↑8 and ↓4 +4
Comments 20

Первый опыт разработки iOS-приложения и размышления о маркетинге и рекламе

Reading time 6 min
Views 52K
… в общем создал я игру. А дело было так.

Несколько месяцев назад подошёл мой начальник и обрадовал, что с сегодняшнего дня, в дополнение к своим основным обязанностям, я должен буду делать iOS-приложения (не сильно сложные, но по работе необходимые), что Mac mini мне купили и что я самый опытный из всех по части продукции Apple (это правда, т.к. ваш скромный слуга уже четвёртый год ходит с 1-м iPad). Ну ладно.
Что было дальше?
Total votes 42: ↑27 and ↓15 +12
Comments 44

Гон эффективности

Reading time 3 min
Views 65K
Как-то раз я посетил курсы быстрого чтения. В самом начале происходил замер существующей, природной скорости, а в конце обучения — еще один замер, чтобы видно было, за что деньги плачены. Надо было прочесть из длинного текста сколько успеешь и ответить на вопросы, получив некий условный показатель «осмысленного скорочтения». За четыре недели мой тест улучшился почти в 5 раз.

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

Через несколько лет, когда вел тренинги по личной эффективности, управлению временем и проч., я много раз жалел, что нет у меня права через полчаса после начала тренинга отпустить половину зала по домам. Когда мало-мальски наметан глаз, так хорошо видны люди, которым это занятие ну совершенно бесполезно, и даже вредно. Однако, каждый идет своим путем, и если кому-то кажется, что этот путь слишком извилист и не оптимален, то этот кто-то сам высокомерен и недалек. Некоторые углы срезать невозможно. Некоторые этапы жизни невозможно пропустить. Для множества людей такой этап — воинствующий культ эффективности.
Читать дальше →
Total votes 69: ↑58 and ↓11 +47
Comments 18

Воспроизведение и управление звуками в Unity 3D (Sound complete event, Play in edit mode)

Reading time 5 min
Views 61K
К этой статье будет приложен небольшой, но полезный csharp скрипт, и показано как им пользоваться.
Поводом для написания скрипта стало то, что появилась необходимость в настройке и тестировании звуковых эффектов не запуская сцены проекта. А так же в отслеживании основных событий воспроизведения.

Скрипт работает одинаково как в PlayMode так и в EditMode, и позволяет:
1. Воспроизвести звук с необходимой задержкой и отследить начало воспроизведения.
2. Отследить окончание звука, в том числе каждый момент завершения зацикленного воспроизведения.
3. Отследить незапланированное окончание воспроизведения звука.
4. Использовать событие для отслеживания и изменения параметров в процессе воспроизведения.
Читать дальше →
Total votes 8: ↑5 and ↓3 +2
Comments 3

Information

Rating
Does not participate
Registered
Activity