Правила создания правдоподобных миров
Достаточно вспомнить географию. Сохраняйте и используйте:
— Одна из частых ошибок — большая река разделяется на несколько маленький. Это в корне неправильно. Маленькие реки впадают в одну большую (хотя очень редко бывают исключения).
— Из озёр течёт только одна река, если она вообще есть.
— Не создавайте реки, соединяющие два побережья и тем более не создавайте исток реки в море.
— Не бывает одиночных гор. Тектоническая или вулканическая активность приводит к формированию горной группы.
— Помните про эффект «дождевой тени»: обычно одна сторона горы покрыта растительностью и там часто идёт дождь, а с другой стороны засуха. Влажностью обычно покрывается та сторона, которая находится ближе к воде.
— Расположение литосферных плит определяет местоположение горных систем. Обычно на стыке плит и образуются горные хребты.
— Поселения чаще всего располагаются рядом с водой.
— Морские порты обычно находятся в заливах или гаванях, где нет сильного ветра и бурных вод.
🔜 Подробнее про эти правила можно почитать в этой статье. В конце приведён список инструментов, которые можно использовать для создания мира
👉 @GameDevgx | #cтатья
Достаточно вспомнить географию. Сохраняйте и используйте:
— Одна из частых ошибок — большая река разделяется на несколько маленький. Это в корне неправильно. Маленькие реки впадают в одну большую (хотя очень редко бывают исключения).
— Из озёр течёт только одна река, если она вообще есть.
— Не создавайте реки, соединяющие два побережья и тем более не создавайте исток реки в море.
— Не бывает одиночных гор. Тектоническая или вулканическая активность приводит к формированию горной группы.
— Помните про эффект «дождевой тени»: обычно одна сторона горы покрыта растительностью и там часто идёт дождь, а с другой стороны засуха. Влажностью обычно покрывается та сторона, которая находится ближе к воде.
— Расположение литосферных плит определяет местоположение горных систем. Обычно на стыке плит и образуются горные хребты.
— Поселения чаще всего располагаются рядом с водой.
— Морские порты обычно находятся в заливах или гаванях, где нет сильного ветра и бурных вод.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍34
This media is not supported in your browser
VIEW IN TELEGRAM
Принцип простой: несколько разнонаправленных рейкастов определяют направление ближайшего коллайдера и корректируют направление движения NPC. Может оказаться полезным, где использование более сложных алгоритмов, как A*, окажется избыточным.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🔥8❤4
Изучаем C# через разработку игр на Unity
Автор: Ферроне Харрисон
Год: 2022
📂 Скачать книгу
👉 @GameDevgx | #книги
Автор: Ферроне Харрисон
Год: 2022
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤3🤯3
This media is not supported in your browser
VIEW IN TELEGRAM
Шейдер закругления мира для Unity
Держите крутой шейдер, который закругляет по краям пространство, имитируя поверхность Земного шара (прям как в Subway Surfers). Для этого требуется небольшая схема в Shader Graph.
🔜 Про принцип создания и работы шейдера автор рассказал в этой статье
👉 @GameDevgx | #tips
Держите крутой шейдер, который закругляет по краям пространство, имитируя поверхность Земного шара (прям как в Subway Surfers). Для этого требуется небольшая схема в Shader Graph.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32👍6❤1😁1
База цветокодировки. Как использовать цвет, чтобы помочь игрокам ориентироваться в игре
Цвет — один из наиболее эффективных способов быстро и легко передавать информацию игрокам. Вот несколько способов, которыми вы можете использовать цвета, чтобы помочь игрокам ориентироваться в игре:
— Ассоциации с цветами: цвета окружают нас в повседневной жизни, и у них уже есть устоявшиеся ассоциации. Например, "красный-зеленый". Зеленый обычно ассоциируется с "успешно", "хорошо", "включено", а красный - с "неудачно", "плохо", "выключено". Кодирование информации с помощью цветов широко используется в интерфейсах.
— Градация цветов: бронза, серебро и золото — это ещё один пример градации цветов. Мы привыкли, что медали спортсменов отмечаются именно такими цветами. Даже без цифр понятно, что золотая медаль лучше, чем серебряная. В играх можно использовать эти цвета для обозначения редкости предметов, что поможет игрокам быстро ориентироваться при продаже.
— Устоявшиеся паттерны: зелёный цвет, например, часто используется для лечащих предметов, синий — для предметов, которые пополняют ману или выносливость, а жёлтый — для предметов, которые повышают защиту или временно увеличивают жизнь. Золотой цвет может ассоциироваться с деньгами.
🔜 Детальнее про эти кодировки и ещё многое другое в этой статье
👉 @GameDevgx | #cтатья
Цвет — один из наиболее эффективных способов быстро и легко передавать информацию игрокам. Вот несколько способов, которыми вы можете использовать цвета, чтобы помочь игрокам ориентироваться в игре:
— Ассоциации с цветами: цвета окружают нас в повседневной жизни, и у них уже есть устоявшиеся ассоциации. Например, "красный-зеленый". Зеленый обычно ассоциируется с "успешно", "хорошо", "включено", а красный - с "неудачно", "плохо", "выключено". Кодирование информации с помощью цветов широко используется в интерфейсах.
— Градация цветов: бронза, серебро и золото — это ещё один пример градации цветов. Мы привыкли, что медали спортсменов отмечаются именно такими цветами. Даже без цифр понятно, что золотая медаль лучше, чем серебряная. В играх можно использовать эти цвета для обозначения редкости предметов, что поможет игрокам быстро ориентироваться при продаже.
— Устоявшиеся паттерны: зелёный цвет, например, часто используется для лечащих предметов, синий — для предметов, которые пополняют ману или выносливость, а жёлтый — для предметов, которые повышают защиту или временно увеличивают жизнь. Золотой цвет может ассоциироваться с деньгами.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥6❤3
This media is not supported in your browser
VIEW IN TELEGRAM
Реддитор показал интересную механику — смесь Teardown и Super Hot
Автор рендерит 3D-модель в объёмный пиксель-арт и добавляет к этому простую физику разрушения от пули. Выглядит уже необычно.
👉 @GameDevgx | #tips
Автор рендерит 3D-модель в объёмный пиксель-арт и добавляет к этому простую физику разрушения от пули. Выглядит уже необычно.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍36❤3🌚1
Оптимизация 3D-игр на Unity
В конце приведён подытоживающий список советов для оптимизации. Вот некоторые из них:
⏩ Если целевая платформа — мобильная, то используйте в кадре не более 200 тысяч вершин (оценка для уровня iPhone 7).
⏩ Используйте Occlusion Culling для снижения видимой области игрового мира.
⏩ Используйте скайбоксы для имитации сильно отдалённых объектов.
⏩ Не забывайте про батчинг.
⏩ Не используйте динамическое освещение без необходимости — чаще запекайте в лайтмапы.
⏩ Используйте «мобильные» эквиваленты шейдеров, если таковые имеются. Из-за их упрощения они работают быстрей.
🔜 Читать статью
👉 @GameDevgx | #cтатья
В конце приведён подытоживающий список советов для оптимизации. Вот некоторые из них:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20❤1
Как создать загрузочный экран между сценами в Unity
Загрузка сцен в Unity может занимать много времени, даже для небольших сцен. Если речь идет о больших и детализированных мирах, то время загрузки может достигать десятков секунд на медленных устройствах. Обычный метод переключения на другую сцену приостанавливает основной поток, останавливая игру и делая ее менее привлекательной.
В этом видео автор объясняет, как создать загрузочный экран с индикатором прогресса загрузки сцены. Это позволит игрокам видеть, сколько времени осталось до того, как они смогут начать играть, и сделает переключение сцен более плавным и привлекательным.
https://youtu.be/QfO11O4pUp8
👉 @GameDevgx | #видео
Загрузка сцен в Unity может занимать много времени, даже для небольших сцен. Если речь идет о больших и детализированных мирах, то время загрузки может достигать десятков секунд на медленных устройствах. Обычный метод переключения на другую сцену приостанавливает основной поток, останавливая игру и делая ее менее привлекательной.
В этом видео автор объясняет, как создать загрузочный экран с индикатором прогресса загрузки сцены. Это позволит игрокам видеть, сколько времени осталось до того, как они смогут начать играть, и сделает переключение сцен более плавным и привлекательным.
https://youtu.be/QfO11O4pUp8
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤3
#screenshotsaturday
Вот и настала очередная суббота, господа! Делитесь в комментариях своими наработками и мыслями!
Всем хороших выходных!
👉 @GameDevgx
Вот и настала очередная суббота, господа! Делитесь в комментариях своими наработками и мыслями!
Всем хороших выходных!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤5
Закулисье Steam. Как продвигать любую игру не затрачивая денег и времени
Также тут рассказывают про участие в фестивалях, A/B тестирование обложек игры и немного затронут тему центра сообщества
🔜 Читать статью
👉 @GameDevgx | #cтатья
Также тут рассказывают про участие в фестивалях, A/B тестирование обложек игры и немного затронут тему центра сообщества
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16😁4❤2
Программирование в Unreal Engine 5 для начинающего игродела. Основы визуального языка Blueprint
Автор: Ольга Максименкова, Никита Веселко
Год: 2023
📂 Скачать книгу
👉 @GameDevgx | #книги
Автор: Ольга Максименкова, Никита Веселко
Год: 2023
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15👍3🌚1🌭1
Держите бесплатный пак конструктора low poly города под CC0
В паке содержится более 32 оптимизированных, универсальных моделей. Есть простые текстуры. Модели доступны в форматах .obj, .fbx и .gltf. И самое главное — вы можете свободно использовать пакет даже в коммерческих проектах.
Кроме того, всего за пару долларов вы можете приобрести дополнительно 16 моделей ассетов или даже исходные файлы (.blend) для полной кастомизации.
🔜 Забрать пак
👉 @GameDevgx | #ресурсы
В паке содержится более 32 оптимизированных, универсальных моделей. Есть простые текстуры. Модели доступны в форматах .obj, .fbx и .gltf. И самое главное — вы можете свободно использовать пакет даже в коммерческих проектах.
Кроме того, всего за пару долларов вы можете приобрести дополнительно 16 моделей ассетов или даже исходные файлы (.blend) для полной кастомизации.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤1
Коротко о балансе в играх
Наверняка вы замечали, как после очередного обновления в соревновательных играх один герой вдруг становится слишком сильным. Или вспоминаете RPG, где одна определенная сборка заметно превосходит все остальные. Всё это — примеры непростой задачи геймдизайна, связанной с балансом
Баланс в играх — это не всегда про справедливость или реализм. На практике он представляет собой совокупность правил и ограничений, которые помогают создать увлекательный игровой процесс. Слишком простой баланс может сделать игру скучной, не оставляя игроку нужды прикладывать усилия. Чрезмерно сложный — приведет к разочарованию и риску потерять интерес к игре.
Видео рассматривает, что такое баланс в играх, какие элементы подлежат балансировке, как и для чего это делается
📹 Cмотреть видео: YouTube
👉 @GameDevgx | #видео
Наверняка вы замечали, как после очередного обновления в соревновательных играх один герой вдруг становится слишком сильным. Или вспоминаете RPG, где одна определенная сборка заметно превосходит все остальные. Всё это — примеры непростой задачи геймдизайна, связанной с балансом
Баланс в играх — это не всегда про справедливость или реализм. На практике он представляет собой совокупность правил и ограничений, которые помогают создать увлекательный игровой процесс. Слишком простой баланс может сделать игру скучной, не оставляя игроку нужды прикладывать усилия. Чрезмерно сложный — приведет к разочарованию и риску потерять интерес к игре.
Видео рассматривает, что такое баланс в играх, какие элементы подлежат балансировке, как и для чего это делается
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤3
#screenshotsaturday
Вот и настала очередная суббота, господа! Делитесь в комментариях своими наработками и мыслями!
Всем хороших выходных!
👉 @GameDevgx
Вот и настала очередная суббота, господа! Делитесь в комментариях своими наработками и мыслями!
Всем хороших выходных!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12
This media is not supported in your browser
VIEW IN TELEGRAM
Добавление простого эффекта Outline в Unity за 60 секунд с использованием специального шейдера и функции рендеринга объекта в URP
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤1🔥1🌚1
This media is not supported in your browser
VIEW IN TELEGRAM
Unity Tutorial: Mouse Parallax
Автор объясняет, как с помощью простого скрипта и настройки объектов в Unity можно создать ощущение глубины, когда слои движутся с разной скоростью в ответ на перемещение мыши. Такой эффект часто используется для оживления пользовательских интерфейсов и 2D-игровых сцен.
🔜 Подробнее можно прочитать здесь
👉 @GameDevgx | #cтатья
Автор объясняет, как с помощью простого скрипта и настройки объектов в Unity можно создать ощущение глубины, когда слои движутся с разной скоростью в ответ на перемещение мыши. Такой эффект часто используется для оживления пользовательских интерфейсов и 2D-игровых сцен.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍30❤5
This media is not supported in your browser
VIEW IN TELEGRAM
Как работает физика в играх 🤔
Основа работы игровой физики, как и игры в целом, является дискретность, то есть разбиение по кадрам. В случае с графикой мы стремимся как можно чаще рисовать кадр, чтобы игра была более плавной. Но в случае с физикой обычно стремятся к фиксированному времени кадра, в угоду стабильности. Обычно обновление физического мира происходит 60 раз в секунду.
На кадре происходит расчет взаимодействия объектов, а затем до следующего кадра все двигается так, как будто нет никаких препятствий.
Уже из этого ограничения вытекают проблемы. Кажется что 1/60 секунды - это довольно маленькое время (17 миллисекунд, если быть точным), однако в мире физики может случиться многое. Например, пуля, летящая сквозь тонкую стенку. Один кадр она с одной стороны стенки, а следующий кадр уже с другой. С точки зрения дискретной физики между ними не было контакта и пуля летит дальше.
Справедливости ради обычно пули так в играх не делают, применяют трассировку луча. Или используют другие подходы в обнаружении столкновений (об этом позже).
Однако это фундаментальное ограничение игровой физики, которое ограничивает точность работы. Нельзя ожидать что физика в играх будет точно такой же как в реальной жизни, и дискретность - это ключевое ограничение.
Для симуляции используются 2 основных подхода, применяющиеся на практике: это физика твердых и мягких тел. Разберем каждый из них.
🔜 Читать подробнее
👉 @GameDevgx | #cтатья
Основа работы игровой физики, как и игры в целом, является дискретность, то есть разбиение по кадрам. В случае с графикой мы стремимся как можно чаще рисовать кадр, чтобы игра была более плавной. Но в случае с физикой обычно стремятся к фиксированному времени кадра, в угоду стабильности. Обычно обновление физического мира происходит 60 раз в секунду.
На кадре происходит расчет взаимодействия объектов, а затем до следующего кадра все двигается так, как будто нет никаких препятствий.
Уже из этого ограничения вытекают проблемы. Кажется что 1/60 секунды - это довольно маленькое время (17 миллисекунд, если быть точным), однако в мире физики может случиться многое. Например, пуля, летящая сквозь тонкую стенку. Один кадр она с одной стороны стенки, а следующий кадр уже с другой. С точки зрения дискретной физики между ними не было контакта и пуля летит дальше.
Справедливости ради обычно пули так в играх не делают, применяют трассировку луча. Или используют другие подходы в обнаружении столкновений (об этом позже).
Однако это фундаментальное ограничение игровой физики, которое ограничивает точность работы. Нельзя ожидать что физика в играх будет точно такой же как в реальной жизни, и дискретность - это ключевое ограничение.
Для симуляции используются 2 основных подхода, применяющиеся на практике: это физика твердых и мягких тел. Разберем каждый из них.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20❤2
Проектирование виртуальных миров. Теория и практика дизайна уровней
Автор: Михаил Кадиков
Год: 2019
📂 Скачать книгу
👉 @GameDevgx | #книги
Автор: Михаил Кадиков
Год: 2019
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17
Hengo — инструмент для визуального программирования в игровом движке Godot
С его помощью пользователи могут разрабатывать скрипты на GDSript, используя метод перетаскивания логических блоков
Автор проекта отмечает, что всё ещё работает над ним, поэтому могу встречаться ошибки. Код проекта доступен на GitHub, а для пользователей опубликовали краткую инструкцию по работе
👉 @GameDevgx | #ресурсы
С его помощью пользователи могут разрабатывать скрипты на GDSript, используя метод перетаскивания логических блоков
Автор проекта отмечает, что всё ещё работает над ним, поэтому могу встречаться ошибки. Код проекта доступен на GitHub, а для пользователей опубликовали краткую инструкцию по работе
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤1🌭1
This media is not supported in your browser
VIEW IN TELEGRAM
Чрезмерное количество вызовов
Debug.Log() может снизить FPS вашей игры Unity в редакторе.Вы можете использовать
Debug.unityLogger, чтобы отключить логи для более плавной работы в редакторе!Please open Telegram to view this post
VIEW IN TELEGRAM
❤23👍3