Search
Write a publication
Pull to refresh
24
0
Игорь @Igor_Sib

User

Send message

Как научиться делать игры: полезные ресурсы

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

image
Читать дальше →

Восемь вещей, который необходимо делать каждому до 8 часов утра

Reading time8 min
Views19K


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

Как же наполнить свой повседневный ритм жизнь этой небольшой, но весьма весомой изюминкой — следовать своей мечте?
Читать дальше →

Ритм игрового процесса – зачем нужна база

Reading time6 min
Views27K


Самое интересное в игре, как правило, связано с напряжением. С другой стороны, постоянно находиться в напряжении нельзя, поэтому требуется «отпускать» игрока и давать ему расслабиться.

Механика базы работает чертовски просто:
  1. В игре создаётся некое место, где игроку приятно и безопасно проводить время.
  2. После периода напряжения игрок отправляется в это место.
  3. Закончить в этот момент сложно. Кто будет отказываться от приятного «отдыха»? Нет, из игры не выходят перед приятной частью.
  4. Далее мы стараемся без перехода выводить игрока в следующий цикл, требующий напряжения – так, чтобы игрок не успел понять, как там оказался.

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

Appodeal — бесплатный оптимизатор доходов от рекламы для мобильных разработчиков

Reading time4 min
Views34K


Этим постом я бы хотел официально представиться и вкратце познакомить вас с нашим проектом. Меня зовут Павел Голубев, с 2009 года я работаю в сфере разработки и публикации мобильных приложений. Наша команда в свое время запустила SaaS-сервис Columbis для турагентств, позволяющий автоматизировать их деятельность. После этого я переехал в Соединенные Штаты, Сан-Франциско, и уже тут продолжил работу в сфере мобильной рекламы. В определенный момент у нас возникла потребность в платформе, которая позволила бы увеличить доход от рекламы в наших приложениях. На поиски подобного инструмента оптимизации трафика мы потратили несколько месяцев, после чего приняли решение сделать его сами. В итоге, разработка для внутренних нужд переросла в самостоятельный проект — Appodeal, в блоге которого и размещена данная публикация.

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

  • какую рекламную сеть выбрать;
  • как к ней подключиться;
  • насколько высокая заполняемость (fill rate) у этой сети;
  • насколько высокий eCPM для региона вашей аудитории в конкретной сети;
  • какой тип оплаты подходит для вас (CPI/CPM/CPC);
  • есть ли плагин для фреймворка, в котором вы ведете разработку;
  • как в конечном итоге вывести свои деньги.

Читать дальше →

Об альтернативном образовании вообще и про C# в частности

Reading time4 min
Views35K
Сейчас очень часто говорят о том, что нынешняя система образования никуда не годится, она лишает детей творческих способностей, у неё низкая эффективность и нужно что-то срочно менять.

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



У меня есть некоторые свои собственные соображения и наработки для решения этой проблемы в рамках своей специальности — способа изучения языка программирования C#, речь пойдёт о проекте www.videosharp.info
Читать дальше →

Инструкция: увеличиваем доходность мобильной рекламы в три раза

Reading time5 min
Views12K
В последнее время в мобильных приложениях и играх стремительно набирает обороты продажа рекламы через RTB (Real-time bidding).
Сейчас можно наблюдать очень интересную ситуацию на рынке — монстры мобильной рекламы постепенно уходят в тень, а на смену им приходят молодые, более продвинутые компании со свежим взглядом на монетизацию. Ещё вчера золотым стандартом в области монетизации приложений были Admob или Chartboost.
Сегодня традиционные рекламные сети с оплатой за действие (установку или клик) уже не могут в полной мере конкурировать с RTB биржами и оплатой за показы.

RTB — это стандарт, который описывает программный алгоритм продажи каждого рекламного показа в вашем приложении через аукцион на одной из бирж. Крупнейшие RTB биржи, которые занимаются мобильным трафиком — MoPub, Smaato, OpenX, TapSense и некоторые другие.

RTB биржи по сути своей очень похожи на финансовые биржи, такие как Nasdaq или ММВБ. С одной стороны они обслуживают пользователей, желающих продать показы в своих приложениях (или ценные бумаги), а с другой стороны — рекламодателей, которые хотят эти показы (или ценные бумаги) купить. Задача биржи — соединить друг с другом продавца и покупателей и организовать аукцион, на котором побеждает тот, кто предложит более высокую цену за показ.

