Обновить
229.07

Разработка игр *

Разработка игр

Сначала показывать
Порог рейтинга
Уровень сложности

Дилемма заключенных: you are (not) alone

Время на прочтение3 мин
Количество просмотров35K

Недавно прочитал пост о диллемме заключенных, который заинтересовал сообщество.
В данном посте хочу показать взгляд на эту проблему со стороны теории игр, на основе опыта полученного после обучения на онлайн курсах ИИ университета в Беркли. После применения данного аппарата проблема становится понятной и разрешимой.
Читать дальше →

Игровой редактор для платформера — постмортем

Время на прочтение7 мин
Количество просмотров20K
Примерно 2.5 года назад мы задумали простенький проект — платформер с определенными свойствами: хардкорный, максимально динамичный, без стрельбы. Платформа — iOS, поскольку мы работаем только с ней — да и Андроид в тот момент еще не был серьезной альтернативой. За эталон был выбран не вышедший пока на тот момент Super Meat Boy.
Поскольку платформер — не та игра, где можно обойтись великой силой рэндом генератора, необходим был полноценный, мощный и удобный редактор уровней.



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

Очередная игровая абстракция от Нотча — Drop

Время на прочтение1 мин
Количество просмотров17K


Маркус «Notch» Перссон (автор всем известного Minecraft) в эти выходные запустил очередное свое развлекательное детище — смесь абстрактной аркады и клавиатурного тернажера. Имя этого чуда — Drop. Игра сделана на Unity3d, полностью бесплатна. Гипнотическая музыка и визуальные эффекты доставляют. Похоже, Нотч в клубе любителей слепого десятипальцевого метода и в легкой форме проводит агитацию.
p.s.: если нажимать пробел в процессе игры, то это дает бонус к набраным очкам.
p.p.s.: для игры необходим unity-плеер для браузера, можно взять тут

Собственно, вот ссылка на игру.

Разработчики игры Game Dev Tycoon подшутили над пиратами

Время на прочтение1 мин
Количество просмотров340K
Что будет, если игроки скачают нелицензионную копию симулятора игровой студии, а в игре столкнутся с пиратством — да так, что играть станет невозможно? Разработчики новой игры Game Dev Tycoon не удержались от того, чтобы провести эксперимент. Вместе с платной версией своей игры они создали «крякнутую» пиратскую версию с небольшими изменениями.

Как говорит один из авторов, уже через минуту после регистрации на трекере игру начали активно качать.


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

Хабраинтервью с создателями игры «Космические рейнджеры» Алексеем Дубовым и представителями СНК

Время на прочтение10 мин
Количество просмотров44K
Алексей ДубовойПредлагаю вашему вниманию интервью с разработчиком легендарной российской игры «Космические рейнджеры» Алексеем Дубовым, а так же с представителем «Союза Независимых Квестописателей» Яковом Уваровым.

Игра «Космические рейнджеры» вошла в десятку лучших игр всех времен и народов по версии Хабрахабра 2013 года. А среди российских игр заняла первое место, обогнав «Тетрис» и украинскую разработку «Казаки» с приличным отрывом. Признаюсь, я ничего вообще не знал об этой игре и заинтересовался, что это за чудо такое. Посмотрев видео на ютубе понял, что это действительно выдающаяся игра, поскольку фанаты отзываются о ней как о «лучшей игре на свете».

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

Алексей Дубовой


История игры «Космические рейнджеры»


Вам было всего 18 лет (верно?), когда вы взялись за написание масштабного проекта. Как Вы на это решились? Был ли какой-то опыт написания игр до КР?

В детстве я начинал с компьютеров «Спектрум» и «Поиск». Первой игрой, которую я увидел, была «Nether Earth». Тогда она перевернула мое сознание. И с этого времени я начал увлекаться компьютерами, играми и программированием. То, что я буду программистом, я осознал очень рано, мне было очень интересно изучать движки, создавать свои, все остальное меня перестало интересовать.

