Создание игр: от идеи до реализации – шаг за шагом

Learn to implement games with code (2017)

Книга быстро погружает в разработку игр на Unity, но главное — вы тренируетесь писать годные алгоритмы и код, что важно вне зависимости от движка. Опыта работы с C# не требуется — достаточно знать, что такое переменные, условия, циклы, массивы, функции

Если сомневаетесь в своих силах, посмотрите бесплатный курс «Основы программирования» на GeekBrains.

Автор — Джон Куик (John M.Quick) — имеет ученую степень Ph.D. в области образовательных технологий. Он исследовал развлекательную составляющую и проявление индивидуальности в играх. В своих научных работах он предложил модели GEM (Gameplay Enjoyment Model) и GGO (Gaming Goal Orientation). Преподавал компьютерную грамотность, гейм-дизайн и программирование в университетах США и технологическом институте DigiPen в Сингапуре.

«Swift. Основы разработки приложений под iOS, iPadOS и macOS» Василий Усов

Мечтаете стать iOS-разработчиком и наконец-то выложить в AppStore нормальное приложение, которое не будет постоянно лагать? Для этого точно пригодится знание Swift — это простой понятный язык, который отлично подойдет как новичкам, так и опытным программистам. Чтобы начать писать код, вам потребуются только эта книга, компьютер и желание учиться. Авторы объясняют основные концепции программирования и синтаксиса максимально доступным языком. А теория чередуется с практическими примерами и кодом — так вы сразу сможете связать абстрактные понятия с реальными кейсами. К каждой главе книги прилагаются тесты и домашние задания, которые помогут закрепить материал.

Сделай видеоигру один и не свихнись Слава Грис

Сделай видеоигру один и не свихнисьСлава Грис

Настольный путеводитель в мир разработки видеоигр! Всегда хотели начать делать игры, но не знали с чего начать? Много идей и все хочется реализовать? Страшно начинать что-то новое с нуля? Мысли о программировании вводят в панический ужас? Тогда эта книга именно для вас. Она поможет понять, как правильно начать работать, где искать ответы на вопросы и самое главное – как не сдаться и довести дело до конца, став настоящим разработчиком видеоигр. Слава Грис – разработчик-одиночка. На его счету уже три вышедших видеоигры, а недавно одна из них даже получила порт на консоли текущего поколения. В своей книге он расскажет, как научиться делать видеоигры одному и начать карьеру разработчика, не имея ни стартовых знаний, ни опыта, ни специального образования! “Сделай видеоигру один и не свихнись” станет вашим трамплином к успеху!

Автоматизация контента

Екатерина Палашина, 22 года, Москва, Московский государственный университет, факультет журналистики

Екатерина впервые будет участвовать в научных конференциях. 10 апреля студентка выступит с докладом «Роботизированная журналистика: современные практики автоматизации контента СМИ».

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

«Особый интерес был вызван малоизученностью темы в России, – пояснила Екатерина. – В то же время существуют современные практики автоматизации контента СМИ как в зарубежных, так и отечественных редакциях. Учитывая новизну явления, единственной возможностью узнать об экспериментах с роботизацией в российских СМИ было получение информации из первых уст от журналистов, имеющих непосредственную причастность к редакционным алгоритмам. Результаты экспертных интервью показали, что роль первопроходцев в освоении и применении инструментов для автоматической генерации текстов принадлежит ведущим новостным агентствам («Интерфакс», «ТАСС»), вслед за которыми стали подтягиваться печатные СМИ. Первые эксперименты по написанию автоматических заметок сегодня проводит журнал Elle».