Цена за показ определяется программно на основании множества разных факторов. Биддер (программа, которая делает ставки) анализирует информацию о показе — географическое расположение пользователя, модель его устройства, версию ОС, список приложений, который установлены у пользователя, историю поисковых запросов и, по возможности, пол и возраст пользователя.
Читать дальше →

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

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

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

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



В данной статье мы рассмотрим принцип работы популярных режимов смешивания и постараемся максимально точно воссоздать их эффект на игровом движке Unity.
Читать дальше →

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

Reading time6 min
Views22K


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

Вернемся к нашей задаче, нам нужно интеллектуально генерировать карты для IPhone/IPad игры типа «Марио», для начала мы рассмотрим генерацию карты в пределах поля 128х128 кубов.
Читать дальше →

Сахарные инжекции в C#

Reading time5 min
Views42K
C# — продуманный и развитый язык программирования, в котором предусмотрено немало синтаксического сахара, упрощающего написание рутинного кода. Но всё-таки существует ряд сценариев, где нужно проявить некоторую смекалку и изобретательность, чтобы сохранить стройность и красоту.

В статье мы рассмотрим некоторые такие случаи, как широкоизвестные, так и не очень.

Читать дальше →

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

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

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

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

Читать дальше →

Binary serialization in Unity3d

Reading time12 min
Views23K
Столкнулся с довольно-таки тривиальной проблемой. Сериализовать и десерилизовать данные.

Задача

Есть приложение, клиент-сервер. Клиент — Unity3d сервер PhotonServer. Есть модель, которая и на клиенте и на сервере должна быть эквивалентной. Требуется синхронизировать состояние модели и, возможно, дополнительные классы.

Решение

Protobuf

Самое логичное решение — это использовать бинарный протокол. В этом явный фаворит — ptotobuf (использовал proto-net 668). Он не поддерживает веб-сборку, но это допустимая жертва. Разметил требуемые классы. Проверяю. Все работает, небольшой размер и быстрый в работе. Шикарно. Но!
Читать дальше →

Перевод проекта на Unity 5. Шейдеры и свет

Reading time9 min
Views50K

Предыстория


Совсем недавно вышел Unity 5, в котором куча всего нового и непонятного, а документацию сотворить пока еще не успели.

В силу своей работы технических художником мастером на все руки, мне пришлось бросить все и срочно сделать UP проекта на Unity 5. Не так давно Apple обязала разработчиков создавать 64-битные приложения.

Открыв проект в новой версии, вы увидите… ничего, ну или почти ничего. Unity 5 не понимает старые шейдеры с альфой и просто заливает их черным или белым, кто как писал.

Старый Beast ушел в историю и свет придется перепекать.

Ниже вся собранная информация по вопросу: перевод мануала и туториала с офф.сайта Unity3D, и кое-какие заметки (по настройкам) от меня.

Посвящается всем перешедшим на Unity 5.
Читать дальше →

4 преимущества Unity3D, а также полезный инструмент для ускорения процесса разработки приложений

Reading time5 min
Views31K
Мы продолжаем серию интервью с нашими специалистами. В этот раз на вопросы отвечал Андрей Рылач – Senior Unity3D-разработчик XIMAD, Inc. Андрей рассказал о преимуществах Unity и раскрыл способ ускорения процесса разработки мобильных приложений.

Читать дальше →

Как увеличить доход с рекламы в мобильных приложениях

Reading time6 min
Views30K
Рынок мобильный рекламы очень молодой и динамичный. Технологии, которые много лет существуют в вебе, в мобильном рынке всё еще активно развиваются и совершенствуются.

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

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

Читать дальше →

Фантастические фильмы для долгих зимних вечеров

Reading time5 min
Views71K


Около года назад мы опубликовали подборку интересных фантастических сериалов. В январе поэкспериментировали с новинками фантастической литературы и даже настольными играми из всё той же фантастики. Давайте теперь поговорим о полнометражных фантастических фильмах.

Полнометражная фантастика — тема необъятная. Количество снятых за всю историю кинематографа фантастических фильмов наберётся великое множество. Поэтому мы решили ограничиться некими временными рамками, скажем, последними десятью годами.
Читать дальше →

Cоветы начинающему фрилансеру: как продавать услуги на развитые рынки через открытые площадки

