Pull to refresh
  • by relevance
  • by date
  • by rating

Шум Перлина (Perlin Noise)

Game development *Algorithms *
Sandbox
Доброго времени суток. Предлагаю Вашему вниманию перевод статьи про шум Перлина (вот этой). Ссылки на эту статью уже мелькали на хабре (тут), но перевод статьи мне не попался. Так что надеюсь кому-либо он может оказаться полезен.

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

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

Для создания функции шума Перлина, вам нужны две вещи, функции шума и функция интерполяции.
Читать дальше →
Total votes 67: ↑52 and ↓15 +37
Views 60K
Comments 22

Unity Character Animation GDC 2012 Feature Preview

Game development *Unity3D *
Пока идет процесс подготовки переводов следующей партии уроков от unity3dstudent, хочу поделиться новостью.
На прошедшем CDG для Unity3d была анонсирована новая система работы с анимацией и системой ввода.
Ознакомиться c ней можно посмотрев видео.
Подробнее
Total votes 7: ↑6 and ↓1 +5
Views 3.4K
Comments 5

Прототипирование игровых проектов на Unity3d

Programming *Game development *Unity3D *
Sandbox
Так сложилось, что вот уже год как я проживаю в холодной Финляндии. Изначально приехал сюда учиться, но последние несколько месяцев активно подыскиваю себе работу: занимался массовой рассылкой своего резюме, посетил многие ивенты/конференции, побывал в нескольких офисах разных финских геймдев-контор. Коих, к слову, тут довольно много: благо, местная International Game Developers Association (в отличии от родной, украинской) живет, здравствует и собирает народ на халявное пиво раз в месяц. Так вот, я заметил, очень многие компании (вместительностью 10-20 человек) или переходят, или уже перешли на Unity3D.

Изначально статья планировалась как философское размышление на тему баланса что_прогер_пишет/что_игрок_видит, с примесями полезных сниппетов/хинтов по работе с Unity. На самом деле, во время выполнения тестового задания в одну из компаний, ко мне внезапно нагрянула муза написать подобную статью, посему я пока не знаю, что из этого выйдет.

Читать дальше →
Total votes 35: ↑33 and ↓2 +31
Views 18K
Comments 13

Unity3D 4.0 релиз

Development for iOS *Game development *Development for Android *
Только что на почту пришло письмо о том, что Unity3D 4 вышел в релиз.
image

Unity — кроссплатформенный инструмент для разработки 2D и 3D игр.
Новшества:
  • Новая система анимации Mecanim
  • Real-time тени для всех платформ
  • Поддержка DirectX 11
  • Системе частиц добавлен функционал коллизий с миром
  • Добавлено две новые платформы: Adobe Flash и Linux
  • Кроссплатформенные динамические шрифты


Официальная новость с детальным описанием изменений.
Читать дальше →
Total votes 44: ↑40 and ↓4 +36
Views 34K
Comments 44

Разбираемся с шейдерами в Unity3D на конкретном примере

Game development *Unity3D *
Tutorial


Немного теории


Для понимания работы шейдеров, нужно хорошо ориентироваться в том, как видеокарта строит изображение. Общая структура визуализации 3D объекта на экране изображена на рисунке ниже:

Читать дальше →
Total votes 50: ↑43 and ↓7 +36
Views 136K
Comments 11

О подключении самописного Objective-C плагина к игровому движку Unity 3D

Game development *Unity3D *
Sandbox
Tutorial


Доброго всем дня.

Начнем собственно с того что такое Unity 3d В кратце это трехмерный игровой движок. На официальном сайте доступна бесплатная версия, pro версия и версия с возможностью заливать приложения на мобильные платформы уже стоят денег.
Читать дальше →
Total votes 19: ↑15 and ↓4 +11
Views 9.9K
Comments 15

Все самое главное для очередного «убийцы Angry Birds»

