Search
Write a publication
Pull to refresh
4
0
Send message

Геймдизайн в жизнь. Экономика игры (Часть II)

Reading time6 min
Views5.4K
Доброго дня!

Немного об авторе: меня зовут Мария, гейм дизайнер. Это третья статья из цикла по применению теории геймдизайна в жизни.

Ссылки:

  1. Первая статья: «Гейм дизайн в жизнь. Пример разбора механики игры»
  2. Вторая статья: «Геймдизайн в жизнь. Экономика игры (Часть I)»

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

Коротко о выявленных проблемах игры:

  1. Мало контента
  2. Профицит валюты/ нет колодца трат
  3. Паки валют – колебания стоимости одной единицы игровой валюты
Читать дальше →

Поднимаем производительность SSD c колен, куда нажимать и зачем

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

Читать дальше →

Поиск пути среди круглых препятствий

Reading time9 min
Views15K

Навигация по лесу


Алгоритм поиска пути A* — это мощный инструмент для быстрой генерации оптимальных путей. Обычно A* демонстрируют при навигации по картам из сеток, но он может использоваться не только для сеток! Он может работать с любыми графами. Можно использовать A* для поиска пути в мире круглых препятствий.


В оригинале статьи все изображения интерактивны.

Как один алгоритм решает обе эти задачи? Давайте начнём с краткого описания того, как работает A*.

Алгоритм A*


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

На каждом шаге алгоритма A* оценивает множество частичных путей и генерирует новые пути, расширяя наиболее многообещающий путь из множества. Для этого A* хранит частичные пути в очереди с приоритетами, отсортированном по приблизительной длине — истинной измеренной длине пути плюс примерное оставшееся расстояние до цели. Это приближение должно быть недооценкой; то есть приближение может быть меньше истинного расстояния, но не больше него. В большинстве задач поиска пути хорошей преуменьшенной оценкой является геометрическое расстояние по прямой от конца частичного пути до конечной точки. Истинный наилучший путь до цели от конца частичного пути может быть длиннее, чем это расстояние по прямой, но не может быть короче.
Читать дальше →

12 принципов анимации в разработке видеоигр

Reading time12 min
Views17K
image

В то время, когда видеоигры ещё находились в эпохе Pac-Man, аниматоры студии Disney Фрэнк Томас и Олли Джонсон перечислили в своей книге 1981 года «The Illusion of Life: Disney Animation» то, что сегодня считается базовыми правилами анимации — 12 основных принципов.

  1. Сжатие и растяжение (Squash & stretch)
  2. Сценичность (Staging)
  3. Подготовка, или упреждение (Anticipation)
  4. Использование компоновок и прямого фазованного движения (Straight ahead & pose to pose)
  5. Сквозное движение (или доводка) и захлест действия (Follow-through & overlapping action)
  6. Смягчение начала и завершения движения (Slow in & slow out)
  7. Дуги (Arcs)
  8. Дополнительное действие (Secondary action)
  9. Привлекательность (Appeal)
  10. Расчёт времени (Timing)
  11. Преувеличение, утрирование (Exaggeration)
  12. Профессиональный рисунок (Solid drawing)

Несмотря на то, что эти фундаментальные основы были придуманы ещё до распространения компьютерной графики и предназначались исключительно для рисуемых от руки двухмерных анимаций, они идеально подошли и к 3D-графике. Хоть связь некоторых из них с интерактивной средой не совсем очевидна, небольшое переосмысление помогает раскрыть их непреходящую ценность.

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

Трассировка лучей на GPU в Unity — Часть 3

Reading time10 min
Views8.4K
[Первая и вторая части.]


Сегодня мы совершим большой скачок. Мы отойдём от исключительно сферических конструкций и бесконечной плоскости, которые трассировали ранее, и добавим треугольники — всю суть современной компьютерной графики, элемент, из которого состоят все виртуальные миры. Если вы хотите продолжить с того, чем мы закончили в прошлый раз, то воспользуйтесь кодом из части 2. Готовый код того, что мы будем делать сегодня, выложен здесь. Давайте приступим!

Треугольники


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

Во-первых, нам нужно иметь возможность определять, пересекает ли луч треугольник, и если да, то в какой точке. Очень популярный (но совершенно точно не единственный) алгоритм для определения пересечений луча с треугольником был предложен в 1997 году джентльменами Томасом Акенин-Меллером и Беном Трембором. Подробно о нём можно прочитать в их статье «Fast, Minimum Storage Ray-Triangle Intersection» здесь.
Читать дальше →

Системы очистки воды обратным осмосом — здорово или не очень?

Reading time9 min
Views183K


Всем привет.

Сегодня я хотел бы поделиться с Вами своим видением систем очистки воды.

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

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

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

Давайте разберёмся.
Читать дальше →

Работаем с Wordstat правильно. Полное руководство

Reading time4 min
Views258K
image

Хабр, привет!

Меня зовут Рушан, и я автор Telegram‑канала Нейрон. Не забудьте поделиться с коллегами или просто с теми, кому интересны такие статьи.

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

Работать мы будем со специальным сервисом по сбору поисковых запросов пользователей Яндекса Вордстатом, интерфейс которого довольно прост и понятен:

image

В начале, по традиции, поставлю цели:

  • Понять весь функционал и научиться работать с Вордстатом;
  • Как правильно собирать семантику с максимальной релевантностью и CTR >50%;
  • Так как мы на Хабре, поработаем с API Wordstat напрямую.
Читать дальше →

Выбор телевизора себе, любимому, с позиции науки, а не рекламы

Reading time4 min
Views122K

Всем привет.

На написание этой небольшой статьи меня натолкнул спор касательно выбора телевизора.

Сейчас в этой области — равно как в «мегапикселях для камер» — царит маркетинговая вакханалия в погоне за разрешениями: HD Ready давно сменились на Full HD, а уже становятся всё более популярными 4К и даже 8К.

Давайте разберёмся — а что нам реально-то нужно?
Читать дальше →

Создание игры Tower Defense в Unity, часть 1

Reading time29 min
Views20K

Поле


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

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

Туториал создавался в Unity 2018.3.0f2.


Поле, готовое к использованию в тайловой игре жанра tower defense.

Игра жанра Tower Defense


Tower defense — это жанр, в которой целью игрока является уничтожение толп врагов, пока они не добрались до своей конечной точки. Игрок выполняет свою цель, строя башни, которые атакуют врагов. У этого жанра очень много вариаций. Мы будем создавать игру с тайловым полем. Враги будут двигаться по полю в сторону своей конечной точки, а игрок будет создавать им препятствия.
Читать дальше →

Музыка для ваших проектов: 12 тематических ресурсов с треками по лицензии Creative Commons

Reading time7 min
Views129K
Подборка пригодится разработчикам, дизайнерам, видеорежиссерам и контент-мейкерам, которые ищут музыку для своих проектов — приложений, игр или видеороликов.

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

Шейдерный эффект дудла

Reading time8 min
Views8.9K
В этом туториале я расскажу о том, как с помощью шейдеров воссоздать популярный спрайтовый эффект дудла в Unity. Если для вашей игры необходим такой стиль, то из этой статьи вы узнаете, как достичь его без отрисовки кучи дополнительных изображений.

Последние несколько лет этот стиль становится всё более популярным и активно используется в таких играх, как GoNNER и Baba is You.


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

На создание этого туториала меня вдохновил успех Doodle Studio 95!.

Массовый исход браузерных игр

Reading time6 min
Views24K
image

Вернёмся 2007 год. В это время появились и получили хорошие отзывы критиков такие игры, как Halo 3, Bioshock, Portal, Call of Duty 4: Modern Warfare и Super Mario Galaxy. В том же году вышло много других выдающихся проектов, поэтому он считается лучшим годом в истории видеоигр. Но не для всех. Некоторым играм требовались достаточно мощные и дорогие компьютеры, а недавно вышедшие консоли продавались по ценам в диапазоне от 249.99 (Nintendo Wii) до 599,99 долларов (PlayStation 3). Для многих игроков возможность поиграть в современные игры была слишком затратной.

Однако в то время рынок видеоигр не заканчивался домашними консолями и мощными компьютерами: с самого зарождения Интернета на сцене стали появляться онлайновые браузерные игры. В такие игры можно было играть на любом компьютере с подключением к Интернету, и большинство из них было бесплатными. В том же 2007 году появились и завоевали популярность такие хорошо известные браузерные игры, как The Last Stand, The Impossible Quiz, Newgrounds Rumble, Pandemic и Trials 2. К сожалению, производитель ПО, необходимого для запуска этих игр, завершил его поддержку. Из-за этого теперь мы не можем играть в сотни и тысячи игр, это уничтожило многие годы разработки игр и игрового контента. Браузерные игры оставили глубокий след в истории видеоигр, но из-за завершения в 2020 году поддержки Flash мы потеряем эту историю и средства, необходимые для её сохранения.
Читать дальше →

Нужно ли чистить строки в JavaScript?

Reading time6 min
Views79K
Что? Строки могут быть «грязными»?

Да, могут.

//.....Какой-то код
console.log(typeof str); // string
console.log(str.length); // 15
console.log(str); // "ччччччччччччччч"

Вы думаете, в этом примере строка занимает 30 байт?

А вот и нет! Она занимает 30 мегабайт!
Читать дальше →

Художественные детские книги про социнжиниринг

Reading time3 min
Views33K


Привет! Я три года назад читал в детском лагере лекцию про социнжиниринг, троллил детей и немного бесил вожатых. В итоге испытуемые спросили, что почитать. Мой дежурный ответ про две книги Митника и две книги Чалдини, вроде, убедителен, но только для примерно восьмиклассника и старше. Если младше — то надо сильно чесать голову.

В общем, ниже — очень короткий список самых обычных художественных произведений. Лёгких, простых, детских. Но про социальную инженерию. Потому что в каждой культуре есть персонаж-джокер, который немного психопат, немного шут и немного эффективный специалист. Список неполный, и я хочу попросить вас его продолжить.
Читать дальше →

Java теперь платная? Развенчиваем слухи (или нет?)

Reading time2 min
Views100K
Уже 2 дня как вступили в силу изменения лицензионной политики Oracle на распространение сборок Java SE. В среде разработчиков-слоупоков (я тоже в их числе) начали носиться кошмарные слухи.

Что произошло


В середине 2018 года Oracle объявил, что собирается изменить лицензионную политику. 16 апреля 2019 года изменение вступило в силу. Теперь все опубликованные после этой даты сборки Java SE можно использовать бесплатно только для личных нужд и с целью разработки. Для использования в коммерческих целях (в том числе для продакшена) надо оформить платную подписку у Oracle.

Что-а-а?


Oracle выстрелил себе в ногу и убивает Java? Нет, не убивает. Нет, не выстрелил. Но проблем халявщикамвсем нам подкинул. Давайте быстро разберемся, что это означает в практическом плане, без этих ваших GPL, BCL, WTF…
Разбираемся в режиме FAQ

Уроки украинского

Reading time7 min
Views117K
Не бросайте чтение, будет не про политику. Язык, как он есть. Краткие заметки для быстрого начала понимания украинского, ну и в конце немного программирования, чтобы уж не совсем оффтоп.

Несколько замечательных особенностей украинского языка.

1. Звательный падеж.

Эта милая сердцу категория была в общем прародителе всех славянских языков, но сейчас осталась рудиментарно. Хотя она и понятна носителю современного русского, возьмите обращение «Друже!». Звательный падеж знаком нам из Библии («Отче наш!», «Врачу, исцелися сам!»), что неудивительно, так как церковнославянский — солунский диалект староболгарского.
Примеры:
Читать дальше →

Дизайн низкополигональных персонажей

Reading time8 min
Views46K
image

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

В своей предыдущей статье How To Make Low Poly Look Good я говорил, что главная цель низкополигонального (low poly) дизайна — донести сообщение через наименьшее количество форм.

Это особенно справедливо, когда вы создаёте низкополигонального персонажа. Нужно рассказать историю, использовав как можно меньше форм.

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



Я буду работать в Blender. В Maya, Max и других 3D-редакторах есть похожие инструменты, так что не беспокойтесь об этом.
Читать дальше →

Unity Package Manager

Reading time5 min
Views26K
Unity — платформа, которая существует довольно давно и постоянно развивается. Однако, работая в ней с несколькими проектами одновременно, все еще можно столкнуться со сложностями в использовании общих исходников (.cs), библиотек (.dll) и остальных ассетов (изображения, звуки, модели, префабы). В этой статье мы расскажем о нашем опыте работы с нативным решением такой проблемы для Unity.

Читать дальше →

Почему не нужно тратить свое время на создание нишевых тематических сайтов

Reading time6 min
Views73K


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

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

Итак, 2011 год, я глупый и наивный парнишка, мой первый тематический сайт!
Читать дальше →

Лабиринты: классификация, генерирование, поиск решений

Reading time44 min
Views93K

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

Классификация лабиринтов


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

Information

Rating
Does not participate
Registered
Activity