Pull to refresh
2
0
Send message

Рендеринг капли с прозрачностью и отражениями на OpenGL

Reading time7 min
Views21K

В этой статье мы рассмотрим как рендерить капли на OpenGL и расчитывать на лету нормаль для отражения и прозрачности. А так же, что такое Metaballs, баги графических чипсетов и какие трюки оптимизации можно применить для 60 FPS на мобильных девайсах.


Читать дальше →
Total votes 42: ↑42 and ↓0+42
Comments20

Рендеринг UTF-8 текста с помощью SDF шрифта

Reading time5 min
Views21K

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


Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments39

1 000 000 жилых домов России

Reading time2 min
Views68K
Есть прекрасный сайт www.reformagkh.ru. На нём можно найти, управляющую компанию, закреплённую за домом, сколько денег, на что тратится и всё такое. Но кроме этого можно узнать разные интересные вещи о нашей стране в целом, например, для каждого дома на сайте указана дата его постройки, поэтому можно посмотреть, как строилась Москва с 1900 года:



Ещё более эпичная картинка получается, если посмотреть на Россию целиком:


Читать дальше →
Total votes 86: ↑78 and ↓8+70
Comments118

15 нестандартных инструментов продвижения приложения

Reading time23 min
Views34K
Ненавижу статьи про продвижение мобильных приложений. Потому что в 99% процентах из них будет одна вода, избитые, всем известные инструменты, без живых цифр и примеров. Не для этого я захожу на Хабр.

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

Запасайтесь чаем и добро пожаловать под кат

Читать дальше →
Total votes 35: ↑28 and ↓7+21
Comments11

Фейковая Новелла: маленькая игра, разработка которой многому меня научила и очередной бан от Google

Reading time19 min
Views89K
Многим знакомо чувство, когда чувствуется энергия от той самой идеи, что позволит свернуть горы и разработать законченное приложение, а не пополнить кладбище недоделок. Я по доброму завидую тем людям, что умеют трезво рассчитывать свои силы, а не увязать в трясине под гнётом рутины. У меня хватало сил, чтобы не дать начать себе что-то новое… Но конечно, разработка больших и длинных хобби проектов «потому, что бросить» жалко тянет соки, а не приносит радость. Эта публикация о том, как я намеренно дал слабину, чтобы поднять себе настроение, разработав простую игру за три дня. И сделал её за неделю, потратив десять маффинов, но получив кучу опыта и хорошего настроения.
Прочитать о семи днях ненормальной разработки
Total votes 72: ↑56 and ↓16+40
Comments64

Навыки гейм-дизайнера

Reading time8 min
Views40K
Hola chicos!

Сегодня я расскажу свое мнение относительно обретения навыков дизайнерами — что поможет вам стать лучше, а что лучше обойти стороной. Данное мнение является сугубо субъективным и сформировано на личном опыте.

Обрел же я его, проработав 5 лет в московском филиале компании Glu Mobile (4.5 лет из них — дизайнером) и 7 месяцев в компании Social Point, где и продолжаю работать на данный момент. Также я общался со многими людьми, которые работали в таких компаниях, как Game Insight, Crazy Panda, Game Garden и другие.

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

Одно из самых главных умений для начинающего дизайнера — фильтровать информацию, которую человек получает из различных источников: будь то коллеги, статьи в интернете или книги. Даже если материал является достойным, относиться к нему стоит с долей скептицизма, пытаться анализировать и спрашивать “почему?” каждую минуту.

Читать дальше →
Total votes 18: ↑14 and ↓4+10
Comments24

О переборе на примере генерации кроссвордов

Reading time5 min
Views11K
С статье "Алгоритм формирования кроссвордов" были предложены несколько эвристик, которые были реализованы в программе автоматической генерации кроссвордов. Несмотря на то, что предложенные эвристики хорошо проработаны, даже они не позволили за разумное время сгенерировать кроссворд для самой сложной из приведенных сеток:

image
Этот и все последующие рисунки взяты из исходной статьи

В этой статье, я бы хотел обсудить гораздо более простое решение, которое позволяет решить эту задачу.
Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments18

Алгоритм формирования кроссвордов

Reading time10 min
Views37K
Эта история начинается с публикации «Самый сложный кроссворд, составленный компьютером». В ней приведен один из самых сложных кроссвордов, составленных программой (см. ниже).



Я был уверен, что все кроссворды давным-давно генерируются программно и был несколько удивлен тем, что это может быть проблемой. Замечу, что речь идет именно о «канадских» кроссвордах, в которых каждое слово имеет пересечение с другим словом на каждой букве или очень близких к ним по сложности. В моей работе аналитика, не так много действительно сложных задач, поэтому мне стало интересно попробовать разработать алгоритм, который мог бы это сделать. Результат размышлений, подкрепленный программой для генерации кроссвордов, приводится в этой статье.
Читать дальше →
Total votes 39: ↑39 and ↓0+39
Comments15

Сетевое программирование для разработчиков игр. Часть 4: Надежность, упорядочивание и избежание перегрузок поверх UDP

Reading time13 min
Views24K
От переводчика: У меня возникла необходимость разобраться с работой UDP-сокетов в неблокирующем режиме в java и создать свой собственный класс для работы с сетевыми соединениями на их основе. К сожалению, толковой русскоязычной документации на эту тему я не нашёл. Зато наткнулся на несколько попыток на хабре осветить тему создания надёжного соединения поверх UDP. В том числе и перевод нескольких статей Гленна Фидлера, сделанный пользователем bvasilyev. И хотя статьи рассматривают создание подобного подключения для применения его в играх (не совсем то, что мне необходимо), а также языком реализации является не java, а c++, они стали для меня отправной точкой. К сожалению bvasilyev около года назад прервал перевод данного цикла, а самое интересное осталось на языке оригинала. Поэтому я решил перевести четвёртую статью цикла и переписать реализацию виртуального соединения из третей статьи цикла на java (чуть позже выложу). Ну а для того, чтоб данной статьёй мог воспользоваться кто-либо, кроме меня, выкладываю её здесь. Профессиональным переводом, к сожалению, никогда не занимался, всегда изучал англоязычную документацию. Но в данном случае, из-за многочисленного употребления некоторых слов в совершенно различных значениях, а также в роли наименования всевозможных определений, неоднократно — в пределах одного предложения, счёл более целесообразным осуществить перевод, а после уже работать с текстом на привычном для себя языке. Поправки и аргументированные предложения приветствуются.

Первая статья
Вторая статья
Третья статья

(напомню: переведены bvasilyev)




Надежность, упорядочивание и избежание перегрузок поверх UDP


Вступление


Привет, меня зовут Гленн Фидлер и я приветствую вас в своей четвёртой статье из цикла “Сетевое программирование для разработчиков игр”.

В предыдущей статье, мы создали свою собственную концепцию виртуального соединения на основе UDP.

Теперь мы будем добавлять надёжность, упорядоченность и предотвращение перегрузок к нашему виртуальному UDP соединению.

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

Проблемы с TCP


Те из вас, кто знаком с TCP, знают, что он уже имеет свою внутреннюю концепцию соединений, с надёжной и упорядоченной системой передачи пакетов и предотвращением перегрузок, так зачем же мы пишем свою собственную мини версию TCP на основе UDP?
Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments5

Сетевое программирование для разработчиков игр. Часть 1: UDP vs. TCP

Reading time9 min
Views172K
От переводчика: Это перевод первой статьи из цикла «Networking for game programmers». Мне очень нравится весь цикл статей, плюс всегда хотелось попробовать себя в качестве переводчика. Возможно, опытным разработчикам статья покажется слишком очевидной, но, как мне кажется, польза от нее в любом случае будет.


Привет, меня зовут Гленн Фидлер и я приветствую вас в первой статье из моей онлайн-книги “Сетевое программирование для разрабочиков игр”.

