Setsu

Setsu

пикабушник
пол: мужской
поставил 10598 плюсов и 565 минусов
отредактировал 0 постов
проголосовал за 0 редактирований
93К рейтинг 10К комментариев 89 постов 24 в "горячем"
40

MightyThews (часть третья)

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


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


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

- Художник по текстурам

- Художник по интерфейсам

- Художник по концептам

- Художник по эффектам

- Аниматор

- Ригер персонажей (Человек, который настраивает скелеты под персонажа, контроллеры для него и привязывает персонажа к скелету)

- Программист игровой логики

- Программист интерфейсов

- Программист шейдеров

- Звукорежиссер

- Геймдизайнер

- Левелдизайнер

- Сценарист


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


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

- Моделить

- Левелдизайнить

- Писать сценарий

- Программировать логику

- Геймдизайнить

- Анимировать

(Все что идет далее достаточно легко набрать на ассетах или купить у других)

- Работать с интерфейсом

- Текстурить

- Ригать

- Работать со звуком

- Рисовать гуи

- Работать с эффектами

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


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


Самое главное в 2.5d платформерах - это уровни. К несчастью многие об этом не задумываются, потому что многим важно реализовать персонажа в первую очередь, а уровни якобы нарисуются потом как-нибудь сами.

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


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

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


В общем в итоге я решил что аркада с видом сбоку - это слишком затратное занятие и забросил все на полгода.

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

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

Самое смешное, что с квестом у меня тоже не зашло. Сделать один уровень легко, но развивать историю все же очень сложно. Это неподъемная для меня задача. Да, я очень поздно узнал что не умею в сторилайн.

Для ориентиров при планирования сюжета сделал карту. После от скуки прилепил анимированных камер под заглавную тему из Bulletstorm.

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

Сразу скажу что это не "Канализационное ГТА". Вся карта будет разбита на маленькие уровни.

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

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

MightyThews (часть вторая)

Все наработки из предыдущего поста были сделаны за октябрь-январь 2014-2015 годов.

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

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

В итоге я получил около тридцати процентов фпс сверху. Для телефона вышло где-то на пятнадцать кадров в секундну сверх максимальных шестидесяти.

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

MightyThews (часть вторая) MightyThews, Игры, Gamedev, Unity3d, Видео, Длиннопост

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

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


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

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

И стрельба по глупому аи.

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

MightyThews (часть вторая) MightyThews, Игры, Gamedev, Unity3d, Видео, Длиннопост

Теперь у них есть рагдолы, но при этом они частично падают по анимации.

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

Правда рагдолы тут плохо настроены, видно как им крутит хвосты.


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

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


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

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

А вот тут немного ретро файтинга с музыкой из Alien Soldier.

Завтра покажу к чему все сейчас пришло.


В прошлом посте я сказал что не умею в сторилайн и несколько человек (@devcor, @Koldyr, @mrViRu5) захотели помочь. Чему я, естественно, очень рад. Я собирался вам ответить, но подумал, что будет лучше, если сначала вы увидите конечную итерацию, которая довольно сильно отличается от нынешней.


На сегодня пока всё. Всем мышей.

MightyThews (часть вторая) MightyThews, Игры, Gamedev, Unity3d, Видео, Длиннопост
Показать полностью 3 6
734

MightyThews (часть первая)

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

К осени я бросил потуги доделать игру и решил накодить небольшой платформер. По всем параметрам он должен был оказаться более простым в разработке.

Через полторы недели собрался какой-то начальный функционал:

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

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


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

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


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


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

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


Через какое-то время мне пришла в голову идея системы односложных квестов.

Квесты состояли из нескольких монологов, которые соответствовали состоянию квеста. состояний было четыре:

0 - Мы еще не брали квест.xml

1 - Мы взял квест, но не выполнили условия.xml

2 - Мы взяли квест и выполнили условия.xml

3 - Мы сдали квест.xml

В этом видео показываются все четыре варианта монологов:

Раз квесты готовы, значит пришла очередь боевки.

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


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

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

По сути это был обычный игрок, но с дополнительным логическим контроллером, который нажимал кнопки на основном скрипте.

На этом у меня пока все, остальное выложу завтра.

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

У «Пикабу» будет своя банковская карта, и вы можете выбрать ее уникальный дизайн

У «Пикабу» будет своя банковская карта, и вы можете выбрать ее уникальный дизайн Длиннопост

У каждого большого классного сообщества должны быть свой маскот и свой мерч. А что, если бы еще была своя дебетовая карта с уникальным дизайном? Вместе с «Тинькофф Банком» мы планируем выпустить такую карту — специально для пикабушников.


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


Почему именно «Тинькофф Банк»?

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

У «Пикабу» будет своя банковская карта, и вы можете выбрать ее уникальный дизайн Длиннопост

А кроме плюшек самой карты и уникального дизайна что-то есть?

Есть. От «Тинькофф Банка» вы получите полгода бесплатного обслуживания карты, а от нас — набор пикабушных стикеров с Печенькой (они отлично смотрятся на ноутбуках и чехлах для смартфонов).


Окей, как я могу предложить свой дизайн?

Прислать прямо нам на почту editorial@pikabu.ru. Опишите свою идею словами или нарисуйте, если вам так проще. Умеете рисовать только схематично карандашом на бумаге — сгодится! Словом, предлагайте вашу идею так, как вам удобнее. Главное, чтобы задумка была понятна. Присылая нам свою идею, вы соглашаетесь, что она будет участвовать в конкурсе. А полные правила страшным языком вот тут по ссылке.

У «Пикабу» будет своя банковская карта, и вы можете выбрать ее уникальный дизайн Длиннопост

Но как вы узнаете, по каким идеям рисовать макеты карт?

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


А карту можно предзаказать?

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

У «Пикабу» будет своя банковская карта, и вы можете выбрать ее уникальный дизайн Длиннопост

Но у меня уже есть карта Tinkoff Black. Я в пролете?

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


Ладно, вы меня убедили, предзаказываю. Куда нажимать?

Показать полностью 3
Отличная работа, все прочитано!