Мы сделаем свою GTA. [продолжение, после ОГРОМНОЙ паузы]
Привет, пикабу! Я уже очень давно публиковал информацию о том, что начал разработку GTA VC на движке Unity. И не один, а с небольшой командой. К нам постепенно присоединялись пикабушники. Но по моей вине многие ушли.
Ребята, я публично прошу прощения за долгое отсутствие. Очень много работы, я часто работаю до пяти утра, потом встаю в 10 и снова за работу. Но проект я не забыл. Более того, есть ребята, которые проект не бросили и успешно работают. В этом посте я покажу, что за это время было сделано. Увы, без меня.
Начнём с самого главного. Пикабушник с ником @Sarokuzo, в одного (. ) всё это время собирает карту. Всё начиналось с экспорта родных моделей из VC. Сейчас мы уже готовим всё это дело к использованию в движке Unity. @Sarokuzo, спасибо тебе большое за то, что откликнулся на моё скромное предложение и со всей ответственностью подошел к делу.
Так же огромное спасибо пикабушнику @MichanIV. Он помогает делать красиво =) Благодаря ему у нас потихоньку появляется пользовательский интерфейс (фоновая картинка найдена в интернетах, у нас, пока ещё, не так красиво).
Ещё, некоторое время, с нами работал пикабушник по имени Юра. Я не брал разрешения на деанонимизацию его профиля, поэтому будет просто имя. Главное, чтобы он себя узнал =)Благодаря Юре я сильно продвинулся в понимании работы с анимацией в Unity. Точнее говоря с конвертацией анимации из GTA IV в Unity. Поверьте мне, это очень непростой процесс и до конца мы разобраться так и не смогли, но без него я бы так не продвинулся.
В общем. Ребят, огромное спасибо всем, кто откликался на моё приглашение к сотрудничеству. Вы взяли на себя смелость помочь в создании такого непростого долгостроя =) И ещё раз прошу прощения. Особенно у программистов. Они так и не начали работать из-за того, что я так и не подготовил базовые классы.
А тем, кто меня читает и хочет попрактиковаться в работе с 3D (или 2D) графикой - я буду рад видеть вас в команде разработчиков нашей GTA! Благодаря пикабу мы доведём проект до конца. Я вам обещаю =) А напоследок - мейн скрин:
Откуда у людей столько энтузиазма? Мне подрочить то иногда лень, а тут такое.
могу с шейдерами помочь. как примеры - мои кожа и вода.
Объясните мне, пожалуйста, зачем Вы это делаете? Хотите сказать, что это будет успешнее, чем попытки всяких Rage Team поднять VC на движке GTA 4? Да не смешите..
Или потому, что Unity легко портируется на мобильные платформы? Хах, но мобильная версия уже давно есть. Я - фанат VC, но, на мой взгляд, Вы делаете бесполезную работу. Куда лучше было бы придумать прикольную идею и написать свою игру, на которой могли бы и заработать. Это не взлетит
P90 лишний ибо он разработан в 87-ом, а события игры происходят в 86-ом
Может быть, уже спрашивали, но я не нашел: а как же авторские права? Вы как-то связывались с рокстарами или рассчитываете разобраться по факту? Очень крутая задумка, и не хочется, чтобы она из-за бюрократии погорела
Кстати, я делаю свои маленькие шаги в пути к геймдеву. Я программист. Сейчас изучаю Unity, подтягиваю свой уровень C#. Возможно, я смогу уделять какое-то свободное время, чтобы помогать вам, если такая помощь необходима
Ребята. Кто на меня подписан и ждёт постов по геймдеву - они скоро будут. Отснят курс по созданию 3D игры. Мне нужно запилить себе не сильно позорный Intro в after effects и после этого я начну заливать видео уроки на ютуб, параллельно публикуя тут их в текстовом формате. Спасибо, что остаётесь со мной!
VC одна из моих любимейших игр и самая любимая из всей серии ГТА, я был бы рад увидеть её реинкарнацию, но всё же спрошу - а нафига?
Юнити может дать немного графония, но все модели и текстуры останутся же прежними? Плюс ко всему огромный труд надо приложить, что бы оживить этот город в последствии, дать ему той самой атмосферы. А взамен мы получим динамические тени и шейдерную воду? Цель проекта то какая?
Не совсем всё таки ясно )
Ахренеть, ГТА ВС на современный лад. Харухи услышала мои молитвы.
Ало , здравствуйте , это юнити ?
--Ну как , решили проблему отсутствия возможности загрузкий файлов
--Никакой подгрузки налету, игра сразу грузит 2 гига города в память ?
--Значит и стримингу из вне небывать ?
--И куллинг нормальный отсутствует ?
-Ну мы вроде делали но он ну еще подождите юнити 10
--А как там выгрузка обьектов ?
-ммм ффф так это , ну зачем ?
--И все еще 1 шейдер дает 2-4 дроукола на 1 мать его объект ?
- ну компуктеры то мощные ко ко ко
--И что , все еще пытаются сделать гта ?
- ну школьники хавают , что еще надо ?
p.s. Любой распаковщик IMG архивов,txd editor, deniska sa tools с его импортом по иде и ипл , Mass export скрипт, любой ассет машинок и фпс контроллера (коих тонны) и 1 день времени и ваша гта готова.
всегда хотел сделать свою GTA, первая была GTA3 которую я хотел переделать. Не перековырять на новом движке, а просто переделать.
Проект интересный, я подписался на новости. Жду новых скринов от игры и продвижения. Автору желательно создать группу вконтакте, где будут решаться вопросы, возможно именно там найдутся умельцы и единомышленники своего дела. Каждый внесет свой вклад - физический или моральный, думаю не важно, главное поддержать парней в этом не лёгком деле! Может когда нибудь они и возьмутся за GTA 3 ;)
Добрый день, хотел бы попробовать оказать помощь. Умею PS
Мог бы помочь чем смогу. Владею некоторыми программами 3D моделирования. Пишите https://vk.com/amplif
Друзья как с вами связаться? яб вам помог с 3д моделированием
Впервые слышу про ваш проект, и честно, у меня раздвинулась челюсть от кол-ва работы, что вы проделали и намерены проделать в будущем. И я хочу вам помочь в этом, но это после того как вы познакомите меня с Unity, прежде в нем не работал :D Не пугайтесь такой просьбе, в программировании есть опыт, и даже клятый JavaScript с его тонкостями как-то осилил, если не ошибаюсь в Unity это один из вариантов.
Может нужна еще помощь ? Я бы был рад помочь вам в этом непростом проекте.
Unity это который не дружит с оптимизацией?
круто, молодцы, а скриншоты есть хоть глянуть как выглядит примерно
игра будет платная или бесплатная? оффлайн кампания с миссиями будет? ответьте пожалуйста
Если будет нужен тестер там например. Буду рад помочь. Ну я не просто так от балды предлагаю, я тестером работаю. Игры не тестировал, но хотел бы попробовать) Опыт какой- никакой есть
По личному опыту юнити тормозит на айпаде. Наверно, тормозит и на других платформах.
А как к вам в команду попасть?
Если потребуется помощь с работой над аудио или видео - обращайтесь http://vk.com/alezx311 =)
могу помочь с моделями домов
Иконки радиостанций в стиле гта5 надо?
Рад помочь, владею Фш
Автор, расскажи пожалуйста об оптимизации, lod-ах, детализации.
Сцену сразу в unity собирали?
Кол-во полигонов в юнити?
фпс. Как реализовывали движение автомобилей?
Откуда брали сцену?
Я так понимаю, что вы взялись за данный проект больше для самообучения в процессе работы. Но игра с открытым миром точно лучший выбор? Это же сколько времени уйдёт только на реализацию AI.
Свет чем запекаете? Стандартными средствами Unity?
"и хочет попрактиковаться в работе с 3D" есть немного такое
У вас группа в вк есть?
Анимации из ГТА5 это круто, очень круто. А как дела обстоят с моделями персонажей?
Предлагаю вам свою помощь. Могу рисовать текстуры в сабстенсе, моделить, добавлять детали сконвертированным ассетам, перетекстурить их с более высоким разрешением и качеством. Знаю про Вайс Сити если не всё, то очень многое, кодил миссии в Sanny Builder, извлекаю и запаковываю ресурсы, редактирую карты, параметры, скрипты и другое.
Ребят, вы большие молодцы !! Продолжайте делать то, к чему тянет ваша душа, все равно в итоге все останутся в плюсе: и вы получите огромный опыт в создании игр и в Unity, и обычный пользователь с вашим порождением. Так держать
А чего мелочится , надо приклеить ещё и карту из SA :D
она будет онлайн или мультиплеер? очень бы хотелось чтобы там был хотябы кооп =)
Хочу поучаствовать в данном проекте.
а есть еще скрины?
Если нужны какие-нибудь изображения пиксельные, обращайтесь (ну типа рекламы на билбордах(в игре))
А как будут обстоять дела с саундтеком?
кинул тебе сообщение вконтакте
а иск от Рокстаров ребята не боятся словить?
А у вас есть репозиторий? Не умею делать игры. а на код игры хотелось бы посмортеть. очень интересно.
Ну и с программированием могу помочь! Коли на яве и шарпе умею - надеюсь сгожусь XD
как до сталкера 2 доберетесь, пишите. Я готов помочь материально
Ребят если нужна помощь обращайтесь сам пишу в Unity 3D.
Хотел предложить помочь, почитал комментарии, понял что мой недо-скилл в фотошопе тут вряд ли пригодится :)
Не плохо работаю с 2d. Photoshop в основном. Могу быть полезен?
напиши мне пожалуйста в скайп, я бы хотел присоединиться как программист (плюсы, шарп, джава, веб, тех. вуз - эт касательно опыта) :-)jammik94
А вы планируете в будущем переделывать карту? Даже с продвинутым рендером, постобработкой и другими графическими наворотами она будет ужасно выглядеть. А новые модели домов, мостов, пальм и других объектов могут пригодиться, даже если ваш проект не очень далеко зайдёт. Выйдет неплохое подспорье для глобального мода для ГТА 5 (или ГТА 4). Существующие "HD" карты не сильно отличаются от оригинала, увы.
а что там будет? новая грпюафмка миссии итд?
Тоже в Unity3d делаю игру. Куча проектов в замороженом состоянии оставил, всё из за того что в одного сложно их будет вывезти. Остановился на проекте под Андройд платформу. Сам с GTA VC начинал всё создавать.
За старания +, но вот понравится кому нить поиграть в GTA VC на новом движке? По сути это будет та же самая GTA. Разве что запилить в неё реалистичную физику. HD текстуры.
извините за нескромный вопрос, а плавать можно?
Ну как дела у проекта?
@TonyKOT, а что это, на карте, такое интересненькое?
Ребят, увидел проект, был несказанно рад! Успехов Вам, и ждем игру с огромным нетерпеньем. а где можно посмотреть хотя бы превьюшки? и есть канал в ютубе?
насчет фоновой картинки, это из видео о переносе города Вайс Сити на ГТА 5
на работе сейчас есть куча свободного времени, тоже ничего особо не умею и быстро обучаем. если есть какие-то не сильно замысловатые, но обреминительные по времени процессы - мог бы помочь.
Теперь народ требует роликов на типа спидпаинта :))))
Ну Unity конечно дрянь та еще.
непонятно зачем всё это вообще нужно
а какая цель проекта? уже есть неповторимая Vice city, вы хотите сделать тупо ее клон на юнити?
А зачем Вам делать очередной безликий клон великой серии? Никто не сделает лучше, чем Рокстар. Даже до их уровня не дотянут. Вы талантливые парни, придумайте свою идею и вперёд! ГТА-удел Рокстар.
Ребят, я вообще всегда "за" инди-игрострой, если это не два-д кака и не клон весёлой фермы, и с радостью бы сыграл в ваше творение в своё время, но у меня один весьма важный вопрос: зачем?
Немного не понятно. Вы делаете новую GTA в стиле 80ых ? Или тупо копируете старую игру на новый движок?
Хотелось бы помогать с разработкой сюжета, заданий, персонажей.
Я уточню, она будет играбельна аки ГТА 5?
Молодцы, а Unity, я так понимаю — для красоты?
И, наверное, было бы интересно сделать игру всё-таки про Россию, и, даже, Россию 90-х.
Хотя, конечно, вашу публику я не знаю.
Ползу в направлении мечты. Пост № 9
Всем привет, дорогие Пикабушники. Прошел еще месяц и как обещала, выкладываю видео игры, которая получилась по итогу. Это не полноценная игра, это проект, который я делала, обучаясь на Udemy. Вот само видео, после него будет небольшой обзор самого курса и того, чему научилась, ну и планы на будущее.
И так, курс скажу я не плохой, но и не отличный. Он очень поверхностный с одной стороны, но с другой, если это самое начало, и ты ничего не умеешь, то этот курс “для скелета” очень даже подойдет. Но, конечно, необходимо будет изучать Unity дальше, более углубленно, чтобы использовать в будущем правильные вещи в игре. Мне повезло еще в том, что у меня имеется очень хороший наставник, который мне объяснял какие вещи, например лучше не использовать, хотя они указаны в курсе, т.к. они, например жрут много ресурсов, памяти или медленные и т.д. Ну и давал дополнительные какие то задания, вот тут и начинается настоящее обучение, когда делаешь сам, а не просто повторяешь всё по курсу. Еще в этом курсе много багов, которые автор даже убирает в каких-то уроках, но на самом деле они остаются. Как например двойной прыжок. То решение, которое он показывает, на самом деле не решает эту проблему. Но как я и говорила, курс очень поверхностный, и автор сам этого не скрывает. Из плюсов, дополнительно, автор показывает еще и мобильное управление, это не плохо.
И так, в этом курсе я поняла, как работать с камерой, создавать персонажа, как работать с ассетами, даже как делать анимацию (не глобально, конечно) но что-то про анимировать по мелочи могу. Управление персонажем: бег, ходьба, прыжки, боевка, работа с врагами, их движения, атака, преследование персонажа, работа с префабами, как добавлять музыку и определенные звуки, работа со сценами, менюшками, какие-то взаимодействия в игре. В общем, считаю, что у меня появилась не плохая база. Которую я могу уже перенести на свой проект, и уже на своем проекте изучать Юнити более углубленно. Думаю, в этом плане уже хорошо будут помогать книги по Unity.
Теперь, после окончания этого курса, считаю, что можно больше времени уделять и С#. До этого основной упор был на Юньку. НО! Для тех, кто только начинает или собирается начинать, мой совет, в начале изучаете С#, просто основы, а потом уже переходите в Unity. Иначе у вас будет каша и вы вообще не будете понимать, чтобы пишите.
И так, мои планы. Наверное, в начале апреля хорошо займусь С#, а после начну свой проект и параллельно уже буду более углубленно изучать и шарп, и юньку. Свой проект тоже хочется создать уже по нормальному, поэтому еще немного времени уделю на геймдизайну и левелдизайну. Что бы понимать, что это вообще за верь и было более полное понимание своего проекта. Всё-таки это потом будет мой карточкой. В которую я скорее всего загляну в будущем и буду удивляться, какую же чушь я раньше писала в коде)))
Если у кого то в процессе обучения появились какие то вопросы, то можете писать мне в телеграмм, группа @annaleeplay Она у меня больше по играм, но возможно совмещу ее с обучением с геймдевом.
Всем хорошего вечера.
Недельный геймдев: #62 — 20 марта, 2022
Из новостей: Microsoft предоставила публичный доступ к API DirectStorage на ПК, AMD представила технологию суперсэмплинга FSR 2.0, разработчики Shovel Knight выложили игровые спрайты в открытый доступ по лицензии CC BY-NC 4.0, Unity выкатила новую версию DOTS и ECS 0.50.
Из интересностей: арт-директор Journey описал эстетику игры, здоровенная документалка про Black Mesa от Noclip, о том как Armature Studio перенесла Resident Evil 4 в VR с помощью Unreal Engine.
Обновления/релизы/новости
Microsoft предоставила публичный доступ к API DirectStorage на ПК
Ранее технологию могли опробовать участники developer preview, теперь же все желающие. DirectStorage ускорит загрузки в играх при использовании NVMe SSD.
Кроме того, AMD объявила о поддержке DirectStorage на своём железе.
AMD представила технологию суперсэмплинга FSR 2.0 с темпоральным апскейлингом
В новой версии используется цвет, глубина и векторы движения из прошлых кадров, что позволит получить высокое качество изображения.
Разработчики Shovel Knight выложили игровые спрайты в открытый доступ по лицензии CC BY-NC 4.0
Гигабайт красоты. Там фоны, эффекты, анимации и прочее.
Об этом разработчики сообщили в последнем обновлении. Всё это дело можно скачать с файлообменника.
Unity выкатила новую версию DOTS и ECS 0.50. С прошлого релиза почти год прошёл
Про все изменения лучше на форуме почитать.
- Совместимо с 2020 LTS.
- Совместимость с 2021 LTS будет во 2 квартале 2022 с версии 0.51.
- Версия 1.0 с ключевыми изменениями и поддержкой 2022 Tech Stream будет позже.
Недавно прошёл митап для сообщества движка. Ссылки на все доклады и сессии собраны на этой странице.
Новый движок SHMUP Creator для создания shoot ’em up игр
Работает под Windows, собирать можно тоже только под эту платформу (пока).
Приобрести можно в Steam.
Quixel анонсировала Neo-Baroque Modular Building Vol. 2
Новая коллекция включает 20 ассетов, 2 рендера и 2 референса. Команда Quixel каждый день добавляет в эту коллекцию новые ассеты: модульную крышу здания, окна, стены, фундаментные стены, заблокированные окна, двери, отделку пола и колонны.
Rust GameDev дайджест: #31 — февраль 2022
Всё самое интересное в геймдев сообществе Rust за февраль.
Халява/раздачи/бандлы/курсы
Бесплатное дополнение Blender BagaPie V6
Обновление добавляет новые генераторы для архитектурных ассетов, включая лестницы, перекрытия, балки, трубы и колонны; плюс поддержка прокси и куллинг камеры.
Интересные статьи/видео
Арт-директор Journey описал эстетику игры
Мэтт Нава написал тред, в котором сравнил ранние концепты с изображениями из финальной версии игры. Интересно понаблюдать за тем, как эстетика Journey и стремительный игровой процесс трансформировались во время разработки.
Здоровенная документалка про Black Mesa от Noclip
Разговор с Crowbar Collective про 16-летнее путешествие по перестройке оригинальнго Half-Life.
Краткую выжимку можно почитать на DTF.
Создание постапокалиптического города в Substance 3D Painter и Unreal Engine 4
Цзыи Ян рассказал о работе над проектом Paradise, поделился основной техникой моделирования, используемой в нём, и рассказал о важности планирования наперёд.
Урок: рисуем светотень на примере сфер
Корейский преподаватель и художник Сhimmuksonyeo на примере сферы показывает, как рисовать светотень и придавать объектам объем. Бонусом — сфера из стекла.
Final Fantasy VII: The First Soldier сочетает в себе элементы ролевой игры и королевской битвы
Учитывая, что игра предназначена для мобильных устройств, динамичный экшн, многочисленные визуальные эффекты и консольная графика The First Soldier впечатляют. Но как все это возможно на телефоне? Команда Epic Games поговорила с продюсером Square Enix Шоичи Итикавой о том, как команда использовала Unreal Engine для создания игры и оптимизировала её для телефонов.
Делаем траву в Unity при помощи GPU Instancing
Автор решил поделиться некоторым опытом по оптимизации с использованием GPU Instancing.
Flappy Bird и успех в гиперказуальных игр
В докладе с GDC 2019 Дэвид Фокс из Double Coconut приоткрывает завесу над гиперказуальными играми, рассказывает, как всё это работает на самом деле и где качество действительно имеет значение.
Чек-лист начинающего арт-директора: как организовать работу арт-отдела от малых до распределенных команд
Глубокое погружение: как Astroneer набрал 8 миллионов игроков
Разработчики в блоге раскрыли всевозможные сочные цифры, собранные после 5 лет активной разработки игры.
Как Armature Studio перенесла Resident Evil 4 в VR с помощью Unreal Engine
Команда Epic Games поговорила со старшим продюсером Томом Айви о том, как Armature Studio воссоздала Resident Evil 4 на Unreal Engine, от полного воссоздания ресурсов оригинальной игры до точной настройки каждого аспекта игрового процесса и достижения идеального баланса между верностью классике и созданием опыта в VR.
Как рисовать складки на ткани
Smirnov School рассказали, как формируются складки, каких видов они бывают и как их рисовать.
Как питчить игру для PlayStation
PlayStation Indies показала, как отправить свою игру на рассмотрение в качестве партнёра и опубликовать её в магазине PlayStation.
Улучшайте свою игру с Burst 1.7
В Burst 1.7 команда Unity продолжила тенденцию по улучшению технологии, сосредоточившись на сокращении времени итерации. О чём речь? Вы вносите изменения в C# скрипт, снова переключаетесь в редактор, ждёте завершения компиляции скрипта, ждёте завершения компиляции Burst, а затем входите в режим воспроизведения, чтобы проверить своё изменение. В новой версии существенно сократили время ожидания Burst.
Про аллокации памяти
Хороший тред в Твиттере про выделение памяти, работу с указателями в C++ от Себастьяна Аалтонена, инженера Unity (ранее работал в Ubisoft).
6000$ на рекламное агентство и рекламу своей игры на Kickstarter. Стоило ли?
Разработчик рассказал о том, как для своей KS кампании нанял агенство. Приведены конкретные числа и результаты.
Гусеница на Unity за 5 минут
Для начала нам нужна модель. Делать её будем в программе Blender. Для начала, просто смоделируем сегмент гусеницы.
Далее, строим из сегментов что-то вроде колеса.
Теперь можно собирать гусеницу нужного нам размера.
Добавим заглушки по бокам, для внешнего вида.
Начнем делать анимацию. Выбираем объект и создаем два ключа, первый отвечает за нормальное состояние, второй управляет анимацией. У второго ключа выставляем значение 1.
Когда ключ анимации выставлен на 1, заходим в режим редактирования и смещаем сегменты по кругу. Для удобства дублируем гусеницу чтобы точно знать положения сегментов.
Двигаем на 2 сегмента вперед и с помощью инструмента "магнит" подгонял вершины на свои места.
Готово. С моделью мы закончили, можно также сделать текстуру или просто материал. Переносим в движок и напишем небольшой скрипт.
После импорта модели, в инспекторе объекта должен появиться Skinned Mesh Renderer. В вкладке BlendShapes находится нужный нам ключ, к нему мы и будем обращаться в скрипте.
Небольшой скрипт для управления анимации, её скорость будет зависеть от скорости самой гусеницы в игре, также как и направление анимации.
Если запустить игру и подвигать гусеницу мышкой, анимация будет работать. Ниже видно что анимация будто проскальзывает,и смотреть на это не совсем комфортно.
Так как длина сегмента гусеницы у меня равна 0.25, а двигаем мы на 2 сегмента(0.25 * 2 = 0,5) при значении ключа 1, нужно умножить магнитуду вектора движение на 2. Таким образом 1 метр анимации будет равен 1 метру передвижения в Unity.
Просто умножаем магнитуду вектора движения на 2.
Теперь все работает идеально
Таким способом можно создавать анимацию разных видов гусениц, колес.
Трейлер ретро игры ASCIILL - что подправить?
Привет ребята! Сделал трейлер своей игры для Стима и нужен совет. Что подправить? Что добавить? Буду рад любым мыслям. Спасибо!
Волк, предпочитающий самоубийство съедению овцы
Автор перевода: PatientZero
В 2019 году два студента китайского университета выполняли проект с ИИ, представлявший собой простую игру «волки против овец». Старший участник команды, учащийся в Китае гражданин Таиланда, после выпуска из университета переехал работать в Австралию, поэтому проект оказался заброшенным.
Младший участник команды начал преподавать. В марте 2021 года он рассказал в переписке одному своему студенту о результатах эксперимента. Студента так развеселила эта история, что он сделал скриншот текста и разослал его своим друзьям.
Эти скриншоты стали виральными в китайских соцсетях и породили небольшую сенсацию.
Лучше смерть от камня, чем поимка овцы
Игра была простой. Компьютер случайным образом располагал на игровом поле двух волков и шесть овец. Волкам нужно было за 20 секунд поймать всех овец и уклоняться от камней.
Чтобы мотивировать ИИ-волка повышать свою производительность, разработчики также создали простую систему очков.
Если волк ловил овцу, то он получал 10 очков. Если он сталкивался с камнем, то вычиталось 1 очко. Чтобы волки имели стимул ловить овец как можно быстрее, за каждую прошедшую секунду у волков отнималось 0,1 очка.
У волков были и другие способности — они знали, в каком направлении смотрят, что находится перед ними, где расположена овца, собственная скорость, скорость овцы и т.д., а также множество других параметров, которые должны были помогать волкам в их охоте.
Цель проекта заключалась в том, чтобы проверить, смогут ли ИИ-волки путём обучения и переобучения найти способ максимизировать количество получаемых очков.
Спустя 200 000 итераций исследователи обнаружили, что чаще всего волки просто ударялись о камни, чтобы совершить самоубийство.
ИИ-волки совершают суицид, ударяясь о камни. Источник: Xinzhiyuan в WeChat
Булыжниковые камикадзе
Авторы потратили три дня на анализ и поняли, почему ИИ-волки готовы скорее совершить самоубийство, чем поймать овцу.
В первых итерациях волки чаще всего не могли поймать овец, что приводило к серьёзным штрафам за время. Поэтому они решили, что если в начале игры они находятся достаточно близко к камням, то, «логически размышляя», мгновенный суицид приведёт к меньшей потере очков, чем трата времени на поимку овец.
Таким извращённым способом харакири ИИ-волк «оптимизировал» свою производительность, минимизируя штраф за потраченное время.
Результат оказался таким, потому что ИИ беспокоился только о том, как оптимизировать свою производительность математически, как это и бывает в большинстве случаев применения алгоритмов машинного обучения.
Непредусмотренные последствия «чёрных ящиков»
Забавно, что эта бесстрастная реакция искусственного интеллекта на условия простой игры породила эмоциональный отклик среди китайских пользователей Интернета, благодаря чему история о волках-камикадзе распространилась по различным социальным сетям страны.
Разумеется, это возродило и привычные дискуссии об этике и безопасности ИИ. В одном посте в Zhihu (китайском аналоге Quora) опубликован список того, как эксперименты с эволюционным ИИ приводили в прошлом к искажённым результатам. Некоторые из них были шокирующими или даже потенциально опасными.
Например, в эксперименте 1994 года по эволюции организмов обнаружился один вид ИИ-организмов, который выяснил, что вместо того, чтобы перемещаться в ИИ-мире, занимаясь охотой на еду и поисками пары для продления рода, оптимальным решением будет оставаться на одном месте и «спариваться друг с другом, бороться друг с другом, убивать друг друга и поедать павших».
Этот вид исследователи довольно метко прозвали «ленивыми каннибалами».
В ещё одном эксперименте учёные использовали ИИ для оптимизации давления разрыва, прикладываемого к кабелю на посадочной площадке авианосца, когда приземляющийся самолёт зацепляется за него для торможения.
Вместо того, чтобы выполнять правильные расчёты, ИИ выяснил, что при приложении достаточно большой силы в системе возникало «переполнение» и регистрировалась нулевая сила. Это позволило ИИ добиться кажущегося идеальным приземления, однако в реальности такое решение привело бы к катастрофе.
Корпоративные волки и их недосягаемые овцы
Обсуждение приобрело и философский поворот: молодые деморализованные сотрудники китайских корпораций увидели в волке-самоубийце идеальную метафору себя: нового класса «белых воротничков», которых часто убеждают работать в режиме 996 (с 9 утра до 9 вечера шесть дней в неделю) в стремлении за мечтой о повышении, увеличении зарплаты, удачной женитьбе… но она, несмотря на все их усилия, всё сильнее ускользает от них.
Настолько сильно, что, как и ИИ-волк, многие просто решают, что если уж изначальные условия плохи, лучше просто отказаться от охоты. Спокойное отношение и более хаотичный образ жизни кажется гораздо лучшей тактикой, чем подвергать себя стрессу и рисковать здоровьем.
Этот феномен даже стал причиной появления в современной китайской лексике нового понятия — "躺平", что буквально означает «лежать плашмя».
«Как и в реальной жизни, страховочная сетка установлена слишком низко, стимулов слишком мало, а из-за „штрафов за время“ многие считают, что лучшее решение — это „лежать плашмя“ (сдаться)». Источник: комментарий в Weibo к посту про эксперимент с ИИ-волками
Пробовать снова и снова
Однако вся история начатого в 2019 году проекта не закончилась на суицидальных волках. На самом деле, если прочитать переписку до конца, то можно узнать, что исследователи усовершенствовали сценарии обучения и увеличили количество итераций.
Спустя «пять поколений» по два миллиона итераций каждая, ИИ-волки наконец начали понимать, как ловить овец. Хотя они время от времени повторяли свой манёвр «булыжниковых камикадзе», теперь у них имелся приличный шанс поймать всех овец за 25 секунд геймплея.
В конечном итоге, студент и преподаватель пришли к двум выводам:
- Изначальное причудливое поведение волков просто стало результатом «абсолютной и неразумной рациональности», демонстрируемой системами ИИ.
- Сложно прогнозировать, какие условия будут важны для нейросети, а какие неважны.
Некоторые Интернет-пользователи указывали и на то, что структура эксперимента изначально была плохой. Если бы штраф за столкновение с камнем был гораздо выше, чем 1 очко, то ИИ-волки не прибегали бы к суициду как к простому способу выиграть игру.
К сожалению, жизнь — это не игра с ИИ. У нас не так много попыток и возможностей начать заново. Но мы имеем гораздо более мощные когнитивные способности, чем ИИ-волки, а также историю и опыт, на которых можем учиться. Не говоря уже о постоянно эволюционирующих правилах и среде человеческого общества.
Возможно, главный урок этого эксперимента заключается не в беспомощности и необходимости сдаться. Нужно подниматься, пробовать снова и снова, оставаясь в игре до самого конца.
P.S.: после того, как эта история стала виральной, один из авторов загрузил видео с окончательной версией игры, которую они создали. В реальности ИИ-волки всё равно время от времени демонстрировали некорректное поведение — сталкивались с границами игрового поля, оказывались «пойманными» овцами, отказывались съедать овцу, проходящую прямо перед ними (и совершали пресловутое «самоубийство об камень»). Если вы понимаете китайский, то можете посмотреть его здесь.
Интеграция геймпада, 2 месяца спустя
Наконец закончил интеграцию системы обработки и вывода настроек геймпада в T-Reload на стороне меню. Не прошло и 2-х месяцев.
На картинке представлены геймпады для T-Reload, которые собраны в блендере.Основным требованием к моделям было: минимальная полигональность. У моделей выше около 6к полигонов.
Стояла задача разработать систему, которая позволила бы с минимальными усилиями подключить к игре новый геймпад. То есть новый геймпад должен подключаться примерно так:
- создается модель геймпада с якорными точками всех кнопок и оформляется в префаб
- в редакторе расставялются линии с примерным положением подписей к каждой кнопке
- префабу геймпада задается ID и сопоставляется набор иконок, которые символизируют кнопки геймпада
На начальном этапе система геймпадов должна уметь:
- вращать геймпад в зависимости от того, что игрок настраивает
- поддержка геймпадов xBox, PS4, PS5, NintendoSwitchPro
- поддержка нераспознанных геймпадов
- разработать гибкую систему, которая позволяет подключать новые геймпады путем их добавления в редакторе Unity
Так как модели будут интегрированы в игру, еще нужно принять во внимание стилизационные особенности T-Reload. Но для дизайнеров (разработчиков) это обычное дело, как и вообще все, что ниже будет написано.
Процесс переделки меню под геймпад
Работу начал с анализа того, что было создано другими разработчиками:
Здесь, конечно, очень малая часть того что было изучено, но даже по этим картинкам можно сделать некоторые выводы.
Следующим шагом было разработать свою версию меню с геймпадом.
Первым делом была разработана система линий, которые подключаются к разным элементам геймпада и которые можно настраивать прямо в редакторе:
Первое время пытался протянуть линию к каждой кнопке, но быстро понял, что запутанный паук из кучи линий - это не то, что радует глаз. "Паук" выглядел примерно так:
Потому решил придержаться того подхода, который использовали другие разработчики (группировка кнопок):
Согласитесь, муравей с усиками выглядит лаконичнее :)
Процесс проб и ошибок был достаточно долгим, пришлось исписать много страниц А4 по нескольку:
Разработка моделей
Каждый геймпад должен иметь свою модель. Цена вроде как визуально приемлимых моделей еще вчера составляла около $20. С курсом доллара сегодня это стало дороже в 2 раза.
Но все эти модели достаточно высокополигональные: около 200к полигонов. Самое минимальное, что удалось найти - это 100к полигонов.
По этой причине геймпады пришлось моделить и текстурироовать самостоятельно. Результаты работы приведены на первой картинке статьи.
Последний геймпад - это геймад для случая, когда геймпад не распознан. Внешний вид этого геймпада не принципиален. Потому модель была сделана на основе нескольких реальных геймпадов. В конце, прикидывая то как придется рисовать иконки кнопок, все же пришлось переделать треугольную кнопку. Другие геймпады сильно менять нельзя.
Далее скачал SubstancePainter, создал карты материалов, маски:
А вот и протекстурированные модели:
Модели выше еще были откорректированы (в основном материалы, шейдеры) так как нужно их стилизовать под T-Reload.
Вот модель геймпада xBox в игре:
Геймад от Nintendo заставил немного понервничать. Дело в том, что у меня его нет и по фотографиям из сети я не мог понять, что у него за линии на корпусе. Позже пришел к тому, что корпус геймпада немного прозрачный, а линии - это конструктивные внутренние элементы, которые просвечиваются через пластик.
Так выгдядит редактор наших геймпадов:
А здесь геймпад PS5 и xBox непосредственно в T-Reload:
На данный момент мы провели несколько тестов того как люди взаимодействуют с системой настройки управления. Все недочеты исправлены. Переходим к доработке системы вывода иконок помощи в процессе игры :)
Позиция Unity в текущей ситуации
Недавно я написал в техподдержку Unity с вопросом об их позиции в текущей политической ситуации. Вот что они ответили.
Делегаты и события в C# и Unity!
Привет всем! Хочу поделиться видео по довольно сложной в понимании теме - делегаты и события в C#. Я постарался простыми словами описать суть их работы и конечно же показал способы применения на практических примерах. Видео получилось довольно объемным и информативным, хоть я и не рассмотрел всех нюансов их использования, однако, этого более чем достаточно для базового уровня. Внимательно просмотрите видео и постарайтесь закрепить все на практике, что бы полностью прочувствовать эту тему! Всем спасибо и приятного просмотра!
Атаки на русских Инди-разработчиков в Steam
Сегодня сам как инди-разработчик столкнулся с таким отзывом на мою игру.
Перевод: Я скачал это, чтобы сказать «идите к черту» русским и их мамам!
Ползу в направлении мечты. Пост № 8
Всем привет, дорогие мои Пикабушники. Наверное, многие уже потеряли меня. Радует, что я получила только один комментарий, о том, что я сдулась. Меня не было пару месяцев по одной простой причине, в середине января я заболела ковидом, а потом, после того как вылечилась, еще где-то месяц раскачивалась и восстанавливалась, т.к. состояние после него так себе. Поэтому, я решила, что лучше ничего не писать, а потом всё объяснить, чем выложить пост в пару строчек о том, что я болею. В общем благодаря витаминам и прочим БАДам, сейчас подняла себя на ноги.
И кстати свою проблему с ранним подъемом и проблемой с тем, что не могла уснуть, решила очень быстро и качественно. Мы завели собаку. Теперь с подъемом в 7-8 нет ни каких проблем, а это привело к тому, что ближе к 12 ночи, меня уже вырубает.
По поводу программирования, в феврале по не многу читала Метанит и делала задания от туда. Доделала противников, и мне помогли с полосками здоровья и опыта. И сделать их не просто с помощью слайдера в Юнити, а самостоятельно. Спасибо за это большое. Сегодня вечером, я поняла, как я соскучилась по всему этому, по Юньке, по Шарпу. Мотивация снова подскочила, после такого длительного отдыха. Пошла писать пост на Пикабу на радостях. Так что в марте с новыми силами. По планам закончить окончательно курс на Udemy. Начать уже свой проект, что бы изучать полноценно и более расширенно уже на своем детище))
Всем хорошего вечера. Думаю, в конце марта, уже смогу поделиться с вами более подробно, что я прошла, прочитала. И, надеюсь, поделиться видео, что получилось по окончанию курса.
Нереализовавшийся читер
Во времена популярности прокуренных компьютерных клубов, когда там собирались огромные толпы геймеров, я был глупым мелким парнем, который только и хотел, что поиграть в последнее слово техники под названием "компьютер". Но проблема была в том, что хотел поиграть каждый. Однако не у каждого были деньги. А даже, если и были, то не для каждого находилось свободное место. Этот факт заставлял идти на выбор и жертвы:- прийти пораньше на свободные места, но прогулять школу;- задержаться в клубе допоздна, но пасть жертвой наказания родителей;- "выкупить" занятое место игрока денежной компенсацией времени и упаковкой чипсов.
Или же можно было включить голову и набирать время хитростью. "Кто владеет информацией - владеет миром."В то время на экранах мониторов можно было заметить одновременно представителей разных жанров: орущие и спорящие на весь зал в CS 1.6, вдумчивые в HOMM III, врывающиеся в NFS Underground и всё сразу в Warcraft 3. А ещё можно было заметить один из шедевров Rockstar - GTA: Vice City.
Один из парней, имя которого я даже не буду пытаться вспомнить, выработал для себя тактику:Он знал читы, наверное, ко всем играм, у которых могли быть читы. Если читов не было, то он знал все пасхалки. Нет пасхалок? Зато есть секретные места! Нет их? Значит есть баги!За своё знание он просил немного - всего 5 минут игры. Но есть пара условий:- читы он вводит сам и так быстро, что ты не успеваешь даже увидеть, не то, что запомнить.- до пасхалок, скрытых мест он добегает/доезжает/открывает сам, а ты после можешь пользоваться/наблюдать/изучать;- если ты теряешь результат - то повтор тебе будет стоить те же 5 минут игры.
Таким образом парень мог совершенно бесплатно несколько часов играть в разные игры, перемещаясь по игротеке, при этом угощаясь перекусами местных задротов. И было непонятно, откуда у него столько информации (особенно учитывая, что для паренька лет 11-ти интернет в то время был не то чтобы легко доступен).
Но одно для меня осталось до сих пор секретом.
Владел этот парень секретным читом на самый настоящий БИГФУТ аля "Няньки" в GTA VC. Все, кто играл в ГТА в том клубе были словно заложниками этого чита. Как наркоманы, готовящиеся тратить ограниченные средства на дозу, мы были готовы тратить свое время ради этой уникальной и почти неубиваемой машины, дарованной нам этим пареньком.Мои неоднократные поиски в CheMAX (всё, что я тогда мог себе позволить) не могли увенчаться успехом. Мои расспросы не приводили ни к чему. И я покорно жертвовал 1/12 времени от такого дорогого мне часа на игру этого парня.
В течение жизни GTA VC устанавливался мной на мой ПК может раза 2-3.И вот, спустя почти два десятилетия, это случается вновь. Однако больше я ни разу не вводил чит на тот самый бигфут. Не потому что не хотел. А потому что информации об этом будто бы никогда и не было. Мои (вроде бы хорошие) способности в таком деле, как "гуглить", не приводили к результатам.(Нуууу, на самом деле, я обычно, наверное, не особо старался)Но могу сказать совершенно точно, что это была именно GTA VC, а не San Andreas, где бигфут получить гораздо легче)
И до сих пор у меня вопрос: был ли тот бигфут в самом деле? Был ли это какой-то мод, установленный на всех компьютерах? Или моя детская фантазия, искажённая временем, решила представить мне так чит на большие колеса? А если это все было взаправду, то впервые за столь долгий период, откройте мне эту тайну и закройте мой гештальт.