Spatial hashing это простая техника, которая используется в базах данных, физических и графических движках, симуляциях частиц и вообще везде, где нужно быстро что-то найти. Если в кратце, то суть в том, что мы разбиваем пространство с объектами на ячейки и складываем в них объекты. Затем вместо поиска по значению очень быстро ищем по хэшу.
Предположим, что у вас есть несколько объектов и вам нужно узнать нет ли между ними столкновений. Простейшим решением будет посчитать расстояние от каждого объекта до всех остальных объектов. Однако, при таком подходе количество необходимых вычислений растёт слишком быстро. Если на десятке объектов приходится делать сотню проверок, то на сотне объектов выходит уже десяток тысяч проверок. Это и есть печально известная квадратичная сложность алгоритма.
В этой статье я хочу поделиться с вами своим практическим опытом разработки игры для iOS на основе open-source компонентов. Мы пройдемся по техническим решениям, которые были приняты во время разработки игры.
Не то чтобы я был диким фанатом консолей, но есть вещи, которые действительно впечатляют. Понятное дело, что консолям нового поколения без впечатляющих пилотов на рынке делать нечего. Речь идет не о Watch Dogs, который тоже заслуживает внимания, как любая песочница с открытым миром, а о Tom Clancy’s The Division анонсированная для PS4 и Xbox One. Картинка (я оцениваю лишь ее) выглядит действительно хорошо. Игры уже давно стремятся быть не играми. Это уже почти кино. Меня мало волнует сейчас вопрос гейм-плея данной игры. Сейчас я просто потребитель, который готов клюнуть на вкусную обертку.
Параллельно с этим во мне просыпается девелопер-скептик, который ничего и никогда не принимает на веру, который до того как возопить о пришествии чего-либо сперва хочет убедиться в том, что пришествие произошло. Не потому, что боится выглядеть глупо, но потому что, обжегшись тысячи раз — не хочет повторить это в тысяче первый.
Мне уже давно не удается играть в игры как игроку. Иметь стопроцентное погружение. Это побочный эффект призмы через которую я смотрю на любую игру. Глаз в первую очередь цепляется за знакомые графические артефакты, ищет пути, которыми шли разработчики в создании графического контента. Одобрительно хлопает плюсам, и огорченно хмурит брови там, где все осталось как есть, без изменений. Все это помножено на «взгляд художника», который также аплодирует умелым действиям, и негодующе рычит в тех местах, где неизвестный художник допустил ошибку. Все это множится на еще не добитого геймера, который превыше всего ставит гейм-плей.
Сложный коктейль мешающий, в полной мере, наслаждаться компьютерными играми. Борьба противоположностей. Внутренний конфликт потребителя и разработчика.
Что я вижу здесь? Для начала посмотрите трейлер и решите, что видите для себя вы. А потом… лопата?
Во время конференции E3 Sony подтвердила слухи о том, что теперь все консоли будут на одно лицо: ПК с процессором от AMD в квадратной коробочке. Новая приставка поступит в продажу в конце этого года и будет стоить 399 $ в США и 399 € в Европе, что на 100 долларов дешевле по сравнению с новым Xbox. Потоковая трансляция игр ожидается где-то в 2014 году. Также Sony намекнули на какое-то партнёрство с Sony Pictures. Наверное это связано с тем, что у них будет даже два приложения для фильмов: Flixster и Redbox Instant.
В процессе поиска алгоритмов расчета коллизий на сайте GameDev, я наткнулся на маленькую статью про движок idTech 6 и заинтересовался воксельной графикой, которую противопоставляют полигональной графике, на которой сейчас основана почти вся компьютерная графика.
Вообще, воксел расшифровывается как "объемный пиксель", однако сейчас под вокселом в основном понимается некий примитив, чаще всего куб или прямоугольный параллелепипед, который имеет определенный размер и цвет. В idTech 6 и в движке Кена Сильвермана Voxlap они хранятся в разреженном октодереве (SVO — sparse voxel octree), что позволяет экономить память и делает возможным простую реализацию "уровня детализации".
Снеговик из вокселей
Иными словами, вокселы — это такой конструктор LEGO, где из одинаковых деталек разного размера (а также, соеденяя маленькие детальки в большие) можно реализовать самые разнообразные модели, фигуры и т.д.
Одно из самых больших преимуществ вокселей относительно полигонов, то, что их можно разрушать — программа точно знает, что если воксел частично разрушен, то его можно поделить на более мелкие вокселы, которые будут из того же материала, что и их родитель.
Знаете ли вы, что кузнечики, будучи брошенными в ведёрко, начинают маршировать по кругу как на картинке выше? Правда сверху не кузнечики, а Boids — модель коллективного поведения птичек, пчёлок, рыбок и другой живности. Несмотря на простоту модели, она демонстрирует эмерджентные свойства: боиды собираются в кучу, летают стаями по кругу, нападают на людей.
Это вторая часть статьи, посвящённая различным хитростям оптимизации Unity и C#, которые увеличивают производительность алгоритма из первой части в пару десятков раз.
Здравствуйте! Весьма надолго у меня растянулась подготовка материала (жизнь давала изрядных пинков под зад), но вот я справился и готов поделиться продолжением первой статьи с вами.
В этой части мы:
— оптимизируем код из предыдущей статьи;
— создадим объект «база» и научим её чиниться время от времени;
— добавим пушкам патроны и перезарядку;
— избавимся от «неудобной» переменной gv;
А в конце статьи вас ожидает маленький бонус :)
Всем заинтересовавшимся — добро пожаловать под долгожданный кат!
Не секрет, что объектов в играх на порядок больше чем их возможных поведений. При прототипировании описания объектов можно составлять прямо в коде на Java, С++ или C#, но там всё довольно быстро запутается. Потом объекты выносят в базу данных, либо в XML или JSON конфиг. Это сильно помогает, ведь после редактирования конфигурации пересобирать код не требуется, и этим могут заниматься не только программисты, но и спецы по предмету (для игр это гейм-дизайнеры и контентщики). Когда разрастается команда либо количество объектов переходит какую-то черту, программисты пишут удобный редактор, который позволяет визуально править этот JSON-конфиг. В результате на выходе получается какой-то трудно поддерживаемый монстр.
Если вы не собираетесь нанимать множество людей которые вообще не умеют кодить, то можно попробовать пойти другим путём: описывать метаданные с помощью Domain Specific Language.
Здравствуйте дорогие друзья,
сегодня я хочу поведать вам о своём опыте использования сервиса BuySellAds.
Если вы занимаетесь разработкой программ, сервисов или приложений и планируете как то их рекламировать в будущем, то, я думаю этот сайт уже лежит у вас в закладках с намерением попробовать его в деле. Сайт довольно часто мелькает в различных постах и комментариях в том числе и тут, на Хабре.
Если кто то не в курсе, то этот сервис даёт возможность купить рекламу напрямую у конкретного сайта по определённой цене на какое то время, например месяц, или на количество показов рекламного баннера. Цены разнятся в зависимости от популярности сайтов. Стоимость месячного размещения вашего баннера может стоить $20 а может и $1000, всё зависит от размера вашего рекламного бюджета.
Задумывались ли вы когда-нибудь о то, почему птицы летая большими стаями никогда не сталкиваются и не коллапсируют в огромный галдящий перьевой ком? Хм, если подумать, это было бы круто. В любом случае, однажды в 1986 нашёлся человек по имени Крейг Рейнольдс, который решил создать простую модель поведения птиц в стаях и назвал её Boids. В модели у каждого боида есть три базовых правила: Separation, Alignment и Cohesion. Первое заключается в избегании столкновения с соседями, второе заставляет лететь примерно в ту же сторону что и соседи, а третье говорит не летать в одиночку и держаться группы. Эти простые правила позволяют создать правдоподобные стаи птиц, рыб и другой живности, чем и пользуются в кино и игровой индустрии.
В статье я расскажу как можно реализовать эту модель на практике. Для разработки я использую Unity и C#, но большинство вещей верны для других движков и языков. В этом туториале я не разжёвываю основы работы с Unity, подразумевается, что вы знаете эффект комбинации Ctrl+Shift+N на сцене, умеете работать с инспектором, дублировать и двигать объекты. Если нет, то советую начать с этой статьи. Или можете просто посмотреть на картинки.
В прошлой статье я рассказывал о том, что можно сделать с Appeal. Здесь я бы хотел поделиться некоторыми очень простыми мыслями о монетизации приложений построенных на принципе – «скачай бесплатную версию — купи полный функционал».
Для многих приложений – это, в общем-то, единственный разумный способ хоть что-то заработать. Например, нам так и не хватило фантазии придумать как прикрутить к нашей детской книжке рекламную или F2P модель, а платную версию дороже одного доллара пользователи отказываются качать, какое бы описание и скриншоты вы не придумывали.
Итак — три простых шага, которые помогли нам повысить монетизацию приложения в полтора раза.
Сегодня Activision Blizzard объявил, что игра выйдет на консолях уже 3-го сентября. По словам разработчика, игра будет «заточена под управление геймпадом», что, в принципе, логично. К этому добавили динамическую консольную камеру, обновили и упростили интерфейс и улучшили звуки, с которыми "консольщики пользователи приставок должны почувствовать себя как дома".
К радости всех фанатов киберпанковой франшизы Deus Ex, японский разработчик и издатель игр Square Enix анонсировал мобильную версию игры которая будет называться Deus Ex: The Fall. Разработкой занимается Американская N-Fusion Interactive. Игра будет доступна в c для iPhone и iPad по предположительной цене в $6.99, что довольно не мало, но это вряд ли отпугнёт фанатов вселенной Deus Ex.
Очередная распродажа Humble Indie Bundle, спустя некоторое время после начала, традиционно пополнилась новыми играми. Причем одна из них не такая уж и инди, любители хорошей графики оценят. Для тех, кому интересно — добро пожаловать под кат ;)
Доброго времени суток. Данная статья, хотя лучше обозвать её ToDo, может быть полезна людям со способностями к рисованию, которые знают основы моделирования и обработки изображений, ну или умеют включать нужные программы. Если это про Вас, или Вам интересно как сделать такой замок — прошу под кат.
Новое поколение игроков уж точно не будет страдать ожирением, об этом побеспокоились разработчики из Virtuix, запустившие сегодня свой проект Omni на кикстартере. Новый контроллер позволяет перемещаться в игровом мире с помощью собственных ног вместо канонических WASD.
Встроенные сенсоры Omni транслируют ходьбу пользователя в аналогичные движения игрового аватара. Кроме ходьбы контроллер распознаёт бег, стрейф, прыжки и приседания — полный джентельменский набор.
На кикстартере начата кампания по сбору средств на игровой костюм, который позволит игроку получать от игры не только визуальные и звуковые, но и тактильные ощущения. До конца кампании осталось 26 дней, и разработчики планируют за это время собрать сумму в $900 000.
Мы с мобильной командой Mail.Ru Group активно исследуем локальные рынки Google Play и AppStore, изучаем интересы аудитории к определенным игровым жанрам, пытаемся понять, чему необходимо больше уделять внимания при разработке.
У нас накопилось приличное количество данных, и сегодня хотелось бы выложить часть наших исследований, которые должны помочь начинающему разработчику в понимании рыночной ситуации.