Шло время, я набирался опыта, и в середине 99 года я в интернете случайно набрел на сайт Дмитрия Гусарова. Он в то время заканчивал делать «Генерала» и искал себе работу в игровом дизайне. Мы встретились, поговорили и решили делать новую игру на космическую тему, так как понимали, что графики нужно сделать значительно меньше, чем для других жанров, да и сама тема космоса нам интересна. Если для Дмитрия были интересны игры Elite, Master of Orion, то я был фанатом Star Wars: X-Wing серии и Star Control 2.

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

Verlet.js — физический движок на основе метода Верле

Время на прочтение1 мин
Количество просмотров39K
Метод численного интегрирования Верле издавна использовался для вычисления траекторий частиц. Сам метод был впервые использован ещё в 1791 году французским астрономом Жаном-Батистом-Жозефом Деламбром. В 1907 норвежский математик и физик Карл Штёрмер использовал его для моделирования движения частиц в магнитном поле, поэтому иногда этот метод называют методом Штёрмера. Современное название этот алгоритм получил от имени французского физика Лу Верле, который в 1967 году использовал его в моделировании молекулярной динамики. В последнее время метод Верле применяется и в разработке компьютерных игр.
Читать дальше →

Как я писал Pacman'a, и что из этого получилось. Часть 1

Время на прочтение7 мин
Количество просмотров62K
Здравствуйте, уважаемые хабралюди!
Последние несколько месяцев, в свободное время, я занимался разработкой клона знаменитой игры Pacman для ОС Android. Как это было, и что из этого вышло я хочу рассказать.

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

Игровая механика: давайте разберём ядро игры по косточкам

Время на прочтение11 мин
Количество просмотров116K
Термин «игровая механика» имеет много значений, но сегодня я буду говорить об игровой механике как об абстракции, определяющей состояние игры. Очень упрощённо это выглядит вот так:



Есть только два фактора, которые определяют любое текущее состояние игры: механика (правила) и игроки своими действиями.

Уровень ядра


Такт 1: определение состояния
Всегда есть некое текущее состояние системы (например, начало хода). Оно определяется на первом такте инициализирующей последовательностью, когда игроки «загружают» игру, раскладывая поле, выбирая фишки, распределяя начальные ресурсы и так далее. Затем оно меняется в зависимости от происходящего в игре.
Читать дальше →

Labyrus: 3D лабиринт

Время на прочтение4 мин
Количество просмотров17K
«У тебя 2 минуты, чтобы создать лабиринт, на выход из которого нужна минута.»
Коб, «Начало»



Примерно год назад мне стало интересно нарисовать лабиринт, на прохождение которого требуется хоть какое-то время. Я долго пытался это сделать, однако столкнулся с множеством проблем:
  1. От выхода такой лабиринт проходился на «раз-два».
  2. Увидеть и понять, идешь ты по правильному пути, или нет, можно было почти всегда.
  3. На рисование лабиринта уходило очень много времени.

Тогда я решил написать программу, которая будет скрывать то, что видеть не положено и, заодно, генерить лабиринты.
А потом поднял лабиринт в 3D с помощью OpenGL.
А затем добавил в него сеть, потоки и этажи.
Итак, встречайте:

Labyrus — открытая кроссплатформенная многопоточная сетевая игра, написанная с использованием OpenGl и Qt.

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

Про переводы

Время на прочтение6 мин
Количество просмотров47K

Это вот «Плаксовая манта» по версии издателя

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

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

Имена в примерах

Почти все понимают, что в примерах должны участвовать Alice, Bob и другие товарищи по алфавиту. При этом в мнемонической системе ещё есть персонажи Eve и Mallory, которые не ложатся в последовательность, потому что это Eavesdropper и Malicious attacker, то есть пассивный и активный злоумышленники. В нашей мнемонической системе злоумышленника играет Зиновий, что часто придаёт особый шик переводам примеров.
Читать дальше →

В Киеве прошел Kiev Games Night на тему «Как открыть свою геймдев студию»