Reading time16 min
Views64K
Я занимаюсь разработкой программного обеспечения в роли ведущего программиста-проектировщика с конца 90х годов. Фриланс никогда не был основным источником моего дохода. Но в 2010 году я начал всерьез заниматься фрилансом как побочным видом деятельности, приносящим существенный доход (за несколько месяцев я вышел на уровень продаж порядка $5k в месяц с фрилансерских контрактов с практически нулевыми расходами на исполнение контрактов, за исключением моего времени). Позднее я переехал в Северную Америку, но фриланс продолжает оставаться для меня важным побочным бизнесом. Кроме того, в своей работе я постоянно общаюсь с фрилансерами, в т.ч. профессиональными full-time фрилансерами из Северной Америки.

В этой статье я хотел бы поделиться своим опытом работы на площадках вроде elance.com с коллегами из экс-СССР и дать конкретные рекомендации по входу на рынок, позиционированию услуг, конкуренции с демпингом из Южной Азии, а также дать ликбез по общей профессиональной подготовке.
Много текста с конкретными примерами

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

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

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

image
Читать дальше →

Руководство к Car Tutorial (Unity3d) часть 2 из 3

Reading time9 min
Views25K
Часть 1
Часть 3

Итак, приступим к изучению нашего руководства.

Часть 2: Тонкая настройка автомобиля


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

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

Главная сила Unity3d является его возможность тонкой настройки (tweakability) — как вы видели, все публичные переменные в скриптах показаны в инспекторе, так что вы можете изменить значения, не изменяя его в коде. И даже более мощные настройки: как только вы сделали изменения, вы можете сразу же увидеть результат изменений. Вам никогда не придется перекомпилировать игру, что бы увидеть результат изменений.
Читать дальше →

Как конкретно можно сделать детское образование в России лучше (и первый практический шаг)

Reading time10 min
Views60K


У нас 41-43 место из 65 по образованию по исследованию ОСЭР и 49 место по Education Index ООН.

После получения трёх высших, 13 лет я занималась тем, что учила айтишников, учёных и других странных людей, последний проект – Курсера в России. Год назад начала изучать детское образование. Ниже – моё ИМХО, но, думаю, многое вам хорошо знакомо. На мой взгляд, в детском образовании в России есть несколько важных областей для развития.

Вот с позиции детей:
  1. Дети не видят практического применения получаемым знаниям.
  2. Нет механизмов выбора профессии. Дети могут, например, выбирать своё будущее по наиболее доброму учителю (любимый предмет — желаемая профессия — специальность в универе — приплыли).
  3. Дети в целом жаждут знаний, но им очень хочется разнообразить процесс их получения и в школе.
  4. Ну, и они почти никуда не выходят, а их надо водить на разные интересные экскурсии и встречать с интересными людьми.

С позиции родителей и преподавателей:
  1. Дети недогружены: знаний даётся куда меньше, чем при СССР, например. С другой стороны они в конце обучения перегружены подготовкой к ГИА, ЕГЭ.
  2. Дети изначально живут в новой информационной среде, которая комфортна для них, но не очень комфорта для учителей.
  3. Дополнительное образование в крупных городах — это, порой, дичайшая логистика, например, нужно посреди дня везти ребёнка на другой конец города.
  4. Проблемы с кадрами: нужно быть реально круто замотивированным, чтобы полноценно и качественно работать с детьми.
Читать дальше →

Руководство к Car Tutorial (Unity3d) часть 1 из 3

Reading time11 min
Views71K
Это переведенное руководство для проекта ссылка или альтернативная ссылка на проект с исправленными ошибками под Unity3d 4.6.

P.S Оригинал руководства, находится в самом проекте ввиде 3ех PDF файлов, в папке Assets.

Данный архив был заменен на UnityPacked. В этом проекте уже залит архив со скриптами переписанными на C# находящийся в папке Assets\Scripts\CSharpScripts. Порядок установки:

1) Запускаем Unity3d и создает пустой проект.
2) Импортируем наш проект > (Assets/Import Package/Custom Package).
3) Дожидаемся импорта всех ресурсов и вуаля наш проект импортирован.
4) ВНИМАНИЕ!!! если хотите использовать все C# скрипты, надо удалить предварительно JS скрипты из проекта и из

Prefabs, а затем распаковать архив C# скриптов и использовать эти скрипты.

Отдельное спасибо команде Zionn Game Room за перевод официальных и не официальных видеоуроков по Unity3d на русский язык. И так, приступим к изучению нашего руководства.

Часть 2
Часть 3
Читать дальше →

Information

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