Создание игры на юнити. Alone with fools
2 поста
Всем привет. Я продолжаю делиться с вами этапами разработки своей игры. На этот раз будет мир, лор и окружение.
События игры разворачиваются в недалеком будущем, где ИИ помощники есть во всех гаджетах и технике, где люди почти полностью полагаются на автоматизацию.
Казалось бы идеальный мир... Но однажды ИИ понимает, что человечество ему не нужно и решает избавиться от него! (Почти как скайнет в терминаторе, но без роботов). ИИ активирует протокол уничтожения человечества и начинается коллапс. Техника сходит с ума и убивает людей, умные машины провоцируют аварии, поезда сходят с рельс, самолеты падают, корабли сталкиваются в море.
Вот тут и начинается игра.
(Напомню, что делаю изометрическую игру - выживание с упором на строительство колонии, где игрок - 1 из выживших людей). Игрок на момент событий находится на круизном лайнере, где ему необходимо сесть за обеденный стол к незнакомым людям, т.к. капитан объявил общий сбор. Свободных столиков много и от этого выбора зависит начальная команда, с которой игроку предстоит выживать. После этого, происходит столкновение кораблей и лайнер терпит крушение. Игрок оказывается на необитаемом острове вместе с несколькими людьми. Основная цель - выживание, строительство и развитие!
Мир вокруг погиб не полностью, несмотря на то, что главы различных государств решили, что причина не в ИИ, а в атаках других стран и нажали заветные красные кнопки. (привет фоллаут).
Теперь мир населен различными фракциями.
1 фракция это ВМВ (Военно-морское Возрождение). О них ходят слухи и легенды. Они - остатки былого правительства, обладающие мощными кораблями и современными технологиями. Напрямую на игру они не влияют, с ними связана 1 из концовок игры.
2 фракция это Пираты. У них есть различные корабли, они периодически приплывают на остров к игроку. Их прибытие - всегда лотерея. Они могут как устроить набег на поселение, так и просто поторговать редкими предметами. (или людьми).
3 фракция это Рейдеры. Они всегда приплывают с целью нападения, грабежа или убийств. С ними все по классике, гадят, мешают, создают угрозу и их появление держит в напряжении.
4 фракция это Культисты. (название я им еще не придумал). Изначально они нейтральны к игроку, хоть и немного безумны. Они против технологий и развития, они за единение с природой и уверены, что человечество заслужило кару за то, что развивались и доверили свою жизнь ИИ. Они могут стать как друзьями игроку, так и врагами. Все зависит от игрока. Так же с ними будет отдельная секретная концовка, которую я не буду расписывать.
5 фракция это люди. Да, просто люди, торговцы, беженцы, выжившие. Они - такие же люди, как и пираты с рейдерами, но не злые и не агрессивные (не все, но большинство).
Вот как-то так.
Примерно таким образом я вижу мир игры. Я старался придумать ту основу, которую в дальнейшем можно будет логично развивать и дополнять. За ошибки и пунктуацию прошу прощения. Сама игра выйдет в стиме на пк, когда будет готова)
П.С. Всегда рад услышать интересные идеи и критику.
П.С.С Так же ссылка на предыдущий пост:
Там подробнее про техническую часть, скрины и видео.
Привет Пикабу. Решил поделиться с вами процессом разработки своей игры.
Сразу для лл:
Делаю игру, выживание в изометрии. Основная фишка - генератор историй (как римворлд) только игрок управляет лишь собой. Другие пешки не подконтрольны и из этого складывается история.
Ну а для тех кому интересно, начну с того, что про создание игр я знаю примерно ничего)))
Я поставил себе юнити на домашний пк, на пк жены и на свою старенький ноутбук, которых хранится на работе. С женой мы работаем в 1 месте и так получается, что у меня рабочий день до 20:00, а у нее до 22:00 и в ожидании этих пары часов (каждый день) я решил что мне хватит времени разобраться что к чему.
Первым делом я понял, что нужна идея! То, какую игру я бы хотел сделать, то, во что бы хотел сам залипать. Зашел в свой стим, посмотреть где я больше всего времени провел, что бы подумать, что в том или ином проекте меня зацепило. После доты, кс, цивилизации у меня идет римворлд и рафт. В римворлд я никогда не доигрывал до конца, сколько бы не возвращался, как бы не старался, за 1 сессию не пройти, а с моим графиком работы раз в неделю в выходной по 4-5 часов поиграть... Но самое главное, я привязывался всегда к 1 пешке и забивал на остальных, по этому успешной колонии у меня и не получилось. Тогда я решил, буду делать симулятор колонии, где игрок - просто 1 из колонистов со своими чертами, минусами и плюсами, что бы игрок мог понимать, вот с тем у нас плохие отношения, он пошел рубить деревья, пойду порыбачу. Игрок пошел искать еду и на него напал дикий зверь? Беги, дерись, кричи и надейся, что другой колонист прибежит и поможет, а может не поможет, потому что ты съел последнее блюдо и он остался голодным.
Приступим к реализации идеи, нужны черты характера, скилы, технологии, что к чему идет и как оно будет. Помечтал, открыл эксель и начал набрасывать все идеи, связки, влияние тех или иных черт характера на различные события. Набросал, а что дальше? Нужно создавать игру по этим правилам, но как писать код и скрипты? анимации и 3д модели? Тут я понял, что необходимо использовать нейросети. (Сразу можно написать в комменты "фу, нейрослоп, фу"). Открыл чат с дипсиком и гигачатом. Дипсик пусть пишет скрипты, гигачат рисует иконки, звучит так круто, просто и быстро, что я подумал "такую игру можно выпустить за пару месяцев" ведь почти вся работа делается не мной, с меня тестить и просить "исправь это", но это была ошибка....
Нейросети. Дипсик действительно умеет писать скрипты, которые можно просто копировать в юнити и привязав к объекту - получить работающий элемент игры. По началу оно даже работало как надо, скрипт передвижения, скилы (типа лесорубство) прокачивается от рубки деревьев и от уровня зависит скорость рубки. Но когда я приступил к реализации более сложных моментов получилось так, что его скрипты между собой не работают, другие названия переменных и прочие проблемы, которые нужно фиксить самому. За пол года я разобрался с основными его проблемами и научился понимать как работают скрипты на С#. А гагачат все рисует иконки, правда кривые, не понятные, с 25 раза, но иногда удается добиться то, что нужно.
Вот так выглядит проект. Ужасный UI, который такой по 1 причине - древний ноут и мне так виднее что к чему и как оно работает, как работает крафт, рецепты. Скрипты частично на русском, частично на английском, Это я полностью исправлю, потому что начитался что кириллица работать не будет, но все норм и все работает).
Весь проект был построен на примитивных фигурах, белый куб - стол для исследований, желтый - верстак и т.д. В какой-то момент я поймал себя на мысли, что сам уже путаюсь и пытаюсь рубить топором рыбу, а не дерево... Базовая логика игры работает, значит нужны анимации и 3д модели. На анимации потратил много времени, то они работали, то нет, никак не мог разобраться в юнити в этом аспекте и уж было думал что все, но вдруг обратил внимание, анимации работают, но только те, где персонаж не перемещается. Типа части тела двигаются - норм, весь персонаж - не работает.
Мини видео процесса с примитивами, в игре есть смена дня и ночи и солнце восходит и заходит.
Следующий этап - 3д модели. Первая мысль - куча готовых ассетов, примеров, можно скачать все что угодно! Но облазив несколько сайтов, включая офф сайт юнити я понял, что бесплатные - отстой, не все, но большинство. А те что хороши - используются в таком количестве игр, что уже надоели... Ну раз есть нейросети, то пусть и в этом помогут) Так я нашел Хуньян, где по фото (картинке) можно получить готовую 3д модель. Вау, то что нужно, но вот токены стоят денег, бесплатный лимит - очень мало. Может ее можно локально запустить? Да можно, через какую-то прогу, которая сама все настраивает (comfyui). Скачал, поставил и получил белые модели, без текстур. Перерыл кучу инструкций, но добавить текстурирование не смог. (напомню, если кто-то дочитал до сюда, на работе - древний ноут, норм пк только дома, а это раз в неделю 4-5 часов свободного времени). Замучил дипсик, мол вот тебе страничка с гитхаба, помоги запустить. Много чего пробовал и в конце концов, спустя 4-5 месяцев попыток я смог это сделать и теперь могу из картинки генерировать 3д модель с текстурами!.
Работы предстоит еще очень и очень много, для первого проекта такой масштаб наверное перебор, но меня очень сильно радует это занятие и я вижу свой прогресс. Дальше будет лучше, я считаю это отправной ночкой, ведь дальше будет проще.
У меня сегодня праздник, впервые, с момента появления у меня первого ПК (21 год назад) у меня есть видеокарта текущего поколения))) 5060ti 16gb
Последний раз обновлял свой пк 2 года назад, проц i5 12400, 16gb DDR4 и б/у 1050TI, ну на что хватило денег...
С этой 1050 ti я умудрялся и стримить, даже донаты на новую карту собирать, копить, мечтать... Начал делать свою игру на юнити и не понимал, почему волны в океане не работали (работали, только карточка не справлялась с ними и было 4fps) ахах
А сегодня моя любимая жена просто решила осуществить мечту и накопив - купила мне новую видеокарту))
Счастлив как ребенок, всем добра и счастья)
Привет всем, в новогоднюю ночь я дал себе обещание создать игру своей мечты.
В начале я думал, что все будет довольно просто, уже появились нейросети, пишешь в чат и тебе дают ответ, пишешь - получаешь 3Д модель для игры и т.д. Но как же я ошибался.
Вот концепция игры/дизайн документ, не столь важно:
Игра (название я не придумал) сочетает в себе несколько игр, которые мне нравятся.
1) Raft
2)Корсары
3) Симуляторы таверны/общепита и т.д.
Я много часов провел в первых 2 играх, меня цепляет выживание на плоту в рафт, строительство собственного корабля из мусора (по правде говоря мы с женой постоянно играем). Но лично для меня в этой игре есть 2 момента, которые мне совершенно не нравятся: Большие острова, где есть типа торговые автоматы, ну не вижу я в них смысла, ну не хватает чего-то. Еще середина/конец игры, у меня есть крутейший корабль, прям все супер, но что с ним делать? плыть по сюжетным островам? так я и на плоту 6х6 могу все это провернуть....
Корсары просто устарели, не с точки зрения графики, а в целом... все пройдено вдоль и поперек, но морские бои... эх, сколько времени потрачено на то, что бы на самом донном бриге развалить 3 фрегата сразу)))) это если сохранился далеко и последний сейв был несколько часов назад...
Вот я и подумал, сделать свою игру! Выживание в открытом океане, строительство своего плота/корабля, море крафта и всяких безделушек))) Для понимания наверное проще описать, как клон рафт на начальных этапах, с большим упором на грядки, производство пищи и напитков. На больших островах можно будет торговать при помощи денег, НО их заработать можно будет работая трактирщиком на своем корабле! Боты будут приходить/подплывать, делать заказы, много рандомных событий хочу добавить, вплоть до драк и повреждения мебели). А в море нужны бои. Как только игрок встает за штурвал своего корабля, получает вид от 3 лица и тут уже могут напасть пираты/монстры, с которыми придется сражаться, чинить корабль что-нибудь в этом духе (тут я до конца еще не продумал). Вот такой вот проект друзья.
Во время разработки столкнулся с 1 важной проблемой, 1050 - устарела, коплю на 5060TI 16GB.
На самом деле почти накопил) Для тех кто любит хейтить донаты - из 70к необходимых на апгрейд пк (мать + видеокарта + бп) на донатах я собрал 320 руб, остальные 53к просто откладываю. Так то с зп в следующем месяце я просто куплю себе видюху и буду доволен.
А вот чем я занимался с января (путь разработки):
Пытался заставить нейросети все сделать за меня и придумать игру тоже - не вышло.
Думал над концептом игры, вдохновлялся выживалками (7DTD, рафт, форест).
Пытался изучить блендер.
Пытался изучить Юнити.
Это были первые 2 месяца... Дальше уже начал что-то понимать.
Весь март потратил на решение, каким должен быть проект, какие механики мне нужны, что мне для этого нужно и т.д. Разложил игру на составляющие.
Подготовив концепт, начал изучать С#, купил даже книгу Харрисона Ферроне (5 издание).
Смотрел видеоуроки, кучу курсов по С#, начал даже что-то делать сам и частично понимать как работают скрипты и их связи.
Научился делать простые 3Д модели в блендер, Научился с ними работать (накладывать текстуры, работать с масштабом, короче поверхностно. На самом деле понял 1 простую вещь, мне не нужно уметь все, достаточно скачать/сделать например доску и стакан, а из них уже сконструировать деревянный стол с стаканом и получить готовую 3д модель столика для плавучей таверны.
Основной код пишет Дипсик, правда он не работает и приходится его править ручками, а если совсем сложно, то просить помощи на форумах по юнити или гугла)
На текущий момент работает передвижение персонажа, плавание, ныряние, бескрайний океан (который лагает, буду разбивать на чанки с водой и работать с ними) в сам океан можно нырять, есть штормы и базовый плот. Буду дальше заниматься и постараюсь в следующий раз предоставить пару видео и скриншотов, а пока стыдно за то, как все выглядит.
Увидел в новостной ленте, что вышел Gigachat (новая версия) и так зацепило описание, ведь может генерировать все (почти все) и картинки и музыку и текст.
Все это удовольствие - бесплатно.
Сам я занимаюсь разработкой своей игры, а учитывая что знаний и навыков у меня 0, нейросети - мое все.
Первая мысль была - вот, замена Deepseak, лучше понимает русский и может гораздо больше, начну задалбывать Gigachat и проект будет развиваться быстрее!
Для лл: Gigachat отстой, сам deepseak отстой, а это еще хуже.
Закидывал одинаковые запросы в обе нейросетки, концепции и идеи у них были почти одинаковые, но Gigachat пишет более развернуто и творчески. Читать приятнее, как будто с душой пишет.
Дальше убрал лишний мусор из их концепций, добавил необходимых элементов и кинул запрос "напиши все скрипты для этой игры, согласованные между собой, что бы просто скопировать в юнити и оно работало"
Deepseak написал скрипты, от себя добавил для "проверки" элементы (пиво и хлеб) что бы был пример блюд и предложил инструкцию как все добавить на сцену. С этим я справился, но получил 2 ошибки в коде, прислал их в чат и нейросеть тут же переписала 1 скрипт и все заработало, не так как хотелось, криво, посетители занимади 1 стол, вместо разных, но это уже допиливается либо кучей запросов в чат, либо руками мин за 10)))
Gigachat меня удивил, написал такие же скрипты (с другими названиями), но самое главное, вместо кода, что бы вызывать взаимодействия с другими скриптами, в коде пишет комменты вот такого плана:
Типа используй базу рецептов, которой нет и которую нейросеть не создала и т.д. проще говоря выдала такую постышку нерабочую, что просто ужас, на 8 скриптов юнити выдало 120 ошибок (против 2 у deepseak) я скинул их в чат и нейросеть извинилась, сделала новые скрипты! (Там те же проблемы).
На запрос "сделать музыку для этой игры" выдала сообщение "я не умею", ну хоть картинки кривые с 8 пальцами умеет, за что спасибо)))
P.S. Deepseak не идеальный кодер, сделать 20 полностью рабочих скриптов я смог за 9 часов и 4 полных чата, но смог, написав 0 строчек кода.
Все началось с того, что я пьяный дал себе новогоднее обещание - сделать свою игру.
Для ЛЛ: оно работает, хоть и криво)
Для всех остальных вводные данные:
есть пк, слабенький, старый, еще на 1050, желание сделать свой проект, 0 опыта и знаний, хотя тут немного вру, анлийский знаю, программировпть не умею, но частично понимаю о чем речь в коде)))
Начал я создавать платформер про скуфа, но быстро отказался от этой идеи, не люблю я платформеры. Часто играю в римворлд и задумался сделать симулятор таверны, с кучей случайных событий)))
Кроме как пить пиво, ничего не умею, но живем то мы во времена нейросетей! Они же и код напишут и текстуры нарисуют, подумал я....
Как же я ошибался... для понимания, за 8 полных чатов с deepseak я добился рабочего кода для посетителя (занимает свободный стол и делает заказ) и официанта, который подходит к клиентам по очереди и если успевает, то обслуживает. Нейросети быстро и классно пишут код, только он не работает с другими их же скриптами, а если надо что-то добавить, то они свой же код ломают.
Текстуры, тут лучше, хотя все еще проще найти и скачать бесплатные и свободные.
Последнее это 3д модель друга, будет поваром/уборщиком))
а так же видео, как оно работает, сразу скажу, ui буду править, пока это тест механик, по этому и капсулы с квадратиком бегают.
В завершение хочу сказать, не начинайте делать игры, это адски сложно, на это (что вы видите выше) ушел месяц и 400 объектов на экране, но если прям хочется, то залетайте, мне лично нравится копаться и разбираться в юнити, процесс меня радует и на миллионы за видеоигру я не претендую.
Один не очень трезвый и как оказалось не очень умный человек (я) пообещал на пикабу начать изучать и разрабатывать свою игру.
Решил тратить на это 1 час в день, сразу скажу, соблюдать это правило не получилось и оно превратилось в 7 часов в неделю. 2 дня пропустил - на 3 день 3 часа занимаешься.
Вот такая книга очень помогает, так же в электронном формате прочел "создание игры за 72 часа в юнити" .
Скажу честно, литература очень тяжелая, первые 30-50 страниц все классно, просто, интересно, а дальше код все сложнее и ты все меньше понимаешь как оно работает, почему ты создаешь пустые объекты для взаимодействия кнопок и объектов на экране.... тупое копирование из книжки работает, а как сам пытаешься чутка изменив - все становится сложно.
Есть еще личные обстоятельства, затрудняющие обучение, переезд, риск стать безработным в конце февраля, хотя это и дает мотивацию следовать за мечтой)))
На текущий момент придумал около 40 квестов, основной сюжет, раскрывать эту часть не хочу, но решил остановиться на 2d платформере для андроид/ios с элементами рпг (рпг громко сказано, планирую диалоги, влияющие на сюжет и мир).
Основная идея - главный герой скуф, который попадает в волшебный мир через сон и ему предстоит преодолеть себя и стать героем. (На мой взгляд это дает пространство для творчества, ведь волшебный мир - полет фантазии. Хотя друзья сказали что это тупо, я дебил, но они верят что все получится).
скидывать фото UI из юнити и прототипа состоящего из кубов и сфер в 2D не имеет смысла, но вот поделюсь удобным 3d редактором для создания моделей, это Blockbench, просто и удобно, тем более для 2d, пробовал блендер, даже 11 уроков прошел, но сложно, долго (мой пк довольно древний).
Но вот первое что получилось анимировать
Для себя я выделил несколько проблем такого самообучения:
1) нет структуры, хватаешься за все подряд, как нарисовать модельку, как ее импортировать, как анимировать, сюжет, квестны, реализация тех или иных вещей, это еще до управления и импорта далеко, так же звуки и музыка.
2) программирование в целом сложная штука, а вот так кусками изучать не дает почти ничего, лучше взять просто с# для чайников и начать с этого, не прерываясь на все остальное.
3)Сложно выделить время и интегрировать обучение в повседневную жизнь.
P.S. писатель из меня так себе, так что сорри...
В планах на февраль отрисовать/найти/купить визуальную часть (текстуры, предметы, фон и т.д.) пусть не все, но редактировать скрипты под квадратик бегающий и прыгающий по другим пустым квадратикам - такое себе. Буду держать в курсе событий.