Игра на FPS Creator в 2023 году. Зачем?
«Не наркоман ли я часом?» – возникает у читателя закономерный вопрос. Это ведь тот древний, как копролиты, конструктор шутеров из 2005-го, обещавший превратить любого школьника в титана игровой разработки? Тот самый, где уровень из трёх коробок грузится по пол-часа, тысячи багов, AI с интеллектом утюга, кривая графика и вечно поломанные скрипты?!
Он самый. Так отчего столь эксцентричный выбор? Как там мне, вообще нормально? И какую роль во всём этом сыграл Рэнди Питчфорд? Если вам интересно – ныряйте в лонгрид!
Историческая справка
Ещё задолго до того, как Unity взошёл на престол «народного движка», люди уже создавали инструменты, позволяющие клепать игры быстро, дёшево и некачественно. Вы же помните волну сделанных на коленке, уродливых, кривоватых школоло-хорроров, захлестнувшую YouTube лет этак 10-15 назад? Благодаря им, FPS Creator (FPSC) навсегда остался в памяти людской как движок для дятлов, клепающих скримерные поделки из пустых коробок и сломанных скриптов. Но справедливо ли?
Беды у Креатора было две:
Первая – невероятная, легендарная кривизна самого движка. FPSC изначально создавался чуть ли не единственным программистом на базе самописного языка программирования. И вот когда автору попёрло – то кодовая база начала хаотично наращиваться разнородной командой не очень квалифицированных ребят. Команда обвешивала движок всё новыми и новыми фичам, на скорую руку, без документации и тестов. В результате мы получили самый отвратительный кусок программного кода, который я видел в жизни – монолитный спагетти-код в процедурном стиле 80-х, написанный на мёртвом языке программирования. Отсюда и миллиарды багов, тупой AI, выкрутасы физики, неработающий функционал...
Вторая беда – как ни странно, это удивительно низкий порог вхождения. FPS Creator – невероятно простой в обращении инструмент, прямо-таки воплощение концепции «easy to learn, hard to master». Всякий, кто в состоянии держать мышку хвостиком от себя, способен за пол-часа создать свою игру на FPSC. Для этого не требуется ни знать азы программирования, ни минимально понимать принципы работы 3D-графики, ни обладать какими-либо представлениями о левел-дизайне.
Автор статьи, например, в далёкие дни своего детства сразу забрасывал игрока в горящий дом. Игроки на «тестовых показах» сгорали в угли (в прямом и переносном смысле) раньше, чем находили выход. Этому способствовали и щедро распиханные по помещению десятки эмиттеров частиц огня – отчего счётчик FPS не спешил радовать двузначными числами.
В сообществе FPS Creator'а всегда обитало много юных, амбициозных, но неопытных разработчиков. Ведь делать игры в нём поначалу кажется легко – кистью рисуешь по сетке комнаты из прямоугольных сегментов, широким жестом сеятеля раскидываешь по карте предметы-монстров-оружие (всё из набора комплектных ассетов)... ну и, в общем-то, твой шедевр готов. По кнопке «Build» компьютер, натужно хрустя хардом, компилирует это творение в настоящий шутер! Покажи родителям, принеси в школу, распространяй в интернете!
Набирая опыт и набивая шишки, наиболее взыскательные разработчики постепенно уходили из сообщества. Устав от нескончаемой борьбы с багами, они мигрировали на движки посерьёзнее. А вот те, у кого ожидания от результата были невелики, часто оставались – и удваивали усилия.
Из-за проблем с ИИ, способного запутаться в трёх соснах (буквально!) зачастую делались «симуляторы ходьбы», а из-за лени и проблем с освещением они естественно превращались в мрачные хорроры. Ну и масла в огонь подливали шедшие в комплекте три с половиной стандартных ассета, которые были откровенно неплохой стартовой точкой – но после 234-й игры, составленной исключительно из них, уже вязли у всех в зубах.
Оттого-то FPS Creator и получил репутацию инструмента, на котором что не игра – то или васянство, или корованы.
А потом он умер?
И да, и нет. В 2012-м году создатели наконец заявили, что Креатор – всё. Язык, на которой он написан, тупо умер от старости. А портировать эту огромную кучу кода на что-то более актуальное – не в состоянии оказались даже сами авторы. Они, конечно, утащили кое-что для своего «ремейка» под названием GameGuru – но об этом печальном моменте как-нибудь в другой раз.
Интересно то, что в 2016-м авторы всё-таки открыли исходники Креатора под необременительной лицензией. И вот тут-то ПОНЕСЛОСЬ! Проектов по оживлению старичка возникло много, и самый крупный из них, Black Ice Mod (BIM), жив и в наши дни. Звёздная команда лучших умов коммьюнити поправила большинство багов, и добавила туда ещё много нового и вкусного.
Однако, сколько волка ни корми – а слон всё равно толще. К 2020 году модернизационный потенциал старого FPSC всё-таки иссяк – и тогда от терапии сообщество перешло к хирургии. Команда BIM масштабно и безжалостно переписала многие внутренности движка, при этом (практически) ничего не сломав.
Получившийся результат назвали Black Ice Mod Advanced (BIMA) – и он, сохраняя обратную совместимость со старыми ассетами (а это важно, о чём ниже), получил свежую моделью освещения с поддержкой PBR, физическую подсистему от Nvidia, клёвые рэгдоллы, улучшенный ИИ, частичную разрушаемость, а также множество мелких и крупных плюшек. Он вышел в полноценный доступ где-то в начале 22-го...
...или как я перестал бояться и полюбил FPS Creator
Время тогда было непростое.
Отгремел февраль 2022-го. Страна закрывалась, международные связи рвались, а российский геймдев сдувался быстрее, чем я успевал произнести «тваюмать, что происходит?!». Я-то как раз намеревался тем летом уйти из тёплого окологосударственного энтерпрайза, дабы с головой окунуться в бурные воды профессиональной игровой разработки – и планы мои, понятно, накрылись медным тазом.
Оттого я сидел с лицом лётчика, у которого в воздухе заклинило пулемёт, перебирая, чем же в этих условиях себя занять, дабы укротить тревогу и фрустрацию. Желательно с пользой для дела.
И тут я наткнулся на россыпь живых и многочисленных сообществ по Креатору в Дискорде (тык, тык и даже тык). Неожиданно, там сидели и олдовые олды вроде меня, и вполне молодые-свежие новички. Некоторое время я тусовался, показывая в «болталке» свои демо из пет-проекта на Юнити (впоследствии загнувшегося по причине больших надежд и невозможности найти издателя – тык).
И вот там промелькнуло видео по BIMA – то самое, с рэгдоллами. «Ага, это интересно» – подумал я, и через знакомого в обход санкций (вовек не забуду, в войну отдам маслом) за недорого приобрёл себе ранний доступ к движку. Потыкал немного, поудивлялся «ребята хорошо сделали, малаца», сделал пару своих мелких приколюшек, и...
И тут из закрытых запасников Gearbox утёк тот самый билд Duke Nukem Forever '2001. Билд просто поразил меня в самое сердечко – я даже статью с его разбором написал тогда. Тык.
И тут я совершил удивительное открытие. Несмотря на то, что движку-то там уже лет двадцать стукнуло – игра на нём всё ещё классно смотрится и классно играется. Не хуже многих инди-шутеров. И вместе с тем, есть в ней что-то этакое, за счёт чего намётанный глаз безошибочно распознаёт подлинное ретро. Какое-то неуловимое отличие от современных ретро-бумер-шутеров, только имитирующих старину - то ли в самой механике перемещений, то ли в способе рендера картинки... Именно ради такого и возникают проекты типа Aeon: Wraith of Ruins, намеренно сделанные на ретро-движках - видимо, подобные трудноуловимые аутентичные мелочи нельзя просто взять и воссоздать современными средствами.
И тут паззл сложился. У меня на руках есть подлинный ретро-движок. У меня есть образец для подражания. Почему бы не попробовать сделать что-то? Даже если старичок Креатор не стал эффективнее распоряжаться ресурсами (спойлер – стал), то сейчас его запросы теряются на фоне потребления вшивой вкладкой Хрома.
А ещё у Креатора есть один туз в рукаве.
У него есть ассеты!
Ассеты? Ассеты. АССЕТЫ!111
Я обожаю обмазываться ассетами и разрабатывать. Каждый день я захожу на Asset Store и собираю все бесплатные ассеты, которые вижу. На две полных папки уходит целый день. Зато, когда после тяжёлого дня я прихожу домой, я сажусь за компьютер, включаю редактор и сваливаю в новый проект всё своё сокровище...
Бесплатные ассеты я трепетно люблю. Ресурсы для игр сам я всегда делаю медленно и плохо. А ведь самый ценный актив у бедного безбюджетного инди – это его время, потраченное на проект. Сделать «в одну каску» и без ассетов игры высокого класса даже у гения может жизни не хватить – просто потому, что нужны десятки тысяч человекочасов. На ассеты же часы уже потрачены – бери, пользуйся.
Так вот, FPS Creator обнаружил настоящее золотое дно! В былые времена к нему выходили так называемые «модел паки» – крупные платные архивы моделек и текстурок, объединённых общей темой и стилем. Все поставляемые ресурсы сразу готовы к использованию в движке – купи, накати и пользуйся, всё работает «из коробки».
К концу жизненного цикла FPSC, этих самых паков набралось аж 77 штук. Многие весьма годные и поныне. Почти всё это богатство вышло под открытой лицензией сразу после кончины Креатора. Конечно, встречается и откровенный хлам, одно устарело, другое не подходит по стилистике – но комплект всё равно набирается крайне жЫрный. Плюс, за долгие годы была создана уйма неофициальных модел-паков. И плюс, свой Asset Store у разработчиков Креатора появился раньше, чем у Unity, а после его закрытия многие ресурсы оттуда тоже ушли в общественное достояние.
Начало пути
Задумка проекта, получившего название Slipgate, была довольно проста – сделать ретро-шутер а-ля Doom/Quake с задорным геймплеем. Таким, чтобы дробовик в руках, мозги импов по стенам, аптечки и патроны раскиданы, поиск ключей, быстро бегать, БФГ на цифре 9, сложная архитектура комнат, сюжет на уровне «отовсюду вылезли демоны, и все человеки умерли». И сначала я решил сделать несколько прототипов, чтобы понять, выгорит ли вообще такая идея.
Причём шутер-то получается по-настоящему ретро. Ведь несмотря на все доработки, BIMA крепко стоит на кодовой базе Креатора. Даже рендер его по-прежнему работает с использованием функционала DirectX 9. Это не новоделы на Unity или Unreal, что пытаются показать картинку, стилизованную под 90-х/нулевые. Нет, это идеально аутентичный ретро-движок, прекрасно бегающий на современных машинах. Есть в нём что-то такое, некая неуловимая черта, выдающая инструмент другой, более цивилизованной эпохи. Он без всяческого притворства честен в своём ретро-очаровании, и наверняка заработает даже под Windows 98, если того пожелает достаточно упорот... упорный геймер.
Начальное направление экспериментов было очевидным – я доблестно пытался сделать нечто в духе слитого билда Дюка. То есть решил делать уровни реалистичными и правдоподобными (хоть и с упором на то, чтобы создать интересные боевые ситуации).
Уровень должен был выглядеть настоящим сооружением. Условное караульное помещение включало в себя стол, стул, газету «Жизнь», чайник, чашку, телевизор, телефон... я обложился референсами бункеров, заброшек, заводов и лабораторий (бесценная кладезь материалов залегает в архиве у Ланы Сатор, кто ещё не видел – тык). Я даже воссоздал несколько индустриальных помещений, где часто бывал сам.
Однако первая же демка (обсуждение на ДТФ) показала, что выглядит результат пусть и прилично, но делать настолько насыщенный деталями уровень, как в DNF – это НЕВЕРОЯТНО долго и трудоёмко (тут шутка про сроки продакшена Дюка).
А ещё движок явно сигнализирует, что с таким количеством декораций на комнату ему становится трудновато выжимать из себя достаточное количество FPS (внимание на отладочные цветные «колбочки» внизу, самая правая – память, чуть левее – ИИ и динамические предметы).
Ну и ещё оказалось, что нелегко срежиссировать интересный и динамичный ганплей на уровнях, где много-много предметов. Физическая модель персонажа не настолько «легка на подъём», как хотелось бы. Там, где Дюк легко огибает угол стола – наш герой элегантно цепляется за него задом. Мозг игрока-то очень быстро принимает правила игры с коллизиями – но из-за этого даже достаточно просторные помещения на деле предоставляют не слишком много места для манёвра. Надо подстраиваться.
Новый стиль
Дюка у меня не получилось. Потому, вынеся из прототипа необходимые уроки, я решил выбрать стиль а-ля Half-Life / Quake 2 / SiN. То есть очень упрощённый реализм, с всё ещё правдоподобными помещениями, но с тем минимумом предметов, чтобы сохранять узнаваемость.
То есть уровень должен только выглядеть правдоподобно – то же караульное помещение вполне могут изобразить стол, стул и какая-нибудь заметная деталь. А сама структура уровней стало больше подчиняться «логике сна» в угоду интересу геймплея.
Аккурат на местячковый геймджем я подготовил ещё одну демку, уже в новом стиле. Ганплей там слегка хромал, да и недоделок торчит куча – зато учтено больше особенностей движка, и неплохо выдержан стиль.
На геймджеме моя демка не заняла призового места. Что, в общем, немудрено – сделана она была впопыхах, на новой технологии, и даже всю последовательность триггеров я успел создать, но не успел оттестировать. С другой стороны, никто из участников не оценил её как «фу, очередной шутер на Креаторе, как же они задолбали». Добротный середнячок. Что (с учётом вложенных в неё не самых больших усилий и огромной спешки) показало – технология живая и работоспособная.
И я понял, что идея ретро-шутера на BIMA – рабочая. Движок подойдёт для вполне полноценного ретро-шутера – пусть небольшого, но аутентичного.
Полный вперёд!
С этого момента я приступил к проработке Slipgate всерьёз – начал писать дизайн-документацию, продумал сюжет, научился перерабатывать ассеты для соответствия стилю игры. Даже набрал своеобразную «палитру стилей». В общем и целом, произвёл такую же работу, как любой другой геймдизайнер, на любом другом движке. Ничего особого.
А попутно начал прикидывать, какого функционала мне не хватает от движка. Не хватало, например, полноценных джибзов (кровавых ошмётков, которые разлетаются, когда монстр погибает от избыточного урона). Нет в движке такого функционала – однако, в него встроен замечательный скриптовый язык FPI.
Язык со своими странностями – но я человек бывалый, и писал на тех языках и фреймворках, которыми нынче пугают молодых программистов. Так что FPI показался мне даже дружественным. По сути, это описание классических FSM (конечных автоматов), где можно программировать действия в узлах, а также выполнять условные переходы. Ничего сложного, если понимать графы и иметь под рукой бумажку и ручку.
Однако, о небо, КАК ЖЕ КРИВО иногда работает в нём функционал!
Кодинг на FPI при первом же удобном случае норовит откусить тебе ноги.
Хочешь, например, в определённый момент сделать взлетающего над землёй и опускающегося персонажа. На Юнити – работы на три минуты. Здесь же – это целый квест.
Начало простое – смотришь в мануал и находишь команду, которая двигает персонажа вверх. Отдельной команды на движение вниз нету – но как-то же он должен вниз двигаться?!
Смотришь пример лифта (а он ездит и вверх, и вниз) - и видишь, что для движения вниз в команду "сдвинуть вверх» передаются отрицательные значения. Ну да, вполне логично так-то.
Пишешь простейший скрипт с обоими направлениями движения, запускаешь. Персонаж сначала поднимается вверх, а потом... снова поднимается вверх! Присваиваешь скрипт обычной коробке (предметы без скелета обрабатываются движком чуть иначе), и после подбора нужной комбинации из настроек физики, коллизий и гравитации в скрипте – ты добиваешься корректной работы скрипта на коробке.
Но даже с этими настройками – на персонаже ничего не работает! Перепроверяешь всё десять раз и убеждаешься, что это не ты шизанутый, а лыжи и правда не едут: в случае простого объекта всё работает, в случае персонажа – фигушки.
Пишешь в чат Номаду (не тому, который с корованами, а лидеру команды BIM) и его программистам с описанием своей боли и вопросом «WTF?!».
Номад раскапывает исходники и разъясняет, что команда «движение вверх» для персонажа вообще-то специально игнорирует минусы, а вот работа в «отрицательную сторону» на объектах – недокументированная фича и чуть ли не баг. Тем не менее, стандартные лифты именно через него и работают.
Кто-то из команды не вникает в твой плохой английский, воспроизводит эксперимент с коробкой, и говорит, что «всё работает». Тратите кучу времени, сил и букв на разбирательство в проблеме. В итоге сходитесь на том, что номадовцы обязательно посмотрят на поведение этой команды, но как-нибудь сильно потом – у них и без того релиз задерживается. Печалишься.
Начинаешь думать об обходных путях. Вспоминаешь, что можешь изменять высоту как переменную. Работает кривовато, игнорируя некоторые аспекты твоего левел-дизайна, но для ящика (после колдовства с физикой, коллизиями и прочим) удаётся добиться более-менее стабильной работы. Ставишь скрипт на персонажа, ещё немного игры с параметрами – и О ЧУДО, мы научили персонажа опускаться! Не прошло и двух дней ломания головы, клавиатуры и чатов!
Но если теперь захочешь сделать то же самое для игрока – то горе тебе, ибо соответствующая переменная высоты перемещает только саму игровую камеру, а не местоположение игрока...
Ну да, впрочем, ничего. Мы в нашем энтерпрайзе и не такое видали.
Двигайся быстро, сноси препятствия
...Таким образом, все критичные системы мне удалось дописать. Персонаж начал по-другому бегать, обзавёлся крюком-кошкой, научился разбивать врагов в мелкие джибзы, ставить зрелищные хэдшоты, лечиться при убийствах, карабкаться по стенам а-ля Doom Eternal. Был поправлен ИИ, написанный на FPI - пара трюков из старых игр научили его адекватности.
Закончив основные подсистемы, я решил двигаться дальше. Путём хитрых манипуляций (и опять-таки через знакомых) обойдя санкции, я купил проекту слот в Стиме.
Собрав все материалы, оформил страничку игры. Трейлер я смонтировал из того, что уже было. А было на тот момент готово достаточно ограниченное количество минут геймплея, но удалось удачно захватить из них не повторяющиеся футажи, чтобы показать основу – ретро, динамику и мясо.
Действия и последствия
В качестве пробного шара, я закинул трейлер в пару мест, где сам зависал – в основном, в геймдевные чаты. И трейлер, неожиданно, зашёл. Не сказать, что он супер-мега-хорош, но как-то удалось главное – передать тот самый олдовый дух, который я в игру закладывал. И, неожиданно, к проекту возник интерес.
В личку мне написал человек, заинтересованный концепцией проекта, и желающий приложить руку к созданию монстров. Так на проекте появился опытный дизайнер, обогативший его удивительным арт-дизайном. Потом появился его друг, композитор, сочиняющий металл. А потом из «старой гвардии» моих знакомых присоединилось ещё два человека. Так у нас сформировалась команда заинтересованных хобби-разработчиков. Что характерно – все люди взрослые, с опытом и пониманием базы этого дела.
В итоге, проект расцвёл, закипела активная работа. Выросли наши силы, вырос и размер проекта. Мы уже улучшили многое из показанного в трейлере. Стал более связным (хотя всё ещё включает порталы и демонов) сюжет, старые модельки дополнились новыми, появился написанный специально под проект саундтрек. Мы движемся к первой демке - медленно, но уверенно.
И да, если среди читателей есть желающие присоединиться к разработке тру-ретро-шутера – милости прошу к нашему шалашу. Особенно мы будем рады аниматору и левел-дизайнеру. Пишите.
Потенциально, мы планируем выйти в релиз в этом году. Было бы здорово также найти издателя.
Я хотел бы рассказать ещё обо многом, связанном с разработкой – о том, как выглядит наш workflow (а он крайне специфичен), как мне почти удалось сделать встроенный язык Тюринг-полным, как вскрылся обман в официальной документации, и даже о том, как создатель русскоязычного сообщества FPS Creator попал в тюрьму по обвинению в международном терроризме... но чувствую, что лонг и так уже получается утомительной длины.
Так что подписывайтесь на новости касательно проекта в Телеграмме, добавляйте игру в вишлисты в Steam, смотрите девлоги на Ютубе, читайте в новостях на DTF.
На этом откланяюсь, читавшим всех благ, подписывайтесь и следите за проектом!
Крутой материал, но
По тексту старался описать причины, а
если сжато, то:
1) Аутентичность - старые движки неуловимо отличаются от новых, как новоделы не стилизуй. Вот ты тресни, но отличаются. Физикой ли персонажа, рендером ли... Не зря же всякие Ion Maiden и Aeon делают на намеренно олдовых движках.
2) Ассеты - много, готовые и даром. На любой чих - от огромного генератора до маленького порожка.
3) Простота и быстрота создания уровней - редактор у Креатора это непревзойдённый в удобстве инструмент, и вообще лучшее, что в нём есть.
4) Зов сердца и интерес к решению этой задачи именно теми инструментами, что выбраны 🙂
Бро, у меня олдскулы свело. Я помню 13-ти летним пездюком купил диск с ним и это буквально изменило всю мою жизнь. Игру я так и не сделал, конечно, но не счесть сколько всего я освоил в процессе погони за этой наивной мечтой: 3ds max, фотошоп, научился кодить сайтики тогда. Каким бы неюзабельным говном ни был сам FPSC, но скольким людям он так же поменял жизнь я думаю не счесть, ведь кто-то явно пошел гораздо дальше.
Из-за этого очень весомый период моей жизни был завязан на основном (тогда) русском форуме по креатору - fpsc.forum24 (домен не помню и наверное могут удолить комментарий за ссылку, но кто знает тот знает). До сих пор помню ебанутого админа с ником Тессaракт, уровень ебанутости которого просто невозможно описать одним комментарием (человек-легенда ебать). Там происходило столько драмы, что топиков про геймдев там было процентов 10 от общей массы и те оставались без внимания по большому счету.
Там же я познакомился с другим человеком-легендой (уже в хорошем смысле) - MCHagverdiev кажется был его никнейм. Тот самый, кто сделал ту самую игру про Карабах, на которую сделал обзор тот самый Мэддисон.
https://www.youtube.com/watch?v=NBGgS_MFJzE
Для тех, кто не в теме, рекомендую посмотреть - именно так выглядело 99% игр на FPSC.
Было очень много и других знакомств на том форуме. С частью даже до сих пор есть контакт, однако, там был чел с ником boberr из Бийска, с которым мы прямо неплохо дружили и он же подсадил меня на Slipknot, показав тогда их альбом Iowa (<3), а потом связь как-то резко прервалась, так что если ты читаешь это дай знать :3
В общем да, спасибо за пост, столько воспоминаний навеяло. Удачи в разработке! Уверен, что в новой обёртке и с трендом на ретро у FPSC действительно есть шансы стать тем, чем его выдели разработчики много лет назад.
Я тоже засиживался на этом форуме в те годы. Помню и Тессеракта, и его "Сектор 13", и срачи, и уход Злобного Влада, который увёл с собой большУю часть коммьюнити туда, где оно до недавних лет и обитало. Да, интересное было время 🙂
Спасибо за добрые слова!
Комментарий недоступен
Во-первых, аффтар пешы исчо. Я подписался.
Во-вторых, посмотри Perilous Warp, от уже бывшего соотечественника. Он тоже на ретро-дрожжах замешан, и движок там home-made inspired by gold source. Насколько я понял он в одно лицо много лет пилил и движок и проект (ещё и редактор, название забыл, в стиме есть). Уникум!
P.S. Голос сержанта Хартмана в промо ролике улыбнул.
Спасибо за добрые слова 🙂
В Perilous Warp я играл. Идея проекта мне пришлась по душе, хотя визуальный стиль показался мне несколько унылым - серый, серый, коричневый, серый...
P.S. О, кто-то узнал Хартмана! Я озвучивал трейлер при помощи UberDuck, и для военного персонала Хартман оказался вполне уместен. Главный герой вон вообще голосом Бэтмена разговаривает.
Есть еще HROT, там чел написал свой ретро-движок на Pascal.
Прям в школьные времена меня вернул, когда я нашел диск! с FPS Creator в магазине Метро!! в разделе уценённых товаров.
Конечно дальше создания гениальных линейных уровней из готовых ассетов я не ушел, но это положило начало моему увлечению разработкой:)
Не такой ли случайно? 🙂
Интересный факт - то ли Новый диск втихомолку любил походить под чёрным флагом, то ли просто что-то не договорили с разработчиками - но на диске, по сути, было ломаная версия Креатора.
Лицензионному полагается серийник, а здесь серийника не клали, просто экран активации пропускался. Но первый же патч заменял экзешник Креатора на обычный, и тот закономерно замечал, что ключа-то нет. Народ шёл на форумы НД жаловаться.
Обложка срисована с европейского мегамена? Поза почти та же самая.
Хех, спрашивал у нейросети - она не признаётся 🙂
Отличный текст, было интересно читать, разбавлено шутками, и не перегружено оборотами и подробностями. Не играю в шутеры, не понимаю в программировании, а прочел на одном дыхании. Так что, касательно опроса, ты в целом пиши еще.
О, сразу вспомнил этот великий шедевр, который ещё легально продавался у нас
Спасибо за очень душевный лонг!
Мужик, люди до сих пор на думовском движке игры выпускают, не удивляйся.
На чем нравится - на том и делай.
В это мы не играем.
Тут глаз зацепился за "ограничения".. Я не разработчик, но что мешает не загружать все сразу, а подгружать объекты и ии в процессе приближения игрока? Это же не симулятор реального мира, нет просчета действий нпс с миром\нпс пока игрока рядом нет аля сталкер. Ты встречаешь конкретные объекты\сущности в конкретных точках (как вот шлюз-коридор, после взрыва двери, где нпс всю игру просто........... ждет появления игрока чтобы просто побежать на него?)
В общем-то, это как раз и есть простейший приём оптимизации, применяемый для игр на FPSC: монстров размещают на уровне в "деспавненном" состоянии.
То есть описание монстра в памяти уже порождено, ресурсы с диска подгружены - но моделька не рисуется, физика не считается, ИИ не обрабатывается.
Когда игрок активирует триггер (например, открывает дверь в комнату), скрипт триггера посылает команду - и отмеченные монстры радостно спавнятся.
Проблемы две - и деспавненные монстры, и триггеры на всяких дверях тоже фоново кушают производительность (немного, но если их МНОГО, то становится заметно). Раньше было ГОРАЗДО хуже, но в BIM/BIMA ситуация сильно поправили, и находящиеся далеко от игрока объекты/триггеры сильно деприоретизируются.
Высокая нагрузка на процессоры. Лучше эти мощности пустить на что-то полезное, чем на постоянные подгрузки объектов. Объекты хранятся в тяжелых файлах, а эти файлы распаковываются в память нашего компуктера и наиболее оптимизировано используется и вставляются по нужде.
О. Я тоже когда-то пытался в FPS Creator, но не срослось. Даже в одном из своих постов рассказывал об этом. Тута:
https://dtf.ru/indie/1185013-moy-put-v-geymdeve
Желаю удачи в этом деле, коллега! Будет интересно почитать новые посты)
Спасибо 🙂 сходил по ссылке - надо же, у кого-то сохранились такие древние проекты!
Был у меня в детстве диск, назывался "Конструктор 3D-игр". Там можно было выбрать жанр игры и понапхать готовых ассетов. Получалось примерно то же самое ) Тогда это было забавно.
О, нашел его в инете:
Спасибо огромное за статью! Вдохновляет.
Могу только удачи и упорства пожелать!
Понравилось, что на первом демо ты не удержался и все равно добавил со старта огня)
Спасибо за статью
Я редко читаю лонги, но этот прям хорош. Побольше бы таких.
Где-то ржет DUSK с миллионами прибыли
даск ржет в первую очередь потому что он охуенный
Так а где ответ на вопрос: ЗАЧЕМ
Аутентичность
А есть современный аналог?
Чтобы не ретростилстику делать.
Анрил с наскока не освоить,а нарисовать уровни хочется , простенькие комнаты с коридорами. и заанимировать всё
Какой-нибудь uFPS к Юнити вполне подойдёт, совместно с тамошним ProBuilder-ом. А если хочется попроще - то попробуй GameGuru. Недавно вышла версия Max, она вроде заслуживает интереса, но пока в бете.
Автор, что это за турель такая? Реально, что за устройство?
Батя-ПК снизу, сына-ПК сверху, чё непонятного? Семейное фото
Портативный ионизатор воздуха это 🙂Сейчас похожие продаются, только чуть другой конструкции. Бате кто-то как-то подарил, а я и позаимствовал. Впрочем, целебного эффект от него я не заметил - только ветерок дует в лицо, да пыль на него оседает люто.
Если найдете издателя, то сразу предвижу 2 проблемы, на которые он обратит внимание:
1. Насколько движок портируемый
2. Название игры один в один Splitgate, за это вам жопу откусят юристы при малейшем успехе
1. Движок таки не портируемый, но если надо - собранные уровни редактором запекаются в одну геометрию и перетаскиваются в Юнити, с модельками ещё проще.
2. Вообще, Slipgate - это название порталов из первого Quake (да и вообще жаргонное название порталов). Но оно не запатентовано. Да и перепутать один продукт с другим может разве что слепец :)
На питоне там есть игровой движок тож, думаю это твоя следующая остановка
Польские шутаны на фпс креаторе мммм
Здорово. На BIMA только для ПК игры можно делать?
Да. В принципе, на консоли вроде можно делать в GameGuru, но он - штука на любителя. Многим олдам не зашло.
На моменте с коробкой & персонажем - картинка с буханкой и троллейбусом возникла в голове окончательно :D
Не, если конечно нравится больше воевать с конструктором попутно обтачивая кактус на блюдо (и есть тонна свободного времени на это), нежели сосредоточиться на разработке собственно игры - инструмент выполняет задачу полностью. В остальном же..
Не соглашусь, что на современных движках невозможно передать ретро. В случае с Unity - как минимум Daggerfall Unity (с открытыми исходниками) и не+официальные порты Doom, показывают обратное. В рендере Unity не уловить.
Из визуально схожего с твоим проектом, Blood West еще вспомнил.
Unreal - ровно тоже самое, и даже больше. Благодаря открытым исходникам (на С++ - нормальном ЯП), и широкой кастомизации движка в целом, есть проекты как например Bloodborne PSX, глядя на который даже невозможно предположить, что это НереальныйДвижок.
Могу еще понаходить, но суть одна - ретро передать на современных движках возможно, при этом инструменты адекватнее в разы.
В тех годах, 2008 году баловался. Потом к сожалению вин хп полетела и все наработки исчезли. Как и русские текстуры для сан андреаса, вайса и много чего. Подрабатывал дизайнером объявлений тогда. Еще Callfactor был помню какой-то технодемка с физикой и .kkrieger, шутан на 30 кб веса
Комментарий недоступен
Ну по сути, можно создать какой нибудь пост модернисткий шутанчик, в котором все будет работать не так, как должно. Либо же сделать cruelty squad 2
Увидел "Историческую справку", подумал "Исторически так сложилось", закрыл статью)
О каком самописном яп идёт речь? Уже давно исходники крейтера лежат на гитхабе, а он сам опенсорс, там чистейший C/C++ (Что в свою очередь не отменяет кривизны движка, но всё же)
Исходники Креатора (как движка) - на Dark Basic Professional.
А вот исходники среды для сборки уровней да, на чистейшем C++. Но есть НЮАНС - они не последние, а соответствуют примерно пред-пред-последней мажорной версии. С актуальной версией движка они несовместимы.
Да и среда сборки не так чтобы сильно состарилась, с ней как раз относительный порядок.