Рубрика «разработка игр» - 168

image

На момент своего выхода в 1993 году Disney’s Aladdin на Sega Genesis (или Mega Drive, если в начале 90-х вы жили с другой стороны лужи) была удивительно красивой игрой.

Благодаря использованию технологии, которая позже стала известной, как Digicel, правильному выбору промежуточного ПО и впечатляющему таланту авторов Aladdin смогла выделиться на фоне других игр Genesis той эпохи. Красивая нарисованная от руки графика Aladdin установила новую планку качества для того, чего можно добиться на «железе» Genesis. Это стало возможным не с помощью особенно интересных растровых эффектов или тайных аппаратных приёмов, а благодаря сочетанию эффектной графики, дизайна и правильно выбранной технологии.

Эта уникальная смесь графики и технологий стала основной причиной, позволившей игре Aladdin занять особое место в истории видеоигр. Поэтому мне так радостно было найти архив с полным исходным кодом игры в коллекции Video Game History Foundation! Кроме бесценного источника данных, этот архив является для меня отличной возможностью создать стандарты для сохранения исходного кода, отслеживания зависимостей инструментов и многих других процессо-ориентированных аспектов в VGHF.
Читать полностью »

От автора перевода

Как вы уже поняли, эта статья — простой перевод официальной документации к движку Cocos2d-x. Если вы здесь впервые, можете глянуть предыдущую статью!

ВНИМАНИЕ: Самое сложное при переводе технических документаций — это не сам перевод, а адаптация текста для русскоязычных читателей. Многие термины могут вовсе не переводиться на русский. Я выкручивался из таких ситуаций как мог. На суть и основные мысли данной статьи это никак не повлияло, но возможны некоторые неточности. Я заранее извиняюсь и прошу вас сообщать мне о подобных ошибках, при их обнаружении. Буду очень благодарен!
Читать полностью »

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

Дайджест интересных материалов для мобильного разработчика #225 (9 октября -15 октября) - 1Читать полностью »

Авторы Hollow Knight рассказывают о процессе построения сложного взаимосвязанного мира от набросков до готовой игры

image

Есть что-то удивительно приятное в исследовании сложных 2D-пространств игр, сделанных по модели Metroid и Castlevania. Такого чувства невозможно получить в других играх: чёткое осознание того, как части мира подогнаны друг к другу, умение распознать наличие скрытой комнаты, удовлетворение от получения новых способностей, позволяющих попасть на ранее недостижимые высоты. Качественная карта метроидвании заставляет игрока хотеть освоить каждый квадратный сантиметр и остаётся интересной, даже когда он проходит тем же маршрутом второй, и десятый, и двадцатый раз.

Так как же создать карту для метроидвании? Как создать взаимосвязанный мир, возвращаться назад в котором интересно, который даёт игроку свободу исследований, но при этом частично сохраняет за собой путь его развития? Есть ли секретная формула, тайное знание? Я задал эти вопросы создателям Hollow Knight, вдохновлённого Metroid фантастического приключения в антураже разлагающегося королевства Hallownest, которое напоминает мне анимационный фильм Дона Блута «Секрет НИМХ» (только вместо крыс здесь насекомые).

Мы поговорили о том, что важно для такой игры, и о том, почему сами авторы никогда не упоминают термин «метроидвания». Потом мы добрались до самого интересного: посмотрели наброски, схемы и рабочие дизайны мира Hollow Knight, от самого начала до финальной версии.
Читать полностью »

image

Часть 1. Линейные структуры

Массив

Когда вам нужен один объект, вы создаёте один объект. Когда нужно несколько объектов, тогда есть несколько вариантов на выбор. Я видел, как многие новички в коде пишут что-то типа такого:

// Таблица рекордов
int score1 = 0;
int score2 = 0;
int score3 = 0;
int score4 = 0;
int score5 = 0;

Это даёт нам значение пяти рекордов. Этот способ неплохо работает, пока вам не потребуется пятьдесят или сто объектов. Вместо создания отдельных объектов можно использовать массив.

// Таблица рекордов
const int NUM_HIGH_SCORES = 5;
int highScore[NUM_HIGH_SCORES] = {0};

Будет создан буфер из 5 элементов, вот такой:

О выборе структур данных для начинающих - 2