Game development *
У меня есть хобби — я разрабатываю мобильные казуальные игры. Поэтому мне часто приходится подвергать анализу хиты из топов Google Play и AppStore, клонировать удачные решения и не допускать чужих ошибок. В результате я выявил у всех самых хитовых игр некоторые сходные черты в геймплее и управлении. В этом посте я изложу свои наблюдения о том, что именно делает игру популярной, и как это лучше реализовать.



1. Геймплей


Главные сходства игрового процесса таких хитов рынка мобильных игр, как Angry Birds, Ninja Jump, FruitNinja, Rope'n'Fly, Doodle Jump — простота и однообразие. Минимум действий и постоянное их повторение.

а) Лёгкость прохождения

Все самые популярные игры крайне легки в прохождении или собственно в самом процессе игры. Эта одна из главных причин их бешеного успеха. Большинство владельцев телефонов и планшетов — обычные люди, они не считают интересным пяток раз на выходных перепройти Марио или Battletoads. Также помните причины, по которым люди играют в мобильные игры. Причины эти — скука и усталость. Люди сидят на работе, на скучных лекциях, едут в метро, и вполне логично у них возникает желание поиграть. Поэтому ни в коем случае нельзя делать огромные сложности в играх — скучающие не получат веселья (девиз Dwarf Fortress «Проигрывать — это весело» здесь не прокатит), а уставшие от сложностей на работе не станут вкладывать кучу сил ещё и в какую-то игрушку.
Подробнее
Total votes 241: ↑213 and ↓28 +185
Views 104K
Comments 92

Использование Photon Cloud в Unity3D

Game development *Unity3D *
Sandbox
В процессе создания своей первой игры на Unity3D я осознал необходимость организации сетевого режима, в котором игроки могли бы калечить компьютерных аватаров своих противников. Если вы раньше не занимались созданием клиент-серверных приложений, не поднимали своих игровых серверов, не желаете вкладывать силы и средства в их установку и поддержку, а хотите просто понять принципы организации мультиплеера и за 15-20 минут модернизировать свой проект так, чтобы с чистой совестью добавить к его названию слово Online, то эта статья для вас.
Читать дальше →
Total votes 9: ↑8 and ↓1 +7
Views 28K
Comments 7

Памятка юнге (набор советов для тех, кто собирается идти в игровую индустрию)

Game development *


Что побудило меня написать это статью?


Первое. Зачем художнику рассказывать о тяготах жизни и о трудном пути, если у него вроде как все хорошо? Во-первых не так уж и хорошо (потому что всегда может быть лучше), а во вторых, для того чтобы идущие следом – не повторяли ошибок, стало быть не тратили свое драгоценное время. Сколько бы нам не было отпущено – все равно на все не хватит. Стоит постараться выделить важные вещи, и опустить незначительные.

Второе. На мой ящик пришло несколько писем с просьбами помочь советом в устройстве в игровую индустрию.

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

Поскольку я кое-что знаю об арте, графическом контенте и других горшочках с дегтем и медом, — излагать буду взгляд в первую очередь на игровую индустрию и поиск работы в ней со своей колокольни. Артовой. Отмечу также, что могу оказаться донельзя субъективным. Насколько мне помешал мой субъективизм – решать вам.

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

Читать дальше →
Total votes 87: ↑78 and ↓9 +69
Views 61K
Comments 26

Wasted Dreams — история забытой игры (статья-пилот из цикла «Истории Игровой Индустрии»)

Game development *


В поисках утраченного ковчега – часть I


Представим, что вы тертый в боях игрок. Старый. Опытный. Человек, которого трудно удивить. Человек, который многое повидал. Человек, который видел Истоки. Каждая новая игра сопровождается вашим скрипом, — «А вот раньше…», «Помню, были времена…», «Детки, то, что вы считаете новым, не более чем хорошо забытое старое, я это видел в 19..». Предположим также, что вы новый Индиана Джонс своего времени, боец невидимого археологического фронта, который каждый божий день пытается отыскать свой Грааль. Грядущее вас интересует мало, настоящее вызывает скепсис, цель ваших поисков – прошлое. Полагаю, что нам с вами, сегодня, по пути.

