Дубликаты не найдены

Похожие посты
1899

Unity предоставляет три месяца бесплатного доступа к Unity Learn Premium в связи с вирусом COVID-19

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

Отличный шанс начать хоть что-то делать, если вы давно хотели начать работать с Unity.

С начала движухи прошло уже больше недели, но как показала практика, мало кто об этом знает.

Так что, вперед!

Unity предоставляет три месяца бесплатного доступа к Unity Learn Premium в связи с вирусом COVID-19 Unity, Unity3d, Gamedev, Халява, Лучшедома
34

Оптимизация Unity проектов

Я не являюсь гуру-профессионалом, но думаю многим начинающим пригодиться эта информация по оптимизации Unity проектов на примере моей игры Last Floor.
Оптимизация Unity проектов Gamedev, Игры, Компьютерные игры, Разработка, Оптимизация, Unity, Steam, Длиннопост

Что будем оптимизировать:


Звуковые файлы

Для звуковых эффектов нужно использовать wav файлы 44кгц, обязательно в моно формате (Или ставить галочку Force To Mono. Для музыкальных треков оставить стерео). Quality лучше всего оставить 100.


Для ускорения загрузки сцены лучше поставить галочку Load In Background, кроме звуков которые воспроизводятся сразу при старте сцены.


Материалы

Тут все просто - меньше материалов в Unity, больше статики и будет больше FPS Игры.


Свет

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


По возможности запекаем свет, на неподвижных объектах должен стоять флаг Static, в некоторых местах можно использовать реалтайм без теней.

Вообще настройка света и отражений в Юнити это тема для отдельной статьи.


Модели

Чем меньше полигонов в модели тем лучше, но так как движок разбивает все на треугольники лучше считать их.

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

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


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

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

Оптимизация Unity проектов Gamedev, Игры, Компьютерные игры, Разработка, Оптимизация, Unity, Steam, Длиннопост

Развертка

Заполнять квадрат текстуры нужно по возможности максимально плотно но при этом оставляя отступы (8-16 пикселей для текстур 2к), чтобы при меньшем размере текстуры не было артефактов.


Одинаковые элементы складывать в кучу и сдвигать на 1 пункт за пределы координат (Это позволит избежать артефактов при запекании Normal и Ambient Oclusion карт).


Текстуры

Следует избегать больщих текстур 8-4к, лучше всего разместить модель на сцене и в редакторе Юнити постепенно уменьшать размер текстуры до появления мыла.


Большинство моделей с хорошей разверткой влезают в текстуру 1-2к без мыла.

Так же нужно упаковать текстуры Metallic и Smoothness в один файл для страндартного рендера. (R-Metallic, G-Пусто, B-Пусто, A-Smoothness). Для рендера HDRP будет другая техника упаковки текстур.


Для уменьшения размера билда используем сжатие CrunchedDX1 для обычных текстур и CrunchedDX5 для текстур с альфаканалом.


Код

Избегайте операций в Update, следите за нагрузкой CPU, пишите хороший код ;)

Оптимизация Unity проектов Gamedev, Игры, Компьютерные игры, Разработка, Оптимизация, Unity, Steam, Длиннопост

Итого у меня получилось:

Размер билда: 586Мб.

Строк кода: 5219

Моделей: 321

Текстур: 512

Звуковых файлов: 122

Музыкальных треков: 5 штук общей длительностью 25 минут.

Площадь локации: 10878 м2


Надеюсь мой опыт поможет вам сделать хорошую игру.


Страница игры в Steam: https://store.steampowered.com/app/1251300/Last_Floor/

Показать полностью 2
282

Как я в армии игру делал

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

Как я в армии игру делал Gamedev, Армия, Unity, Длиннопост

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


- Мы тебя сейчас обучим, а ты в армию уйдёшь. Ты сначала отслужи, а потом приходи.


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

Как я в армии игру делал Gamedev, Армия, Unity, Длиннопост

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


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

Как я в армии игру делал Gamedev, Армия, Unity, Длиннопост

Каким-то образом нужно было все срочно исправить. Уже в части я быстро примкнул к гильдии канцеляров - это был единственный мне известный способ подобраться ко компьютеру в армии. Но меня ждало разочарование.


Гордый, но не сломленный 4 пень, и вечно орущий свинячим голосом каспер, напоминал мне о далёком детстве и о том, что воткнуть сюда Unity (движок для разработки игр) не получится. Почти смерившись с тем, что придётся служить, а не делать игры я узнал о смене командира нашей роты. С новым командиром пришел и новый ноутбук. Наконец! Удача! Правда из - за неудобного расположения ротный всегда мог палить, чем я занимаюсь за ноутбуком. Делать игру нужно было, тогда когда командира не было в роте. Таким временем была ночь, но на ночь канцелярия закрывалась (ключей мне никто не оставлял), помимо этого мне нужен был интернет, а все отобранные телефоны (включая и мой) были сложены в металлический ящик с навесным замком и пластилиновой печатью. Как герою из дешёвого боевика мне нужен был план.


Первое. Пробраться ночью в канцелярию.


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


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

Как я в армии игру делал Gamedev, Армия, Unity, Длиннопост

Ключей разумеется у меня не было, но оказалось, что ручки такого типа (может не только такого типа) легко открываются ножом или отвёрткой. Через щель между косяком (дверным) и непосредственно самой дверью, просовывался нож после чего защёлка ручки задвигалась обратно. Дверь открывалась без ключей.


Второе. Достать телефон.


Для того чтобы установить нужную софтину на ноут, требовался интернет который был заперт в металлическом ящике ( все отобранные смартфоны, убирались в этот ящик). Мне выдавали его каждое утро «Для работы», а вечером я сдавал его обратно. Ящик выглядел примерно следующим образом:

Как я в армии игру делал Gamedev, Армия, Unity, Длиннопост

Только замок был навесным и рядом красовалась пластилиновая печать.