Время на прочтение2 мин
Количество просмотров17K
Удивительно, что никто так и не осветил это событие. Неделю назад в Киеве прошла сходка-конференция «Games Night». Событие было разбито на две части: блок мини-докладов (по 5-10 минут каждый) и круглый стол, где докладчики отвечали на вопросы аудитории (которой собралось неожиданно много). А так же — свободное общение. Вход был свободный.

Вообще — изначальным посылом встреч этого формата было «дать людям возможность познакомиться/пообщаться», т.к. наш exUSSR-геймдев отличается довольно низким количеством горизонтальных связей, что, порой, является проблемой.

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

Докладов было 11:

  • Андрей Арутюнян (Colibri Games) — о том, как команда из 3-х человек сделала свою игру
  • Андрей Прохоров (4A Games) — авторы серии игр Metro и т.п.
  • Артем Мироновский (Nival Red) — про то, как команде пойти под крыло гиганта Nival
  • Олег Яворский (Vostok Games) — про то, как авторы S.T.A.L.K.E.R. искали финансирование на сиквел
  • Игорь Карев (Tatem Games) — авторы «Анабиоза» и многих друих игр
  • Кен Ливер (Eastlabs) — инкубатор игровых стартапов
  • Олег Клаповский (GOG.com) — 3-я по масштабу платформа после Steam и Origin
  • Евгений Жуков (Digitilus) — про то, как и когда выходить на Kickstarter
  • Олег Придюк (Unity) — про то, как команда из 3х человек в гараже на деньги одного из родителей написала всемирно известный движок
  • Андрей Ионес (Saber Interactive) — о разработке на консолях
  • Сергей Климов (Daedalic) — про квесты и сторителлинг в играх

Видео выступлений:


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

GameDev и канделябр

Время на прочтение7 мин
Количество просмотров38K
Канделябр — подсвечник, который используется для корректировки формы лица игрока, играющего нечестно.

Наверное, многие помнят карточную игру “Марьяж”, которая манила к ЭЛТ мониторам игроков более десятка лет назад.



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

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

Питер Мольине столкнул два варианта монетизации в Curiosity

Время на прочтение1 мин
Количество просмотров65K
Игра Curiosity от Питера Молинье – это куб, от которого множество пользователей со всего мира отщипывают чешуйки, удаляя слои в надежде добраться до его сердцевины, где скрыта некая тайна.



В последнем обновлении автор добавил во встроенные покупки возможность не только удалять элементы куба, но и наоборот — наращивать их обратно. За разные суммы можно добавить от 10 до 500 тысяч элементов.
Читать дальше →

Ближайшие события

Как я Quake в браузере делал

Время на прочтение5 мин
Количество просмотров102K

2 месяца назад я выложил на GitHub первую бета-сборку WebQuake — порта первого Quake, работающего в браузере через WebGL.

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

Использование ActiveRecord от Yii в игре тайм менеджере

Время на прочтение6 мин
Количество просмотров7.6K
Всем привет!

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

Напомню, что в проекте используется php(Yii), mysql и memcached. В проекте достаточно много сущностей, для каждой из которой есть своя модель, которая наследуется от CActiveRecord.

Хранятся файлы моделей следующим образом. В папке models создаем папку base. Когда генерируем модель через Gii, то указываем, что ее нужно положить в папку models/base и к имени класса добавляем Base. Затем создаем в models аналогичный класс без Base, который наследуется от базового класса и имеет в себе лишь метод model().

Кстати заранее скажу, что базовые модели наследуем не от CActiveRecord, а от ExtActiveRecord — расширяем CActiveRecord под наши нужды. Но об этом позже. Пока что разницы никакой.

Пример:
models/base/BaseUser.php — стандартный класс, который генерируется через Gii
models/User.php — класс, который наследуется от BaseUser и имеет в себе метод model()
	/**
	 * Returns the static model of the specified AR class.
	 * @param string $className active record class name.
	 * @return User the static model class
	 */
	public static function model($className=__CLASS__) {
		return parent::model($className);
	}
	



