>>1076499 → > Хотя мне даже такой формат не помогает... Я попробовал комбинированный вариант. Оставил свои статьи на 2-3 абзаца, удалил все перекрёстные гиперссылки, и вместо этого сделал навигационные ссылки в конце каждой статьи, отражающие логическую структуру того графа, который я хочу видеть. А какой граф я хочу видеть? А такой, который не имеет больших самопересечений, чтобы можно было легко прослеживать связи между сущностями. Как будто это дерево сцены Годота, в котором в каждой ноде только один предок и несколько потомков.
В таком виде обсидиан сможет наверное помочь структурировать мысли-идеи.
>>1076574 → С нейронками есть беда, да. Мне кажется, мы пока ещё в последнем вагоне уходящего поезда, можем сделать что-то своё и продать, но время уходит. И без того перенасыщенный рынок видеоигр в ближайшее время станет ещё более перенасыщенным. Отношение к инди упадет. Возможно, будем переживать что-то вроде второго пришествия Юнити (2014-2015, когда юнитислоп заполонил стим) Я тоже тревожник. Мотивация делать игру у меня одна - а что еще в жизни делать? Кругом пиздец, я давно разочаровался во всем и всех, а мечту сделать игру проношу в себе с самых ранних лет жизни. Думаю, адекватные люди вообще сейчас не будут суваться в инди без команды/денег/огромного опыта/супер идеи или всего вместе
>>1076771 Возможно, и так. Но вместе с тем в индустрию придут те, кто раньше были полноценными аутсайдерами или в смежных отраслях. 3Д моделлерам больше не нужен будет программист, музыкант сможет что-нибудь собрать, да кто угодно. Больше конкуренции в любом случае
>>1076781 Ебаные программисты опять все усложняют. Строят целые агентские воркфлоу, прикладывают все свои комптетенции, чтобы иишка рожала под строжайшим надзором качественный код. Тратят на это времени не намного меньше, чем если бы писали руками, но получают кода побольше, без техдолга привычного просто (все тестами теми же на 100% покрыто при такой работе, что забили бы руками хуярить). А 3д моделлеры короч на похуях скажут "сделай пиздато" и он сделает, ага. Ну и с обратнйо стороны надеюсь так же - чтобы ии в долгую поддерживал сложное 3д надо чтоб над его машинной душонкой стоял суровый моделер. Надеюсь, что так, я не умею в 3д и хз как там в этом ситуация. Наоборот бы ща всем вместе объединяться, чтобы контрить нейрокал, сделанные руками игры будут сами собой выделяться на их фоне.
>>1076781 ну вообще раньше в геймдеве наоборот 3д модделеры и 2д художники ценились ниже червя пидора, а годный программист был на вес золота. видимо нейронки ща все перевернули
Теперь можно испачкаться в крови и помыться под дождем, а в дождь образуются лужи. Ещё включил частицам дождя коллизию и bounce имитируя типа "всплеск", но думаю что нибудь другое сделаю
>>1076802 Тебе бы светотени нормальные, с грамотно расставленным освещением на уровне, сверху фильтр-шейдер какой-нибудь олдовый или киберпанковый, и визуал сразу х10 сделает. А геймплей уже неплох.
>>1076785 > ну вообще раньше в геймдеве наоборот Потому что раньше не было редакторов, движок представлял собой код на си, который нужно компилировать после каждого изменения. Модели и звуки в игру добавлялись программистами через код, а не перетаскиванием мышки в редактор.
Потом начали появляться первые контекстные редакторы, типа авроры и анрила, там беседкодвижок подтянулся, и остальные. А потом анрил доразвился до универсального движка с универсальным же редактором, потом появился юнити, мечтая заменить флеш, и гамак, и рпгмак. Ну и наш Годот в итоге появился.
И сегодня можно пихать графику в проект не то что не компилируя, а хотрелодом обновляя работающий проект. Программисты программируют так, чтобы сделаться ненужными.
>>1076807 >Программисты программируют так, чтобы сделаться ненужными Просто появился слой упрощения. Нойту или майнкрафт с их оптимизацией ты не получишь либо не доработав движок либо создав свой с нуля.
>>1076876 Да вот работаю потихонечку. Продолжаю анимировать всё. Пока анимированы только обычная атака, хил и защита (последнее нужно чуть доработать). Как завершу с боями, приступлю к редактору генома, а то он на минимально базовом уровне есть. На вебмке показано, как сейчас всё работает.
>>1076806 >сверху фильтр-шейдер какой-нибудь Мне кажется что он наоборот может раздражать. Типа все эти пс лайк фильтры выглядят прикольно на скриншотах, но при игре будет только мешать. Впрочем, зависит от фильтра, посмотрим.
>>1076946 Он делал маленькие, кривые и очень странные игры, что-то вроде твг игр, много делал, долго и последовательно и одна из них выстрелила. Если бы он делал одну игру мечты, то так бы ничего и не сделал и так же как и мы работал бы на дно работах, оставляя геймдев, как хобби которым он занимается в редкие свободные часы перед работой или по ночам, вместо сна.
>>1077102 Это шейдер. Ты вместо обращения к UV тайлишь квадратами поверхность. UV нужен для объектов и персонажей. Трипланар это первый слой текстур локаций, дальше декалями обмазываешься.
>>1077107 >>1077116 Хм. Похоже и правда годится для очень упрощенной геометрии, всяких квадратов-прямоугольников. Полы, стены. Но если объект сколь-нибудь сложный, даже тот же самый стол, все равно UV понадобится. Верно понял? Спасибо за ответы.
Кто-нибудь тут геймдевит на Radeon iGPU? Планирую перейти на мини-ПК с Radeon 780M. Прошлогодние проблемы из-за драйверов напрягли. Обсуждения на гитхабе не могу сейчас почитать, что там пишут?
>>1076574 → >страх даже показать свою работу даже тут, потому что какой-нибудь тролль по приколу за час сделает лучше, чем я за месяц Ты занимаешься искусством, а оно субъективно. Вот, например, рисунок яблока - он может быть лучше? В техническом плане, чем ближе к фотографии - тем он лучше... Но зачем что-то рисовать, если требуется не рисунок, а фото? От игр требуется не фотореализм, а передача чувств конкретного автора его игрокам.
>>1076719 >можем сделать что-то своё и продать У тебя неправильный настрой. Не нужно продавать. Стример ничего не продаёт своей аудитории, но ему жертвуют деньги регулярно. Многие разработчики занимаются бесплатной игрой много лет, получая пожертвования от неравнодушных игроков. И это не зависит от лёгкости разработки: яндередев всё ещё получает какие-то деньги за свой говнокод и кривые модельки, несмотря на то, что всю его игру легко скопировать, и за все годы была уже куча клонов. Кринжуешь с него? Но ведь его никто не заменит. Конкретным игрокам нужна не просто игра, а игра конкретного человека. Будь таким человеком.
>>1076972 Намного круче выглядит, серьёзно. Раньше я и сам плевался от этих пиксельных "ретро 3D" игр, но когда сравнил твои видео, понял, что иногда пиксельность реально поднимает качество. Не знаю, почему. Но наверняка как-то связано с тем, что мозг умеет "достраивать недостающие детали картинки".
>>1077084 >она в движке нативно поддерживается Это просто кусочек шейдерного кода. Ты можешь его посмотреть, конвертировав стандартный материал в шейдерный. Можно кастомизировать по-всякому или переписать на что-то своё. Фича технически простая, но довольно затратная (минимум 3 чтения текстуры и смешивание между ними на каждый пиксель).
>>1077092 >У меня 90% текстур трипланар Тебе просто стиль позволяет, наверное.
>>1077095 Что не так с анимациями? Это ведь круто, когда ты оживляешь что-то на экране. Просто нужно хорошо настроить скелет (риг) и запомнить все хоткеи. Вот правильно заригать и заскинить модельку тяжело, особенно когда нужно что-то нетривиальное.
>>1077118 >Но если объект сколь-нибудь сложный, даже тот же самый стол, все равно UV понадобится. Зависит от стиля графики. Но главное, что UV будет экономнее в любом случае, т.к. требует одно чтение текстуры и не требует смешивания. Для прототипа эффективность не важна, поэтому можешь накинуть трипланарную сетку даже на стол, чтоб не сливался.
>>1077116 >дальше декалями обмазываешься Кстати, давно о них знаю, но особо не трогал. Они не слишком затратные? Там, вроде, куча ограничений. Хотелось что-то с ними сделать, но не вышло.
>>1076972 Лучше чем было, ящитаю. Но пиксели великоваты - иногда не разобрать чего там вообще происходит. Покопайся на godotshaders.com, может подберешь чего покруче.
Думаю VHS-фильтр тоже подошел бы, например. Экспериментируй.
>>1077304 >Как делать игры, если нет идей? Так ты оправдываешь свою лень или страх провала. Нормальных "идей игр" очень много, но реализация потребует времени и навыков, при этом эти навыки в большинстве случаев нарабатываются на опыте; это означает, что придётся ошибаться и исправлять свои ошибки. И даже если не планируешь зарабатывать, игнорирование со стороны публики ощущается как провальность проекта, а ведь сегодня трудно взять и заставить игрока поиграть в твою бесплатную игру.
Нужно просто смириться с тем, что ты либо много и старательно работаешь, либо уходишь из разработки игрушек в другое хобби, а также с тем, что твои игры никому не нужны без усилий с твоей стороны.
Так что хватит оправдываться. У тебя есть идеи, но реализовывать их ты ленишься и/или боишься.
>>1077222 У меня жесточайшая депрессия и прокрастинация. Некогда делать игры, там очень важные дела. И ваще, весна наступила. Поедем на дачу. Лопату в руки. ХУЯЧИМ!
Уже 8 лет сижу на Унити, иногда по приколу поделываю что-то в годоте, но только в 2д и если надо мало взаимодействовать с непосредственно движком, так чисто вывести два спрайта и проверить механ. Тут появилась мысль одну игрульку сделать, но она в 3Дэ. В связи с надвигающимся чебурнетом очень хочется попробовать годот в 3Д, но бля почему-то до сих пор есть ощущение, что это хуевая идея. На забугорных форумах годотеров когда кто-то сделает +-красивую 3Д сцену, которая не выдает 4фпс все до сих пор в таком восторженном ахуе, как будто это самописный движок который написала девочка-инвалид. Мне особо много не надо. Скажите честно насколько плох 3д в годоте.
Пробежался по стиму минуту. Сам тоже делаю в 3д. Следующим ответом от тебя ожидаю услышать как тебе нужен графон и опенворлд уровня скайрима, работающий в браузере. Не разочаруй.
>>1077322 Спасибо, гляну. Да не графон буквально на кубах, небольшая разовая процедурная генерация очень ограниченной локи и майнач-лайк персы, но с этим он точно справится. Главное чтобы движок не отьебывало из-за двух поинтлайтов и все. Похуй. нет я не делай клон кубача, я не долбоеб
>>1077357 Забавно, как ты легко вильнул жопой после того, как тебе принесли списочек релизов (да еще и самый скромный, на деле их куда больше). Интересно, куда ты пройдёшь, когда тебе принесут список игр-хитов на Годоте, вроде Backpack Battles, Brotato, Cruelty Squad. Впрочем не настолько интересно, чтобы ради тебя заебаться, лул.
>>1077361 Мы тут вроде обсуждали список игр, сделанных на движке? Стрелку метнул - хуйца соснёшь? Так исторически сложилось. Когда индустрия присутствовала в стране до всем известных событий, Годот не был настолько продакшн-реди и не пользовался популярностью. Затем вся индустрия отъебнула, остались только те немногие, кто уже сидели на Юнити и имеют готовый стек. Голова-то у тебя на плечах есть, неужели такие очевидные вещи объяснять надо? Если тебе любопытно, чекай вакансии на Годот в других странах. Там другая ситуация.
>>1077367 Только когда всё закончится. Если чебурнетнуться, индустрия и даже индюки вроде нас окончательно умрут. Можно сколько угодно коупить, что это эпоха возможностей, но на деле это сужение рынка и ещё меньший шанс получить хоть какие-то деньги за свой труд. Хотел бы я знать ответ когда это произойдёт.
Всю модельку скидывать не буду но выглядит оно примерно так - environment custom background, ambient light background, reflected light background, то есть у меня тупо чёрная сцена и типа фонарик. >>1077412 >>1077419 >>1077434 А у меня на нём нет материалов. >>1077437
>>1077452 >Материал и описывает то, как рендерер должен Меш без материала Godot рендерит материалом по умолчанию - белого (сероватого?) цвета, со всеми настройками по умолчанию. То есть ты не можешь отрендерить объект совсем без материала.
>>1077444 >сделал новый материал и натянул текстуру Чего ты пытался добиться-то, я не понял?
>>1077438 >environment custom background, ambient light background, reflected light background, то есть у меня тупо чёрная сцена и типа фонарик. Может быть, у тебя фонарик был внутри меша? Ты понимаешь, что с такими настройками сложно ориентироваться на сцене? Зачем ты это сделал?
Сначала попробуй научиться работать с движком на стандартных настройках, а уже потом будет вот так извращаться/оптимизировать/экспериментировать.
Делаю 3D-клон пикрила в качестве первой игры на годоте и первой полноценной игры вообще, я до этого лишь моддером был. Как создать эффект вот этих вот огненных линий-взрывов в трёхмерном исполнении? В двухмерном было всё понятно - там спрайты. А тут, как понимаю, нужен спавнить меш и обмазывать его неким материалом, имитирующим огонь или это вообще чисто FX-история?
>>1077538 Все так. Спавнишь меш (2/4 шарика-наконечника, соответственно 1/2 растягивающихся соединительных куба, которые будешь тянуть скейлом), намазываешь материал, докидываешь гпу частиц, тянешь им зону распыления вместе с скейлом куба-трубы и дело в шляпе
>>1077538 > Делаю 3D-клон пикрила в качестве первой игры на годоте Я тоже. > и первой полноценной игры вообще, я до этого лишь моддером был. Я тоже. > или это вообще чисто FX-история? Ага, чисто история))
>>1077500 >Чего ты пытался добиться-то, я не понял? У меня тени не падали на модельку перса, а мне именно это и надо было. Материала у меня нигде не было поэтому я просто на меши создал новый и перетащил текстуру в этот материал и вуаля, заработало.
>>1077500 >Может быть, у тебя фонарик был внутри меша? Ты понимаешь, что с такими настройками сложно ориентироваться на сцене? Зачем ты это сделал? Не, у меня тупо omnilight в сцене, ну он конечно объеденён в один нод вместе с персонажем чтобы свет перемещался.
>>1077566 Ты не понял. В бомбермене просто линия-вспышка, растянутая по форме клеточек. Куда там частицы? Разумеется, зависит от стиля, но анон не обозначил конкретный стиль: реализм или ближе к оригиналу.
>>1077570 >В бомбермене просто линия-вспышка, растянутая по форме клеточек. Нет. В бомбермене тайлы, выбор которых зависит от того, крайняя ли это клеточка в линии. Но по сути каждая клеточка - отдельный взрыв. >Куда там частицы? А вот туда. Даже проще - эмитим частицы в разные стороны в течение некоторого времени с небольшим интервалом, дальше движок всё сам сделает. Примерно как пикрил огнемёты. И это не зависит от выбранного стиля. Просто для реализма надо спрайты огня более натуральные и дополнительными эффектами обмазать по вкусу, а ближе к оригиналу лучше подойдут мультяшные спрайты.
А как ты предлагаешь мешем, тут хуй знает, ни в одной игре мешевых взрывов/огня не видел. Мешем разве что коллизию можно, и то там лучше тупо кубы подойдут.
>>1077577 >насрать частицами так, чтобы Испортить оригинальный стиль бомбермена? >чтобы было видно что это огонь Можешь надпись "boom" в центре нарисовать...
>>1077575 >пикрил огнемёты У тебя в примерах фотореалистичные игры. >дальше движок всё сам сделает Бомбермен тайловый, движок не сделает сам. >ни в одной игре мешевых взрывов/огня не видел Штош поделать, тебе насмотренности не хватает.
Что мы имеем: - анон вбросил "делаю бомбермена, но 3D"; - аноны представили себе TF2/GTA/Skyrim; - я говорю: но погодите, бывает и не такое... - аноны ничего не поняли и продолжают...
>>1077594 >этот тред. Везде так. Это называется "сломанный телефон". И "проекции". А тут и вовсе картинкоборда, где еще никто и не подписан. Трудно вести серьезную дискуссию.
Но на самом деле этот тред считаю одним из лучших. Я нигде на этой помойке не сижу кроме как здесь и ещё в одном треде другого раздела.
Аноны, посоветуйте хороший урок по системе характеристик персонажа, чтобы я мог расширить её под свои нужды. На ютубе полно видосов, но я только учусь кодить и не совсем понимаю, какой выбрать...
>>1077694 Отодвинь её дальше, её координаты и то, как она показывает, не интуитивны в этом режиме. Физически координаты камеры в 3D пространстве уже "прошли" объект, поэтому от обрезается
>>1077594 >У тебя в примерах фотореалистичные игры. Если для тебя реальный мир выглядит вот так, то советую обратиться к окулисту. И перестать принимать лсд. TF2 намерено стилизована под мультяшность, чтобы смягчить творящееся ультранасилие. Выпущена в 2007 году, кстати. Мор - первый проект молодой амбициозной студии, сделанный на самописном движке, выпущенный в 2005 году; графон настолько убогий, что ради погружения персонажам сделали аватарки из фотографий разрабов.
>>1077654 >Зачем смотреть Не хочешь - не смотри, это не для тебя нарисовано.
>>1077726 >TF2 намерено стилизована под мультяшность Да даже на твоём скриншоте видно, что там просто шакальная JPEG фотка досок. И огонь 1-в-1 как ИРЛ. Персонажи - да, немножечко утрированные, но не мультяшные. Или для тебя GTA5 тоже "мультик"?
>персонажам сделали аватарки из фотографий Это и называется ФОТОреализмом, понимаешь?
>графон настолько убогий Это всем известная проблема фотореализма в играх: стилизованные, мультяшные, анимешные игры даже допотопных времён сегодня выглядят точно так же привлекательно, как и 10/20/30/40 лет назад, а вот фотореалистичные игры до 2010-х выглядят как УГ, поскольку технология была ограничена железом. В большинстве случаев игры от 2010 и дальше уже не отличаются в плане фотореализма для обывателя (естественно, киноман-задрот будет каждый пиксель изучать под лупой и критиковать за неправильную симуляцию движения лучей вокруг прыщика на коже, однако, подобных задротов 1 на миллион максимум, остальным на такие подробности наплевать).
Короче, если ты видишь старую игру, и она выглядит откровенно отвратно - с высокой вероятностью, это фотореалистичная игра. Т.е. аффтары ПЫТАЛИСЬ в фотореализм, но технологии их ограничивали. А если видишь что-то, что даже с палитрой в 16 цветов очень хорошо выглядит - это стилизованная игра, что даже не пыталась выжать из старого железа фотореализм.
Вот наглядный пример - текстура досок в TF2 такая отвратная, поскольку в фотореализм пытались, но вынуждены были шакалить текстуры для старых, ограниченных по памяти GPU. Если бы они хотели стилизовать игру, они могли бы ограничиться более простыми текстурами, которые не похожи на JPEG с артефактами жёсткого шакаливания. Понимаешь? И персонажи, замечу, выглядят намного лучше, именно благодаря своей стилизации. Они не мультяшные, но стилизованные достаточно, чтобы выбраться из ямы фотореализма. Поэтому и популярны до сих пор.
>>1077839 Выглядит пососно, как 2д игра на юнити с костной анимацией, которые мне никогда не нравились. Не знаю, может там механики интересные, конечно, но за визуал я бы не заинтересовался (как и первой частью)
>>1077945 А зачем его сохранять? Я сразу пишу все адаптивно, а затем одним скриптом управляю поведением всего интерфейса и в ландшафте и в портрете. А если захочу фиксировать - просто упакую в специальный контейнер с фиксированным размером и зависимостью от скейла к базовому разрешению.
>>1077952 Я как-то оспариваю это? Или обесцениваю успешный релиз? Просто занятный ньюанс. Если бы местный синглтоношиз увидел на каких статических костылях держится силксонг - я думаю он бы утратил остатки веры в свои практики чистого кода.
>>1077956 >Странный вопрос. Ну скажем так - я могу и сохранять и не сохранять. Верстать адаптивно само по себе проще, все тупо делаешь на vbox hbox контейнерах, расстояния выставляешь филлерами, весь интерфейс держится на взаимных зависимостях и коэфициентах заполнения, 0% точных указаний количества пикселей и позиций на экране было бы в юнити, но тут не юнити, хоть и недалеко. Короче, я когда-то научился пользоваться юнитевским канвасом и на нем делать адаптивно и с тех пор меня не отпускает, якоря остались как чит когда неприменим найнпатч.
>>1077839 Кто-то верит в онлайн этой игры? Кажется ботовотство стало неотъемлемой частью маркетинга уже, может и раньше так было но не так явно крутят.
>>1077986 Я думаю стим бы сразу сопоставил массовую раздачу (сотнями тысяч нахуй) ключей к игре и подскок онлайна на эти же сотни тысяч розданых ключей, я думаю гейб не такой дурачок. В твиче спящих нагонять попроще будет.
>>1077988 А какой профит габену спящих ловить? Думаю там серыми схемами не без участия самого габена это делается, ну по крайней мере с его дозволения точно.
>>1077989 Эти пики будут выбиваться на фоне стабильной ежедневной стим-аудитории, типа, просто изниоткуда материализовалось 300к народу, при чем материализовалось на одной конкретной игре. Сомнительно короче.
>>1078000 Да не, там и перемещение по плоскости есть как элемент стратегии, и активные эффекты работают по клеткам, ну и опять же, эффекты и визуал > карточки. Короче дурка
>>1077934 >Вот уж не думал что они реально все на якорях На первом скриншоте сцена виртуальной карточки. Карточки в карточных играх - это аналог реальных, картонных игровых карточек. У таких карточек по определению должны быть строго фиксированные положения и размеры всех элементов, иначе будет выглядеть всрато. Плюс, по скриншотам видно, что карточки отображаются не как обычный GUI, а как элементы игрового мира - т.е. поворачиваются, а в положении по умолчанию они за гранью экрана.
>>1077978 >Кто-то верит в онлайн этой игры? >>1077981 >мавгеникс Ты сравниваешь шок-мем синглплеер без начальной аудитории и кооперативный карточный дрочильник с огномной фанбазой. В первую игру играли миллионы игроков, так почему во вторую они же не поиграют? Соотношение отзывов к игрокам в пределах нормы.
>>1078000 >карточное, только без карточек Вот только карточная аудитория дрочит на карточки... Виртуальные карточки не зря выглядят как реальные: внешний вид играет важную психологическую роль, примерно как в порнухе. Ты ещё скажи "ютуб - он как порнхаб, только без обнажёнки и гениталий". Нужно понимать желания выбранной целевой аудитории.
>>1078002 >эффекты и визуал > карточки. Короче дурка Просто ты не входишь в целевую аудиторию карточек.
Я тоже не вхожу в эту аудиторию, хоть и пробовал в прошлом поиграть в Hearthstone, и даже читал на различных фанатских вики про карточные игры в реальности. Не моё это, но принцип работы понял. Понимаю, что в целом эта тема супер-прибыльная. Разрабатывать свою игру я, конечно же, не буду...
>>1078005 >У таких карточек по определению должны быть строго фиксированные положения и размеры всех элементов, иначе будет выглядеть всрато Делайте не всрато (это не сложно) >Плюс, по скриншотам видно, что карточки отображаются не как обычный GUI, а как элементы игрового мира - т.е. поворачиваются, а в положении по умолчанию они за гранью экрана. Всему этому адаптивность не мешает ну никак. Повороты и скейл живет отдельно от расчетов контейнеров. Плюс, годот позволяет переопределять поведение при расчетах положений элементов для каждой отдельно взятой ноды. >Ты сравниваешь шок-мем синглплеер без начальной аудитории и кооперативный карточный дрочильник с огномной фанбазой. Автор мяугеникса - автор the binding of isaac, тоже немаленькая аудитория. Хотя вот щас глянул, судя по онлайну первой части - у второй точно не спящие бизнесмены на онлайне
>>1076635 (OP) Помните посты в этом ИТТ треде типа: >Ряяя, почему так часто минорные версии((( >Ряяя, почему stable недостаточно стабильна((( >А я буду ждать патч x.y.1/x.y.2/x.y.69/x.y.100500))) Ответ Rémi Verschelde (akien-mga): https://reddit.com/r/godot/comments/1qpmdvd/comment/o2fsnu8/ >Assuming that's the same bug, it should be fixed in 4.6.1 indeed, I'll cherry-pick that PR. >But this, folks, is why we make so many dev/beta/RC snapshots, to try to catch regressions like this before a stable release. >I totally get that most Godot users are busy building their game and not beta testing the engine, but it would be great to have a few more testers (even just testing beta1 and RC1 when they're released on a copy/clone of the project, just to see if anything breaks horribly, and report it). >I guess folks testing once stable is out and us having to make a .1 patch release is another way to do QA, but that might lead to folks thinking "I'll just skip .0 and wait for the .1 patch", and we'll have the same problem all over again.
>>1078017 Я один из тех кто писал эти посты, и я же в целом описывал аналогичную проблему - тестировать никто не хочет, слать репорты и заниматься всем этим, все хотят делать игры. Я просто сильно сомневаюсь что местные вкатуны написали хоть один pr по всем правилам + проект для воспроизведения, поэтому и писал что 4.6 вышел нестабильным, ждем патчи
>>1078019 За несколько лет работы с Godot я встречал не так уж и много багов, при том все эти баги уже имели свой подробный issue на GitHub и иногда PR с фиксом. Всё остальное фиксилось перезагрузкой редактора или удалением кэша из .import/.godot, так что я даже не задумывался о том, чтобы пойти искать на GitHub...
Так что считаю претензии к стабильности Godot либо троллингом, либо постами полных новичков, кому компьютер подарили впервые совсем недавно, и им непривычно встречаться с багами в программах.
Глючный софт - это норма, и Godot крайне стабилен относительно 99% программ, как закрытых, так и с открытыми исходниками (учитывая его сложность - маленькие программы реже глючат, потому что там буквально меньше места для каких-либо ошибок).
>>1078023 Специфика геймдева такова, что автотестами всё проверить невозможно, а на ручное тестирование необходимо куда больше времени и навыков, чем в обычном ПО. Условно, музыкальный плеер может протестировать любой пользователь ПК, а для теста игрового движка нужны реальные разработчики игр.
>>1078026 >Специфика геймдева такова Да, поэтому меинтенер который доработал/поменял Bone2D не может создать проект и добавить ноду Bone2D и потыкать её или открыть какой то проект с ней. Нужны реальные разработчики игр, всё так, да. Надо ждать чтобы юзеры сами натыкали, нашли проблему, создали ишью и описали там полный алгоритм получения проблемы, записали видео. Тогда придёт жирный пидар фрипалестине жизнинегровважнее AThousandShips и поставит need testing чтобы другой юзер зашёл почитал проблему и попытался повторить и тогда, только тогда, проблему кинут тому меинтенеру, который изменял Bone2D.
>>1078031 >добавить ноду Bone2D и потыкать её Лол, там не всё так просто: >with the same word like Bone2D/Bone2D/Bone2D >A/B results in the same hash as B/A Кто же знал, что юзеры часто деают цепочки костей, имеющих одинаковые/чередующиеся имена? Я вот создавал 2D скелеты и всегда давал всем костям уникальные имена - в худшем случае, присваивал порядковые номера к уникальному имени цепочки. Поэтому, будь я разрабом, я бы тоже не увидел баг.
>>1078037 >Лол, там не всё так просто: Я гипотетически написал, но если угодно,
>что юзеры часто деают цепочки костей, имеющих одинаковые/чередующиеся имена Юзеры не делали чего-то запрещённого или чего движок не даёт сделать. Это работало раньше, т.е. меинтейнер сломал это.
Смотрим детальнее причины возникновения https://github.com/godotengine/godot/pull/110400 Один меинтейнер решил "оптимизировать" алгоритм склейки имён нод для хеширования в AnimationPlayer Второй проверял его код, но сказал что не эксперт в хешировании, тем не менее назвал ПР годным Третий сказал, что все функции хешей имеют коллизии (что правда) и предложил поменять функцию хеширования для хешмапы в принципе. Ожил первый и сказал что тут нет цели заменять функцию хеширования Пришёл четвертый и сказал что всё хорошо, пук среньк и ПР приняли.
Проблема в том что новая реализация HashMapHasherDefault::hash вызывает функцию hash() у объектов, а эти объекты это NodePath у которых и стоял алгоритм с xor (высранный Хуаном 13 лет назад) и работавший до этого поэтому в https://github.com/godotengine/godot/pull/115473 упоминаются проблемы xor и меняют алгоритм у NodePath
Минимум двое, из четырёх упомянутых выше, на зарплате (может даже все), ни один не создал проект и не потыкал (AnimationPlayer)
Знатоки годота, в движке есть какие-нибудь инструменты, упрощающие реализацию скрытия стен, которые закрывают игрока(в 3д)? Пока я думаю делать SphereCast/Volume от камеры к игроку -> скрытие/альфа стен комнаты(которые отдельными MeshInstance3D/StaticBody3D в группе WALLS)
Но для своей игры я просто делаю аутлайны для важных объектов, которые закрыты стенами (пик) - реализуется с помощью рендер приорити и галки на depth testing в материале. Проще и дешевле чем стены ебать.
Для тех редких ИТТ, кто все же делает игры. Основные косяки:
1. Всратый онбоардинг ньюфагов. Нет обучения, нет объяснений, непонятны механики, непонятно о чем игра, куда идти и что делать. Либо наоборот - инфодамп стеной текста.
>>1078057 >hash() Да я вот вообще не понимаю, чего они там какой-то велосипед изобретают... Класс Dictionary в GDScript полностью доступен из C++ в ядре движка и на 100% избавлен от коллизий хэша. Зачем они что-то новое выдумывают, если можно юзать уже готовый код?
>ни один не создал проект и не потыкал Ладно уж, таких случаев не много. И в теории данная оптимизация не должна была никому навредить. На практике, проблема случилась только из-за: >Это работало раньше Текст на картинке читал? Нагрев CPU - баг или фича? Сломалось или пофиксилось? Лучше или хуже? Всё относительно. Относительно ЦА. Вот ЦА заценили - оказалось, что для ЦА "сломано". Придётся фиксить.
>>1078108 >поэтому я и бросил делать игры Не понял. Почему? Игры не настолько важны...
>>1078134 Начиная с Godot 4.5, можно использовать Stencil: https://github.com/apples/godot-stencil-demo https://github.com/godotengine/godot/pull/80710 https://godotengine.org/releases/4.5/#stencil-buffer-support >How do we visually “drill a hole” in that wall in order to peep at the player on the other side? >You can now do it with stencil buffers! Imagine an invisible sphere that surrounds our character. Even if geometry is not rendering itself on screen, we insert its shape into the stencil buffer. Then, we make our wall shaders only render if the target pixel is not covered by the stencil. Voilà. >A stencil buffer is a special buffer that meshes can write to for later comparison. It is similar to the existing depth buffer, except arbitrary values can be written and you have more control over what you do with comparisons.
>>1078137 >we_playtested_over_400_games Это скам уровня фальковаре. Чувак берёт 20$, чтобы в игрушку лоха поиграл рандомный 12-летний школьник, написал ему "всё плохо, переделывай" и получил 10$. Поэтому весь пост - просто тупая реклама лохотрона. Подумай сам, аффтар гребёт бабки лопатой, и будет рассказывать, как избавиться от его помощи? Это ж наивность уровня веры в помощь психотерапевтов.
Все его советы можно свести к двум пунктам: 1. УМНЫХ ЛЮДЕЙ МАЛО @ ДЕЛАЙ ДЛЯ ДЕБИЛОВ 2. НОРМАЛЬНО ДЕЛАЙ @ НОРМАЛЬНО БУДЕТ Всё остальное - вода для заполнения поста.
>>1078160 Везде враги, которые мечтают на тебе нажиться! Не трясись ты так. Тебе не полезно, кому-то полезно. Я в свою первую игру НА ГОДОТЕ догадался туториал добавить только спустя полгода после релиза, а до того считал свои механики очевидными и наблюдал тупящих игроков, ставящих низкие рейтинги. После апдейта рейтинг в гугл плее вырос с 3 до 4.8
>>1078175 >Я в свою первую игру НА ГОДОТЕ догадался туториал добавить только спустя полгода после релиза, а до того считал свои механики очевидными Ну кто ж виноват что ты такой тупой.
>>1078151 >>1078136 спс за ответы. Решил пердолиться через стены. Просто потому что в моей игре видимого круга вокруг игрока недостаточно, желательно убирать всю стену чтобы лучше видеть арену.
>>1078175 >мечтают нажиться А ты не мечтаешь что ли?
>считал свои механики очевидными >рейтинг в гугл плее вырос с 3 Не представлю себе игру, которой ставили бы 1/2/3 в отзывах за СЛОЖНОСТЬ МЕХАНИК. Обычно рейтинг сливают за насилие рекламой, микротранзакции, технические проблемы в платной игре, жёсткий P2W.
Если ребёнок оставляет 1 звезду с комментарием наподобие "СЛОЖНА НИЧО НЕ ПОНЕЛ", то ему уже не поможет никакой туториал. Он бы и с туториалом не разобрался, т.к. тупо терпения не хватило бы, лол.
Скорее всего, ты там что-то ещё обновил, или сделал рекламу в каком-то нормальном коммьюнити, что и вытянуло оценку игры со дна. Но ты же нам игру не покажешь, ты только на словах крутой геймдев...
>>1078177 >убирать всю стену чтобы лучше видеть арену У тебя домики наподобие The Sims что ли?
Рейкасты не нужны. У каждой стены есть поворот относительно вертикальной оси. У камеры тоже есть поворот относительно этой оси. Сравниваешь одно с другим и скрываешь стены, которые потенциально перекрывают содержимое своей комнаты.
Если нужно только в комнате с игроком, а остальные затемнять - тогда нужен способ определить, в какой комнате игрок. Типа Area3D по форме всей комнаты. Привязываешь стены в список этого триггера, потом проходишь по списку и проверяешь, что скрыть.
А вообще, некоторые такие игры позволяют совсем скрывать все стены, включая дальние. Выглядит... Довольно странно. Но кому-то, наверное, удобнее.
Мой первый шейдер, выглядит забавно. Не обращайте внимание пока на UI, просто ради теста шейдера так налепил, я потом оформлю, чтобы шейдеры-задники были для каждого хомяка своими и передавались по наследству от родителей при скрещивании.
>>1078185 Я не знаю, какая у игры целевая аудитория будет в конечном итоге. Делаю по наитию, так сказать. Впрочем не думаю, что она будет какая-то особо сложная, я постараюсь дать игроку инструменты для контроля за результатом при скрещивании, а не просто мольбы на лучший результат у бога рандома. >>1078186 Немножко, но это чисто из-за лиц. Мне не хотелось делать мимимишные мордашки им.
Обсуждали вскрытие StS2 и я решил взглянуть на Halls of Torment (Godot 4.3) от Chasing Carrots Я думал оно в стилизованном 3D, но нет, чисто 2D везде. Сделано конечно круто, 20 самодельных аддонов написали, даже для редактора скриптов (и я немного недоволен, что плагин редактора экспортируется в финальную игру) Заметил (по исходникам), что в игре появился новый класс - Бард уникальный во всём, каст его скиллов зависит от музыки и на это они себе тоже сделали редактор-плагин, музыка которую играет меняется по ходу уровня и всё происходит максимально гладко. Записал кусок геймплея (пришлось даунскейлить) чтобы показать сколько на экране говна всякого происходит, вылетает и светится и при этом работает стабильно на моём корыте.
>шейдеры-задники были для каждого хомяка своими Не понел. Где эти хомяки находятся? Думал, ты потом обычные локации смастеришь: лес, поле, река, море... Покемоны, JRPG в целом - ставят фон, зависящий от клеточки на глобальной карте (было до полного 3D).
>>1078188 >не хотелось делать мимимишные мордашки А по-моему очень милые морды. Это девочки?
>>1078203 >плагин редактора экспортируется Это настраивается в процессе экспорта. Ты можешь самостоятельно исключить или включить (зависит от выбранного режима: "всё кроме" или "только то, что выбрано") любые папки и файлы в папке проекта. Это позволяет также делать независимые DLC и патчи в формате .pck из одной папки проекта (для патчей ещё существует особая утилита, но не знаю, работает ли: позволяет автоматически сделать patch.pck после сканирования оригинального pck твоего проекта).
>>1078203 > сколько на экране говна всякого происходит, вылетает и светится и при этом работает стабильно на моём корыте. Так это же 2д. Оно и в диабле 2 так же иногда было. Вот в третьей диабле и пое уже 3д и могут быть просадочки в файтах.
>>1078204 Вот что-то такое я хотел. Но можно и с задниками поэкспериментировать, в зависимости от локаций. >А по-моему очень милые морды. Это девочки? Это инопланетные хомячки, они бесполые. Как дитто из покемонов.
>>1078215 >>1078218 В каком-то смысле так и есть. Завязка сюжета была в том, что на Землю прилетели инопланетяне. Все думали, что сейчас начнется война с ними, а они просто сбросили миллионы этих хомяков на нашу планету и улетели. А всё потому что на их собственной планете их развелось слишком много, буквально триллионы, они плодятся как кролики бесконтрольно, пришлось выкидывать их на другие планеты.
>>1078226 Какой милый сюжет :3 Земляне бы выкидывали их на свою звезду, и не парились. А эти добряки летают по голактеке, подкидывают другим цивилизациям. Как говорится, с глаз долой -> из сердца вон.
>>1077733 >Да даже на твоём скриншоте видно, что там просто шакальная JPEG фотка досок. Бро, тебе точно к окулисту. Не позорься. Сыграй в TF2, в конце концов, она фритуплей. Вольвы намеренно уходили от фотореализма ХЛ2 (а вот там действительно использовались фототекстуры) и делали игру с мультяшной графикой во всех аспектах, о чём постоянно говорили. Посмотри хотя бы на пропорции персонажей, это ты на артефакты никак не спишешь.
>Это и называется ФОТОреализмом, понимаешь? Ты ещё притяни за уши, что там присутствует озвучка голосами живых актёров, а не стилизованные звуки, как в каком-нибудь андертейле или селесте. Это не так работает. Фотореализм - это когда фототекстуры на модельках. И модельки максимального (для своего времени) качества. И анимации - мокап, ротоскопирование, симуляция мускулов (что-то из этого на выбор). Симуляция физики хотя бы какая-нибудь. Другие передовые технологии своего времени тоже желательно. >аффтары ПЫТАЛИСЬ в фотореализм, но технологии их ограничивали Ледорубы не пытались в фотореализм как раз из-за того, что понимали, что не смогут. Халф Лайф 2 и Дум 3 были свежевышедшими флагманами, угнаться за которыми начинающая инди-студия даже не пыталась. Так что они слепили игру из того, что было. Были фотки - использовали фотки. Не было фоток - рисовали рисунки. Тут ещё дело в наличии у них художественного вкуса и стремления сделать искхуйсство, а не просто сделать шоб как в жизни. И кстати, если копнуть глубоко в сеттинг, становится понятно, что излишний реализм игре бы повредил, так как (если когда-нибудь планируешь играть - крайне не рекомендую читать спойлер, это знание испортит тебе полу-истинную концовку; и суть его настолько проста, что ты даже если мельком прочитаешь, всё равно запомнишь) (впрочем, похуй, если не любишь игры с СПГС-сюжетом) на самом деле все персонажи - это куклы в детской песочнице.
>>1078203 Анон, а как ты декомпилировал проект? Мне интересно, как они менеджат прогрессию, кучу апгрейдов, какие там паттерны и все такое. Хочу подглядеть идеи
>>1078265 Нагуглил вот эту штуку https://github.com/GDRETools/gdsdecomp она даже скрипты декомпилировала и восстановила имена переменных. И судя по всему либо восстановилось не всё из HoT, либо были ноды, которые авторы делали на C++.
Сам ещё разглядываю, и делаю для себя открытия, например там нихера нет процедурной генерации карт, каждый уровень состоит из 4-х больших кусков (сделанных в тайлмапе с ручным расставлением пропсов) размерами примерно 3х3 от размера вьюпорта (у них в терминологии это Патч(Patch) ). Если игрок двигается направо, то в определённый момент просто верхний и нижний левые патчи перемещаются перед ним, если идёт вверх то левый и правый нижние патчи перемещаются наверх вместе со всеми предметами и монстрами. По сути вся игра происходит на довольно небольшой карте, но какого-то паттерна в игре не чувствуется особо. Сколько синглтонов - прилагается
>>1078266 Спасибо! Странно, что они ни обфускацию ни даже шифрование не запилили, которое хотя бы доступные декрмпиляторы ввели бы в ступор, это несложно Посмотрю тоже. Добра
>>1078269 Очевидно, я имел ввиду не стандартные средства шифрования. Буквально заменив пару строк в сурс коде, можно ввести gdsdecomp в заблуждение. Придется самому лезть через хекс редактор, искать ключи. Обфускация делается через gdmaim. В самый нижний уровень gdsdecomp не лезет, это не воссоздание гдскрипта с бинарников, а потому обфускация будет на месте. Ясное дело, это не защитит от рук знающего человека, у которого есть цели. Но мимокроки вроде тебя или меня скорее забьют болт, чем будут запариваться. Не понял, что ты хотел сказать
>>1078267 >Странно, что они ни обфускацию ни даже шифрование не запилили Встроенной обфускации, кажется, в 4.3 не было ещё. И кстати декомпилятор писал - "открывайте проект в 4.3.1" но такой не было в обычных релизах.
>>1078269 Если exe игры хранит в себе ключ и расшифровывает им архив, его так же можно считать из exe и сделать то же самое, возможно этот декомпилятор это и делает.
>>1078271 >возможно А возможно всем просто поебать что КТО-ТО увидит твой код. Как и поебать на ДРМ. Потому что на ваши игры всем похуй, они никому даром не нужны, как и ваш код. А если вы вызвали интерес достаточный для пиратства/декомпиляции, то это уже такой успех что уровень похуя улетает в стратосферу, ведь там хоть денувой обмажься - выковыряют. Хуею с этих неуловимых Джо, повылезали как грибы после дождя, по всему интернету трясутся.
>>1078276 >В следующий раз постера угадывай старательней. Какая разница кто хочет подглядеть? Главное что он не хочет чтобы у него подглядывали. Не плодить конкурентов так сказать..
>>1078277 Ты понимаешь что если игра станет успехом, ее законкурентят независимо от наличия/отсутствия кода? Китайцы хиты слизывают за неделю, у них на этом целые галеры построены. Единственный способ защититься - делать провальные игры. Так что поздравляю, ты защищен. Можешь хоть под мит лицензией на гитхаб выкладывать, никто не подглядит.
>>1078278 Ну в принципе да. Сейчас цена кода равна нулю стала. А контент украсть невоможно, чтобы разместить на популярных площадках где деньги зарабатывают.
>Slay the Spire 2 reached 574,638 concurrent players, making it the 20th highest all-time peak on Steam. Почему вы так не можете? Потому что игры не делаете. Делойте.
Хз куда попадет, но 3 дня назад замерджили ПР на рендер_трансформы УЙ нод. Позволит легко анимировать их _визуал_ не меняя структуру контролов. Жду теперь еще более свистяще-пердящие интерфейсы.
>>1078352 Наконец-то. А то зелёные ноды были каким-то чужеродным звеном в системе игровой графики. Как будто контролы из корпоративного тырпрайза для лепки КРУДов случайно завернули в игровой движок.
Эй, анон, делающий игру про эльфийку на летающих островах. Эй, анон, делающий игру про самурая. Эй, анон, делающий игру про толщехода. Хватит прокрастинировать, тут тебе передаёт привет Ромео-мертвец. Если у него получилось - и у тебя получится.
>>1078392 А я бы вот застеснялся. Хотя мою готовскую хуйню уже вскрывали тож. Ну я чуть понервничал и забил довольно быстро. Но вот если бы начали хуесосить за говнокод, то хз.
>>1078384 >тут тебе передаёт привет Ромео-мертвец. Если у него получилось - и у тебя получится. Загуглил, думал там будет какая-нибудь 2д индюшатина, а там 3д аниме экшон со спецэффектами где всё взрывается, ещё и хороший пиксель арт >Хватит прокрастинировать Ладно не буду. Вот седня закончил уровень с кладбищем и боссом
>>1078394 >мою готовскую хуйню уже вскрывали тож Сколько твоя заработала? Сколько народу поиграло? Это не претензия "сперва добейся". Просто при таком баблище, что уже заработала StS2 (а ведь всё ещё впереди, это ж пока ещё ранний доступ), действительно совершенно похуй, вскрыли ли там игру, хуесосили ли. Успех достигнут, доказательство на счетах в банке и на графиках в стиме. Теперь можно и менторским тоном говорить: учитесь у меня, как игры делать. Ну а если в твою игру поиграли десять игорьков - поняное дело, что тут минус мораль. И понятное дело, если ещё и код захуесосят - то вообще пиздец.
Вообще, могу тут только порадоваться, какие разрабы StS2 молодцы, сделали успешную игру. И ещё аргумент движкосрачеров "на этом вашем годоте ни одной успешной игр" уходит в небытие, больше крупных и именитых разработчиков выбирают наш движок для своих игр, спонсируя разработку и контрибутя код. смешное слово - контрибутя
>>1078460 >Теперь можно и менторским тоном говорить: учитесь у меня, как игры делать. Ну это подмена понятий. Успешная игра != хороший код. В коде может быть ледянящий душу ужас. Разные вещи вообще, так что можно похвалить за игру получившуюся и захуесосить за код в одном и том же отзыве. Тут в целом надо быть морально устойчивым, чтобы от хейта не тильтить. А я вот как раз слабая обиженка, мне было бы стремно на их месте.
>>1078484 >Тут в целом надо быть морально устойчивым Добро пожаловать в жизнь. Тем более что геймдев, все же во многом являясь артом, довольно публичное занятие.
Ппц вы флудите, сюда надо еженедельную собаку из субшоты завозить, чтобы пыл бездельником поумерить.
>>1078184 Когда ты один в один копировал Undertale, тебе не приходилось думать о дизайне. Но теперь ты на базе этого стиля делаешь новую игру, при этом на стилизацию ты натягиваешь динамический градиент на фоне, в итоге пользователь получает фрустрацию. Одновременно вырвиглазный UI, на который можно сделать скидку (с усилием, но все же еще можно) и в тоже время градиент, который говорит что можно было сделать лучше.
PS я так понял - ехидный хомяк, ты вдохновился из другого сайта? (пик 2)
>>1078455 Я уже говорил тебе, что очень похоже на jedi academy? Анимации прямо оттуда, как будто бы фрейм в фрейм. Будто если запишу видюшку оттуда и повешу рядом с твоей они почти синхронизируются. Это совпадение или не совпадение?
>>1078621 >у тебя мешы разрушаются там, куда ты попал мечом Да, использую плагин Concave Mesh Slicer >>1078626 >очень похоже на jedi academy Я ею оч вдохновляюсь, хочу в будущем ещё мультиплеер запилить, чтобы можно было так же рубится и чиллить на серваках. Но это прям в будущем будущем. Вообще хочу прям развивать эту боевку, стили новые, мб разное оружие и тп. Чтобы в конце концов вообще сделать какое-нибудь свое рпг с такой боевкой, аля Скачи Мочи. >Анимации прямо оттуда, как будто бы фрейм в фрейм >Это совпадение или не совпадение? Тебе кажется, просто и тут и там есть 8 направлений но у меня ещё плюс есть тонкая корректировка во время удара и возможность бить в любом положении
>>1078484 >Ну это подмена понятий. Успешная игра != хороший код. Я вовсе не это имел ввиду. Речь о том, что победителей не судят, и если игра успешная, то уже решительно не важно, хороший там код или плохой. По крайней мере, достаточно хороший, чтобы не вызывать своими багами массовую фрустрацию у одновременно играющих пятисот тысяч игроков. И вообще, даже глядя в плохой код можно чему-то научиться. Можно увидеть говно и решить: "мне так не нравится". Как минимум это хороший способ заглянуть в голову другого человека и осознать, что очевидные для тебя вещи кто-то понимает совсем иначе.
>>1078649 Обсуждение не читал/не помню, но меня зацепило: >достаточно хороший, чтобы не вызывать своими багами массовую фрустрацию у одновременно играющих пятисот тысяч игроков. "Хороший код" - это не "код без багов/глитчей". "Хороший код" - это даже не "быстрый код".
"Хороший код" - это код, который относительно легко прочитать, понять и изменить, исправить баги или оптимизировать. И желательно чтобы это всё было применимо к рандомному программисту, а не к конкретному Васе, который 10 лет этот код писал.
Компания позволяет себе "плохой код", поскольку ей достаточно натравить команду из 999 индусов и они порешают любые баги и увеличат скорость любого алгоритма. Но индусам нужны деньги на еду, оплату интернет-соединения из Индии в США, и т.д. Так что компания может себе позволить иметь плохой код, а самозанятый Вася с бюджетом в доширак - вряд ли.
В то же время, код Васи с высокой вероятностью недостаточно хорош, потому что Вася в нём сидит множество лет и помнит каждую лазейку, а тем же зарплатным индусам придётся долго вникать в суть. Поэтому, каким бы хорошим ни казался код Васи, корпорация предпочтёт код своих 999 индусов...
Кстати, обфускация кода - это превращение хорошо написанного кода в плохой, с полным сохранением технических характеристик. Т.е. код не становится медленнее и в нём не появляются баги, но человеку становится сложно распутать глубок связей в коде, разобраться в его назначении и как-либо изменять - поэтому обфусцированный код малополезен.
В общем, на этапе разработки хороший код крайне необходим, и в особенности он необходим для EA и поддержки игры патчами, обновлениями и DLC, но корпорации могут компенсировать тупо баблом, а обыкновенный инди - только своим временем. В опубликованной игре код может казаться плохим в результате сознательной (но мягкой) обфускации.
Вкратце, хороший код - это инвестиция сегодня для потенциальной экономии завтра. Если "завтра" не ожидается (ассетфлип) или если рассчитываешь на сверхприбыль и найм индусов, то сойдёт и "плохой". Проектам-долгостроям мечты нужен хороший код.
Главное, не путать "хороший код" и "оптимизацию". Зачастую, ради читабельности, код будет медленнее абсолютного идеала - оптимизация делает код хуже. Ошибки в хорошем коде тоже могут быть, но их, по определению, проще исправить, чем в плохом коде.
>>1078701 Прикол в том, что когда смотришь на одну и ту же вещь - с каждым новым взглядом она становится все хуже и хуже, заебывает. Одни когнитивные искажения вокруг.
>>1078636 >трудно делоть игры Особенно без компьютера... У меня уже давление поднимается. Просыпаюсь с мыслью "надо выбрать мощный, дешёвый и надёжный ПК" и провожу где-то половину дня, листая интернет-магазин на телефоне. Геймдев меня так сильно никогда не напрягал...
>>1078672 >механики/идея/визуал говно На любое говно найдутся сотни миллионов мух, но привлекать внимание нужно мощным запахом, что распространяется на километры вокруг... Так что основная проблема соло инди - это маркетинг. >и у меня ничего не получится Не получится, пока ты ничего не делаешь.
>>1078701 >без визуала даже самая крутая боёвка будет С таким настроем мы бы никогда не получили все гениальные игры 80-х, 90-х, на J2ME и геймбоях, и бесконечное количество тетрис-клонов 9999-in-1. Визуализация нужна, но механики не зря зовутся механиками - это то, что делает игру игрой. Тут проблема обратная: красивая графика скрывает проблемные механики и от игрока, и от разраба.
>>1078703 >она становится все хуже и хуже, заебывает Это не она становится хуже, а ты развиваешься - и, внезапно, замечаешь больше ошибок или проблем, которые не замечал раньше. Это очень хорошо. Без подобной самокритичности ты бы делал ошибки на протяжении многих лет и не осознавал бы этого.
>>1078672 Забавно, но многие идеи и геймплей из головы действительно оказываются говном. Это норма, с опытом становится чуть легче, но потом открывается другая проблема. Вроде уже нормально - но кто теперь будет все это заполнятьЯ?
>>1078742 К этому моменту у тебя должны были подрасти потомки, и они бы лабали игору по твоим лекалам, четыре сыночка кодили бы код, а лапочка-дочка рисовала бы арт. Но, меня терзают смутные сомнения, что у тебя никого не подрастает там.
>>1078742 >многие идеи и геймплей из головы действительно оказываются говном Практически все годные идеи это итерации предыдущих, часто чужих, похожих идей. Тут нечего стесняться. Если большим ААА дядям можно воровать у инди, то инди можно воровать у чего угодно.
Парни, в связи с новостями про списки встал вопрос, что качать пока есть доступ из самого необходимого? Обучалки, сторонние проги, ассеты и прочие вкусности. В общем затрагиваться по максимуму информацией.
>>1078860 Не должны, т.к. это ИИ, слишком много файлов затрагивается, некому это поддерживать ну и в целом там ничего не вышло вроде судя по тому, что они даже в Compability рендерер залезли
>>1078858 Сам движок на все платформы с шаблонами экспорта: 3.6, 4.5, 4.6 Оффлайн документация https://github.com/godotengine/godot-docs#download-for-offline-use Blender 4.5 LTS; Krita; MaterialMaker; LMMS; Audacity; VSCode с плагинами для Годота и пары ЯП, что я использую; книги по Годоту, программированию в целом и паре ЯП (на известном трекере есть отличная раздача с огромной кучей хороших книг на тематику); видосы-туториалы по всем перечисленным темам. Это если по нашему сабжу. А так, я - поех, и запасся огромной цифровой библиотекой книг на самые разные темы, 5тб кино, 5тб аниме и манги, 5тб игр. Вся информация дублирована, т.е. хранится минимум на двух внешних жд.
А по факту, если дойдет до того, что на постоянку введут белые списки - продать игру не удастся нигде, кроме как в парашных магазинах ВК/Ростелекома и ко. Думаю, в такой момент я откажусь от идеи делать игры профессионально и буду заниматься этим в качестве хобби. Найду другую работу. Потому что без выхода на рынок серьезно этим заниматься не имеет смысла. И я сейчас не про то, что не удастся заработать миллионы - мне это не нужно. Не удастся даже наскрести на жизнь, чтобы делать вторую игру.
>>1078889 Я студент, выпустился в 2025 из вуза. У меня не так много денег, чтобы уехать и жить самостоятельную жизнь за границей. Подрабатываю кое-где, но над игрой де факто работаю фултайм. Пока ничего не сделал и не продал. К тому же, существуют личные обстоятельства: не могу оставить пожилых родителей одних. Так бывает.
>>1078891 >>1078889 Я хочу, чтобы ты прямо щас пруфом с супом заскринил свою страну проживания, а затем через год (я подожду) смени место жительство на любую другую страну, чтобы между новой страной и предыдущей был обязательно визовый режим, и тоже запости пруфы в актуальный на тот момент годотред.
Только после этого я твои советы буду принимать к сведению. А покуда ты не показал на своём примере, сиди и не вякай. Делай игры.
>>1078901 По Годоту? Из видосов вот неплохие https://www.youtube.com/@ClearCode/videos https://www.youtube.com/@godotneers/videos Книг по Годоту мало, мне в целом только две показались полезными Campos H. Game Development Patterns with Godot 4 про паттерны, хотя там никаких откровений, если ты программист по специальности Espíndola Fabrizio - The Godot Shaders Bible про шейдеры Есть еще пара неплохих курсов на английском, от Firebelley Games и Richard Allbert Я в целом не сторонник обучения по курсам, но там есть немало подсказок и неочевидных моментов при работе с UI редактора, когда только вкатываешься А так основное в документации есть. Она реально хорошая, особенно на контрасте с Юнькой и UE, с которыми я ранее немного поработал.
>>1078858 >списки Если дойдёт до такого, лично я суициднусь... Хотел подробнее объяснить, но не хочу нагнетать. Просто, считайте, одним шизофреником станет меньше. Это, наверное, хорошо. Не хочется быть обузой...
Я чего-то не пойму. Есть RigidBody3D - мяч, вес - 0.01, bounce - 0.5, даже гравитация 0.8.
Есть машина VehicleBody3D, вес 150
Машина разгоняется и врезается в мяч. И отскакивает. Машина. Вроде же физика, жолт, хуё моё, а мяч без дополнительного кода с проверкой на столкновения и применения вручную сил не сделать, или я что-то забыл? Честно говоря я перетыкал все возможные параметры у обоих обьектов.
>>1078965 На пикче речь именно о реализации машины и она сейчас в Godot реализована (скопирована) из движка Bullet ровно какая используется как база в рокет лиге(но они доработки делали)
>>1078965 В документации имеют в виду уровень автосимов. Симуляция VehicleBody3D сравнима с GTA, но нужно подстраивать под конкретную модель автомобиля.
>>1078960 Я предполагаю, ты перепутал слои и маски физики.
Допустим, у тебя такая конфигурация: Мяч: слои - 1, маски - 1 Машина: слои - 2, маски - 1 Тогда мяч не видит машину, а машина видит мяч. Мяч полностью игнорирует машину, тогда как для машины данный мяч - всё равно, что StaticBody3D стенка. Вот и отскакивает от мячика. Это корректное поведение, но конкретно тебе данное поведение не требуется.
Если поменять их местами: Мяч: слои - 2, маски - 1 Машина: слои - 1, маски - 1 Тогда машина будет игнорировать мяч, будто его не существует, а мяч будет отскакивать от машины в противоположном направлении. Но важно помнить - зажатый машиной мяч может в такой конфигурации провалиться сквозь StaticBody3D или же улететь в случайном направлении с огромной скоростью. Т.е., поскольку машина не видит мяч, он не оказывает сопротивления, и машина проходит мяч насквозь.
Если слои и маски совпадают, тогда должна быть реалистичная симуляция столкновений, однако: >вес 0.01 >вес 150 Если не ошибаюсь, настройка массы влияет лишь на применяемые к телу силы (force) и импульсы. Есть небольшой, но существенный нюанс: если ты будешь двигаться очень быстро, коллизия твоего тела может "проникать" (penetrate) в коллизии других тел, и тогда срабатывает механизм "извлечения" (depenetration), который может нарушить аккуратность симуляции.
Чтобы избежать пересечения коллизий, можно: - увеличить частоту симуляции физики (TPS где-то в настройках проекта; оно влияет на _physics_process); - включить continuous_cd (не уверен, повлияет ли в конкретном случае, и работает ли оно вообще...); - ...э, забыл уже. Что-то ещё было... margin?.. Увеличение частоты решает 99% проблем физики. Но увеличивает нагрузку на CPU в несколько раз. Но эта нагрузка оправдана для подобного рода игр.
>применения вручную сил ИМХО, для игры типа Rocked League это наиболее оптимальный вариант. Я сам в оригинал не играл, но физическая симуляция вряд ли будет достаточно сбалансированной. Мячик должен вести себя более предсказуемо, чтобы игрок смог запульнуть его в конкретном направлении, а не просто врезаться.
Также и с машинкой. VehicleBody3D - это для игрушек наподобие GTA, где тебе важно заезжать на бордюр, трястись на трупах пешеходов и прочих кочках. А в аркадной игрушке уровня Rocket League достаточно управлять катящимся шаром, который лишь внешне изображает автомобиль с колёсами. Например, так: https://kidscancode.org/godot_recipes/4.x/3d/3d_sphere_car/ С такой машиной-сферой столкновения будут более предсказуемыми и для твоего кода, и для игрока.
Но, конечно, всё зависит от того, чего ты хочешь.
>>1078975 >ровно какая используется как база в рокет лиге Лол, серьёзно? Может, они её как-то упростили?
>>1078979 Перечитал своё сообщение и засомневался... >пересечения коллизий По-моему, движок не должен иметь с этим проблем.
Нооо... Я точно помню, что были какие-то проблемы конкретно с проникновением на скорости. Может, перепутал с чем-то? С Kinematic/CharacterBody3D?
Но в целом: больше скорость ==> больше тикрейт. Стандартный тикрейт 60 TPS рассчитан на что-то, ну, наподобие 3D Action RPG?.. Для гонок рекомендуют повышать. Для симуляции ракеты - тем более.
Хотя можно даже ниже тикрейт сделать, 30 или 15. С включенной интерполяцией физики будет нормально выглядеть. Но это для игр с большим количеством медленных объектов, где скорость не так важна, как количество одновременно движущихся объектов.
>>1078979 >Я предполагаю, ты перепутал слои и маски физики. Да, спасибо, мяч "видел" только пол.
>Если не ошибаюсь, настройка массы влияет лишь на применяемые к телу силы (force) и импульсы. Ну да, но я думаю что когда машина пинает мяч там и рассчитывается импульс который стоит применить, учитывая закон сохранения импульса и упругое/не упругое соударение + мяч подскакивает и гравитация по разному влияет, я буду играться с этим, 0.01 я сделал т.к. мяч не двигался.
>ИМХО, для игры типа Rocked League это наиболее оптимальный вариант. Пока мяч попытался пнуть, не более, но РЛ это очевидный референс.
>Мячик должен вести себя более предсказуемо, чтобы игрок смог запульнуть его в конкретном направлении, а не просто врезаться. >Лол, серьёзно? Может, они её как-то упростили? Не понял, кто они. Те надписи в документации скорее всего давно, а с 4.4 по умолчанию включен Jolt. Мне попался видос https://www.youtube.com/watch?v=ueEmiDM94IE, я его не смотрел весь, только начало, там он говорит что использовали буллет но дальше рассказывает о кастомном расчёте сил всяких. Так же показывает о проблеме детерменизма что в зависимости от частоты физики мяч попадал в разные места, что было вызвано тем что машина "входит в мяч" на разную глубину, кстати.
А реализацию я сам смотрел, открыл Bullet и Godot последний, для меня классы выглядят плюс-минус одинаково, вплоть до использования дополнительной структуры для хранения якобиана. Но есть ньюанс, который я в процессе узнал, все реализации машин в играх тоже плюс-минус одинаково работают (ну те, что более менее реалистичны) они используют рейкастинг, точнее несколько и на каждом колесе. В общем-то VehicleBody3D почти нихуя не делает, а просто свои параметры передаёт на свои VehicleWheel3D и каждое колесо считается само по себе.
>>1078980 >По-моему, движок не должен иметь с этим проблем. У всех есть, у RigidBody3D со старой физикой годо вообще были большие проблемы и тела сквозь мол проваливались даже на небольшой скорости, только включение Continous CD спасает.
>>1078986 >пинает мяч там и рассчитывается импульс По идее, так и должно быть. Но мне кажется, что эти рассчёты могут быть неправильными при слишком большой скорости/низкой частоте физики. Не помню, кажется, я уже делал что-то похожее на Godot, но это достаточно давно было и детали забылись.
>гравитация по разному влияет Нет, масса никак не влияет на ускорение падения. В школьной программе должны были показывать этот эксперимент... В общем, лёгкие объекты в вакууме ускоряются с той же скоростью, что и тяжёлые, но сопротивление воздуха сильнее замедляет что-то наподобие пёрышка, шарика или мячика. В движке сопротивление среды настраивается через: >linear_damp - замедление по осям X/Y/Z >angular_damp - замедление вращения Есть значение по умолчанию в настройках проекта, действующее на все объекты сразу, и независимые настройки внутри каждого RigidBody. Так что, если планируешь сделать очень лёгкий, но большой мяч - увеличивай ему linear_damp для реализма.
>Не понял, кто они Разработчики Rocket League физику своих машинок.
>открыл Bullet и Godot последний Bullet Physics использовался как движок физики по умолчанию в Godot 3.x, но начиная с 4.0 его целиком выбросили, но "наследство" в виде API осталось. Как понимаю, Bullet уже давно устарел и не развивается, несмотря на то, что его использовали даже в GTA.
>все реализации машин... используют рейкастинг Ну, типа да, но не совсем... В GTA V 100% рейкастинг, поскольку там колёса дергаются на бордюрах как в дешёвой индюшатине, лол. Но это оправдано из-за необходимости заполнять всю улицу машинами на относительно слабых старых приставках. В идеале симуляция колёс должна быть сложнее...
Вопрос в том, нафига колёса-рейкасты той же RL, где машинки либо едут по ровной плоскости, либо тупо взлетают и летят по воздуху? Ещё и в мультиплеере. Думается мне, есть более элегантные решения...
>тела сквозь мол проваливались Это проблема использования тонкой коллизии.
Речь шла не о самом "проваливании", а как алгоритм депенетрации вычисляет правильный импульс при различных столкновениях/пересечениях. Там могут использоваться оптимизации, которые делают результаты недостаточно предсказуемыми.
Собственно, я об этом, наверное: >в зависимости от частоты физики мяч попадал в разные места, что было вызвано тем что машина "входит в мяч" на разную глубину, кстати.
>>1079167 Да хер их знает, оно ж пока не понятно, ну добавили там джойстик для мобилок но это херня. Визуально добавили хинты, когда ноду перетаскиваешь в скрипт там появляется в правом углу, скрин не могу сделать. Добавили режим Follow за нодой, с виду неудобно пиздец, режим вешается, ты двигаешь ноду и камеру колбасит
>>1078526 Не очень понял, что ты хочешь сказать. Те шейдеры были просто для теста, я за неделю 6 штук в итоге сделал разных, вот пример. Плюс эти шейдеры-задники передаются по наследству от родителей при скрещивании. Просто чтобы было еще что-то уникальное у хомяков. Сами хомяки и шейдеры я запихал в отдельные окошки, которые их ограничивают. В итоге всё выглядит вот так. Мне кажется, вполне нормально смотрится.
>>1079232 Возможно ты и прав. Но это все еще ворк ин прогресс, так что всегда можно переделать. Я подумаю, какой можно более мягкий для глаз шейдер запилить.
>>1079226 Твоё видео напомнило мне аниме "Selector Infected WIXOSS"... Там девочки сражались в карточной игре, используя девочек-аватаров. Суть в том, что все бои происходили в каком-то виртуальном пространстве, которое, кажется, подстраивалось под героев, и было разделено на две полусферы - по одной на героя.
Я это к тому, что твои хомяки выглядят так, будто они смотрят друг на друга, а мы видим их сразу с двух независимых камер, направленных в две стороны. И соответственно, фон у них общий, но уникальный для каждого, потому что он делится на две полусферы.
В общем. Я где-то тебе уже писал про фон, а теперь передумал - можешь оставить как есть... Но, как ты смотришь на то, чтобы сделать игру "2.5D"? В Godot достаточно легко сделать композицию 2D + 3D. Я представляю это так: 3D сфера из двух куполов с шейдерами, какой-нибудь общий пол, и 2 Sprite3D с хомячками, направленные друг на друга. Camera3D находится где-то ближе к середине и автоматически вращается в сторону хомяка, который готовится к совершению атаки, а потом - к защищающемуся. Для большей свободы движений камеры придётся также нарисовать хомяков сзади, а в идеале и сбоку. А пикселизацию можно оставить на прежнем уровне - крупнопиксельные спрайты хорошо выглядят в 3D.
>чтобы было еще что-то уникальное у хомяков Это достаточно просто для таких монстров: - разные узоры тела (можно сделать маской); - рога, уши, крылья, хвосты, шипы, щитки и т.п.; - что-то вроде одежды - шапки, перчатки и т.п.; - нибы, ауры, летающие вокруг них штучки и т.п. Не ограничивай себя только "хомяками".
Кстати, твой шейдер можно было бы сделать "аурой", скомбинировав с обычным фоном типа леса/города. Достаточно ограничить шейдер круглой областью, создаваемой через GradientTexture2D, которую ты помещаешь в параметр шейдера как маску/фильтр. Выглядеть будет так, будто хомяк парит в воздухе с окружающей его уникальной аурой, которая как бы перекрывает реальный мир, но просвечивает.
Я б накидал тебе прототип/мокап, но сейчас не могу.
>>1079232 >Плохо сочетается с пиксельным хомяком. Иногда "плохо сочетается" - не баг, а фича. В игре про "генетику" и выращивание уникальных "монстров", уродливые, плохо сочетающиеся комбинации - это абсолютно нормально и стимулирует игрока искать (создавать) наиболее приятных визуально монстров. Просто подумай, какой смысл искать себе лучшего из лучших монстров, если они все выглядят хорошо? В подобных играх всегда нужны уроды для контраста. Некоторые могут даже предпочитать сбор уродов.
>>1079234 >В общем. Я где-то тебе уже писал про фон, а теперь передумал - можешь оставить как есть... Но, как ты смотришь на то, чтобы сделать игру "2.5D"... Звучит и правда интересно, но вот вопрос: осилю ли я? Потому что я в целом ни разу с ЗD в играх не работал. Наверно, можно попробовать уделить этому неделю-две для теста, отдельную сцену создать боёвки и в ней переработать. >Это достаточно просто для таких монстров: Да, я как раз хотел сейчас поработать над визуалом. До этого я больше самой генетикой и боёвкой занимался. Сейчас это уже более-менее устаканилось, можно заниматься визуалом хомяков. Новый ген и его обработку добавить дело 15 минут, код не сильно сложный.
>>1079236 >осилю ли я? >ни разу с ЗD в играх не работал Да это не сложно, и нужно всего ничего: 1. Засунуть сцену-хомяка (без фона) в эту ноду: https://docs.godotengine.org/en/stable/classes/class_subviewport.html Сцена исчезнет во вьюпорте - это нормально (вроде пытаются сделать что-то, чтобы было проще вносить изменения в ноды под SubViewport, но я не следил). 2. Добавить в сцену вот эту ноду: https://docs.godotengine.org/en/stable/classes/class_sprite3d.html И в параметре texture выбрать эту текстуру: https://docs.godotengine.org/en/stable/classes/class_viewporttexture.html В которой указать в viewport_path ноду из п.1. Для уникальных объектов можно поместить SubViewport непосредственно под Sprite3D, просто для удобства. 3. Повторить 1-2 для второго хомяка и поместить их (Sprite3D) напротив друг друга в 3D вьюпорте. 4. Для фона-сферы можно использовать sky shader: https://docs.godotengine.org/en/stable/tutorials/shaders/shader_reference/sky_shader.html Либо на SphereMesh наложить spatial shader, который предоставляет, кажется, куда больше возможностей: https://docs.godotengine.org/en/stable/tutorials/shaders/shader_reference/spatial_shader.html Либо можно использовать CanvasItrm shader (у тебя используется сейчас), и накладывать посредством SubViewport. Есть много вариантов, как смешать два независимых шейдера. Думаю, самое простое - это next_pass и использование UV координат, если ты накладываешь шейдер на простую сферу. 5. Добавить и анимировать 3D камеру. Её легко трансформировать через простой AnimationPlayer. Пользовательское управление тебе вряд ли нужно. https://docs.godotengine.org/en/stable/classes/class_camera3d.html Добавление камеры создаёт 3D вьюпорт у тебя в игре, однако, потомки Control остаются без изменений. Т.е. достаточно использовать старый GUI - тогда 3D будет отображаться по центру. Нормально, в принципе, во множестве старых 3D игр был громоздкий GUI...
Короче говоря, бОльшая часть работы остаётся 2D, и шейдеры тоже можно оставить 2D (но будет менее эффективно, как мне кажется), вся разница только в упаковке твоих 2D нод внутрь SubViewport. Можешь продублировать текущую сцену и прям в ней сделать "трёхмерный" вариант. Хотя "3D" тут весьма условно (основной прикол - трансформации 3D камеры).
>>1079244>>1079246 Да, кстати, думаю, нужно важное замечание: >во множестве старых 3D игр был громоздкий GUI Громоздкий GUI в старых 3D играх - это своего рода оптимизация производительности. Т.е. игра просто рендерила 3D графику в малюсеньком окошке где-то посередине экрана, или на верхней/нижней половине, остальное же просто bitblt'или в видеопамять как 99% статичное изображение. Это было суперэффективно.
Godot по умолчанию рендерит 3D во весь экран, т.е. интерфейс из Control нод отображается поверх уже отображённых 3D объектов, и это может быть очень неэффективно для громоздкого GUI поверх сложных шейдеров. Оптимизировать можно почти как деды: https://docs.godotengine.org/en/stable/classes/class_subviewportcontainer.html Эта нода отображает содержимое SubViewport (в предыдущих версиях Godot можно использовать TextureRect, добавив в него ViewportTexture), так что возможно "упаковать" 3D рендер напрямую в GUI, и настроить так, что 3D рендерится в относительно небольшом разрешении по сравнению с GUI.
В твоём случае, >>1079226, можно сделать так: >левая панель - SubViewportContainer - правая панель >нижняя панель с кнопками, чатом и т.д.
Ещё данный метод позволяет сделать эффективную пикселизацию 3D вьюпорта с кристально чистым GUI, наложенным поверх/вокруг 3D. Там в настройках есть масштабирование, плюс где-то нужно сглаживание отключить (т.е. linear filter -> nearest filter). Так можно приблизиться к более "ретро" рендерингу (опять же, поскольку GUI bitblt'или, а 3D было слишком дорого). Поэкспериментировать с этим всем очень легко.
>>1079250 "Полировка" - самая скучная часть разработки игры. Сделаешь свою маленькую игру за неделю и потом несколько месяцев полировать, рекламировать и собирать вишлисты... Нравится? Что ж, вперёд!
Но многие приходят в разработку игр с мечтой о большой игре. Заниматься "сделал 99 игр за год" им неинтересно, даже если это потенциально выгодно. Разработку большой игры такая мелочь не ускорит.
Да и зависит от площадки. В мобильных и веб-играх поощряются короткие сессии, простой геймплей. Там задротить по несколько часов подряд мало кто хочет. Напротив, в стиме уважают игры для задротов, а к мобильным играм относятся с презрением. Нужно учитывать, что компьютеры есть далеко не у всех, а смартфоны доступны даже нищим в Индии/Африке. Впрочем, мобильный рынок - переполненный базар. Приткнуть свою игру туда будет крайне сложно.
Так, очень важный вопрос. Вот допустим у меня есть 15000 multimesh (не спрашивайте хули так много), собранных через RenderingServer. Visibility range и прочая поебистика настроена и вроде работает окей. Проблема оказалась не там где я ожидал. Эта куча экземпляров, в сумме со всех multimesh, пожирает нихуево оперативной памяти (5ГБ нахуй) что в наше время хуйня, но все-таки, какие нахуй 5ГБ. Кто-то пробовал каким-то образом уменьшить стандартный объем для одного Transform3D, который 48 байт вроде? Как бы интуитивно понятно что для хранения не таких точных данных (мне не нужна точность в нанометры и сотней доли градусов) 48 байт это овердохуя. Короче вопрос простой: как блять порезать объем занимаемой памяти?
>>1079263 Единственное что я пока вижу, так это те мультимеш которые вообще не видно, полностью удалять (выгружать из памяти) затем полностью создавать, но только блять именно что не из оперативной памяти, а читать из файла, но это все равно микрофриз. Тоже хуйня
>>1079263 >15000 multimesh 15к уникальных мешей? Ты их нагенерировал? >5ГБ >48 байт Т.е. 7500 инстансов внутри каждого мультимеша? >уменьшить объем одного Transform3D По умолчанию Godot использует 32-битные float, и существует флаг для сборки с 64-битными float, а в стандарте C++ есть ещё 16-битные float, так что, теоретически, можно собрать с ними - но, во-первых, нежелательно, чтобы это повлияло на все float, что используются в движке, во-вторых, это может иметь неожиданные проблемы... Придётся повозиться.
>как порезать Если тебе позарез нужно именно столько объектов, возможно, их стоит объединить в один меш? Я вот подозреваю, что у тебя не 15к уникальных мешей, а значительно меньше, и ты просто пытаешься их распределить по разным мультимешам. Возможно, заменить мультимеши на уникальные меши более рационально, но нужно смотреть по ситуации. Godot позволяет сделать объединение мешей процедурно, поэтому можешьнаписать собственный tool-скрипт, конвертирующий мультимеши в уникальные меши.
Пример: - 1 травинка из 1-2 треугольников - 7500 травинок в 1 "коврике" - 15000 "ковриков" на сцене Очевидно, что лучше объединить травинки в 1 меш - реализовать "коврик" мешем, а не мультимешем. И переиспользовать его, потому что игроку вообще на травинки наплевать и он их в настройках отключит, значительно подняв fps, а не будет разглядывать...
>>1079267 >15к уникальных мешей? Ты их нагенерировал? Ага, ну это чисто ради теста, как конечный максимально достигаемый результат.>>1079267 >Т.е. 7500 инстансов внутри каждого мультимеша? Именно.>>1079267 >объединить в один меш? Не получится наверное. В игре типо рисование экземплярами, т.е. постоенное изменение visible_count (да, вначале создаётся буфер определённого размера)
>>1079264 >которые вообще не видно, полностью удалять Если они далеко - можно заменить на Sprite3D...
>>1079270 >Ага, ну это чисто ради теста >В игре типо рисование экземплярами Опиши геймплей и меши, у тебя что-то необычное.
Если ты хочешь сделать буквально "рисовалку" и отображаемые меши - это плоские картинки, тогда, возможно, лучше выделить большую текстуру и действительно рисовать на ней как в пейнте. Тогда потребление памяти будет минимально, а действия неограниченные, т.к. каждый пиксель возможно перекрашивать до бесконечности.
Возможная реализация: 1. Делаешь SubViewport с Camera3D. 2. Настраиваешь ему режим фона: >world_3d.environment.background_mode = BG_KEEP Это предотвращает очистку вьюпорта (текстуры). 3. Когда тебе нужно что-то нарисовать: 3.1. Помещаешь объект(ы) под SubViewport. 3.2. Делаешь единственное обновление: >render_target_update_mode = UPDATE_ONCE 3.3. Убираешь объект(ы) из-под SubViewport. Так можно лепить любые объекты, спрайты и т.д.
Если тебе обязательно нужны выпуклые 3D объекты, динамическое освещение и т.д. - сомневаюсь, что это получится оптимизировать как-то кроме ограничения максимального количества объектов на экране. В большинстве старых игр игрок жёстко ограничен в количестве объектов именно ради оптимизации.
>>1079263 > Короче вопрос простой: как блять порезать объем занимаемой памяти? А у тебя игра есть? Нахуя тебе резать память трансформа?, если у тебя нет игры. Что именно ты там оптимизируешь?
>>1079275 >Опиши геймплей и меши Да ничего необычного, простое "рисование" травой, типо как в плагине simplegrass, но с некоторыми ухищрениями, т.к. мы в игре в не в редакторе. Там ещё всякая муть, типо разные виды травы - разные мультимеши и сделано так, чтобы новые экземпляры любого мультимеша не могли ставится там где стоят другие экземпляры (даже других мультимешей), там проверка расстояния, опять же с оптимизации...
>>1079276 Это у него оценка возможностей и ограничений. А то потратит несколько месяцев/лет на создание игры, а потом обнаружит, что её нельзя оптимизировать, не избавляясь от полученных ранее результатов.
>>1079270 Добавлю ещё, что метод с SubViewport можно также использовать для растеризации некоторых сложных композиций, которые остаются статичными. Т.е. ты подгружаешь свои мультимеши с диска, рендеришь в текстуры, и сохраняешь в памяти только текстуру. Это эффективнее всего, когда объекты далеко от камеры (соответственно и текстура маленького размера).
А ещё можно генерировать normal map и height map, создавая иллюзию глубины на плоскости, если ты собираешься рисовать выпуклыми объектами. Очевидный пример - масляные краски: от них всегда выпуклый, блестящий след, но его можно запросто имитировать с помощью нормалей. Только это уже придётся в коде шейдера реализовывать.
>>1079277 >простое "рисование" травой Так ты не объяснил - рисует игра или игрок? И в чём практический смысл для игрока? Трава объёмная? Анимированная (колышется на ветру)?
>ничего необычного В обычных играх трава менее значимая, чем тени. Нарисовать-то её можно, но следует добавить в настройки графики опцию отключения травы - т.к. геймплейно она обычно не нужна и только жрёт электричество и снижает частоту кадров, лол.
>>1079341 > 1 или 2? Оба варианта в разных местах то лучше то хуже. > достоинства > шейдера В том, что ты можешь вручную сделать авторские костыли чтобы получить идеальный визуал. Поэтому шейдер.
>>1079346 > делом ребята заняты >>1079348 Пошёл нахуй, движкосрачя залётная, ребята сделали целую систему локализации, не ограничивающуюся одним только языком редактора, что вылилось в создание подкатегории в настройках. А ты прискакал и высрался на скриншот. Репорт.
Поймал себя на мысли что перестал писать код сам, а просто сбрасываю четко описанную задачу на гемини/клода, и за пару итераций имею все готовое. Не наебывали, задвигая что программисты рип. И ведь это гдскрипт, у которого трейнинг даты не так много. Ебать жизнь стала, хай тек лоу лайф.
>>1079407 Не подскажешь какой интерфейс используешь непосредственно для промта? Какой-то экстеншен в VsCode поставил или прямо в чате вебморды общаешься с нейронками? Я не пробовал пока, учусь сам. Наработаю знания, потом мб простые задачи смогу так же решать. Поделись
>>1079410 Давать доступ к кодовой базе я не хочу, поэтому ни экстеншенов, ни агентов. Просто чат. Гемини платный, клод бесплатный. Больше ничего особенного, разве что прошу их не выебываться с кодом и писать "простой, читаемый, примитивный" код. А то бывает нахуевертят там целый фреймворк ради нихуя. И версию годота указывай четко чтобы не путали тройку и четверку.
>>1079418 Некоторое время назад я бы скептически отнесся к таким заявлениям. Но теперь не знаю чего ожидать. Надо перечитать киберпанковскую классику, вдохновиться будущим, которое наступает.
>>1079418 > чип в мозг засунуть и думать об игре и она сама Зачем об игре? Думать сразу о приключениях. И они будут генерироваться сразу во встроенном виртуальном пространстве. Ведь мы, когда играли в игры, мы в первую очередь хотели приключений - и получали их через игровые механики и синематик-сценки. В итоге, в будущем будет отброшена лишняя шелуха в виде игровых механик и абстракций, и концентрированные приключения будут подаваться нейрослопом прямо в мозг. Сейчас это звучит как смерть цивилизации, как крыса с кнопкой, но люди справятся.
>>1079341 >1 или 2? 1 выглядит приятнее, но пустовато. Чем будешь игру заполнять? Какого размера будут твои персонажи? Интерактивные объекты? Каков геймплей? Нужно подбирать стиль графики к конкретной игре.
>какие достоинства и недостатки у сабвьюпорта с понижением разрешения против шейдера Чтобы понять, нужно разобраться в алгоритмах. SubViewport: 1. Рендерим 3D в текстуру 480x270 (0.13 MP). 2. Натягиваем эту текстуру на 2 треугольника. 3. Рендерим их в разрешении 3840x2160 (8.3 MP). Типичный шейдер пикселизации: 1. Рендерим 3D в разрешении 3840x2160. 2. Делаем копию экрана через BackBufferCopy. 3. Рендерим 2 треугольника шейдером, который будет обращаться к буферу экрана и считывать один из 64 отрендеренных пикселей для каждого 8x8 квадрата.
Думаю, ты уже понял, что суть SubViewport в том, что нагрузка на видеокарту снижается на порядки, а с пикселизирующим шейдером видеокарта впустую пережигает энергию на рендер ненужных пикселей.
>>1079347 >ты можешь вручную сделать авторские костыли чтобы получить идеальный визуал Какие костыли ты предлагаешь использовать? Ты ж отбраковываешь до 63 или более уже отрендеренных пикселей, которые тебе в принципе не нужны. Если ты имеешь в виду эффекты типа имитации точек CRT или крупных LCD пикселей, для этого лучше сделать так: 1. Рендерим 3D в текстуру 480x270 (SubViewport). 2. Рендерим 2 треугольника в разрешении 3840x2160 шейдером, который обращается к ViewportTexture и добавляет специальные эффекты вокруг её пикселей.
Таким образом ты получаешь и "авторские костыли" (спецэффекты вроде CRT, LCD и т.п.), и экономишь на рендеринге, потому что базовый рендер 3D сцены в сниженном относительно экрана разрешении.
И не надо начинать про "экономию на спичках". Да, некоторые игроки не заметят разницы. Но если игра нагружает видеокарту из 2026 на 99%, но её графика выглядит так, будто она из 1996, то кто-нибудь это обязательно заметит, обидится и будет жаловаться. Учитывая простоту фикса, стыдно его не делать.
Насколько тяжеловесна и сложна RTS в разработке по части кода? Знаю, что в пошаговой изометрии используют определенные манипуляции для создания эффекта Y координаты, хотя там всё в 2D. Можно ли добиться такого же эффекта в RTS или комп взорвется?
>>1079504 Взорвется если будешь симуляции/автоматизации делать по тиму римворлда/Songs of Syx/дварфов. У ртс по типу старкрафта есть оптимизации в массовом поиске пути (есть у этого алгоритма название, но я не помню). Больше, навскидку, сложностей нет.
Для изометрии пошаговой придется навернуть поиск пути подобный гексам (оказалось они очень схожи). Но в реале лучше не трахать мозг и гоняй капсулы по 3д карте (навмешем). Там можно даже лоуполи и корявую анимацию, смотрится норм (рекомендую бездарным художникам как я)
>>1079657 Я придумал гениальный проект, но сам не осилю. Нужна команда. Рабочее название RUBLOKS - онлайн-платформа предоставляющая игрокам несколько базовых игр и редактор в котором можно делать свои собственные игры, и делиться ими с друзьями, и играть вместе онлайн. Прикиньте, как круто было бы? Взлетит?