Заметьте, что индекс массива начинается с нуля. Если в массиве пять элементов, то они будут иметь индексы от нуля до четырёх.
Читать полностью »

Предисловие

Эта статья является второй, из серии переводов документации к игровому движку Cocos2d-x. Если вы не видели первую часть перевода, то советую сначала ознакомится с ней:
Cocos2d-x — Основные понятия

А теперь продолжим!

Что такое спрайт

Спрайт — это 2D изображение, которое может быть анимировано или трансформировано, путем изменения свойств, таких как: rotation, scale, color, и так далее.
Читать полностью »

Привет! Меня зовут Артем, я из небольшой студии разработки игр в Нижнем Новгороде. За первый год в геймдеве у нашей команды накопились мысли о разных аспектах работы и появилось желание ими поделиться. Сразу хочется обозначить, что все дальнейшие выводы человеку с опытом могут показаться детским лепетом и это вполне понятно. Но для нас эти тезисы, в свое время, стали открытием, а значит, есть вероятность, что и для кого-то, кто только начинает свой путь в геймдеве они станут таким же открытием и помогут избежать подобных ошибок.

От бесполезного хобби до фичеринга в Google Play - 1

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

Предисловие

Если вы создаёте игру-платформер в стиле «беги и прыгай», то, возможно, уже задумывались о добавлении в неё ИИ. Он может управлять противниками, объектами, которые игрок должен преследовать, и так далее… И слишком часто ради простоты программист реализации отказывается от умного ИИ, что в результате приводит к тому, что ИИ не может справиться с хитрыми прыжками, особо умным игроком или движущимися объектами уровня.

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

Мы рассмотрим основную идею и создадим полную реализацию. Более сложные случаи, в том числе подвижные платформы/разрушаемые стены, мы рассмотрим в другой статье.

Эта техника использована в игре Nomera, см. на www.dotstarmoney.com или в Twitter.

e3iKSJ7.png

Прежде чем начать, проверьте, возможно, вы удастся реализовать более простой алгоритм, соответствующий упрощённой геометрии карты. Например, если коллизии в уровнях распознаются по сетке квадратов (как в большинстве 2D-игр). В таких случаях можно реализовать надёжный поиск путей ИИ с помощью более простых техник. Мой метод в основном подойдёт тем, кто хочет более «человечного» поведения ИИ.
Читать полностью »

У Google новые смартфоны, новые наушники, новая камера и даже новая NoSQL-база данных! У iOS же открытый код ядра и проблемы с Uber. Если серьезно, то в новом дайджесте есть еще оптические эффекты, отказ HP от Windows 10 Mobile, сертификация Xamarin University, игровая реклама, лучшие приложения и многое другое.

Дайджест интересных материалов для мобильного разработчика #224 (2 октября — 8 октября) - 1Читать полностью »

Предисловие

Начну с небольшой предыстории. Не так давно, мы с другом решили разработать свою двумерную игру, для дипломного проекта. После того как мы определились с ее жанром и получили примерное представление об игровом процессе, перед нами встал вопрос о выборе движка. Unreal или Uniti мы отбросили сразу, так как они показались нам слишком «тяжелыми» инструментами для 2d игры. Cocos2d-x был бы идеальным вариантом, если бы не одна деталь — практически полное отсутствие вводных уроков. Те статьи, что нам удалось найти были, либо не законченны, либо недостаточно подробны. И тогда, я решил перевести официальную документацию, практически без знаний английского и, за одно, поделится своим переводом с остальными (кто же если не я).

Эта статья представляет собой почти дословный перевод, официальной документации к Cocos2d-x. Если вы не хотите разбираться во всяких тонкостях устройства движка, а хотите сразу начать писать свою игру, могу посоветовать вам эту статью: Cocos2d-x — разработка простой игры
Если вы еще не установили Cocos2d-x или не можете создать проект, то тут вы найдете подробную инструкцию: Создание многоплатформенных игр с использованием Cocos2d-x версии 3.0 и выше
Оригинальная статья: Cocos2d-x programmers guide

P.S.: Не советую клонировать cocos2d-x с gitHub. У меня после клонирования не доставало нескольких важных файлов. Но может быть мне просто не повезло.

Приступим!
Читать полностью »


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