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

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

Крестики нолики «Без границ» - 1

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

  1. Поле может быть сколь угодно большим (На сколько хватит тетради)
  2. Побеждает тот, кто поставит 5 фигур (если их можно так назвать) в ряд.

Все просто… и в то же время сложно: исход игры не может быть просчитан заранее, как в классическом аналоге. Этот «маленький проектик» отнял у меня много времени и нервов. Надеюсь, что вам будет интересно.Читать полностью »

Симулируем реалистичную реку в Houdini и Unreal Engine 4 - 1

Когда только начался переход с DX9 на DX10 стало появляться много игр с круто смоделированной водой с правильными эффектами. Тогда разница была очень заметной, особенно если сравнивать игры прошлых поколений и тот же Crysis. Поэтому когда наткнулся на гайд, как сделать простую, но реалистичную симуляцию реки через плагин Houdini для UE4, то даже не стал задумываться и быстро перевел.
Читать полностью »

image

Часть 1. SVG и системы координат

До недавнего времени размеры карт в моей игре Dragons Abound были фиксированными и несколько недетерминированными. Я считал их «региональными» — не картами всего мира, но его значительными частями, такими например, как западное побережье США или часть Европы. Меня вполне устраивал этот масштаб, но я хотел немного поэкспериментировать с игрой, чтобы посмотреть, смогу ли я генерировать карты целого мира (или хотя бы большего размера). Но прежде чем я приступлю к этому, давайте немного поговорим о картах фэнтези-миров.

Мир — это большое пространство. Большинство карт фэнтезийных «миров» даже близко не походят на истинный размер. Возьмём, например, Средиземье, в котором происходит действие «Властелина колец»:

Как я создавал карты континентов для своей игры - 2

Хоть и кажется, что на ней запечатлён огромный мир, на самом деле Средиземье создано на основе Европы.
Читать полностью »

Как создать надёжную игровую механику в Excel. Часть 2 - 1

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

Задачи о размещении объектов

Электронные таблицы для этой части можно скачать здесь: (SuperTank) (телепорты, часть 1) (телепорты, часть 2)

SuperTank: задача решена!

В первой статье серии мы рассказали о примере задачи для игры под названием SuperTank. Во второй её части, мы познакомились с основными концепциями моделирования решений и я рассказал о решении простого примера с помощью инструмента «Поиск решений» в Excel.

Теперь мы можем применить полученные во второй части знания к задаче SuperTank, и доказать, что с их помощью можно решить эту задачу легко и быстро. Освежу вашу память: SuperTank — это игра, в которой вы можете сражаться на настраиваемом танке.Читать полностью »

...Тема бронелифчиков в культуре Востока и Запада - 1...

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

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

Такая броня ужасно неудобна, она натирает и гарантирует носящему простуду в регионе со средним климатом и огромное количество укусов насекомых в регионах с теплым климатом. Ну и конечно же все колюще-режущие предметы которые в вас летят достигнут цели.

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

Для начала я бы хотела внести небольшое уточнение. Современный игропром сейчас буквально поделен на два лагеря — «Восток» и «Запад». Под Востоком обычно подразумевается Япония, чуть реже Китай или Корея, история и культуры которых взаимодействовали и переплетались веками. Запад это, по сути, все страны современной Европы (там практически каждая побывала чьей-нибудь колонией или имела колонии, что способствовало культурному обмену).

Какое это имеет отношение к бронелифчикам?

Игровая индустрия сейчас тоже разделена на восточную и западную. Если выбрать любую японскую или корейскую игру и любую европейскую а потом попросить человека угадать какая где, то абсолютное большинство угадает с первого раза. Серия TES и серия Metal Gear Solid. World of Warcraft и, например, Perfect World или более современная Black Desert, Лара Крофт и Байонетта.

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

Еще один рабочий день подошел к концу. И вот, сидя перед монитором с кружкой теплого чая и читая любимый Хабр, кто-то ищет развлекательные посты, кто-то хочет узнать что-то новое и полезное. Есть люди которым интересно как работают другие команды и какая у них организация. А есть те кто весь день задается вопросом — почему меня окружают клинические идиоты.
“Меня окружают идиоты или как работать в команде” - 1

Хуже, если всех этих людей вокруг себя собрали вы. Именно этот случай мы рассмотрим.

А правильно ли поставлен вопрос? И кто виноват?

Давайте разбираться.

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

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

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

О важности игрового прототипа мы говорили в предыдущей статье

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

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

