Метка «Gamedev» - 14

Технические аспекты разработки моей первой Android игрыНа мой взгляд, для разработчика, наибольший интерес представляют не примеры кода и конкретная реализация определенных «фич», а именно проектные решения, которые принимались в процессе развития проекта, и тот опыт, что был при этом приобретен.
Именно о таких решениях и будет этот пост (примеров кода на просторах сети более чем достаточно).

Опытные разработчики, скорее всего, это все и так знают. А те, кто только собирается вставать на этот путь, сумеют оценить, с чем им придется столкнуться.

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

Внимание! Много текста :-).
Читать полностью »

Разработка первой Android игры «Protect It»
Идея разработки Android-игры витала в воздухе с того самого момента, как я решил купить себе аппарат на данной платформе.

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

Ежегодная конференция, посвященная индустрии компьютерных игр, прошла в 10-й раз в гостинице «Космос», в Москве с 18 по 20 мая 2012 года.Выставка лично мне запомнилась тремя вещами:

  1. достаточно большими изменениями в рядах участников (появились десятки около-игровых сервисов/посредников, предлагающих услуги).
  2. ощущением безнадежности у компаний-работодателей в деле привлечения новых IT-сотрудников — «ярмарка вакансий» была практически пустой.
  3. множество инди-разработчиков и небольших компаний искали издателей, с у которых которых можно было бы заручиться поддержкой в продвижении своих игр — раньше «одиночек» было заметно меньше.
  4. Читать полностью »

Jquery.waypoints это плагин для реализации движения объектов по набору точек, так называемым вейпоинтам, с заданной скоростью и другими параметрами, физически имитирующие реалистичность. Частичное описание алгоритма было описано тут.

Отправляем теги в путешествие (jquery.waypoints)
Читать полностью »

Сегодня мы будем рассматривать реализацию движения игрока по точкам — так называемым вейпоинтам (waypoints) в режиме 2D — а именно вид сверху.

Движение по точкам (waypoints)
Читать полностью »

imageЗдравствуй.

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

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

Изначальная идея проекта принадлежит моему другу (он не с Хабра). Первый раз она прозвучала примерно так:

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

Не помню, что я ответил. Мне интереснее было именно сделать такой сервис. Challenge accepted ;)Читать полностью »

Мы, NeoAxis Group, с радостью сообщаем о выходе очередного обновления универсального игрового движка NeoAxis 1.2. В новой версии реализованы многочисленные доработки и улучшения в различных областях, включая новые возможности редактора карт, расширенную поддержку локализации, поддержку более широкого спектра 3D-форматов, полную поддержку видеокарт Intel HD Graphics, новые эффекты постобработки (Depth Of Field и God Rays), оптимизации производительности, исправления ошибок и др. Также были изменены условия лицензирования.

Вышел NeoAxis Game Engine 1.2
Читать полностью »

Добрый день.

Предыдущие уроки вы можете найти в соответствующем топике.

Теперь в каждом посте в скобках (в конце) будут указываться номера уроков. Буква в начале номера обозначает раздел (B-Beginner, I — Intermediate).

PS: Если вы не проходили предыдущие уроки, очень рекомендую их пройти, т.к. последующие изредка на них ссылаются.

Читать полностью »

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

Многим людям приходилось использовать генератор случайных чисел в программах для создания непредсказуемости, чтобы сделать движение и поведение объектов более натуральными или генерировать текстуры. Генераторы случайных чисел, конечно, имеют свои области применения, но иногда их выход может быть слишком «жесткий», чтобы казаться естественным. В этой статье мы представляем функцию, которая имеет очень широкий спектр применения, больше, чем я мог бы думать, но в основном везде, где вам нужно чтобы что-то выглядело естественного происхождения. К тому же вывод может быть легко настроен под ваши нужды.

Если посмотреть на многие вещи в природе, вы заметите, что они являются фрактальными. Они имеют различные уровни детализации. Типичным примером является очертание горного хребта. Оно содержит значительные различия в высоте (горы), средние изменения (холмы), небольшие вариации (валуны), крошечные изменения (камни) и так далее. Посмотрите на что угодно: распространение пятен травы на поле, волн в море, движение муравьев, движение ветвей дерева, узоры из мрамора, ветра. Все эти явления поддаются той же схеме, в больших и малых вариациях. Функция шума Перлина воссоздает это, просто складывая функции шума в различных масштабах.

Для создания функции шума Перлина, вам нужны две вещи, функции шума и функция интерполяции.
Читать полностью »

Предыдущая часть (0).

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

Процесс отрисовки

Чтобы видеокарта что-то могла показать, сначала в нее надо загрузить 3D-сцену. В простейшем случае, сцена представлена набором треугольников, каждый из которых имеет, соответственно, три вершины. Вершина может быть и общей для нескольких треугольников. Данные вершин и треугольников загружаются в видеокарту в виде массивов (буферов), минимально необходимая информация для буфера вершин — это координаты вершины в пространстве (X,Y,Z). И если мы хотим рисовать треугольники, нужен еще буфер индексов — перечисление номеров в загруженном нами буфере вершин, описывающих треугольники.

Рассмотрим простейший пример: мы хотим нарисовать один треугольник. Для упрощения, я изобразил его на плоскости, не используя Z координату.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js