Почему прошлое? Потому что оттуда с завидным постоянством приходит то, что есть в настоящем и то, что грядет в будущем. Половина, если не большинство гениальных идей «озаряющих» разработчиков сегодня — уже давно сделанные кем-то игры. Все что нужно в этом случае – отряхнуть находку, заново раскрасить и сделать казуальный контроллер, добавив пару новшеств.
Не секрет, что во многих старых играх игроку нашего времени разобраться сложно, да и старый игрок частенько буксует. Общепринятые решения по части удобства использования интерфейсов, привычные схемы ставшие нормой сегодняшнего дня тогда не были реализованы даже в зачатках. Каждая новая игра была, по сути, полностью самостоятельным миром, зачастую без оглядки на других разработчиков. Это было великое время экспериментов, недооцененных потенциалов, игр которые многие до сих пор не могут воссоздать и до сих пор не могут переосмыслить.

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

На глубине временных пластов периода 1999 года моя лопата со звоном ударилась о неизвестный объект. По моим выкладкам в этом секторе не должно было находиться крупных и не изученных игр. Обкопав объект по периметру и сдув пыль там, где она мешала разглядеть символы я увидел… чудо. Это покажется невозможным, но в наш короткий игровой век мы до сих продолжаем находить неизвестные широкой публике работы древних зодчих. Можете представить мое удивление, изумление и благоговейный восторг, когда я увидел игру, созданную в стилистике…


Дать лопате шанс
Total votes 212: ↑199 and ↓13 +186
Views 71K
Comments 121

Spintires — (симулятор грязевиков на Kickstarter) — «тайга, которой нужны ваши крылья»

Game development *


Spintires: The ultimate off-road challenge! — (ссылка на KickStarter)
Демо-верия предлагаемая на KickStarter линк на страничку с демо
Более ранняя демо-версия 2009 года прямой линк
Исходный код демо-версии 2009 года прямой линк

Oovee Game Studios, одна из восходящих звезд Объединенного Королевства вышла на Кикстартер с дебютным проектом «Spintiers». Событие хоть и отмеченное на известном британском новостном ресурсе Rock Paper Shotgun (что уже само по себе говорит за игру), но, к сожалению, не вызвавшее достаточного резонанса среди игроков. Причины могут быть разными и не последняя из них – жанр. Это не гоночный симулятор, не полноценный симулятор дальнобойщика, а симулятор «месителя грязи». По крайней мере, из демо-версии складывается именно такое впечатление. Однако, даже демо-версия намного глубже чем кажется, даже если не проваливаться в колею. Если присмотреться – это отличнейшая база под будущую игру, необычный сеттинг не без изюминок.

А ведь в демо, между прочим, представлен шикарный парк отечественного автомобилестроения. При должном исполнении это может сделать ее своеобразным Сталкером от мира колес. Из чрева железных монстров при переключении коробки передач доносится забористая русская речь, вокруг расстилается живописная тайга, прорезанная линиями разбитых троп и дорог, и ведь елки-палки… все действительно родное, от и до. Как так? В Британии появились поклонники колесного русского духа? Вопрос на миллион долларов.



Что еще можно сказать об этой игре? Перво-наперво то, что Spin Tires не игра, а демонстрация физического движка Havok. Техническая демо-версия, созданная специально для конкурса Havok Physics Innovation Contest.
Особенностями этой демо-версии стало наличие «физичных» покрытий (вода, грязь) и взаимодействие с ними объектов (грузовых и не очень автомобилей), деформация грязевых и водных участков ландшафта в реальном времени, очень красивое и эффектное освещение. Как это часто бывает в случае удачных решений – демо постепенно начало превращаться в игру. Именно с этим демо Oovee Game Studios и обратилась к игрокам, чтобы собрать средства на полноценную игру.

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

