«Живое слово», наша первая игра|Сломанное старое
Салют!
Итак, отвлечемся от чудовищ и сделаем бросок где-то месяцев на 8 назад, во времена прототипа, и посмотрим на плохо работающий кусок боя и на то, что в последствии превратилось в нормально сделанную смену персонажа и наложение баффа к атаке, который нормально отображается на карте. Показать свежую версию этого безобразия я вам пока не могу по причине «нельзя, все переделывается, нужно чтоб совсем хорошо было». Эх...
Что ж... Иду я дальше кранчить...
Хорошего вам вечера и берегите себя!
(Если что, мы с женой и лучшим другом решили заняться разработкой небольшой jRPG в карточном оформлении (нет, не карточный рогалик, карточное — только оформление :) ) и славянском антураже (когда-нибудь сокращенное название все-таки появится.)
Наша группа VK: https://vk.com/lockongames (тут сразу же публикуется все самое свежее и интересное)
Steam: https://store.steampowered.com/app/2256240/_/ (вняли всем вашим советам. Страничка на реконструкции. Да, все еще :( )
VK Play: https://vkplay.ru/play/game/vividtale/ (эта тоже)
Будем крайне рады всем
Рик и Морти Мультивселенная на Unreal Engine 5
PS: видео длится дольше трех минут.
Видео принадлежит команде разработчиков DESIGNBYFEO.
Ссылка на канал разработчиков https://www.youtube.com/@designbyfeo
Сможете найти на картинке цифру среди букв?
Справились? Тогда попробуйте пройти нашу новую игру на внимательность. Приз — награда в профиль на Пикабу: https://pikabu.ru/link/-oD8sjtmAi
Новый проект Mihanikus Games - Svarog (ранняя стадия разработки)
Автор: Михаил Чебышев
Этот прототип мы сделали втроём за 5 недель.
Всем привет от Mihanikus Games, меня зовут Михаил.
6 января 2022 г. в Steam вышел наш первый проект Midnight Legends - сюжетные аркадные гонки в сеттинге киберпанка.
И сразу после выпуска мы взялись за новый проект, благо на бумаге он уже был готов.
Сварог - это сюжетно ориентированное Action/RPG с видом от третьего лица, в сеттинге славянского фольклора. Разрабатывается на UE5, для ПК и актуальных консолей.
Проект в стадии прототипа, но вы уже сейчас можете его пощупать и написать нам ваш фидбэк по самой игре и по её производительности. Будем очень благодарны.
Ссылка на билд и все подробности в группе вконтакте
Ну и напомню, что из себя представлял наш первый проект который мы сделали вдвоём за 2,5 года. Всем добра!
Please try my game
Доброго времени суток уважаемые геймеры и не только!
Хотелось бы узнать ваше мнение по прототипу моей игры. Идею которой я придумал во время геймджема и понемногу пытаюсь довести её до более или менее похожего на готовый проект состоянии.
В неё можно играть как вдвоём (на одном телефоне), так и в одиночку.
Буду признателен если вы поделитесь своим мнением в комментариях и ответите на несколько вопросов в анкете.
Спасибо большое за внимание!
Тут можно скачать(itch) - https://nerevarin.itch.io/addictionus
Анкета - https://forms.gle/pugHxLMfBzPXpppt8
Новый прототип "Боевые острова"
Всем привет! Большая благодарность, тем кто ставил лайки, дизлайки, писал комментарии и проявлял активность под моим прошлым постом про "3D платформер". Благодаря всем вам я понял, что в таком варианте игра не пойдет. И не потратил пол года моей жизни в пустую )).
Но эти три недели я не прохлаждался, а делал новый прототип. И вот представляю вам демку всех демок. Еще толком ничего не работает, но посмотреть уже есть что ))). Идею новой игры взял с рекламы на телефоне (кстати при переходе как всегда оказалась совсем другая игра, не знаю зачем так делают андроид маркетологи).
Суть игры. Мы плаваем на островке и расширяем его дополнительными платформами, подобрав их в море или отобрав у соперника. На платформы можно устанавливать разные улучшения: лучника, воина, баллисту, здания (лечилка, базар, башни ...) . Суть игры: убить всех врагов или добраться до выхода.
Когда доведу это дело до более играбельного вида, выложу ссылку на несколько уровней.
Эксперименты с персонажем для игры (скетчи)
Немного экспериментировал с формами персонажа для игры, которую делаю с товарищем на коленке в гараже :) Не судите строго, ненастоящий художник.
Финальный набросок:
Некоторые попытки/эксперименты:
Здесь ещё пробовал экспериментировать с формой головы-корпуса. Немного менял принцип работы дрона:
Больше работ и прогресса по игре можете увидеть здесь:
https://twitter.com/CGAleksey
https://www.instagram.com/cgaleksey/
На этом все, всем хороших выходных!
Если вы профи в своем деле — покажите!
Такую задачу поставил Little.Bit пикабушникам. И на его призыв откликнулись PILOTMISHA, MorGott и Lei Radna. Поэтому теперь вы знаете, как сделать игру, скрафтить косплей, написать историю и посадить самолет. А если еще не знаете, то смотрите и учитесь.
Как артист делал оптимальные лазерные лучи
Настало время оптимизации нашей иры-головоломки от первого лица. В посте будет много картинок, видео и НЕ БУДЕТ математики / программирования. Вся "математика" будет описана на пальцах, показаны только общие идеи. Итак, под оптимизацию попали лазерные лучи.
До этого в grayBox мы использовали юнитевский LineRendere.
Достоинства:
- берется из коробки
- гибкий, хорошо подходит для создания прототипа лазерного луча ну или чего вам заблагорассудится
Недостатки:
- работает неоптимально.
Неоптимальность незаметна на одном, 2-х и даже на десяти лучах. Но вот если у вас в игре лазер, который отражается от зеркал, делится на несколько лучей при прохождении через призму, имеет несколько цветов... то тут уже стоит прикинуть сколько +drawCalls накинут сверху только лучи. Ну, у нас могло набегать 4, 8 и даже 30 drawCalls.
Этот пост будет интересен, пожалуй, не программистам/разработчикам игр. Их этим не удивишь, а вот обычынм людям будет интересно посмотреть отдаленно на то, сколько усилий вбивается лишь для того, чтобы в игре были лазерные лучи.
До того как браться за луч, сделал наброски источника лазера и приемника. Свел их по дизайну между собой, ну и с другими элементами. Скетки источника лазера, надеюсь что-то будет понятно.
3/4, сбоку, вразрезе, чтобы моделлер лучше понял конструкцию:
Первые наброски:
Наброски приемника луча:
Работает в целом так: луч попадает в приемник и применик передает сигнал о том, что в него попали. На основе этого разворачивается одна из игровых механик.
Больше скетчей, если интересно, выкладываю сюда:
https://www.instagram.com/cgaleksey/
На https://vk.com/dronesgame пока ничего не выкладываю, но если добавятся больше 1.5 человека XD, то и туда начну скидывать.
По коду.
Почему не взял какой-то готовый плагин. Взял, результат не понравился. Пробовал Vectosity. Вот я, пишу несамый читабельный код. Но код мой и пишу так, что я могу его понять так как проект делаю для себя. А вот создатель Vectosity я бы сказал накрутил каких-то неральных сложностей. В его коде я так и не смог разобраться чтобы устранить баг, который мне мешал. Вот баг, тектсура как-то деформируется или хз что с ней:
Написал разработчику Vectosity чтобы узнать в чем проблема, когда исправит. С его слов это неисправимый косяк GPU. Короче нафиг-нафиг-нафиг... потом буду заикаться от него из-за того что будут вспоминать добрым словом.
Итак поехали. Что нужно:
- система рисования всех лучей на GPU за 1drawCall;
- возможность задавать разные текстуры и прочие параметры лучам.
Для решения этой задачи придется писать код не только на стороне процессора, но и на стороне GPU. Идея такая: рейкастим на пути луча все что видим, отражаем луч от предметов, которые отражаю. В итоге получаем набор координат. Этот набор координа - это начала и концы сегментов лазерного луча.
Этот набор параметров (array) мы подаем в шейдер при генерации меша на GPU.
Так же мы подаем на GPU набор параметров (тоже array): цвет, индек текстуры, толщина луча и всего чего вам еще вздумается.
И да, лучше чтобы эти параметры подавал какой-то менеджер. То есть в менеджер мы подаем какие лучи нарисовать, а он собирает данные и передает их на GPU.
Сам лазерный луч будем рисовать так:
1) на концах луч должен быть светлее так как это выглядит естественно. Используем grayscale-маск текстуру для этого;
2) переход от центра луча к перифирии (цвет и прозрачность) задаются grayscale-маской;
3) ну и добавим какой-нибудь шум, типа cloud и будем анимировать его, чтобы имитировать туман или движение воздуха.
И да, желательно склеить маски и все на свете в одну текстуру, не цари чтобы баиндами разбрасыватья.
Как по точкам на GPU нарисовать линию. Идея такая:
- в шейдере линия имеет вектор направления (начало-конец)
- есть доступ к позиции камеры.
Ну и все, делаем в шейдере сross(lineDir, camDir) и получаем направление вектора толщины линии. Передаем в шейдер параметром толщины и им можем регулировать толщину линии.
На словах все просто, на деле ушло много времени. Вот рисую линии на GPU по координатам:
Как видно, все ровненько и красиво и текстуру не колбасит как на предыдущем видео. И что там за проблемы с GPU у него были... Так можно отрисовать хз как много линий, зависит от того сколько вершин Unity разрешает использовать (если не ошибаюсь). Вроде 65к в последний раз было максималкой, а это куча линий, мне хватит :)
Версия сырого луча и приемника луча:
Это видео с грейбокс-тестов. Ну, бокс как видно, совсем не gray XD Еще здесь нет нормальной градиентной маски на луче. Луч сильно упрощен: (нет тумана, градиент подобран на скорую руку, концы луча не засветлены... короче, артист не занимался тогда еще этим)
Качество графики у нас не такое, на видосе часть прототипа с минимальной графикой и моделями, которые используются только в процессе разработки:
В итоге линия (лазерный луч) выглядит так. Здесь уже все:
- градиенты настроены
- туман пост-процессом наложен поверх полупрозрачного луча
- концы засветлены
- есть немного анимации тумана
- вся отрисовка на стороне GPU за 1 drawCall, красота :)
Надеюсь кому-то пост понравился и кто-то нашел что-то полезное для себя.
Еще раз ссылки на материалы по игре:
https://twitter.com/CGAleksey
https://www.instagram.com/cgaleksey/
Спасибо за внимание :)