«Дешево и сердито» - как выражался наш ком. роты.


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


Третье. Софт.


Последнее и самое простое - установить нужный софт. В общем мне предстояло загрузить около 1 гб различных программ и файлов. Рассчитывать я мог только на мобильный интернет (другого в нашей части не было) но его скорость не всегда радовала, хорошо ловило только в углу комнаты под потолком. Дневальный стоял на тумбе, я  же стоял в углу тёмной канцелярии на табуретке с телефоном в руках раздающем интернет. Чувствовал себя полным идиотом. К моему разочарованию за одну ночь я не управился. Пришлось все возвращать на свои места и продолжить следующей ночью.


Последнее (как говорят в армии крайнее). Непосредственно сама разработка.


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

Как я в армии игру делал Gamedev, Армия, Unity, Длиннопост

(я был так рад, что сделал фото своей руки)


На самом деле фото было сделано позже. Когда ко мне начали уже относится более лояльно. Мне разрешали не сдавать телефон и оставляли ключи от канцелярии. Времени на разработку стало больше и постепенно мои игры в одержимого разработчика сошли на нет. В общей сложности таким образом я прокрадывался в канцелярию на протяжении 3-х недель. Конечно я понимал, что игре нужно больше чем два часа сонного программиста в сутки, и пользы от этого не много, но у каждого был свой способ отвлечься от армейского идиотизма. Еще через 3 месяца я покинул учебную часть и попал в боевую (во всяком случае мы ее так называли), где также продолжил делать игру, но это уже совсем другая история.


Уже вернувшись из армии я рассказал эту историю другу на что он ответил


- Димон, зато у тебя теперь есть клевая история успеха.

- Да... жаль, только что эта клевая история успеха без успеха.


Как-то так =)  Наверно у каждого есть своя армейская история - это моя.

Спасибо, что дочитали до конца.


Если кому интересно то вот та самая игра


Страница игры в Google Play


https://play.google.com/store/apps/details?id=com.Pryg.Movin...

Показать полностью 5
52

Как сделать турбо-тоннель эффект в Unity с помощью Particle System

Я не знаю, как назвать такой эффект: дыра, пещера, турбо-тоннель, wormhole или, может, пищевод, но результат выглядит так:

Как сделать турбо-тоннель эффект в Unity с помощью Particle System Unity, Туториал, Визуальные эффекты, Gamedev, Разработка, Гифка, Видео, Длиннопост

Для реализации этого эффекта подойдёт практически любой игровой движок: мой первый вариант был сделан ещё на флеше. Здесь же расскажу на примере Unity (Version 2019.2.4f1).

Я добавил такой эффект во вступительном ролике и тизере своей игры про атаку вирусов на иммунную систему «Listeria Wars».

ПОШАГОВАЯ РЕАЛИЗАЦИЯ


Создание сцены


Я использовал 2D темплейт при создании проекта, но можно использовать и 3D. В любом случае понадобится ортографическая проекция в настройках камеры и сплошной чёрный фон.

Как сделать турбо-тоннель эффект в Unity с помощью Particle System Unity, Туториал, Визуальные эффекты, Gamedev, Разработка, Гифка, Видео, Длиннопост

Создание материала


Для Particle System понадобится материал со спрайтом тоннеля. Я нарисовал вот такую картинку, не особо заморачиваясь, так как эффект динамичный и мало кто успеет оценить вашу невероятную детализацию. Но всё, конечно, на ваш вкус. Изначально спрайт был красный, но для динамического цвета стоит перевести его в черно-белый режим.

Как сделать турбо-тоннель эффект в Unity с помощью Particle System Unity, Туториал, Визуальные эффекты, Gamedev, Разработка, Гифка, Видео, Длиннопост

Закидываем наш спрайт в папку для спрайтов в Assets и создаём новый материал Tunnel Wall (создаём папку Materials, по ней кликаем правой кнопкой мыши → Create → Material). В настройках выбираем шейдер Mobile/Particles/Alpha Blended (в старых версиях Unity Particle/Additive). Затем в Particle Texture кликаем по нашему спрайту тоннеля.

Как сделать турбо-тоннель эффект в Unity с помощью Particle System Unity, Туториал, Визуальные эффекты, Gamedev, Разработка, Гифка, Видео, Длиннопост

Добавление основной Particle System


Добавляем в сцену пустой объект и называем Tunnel. В него мы будем помещать все необходимые партиклы и контроллеры. Кликаем правой кнопкой мыши и выбираем Effects → Particle System, который назовём Tunnel Wall по аналогии с именем спрайта. Начинается самое интересное! Настройка и эксперименты.


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


Renderer

* Material: Tunnel Wall;

* Sort Mode: Oldest in Front;

* Max Particle Size: 5 (для возможности увеличения спрайта на размер больше, чем на пол экрана, где 5 — это разрешение экрана * 5).


Основные (Появляются при клике на хедер настроек, если скрыты)

* Start Lifetime 2.5 (Время жизни партикла, так же определяет скорость увеличения);

* Start Speed: 0 (Скорость не нужна);

* Start Size: 100 (Зависит от размера спрайта, выбираем на глаз, регулируем вместе с Size over Lifetime);

* Start Rotation: от 0 до 360 (Выбираем Random Between Two Constants, крутим партиклы как хотим);

* Start Color: Выбираем на вкус, если спрайт Tunnel Wall чёрно-белый. Осторожно, со слегка оранжевым цветом турбо тоннель рискует превратиться в задний проход;

* Gravity modifier: 0.02 (Партиклы будут слегка падать, задаём немного динамики в движении);

* Simulation Space: World (Мы будем двигать точку создания партиклов, чтобы не перемещалась вся конструкция, ставим World);

* Max Particles: 10 (Смотрим итоговое количество партиклов в панели Particle Effect и устанавливаем столько же).


Emission: Rate over Lifetime: 4 (на вкус)


Shape (форма, которая спавнит партиклы)

* Shape: Circle;

