Музыку для игры я писал (ну и пишу) сам в FL Studio.
Так... про что же написать...
В целом, мой основной способ создания музыки - делать так, как чувствую! Я самоучка с 2019.
Но, тогда разберу создание на примере треков из игры!
1.Тема меню. Решил сделать "тянучую" мелодию, используя Slap Bass (не помню какой плагин, но какой-то встроенный). Дополнил барабанами из FPC кита. Получилось что-то типо:
Далее, переиспользуем этот мотив чисто ТобиФоксовским методом - где надо, слегка ремиксуем его, меняем инструменты, темп и т.д.. Например, я использовал его для первой локации - Кухни.
Но для второй лок. (Опасные Кухни) уже написал совершенно новый электронный трек (получился какой-то клубняк хах).
Для третьей лок. (Склады).
Но для одной из будущих локаций (Качалка Мутантов) получился даже слегка вдохновляющий и теплый трек вообще с отдельным мотивом (который позже будет использоваться в теме Босса этой локации!)
(Пост про музыку может будет, а может и нет (мне лень.) Сыграйте в игру и послушайте саундтрек оттуда сами.)
ГЛАВНОЕ:
Ура-ура, эта классная игра про психованный помидор (томат, Том, круглик, черри (не), и не редис) наконец увидела свееет... (Нет, пока лишь демка! НО! Полная игра тоже выйдет! С великим сюжетом и прочим. ОООооОООооООО играА, выйдет, даа, великий помидор, я выполню твою просьбу... ООоОооООо оООоооо Я Слышу Голос Овощей ОооООООооООООооОООооооООООооООООооОООООооОоООо)
В опросе прошлого поста победил пункт "Как работает нарезка врагов?".
Ну, пункт про музыку тоже победил, но про это в другой раз. Так что расскажу о нарезке врагов, тема довольна интересная!
Итак, для этой темы я просто использовал бесплатный плагин MeshSlicerFree от Hanzzz!
Нооо, немного теории (совсем немного, так как читателям это наверняка не будеть особо интересно (да и мне лень разбираться во всей этой геометрии))
В инспекторе, в скрипте MeshSlicerTest нужно заполнить:
Slice Plane - плоскость пересечения меша, по которой будет резаться сам меш.
Slice Target - префаб или просто меш (как просто MeshRenderer, так и возможен SkinnedMeshRenderer).
Intersection Material - материал, который будет применен К НОВЫМ ПЛОСКОСТЯМ ПОВЕРХНОСТИ ОТСЕЧЕННЫХ ЧАСТЕЙ НА МЕСТЕ НАРЕЗКИ (не знаю, как описать лучше, но думаю понятно о чем это).
Split Distance - расстояние в float, на которое части разделятся.
При ПКМ по скрипту в меню есть опции нарезки. Slice - для обычных MeshRenderer, Slice Skinned - для SkinnedMeshRenderer. И те же методы, но асинхронные.
Далее при вызове метода нарезки (любого из), выполняется алгоритм поиска 3 точек пересечения плоскости и меша.
Получение 3 точек пересечения плоскости и меша
И PostSliceOperation(), где result.Item1 - первая нарезанная часть, result.Item2 - вторая нарезанная часть.
Здесь кстати видны мои попытки сделать динамическую резку в PlayTime, от которой я позже отказался... ну об этом ниже
(На этом теорию можно закончить, я показал отрывисто и не ВЕСЬ код, это было бы слишком много, а я не уверен, что кто-то дочитал даже до сюда, так что вот так)
ГЛАВНОЕ - как же сделать нарезку? ДИНАМИЧНО какой-нибудь плоскостью, которая бы крутилась при свайпе в разные стороны и резала бы при атаке (так кстати, было раньше).
Или заранее приготовить варианты, но много разных?
Я выбрал второй вариант по нескольким причинам.
Для нарезанного персонажа нужен RagDoll, чтобы врага можно было красиво пинать и т.д., а для динамически созданных частей это сложно реализовать!
Слайсер режет всегда на две части! А в нарезках может случится, что рука, например отделена визуально, НО фактически остается под одним объектом как часть рэгдолла. (именно поэтому я потом отдельно разрезал уже разрезанный меш, чтобы рука отделилась (ну, когда готовил части)!)
У некоторых игроков на слабых компах это могло бы слегка подлагивать (да, даже с асинхронной резкой), неправильно работать и т.д.!
В общем так я заготовил по 4 варианта нарезки на каждого врага и просто спавнил нужную для каждого вида атаки!
(Кстати при резке меши хранятся только на сцене, пока она открыта. Поэтому с помощью скрипта-экспортера мешей я сохранял их отдельно и назначал в инспекторе.)
Что же в итоге...
Эхх, да, вышло не так эпично, как хотелось бы, НО динамическая нарезка еще будет, в некоторых мини-играх и сценах в дальнейшем!
Или же как я психанул, бросил делать унылые веб-казуалки и задумал 3D-экшен про безумный помидор-убийцу с элементами психоделии и хоррора!!!
Но... стоит начать издалека...
****ЛИРИКА****
Как можно понять по Serj Story, мне больше нравится разрабатывать игры с уклоном в сюжет, и желательно необычный и, возможно, даже слегка трешовый!
Поэтому даже в сраные веб-казуалки я старался вписать историю и сделать игру необычной и более-менее качественной, пытаясь ЭТИМ увлечь игрока. (спойлеры: это не работало, потому что школота любит есть роблокс-калл, а не необычные, хоть и казуальные игры с сюжетом. Serj Story я не считаю казуалкой для веба, это более важный и крупный продукт, но это уже другая история...)
Короче, устав от веба я решил наконец попасть в STEAM! Но не с основной разрабатываемой игрой, а более-менее быстрореализуемым (~год/пол-года) проектом. Создав аккаунт разработчика Steam и оплатив взнос (что было слегка геморно), я начал творить!
****КОНЕЦ ЛИРИКИ****
Идея пришла внезапно - однажды я задумался: что, если овощи живые и чувствуют боль при нарезании/варке/запекании? Насколько травмирующе было бы для них лицезреть все это и быть нарезанными/сваренными/запеченными вживую? И что будет, если поменять всех ролями и сделать главными героями банду овощей (революционеров и борцов за свободу), которые бы резали поваров и в целом всех, кто встанет на их пути?! Ну и конечно, по мере прохождения можно будет делать сюжет все более запутанным и мрачным! (ну прям как в OFF!)
Хоть мой любимый жанр - пиксельные JRPG-like игры, пришлось отказаться от него и выбрать что-то вроде 3д динамичного экшен-стелс приключения еще и с элементами паркура. Стиль был выбран фирменный - "пластилиновый" мягкий мир, НО БЕЗ ТЕХ СРАНЫХ LOW-POLY ТОРЧАЩИХ УБОГИХ ПОЛИГОНОВ.
В общем сперва был "вылеплен" главный герой - помидор Том! Получилось что-то вроде пластилиновой капитошки с ножом.
Сойдет для начала...
Примерно так же были созданы и остальные овощи банды!
Для анимации хватило простенького рига (к счастью).
Дальше для первой локации (кухня) были смоделированы простенькие (но со вкусом!) ассеты.
Именно по этим столам и плитам помидор будет бегать от сковородок!
САМОЕ ГЛАВНОЕ - в чем же будет СОК? В ЭПИЧНОЙ НАРЕЗКЕ ВРАГОВ! (спойлер - а чуть позже, на еще более мелкие кусочки!)
Это только начало... МЕСТИ!!!
Ну а также суть в постепенной смене сюжета с бредово-забавного на давящий, страшный и вся эта муть... Ну впрочем, это будет зависеть от восприятия каждого.