Данная схема используется для того, чтобы в случае повторной генерации файла модели не потерять свой код и просто не забивать пространство стандартным кодом от Yii.

Не забываем добавить в конфиге 'application.models.base.*'.

Перейдем собственно к теме поста и поставим задачи, которые хотим решить:
  1. Уменьшить количество запросов в базу на обновление
  2. Уменьшить количество запросов в базу на выборку


Читать далее

Успех в инди: руководство для начинающих

Время на прочтение10 мин
Количество просмотров82K
image

Вот чем меня точно не удивишь, так это вопросом, как стать профессиональным независимым разработчиком игр и достичь на этом пути успеха. Если честно, слышать его — по-прежнему большая честь для меня, поэтому сначала я каждый раз благодарю задавшего этот вопрос. Но вот дальше… черт, если я действительно собираюсь помочь человеку стоящим советом, то это потребует от меня немалых усилий. Я, конечно, всегда могу «отмазаться», сказав что-то вроде «Дерзай! Старайся! Следуй только за своим сердцем!» — и, на самом деле, это будет не самый плохой ответ. Впрочем, пользы от него тоже будет немного.

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

Приятного вам чтения!
Читать дальше →

Android NDK: OpenSL ES

Время на прочтение9 мин
Количество просмотров24K
Здравствуйте, уважемые хабражители!
Недавно, читая хабр, я увидел статью об Android NDK и OpenAL. А в комментариях был задан вопрос о OpenSL ES. Тогда у меня и родилась мысль написать статью об этой библиотеке. Я занимался этой темой, когда мне понадобилось добавить звуки и музыку в игру под Android, написанную на C++, под NDK. Статья не претендует на полноту, здесь будут лишь основы.

Содержание:
  1. Краткое описание структур OpenSL ES
  2. Инициализация механизма библиотеки и создание объекта для работы с динамиками
  3. Проигрывание PCM(wav)
  4. Проигрывание MP3, OGG
  5. Заключение

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

Метрика #4 — Подкаст о технологиях и проектировании интерфейсов и сервисов

Время на прочтение1 мин
Количество просмотров5.8K
Всем привет! С вами «Метрика» – шоу для тех, кто создает и анализирует продукты и сервисы на различных платформах.

В этом выпуске


Антон Артемов (a_dae), Платон Днепровский (hryusha) и Дмитрий Кабанов (dmitrykabanov) обсуждают игровые UI, их особенности, новинки, и дискутируют о современном понимании игрофикации.
Читать дальше →

На Kickstarter идет сбор средств на игру-наследника знаменитого Road Rush

Время на прочтение1 мин
Количество просмотров19K
Сегодня случайно наткнулся на сбор средств на Kickstarter для игры, которую сами разработчики называют «духовным наследником» знаменитой серии Road Rush. Серия игр Road Rush была очень популярна в 90-х (по крайней мере в моей детстве так было) для приставки Sega Mega Drive. Название игры Road Redemption. В процессе просмотр трейлера сразу улавливаются «нотки» той старой олдскульной игры: противников можно бить различными предметами, толкать под встречные машины, ну и сами гонки на мотоциклах никуда не делись. Арсенал стал интересней: появилось огнестрельное оружие, взрывчатка, к оружию ближнего боя из оригинальной игры (в оригинальной версии были кулаки, дубинка, цепь и лом) добавились самурайские мечи, кувалды и много другой арматуры, кроме того в игру обещают добавить полноценный сюжет. Команда создателей подобралась с большим геймдевелоперским и судя по всему геймерским опытом, так что есть все основания полагать, что мы увидим очень неплохую игру.
Читать дальше →

Физический движок для железнодорожного транспорта

Время на прочтение6 мин
Количество просмотров21K
Здравствуйте.
В данной статье представлена концепция написания физического движка для железнодорожного транспорта.
Одна из главных задач, которую должен решать данный физический движок – это расчет взаимодействия между вагонами.
Читать дальше →

Вклад авторов