Читать дальше →
Total votes 158: ↑147 and ↓11 +136
Views 179K
Comments 136

«Фактура убила текстуру?» — мысли о роли текстур, фактур и материалов в играх

Game development *


Не то чтобы я был диким фанатом консолей, но есть вещи, которые действительно впечатляют. Понятное дело, что консолям нового поколения без впечатляющих пилотов на рынке делать нечего. Речь идет не о Watch Dogs, который тоже заслуживает внимания, как любая песочница с открытым миром, а о Tom Clancy’s The Division анонсированная для PS4 и Xbox One. Картинка (я оцениваю лишь ее) выглядит действительно хорошо. Игры уже давно стремятся быть не играми. Это уже почти кино. Меня мало волнует сейчас вопрос гейм-плея данной игры. Сейчас я просто потребитель, который готов клюнуть на вкусную обертку.

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

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

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



Что я вижу здесь? Для начала посмотрите трейлер и решите, что видите для себя вы. А потом… лопата?


Читать дальше →
Total votes 200: ↑191 and ↓9 +182
Views 117K
Comments 153

Wasted Dreams — еще немного истории одной забытой игры

Game development *
Несколько недель назад, на Хабре освещалась одна очень хорошая, но незаслуженно забытая игра — Wasted Dreams. Тем, кто не знаком с ней, настойчиво рекомендую прочитать сначала ее обзор и описание начала этих исторических раскопок, а затем попробовать настроить эмулятор и самому в нее поиграть. Если вы неравнодушны к играм начала-середины 1990-х, цените красивую пиксельную графику и стиль таких игр, как Another World и Flashback — то есть вероятность, что и Wasted Dreams вам понравится.

В наших исторических изысканиях мы остановились на том, что выяснили, что WD разрабатывали всего два человека — программист Томас Цвиянович (Thomas Cvijanovic) и художник Реймонд Циндрич (Raymond Cindric). Weilard удалось найти Реймонда и сделать с ним короткое интервью, а я постарался восполнить пробел — найти второго героя этой истории и провести интервью с программистом этой замечательной команды.

Разговор получился несколько больше, чем планировался. Мы поговорили о прошлом, о настоящем и будущем. Выяснили (спойлер!), что отныне Wasted Dreams можно распространять свободно и без ограничений. Восстановили часть кусочков, пропущенных в этой истории. Итак, если есть желание — предлагаю…

Окунуться в события 15-летней давности
Total votes 89: ↑88 and ↓1 +87
Views 27K
Comments 26

SDL2: Основы

Programming *C++ *Game development *
Sandbox
К сожалению, даже на официальной вики почти не возможно найти каких либо примеров использования SDL2.x, что уж говорить о рунете. Пытаясь разобраться, я нашел всего лишь пару статей, которые не покрыли и трети моих вопросов.
SDL 2.x существенно отличается от 1.x и даже, если в прошлом вам приходилось с ним работать — теперь вы рискуете ничего не понять.

Сегодня мы напишем простенькую программу выводящую на экран фон и зумируемый спрайт персонажа перемещающегося с помощью WASD и стрелок. + разберемся как в SDL работать с мышкой.
Туториал ТУТ
Total votes 14: ↑12 and ↓2 +10
Views 57K
Comments 7

NPC за 5 минут или немного о создании характеров персонажей

Game development *
Sandbox


Данная статья посвящена основам быстрого создания не игровых персонажей — NPC. Основываясь на типологии, она может быть полезна начинающим Game Masteram и всем, кто интересуется психологией.


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

