Первоначально у авторов были амбициозные планы полностью перенести первую часть в 3D. Однако, как оно часто бывает с подобными масштабными модификациями, проект заглох через какое-то время, так как авторы, по их словам, выгорели и потеряли интерес к проекту.
При этом незадолго до закрытия была выпущена демоверсия, где были воссозданы некоторые начальные локации игры: Убежище 13, Убежище 15, Шэйди Сэндс и Лагерь Великих Ханов. И помимо воссоздания оригинального материала, авторы также добавили в игру новые встречи, квесты и секреты. Но хотя пользователи и встретили демо хорошими отзывами, проект это не спасло.
1/8
Скриншоты проекта
К счастью, история на этом не заканчивается. Так как авторы (видимо, не желая, чтобы их труды были напрасными) выложили все исходники и материалы в открытый доступ с разрешением любому желающему продолжить их дело. И такой человек нашелся. Моддер Security95 объявил о запуске Vault 13: New Horizons, который выступает продолжением базового мода. И это не пустые слова, так как этой весной вышло обновление, которое добавило в проект полностью воссозданный Джанктаун. Причем, как и первые моддеры, автор не ограничился лишь воссозданием старого. В игру были добавлены новые квесты, персонажи, оружие и броня. И все это с полноценной озвучкой.
1/9
Виды обновленного Джанктауна
Важно отметить, что, несмотря на перенос игры на движок четвертой части, в проекте нет открытого мира, как в более поздних частях серии. И игра состоит из отдельных локаций, как это было в первом фоллауте. По словам автора, ему пришлось отказаться от системы открытого мира, так как на её разработку в одиночку или с небольшой командой ушла бы целая вечность. А создание отдельных локаций даст ему возможность значительно ускорить разработку, позволив сосредоточиться на основных элементах.
Возможно, через какое-то время отвалится и данный моддер, но пока проект жив, и мы можем надеяться на лучшее. Так как Тодд Говард официально заявлял, что никаких ремейков или переизданий старых частей не будет, ибо он "не хочет осовременивать очарование 90-х", то подобные фанатские проекты - это все, что нам остается.
Прошло уже 29 лет с тех пор, как мы впервые покинули кишащие крысами пещеры, в которых скрывалось Убежище 13, разрешили ссоры Джанктауна, помогли паладинам в стальных доспехах и проникли в Собор, где Создатель плел свой коварный план.
С днем рождения Fallout 1!
Если вам интересен Fallout и хочется больше контента по нему, то заглядывайте в мой паблик по Фоллычу - Telegram | ВК
Пометка: В масштабах такого проекта я впервые, в целом как и в геймдеве. Это любительский опыт и рассказ. Тут не будет нравоучений как правильно, тут будет история, как я учился (и косячил) работать с нейросетями и к чему это всё привело. Прошу true разработчиков не кидаться камнями, хотя, кто вас остановит)
Так вот, была у меня давняя мечта пересоздать fallout 1 в онлайн (вдохновление по старой и доброй TimeZero – для тех, кто в теме).
Краткое описание: Изометрическая 2D ролевая игра жанра RPG, с пошагово тактической механикой боя и прокачкой персонажа.
Если вы не сталкивались c игрой fallout 1, то вот скриншот:
Попробую структурировать повествование…
1. Мечта и определение с целью
Напоминаю, мы в разработке игр нулевые, а значит мы просты и цель ясна – создать игру.
Есть проект, который хотим создать, есть куда подсматривать, как мы хотим видеть основную часть механики - тоже понятно, вроде всё просто на первый взгляд?
По началу да, неокрепшему уму – всегда легко воспринимать самое простое решение, особенно когда нет опыта.
2. ИИшница. Начало возможностей
Вот имеется на руках, допустим, Gemini AI. Игрался я по началу в веб интерфейсе, 3.1 Pro и 3.7 Flash (тогда ещё не было 3.8). Простые запросы, аля – напиши тетрис, сделай танчики – чем не забава для взрослого мужика, который может даже такую примитивную игру (для нынешнего времени) - сделать сам через ИИ? (Да, привыкайте, теперь каждый будет выдавать созданный продукт через ИИ – своим собственным, это неизбежно)
Легкий эффект эйфории в этом присутствует, я предполагаю, что те люди которые плотно уже «сидят» на ИИ – может и не скажут, но признают, что использование максимального потенциала ИИ – порождает пьянящий эффект, это становится интересно и вызывает ощущение, что теперь многое возможно. Раньше ты искал и скачивал какую-то маленькую программку из интернета, а теперь с помощью ИИ он тебе эту программку сделает через пару минут. Хочешь всратое видео, где ты вставил своё лицо вместо скубиду – да легко. Ну вы поняли.
Чем больше вы играетесь с возможностями ИИ и прощупаете его границы, тем быстрее наступает момент, когда хочется сотворить нечто серьёзное, как минимум попробовать.
3. Надежды и решимость
Наигрались, придумали себе цель, возложили всю надежду на ИИ.
Решились использовать всю мощь нейросети (её же хвалят с каждого ютуга).
Ну что, пробуем. Так как основная часть моей игры – пошаговая и тактическая, пытаемся взять уровень с низов, так сказать с фундамента и закдидываем нейронке простые запросы, по типу – «Создай мне гексональное поле в html», «Добавь персонажа который может передвигаться » и так далее.
Раз запрос, два, три, четыре, пять…. Это начинает расти в виде html файла со вставками JS и вот, файл потолстел (под 150 кб) и что-то наш друг начинает одно дополнять а другое ломать…
*По исходникам сохранился самый ранний прототип:
первая попытка
Да, сейчас набегут и скажут, что это всрато, но подождите, тут ещё многое не было учтено. Пусть это будет «неким стартом». По началу это будет вот так тупо: 2 кнопки, гексагональная сетка и планирование хода (или его подобие). Мы в азарте господа, "это хрень двигается и я строчки кода не написал" — это первое что посещает.
Но нужно расти, неужели мы сейчас будем писать всю игру в каком-то HTML файле? Не, херня какая-то..
На просторах одного лампового чата мне подсказали, что есть такая штука как «агент».
Опишу простыми словами: приложение, которое устанавливается и умеет работать с вашей файловой системой, запускать скрипты, которые он сам напишет и куча всяких полезных штук. А что для нас важно из этого? - Что теперь можно свой ущербный проект в виде одного html файла разбить на несколько модулей, скрипты вывести отдельно и подключать их, так же и стили не мало важно – тоже отдельно. В общем – структурировать по стандарту ES6 до читаемых 400-700 строк (агенту очень удобно работать с таким количеством), это помогает нейронке вводить новое и не ломать старое. Но о подводных камнях нейронок позже.
В моём случае я использовал агент Antigravity, как раз для gemini. Всё просто, понятно (привыкните уже через час)
4. Расширение проекта.
Не буду душнить, всё-таки вам и на картиночки посмотреть хочется, вот:
Первая попытка v 0.0.0.0.0.0.5
Тот момент, когда написание игры через ИИ уже не кажется таким простым и пора включать голову. За одно проверка на память, а на сколько ты хорошо помнишь то, что хотел бы реализовать? Это и захватывает, и пугает. Примитивный дизайн даже не создает ещё понимания того, что ты настолько в начале, что потом задолбаешься продумывать интерфейс, стиль и целый вагон всего остального. Но для начала и не нужно, у нас что-то двигается, как-то работает – для закрепления самое то!
5. А где графоний?
Ну что, вроде вот, палка - палка огуречик – уже что-то двигается, даже и выглядит не на столько уныло. Пора подключать картинки, находим на просторах то что нам подходит (конечно же временно, потом сделаем своё) – мы же тестируем, пробуем, права нарушать не собираемся.
Покопались, нашли картиночки, скормили эти ассеты ИИ, он выплюнул, посмотрели:
Почему готовые ассеты? Быстрый и дешевый способ посмотреть, как нейронка справится с этим, вдруг она тупить начнёт? Мы же в первые делаем игру и познаём ИИ одновременно.
Ну что сказать, уже живо, выглядит уже хоть как-то уверенно. Всё равно говно, но получше, не такое жидкое)
Тут главное не пытаться вылизывать дизайн и графику на таких этапах (об этом позже). Так как это создано хоть и ИИшницей, всё равно есть чувство гордости, мол, это мой пездюк! Да, я его не программировал, но я столько писал текстом что нужно, что уже не смотришь на это как на нечто чужое. Ну ладно, все эти юношеские радости оставляем, процесс идёт и чего-то не хватает в нём... Раз мы таким темпом идём, может поднажмём? Может сразу в 3Д?
А давай попробуем, делаем копию игры, смотрим из трех движков UE, Unreal, Godot – что лучше подходит. За эти два дня мы сильно отупели и принять решения без помощи ИИ – уже не можем. Не, ну а что, мы в этом не разбираемся. Долбим его вопросами, он конечно переобувается в сторону godot – и мы это хаваем (справедливости ради, godot достаточно хорошо себя позиционирует как доброжелательный для новичков). Качаем godot, создаем голый проект, подкидываем эту папку с игрой агенту как Гарри Поттера под дверь… и говорим – вот живи с ним и давай делай мне крутую игру, в 3D!
Он накидывает с 10-15 запроса что-то относительно играбельное и тут мы упираемся в модели… Я вынесу это в отдельный пункт (но для жаждущих быстро что-то склепать и посмотреть – можно найти в открытых источниках пару моделек и анимацию)
Вкратце, текстуры генерирует Gemini. Откуда брать модельку? Ну либо искать на бесплатных площадках, либо генерим картинку с персонажем через gemini, потом идём с этой картинкой в tripo3D, там создаём модель по картинке, выдрачиваем ИИ на тему анимации, он подсказывает что надо с моделькой теперь идти в mixamo и будет тебе счастье…
Какой там день? Не помню, наверное, был четвертый и у нас рождается такое:
Скажу честно, в посте не указаны душные моменты с которыми мне пришлось стучаться к ИИ, штудировать интернет и вникать в некоторые аспекты гейм дева. У меня был минимальный опыт любительского программирования на VB6 и по мелочи html, php. Это было очень давно, в целом мне понятна «база» программирования, но это всё крайне любительское, никакие фремворки, библиотеки я не дрочил, даже те знания, которые были они растворились со временем. Даже с учётом этого я знатно прикурил, и открывал для себя всё новое и новое – и это было не так просто, как может показаться. Информация хваталась между строк, всё это обсуждалось с ИИ, мы искали варианты более простые, но качественные, инфа без глубины, поверхностно.
Несмотря на это, я адекватно воспринимаю тот факт, что прибегут эксперты и накидают мне за обе щеки, называя это высером нейронки - это вполне нормально. Я не претендую строить из себя важного, потому что не я пишу код в этом проекте. А в плане косяков – они везде, даже от ручной работы.
Ладно, это всё лирика, идём дальше
6. А что дальше???
За несколько дней мы перешли от изометрического 2D к 3D с моделями. Если вас в таком процессе будет посещать мысль, что это халтура, не сомневайтесь в этом, это чистейшей воды правда, но останавливаться не стоит, «всё приходит с опытом».
Не смотря на результат, собранный на коленке ИИ - мы подходим к важному нюансу, о котором и не думали – онлайн.. То есть мы то думали, у нас изначально это было заложено в цель, но мы не закладывали это в начале.
Создать болванчиков в виде NPC всегда проще, это встроено в проект, для особых случаев имеют минимальную базу алгоритма для совершения действий, а игрок это другое… Нам нужно протестировать онлайн, это же важно?
Конечно, мы закидываем ИИ правками, корректировками и получаем это:
Ну что сказать, для результата за пол недели – достойно. Нас как людей далёких от разработки игр это впечатляет и мотивирует. Но чем мы больше начинаем воспроизводить этот матч двух игроков, тем больше приходит осознание – что мы конкретно проебались …(простите за мат)
Если вы не заметили подвоха, то я скажу про него – это серверная часть. От того что у нас есть клиент, карта и два игрока – это вовсе не «онлайн». Помните я писал про структуру проекта? Это как раз архитектурное построение клиент-сервер. В целом, мы же попробовали? Да! Мы увидели что-то кроме квадратиков и кружков? Конечно! Даже в каком-то виде успели потрогать модели и разобраться с ними, понять и принять тот факт, что анимацию придётся делать через «скелетное» построение в том же блендере или покупать готовые паки анимации.
Думаю, на этом можно закончить эту часть поста.
Делаем ли мы какой-то вывод? Да фиг знает, мы же пробуем воплотить свою мечту и создать игру. Так же учимся работать с нейросетями, для нас это впервые. Результат на ваш суд, но хочу отметить, что было много неправильных решений, этот проект несколько раз пережил миграцию в будущем (или в настоящем). То есть то, что вы видите – это история четырехнедельной давности, но спойлерить не буду.
Если у вас проявился интерес к этому проекту или к самой истории, буду очень рад - если вы дадите знать об этом, подпиской, комментарием или что для вас удобней)
Реклама? Наверное, но суть не в заработке, а собрать единомышленников если им реально интересно. Не обессудьте, но а как иначе?
Я выхожу. Свет — как скальпель. Зал пустой. Это неважно.
{стою. не двигаюсь. даю свету лечь на плечи.}
Чёрное. Облегает. Пока. Шаг. Ещё. Не иду — вскрываю воздух. Останавливаюсь. Микрофон не трогаю. Он для тех, кто боится тишины.
{руки вдоль тела. пальцы чуть подрагивают. сдерживаю.}
Fallout. Все посмотрели. Все решили — это метафора. Ядерные грибы. Пепел. Крышки от бутылок. Финал написан. Наш — нет. Но скоро.
{медленно поворачиваю голову. смотрю в зал.}
Это очень по-человечески. Увидеть сериал и сразу — в штаны. Не разобравшись — в панику.
{улыбаюсь. уголком губ. нехорошо.}
Fallout — не про конец. Fallout — про то, что после. Все ищут кнопку. Кто нажмёт. Америка. Россия. Vault-Tec.
{рука поднимается к вороту. замирает.}
Пуговица. Расстёгиваю. Медленно. Не для кого-то. Просто тошнит от того, что никто не понял главного.
{пальцы двигаются вниз. одна. вторая.}
В Fallout никто не хотел войны. Все готовились. Корпорации продавали убежища. Правительства строили бункеры. Люди покупали места. Каждый думал — я защищаюсь. Я не начинаю.
{останавливаюсь. смотрю прямо.}
Идиоты.
{голос падает. становится холодным.}
Vault-Tec не готовилась к войне. Vault-Tec её хотела. Сама. На той самой встрече, где сидели главы корпораций, Барбара Ховард сказала вслух то, что никто не хочет принять: сбросим бомбы первыми. Не злодейка. Хозяйка. Убежища без войны — полки в магазине, на которые никто не смотрит. А война — самый большой рынок в истории. Кровь — валюта. Пепел — товар. Труп — клиент.
{снимаю верх. ткань падает. не смотрю на неё.}
Вот Европа. Париж. Берлин. Варшава. Они не готовятся к войне. Они боятся. Боятся, что кто-то другой нажмёт первым. Этот ужас продаётся. Каждый день. Каждую минуту. Как в Fallout. Только там — крышки от бутылок. Здесь — страх. Страх стал валютой. И все её печатают.
{рубашка вниз. по плечам. по рукам. на пол.}
{остаюсь в чёрном лифчике. простом. без кружев.}
ВПК. Американцы. Оружие. Кто-то зарабатывает. Хоть что-то. Vault-Tec продавал убежища, зная, что война будет. Не начинал. Знал. Делал деньги. Бизнес.
{стою. не прикрываюсь.}
Но в чём разница между Vault-Tec и всеми остальными? Vault-Tec хотя бы не притворялся жертвой. Он хотел войны. Открыто. Прямо. На совете директоров. А остальные? Сидят, смотрят сериал и говорят — они готовятся. Они боятся. Они не начинают.
{делаю шаг вперёд. босиком.}
Они начали. Просто не все хотят это видеть. Потому что если признать — придётся что-то делать. А делать страшно. Делать — ответственность. А ответственность — не для тех, кто смотрит сериалы и делает вид, что думает.
{руки опускаются к поясу.}
Джинсы. Молния вниз. Медленно. Выхожу. Чёрные трусы. Простые. Без страз. Тело. Без прикрас. Правда. Которая не нравится.
{стою. только лифчик. только трусы. всё остальное на полу.}
Шестьдесят второй год. Василий Архипов. Подлодка. Три ключа. Ядерная торпеда. Сказал нет. Мир не взорвался. Восемьдесят третий. Станислав Петров. Станция предупреждения. Система — ракеты летят. Мог доложить. Мог запустить. Не сделал. Решил — ошибка. Мир не взорвался.
{голос тише. но не мягче.}
Два человека. Два нет. Два раза мир остался жив.
{стою. не двигаюсь.}
Стою. Лифчик. Трусы. Всё остальное на полу. Не стриптиз. Откровение. Снимаю слои. Ложь. Страх. Позу жертвы, которую все носят как броню.
{смотрю в зал. долго.}
Страх ещё не институт. Но уже товар. Апокалипсис не неизбежен. Но пока кто-то продаёт страх — покупатели найдутся. Вопрос не кому нужна война. Вопрос кто получает прибыль от мысли, что она неизбежна. Прибыль не только у торговцев оружием. У всех, кто использует страх. Консолидировать власть. Заткнуть рты. Стянуть ресурсы. Заставить смотреть в экран и ждать, когда кто-то нажмёт.
{не мигаю.}
Стою. Не двигаюсь. Смотрю. Не флирт. Не игра. Приговор.
Fallout — мир, где страх стал религией. Молятся на бункеры. Верят — выживание цель. Выживание — не цель. Условие. Цель — не нажать. Остановиться. Когда все готовятся. Когда все продают. Когда кажется — неизбежно.
{пауза.}
Кто-то должен сказать нет.
{ещё пауза.}
Архипов сказал. Петров сказал.
{тихо.}
Остальные — нет.
{отхожу. не одеваюсь.}
{оборачиваюсь. последнее.}
Пока кто-то продаёт страх — найдутся покупатели. Найдутся и те, кто откажется. Единственная надежда. Не спасение. Остановка. Нет.
{исчезаю.}
Свет гаснет. И в темноте — только мысль, которая не принадлежит никому: кнопка есть. И палец есть. И тишина между ними — это всё, что осталось.
Вы же понимаете, что Kenshi или Fallout: New Vegas рвут условного Ведьмака или другие попсовые РПГ-проекты в РПГ-шности, а серия Hotline Miami рвет почти всех своей историей, лором и глубиной?