* Radius: 0.05 (Чем меньше радиус, тем более ровными получаются стенки. Выбираем на вкус).


Color over Lifetime

* Я выставил такие настройки для плавного появления и менее плавного ухода

Как сделать турбо-тоннель эффект в Unity с помощью Particle System Unity, Туториал, Визуальные эффекты, Gamedev, Разработка, Гифка, Видео, Длиннопост

Size over Lifetime

* Размер должен увеличиваться примерно по экспоненте, но не с самого нуля

Как сделать турбо-тоннель эффект в Unity с помощью Particle System Unity, Туториал, Визуальные эффекты, Gamedev, Разработка, Гифка, Видео, Длиннопост

Результат на текущий момент

Как сделать турбо-тоннель эффект в Unity с помощью Particle System Unity, Туториал, Визуальные эффекты, Gamedev, Разработка, Гифка, Видео, Длиннопост

Другие партиклы


По аналогии я добавил другие частицы в виде клеток и вен. Расписывать подробно не буду, так как работу я проделал примерно аналогичную — настройки отличались лишь слегка. Следует учесть, что частицы должны быть поверх стен. Для этого необходимо задать Order in Layer в Renderer. Ещё я использовал Velocity over Lifetime, с этим тоже можно поиграться. Ну и добавил виньетку. Получилось так:

Как сделать турбо-тоннель эффект в Unity с помощью Particle System Unity, Туториал, Визуальные эффекты, Gamedev, Разработка, Гифка, Видео, Длиннопост

Немного динамики


Простым перемещением объекта Tunnel мы получим нелинейный тоннель. Добавим компонент Mover к Tunnel и удивимся результату

using UnityEngine;
public class Mover: MonoBehaviour {
public float rangeX = 2;
float rangeY = 1.5f;
public float timeDelimiterX = 4f;
public float timeDelimiterY = 3f;
void Update() {
transform.position = new Vector3(
Mathf.SmoothStep(-rangeX, rangeX, Mathf.PingPong(Time.time / timeDelimiterX, 1)),
Mathf.SmoothStep(-rangeY, rangeY, Mathf.PingPong(Time.time / timeDelimiterY, 1)),
0
);
}
}
Как сделать турбо-тоннель эффект в Unity с помощью Particle System Unity, Туториал, Визуальные эффекты, Gamedev, Разработка, Гифка, Видео, Длиннопост

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

using UnityEngine;
public class Colorizer: MonoBehaviour {
public ParticleSystem tunnelWall;
public ParticleSystem cellBig;
public ParticleSystem cellSmall;
public ParticleSystem cellVessel;
void Update() {
Color color = new Color(
Mathf.SmoothStep(1, 0.5f, Mathf.PingPong(Time.time / 10f, 1)),
Mathf.SmoothStep(0, 1, Mathf.PingPong(Time.time / 15f, 1)),
Mathf.SmoothStep(0, 1, Mathf.PingPong(Time.time / 5f, 1))
);
var tunnelWallMainSettings = tunnelWall.main;
tunnelWallMainSettings.startColor = color;
var cellBigMainSettings = cellBig.main;
cellBigMainSettings.startColor = color;
var cellSmallMainSettings = cellSmall.main;
cellSmallMainSettings.startColor = color;
var cellVesselMainSettings = cellVessel.main;
cellVesselMainSettings.startColor = color;
}
}
Как сделать турбо-тоннель эффект в Unity с помощью Particle System Unity, Туториал, Визуальные эффекты, Gamedev, Разработка, Гифка, Видео, Длиннопост

Залипательно!


Весь код и ассеты тут: Github


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


Страница игры в Steam: https://store.steampowered.com/app/1183010/Listeria_Wars/

Добавляйте игру в вишлисты!

Показать полностью 9
6151

Сколько я заработал в Steam за 3 месяца. Подводим итоги

Всем привет. Давно не было новостей, но я не ленился, просто хотелось подвести итоги за определенный промежуток времени. Как многие знают я разработчик-самоучка и я уверен в том, что каждый человек, если захочет, то сможет научиться создавать игры. Учитывая доступность информации в наш век, можно научиться всему имея хоть немного свободного времени и стремление двигаться к своей цели. Моя игра The Story of Henry Bishop вышла на площадке Steam в ноябре 2019. И я подведу итоги за 3 месяца продаж. Все цифры я выложить конечно не смогу, ведь  подписывая соглашение Steam я обязуюсь не разглашать информацию со страниц Steamworks. Поэтому из статистики я смогу показать только количество проданных копий. Но я думаю и так вам станет понятно что к чему.

Сколько я заработал в Steam за 3 месяца. Подводим итоги Steam, Gamedev, Длиннопост, Ужасы, Инди, Видео, Трейлер, Unity

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

Я перевел игру на 7 языков, самым дорогим переводом был Китайский язык, но самое большое число покупок как раз таки было из Китая. Спасибо братьям китайцам. Мне они показались весьма хорошими игроками. 90% их отзывов положительные, они весьма тепло приняли мою игру. Так что, всем кто хочет сделать игру подобного жанра или игру где много текста я рекомендую в обязательном порядке сделать качественный перевод на упрощенный китайский.

Сколько я заработал в Steam за 3 месяца. Подводим итоги Steam, Gamedev, Длиннопост, Ужасы, Инди, Видео, Трейлер, Unity

Как вы видите почти за 3 месяца игру купили 5321 раз, из этого количества покупок следует отнять 14%  возврата. Это не большой процент учитывая то, что у многих моих знакомых разработчиков он бывает куда больше. Основные продажи были во время распродаж и скидок, так что если считать сумму то в среднем эти продажи были со скидкой 25-50% Ничего не  поделаешь, игроки любят скидки. Я сам играю и сам покупаю много чего на скидках, так что это все обычное дело.


Коллекционные карточки