По мнению студентки, автоматизация контента – процесс неизбежный, причем его влияние на работу редакции не столь негативно, как можно предположить. «Одно из главных ее достоинств заключается в освобождении журналистов от выполнения рутинных задач. Роботы успешно справляются с обработкой структурированных данных и поэтому легко применяются в новостной журналистике. Однако все, что касается смыслов, аналитики и творчества, –  пока прерогатива исключительно журналиста. Роботизированная журналистика бросает новые вызовы профессии и институту СМИ, оставляя множество неразрешенных вопросов. Академическое сообщество вместе с индустрией пытается решить ключевые проблемы, связанные, в первую очередь, с этическим регулированием, транспарентностью, факт-чекингом машинных текстов. Таким образом, совершенно справедливо считать, что в конкурентной борьбе с роботом в настоящее время выигрывает человек»,– поделилась наблюдениями молодой исследователь.

Поиск путей

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

Поиск путей можно считать уже давно и успешно решенной проблемой в разработке игр. Даже в таких старых играх, как первая версия легендарной игры Starcraft* (Blizzard Entertainment*), огромные количества игровых объектов могли определять пути движения по крупным и сложным картам.

Для определения путей движения используется алгоритм под названием A* (произносится э-стар). С его помощью можно находить оптимальный путь между двумя любыми точками в графе (в данном случае — на карте). Простой поиск в Интернете выдает чистый алгоритм, использующий крайне «понятные» описательные термины, такие как F, G и H. Сейчас я попробую описать этот алгоритм более удобопонятным образом.

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

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

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

Когда объект достигает поля цели, можно построить путь, отследив родительские узлы вплоть до узла, у которого нет родительского элемента (это начальный узел). При этом мы получаем оптимальный путь, по которому может перемещаться объект.Этот процесс работает, только когда агент получает приказ или самостоятельно принимает решение о движении, поэтому здесь можно с большой выгодой использовать многопоточность. Агент может отправить запрос в поток поиска пути, чтобы получить обнаруженный путь, не влияя на производительность ИИ. В большинстве случаев система может быстро получить результаты. При загрузке большого количества запросов путей агент может либо подождать, либо, не дожидаясь выдачи путей, просто начать двигаться в нужном направлении (например, по алгоритму «Столкнуться и повернуть»). На очень больших картах можно разделить систему на области и заранее вычислить все возможные пути между областями (или точки маршрута).В этом случае модуль поиска путей просто находит наилучший путь и немедленно возвращает результаты. Поток карты путей может просто отслеживать изменения на карте (например, когда игрок строит стену), а затем снова запускает проверку путей по мере необходимости. Поскольку этот алгоритм работает в собственном потоке, он может адаптироваться, не влияя на производительность остальной игры.

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

О профессии геймдизайнера

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

За границей существуют профильные курсы и даже факультеты в университетах, где обучают геймдизайну. Вот некоторые из них: Технологический институт DigiPen, школа кинематографических искусств при университете Калифорнии, Рочестерский технологический институт, Университет Юты, где существуют программы обучения геймдизайну в рамках получения степени кинематографии и компьютерных наук. Однако если говорить о рынке Российской Федерации, здесь еще нет обучающей базы, которой бы можно было воспользоваться начинающим специалистам для освоения профессии.

Если вы заинтересовались геймдизайном и хотели бы реализоваться в этой деятельности, помимо вышеописанных навыков, добавьте профильное самообразование. Сегодня существует большое количество книг по геймдизайну. Они созданы специалистами, иллюстраторами, профессорами и просто практическими экспертами. При этом, надо понимать, что все они пришли из Запада и в книжном мире есть возможность ознакомиться с ними на английском языке. Далее мы представляем вашему вниманию топ-15 книг, созданных в помощь геймдизайнеру.

«Дизайн персонажей. Концепт-арт для комиксов, видеоигр и анимации»

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

Вступительные статьи к книге написали три российских суперпрофессионала индустрии CG: иллюстратор Анна Кэттиш, концепт-художник, основатель Smirnov School, Иван Смирнов и дизайнер персонажей для анимации Тата Че.

Цели и задачи исследования