Помочь решить эту проблему может типология — наука изучающая характеры людей путем выведения их основных типов. Она позволяет, в том числе программными методами, быстро построить реалистичный и целостный характер личности. Ввиду того, что в данной статье поднимается тема только основ характера персонажа, я использовал только самые необходимые классификации типологии, а часть осталось вне статьи.
Читать дальше →
Total votes 56: ↑48 and ↓8 +40
Views 37K
Comments 27

Паттерн конечные автоматы для Ash Entity System фреймворк

Game development *Action Script *
Translation
Tutorial
Два года назад познакомился с замечательнейшим фреймворком для разработки игр на Actionscript Ash (почти сразу после знакомства с ним, пришло понимание, что фреймворк подойдет под любой язык. А еще чуть-чуть позже появились порты фреймворка под другие языки — на момент написания перевода имеется 7 штук). Некоторое время распирало желание поделиться находкой с русскоязычным сообществом, пока меня не опередили переводом на Хабре. Теперь вдогонку хочу выложить перевод касательно реализации почти незаменимого паттерна Finite-State Machine для Ash Entity System фреймворка.
Подробности
Total votes 4: ↑3 and ↓1 +2
Views 7.1K
Comments 1

История создания синематика «Несокрушимые». Часть первая

Plarium corporate blog Game development *
Привет, Хабр! Сегодня у нас есть немного свежезапеченного CG, и мы хотим рассказать тебе о разработке синематика «Несокрушимые» для стратегии «Спарта: Война империй». В первой части статьи о создании этого видео, руководитель Plarium Cinematics Team Вячеслав Лисовский расскажет о работе над анимацией и VFX.


Читать дальше →
Total votes 32: ↑25 and ↓7 +18
Views 15K
Comments 13

Архитектура простой 2D игры на Unity3D. План, факт и работа над ошибками

Development of mobile applications *Game development *Unity3D *
Недавно команда Whistling Kite Framework выпустила в релиз очередную игру, на этот раз — Змейку, написанную на Unity3D. Как и в большинстве игровых проектов, при решении вопроса о том, насколько детально нужно проектировать приложение, критическим фактором было время. В нашем случае причина проста: т.к. разработка велась в свободное от основной работы время, то идеальный подход к проектированию отложил бы релиз ещё на год. Поэтому, составив первоначальное разделение на модули, мы закончили проектирование и приступили к разработке. Под катом описание того, что из этого получилось, а также пара уроков, которые я вынес для себя.


Осторожно, картинки!
Читать дальше →
Total votes 31: ↑25 and ↓6 +19
Views 93K
Comments 27

Первый опыт в игровой разработке. Ошибки и выводы

Game development *Unity3D *
Sandbox
После прочтения одной из статей на Хабре решил заняться разработкой игр для мобильных платформ. Решено было сделать игру для андроида, так как Window Store мне не нравится, a регистрация в Appstore стоит 100$.

Через 10 минут я придумал механику, которую ни у одной игры ещё не видел. По задумке, камера располагалась сверху (Top-down), на персонажа с разных сторон шли враги он автоматически по ним стрелял. От игрока только требовалось перемещать персонажа по экрану, чтобы враги его не задели. Суть игры в том, чтобы набрать как можно больше очков.
Читать дальше →
Total votes 41: ↑23 and ↓18 +5
Views 19K
Comments 24

Разработка игры в 115 кб — хаки, баги и досада

Delphi *Game development *
Sandbox

В начале ноября я участвовал в 115-ом по счете конкурсе сообщества Independent Games Developers Contests (IGDC), темой которого была разработка аркадного шутера с лимитом в 115 килобайт за неделю. Под катом история разработки игры на OpenGL + Free Pascal, эксперименты с LZO, обход багов компилятора FPC для uFMOD, простейшая генерация текстур и досадный баг на видеокартах NVidia, который все испортил.

Видео, бинарник для Windows и исходный код также прилагаются — ищите в конце статьи.
Читать дальше →
Total votes 62: ↑60 and ↓2 +58
Views 39K
Comments 36