Хотелось бы упомянуть, что на старте выпуска игры Steam не дает возможности выпускать коллекционные карточки, значки, фоны, смайлы. Эта возможность появляется лишь тогда, когда игра превысила определенное количество продаж и запусков игры(так указано в документации). У меня карточки одобрили когда запусков игры было чуть больше 2к, продано копий около 3к. Это на заметку разработчикам. А то я сам искал информацию о карточках и негде и не нашел сколько хоть примерно должно быть.

Сколько я заработал в Steam за 3 месяца. Подводим итоги Steam, Gamedev, Длиннопост, Ужасы, Инди, Видео, Трейлер, Unity

Теперь в игре есть вот такие карты, смайлы и фоны.

Часть дохода.

Небольшой отчет о пожертвованиях как и обещал в своих постах и группе в вк.

За 3 месяца удалось собрать и пожертвовать на лечение детей почти 5000$ что и является 50% от чистой прибыли за игру(после уплаты ндс, процента магазина и налогов).

Почти 4 000$ были переведены в белорусский фонд "Шанс" (очень прозрачный фонд который лично у меня вызывает только доверие)  на лечение 3-х детей. Их имена указаны в чеках. И еще 1000$ отложена на реабилитацию еще одного ребенка и будут переданы родителям в руки лично, чек будет предоставлен немного позже в группе в вк, при оплате лечения. Обращаю внимания, что оплата производилась не RUR, а BYN(белорусские рубли)

Сколько я заработал в Steam за 3 месяца. Подводим итоги Steam, Gamedev, Длиннопост, Ужасы, Инди, Видео, Трейлер, Unity

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


Планы на ближайшее время!!!

В следующем месяце я хочу выпустить не большую игру на Steam в виде головоломки, легкая игра для детей и взрослых с музыкальным сопровождением от DJ Andrew Clam. У меня идея этой игры возникла еще когда я только начал изучать программирования и движок. Я раньше выпускал что то подобное на мобильных платформах и игрокам очень понравилось. Я немного подробнее расскажу об этой игре на днях в новом посте, когда мне одобрят оформленную страницу, что бы сразу предоставить ссылку всем кому она будет интересна. В ней так же будет режим  2 игрока на одном пк.

Сколько я заработал в Steam за 3 месяца. Подводим итоги Steam, Gamedev, Длиннопост, Ужасы, Инди, Видео, Трейлер, Unity
Сколько я заработал в Steam за 3 месяца. Подводим итоги Steam, Gamedev, Длиннопост, Ужасы, Инди, Видео, Трейлер, Unity

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

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



Вот несколько скриншотов с набросками из первой локации по ходу разработки.

О данном проекте я расскажу немного позже, когда будет что показать)

Сколько я заработал в Steam за 3 месяца. Подводим итоги Steam, Gamedev, Длиннопост, Ужасы, Инди, Видео, Трейлер, Unity
Сколько я заработал в Steam за 3 месяца. Подводим итоги Steam, Gamedev, Длиннопост, Ужасы, Инди, Видео, Трейлер, Unity
Сколько я заработал в Steam за 3 месяца. Подводим итоги Steam, Gamedev, Длиннопост, Ужасы, Инди, Видео, Трейлер, Unity
Сколько я заработал в Steam за 3 месяца. Подводим итоги Steam, Gamedev, Длиннопост, Ужасы, Инди, Видео, Трейлер, Unity

В конце поста хотелось бы сказать всем большое !!!СПАСИБО!!! за поддержку. Тем кто купил игру, поддержал словом или советом большое вам спасибо. Благодаря пикабу я узнал что в странах СНГ очень много хороших отзывчивых людей, некоторые мне написали что бы помочь с переводом, кто то помог исправить ошибки в тексте или баг в игре. Кто-то просто оставил хороший отзыв на странице игры в steam с пометкой что он пришел с пикабу. Спасибо вам дорогие друзья!!!


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



Steam The Story Of Henry Bishop

Показать полностью 8
70

Делюсь архитектурным шаблоном (StarterKit) для Unity проектов

Всем привет!


Периодически я пилю тут посты, которые с переменным успехом то набирают плюсы, то набирают минусы)))


Сегодня хочу поделиться шаблоном (в некотором роде "стартеркит") Unity-проекта, подходящего почти для любой игры. Набросал его для одной из инди-команд сообщества "Индикатор".


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

В репозитории (ссылку приведу в конце) используется как собственный код, так и сторонний (NonDrawingGraphic, UIParticleSystem).


Сейчас это шаблон с примером реализации Главного Меню (назову это "Экраном") и появляющегося окна (назову это "Диалогом").

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


Логика следующая - существует главная сцена с контроллерами/менеджерами. "Главный Игровой Контроллер" при загрузке игры (появлении этой сцены при запуске) отображает загрузочный экран (назову это "Прелоадером").

Затем (не реализовано, т.к. это индивидуально для каждого проекта) предполагается чтение/загрузка настроек, конфигураций, файлов-сохранений и пр.

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


Буду очень рад вопросам, критике и советам по улучшению.
Ссылка на репозиторий: https://github.com/DL-SKY/PrototypeForIndicator

Надеюсь, кому-нибудь пригодится.

Удачи и успеха всем в геймдеве!

26

Клон Bomberman на Unity - Часть 3, заключительная

Привет, товарищи!


Совсем забыл, что нужно было выложить заключительную часть роликов!


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

Клон Bomberman на Unity - Часть 3, заключительная Unity, Unity3d, Bomberman, Программирование, Dendy, Туториал, Гифка, Видео, Длиннопост
Показать полностью 2
30

Hold my beer! Часть 13. Новая стартовая локация и ее жители

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