Целью данной магистерской диссертации является применение генетического алгоритма для создания игрового искусственного интеллекта, модификации генетического алгоритма и определение
эффективности использования ГА для данной задачи на платформе игры жанра ККИ. Из задач можно выделить:

  1. Исследование ГА и выбор операторов с их последующими модификациями.
  2. Разработка игрового ИИ для платформы ККИ Dual choice на основе ГА.
  3. Разработка функций эффективности для функциональных генов (карт и способностей).
  4. Сравнение скорости и эффективности принятия решений ИИ на основе ГА и полного перебора.
  5. Путем динамической настройки ГА создать возможность выбора сложности ИИ.

Mass Effect: восхождение к звёздам. История создания космооперы BioWare Николя Доменг

Mass Effect: восхождение к звёздам. История создания космооперы BioWareНиколя Доменг

Далёкие звезды — мечта, пленяющая сердца людей на протяжении столетий. Космические путешествия стали излюбленным сюжетом научно-фантастических произведений. Уже ранние видеоигры затрагивали тему космоса, но полное раскрытие она получила в культовой серии игр Mass Effect от студии BioWare. В этой книге французского игрового журналиста Николя Доменга описана хроника создания оригинальной трилогии Mass Effect. Через историю студии автор показывает, как формировалась уникальная вселенная Mass Effect, какие идеи заложены в её основу и как разработчикам удалось добиться эффекта реалистичного погружения в мир игры и дать каждому игроку возможность выбирать свой путь.

Пример кода

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

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

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

Ниже видно, как вычисляется расстояние: берем предполагаемые значения расстояния до цели в направлениях X и Y и складываем их. При этом может возникнуть желание использовать теорему Пифагора (сумма квадратов катетов равна квадрату гипотенузы), но это излишне. Нам нужно получить лишь относительное значение расстояния, а не его точную величину. Процессоры обрабатывают сложение и вычитание во много раз быстрее, чем умножение, которое, в свою очередь, работает гораздо быстрее, чем деление. Этот фрагмент кода запускается по много раз в каждом кадре, поэтому во главу угла ставим оптимизацию.

В приведенном выше разделе функция анализирует поле слева от текущего узла. Если это поле пока отсутствует в списках «Проверенные» или «Непроверенные», функция попытается добавить его в список. TileValid () — еще одна функция, которую нужно приспособить для игры. Если она передает проверку TileValid (), то она вызовет NewToList () и новое расположение будет добавлено в список непроверенных. В следующих фрагментах кода повторяется этот же процесс, но в других направлениях: справа, сверху и снизу.

Последнее, что осталось сделать в этой итерации, — удалить текущий узел из списка непроверенных. Нет необходимости еще раз анализировать это поле.

Заключительный фрагмент кода выстраивает путь из списка проверенных путем возвращения к исходному положению. Путь к исходному расположению всегда можно найти, поскольку каждый узел на пути отслеживает свой родительский узел. Затем возвращается итоговый путь (с помощью ссылки). Функция возвращает длину нового пути.

«Гены гения», Хидео Кодзима: почувствовать силу вдохновения


Изображение: обложка книги «Гены гения», Хидео Кодзима / «Питер»

Кажется, нет такого геймера, который бы не слышал о Хидео Кодзиме. Он приходит в гости в «Вечерний Ургант» и делает игры при участии голливудских звёзд. С Кодзимой хочет познакомиться Канье Уэст, а «три дня в кресле геймдизайнера» стали мечтой и мемом одновременно.

Создатель Metal Gear Solid, Policenauts и Death Stranding не раз говорил в интервью, что его творчество, хоть и признанное самобытным, родилось из впечатлений от множества книг, фильмов и комиксов. В «Генах гения» Хидео рассказывает о произведениях, которые повлияли на то, как он видит мир. Подспудно читатель узнает о непростой судьбе геймдизайнера, который рано потерял отца и долго страдал от одиночества.

Японский геймдизайнер на российском телевидении

Like this post? Please share to your friends: