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

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

Под «Филвордом» я буду иметь ввиду эту многим знакомую игру.

Самый простой алгоритм для создания Филворда (Часть 1) - 1

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

Первым делом я всегда разбиваю задачу на подзадачи. Для решения этой задачи мне понадобится:

  1. БД со словами.
  2. Алгоритм, который вставляет слова в поле.
  3. Алгоритм, который проверяет выбранное пользователем слово на корректность. К примеру мы в поле поместили слово «программирование», а пользователь увидел там «мир» и выделяет это слово. Пользователь прав – такое слово есть, но мы его не загадывали. Нам нужен алгоритм, который будет проверять догадки пользователя и говорить ему прав он или нет.

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

1) БД со словами.

Для решение данной задачи я сделал простую БД с несколькими таблицами, каждая из которых хранит в себе слова определенной длинны. Таблица words_2 хранит в себе слова длинной в две буквы. Таблица words_3 хранит в себе слова длинной в три буквы и так далее. Выглядеть это будет примерно так:

В этой статье я хочу поговорить о методах смешивания растеризуемой геометрии. Классические модели смешивания полупрозрачных объектов — Alpha, Additive, Multiplicative — объединяет один и тот же принцип отрисовки: последовательно рисуем один примитив за другим, смешивая получаемые на выходе фрагментного шейдера пиксели с тем, что находится в текущем буфере. Каждый новый примитив обновляет область буфера, в которую рисуется; в случае с альфа-смешиванием объекты, которые находятся выше, заслоняют ранее отрисованные. Но что если хочется что-то сделать с группой объектов, рисуемых поверх сцены, — например, обрезать их по маске или подсветить? Тут сразу в голову приходят два решения: или внести изменения в их материал (т.е. изменить шейдер, расширить набор текстур), к примеру, добавив проекцию еще одной текстуры, которая будет отвечать за маску прозрачности. Однако если у нас много разношерстных объектов, менять каждый уникальный материал неудобно и чревато ошибками. Второй вариант — нарисовать все интересующие нас объекты в отдельный полноэкранный таргет и рисовать уже его на финальную сцену. Тут мы можем сделать с его содержимым все, что захотим, но это требует выделения лишней памяти и, что самое неприятное, — переключения рендер таргетов. Это не самая «дешевая» операция на мобильных устройствах, которую будет необходимо выполнить дважды. А если захочется вот так работать с несколькими слоями?

Отложенный Alpha blending - 1
Читать полностью »

Как разработчики делают игры «честными» - 1

Когда проигрываешь в мультиплеере, проще всего обвинить баланс — рандом, пушка имба и далее по списку. Но где эта грань между тем, когда не хватило собственного скилла и когда у игры есть реальные проблемы?

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

Рисуем муравьями: процедурные изображения при помощи алгоритмов оптимизации муравьиной колонии - 1

Почему мне захотелось рисовать муравьями

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

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

Портируем Quake на iPod Classic - 1

Запускаем Quake на iPod Classic (видео).

TL;DR: мне удалось запустить Quake на MP3-плеере. В статье описывается, как это произошло.

Часть прошлого лета я потратил на пару своих любимых вещей: Rockbox и игру Quake id Software. Мне даже предоставилась возможность объединить эти два увлечения, портировав Quake на Rockbox! Большего и пожелать было нельзя!

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

Увы, настало время попрощаться с Rockbox и Quake, по крайней мере, на ближайший срок. Несколько месяцев свободное время для меня будет очень дефицитным ресурсом, поэтому прежде, чем навалится работа, я спешу изложить свои размышления.
Читать полностью »

Часть 1: что такое карты нормалей и как они работают

Часть 2: как запекаются карты нормалей

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

Карта нормалей касательного пространства (Tangent space normal map): самый распространённый сегодня тип карт нормалей; именно о нём мы говорили в предыдущих статьях. Он модифицирует направление нормалей модели на основании направления нормалей её вершин (то есть нам нужно контролировать нормали вершин lowpoly-модели).

image

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

Когда мои друзьязнакомыесобутыльники узнают о том, что я разработчик игр, они приходят в дикий восторг, смешанный с белой завистью. “О, да ты шо, когда новый Ассасин выпустишь? ” — “Ого, вот это кайф. Такая крутая работа! ” и все в таком духе. Сразу их быстро опускаю на землю, ибо разработчик игр хоть и звучит круто, но за этим стоит огромная работа. Зачастую, не самая веселая. Рутинная, монотонная и, откровенно, утомительная. Однако, очень-очень нужная.

Опытные разработчики поймут о чем я, а те наивные мечтатели, которые еще только думают о том, чтобы перейти в геймдев — поверьте мне на слово. Ну или прочитайте всю статью от начала до конца. Немного об авторе — 4 года в геймдеве. Удалось поработать с такими проектами как Iratus: Lord of the Dead, Utopia Syndrome, парочкой VR проектов. В данный момент работаю в студии CrispApp, основное направление которой — игры жанра Hidden Object.

Ад инди-разработчика или как довести свой проект до релиза и не застрелиться в процессе - 1

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

Игра, управляемая лицом, в масках Инстаграм, или двойной клик глазами - 1

Что за бред, подумаете вы. Что за бессмысленный набор слов? Но, увы или ура — кому как, сегодня это уже не бред, а реальность. Речь в статье пойдет о написанной мной для Инстаграм игре, в которой в качестве контроллера используется ваше лицо, а точнее, не только оно, но иногда и вся голова. Перемещение по игровому полю производится посредством поворота и наклона головы, а выбор действия — открытием рта либо двойным «кликом» (морганием) глазами. Double blink, наверно, стоило бы его назвать…

О дивный новый мир! Вероятно, хипстеры будущего займутся разработкой скриптов для генерации красивого разноцветного дыма за своими легковыми космическими капсулами или написанием шейдеров для придания интересных визуальных эффектов черным вратам персонального телепорта, типа падающих снежинок (Web 100.0) или фрактального тумана (WebGL 100.0) или… Нет, пожалуй, у меня не хватит фантазии представить себе, какой ерундой можно было бы заняться в будущем: я пытаюсь мыслить слишком логично. Но лет 30 назад мы точно, ни в каком сне, ни при каких условиях не смогли бы даже подумать, что сегодня мы будем создавать маски для социальной сети под названием Инстаграм. И более того — что внутри этих масок появятся полноценные игры. Мне стало страшно и интересно. В общем, страшно интересно. И, как вы уже поняли, я не удержался и тоже написал такую игру. Разумеется, для того, чтобы поиграть в нее, у вас должен быть смартфон на Android или iOS с фронтальной камерой и установленным приложением Инстаграм.
Читать полностью »

Dagaz: Сумма технологий - 1          Итак, технологии интересуют меня, так сказать, по необходимости: потому что всякая цивилизация включает и то, к чему общество стремилось, и то, чего никто не замышлял.

          Порой, и довольно часто, путь технологии открывал случай: искали же когда-то философский камень, а нашли фарфор. 
 
Станислав Лем.

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

Доброго дня!

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

Невангеры: Division impossible - 1
Читать полностью »


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