Осталась самая сложная часть работы - квесты :(

Ну и кисонька, а то как же

Hold my beer! Часть 13. Новая стартовая локация и ее жители Unity, Gamedev, Indiedev, Игры, Мобильные игры, Видео
Показать полностью 1
83

Potata, ползком до релиза — что мешает на пути к финалу

Potata, ползком до релиза — что мешает на пути к финалу Gamedev, Инди, Unity, Гифка, Длиннопост

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


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


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


1. Игра не идеальна - смирись

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

Potata, ползком до релиза — что мешает на пути к финалу Gamedev, Инди, Unity, Гифка, Длиннопост

2. Баги были, баги есть, баги будутБаг - страшное слово для любого разработчика. Последние пара тройка месяцев у нас состояла из исправления багов почти на 100 процентов. Но этот зверь бывает неуловим. На старте баги будут - этого почти невозможно избежать, особенно маленькой инди команде. Вопрос только в серьезности этих багов. Мы поставили себе конечную дату(в третий раз) и решили, что исправим максимум сколько сможем к этому числу и выпускаем игру. Иначе можно опять же вернуться к дате релиза «никогда». Само собой сырой продукт это плохо и ата-та, но вернёмся к пункту №1 этой статьи. Неидеальность своей работы в определенной мере нужно принимать.


3. Неуловимые мстители

Особенно «радуют» неуловимые баги. Баги с тегом «срабатывает иногда». Сложно исправить проблему, когда не знаешь что исправлять. Что-то прекрасно работает в эдиторе, а в билде не работает. Что-то срабатывает по непонятным причинам и с неизвестной периодичностью. Один баг исправлен, победа!...Появилось пять новых. Стандартная история для инди разработчика, да и не только.


4. Приоритеты задач

В этой куче багов и исправлений очень важно не утонуть с головой. То,что на часть из этой кучи можно закрыть глаза не исключает того,что большую часть всё-таки нужно исправить и максимально быстро.


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


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


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

Potata, ползком до релиза — что мешает на пути к финалу Gamedev, Инди, Unity, Гифка, Длиннопост

5. Волков бояться — в лес не ходить

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


6. Рост как специалиста. Долгая разработка.

За время разработки мы оба прокачались как специалисты, все таки два года прошло. Это, конечно, здорово, но игра базируется на концепатах двухлетней давности. И новым взглядом смотря на них, хочется сделать по-другому. Опасное желание, которое опять же может здорово оттянуть релиз. Я старалась идти по пути улучшения на базе прошлых наработок, гася в себе желание порушить все старое ради нового. Путь бесконечных переделок ведёт в никуда.


7. Знать все на свете не реально, но я, мечту свою лелея…

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


8. Выгорание

Potata, ползком до релиза — что мешает на пути к финалу Gamedev, Инди, Unity, Гифка, Длиннопост

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


9. Усталость и новые идеи.

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


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

Potata, ползком до релиза — что мешает на пути к финалу Gamedev, Инди, Unity, Гифка, Длиннопост

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


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


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


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


Страница игры в steam: https://store.steampowered.com/app/1044020/Potata_fairy_flower/

Potata, ползком до релиза — что мешает на пути к финалу Gamedev, Инди, Unity, Гифка, Длиннопост
Показать полностью 5
26

Another realm v0.06

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

Предистория (можно пропустить)
Планировать систему магии я начал уже давно, поэтому на её реализацию до нынешнего состояния у меня ушло не больше недели. Учитывая, что я не мог выделять много времени каждый день и то, что не малую часть времени ушло на попытки перейти к системе "разработки через тестирование" (test-driven development), я считаю, что справился весьма не плохо. Я начал чувствовать, что мои знания и навыки как в области геймдева в целом, так и программирования выросли на порядок, с тех пор как я начал разработку. Если кого-то интересует мой опыт разработки через тестирование в юнити и почему я пришёл к заключению, что лучше не использовать данную методику в этом проекте, могу написать об этом отдельный пост.

Компонентная система заклинаний.
Заклинания в мой игре это по сути комбинации различных компонентов, что позволяет создавать невероятное разнообразие заклинаний из небольшого количества компонентов. Так же эту систему можно будет внедрить в геймплей и позволить игрокам создавать собственные заклинания на подобие того, что было в морровинде и two worlds 1/2. Каждый компонент представляет из себя скриптовый объект( далее "со"), имеет свою реализацию функции "выполнить" и настройки которые он использует в этой функции. При использовании заклинания в сцене создаётся (или активируется из пула) объект, который инициирует и запускает заклинание(я называю его spellEngine или движок заклинания). Его задача в том, чтобы инициировать и проследить за выполнением всех компонентов заклинания и уничтожить(или вернуть в пул) все что с ним связано по завершению. Движок раздаёт компонентам ссылки на себя и следующий компонент в очереди и запускает выполнение первого компонента. Так же он запускает любые корутины, о которых его просят компоненты и следит за ними, чтобы знать, когда все компоненты закончили выполнение. Каждый компонент принимает ссылку на заклинателя, цель, начальную и конечную позицию и использует эти данные по своему усмотрению, а в конце выполнения, запускает выполнение следующего компонента и передаёт ему такие же данные. Весь сок в том, что компонент может изменять передаваемые данные, вызывать следующий компонент несколько раз или с задержкой. Например, компонент АОЕ находит все цели в определённом радиусе от цели и запускает следующий(а следовательно и все последующие) для каждой цели. Компонент "повторитель", запускает следующий компонент по той же цели несколько раз с опциональной задержкой. Компонент "снаряд" создаёт физический снаряд или спецэффект, которые летит в сторону цели или следует за ней и в конце передаёт новую позицию, как из начальную следующему компоненту. Компоненты имею опцию быть параллельными. В таком случае они запускают следующий компонент сразу, не дожидаясь окончания своей функции.
На данный момент имеется 5 компонентов: Урон, визуальный эффект, снаряд, повторитель и область действия. Каждый компонент имеет дополнительную настройку, поэтом можно очень быстро создать новые варианты компонентов. Все это создает очень гибкую систему создания заклинаний. Из минусов, разве что, сложность балансировки всевозможных вариантов заклинаний с точки зрения геймплея.
На данный момент в ближайших планах добавить ещё один компонент: "силу" (имеется ввиду термин из физики, force). Данный компонент позволит отбрасывать, притягивать и подкидывать персонажей и другие предметы применяя к ним физическую силу.
Интересно услышать от вас идеи для будущих компонентов. Возможно, что-то мне понравится и я реализую это в игре.

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

Требуются:
-3д моделер
-3д аниматор
-создатель спецэффектов
-создатель интерфейса
-иллюстратор/художник
(можно несколько в одном лице. Опыт и знания не обязательны если у вас есть желание обучаться и вы готовы тратить несколько часов в неделю на проект)

Показать полностью
48

Unferat (пост 3)

Приветствую!

Это третий пост про Unferat - повествование о том, что будет если обиженному на мир пареньку

выдать магический кинжал и возможность поднимать нежить.


Первый пост про игру:  Унферат (пост 1)

Второй прост про игру:  Unferat (пост 2)


Как упоминалось в предыдущих постах, мир игры подчиняется циклу день-ночь в возобновляемой локации без глав и склеек, причем границы которой не так и велики. Назревает вопрос - "куда ведет развитие игры?"

Unferat (пост 3) Игры, Gamedev, Некромант, Unity3d, Видео, Длиннопост

Ответ - вся игра крутится вокруг счетчика убийств; когда погибает селянин - от травника до офицера стражи, игра шагает на некий процент вперед. И когда убийств становится достаточно (а игрок постоянно видит сколько есть и сколько нужно), происходит заранее запрограммированное событие, например:

- Толпа деревенщин движется в сторону вашего логова с факелами и дубинами.

или

- Орден (местные инквизиторы) послали Тортероса Мучителя, который железом и огнем поклялся очистить эти края от скверны!

Игроку не обязательно реагировать на подобные вещи, но их игнорирование может аукнутся в

дальнейшем.

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

алхимического котла, всевидящего шара и даже кровати с гардеробом упадут на ваши по-

некромантски хилые плечи. Насобирали и приготовили много реагентов? Тогда встретьте этих

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

агонии.

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

Тортероса Мучителя.

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

Часть именных персонажей будет приходить во время событий, а часть есть уже на карте изначально, вроде вожака волков, начальника шахты или предводителя бандитов. Убийства же обычных селян с профессией вместо имени (Рыбак, Кузнец, Травник) просто двигают игру дальше по сюжету и мешают деревне развиваться, а развитая деревня - сытые и хорошооснащенные жители.

Unferat (пост 3) Игры, Gamedev, Некромант, Unity3d, Видео, Длиннопост

Темп игры определяется самим игроком, будете много убивать налево и направо, будет приходить много новых и интересных персонажей. Но чтобы в рукавах было полно козырей, нужно постоянно уделять внимание сбору ресурсов, который больше похож на сбор трав в игре Готика, нежели 'убей 8 зайцев чтобы выпала лапка для заклинания'. Причем игроку придется самостоятельно определить где и что нужно собирать. Выброшенные прибоем водоросли на пляже, ядовитые грибы на болотах, а то и под покровом ночи раскопать кладбище возле деревни для получения человеческих останков.


В следующем посте я подробнее остановлюсь на некоторых заклинаниях и инструментах

некроманта. А это очень важный момент в игре, так как моя задача сделать именно ученого

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

цветового спектра и дамажности. =)

