NFT-вечеринки и межгалактические танцы в нашем новом кейсе👽👾🦹🏼‍♀️💃🏼

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

NFT-вечеринки и межгалактические танцы в нашем новом кейсе👽👾🦹🏼‍♀️💃🏼

Как-будто ничего сложного и наша наивность🦸🏼‍♀

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

Их субпродуктSensodapp, эдакий маркет метавселенной Sensorium Galaxy, который позволяет создать свой VR-аватар, сминтить его и принимать участие в мероприятиях общего виртуального 3D-пространства. Аватары обладают искусственным интеллектом, а еще их можно кастомизировать и создавать точное виртуальное отображение себя.

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

Наша задача – разработать фронт часть сайта и связать ее с бэком на блокчейне. В итоге мы разработали впечатляющий сайт и платформу для минта NFT. Но обо всем по порядку!

Когда к нам пришел клиент, мы все были очень воодушевлены. Веб-анимации, нфтишки, VR – я в деле. Мы с энтузиазмом начали работать, но затем, впервые за все время работы в Sheverev, возникла мысль, что этот проект мы можем не закончить.

Алексей, руководитель проекта

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

Основная сложность была в том, что не все технологии были нам известны. Но мы в Sheverev думаем так: это жизнь. Живешь ее и сначала не умеешь работать с WebGL, а потом учишься и умеешь.

Обычно WebGL используют для отрисовки трехмерных сцен в браузере, а для более простых анимаций используют CSS или Сanvas API. У нас была сложная задача: наложить на видео эффекты, симплекс-шум и пикселизацию, и всё это заанимировать.

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

В ходе работы мы обнаружили, что аналогичных результатов можно добиться используя svg-фильтры, которые тоже просчитываются на видеокарте. Потом поняли, что они не работают с видео в Safari. Мы рассмотрели несколько библиотек для упрощения работы с WebGL – PixiJS и p5.js, но наткнулись на несколько критических багов и проблем с производительностью. В итоге пришли к тому, что будем использовать чистый WebGL.

Александр, фронтенд разработчик.

В процессе разработки обнаружились проблемы с прозрачностью в Safari – вышло обновление, которое добавило багов в WebGL. Видео с аватарами сначала потеряло прозрачность фона, а потом полностью позеленело. Мы решили эту проблему с помощью дополнительной маски.

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

Заберите этот дедлайн, дайте мне другой 🧯😖

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

Но потом немного забуксовали.

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

Алексей, руководитель проекта

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

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

Делали аватаров по 40 часов ⏰

Как мы делали аватаров: сначала создавали демку, потом засовывали ее в проект. Дальше смотрели, как оно работает. Аватары лично я мог делать неделями – в среднем на каждого уходило часов 40. Это была большая и сложная работа, но она была необходима, чтобы аватаров можно было кастомизировать.

Александр, фронтенд разработчик

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

Аватар – это личная NFT-карточка пользователя: ее можно покупать, продавать, обмениваться с игроками, ну и использовать в других продуктах Сенсориума.
Аватар – это личная NFT-карточка пользователя: ее можно покупать, продавать, обмениваться с игроками, ну и использовать в других продуктах Сенсориума.

А вы как думали – у нас все получилось 👨🏻‍💻

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

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

Михаил, QA-инженер

Проект для нас технически довольно сложный. Мы раньше блокчейн не тестировали, WebGL тоже, привязка оплату через web3-кошелек для нас тоже была в новинку. Зато пользователям удобно пользоваться этой фичей – чтобы приобрести аватара, нужно подключить кошелек MetaMask – один из самых популярных кошельков для WEB3. После чего достаточно зайти на страницу сайта, открыть NFT-креатор и выбрать нужное количество аватаров, хоть одного, хоть пачкой в сто штук.

NFT-вечеринки и межгалактические танцы в нашем новом кейсе👽👾🦹🏼‍♀️💃🏼

Факты

Факт 1: мы теперь можем о себе сказать в духе: «Помогаем стать крипто-миллионерами, продавая пиксельные изображения».

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

Факт 3: у нас есть понятный и согласованный roadmap. На этом этапе есть сайт с NFT-аватарами, реализована возможность купить их и кастомить под себя, чтобы потом использовать в метавселенной.

Факт 4: Закупиться аватарами просто – достаточно подключить кошелек MetaMask и на сайте выбрать тех, которые вам понравились. А их куча-кучная.

Факт 5: В генераторе есть разнообразные возможности кастомизировать аватаров – можно менять им цвет волос и одежды, прическу и аксессуары.

Резюмируем 😎

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

Следите за нашими новостями и читайте нас на VC. Желаем хороших тусовок (а оффлайн уже или онлайн – решать вам)🔥

33
1 комментарий

Нужно продолжение! Интересно, что из этого получится