Думаю, многим в ходе разработке игры для iOS приходилось сталкиваться с тем, что возникает необходимость использовать тот или иной нативный функционал. Касаемо Unity3D, в данном вопросе может возникать очень много проблем: для того, чтобы внедрить какую-то фичу, приходится смотреть в сторону нативных плагинов, написанных на Objective-C. Кто-то в этот момент сразу отчаивается и забрасывает идею. Кто-то ищет готовые решения в AssetStore или на форумах, надеясь на то, что готовое решение уже существует. Если же готовых решений не существует, то самые стойкие из нас не видят другого выхода, кроме как погрузиться в пучину iOS программирования и взаимодействия Unity3D с Objective-C кодом.

Тех, кто выбирает последний путь (хотя, думаю, они и сами знают), ожидает множество проблем на этом нелегком и тернистом пути:

  • iOS — абсолютно незнакомая и обособленная экосистема, развивающаяся своим путем. Как минимум придется потратить довольно много времени, чтобы понять как можно подобраться к приложению, и где в недрах автоматически сгенерированного XCode проекта находится код взаимодействия Unity3D движка c нативной составляющей приложения.
  • Objective-C — довольно обособленный и мало на что похожий язык программирования. А когда речь заходит о взаимодействии с C++ кодом Unity3D приложения, то на сцену выходит «диалект» этого языка, под названием Objective-C++. Информации о нем совсем немного, большая ее часть древняя и архивная.
  • Сам протокол взаимодействия Unity3D с iOS приложением довольно скудно описан. Расчитывать стоит исключительно на туториалы энтузиастов в сети, которые пишут как разработать простейший нативный плагин. Мало кто при этом затрагивает более глубокие вопросы и проблемы, возникающие при потребности сделать что-то сложное.

Тех, кто хочет узнать о механизмах взаимодействия Unity3D с iOS приложением, прошу под кат.
Читать полностью »

image

Gamescom и Tokyo Game Show, как и E3, являются важнейшими игровыми мероприятиями для сотен тысяч разработчиков, фанатов и профессионалов отрасли, работающих в Европе и Японии. Обе выставки привлекают к себе множество разных людей, от инди-разработчиков из Швеции до огромных студий из Осаки с тысячами сотрудников.

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

Увольнения, закрытие студий, кранчи — в США всё это кажется обычной рутиной. Такие компании, как Rockstar заставляют сотрудников постоянно работать по шестьдесят часов в неделю, а Telltale увольняет бОльшую часть персонала без предупреждений и выходного пособия. Поэтому очень важно обращать внимание на несправедливые условия труда, чтобы эту ситуацию можно было исправить.
Читать полностью »

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

Хотите делать быстрее и качественней остальных? Не хотите тратить тонны усилий впустую?

Губительная ошибка новичков в геймдеве - 1

Сделайте прототип игровой механики. 90% начинающих разработчиков этого не делают(!)

Что это? Зачем? И с чем его едят?

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

Когда люди приходят в геймдев или пытаются/начинают делать игры, они не знают о большинстве проблем с которыми им предстоит столкнуться.
Главная проблема — как понять насколько интересно играть в мою игру?
Очень важно сделать это максимально быстро.Как?
Сделать игровой прототип и сделать правильно.

С чем «есть» игровой прототип я не скажу, но чай при прочтении определенно не повредит.

Советы по созданию правильного(на мой скромный взгляд) прототипа вы узнаете из этой статьи, это может вам здорово помочь.
Читать полностью »

Итак, очередная статья из цикла «математика на пальцах». Сегодня мы продолжим разговор о методах наименьших квадратов, но на сей раз с точки зрения программиста. Это очередная статья в серии, но она стоит особняком, так как вообще не требует никаких знаний математики. Статья задумывалась как введение в теорию, поэтому из базовых навыков она требует умения включить компьютер и написать пять строк кода. Разумеется, на этой статье я не остановлюсь, и в ближайшее же время опубликую продолжение. Если сумею найти достаточно времени, то напишу книгу из этого материала. Целевая публика — программисты, так что хабр подходящее место для обкатки. Я в целом не люблю писать формулы, и я очень люблю учиться на примерах, мне кажется, что это очень важно — не просто смотреть на закорючки на школьной доске, но всё пробовать на зуб.

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

Методы наименьших квадратов без слёз и боли - 1

В данном конкретном случае я решаю эллиптическое дифференциальное уравнение, носящее имя Симеона Деми Пуассона. Товарищи программисты, давайте сыграем в игру: прикиньте, сколько строк в C++ коде, его решающем? Сторонние библиотеки вызывать нельзя, у нас в распоряжении только голый компилятор. Ответ под катом.

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


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