image

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

Вы, скорее всего, уже что-нибудь слышали о сокетах, и, возможно, знаете, что они делятся на два основных типа — TCP и UDP. Первое, что нужно решить при разработке многопользовательской игры — это какой тип сокетов использовать — TCP, UDP, или оба?
Читать дальше →
Total votes 86: ↑75 and ↓11+64
Comments53

Сжатие текстур в Android: сравнение форматов и примеры кода

Reading time11 min
Views38K
Назовите самый лучший формат сжатия текстур. Может это PNG, ETC, PVRTC, S3TC, или ещё какой-нибудь? Вопрос непростой, но очень важный. От ответа зависят качество визуального оформления, скорость работы и размеры Android-приложений. Дело осложняется тем, что универсального «самого лучшего формата» попросту не существует. Всё зависит от потребностей разработчика.



Технология наложения текстур на двумерные или трёхмерные модели широко применяется в компьютерной графике. Делается это для того, чтобы улучшить детализацию объектов, которые представлены моделями. Android поддерживает множество форматов сжатия текстур, каждый из них обладает собственными преимуществами и недостатками.
Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments13

Стали известны подробности введения НДС на интернет-услуги

Reading time4 min
Views15K
О законопроекте, который должен обложить налогом appstore и google play, уже довольно много писали.
Сегодня мне на глаза попался его текст, и он довольно интересен на мой взгляд — там подробно рассказывается, что именно будет обложено налогом, механизм обложения и санкции за невыполнение.

Итак, вот его текст.

Обложено налогом вообще все — игры, программы, поисковики, и тд…
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments16

По ту сторону игры: открытый курс по геймдизайну

Reading time1 min
Views28K
Уже сейчас на образовательной платформе «Универсариум» можно записаться на онлайн-курс «Гейм-дизайн: по ту сторону игры». Слушатели курса изучат основные этапы разработки дизайн-документа компьютерной игры, выяснят, какими навыками должен обладать геймдизайнер, и узнают, от чего зависит успех проекта.

Преподаватель курса – Алексей Калинин, исполнительный продюсер СООО «Гейм Стрим», минского центра разработки Wargaming, автор 30 настольных и 10 компьютерных игр.


Читать дальше →
Total votes 25: ↑22 and ↓3+19
Comments11

7 игр за 7 дней: rewarded video

Reading time5 min
Views24K
image

Ты решил выпустить свою игру под iOS? Значит, читай дальше. Яхты, машины, виллы — все это будет твое. Главное — удачно жениться. А разработчикам игр остаются свобода и счастье творчества. Sic!

Да, закатай губу и помни, каждый день в яблочный магазин выкладывается более 1000 игр. Представь, что какой-то тип-игроман заходит в Appstore раз в неделю посмотреть свежие приложения. Его ждет 7*1000=7000 новых игр. И еще миллион старых, которых он не пробовал. Он пролистает 3 страницы с иконками и описаниями, увидит 3 десятка приложений, почитает отзывы и скачает себе пару бесплатных игрушек. Какова вероятность, что он увидит твое гениальное, неслыханное, эпохальное, умопомрачительное приложение? Невелика? Ах, ты с кафедры мат. статистики? Да ладно?! А не переживай. Удача и реклама спасут тебя. Выпусти 100 приложений, размести в них современную рекламу и 50 долларов в день тебе обеспечены до самой смерти.

Я расскажу, как осуществляется автором этот гениальный план, опубликую финансовые итоги 2015 года (тс-с-с), и проинформирую уважаемых читателей о рекламных сервисах, которые, по-моему мнению, самые модные и доходные в этом сезоне. Ссылок на приложения не даю, никого не трогаю, починяю примус.
Читать дальше →
Total votes 48: ↑44 and ↓4+40
Comments13

Продвижение мобильных приложений: выученные уроки

