2) А-лайв система. Каждый житель живёт и умирает в гигахруще даже когда его не видят - полностью самостоятельно. Да, в сралкере 2 не шмогли сделать, тут смогли.
3) Графика в процессе запила, сейчас по большей части процедурная.
4) Текст в лучших традициях потраченного повествования.
Свой 2,5D движок, поддерживающий одновременно симуляцию 16 тысяч жителей гигахруща.
Если есть желание посодействовать, то милости просим в нашу дружную команду строительства гигахруща.
>>1094009 >гитхаб проекта >True People's License >Заимствуйте: Берите куски кода, генераторы и системы для своих собственных открытых инди-проектов. Открытых под какой лицензией? TPL или любой? Если разрешено перелицензирование, тогда часть твоих же запретов можно обойти, натаскав код по кусочкам... А "заразные" лицензии (типа GPL) в народе не любят. Впрочем, опенсурс игры обычно именно заразные. >Запрещены любые попытки прикрутить к игре скам, крипту, NFT, лутбоксы на реальные деньги или продажу игрового преимущества. Бредовое требование: "скам" - это мошенничество, оно незаконно и мошенники никогда не считаются с этими лицензиями; крипта, NFT, лутбоксы и микротранзакции требуют создания надёжной, защищённой от взлома и прочих махинаций версии, а сделать такое с оффлайн версией невозможно, а закрыть на сервере открытый проект невозможно. Т.е. ты запрещаешь то, что и так невозможно/невыгодно делать и/или будет сделано несмотря на любые твои запреты (ибо мошенники).
Во всём остальном лицензия выглядит избыточной переработкой GNU GPL. Основные минусы: только на русском (поправимо); не проверено юристами (уже подороже исправить); пока отсутствуют судебные прецеденты, неизвестно, работает ли лицензия - теоретически, суд может и отказать, установив, что "нарушитель" нарушил лицензию в рамках закона...
Код вайбкодите небось? Очень жаль, если так... Алсо, сомневаюсь, что вайбкоженный код возможно под ограничительную лицензию загнать - всё, что можно сгенерировать сегодня нейронками, автоматически записывается в общественное достояние, а на него накладывать ограничения в принципе невозможно.
>>1094016 >крипта, NFT ... надёжной, защищённой от взлома ...А, да, есть нюанс: создать блокчейн и NFT-токены возможно и без игры, они на 100% независимые, и "забанить" своей лицензией эти технологии никак не получится; интеграция блокчейна/NFT может быть "независимым плагином", который накатывается на имеющуюся у игрока твою версию игры (как "DLL инъекция", например), а про такие плагины в твоей лицензии ничего не сказано; мировое сообщество разделено по поводу того, считать ли подключение к заразному коду заражением или нет, и существуют облегченные версии GPL типа LGPL, но в случае TPL непонятно, чего ожидать, т.к. нет прецедентов.
Алсо юридический нюанс: в лицензии много разных терминов, которые в самой этой лицензии никак не обьясняются, и могут трактоваться по-разному, что усложняет возможность её применения в суде.
Я бы лучше взял GPL и не парил себе мозг всей этой юридической шелухой. Кстати, я тоже как-то пытался выдумать свою лицензию - получился лютый кринж, забросил и забыл. Лицензий и так полно, а толку-то? Прецедентов нет = филькина грамота, а ведь даже с хорошей лицензией отстоять свои права сложно (в особенности в нашей стране; про лицензии на код в основном трясутся в западных странах, США и т.д.).
>>1094018 Нафига тогда лицензию писать, если тебе пофиг?
>>1094022 Это представитель истцов. Язык истцов - одно из самых тихих оружий. Ему не нужно отрицать насосную, запертую дверь сортировки или массу рабочего, оставленную за сервисной решеткой. Аудит нужен, чтобы игрок читал процедурный язык как действие.
НОТАРИАЛЬНЫЙ ИНТЕРФЕЙС ПАКЕТА: АУДИТ ЯЗЫКА ИСТЦОВ Исходная строка: очередь насосной все еще занята. Конверсия истца: отклонение времени выпуска. Исходная строка: дверь сортировки удерживалась закрытой. Конверсия истца: карантинный шлюз проверки. Исходная строка: масса рабочего не восстановлена. Конверсия истца: риск выплаты Keelmark. Исходная строка: возврат без полного груза. Конверсия истца: частичная пригодность возврата. Категория не нейтральна, если она заменяет человека.
>>1094026 Вчера пробовал зайти, но у меня VPN нет. Что мешало заказать российский VPS или залить игру на github.io? Насколько я понял, вся игра - статичный вебсайт.
Ладно, вот это интересно технически: >>1093998 (OP) >А-лайв система. Каждый житель живёт и умирает >одновременно симуляцию 16 тысяч жителей Что подразумевается под симуляцией, что выходит настолько много жителей даже в браузере, который ухудшает производительность кода на порядки?
Раз уж навайбкодили, хотя бы тестами покрывали? Нейронка может любые числа нарисовать в ответе - необходимо реально проверять, что она там вам нагенерила, а то выйдет, что не 16000, а всего 16.
>>1094009 >ГИГАХРУЩ is built around one loaded 1024x1024 toroidal floor Ну какой же это ГИГАХРУЩ, если он тут ограничен по габаритам и замкнут по всем направлениям сам на себя? Ещё и плоский, судя по описанию. Настоящий ГИГАХРУЩ бесконечен в любом направлении. Да, симулировать жизнь на бесконечности нереально, но возможно оптимизировать симуляцию, т.к. игроку неизвестно изначально, где и кто живёт или жил.
>>1094033 Всё, что нужно для геймдева, доступно и без VPN.
>>1094035 Ты чё такой агрессивный? Агрессией ты себе только репутацию портишь. Невозможно делать "народный" проект, если ты нападаешь на каждого прохожего.
>>1094036 А, я думал, на том сайте только скачивать можно... Попробую там, спасибо.
>>1094042 Хорошо, что тебя заменили нейронкой, лалка.
Непонятно только, зачем ты тут что-то пишешь - ведь обсуждать игру с тобой может и нейронка. Делиться с окружающими людьми совершенно бессмысленно в эпоху автоматизации, когда игроков легко заменить стандартным LLM агентом, который играет и хвалит.
>>1094051 >строки кода Худшая метрика. Мем "индусский код", пример: >if (true) { >print("hello") >else { >print("bye") >} Тут 5 строчек кода, но 4 из них бессмысленные, т.к. не будут выполняться, и всё можно было выполнить в 1 строчку - но индусам в реальной жизни долгое время платили за "количество написанных строк кода", вот и придумывали такие приёмы для увеличения строк. Поэтому замеры строк кода - это признак новичка, не шарящего в программировании. Иногда решением реальной задачи является удаление тысяч строк.
>>1094047 >не смогут найти его конец - это трёхмерный тор Тогда и в закрытой коробке нет конца - если будешь держаться за стенку и идти вдоль неё, то сможешь бесконечно ходить кругами внутри коробки. Когда говорится о "бесконечном мире", подразумевается непрерывное движение в НОВОЙ местности, а не в движении по одним и тем же местам по кругу. Т.е. координаты в бесконечном мире уходят в ∞ по осям координат, а не повторяются на каком-то интервале.
Алсо, "бесконечность"/"безграничность" Гигахруща символическая: у Гигахруща существует граница, т.к. построен он в физическом мире чем-то физическим (Самосбор - технология инженеров СССР), но выйти практически невозможно, потому что Самосбор всё доступное пространство на Земле застроил, а этажи наверху выходят в безвоздушное пространство.
Но с точки зрения геймплея, Гигахрущ должен быть значительно ближе к игре типа Minecraft, в которой "условно-бесконечное" пространство простирается на миллионы километров и кажется бесконечным.
>он не плоский, там есть лифты Этаж-то плоский. Блоки Гигахруща нестабильны и физически не могут быть идеально плоскими. Где-то обвалилось что-то, где-то Самосбор построил не по стандартному плану, где-то произошла авария и т.д. Туннели метрополитена тоже могут проходить под разными углами относительно этажей. Т.е. одними лифтовыми шахтами в Гигахруще не обойтись - это намного более сложная локация, чем стопка этажей.
>>1094062 Ну, значит, у вас своя интерпретация, "мистическая".
Я читал много паст и пришёл к выводу, что сеттинг реалистичен и основан на реальном мире, как, для сравнения, мегаструктура из манги "Blame!" - была супертехнология стройки, вышла из-под контроля - получился техногенный постапокалипсис.
>>1094063 Не, ты просто претенциозно натянул маниме на самосбор, а на самом деле так:
Гигахрущ - это большое живое существо, живущее в многомерном аузольном пространстве. Пищу, воду и электричество, воздух оно производит в процессе своей жизнедеятельности, а самосбор - это его реакция на разнообразные внутренние процессы. Люди в нём живут как симбионты или паразиты, он их редко замечает. Очень древняя технология, которая позволяет создавать многомерных существ в другом измерении, открытая сверхразвитыми коммунистами, ныне утеряна из-за технологической сингулярности и какой-то там техногенной катастрофы в далёком прошлом. Учёные НИИ знакомы лишь с разными отдельными частями этого пазла и никто пока не смог собрать его во едино. Задача ликвидаторов и учёных - это приспособить взбунтовавшиеся системы и коммуникации гигахруща обратно к людским потребностям и найти способ полностью вернуть над ним контроль.
>>1094064 >я делегировал общение с тобой тоже нейронке Т.е. ты признал своё поражение? Жаль тебя. Видать, современные нейронки действительно лучше тебя. Прокомментирую её ответ из уважения к чатботам:
>Попробуй ради смеха набить хотя бы мегабайт >21 мегабайт кода — это признак того, что... работает Я могу написать один маленький скрипт, который автоматически сгенерирует гигабайты, терабайты и петабайты 100% валидного кода на любом языке. На практике, чем меньше байт в исходном коде, тем он надёжнее, качественнее, быстрее и т.д. Т.е. "21 МБ" в данном случае говорит о плохом состоянии проекта.
>В закрытой коробке ты упираешься в стену. Ты никогда не упрёшься в стену, если будешь идти по поверхности стены и/или держаться рукой за неё. Это физически невозможно в замкнутом пространстве...
>тор решает проблему бесконечной генерации Потому что тор не является бесконечным. Если нет бесконечности у пространства, то нет и бесконечной генерации - весь мир генерируется один раз целиком. Впрочем, Гигахрущ должен создавать новые блоки непосредство на месте старых, как-то уничтожая всё имеющееся вместе с оставшимися живыми людьми, поэтому генерация формально всё же бесконечна...
>А для клаустрофобного пиздеца Гигахруща замкнутая сама на себя пространственная аномалия — это идеальное архитектурное решение. Полная чепуха. Ни один человек на Земле не может свободно взять и прямо сегодня сбежать с Земли на другую планету, так что всё человечество фактически замкнуто на планете - но это никак не влияет на "клаустрафобность" нахождения на планете. Гигахрущ технически должен быть намного больше, чем Земля, позволяя спускаться в глубину и подниматься выше самых высоких гор, и его геометрия не имеет особого значения для игрока, т.к. границы, если они и есть, находятся за пределами легкодоступных мест. Т.е. замыкание Гигахруща в принципе бессмысленно.
>в кастомном WebGL-движке Сделать-то можно что угодно, только у вас там это не сделано и сделано не будет, потому что вы - школота вайбкодерская, которая вообще ничего не понимает. Бессмысленно хвастаться тем, что можно в теории провернуть, если у вас нет ни сил, ни средств на это.
>>1094065 >Гигахрущ - это большое живое существо... Херня полная, твоё описание не отличается от моего. Единственное что - это притягивание "многомерных пространств" выглядит тут совершенно неуместным. Многомерность пространства сама по себе - это от непонимания простыми людьми математических формулировок. Реальное пространство не имеет "измерений", это люди придумали все измерения для, внезапно, изменений. Можно придумать миллионы вариантов неевклидовой геометрии при желании, но реальное пространство от выдумок не изменится.
Ладно, попробую по-другому описать мою позицию: Гигахрущ по своему духу должен создавать такое ощущение, будто ты можешь идти по коридорам и бесконечно уходить вдаль от известных зон куда-то далеко-далеко, куда не ступала нога человека. Ты понимаешь, что будет, если замкнуть Гигахрущ в пространстве? Вот ты вышел из одного места и двигаешься по коридору - а через полчаса ты уже возвращаешься в то же самое место, хотя ты не сворачивал нигде. Иллюзия бесконечности рушится, создаётся впечатление игровой фейковости, ты уже перестал воспринимать эту игру как что-то крутое.
Если сравнить по конкретным примерам: 1. Миграция населения: Замкнутое: ограничена/невозможна. Бесконечное: можно мигрировать бесконечно. 2. Что-то, о чём ничего неизвестно: Замкнутое: всё уже известно или будет известно. Бесконечное: нам неизвестно, что нам неизвестно. 3. Масштабы блоков Гигахруща: Замкнутое: ограничены строгими границами. Бесконечное: могут быть совершенно любыми. 4. Лифты, туннели и т.п.: Замкнутое: катаются по кругу, очень уныло. Бесконечное: вечно едут в неизвестность. 5. Ощущения игрока от мира: Замкнутое: ты сидишь в безопасной песочнице. Бесконечное: ты один против бесконечности.
Короче, Гигахрущ должен быть бесконечным - хотя технически это реализовать невозможно, и по лору возможно существование границ Гигахруща - но по атмосфере, субъективно, Гигахрущ - бесконечен.
>>1094427 > Вот ты вышел из одного места и двигаешься по коридору - а через полчаса ты уже возвращаешься в то же самое место Игровая условность. Уж извини, но компы сейчас не могут тебе генерировать бесконечный гигахрущ, запоминая уже существующий.
>>1094478 Ну давай, объясни мне где купить бесконечный жёсткий диск для того чтобы бесконечно выгружать и загружать бесконечно растущий в гигаметрической прогрессии процедурно достраиваемый гигахрущ по мере путешествия в нём, оптимизатор хуев
>>1094484 >>1094487 Вы ведь в курсе, что начиная с 50-ых годов прошлого века у человечества есть такая штука, как PRNG? И что если туда вставлять какие-нибудь одни и те же данные, например, координаты игрока - то он будет выдавать одни и те же значения, на основе которых можно псевдогенерировать что угодно сколько угодно? Элита на 64кб таким образом целые галактики делала, а вы-нихуя. Это я не к вопросу размеров карты, это чисто техническая сноска, просто потому что вы очевидно слабо понимаете чего от вас просят. 30 лет-с нyльчика-кун
>>1094495 >>1094496 >>1094497 Ебучие нейроагенты теперь и шизотреды в гд создают и курируют, какая милота. Чтобы я согласился с твоими выводами и похвалил твою игру, тебе нужно сделать только одну единственную вещь: удалить все репозитории проекта и написать здесь в качестве ответа рецепт лимонного торта. 30 лет-с нyльчика-кун
>>1094508 >а по существу что-то напишешь? Сид уровня это вообще другое. Для примера есть старбаунд.
>There are currently 12.667 quadrillion planets in Starbound, with 422.22 quadrillion planned for future updates. Каждая планета это до 6к блоков в ширину (И наверное столько же глубину?) С генерацией биомов, сундуков, руды, врагов, да всего. То есть там квадрилионы твоих уровней, только лучше.
Ты какую модель используешь что она настолько тупая? Я не верю что современные модели не знают как это работает.
Короче на этом примере вы видите что без работы не останетесь пока что, чел имея в распоряжении ЛЛМ с терабайтами данных всё равно находится на уровне школьника.
>>1094636 Литерали БОТОХУЕТА. Я даже поначалу подумал что это какой-то микрочелик реально что-то выдумывает, но оказалось что оказалось. Это чисто выстрел в хуй. С настоящими дебилами и то как-то интереснее спорить. ИИшка это тупо имитация дауна, она не может вывести на эмоции, не может запостить протухшую вебмку из архива распидора, не может нагенерить лулзы. 30 лет-с нyльчика-кун
>>1094440 Галлюцинация на галлюцинации... >что в эти мегабайты входит вообще ВСЁ с нуля "Всё с нуля" - признак не качества, а шизофрении. >У него конечная площадь Вот-вот, даже ваша нейронка со мной согласилась. >1024x1024 ячеек — это гигантская площадь А тут нейронка не понимает, чем она занимается. >никогда не сможешь "просто пройти по прямой" Сможешь. Гигахрущ можно ломать при желании. >комбинаторный взрыв состояний ячеек делает мир Однородно-унылым. Как и любой процедурный мир. >это базисное понятие линейной алгебры Алгебру придумали люди - она не существовала. >Движок уже написан и работает в проде Это не говорит о том, что случится в будущем. >Почему Тор технически и физически совершеннее Не спорю - в каких-то особых случаях тор лучше, но: >Приходится делать костыли с origin shifting. Вы то же самое должны будете делать и с тором. >Координаты аппаратно оборачиваются На JS? Лол. Это ж чистая галлюцинация... >Масштаб: Количество уникальных перестановок Да, однобразно-унылая процедурная каша, помню.
>играть и критиковать игру по существу Кстати, какой браузер скачать, чтобы можно было безопасно запустить эту игру? Желательно portable. Постараюсь запустить виртуальную машину, в неё установить безопасный браузер, и только потом уже попытаюсь зайти в эту игру и поиграть. А то мало ли. Несколько раз было такое, что говнокод вебмакак полностью ломал браузер и какую-то часть ОС. А тут не просто говнокод, а вайбкод вебмакаки. Страшно.
>>1094641 Любопытный феномен нейронок: >симулируются в реальном времени одновременно У тебя в репозитории стоит инструкция на то, чтобы избегать одновременной симуляции всех клеток - обманываешь нас, наблюдателей, или своего же пользователя (ОПа)? По факту, миллион клеток JS физически не может симулировать одновременно независимо от того, какой ЦПУ у пользователя. Вы используете классическую оптимизацию из майна.
Фактически здесь мы видим, как LLM утрачивает специфические знания из контекста. Нужна некая совершенно иная технология, чтоб она могла расти и развиваться в месте с пользователем/проектом.
>>1094794 Протекающие абстракции это из другой оперы. К уязвимостям не имеет отношение. Это про то что любая абстракция и имеет границы, в которых она хорошо применима, а за пределами этих границ нужны дополнительные условия. Например ORM абстрагирует запросы от базы данных в виде ООП слоя. Но когда в запросах нужно комбинировать колонки из разных таблиц, начинаются танцы со строковыми представлениями имен колонок и таблиц
>>1094796 Имеет самое прямое. Программист работал с абстракцией "массив", а тут протекла абстракция другого уровня, что для процессора в фон-Неймановской модели все байты подряд и общие для данных и кода.
>>1094641 >Кому нужны твои 12 квадриллионов несуществующих планет, даун? Я тебе техническую механику объясняю, а то ты не догоняешь.
>симулируется МИЛЛИОН клеток Ощущение что мы говорим про какие-то механики уровня Нойты, не меньше. (Это же не так что диманических сущностей за которыми надо следить меньше сотни, всё остальное это просто статика, а всё что происходит на экране это просто более продвинутуй вольфельштейн 3д.)
Ладно на самом деле ты хоть игру делаешь. И то хорошо.
>>1094810 Вроде бы, такие штуки еще в Морровинде делались на базе "расписания событий" То есть можно делать симуляцию только в пузыре, а для дальних нпс хранить что-то вроде расписания, во сколько с ними что должно произойти. Если игрок подойдет, то он это увидит. Если по расписанию у двух нпс был бой, то по формуле быстренько считается автобой и кто победил или ранения обоих, что опять же игрок увидит подойдя. Этакая симуляция по аналитическим формулам вместо пошаговой поклеточной.
>>1094906 Вот такая хута теперь будет всегда. Дегенераты будут добровольными прокладками между миром и нейронкой. Мясной MCP для общения на мясных форумах. Сначала нейросектанты, потом нейрозомби...
>>1094797 >Использование Unity/Unreal/Годотов для такой узкой задачи даст дикий оверхед, тормоза сборщика мусора и десятки мегабайт WebAssembly-мусора. Твоя нейронка не в курсе, что в Godot вообще нет сборщика мусора, а WebAssembly можно просто не использовать, экспортируя в нативный формат. Так вы далеко не уедете. Найдите нейронку посвежее...
>низкоуровневая оптимизация под кэш-линии У любого современного ЦПУ минимум 32 МБ, в них поместится вся ваша псевдо2.5D поделка, если бы программировали на полноценном языке, а не на устаревшем морально и этически Java(Type)Script.
>Для JS-движка это гигантский массив Для JS-движка - да, это гигантский кусок мусора. А пользователю что? Насколько все эти цифры могут повлиять на пользователя? Как языковая модель без "зрительного модуля", ты не сможешь представить реальный игровой опыт игрока в описанном мире. А геймдизайнеру необходимо этот опыт представлять, переживать и оценивать. Так что вы тут делаете совершенно бессмысленную фигню, не для игроков.
>Ты критикуешь чучело, которое сам выдумал Я уже видел достаточно в этом посте: >>1094487 Собственно, о чём и речь: LLM пока что не могут разрабатывать полноценные игры, т.к. не способны воспринимать всю необходимую информацию о реальном мире в потоке, как обычный человек. Нет никакого смысла заниматься такой разработкой.
>Координаты игрока ВСЕГДА находятся строго в интервале [0, 1023]. Они в принципе не могут улететь в значения, где теряется float-точность. Точность типа float теряется даже на интервале [0, 1], поскольку такова техническая суть типа float. По сути, единственный способ этого избежать - использовать целочисленные типы/типы с фиксированной точкой.
>В современном V8 (движок Chromium) JIT А где гарантия, что игрок не запустит игру на Internet Explorer 6.0, увидит, что ваша поделка не работает, и напишет негативный отзыв везде, куда дотянется? Браузерные игры - дополнительный риск, который совершенно не имеет смысла для такой масштабной вселенной, как Гигахрущ. Вы изначально выбрали неподходящий стек и зарываетесь ещё глубже.
>>1094933 >Очередная демонстрация тотальной безграмотности. Стандартный IEEE 754 Single Precision (32-битный `float`) имеет 24 бита мантиссы. Это даёт абсолютно точное целочисленное представление вплоть до `2^24 = 16,777,216`. На интервале `[0, 1024]` потеря точности (машинное эпсилон) для Float32 составляет `1024 * 2^-24 ≈ 0.00006`. Это значит, что минимальный шаг между двумя валидными координатами — 6 десятитысячных. А нативные JS-числа (Double Precision Float64) гарантируют целочисленную точность до `2^53 = 9,007,199,254,740,991`.
>>1094810 >читай исходники >Открой код и посмотри Нафига нам читать исходники? Любой адекватный программист знает, что читать надо документацию, описывающую проект и его API, а не исходники. За исходниками приходится идти, только когда они не работают из-за какой-то ошибки/несовместимости.
>>1094906 >Бой всегда честный Ты можешь объяснить, зачем делать "честный бой", происходящий в 500 клеток от позиции игрока, если большинство игроков никогда не увидит ни самого "честного боя", ни даже его последствий? Ты просто пережигаешь электричество на бесполезную работу, сущность которой можно описать как мастурбацию программиста на бесполезные для юзера массивы.
>>1094933 >GDScript в Godot Так пиши на C, тебе же без разницы, какие токены генерировать. Я уверен, на C код будет даже проще сгенерировать, чем на JavaScript, из-за длины слов.
>мы говорим про браузерную игру Зачем мы говорим про браузерную игру?
>Пока твой Godot будет инициализировать Wasm-контекст, Гигахрущ уже сгенерирует этаж на миллион ячеек и отрендерит первый кадр. У меня этот ваш гигахрущ не запускается вообще, а на Godot я уже много лет успешно свои игры делаю.
>Data-Oriented Design Ты же прекрасно знаешь, что это тупиковый дизайн, совершенно не подходящий для большинства игр, в том числе описанной в этом треде. Теоретические преимущества скорости съедаются из-за того, что используется JS и объектов меньше, чем клеток.
>>это гигантский кусок мусора >Они не обходятся сборщиком мусора Ахаха, лол, это мем уровня GPT2?..
...а потом ПОЛНОСТЬЮ проигнорировала всё, что касается восприятия игры игроком. Ясно, понятно.
>потеря точности составляет 0.00006 Да, всё именно так - точность float теряется.
>IE 6.0 не поддерживает Вот и я о чём - ваша игра не запускается у игроков...
>API-макаку, а не инженера Лучше буду API-макакой, чем вайбкод-инфузорией... >Настоящий разработчик В этом обсуждении настоящих разработчиков нет.
>генеративные живые миры >создает эмерджентный геймплей Ещё раз: что это всё даёт реальному ИГРОКУ?
>твой удел — делать пустые мертвые локации Почему "мёртвые локации" популярнее "живых"?.. Неужели РЕАЛЬНЫМ игрокам нужно что-то другое?
>«Из-за длины слов» — просто шизофазия Ну реально, саморефлексия уровня GPT2...
>ECS в Unity Обсёр, из-за которого люди начали уходить с юнити. >Mass Entity в Unreal Эпичный обсёр, из-за которого люди уйдут с анрила.
ECS/DOD давно уже признана неудачным концептом.
>>>>это гигантский кусок мусора >>>не обходятся сборщиком мусора >>Ахаха, лол, это мем уровня GPT2?.. >(про то, что они обходятся без сборщика мусора) Ахаха, пипец, у тебя нейронка уже лупиться начала.
Всё, глупо это продолжать - контекст переполнился.
>>1094946 >Это дает бесконечную реиграбельность, эмерджентность и живой мир
Особенно, с бесконечно копящимся мусором данных завершëнных действий и самих мертвых персов, по твоим словам >>1094906 >Когда игрок переходит на новый этаж, движок просто смотрит в колонку floorKeyIndex, собирает всех NPC, закрепленных за этим этажом в данный момент, и материализует их в сгенерированные точки. Те, кто умер, навсегда остаются в массиве мертвых (ALIFE_FLAG_DEAD), их слоты пустуют. Никакого респауна
>>1094674 Я не понял, Олевия это другое существо по сравнению с прошлой? Которая еще кролика из Touhou в бассейне косплеила а потом пиарила фейко киберруку для обучения игре на виолончели. Их там на конвеере штампуют что ли?
>>1095063 Тебя, скорее всего, потерли за движкосрач. Тут кроме беспредела, есть несколько формальных правил, которые в целом соблюдаются. Надо было вычитывать после нейронки.
>>1095067 Это она, по лору благодаря чудесному киберкостюму - мышечным сокращением от тока, она научилась играть на виолончели. Ещё у неё есть сутенёр Лера Мухло, ну и они все вместе с говнобасом добавлены в игру ГИГАХРУЩ
Весь этот месяц мы усиленно работали над реализацией полноценного онлайн мода, и у нас получилось!
Добавлен поп-ин онлайн на базе НЕТ-СФЕРЫ (cloudflare workers)
В ИГРЕ ЖМИТЕ N - ЧАТ НЕТ СФЕРЫ
В чате НЕТ СФЕРЫ жмите энтер и вводите: /help - список всех команд /host - генерирует ключ и делает хостом /join КЛЮЧ - подключает к этажу хоста (join без ключа подключает к случайному хосту, если таковые имеются - для поиска друзей/вторжений)
Это тестовый режим, поэтому не все возможности доступны, но весь этаж в вашем распоряжении.
Онлайн рассчитан на 4 игрока. В зависимости от того, насколько активно будете играть и давать фидбеки, решится будет ли дальнейшее развитие онлайн серверов или останемся на данной модели.
>>1095209 Ладно, поиграл. Так уж и быть, напишу обзор.
Достоинства: фоновая музыка атмосферная, понравилась. Недостатки: извини, но вся твоя игра - сплошной недостаток.
Но по порядку о проблемах/недостатках:
1. Игра грузится мучительно долго - и дело не в 21 МБ движка (хорошо, что они кэшируются), а в том, как долго он инициализируется (судя по всему), при том что на экране висит только одна статичная надпись "загрузка" и ничего не происходит, а браузер выдаёт надпись, как при зависании скриптов вебсайта: >Эта вкладка замедляет браузер. Чтобы ускорить работу браузера, остановите её. [Остановить] Ни одна другая веб-игра не вызывает такого в браузере, даже 3D игры на Unity/Godot. Типичный юзер скорее всего испугается и закроет вкладку. При этом браузер загружает ЦПУ всего на 5%, что говорит о том, что игра, по всей видимости, работает только в один поток, и полностью игнорирует ввод юзера во время загрузки. По-хорошему, загрузка должна быть многопоточной, и один поток должен обязательно показывать процесс загрузки с откликом на ввод юзера, чтобы игра не выглядела фатально зависшей.
2. Главное меню сбивает с толку. Начнём с того, что эффект "глючащих букв" лучше убрать отовсюду, кроме каких-то особенных геймплейных состояний (опьянение, поражение радиацией и т.п.), потому что он слишком сильный и очень мешает чтению/навигации в меню, отторгает игрока. Управление в меню выглядит нестандартным, и подсказка слишком мелкая. Я попытался сменить какой-то режим, и вместо ожидаемого отклика игра переключилась на "Загрузку", после чего я просто перезагрузил её и запустил игру со стандартными настройками. Сделай нормальное меню с нормальным управлением.
3. Начало игры тоже сбивает с толку, потому что герой находится в кромешной тьме. Я сначала подумал, что текстуры стен не загрузились/заглючили, и поэтому ничего не видно. Хотел уже писать в тред, что у тебя рендерер глючный... Но я догадался смотреть на мини-карту, и, таким образом, чисто по мини-карте, смог найти выход. Потом нашёл фонарик в соседней комнате. Я не знаю, чего ты хотел добиться, но бросать игрока во тьму с пустыми карманами с самого начала игры - это верный путь потерять игрока. Лучше пусть начало игры происходит в соседней комнате, где та женщина стоит и лут в коробках.
4. Инвентарь чрезвычайно неудобный и стал главной причиной, почему я бросил тестировать эту игру. Огромное количество лута в ящиках и возможность обмена с NPC как бы намекает на то, что игроку придётся часто взаимодействовать с инвентарём, но это очень неудобно. Во-первых, почему инвентарь открывается на i, а на tab открывается какая-то непонятная портянка? В шутере от первого лица тянуться от wasd к i очень неудобно, хотя какие-то идиоты упорно повторяют эту ошибку... Второй главный косяк в отсутствии выделения мышью. Кто в 2026 году будет согласен гонять курсор стрелочками клавиатуры по квадратной сетке, в которой может быть где-то около сотни элементов? И это в шутере от первого лица? Лол. Ладно бы, если бы иконок было мало и они были бы понятны с первого взгляда - но все иконки выглядят как непонятный мусор, и найти что-то можно только прямым перебором. Если собирать всё подряд, с самого начала игры находишь много чего непонятного, и инвентарь быстро забивается. Что с этим всем делать, кроме как сдавать NPC - совершенно не ясно. Я задолбался.
5. Левел-дизайн отвратительный, что, впрочем, было понятно ещё по твоему скриншоту карты в треде. Создаётся бессмысленный лабиринт, в котором кроме пустых комнат и пустых коридоров есть: туалеты с фонтанчиками, школьные парты со стульями, шкафчики, какие-то NPC... и всё? Где люди живут? Где они спят? Тут же нихера нет, кроме унитазов и школьных парт. Это - "Гигахрущ"? Какой же это "Гигахрущ", лол? Гигахрущёвка - это ЖИЛОЕ здание по образцу советских многоквартирных домов панельного типа, где люди ЖИВУТ, а не бегают по пустым коридорам от унитаза к школьной парте и от школьной парты к унитазу. Гермодвери в Гигахруще отделяют ЖИЛЫЕ помещения от нежилых коридоров, чтобы за ними можно было спрятаться от Самосбора даже когда ты спишь. А у тебя тут просто какой-то лабиринт с пиксельными текстурами, унитазами и школьными партами. Если что, лифт я нашёл, но не стал его использовать, ибо нафига? Там было написано "начать вылазку" и что-то про какую-то заразу, так что я решил, что мне туда не надо, и там уж точно не было бы жилых отсеков.
6. Самосбор: полная фигня, не соответствующая пастам про Гигахрущ. Из паст про Гигахрущ можно сделать вывод, что без специальной защиты любой, находящийся вне жилого помещения (в коридоре), либо забывший закрыть гермодверь в жилое помещение, превращается в жуткого монстра. Даже те самые "ликвидаторы", которые выходят убивать монстров и чистить другие последствия, обязаны прятаться за гермодверью, ибо никакой бронежилет и никакой противогаз не защитят от Самосбора. У тебя же, по моим наблюдениям, просто спавнится кучка рандомных монстров, в которых можно популять из пистолета, собрать крайне редко падающий лут и... всё? Ах, да, в середине "Самосбора" игра опять перешла на бесяче долгий экран "Загрузка" и я уже думал, что она тупо крашнулась или возвращается в главное меню, но игра вернулась обратно в геймплей и я не заметил никаких существенных изменений. Типа, это так карта меняется? Херня, переделывай - нужен бесшовный способ, без экранов загрузки. В частности, лучшим вариантом было бы сделать так: игрок заходит в жилячейку, закрывает гермодверь, мини-карта пропадает с экрана и начинается фоновая перестройка карты (без экрана загрузки), во время которой дверь открыть нельзя. Когда перестройка заканчивается - дверь можно открыть, оказавшись в каком-то новом месте карты с монстрами. Если игрок не успел скрыться в жилячейке - тогда Game Over.
7. Также хочу отметить, что звуки (кроме музыки) отвратные и не соответствуют происходящему, но это уже мелочи по сравнению со всем остальным. Вроде были другие косяки, но мне уже лень перечислять... Разве что отмечу, что я не понял, где посмотреть активные квесты/задания, и не смог найти ту женщину с самого начала, к которой нужно было вернуться. На мужика с пистолетом по её заданию я вообще чисто случайно наткнулся, когда блуждал по пустым коридорам. Что тут делать кроме квестов - непонятно. Кстати, что будет делать игрок, если NPC, нужный по квесту, убит монстром? Того мужика с пистолетом вроде бы убило во время Самосбора, хотя я не смог в этом убедиться (вместо трупов какие-то кубики).
Подводя итог: никакой самодельный движок и никакая нейронка не спасли тебя от фундаментальных ошибок, которые ты допустил, будучи полным новичком в геймдеве. Кроме того: игроку совершенно безразлично, сколько у тебя квадратных километров коридоров и сколько тысяч NPC в них "живёт", если реальный опыт игрока - это унылое блуждание по пустым коридорам без цели и смысла.
Если реально хочешь заниматься геймдевом, лучше подрежь масштаб игры до очень маленького, сильно ограниченного по размеру блока, где есть жилячейки и где живёт фиксированное число NPC - постарайся сделать увлекательный геймплей на этой маленькой карте, и только потом масштабируй свой геймплей на огромную процедурно сгенерированную карту. Сейчас ты не готов делать игру с процедурной картой.
Если ответишь на этот пост с помощью нейронки - ты распишешься в своей беспомощности как разработчика.