Благодарю за прочтение!

Показать полностью 1 1
71

Unferat (пост 2)

Приветствую! Это второй пост по разрабатываемой мной игре Unferat.

Первая часть тут: Унферат (пост 1)

В этот раз я расскажу о системе заклинаний и крафте – двух сферах, неразрывно связанных между собой в мире этой игры.

Unferat (пост 2) Gamedev, Unity3d, Компьютерные игры, Steam, Некромант, Длиннопост

Из серии книг «Забытых Королевств» Р. Сальваторе я позаимствовал систему заклинаний, для сотворения которых нужны реагенты, например кусочек серы для огненного шара. В Unferat каждое заклинание опирается на качество используемого реагента и чем оно выше – тем сильнее будет колдунство. Кости, правильно вываренные в котле, позволят вызвать скелета лучника, вместо обычного скелета, а призванную стаю крыс можно сделать чумной при правильном бальзамировании мышиного хвостика. =)

Как ни странно, эта система близка к кулинарии в играх – у вас есть сырое мясо, пополняющее 10 здоровья, а приготовленное восполнит 25, но для этого надо еще дойти до костра и затратить время на готовку. Это заставит игрока планировать и выбирать между «здесь и сейчас, но слабо» или «обязательно жахнем и не раз! Но потом».

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

Unferat (пост 2) Gamedev, Unity3d, Компьютерные игры, Steam, Некромант, Длиннопост

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

Моей мечтой стало использовать систему начертания рун на экране (Arx Fatalis/Black&White). Но, изрядно помучившись не один день, так и не потянул программный код подобной фичи.

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

Так, перо ворона и сочетание рун Vita Orma Atur позволят вам превратиться в ворона, а в ночные часы сочетание Mort Esta Arde и наличие костей позволят вызвать скелета. Каждая руна имеет англоязычный корень или перевод с латыни, а их сочетания логичны, но подробный перевод настолько грузит текст, что самому читать не интересно.. Пусть магия остается магией! ))

Unferat (пост 2) Gamedev, Unity3d, Компьютерные игры, Steam, Некромант, Длиннопост

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

Unferat (пост 2) Gamedev, Unity3d, Компьютерные игры, Steam, Некромант, Длиннопост

На этом пока все, спасибо за внимание! В следующем посте разберу систему получения опыта и продвижение по сюжету игры.

Показать полностью 3
45

Клон Bomberman на Unity - Часть 2

И снова здравствуйте!

Продолжаем семимильными шагами двигаться в направлении успешного клона древнего Бомбермена на Юнити!

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


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

Клон Bomberman на Unity - Часть 2 Unity, Unity3d, Bomberman, Dendy, Гифка, Видео, Длиннопост
Показать полностью 2
87

Расширяем механику игры. Часть 9

Привет пикабу.

Я тут по вечерам игру делаю и вот подготовил систему квестов. Она примитивная, но мне больше и не требуется.

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

Игра ещё не имеет даже названия, но я обязательно её выпущу)

27

Клон Bomberman на Unity - Часть 1

Привет всем неравнодушным к ретро-играм и программированию!


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

Клон Bomberman на Unity - Часть 1 Unity, Unity3d, Бомбермен, Bomberman, Разработка, Игры, Dendy, Гифка, Видео, Длиннопост
Показать полностью 2
25

Дневник разработки NortheD №5. Связка анимаций, система крафта, квестовая система

Доброго времени суток, пикабушники. Это вступительный абзац для тех, кто видит мои посты впервые. Можете пропустить, если уже знаете, чем мы занимаемся. Мы - маленькая команда энтузиастов, раскиданных по всему СНГ, которые решили запилить свою ламповую атмосферную игру. От нас не стоит ждать топовой графики, наилучшей физики и прочего, свойственного AAA играм. Все увлечены северной тематикой, потому и игра - РПГ про викингов.

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

Первое, что мы успели сделать за достаточно долгий период отсутствия - небольшой мувик с реалтайм окружением, косяками и низкополигональным мечом. За предоставленную нам музыку огромное спасибо Владу (@8vladp)


Связка анимации - комбинирование различных анимацией при движении персонажа. Почему сверху? Показывать анимации на виде от первого лица с ограничителям камеры очень неудобно. Почему так всрато? Использовал неотрегулированный контроллер, на используемом +  виде от первого лица выглядит плавнее и анимации "успевают" за движением персонажа.
Когда нибудь у нас будут свои анимации с блекджеком и шлюхами, а не с Mixamo, тогда все будет как раз под вид от первого лица. (у NPC свои анимации)
(а еще когда-нибудь пикабу научится в гифки больше 800px, но это так, влажные мечтания)

Дневник разработки NortheD №5. Связка анимаций, система крафта, квестовая система Gamedev, Unity3d, Компьютерные игры, Northed, Тег, Видео, Гифка, Длиннопост, Дневник разработки

+ ко всему была нашим кодером @Vitaly12 была написана квестовая система с разветвлениями и выбором

И наконец то, что лежит уже давно -  система крафта, написанная @Vitaly12

Рабочая игровая механика, может уже сойдет для релиза? Собирать можно, крафтить можно, обычная гриндилка..

-- Имеем в инвентаре 5х говна и 3х палки заходим в крафт

Дневник разработки NortheD №5. Связка анимаций, система крафта, квестовая система Gamedev, Unity3d, Компьютерные игры, Northed, Тег, Видео, Гифка, Длиннопост, Дневник разработки

-- 1х Юбисофт стоит 4х говна и 2х палки

-- клацаем на кнопку крафта (UI СКОРО БУДЕТ, Я ОБЕЩАЮ!)

Дневник разработки NortheD №5. Связка анимаций, система крафта, квестовая система Gamedev, Unity3d, Компьютерные игры, Northed, Тег, Видео, Гифка, Длиннопост, Дневник разработки

-- Profit! Имеем в инвентаре 1х говно, 1х палка и 1х Юбисофт

Дневник разработки NortheD №5. Связка анимаций, система крафта, квестовая система Gamedev, Unity3d, Компьютерные игры, Northed, Тег, Видео, Гифка, Длиннопост, Дневник разработки

Чучка не писатель, чукча не UI-дизайнер..


Разработка моя, материалы мои, команда в моем подвале - тег "мое"

Мы в ВК - https://vk.com/northedoff
Мыло для вопросов - dseddiks@gmail.com

Показать полностью 3
413

Рендеринг травы в Unity

Основан на методе описанном тут: https://gist.github.com/sebbbi/a599d7896aa3ad36642145d54459f...


Основная скорость достигается за счет минимизации чтений из памяти в угоду расчету всего что возможно напрямую в шейдере.

26

Дневник разработки 4. Инвентарь, одежда персонажа.

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

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

Крафт - ну.. крафт, что тут сказать. зельеварение и изготовление боеприпасов, улучшение экипировки

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

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

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

+ ко всему немного изменился визуал, тк поменялась система освещения. Нету больше плоских облаков на небе. Их теперь вообще нет. Динамичная смена дня и ночи присутствует в сцене главного меню. (скрины, тк большие гифки не грузятся на пикабу)

Дневник разработки 4. Инвентарь, одежда персонажа. Gamedev, Northed, Игры, Компьютерные игры, Unity3d, Разработка, Длиннопост
Дневник разработки 4. Инвентарь, одежда персонажа. Gamedev, Northed, Игры, Компьютерные игры, Unity3d, Разработка, Длиннопост

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

Больше новостей в нашей группе ВК
- https://vk.com/northedoff

Мыло для контакта
- dseddiks@gmail.com

Показать полностью 2
53

Красивый рендер Low Poly графики в Unity

Здравствуйте, здесь я покажу как настроить рендер в Unity для графики в стиле Low poly. Я уже давно моделил фургончик для проекта, который до сих пор не довел до конца) Его и возьмем. В итоге у нас получится красивый и стильный фургончик)

Красивый рендер Low Poly графики в Unity Gamedev, Длиннопост, Low poly, Игрострой, Blender, Unity, Unity3d

Мне нравится графика в стиле Low Poly, но при стандартных настройках рендера она выглядит ужасно. Я поместил фургончик в сцену, сделал камеру изометрической и поставил так, как мне нравится. Вот что вышло.

Красивый рендер Low Poly графики в Unity Gamedev, Длиннопост, Low poly, Игрострой, Blender, Unity, Unity3d

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

Первым делом поработаем с настройками качества рендера.

Красивый рендер Low Poly графики в Unity Gamedev, Длиннопост, Low poly, Игрострой, Blender, Unity, Unity3d

Идем Edit - Project settings. Открывается окно с настройками проекта. Нас интересуют две вкладки: “Player” и “Quality”.

1)Во вкладке Player мы меняем Color Space на Linear. Почитав руководство на официальном сайте я так и не смог понять в чем различие между Linear и Gamma.

2) Во вкладке “Quality” ставим Levels на Ultra. Просто повышает качество изображения на максимум.

Shadow Resolution на Very High Resolution. Повышает разрешение теней на самый высокий уровень.

Shadow Projection на Close Pit. Касается метода проецирования теней. При этом параметре тени будут лучшего разрешения.


В результате получаем:

Красивый рендер Low Poly графики в Unity Gamedev, Длиннопост, Low poly, Игрострой, Blender, Unity, Unity3d

Далее создаем в сцене два источника света типа “Directional’.

Красивый рендер Low Poly графики в Unity Gamedev, Длиннопост, Low poly, Игрострой, Blender, Unity, Unity3d

Располагаем свет подобным образом.

Первый (front_light) - солнце. Можете менять его положение как вам угодно.

Второй (back_light) нужен чтобы подсветить тени объектов холодным синим цветом. Расположить его желательно противоположно к первому.


1) front_light, так как является солнцем, задаем желтый цвет.

- Intensity (интенсивность) на 1. Можете поиграться с этим параметром. Чем выше, тем ярче светит солнце и наоборот.

- Shadow Type ставим Realtime. Для рендера нам этого будет достаточно. При разработке игр используют чаще mixed, реже - baked.

- Normal Bias лучше ставить в 0. Но иногда при таком значении появляются артефакты. А при слишком высоком значении ребра как будто просвечивают. Так что нужно подбирать на глаз.

2) Для back_light цвет подбираем холодный. Например синий. Только нужно не переборщить. Подбираем интенсивность на глаз. И оставляем его без теней.


В результате:

Красивый рендер Low Poly графики в Unity Gamedev, Длиннопост, Low poly, Игрострой, Blender, Unity, Unity3d

Теперь займемся окружением. Переходим Window - Rendering - Lighting Settings.

Красивый рендер Low Poly графики в Unity Gamedev, Длиннопост, Low poly, Игрострой, Blender, Unity, Unity3d

1) Нужно изменить skybox на обычный монотонный цвет. Для этого в ассетах создаем материал и выбираем шейдер skybox/cubemap. Для него подбираем контрастный основной модели цвет. Для желтого это синий. Во вкладке Lighting добавляем наш материал вместо стандартного Skybox Material.

2) Далее меняем Environment Lighting - Source на Color. И в Ambient Color подбираем приятный цвет на глаз. Я хотел сделать теплую атмосферу для этой сцены и выбрал красноватый.


Результат:

Красивый рендер Low Poly графики в Unity Gamedev, Длиннопост, Low poly, Игрострой, Blender, Unity, Unity3d

И последний шаг - постобработка.

Красивый рендер Low Poly графики в Unity Gamedev, Длиннопост, Low poly, Игрострой, Blender, Unity, Unity3d

1) На Asset Store ищем “Post Processing Stack” скачиваем и импортируем.

2) Далее в ассетах под правой кнопкой мыши добавляем Create - Post-Processing Profile. У меня он называется “test_pikabu”. Это профайлер для настроек обработки. Потом на камере добавляем компонент “Post Processing Behavior”. И в него добавляем наш созданный профайлер.


Нажав на test_pikabu у нас появится окно с настройками в инспекторе.

С этими настройками можно играться бесконечно. Я покажу что выбрал я.

1) Ambient Occlusion. Затенение от окружения. Затеняются те места, куда плохо проходит свет от глобального освещения. Я оставил по дефолту.

2) Bloom. Если в сцене будут яркие цвета - вокруг них появится светящийся ореол. Сильно с этим не нужно перебарщивать. Настроить на глаз

3) Color Grading. Коррекция цвета. Сначала нужно поменять Tonemapper на Filmic.

И дальше играться с настройками температуры, яркости, контрастности и т.д.


На этом все. Можно скринить и показывать) Результат:

Красивый рендер Low Poly графики в Unity Gamedev, Длиннопост, Low poly, Игрострой, Blender, Unity, Unity3d

Я вел паблик Monti blog, но это было нечто хаотичное, психанул и все поудалял. Сейчас же решил основательно им заняться. Расписал стратегию, все как положено) Так что заходите, подписывайтесь. Обещаю, будет интересно)

Ссылка: https://vk.com/monti_blog

Показать полностью 9
106

За кадром создания GTA: Vice City

Скажу честно, я давно (года 2 - 2,5) как уже не геймер, просто надоело, да и наверно работа высасывает так, что не хватает сил и желания во что то играть.
У меня есть не стертые игрушки типа старенькой BF2, CS, CS GO, Far Cry3 - это так схрон на всякий случай. Если и появляется желание, то покататься на танке или полетать на "вертушке" в BF2, но это крайне редко.
Впрочем, я знаю что есть целая лига геймеров и вот я напоролся на одно интересное видео которое Вас возможно заинтересует.
Как создавался GTA: Vice City.


Изготовление Grand Theft Auto: Vice City. Захват движения, голосовые актеры, игровые рендеры и концепт-арт.

В озвучке участвуют: Деннис Хоппер, Гэри Бьюзи, Дэнни Трехо, Луис Гузман и конечно Рэй Лиотта...


Мне это уже не столь интересно, хотя когда вышла игра я в 2002 учился на 3 курсе.
Может Вас заинтересует)).

К Вашему достопочтенному вниманию, игроки!

P.S. Вы хоть скажите, а эти игры в глобальном их мире вообще можно пройти?))
Или так же плюнуть после миссии с ебучими мини вертолетами и грузамииии))
Чем эта игра вообще заканчивается?))

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