Reading time14 min
Views24K
Предвидя комментарии бывалых по поводу этой статьи, что все из написанного давно уже известно, и ничего нового в ней не сказано, спешу сказать, что это не абстрактная статья о том, каковы стандартные приемы и методы продвижения на мобильном рынке. Статья о том, как мы использовали эти методы, и какие результаты получили в итоге. Все это сопровождается реальными цифрами и графиками. Мы готовы поделиться такой информацией. Думаю, даже бывалым будет интересно почитать и сравнить со своим опытом, и, возможно, даже обсудить его в комментариях к статье.

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

Чего не скажешь об отделе маркетинга и продвижении мобильных приложений. Продвижение компонентов для разработчиков, несомненно, отличается от маркетинга мобильных приложений.

Флагманским продуктом в этом направлении стало приложение для создания и управления базами данных для Android устройств.

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

Результат такого подхода выглядит примерно так:

image

Эффект кратковременный, и если за 3 дня вы не попали в желаемый список Featured apps, считайте, что усилия и затраты не оправдались. Количество установок неминуемо снизится в разы.

Хочу рассказать о способах продвижения, о которых мы узнали из статей, и о том, как они работают и работают ли.
Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments5

Интеграция нативной рекламы Admob в ListView

Reading time21 min
Views15K
Весной 2015 года в рамках Google Admob был анонсирован новый для них способ отображения рекламных блоков, а именно Native ads (далее нативная реклама), который на текущий момент действует в режиме бета-релиза. Плюс нативной рекламы – это высокая адаптивность к дизайну приложения, которая позволяет показать рекламу таким образом, чтобы она не бросалась в глаза и не мешала работе с приложением. В статье будут отмечены определенные моменты, которые возникли в процессе интеграции Admob Native Ads в собственное приложение (пример того, что получилось показан на картинке, названия удалены), а также приведен практический пример с фрагментами кода (полный вариант при желании можно загрузить и посмотреть тут.
Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments12
Что отличает современного бизнесмена и предпринимателя от его аналога десятилетней давности? В принципе, все осталось на своих местах: это по-прежнему творческие люди, просто хорошо понимающие стоимость и, что не одно и то же, ценность собственного времени.
Интересно
Total votes 42: ↑25 and ↓17+8
Comments16

Направленное освещение и затенение в 2D-пространстве

Reading time8 min
Views48K

Добрый день, Хабравчане!
Хотелось бы рассказать об одном из способов отрисовки освещения и затенения в 2D-пространстве с учетом геометрии сцены. Мне очень нравится реализация освещения в Gish и Super MeatBoy, хотя в митбое его можно разглядеть только на динамичных уровнях с разрушающимися или перемещающимися платформами, а в Гише оно повсеместно. Освещение в таких играх мне кажется таким «тёплым», ламповым, что непременно хотелось нечто подобное реализовать самому. И вот, что из этого вышло.
Читать дальше →
Total votes 95: ↑94 and ↓1+93
Comments39

История света и тени в одной маленькой, но гордой игре

Reading time7 min
Views35K
Если коротко, то суть статьи можно можно проиллюстрировать так:



Ниже небольшая история реализации освещения в игре подручными средствами.
Встречают, как известно, по одёжке, а когда в команде нет ни то, что арт-директора, а даже просто художника, обычному программисту приходится изворачиваться по-разному.
Читать дальше →
Total votes 78: ↑74 and ↓4+70
Comments27

Я не верблюд или чересчур бдительный Google

Reading time4 min
Views38K
Однажды, скучая дома на выходных, пришла в голову идея написать приложение для игрового сообщества, в котором я состою. Когда код был написан, протестирован, все устраивало в работе — пришло время публиковать в Play Store. Для меня всегда было проблемой нарисовать графику. Поэтому я все взял с нашего форума. Нажал кнопочку «паблиш», и через 10 минут моё приложение было в бане!

История под катом.
Читать дальше →
Total votes 35: ↑28 and ↓7+21
Comments16

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity