>>1040270 >что-то на что не стыдно взглянуть Это очень субъективная оценка. Кому-то не стыдно голышом дрочить посреди площади, а кто-то играть в компьютерные игры в принципе стыдится - это ж для детишек всё делают - кто из взрослых будет играть в кровавые шутеры или смотреть на сцены секса?..
Я вот лично кринжую с попыток в "фотореализм" от ноунеймов, которые почему-то верят, будто эта их размазанная по стенам грязь делает игру более затягивающей. Зачем мне даже бесплатно качать компьютерную игру, если у меня ИРЛ точно такой же безыдейный срач что дома, что на улице? Ради чего? Очевидно, у автора просто фантазии не хватило - скопировал то, что его окружает, и назвал "игрой". Постыдился бы такое выкладывать в интернет...
Также учитывай, что основная работа при создании трёхмерной графики в самом меше и его текстурах, которые никак от движка не зависят. Качественно выполненная моделька будет и на движке из 90-х достаточно прилично смотреться. Вот Max Payne разрабатывали в конце 90-х, а графически он рвёт большинство недавних попыток в "фотореализм" - поскольку новые попытки лепят из говна и палок, собранных с интернета, а Max Payne делался под конкретный стиль с кастомными фотографиями. Получилось бы улучшить Max Payne с помощью новомодных алгоритмов? Возможно. Но если твои модельки и текстурки изначально говно, никакой новомодный алгоритм тебе ничем не поможет.
>>1040323 Стилизация > Технический уровень графики. Один из самых наглядных для меня примеров графоуни третего варика. До ремастера даже. И ремастер ему без нужды был, т.к. этот графон натянутый на 1.5 полигона смотрелся одинаково заебись тогда и сейчас, не старел вообще.
>>1040327 >Стилизация > Технический уровень графики И это тоже. Max Payne нуарненько стилизован. А современные "фотореализм" игры часто не имеют определённого стиля - тупо сборка чужих ассетов.
>>1040329 Первое, что ты должен понять, это то, что твоя игра будет успешной только если ты сплагиатишь успешный геймдизайн, игровые механики, визуальный стиль. Когда определился с тем, какой продукт ты готовишь игрокам, начни искать гайды по разработке нужных механик, готовые ассеты и скрипты, а также используй нейросети для поверхностных вопросов по движку и работе с ним.
Если нужно поконкретнее, вот тебе план действий: 1. Скачат и установил движок 1.1. создал проект 2. Чатгпт, как мне %вопрос по движку%? 3. Экспорт проекта 4. profit
>определился с тем, какой продукт ты готовишь Именно так рождаются мёртвые игры на дне Steam: абсолютный новичок делает свой первый игровой проектик, рассчитывая что-то с него заработать, и, естественно, ничего с него не зарабатывает. У всех успешных геймдевов был какой-то опыт "в стол", за чрезвычайно редким исключением. Без практики на "игрушечных" проектах делать "серьёзно" не выйдет.
>нейросети для поверхностных вопросов по движку >Чатгпт, как мне %вопрос по движку%? Так может говорить только тот, кто даже не пытался задавать серьёзные вопросы любой из LLM, либо не пытался следовать советам этой LLM по вопросу... Единственное, в чём LLM могут более-менее хорошо помочь, это суммировать результаты веб-поиска, но даже в таком случае они часто фейлятся на Godot.
Алсо, в хорошо поставленном вопросе содержится половина ответа. Проблема в том, что новичок без практического опыта не сможет задать правильный вопрос, а все LLM тренируют во всём соглашаться с пользователем, даже если он несёт какой-то бред.
От LLM есть польза, когда ты уже что-то умеешь и разбираешься в вопросах, а новичка они могут ещё сильнее запутать и разочаровать во всём геймдеве.
Так что пока лучше пользоваться классическими туториалами, руководствами пользователя и т.д. Естественно, бывают плохие туториалы. Но плохие зарабатывают негативные отзывы других людей, в отличие от чата с нейросетью, который приватный и не контролируется знающими людьми со стороны (хвалёный RLHF может научить нейронку тщательно вылизывать задницу пользователю, с чем оказалось очень сложно бороться даже лидерам LLM рынка, от галлюцинаций он не избавляет и может их добавить).
>>1040343 Я постоянно пользую гпт, скорее как собеседник и быстрая напоминалка всякого. Но именно с годотом галлюцинации там адовые. Вплоть до того, что синтаксис гдскрипта стабильно игнорируется и пишется какой-то видоизмененный жс или си. Ну и самая стандартная вещь - выдумываются возожности, несуществующие функции всякие, и это может быть до бесконечности с одной и той же фичей. Спрашиваешь, гпт врет, переспрашиваешь уточняя что вот тут ты пиздишь такого нет, гпт выдает "оооой, перепутал" и начинает галлюцинировать по новому кругу. Чаще по тем же вопросам, что в гпт отправляются, можно достаточно быстро найти ответ в гугле. Хотя всегда есть шанс, что проблема слишком специфична. И в целом все же от нейронки больше пользы, чем вреда, если относиться к ней скептически. Рефакторит говнокод ниче так, быстро. С другими нейронкамми может будет лучше.
Всем спасибо за помощь! Проблемы растут как снежный ком, и даже там, где их ну совсем не ждешь. Тут для ее описания записал видик, получился почему-то шакальным, но там в целом видно. Ошибка Parse Error: Mixed use of tabs and spaces for indentation. ГугОл говорит, что ошибка может быть при вставке копированного кода. Но как видно (надеюсь), я ничего не вставлял.
А перед созданием игры мечты нужно нужно иметь опыт в программировании? Я в компутерах и кодах энтих ваших не разбираюсь... Нужно книжки вумные читать или на сухую врываться?
Посоветуйте хорошие источники информации для первичного ознакомления с программированием, чтоб хотя бы понять устройство движка, того что я печатаю и почему всё это работает.
>>1040358 >Mixed use of tabs and spaces for indentation Ошибка смешивания табов и пробелов обычно из-за нажатия пробела или таба в начале строки, когда ты используешь для остальных строк табы или пробелы (GDScript позволяет выбрать одно из двух, но нужно придерживаться выбора в рамках одного файла).
Ты, скорее всего, случайно нажал Tab на клавиатуре, набирая заголовок функции. Нажимай Tab только в самом начале строки для отступов от левого края. Рекомендую в настройках редактора включить специальные символы для табов и пробелов.
>>1040365 Это ошибка кодировки в браузере, можно скачать и посмотреть видео в нативном плеере. Он какой-то нестандартный рекордер использовал, видимо. В метаданных куча явно лишней информации типа 'is_ai_video:0, is_ai_music:0", кого этим обманешь?..
>>1040367 >игры мечты Что ты под этим подразумеваешь? Если ты мечтаешь разработать что-то относительно простое, то можешь начинать делать прямо сейчас. Если твоя мечта - это разработка GTA 7 в студии... туда путь будет долгий.
"Умные книжки" не нужны, если тебя интересует лишь создание конкретной игры. Ищи туториалы по теме и общеобразовательные книги, типа информатики для старших классов, там самое главное должно быть - переменные, условия, циклы, функции и так далее.
Если английский знаешь, вот интерактивные уроки, основанные непосредственно на GDScript, там всё объясняется с основ и можно сразу попробовать: https://www.gdquest.com/learn-to-code-from-zero/ Без английского будет тяжелее учиться геймдеву...
Ну и в целом. Если ты не умеешь искать в интернете информацию, то далеко ты не уедешь. Все основы находятся в поисковиках легко, по крайней мере, на английском языке всё ищется. Каких-то секретных знаний на самом начальном уровне нет. К тому же у разных людей разные особенности восприятия новой информации... Что одному - хороший урок, тому может вообще быть непонятно, поэтому много обучающих материала в самых разных форматах и стилях...
>>1040367 Судя по туториалам - не нужно, их часто совсем нулевые записывают, но ооооочень приветствуется. Сам же будешь тупить над многими вещами без базы, многое будет выглядеть магией. Но непроходимым препятсвием это не является. Ну и движкописательство и код для игры это не одно тоже, для второго достаточно знать что движок умеет, нахрена и как, а не быть в состоянии вышку защищать по этой теме. Годот из тех технологий, который изи ту лерн, хард ту мастер. Как и остальные движки наверно, чем больше будешь погружаться тем больше головняков и нюансов, но на старте он будет выглядеть типа "я только подумал а он уже все сделала ахуенна".
>>1040344 Неправильно ты, дядя Федор, нейронку юзаешь. Ты ее вспоминать(галлюцинировать) заставляешь, а должен давать ей пример из справки годота и требовать адаптировать под твою задачу.
>>1040329 Делай только чтобы делать, и не важен результат. И тогда ты осознаешь что тебе принадлежат все закрытые ворота, все открытые дороги, но тебе не нужно это, в пустоту направлен взгляд.
А итч вообще учитывает оценку игры при ранжировании в выдаче? Просто кнопка "оценить" так далеко запрятана будто итч не хочет чтобы люди рейтинг ставили.
>>1040612 Это уже малость пугает. С одной стороны хорошо, что годот так беспощадно ебет. С другой - внимание к нему от всякие контор пидорасов печалька. Купят и прикроют.
>>1040622 Опенсурс зависит от разработчиков. У Godot всего несколько ключевых людей, тесно друг с другом взаимодействующих, остальные приходят и уходят. Теоретически, большая компания может выкупить разработчика, пообещав ему горы золотые и потом загрузив работой на 24/7/365... Кто будет движок разрабатывать?.. На практике, конечно, разработкой занимаются в основном идейные люди, вряд ли они согласятся работать на корпорацию всё своё время.
Также есть риск, что основные разработчики просто поссорятся из-за какой-нибудь фигни и разойдутся. В опенсурсе периодически такое случается. В Godot уже минимум одна такая драма произошла (после 2022).
Также движок - сложный агрегат из самых разных компонентов. К примеру, Godot Physics 3D в таком печальном состоянии долгое время находится из-за отсутствия человека, разбирающегося в его коде. Случайный C++ программист с улицы не сможет моментально разобраться в коде и сделать что-то существенное хотя бы для одного компонента.
Так что риск всегда есть. Движок не становится по настоящему бессмертным только из-за опенсурса. Недостаточно иметь исходники чего-то, что лежало совершенно без движения много лет. Особенно если начнутся изменения в айти, связанные с бумом AI (процессоры могут поменять, и весь софт под них переделывать придётся, как один вариантов).
>>1040609 >Это как ваще? Battlefield на Frostbite, а это закрытый движок. У них, очевидно, есть свои инструменты для создания карт, однако, пользоваться ими наверняка сложно и будет сложно релизнуть урезанную версию для мододелов. Возможно разработать отдельный редактор, но зачем изобретать велосипед? Godot хорошо подходит как фундамент для редактора пользовательских карт - дружелюбный интерфейс, модифицируемость и MIT лицензия, позволяющая скрывать модификации. Конвертировать tscn в какой-то закрытый формат стороннего движка проще, чем изобретать новый или ограничивать внутренний редактор карт.
Так что они просто сэкономили средства компании, задёшево получив конкурентное преимущество (мало дорогих игр имеют проработанный редактор карт, т.к. казуальный игрок всё равно не будет пользоваться).
>>1040656 Я до их изучения не добрался еще, но у меня в башке крутится что такую кажущуюся сложной тему (по крайней мере для меня это сейчас магией выглядит) хорошо бы сразу начать учить по чему-то самому удобному из возможного. Поэтому спрашиваю о гпт.
>>1040629 На практике, когда припрет и когда проект востребованный, люди находятся. Сейчас вон даже древнючие иксы закопать не могут не смотря на все усилия - нашелся некромант, взявшийся пилить дальше. А с годот физикс другая история. Там большую часть времени ждали когда Джолт допилят, поэтому все воспринимали занятие годот физиксом как бесполезное - все равно ж скоро заменят.
>>1040673 >ждали когда Джолт допилят Это уже потом. До джолта было много багов, которые фиксить было просто некому - единственный умелец потерялся из-за того, что нашёл какую-то работу, если ничего не путаю. Это было несколько лет назад. Все использовали Bullet просто потому что багов меньше.
>когда припрет и когда проект востребованный Увы, Godot востребован в основном у нищих 2D инди. Беженцы с юнити хотят всё готовое и не могут в C++.
>>1040657 >для меня это сейчас магией выглядит >>1040655 >шейдеры научить писать Всё минимально необходимое в доках: https://docs.godotengine.org/en/stable/tutorials/shaders/index.html Вкратце, для многих простых эффектов достаточно запомнить и понимать API. И ещё усвоить факт, что видеокарта выполняет твой код в несколько сотен независимых потоков как минимум, поэтому твой код ограничен локально доступной и заранее полученной информацией - обычно это разнообразные текстуры. Множество динамических эффектов - это "sin(TIME)". Базовая геометрия и тригонометрия очень помогут. Постарайся избегать ветвления в коде (if) и лишнего использования ALPHA вывода (полупрозрачность). Остальное проще всего усвоить на практике, тупо редактируя чей-то код и наблюдая эффект на экране.
>>1040778 Запускай через console ярлык. И в cmd окошке будет видно почему. В линуксе тройка например вылетает по монокрашу при рандомном ребилде проекта раза через 5-15 ребилдов. На винде 4 и 3 нормально работают у меня и на красных, и на зеленых и на синих. Какая версия кстати?
>>1040778 Какия видеокарта? Сколько оперативки? Не засунул ли ты в тайлмэн 16К текстуру? Справа сверху смени Forward+ на Compability и перезапусти редактор
>>1040756 Такие фризы + краши обычно являются ошибкой пользователя (написал while true в коде), но в редких случаях это действительно внутренний баг движка.
Что делать, если это твоя ошибка: 1. Локализовать проблему, запуская проект по частям, удаляя лишнее из тестовой сцены, добавляя до краша. Обычно это не занимает много времени. 2. Внимательно изучить локализованную проблему. Например, "добавляю текстуру в тайлсет - краш, но как импортируется эта текстура, сколько памяти требует?". 3. Искать решение в интернете по ключевым словам, например, "Godot crash when adding tileset texture".
Что делать, если это ошибка движка: 1. Поискать отчёты об ошибках на github.com. 2. Подготовить минимальный проект, на котором воспроизводится проблема, запомнить свои шаги. 3. Собрать журналы ошибок, если есть (%appdata%). 4. Ознакомиться с правилами отчётов об ошибках. 5. Написать отчёт, добавив минимальный проект.
>>1040815 Анончик, никто не держит. Есть дефолд с луа который реально похож на питон, а не косит под него как гдс, есть кокос с js. Выбор движков есть. В конце концов можно освоить нормальный язык и взять платный движок. У тебя или дрова не стоят, или стоят но кривые. Лог ты не показываешь, ни у кого годот снихуя не падает.
>>1040827 >луа который реально похож на питон Похож по низкой скорости выполнения? Lua больше напоминает языки семейства Pascal, только более динамический. Много совпадающих решений.
>ни у кого годот снихуя не падает Да. После всех багфиксов 4.x стабилизировались.
>>1040815 >моя ошибка - выбрать годот А чем был мотивирован этот выбор, если не секрет? Возможно, твою игру действительно проще будет разработать на каком-нибудь тонком фреймворке. Рассматривал использование PyGame или RenPy?
>помогло Возможно, у твоей GPU слабая поддержка Vulkan?
>С версией GeForce Game Ready 576.88 участились случаи возникновения черного экрана
Попробуй откатить драйвера на более раннюю версию, скорее всего проблема в них, хуанг может прогревать обладателей более старых видеокарт на покупку новых
>>1040827 А мне луа никогда не нравится. Больше на руби похож, который я терпеть не могу с его эндами всратыми. ГДСкрипт для меня, неиронично, самый беспроблемный язык для геймдева, никакого мозгоебства и хитростей, пришел и написал без необходимости тратить 10 лет на становление сенсеем как в плюсах.
В этом плане Го еще приятный. Но для геймдева увы не взлетел. Я сделал пару игр на его ebiten движке и перекатился на годот.
>>1040837 >Похож по низкой скорости выполнения? По своему уебищному атрибутному ооп. Синтаксис - мелочи. >>1040838 У меня 3070ти лаптоп, годот 3 и 4 работает как часы (не считая того что в линуксе тройка падает с monocrash) с дровами из драйвербустера 2022 года под виндой. Всё шикарно работает всё режимы. Посмотри еще может в логах системы есть чето интересное, например внезапно умирает видеодрайвер или годот стартует на встройке по какой-то причине, хз.
>>1040980 Тру инди это только опенсорс. Потому что какое же это инди, если движок подают платный, за который надо мзду сплатить, да ещё и кодкуколд соблюдать.
>>1040938 >>1040990 Все так. Самое удобное - возможность модифицировать сам движок, а с годотом это делается удивительно легко. Рекомендую всем ИТТ модифицировать движок.
Товарищи, как сделать в 3д проекте, полное отключение филтрации текстур? менял и в настройках, и в импорте после чего переимпортировал все ресурсы, все четно, движок ругается мол невозможно, вручную каждый материал? слишком геморно, делаю карты через тренчбрум, знатоки кто напарывался на подобный геморой?
>>1041068 >движок ругается мол невозможно Скопируй/скриншоть сообщение об ошибке сюда.
>делаю карты через тренчбрум В каком формате/через какой аддон импорт?
Если что, у GLTF могут быть внутренние материалы и текстуры. По умолчанию Godot их извлекает из GLTF и обновляет после обновления GLTF, если не путаю. В настройках импорта GLTF можно настроить, чтоб внутренние материалы игнорировались, тогда твои настройки снаружи GLTF не будут перезаписаны.
>>1041086 та просто через obj, он уже имеет свои материалы, из текстур в папке, собственно тренчбрум и настроен оттуда их юзать, чет щас голов не выдало, видать надо бы снести билд и заново загрузить, но по смыслу что то вроде "отключение фильтрации не возможно для текстур которые используют 3д обьекты" >>1041086
>obj, он уже имеет свои материалы Эти материалы нельзя изменять? Замени внешними.
P.S. Лучше переключи интерфейс Godot на английский. Во-первых, все основные материалы в геймдеве - на английском, все термины, обсуждения, багрепорты. Поэтому даже русский в UI геймдев программ (Godot, Blender и т.д.) использовать не рекомендуется - я все программы на английский переключаю. Во-вторых, мы находимся на русском форуме - в других языках разбираться мало кто может здесь, поэтому понять содержимое скриншота большинству будет сложно.
Также перевод UI часто неполный и неправильный, выполняется энтузиастами и ими же тестируется...
Касается всех скриншотов в треде не на английском.
А, ещё кое-что: >>1041068 >делаю карты через тренчбрум >>1041115 >просто через obj Никогда не пробовал TrenchBroom, там есть какие-то параметры экспорта в obj? В документации онлайн ничего найти не получается по этому вопросу...
>>1041142 В 3-ке это было свойство текстуры, а в 4-ке стало свойсто CanvasItem или материала, вроде как с мотивировкой - чтобы одно изображение как ресурс было загружено один раз но могло выводиться с разными режимами фильтрации.
>>1041116 >Тулскрипт напиши. Ты бы пример кода написал, если знаешь.
Я вот знаю как материалы редактировать через API, неоднократно делал это в коде. Но как в его случае реализовать сохранение материалов отдельно от импортированного obj? Писать отдельный скрипт ResourceFormatLoader, что будет отвечать за obj? https://docs.godotengine.org/en/stable/classes/class_resourceformatloader.html Выглядит сложно - я вот не знаю, откуда начать...
Или предлагаешь в _ready каждому материалу делать дубликат и менять настройку? Если не сохранять в файловую систему, это будет лишней нагрузкой на процесс добавления сцен в дерево сцены.
>>1041151 Да, но общей настройки для всех текстур в 3D нет.
>>1040245 (OP) Что думаете о том, чтоб игра сама себя обновляла? Технически, игра на Godot может установить себе обновление из интернета без перезапуска - нужно использовать возможности .pck-файлов (всё есть в документации движка). Есть только одна проблема - теоретически, если кто-то украдёт/выкупит сервер обновлений, он сможет закинуть вирусы игрокам...
Какой хостинг будет самым надёжным? Достаточно размещать "холодные" файлы с HTTPS доступом, т.е. скриптовать на сервере совершенно не обязательно. Кажется, некоторые программы используют GitHub - непонятно, разрешено ли его так использовать? Есть вероятность словить бан за хостинг .pck файлов без исходников? Если нет, то было бы удобно, наверное.
>>1041195 С гитхаба - разрешено. Туда и бинарные блобы льют, и линуксовые пакеты, и экзешники, и шелл-скрипты, которые запускаются на серверах напрямую с гитхаба.
Есть другая проблема. Кто-нибудь заметит скачивание с хуй пойми откуда и поднимет визг, а ты доказывай что не верблюд. Я в одну игру встроил аналитику с game-analytics, и то недовольный пробежал, не смотря на то что сервис известный, с говорящим доменом и его использование строго ограничено аналитикой.
>>1041201 >разрешено. Туда и бинарные блобы льют Там и малварь найти можно, но легально ли? Просто огромная разница между "так делают" и "разрешено".
>заметит скачивание с хуй пойми откуда Можно ведь в GUI встроить два окна: >Check updates (internet required)? [Yes/No/Never] >Game update 2 found. Download? [Yes/No/Skip] Многие игры вне стима качают апдейты сами себе.
>Я в одну игру встроил аналитику Это другое. Скачивание обновления - HTTP(S)-запрос к файловой помойке, ему нужно только IP адрес спалить. "Аналитика" подразумевает сбор данных пользователя: характеристики компьютера, дата запуска игры, время игровой сессии, сколько раз игрок нажал кнопку "пук", сколько мл спермы накачал внутрь NPC "медсестра", и прочее подобное. Далеко не все хотят эту информацию передавать рандому на рассмотрение, даже если игра обещает "анонимизировать" данные (т.е. будет только количество спермы, но не с какого IP она поступила). В некоторых странах введены ограничения, по которым требуется разрешать отказ от сбора аналитики в ПО. В рунете сбор аналитики называют "анальный зонд", в остальном интернете это сравнивают со spyware: >Audacity has faced accusations of being spyware due to its new data collection practices after being acquired by Muse Group, which may involve sharing user data with third parties and governments. Так что бугурт твоего игрока вполне оправдан, если ты забыл предупредить или встроить в игру окно отказа.
>>1041204 Лаунчер обычно отдельно от игры существует. Если не перекатываться на новый Godot, лаунчер может быть компонентом самой игры, даже без перезапуска игры. Вопрос в том, есть ли у этого подводные камни кроме украденного мошенником доступа к файлопомойке с последующим заливом туда какого-нибудь вируса.
>>1041209 >Скачивание обновления - HTTP(S)-запрос к файловой помойке, ему нужно только IP адрес спалить Вообще не обязательно, можно что угодно отправить. Как минимум можно и даже нужно не разрешать скачку без авторизации игрока.
>>1041216 >можно что угодно отправить Ключевое слово "можно". Можно, но не нужно. И когда программа предлагает "скачать обновление", пользователь должен представлять себе скачку файла как в браузере: сервер получает запрос, сервер отдаёт файл, программа ставит этот файл себе. Если ты собираешь какую-то информацию и отдаёшь её серверу (для хранения) - это уже не "скачивание обновления", а "сбор аналитики", и попадает под ограничения.
>нужно не разрешать скачку без авторизации Это ещё зачем? Если ты боишься DDoS, то если у тебя бесплатная игра и кому-то сильно захочется тебя DDoSить, они создадут 100500 акков у тебя (заранее, так что ты их никак не заметишь), и атакуют тебя с авторизацией. Или атакуют сервер авторизации некорректными данными, чтобы нормальные игроки не могли войти в игру из-за перегруженного сервера авторизации, что можно сделать вообще не имея игры на ботах ботнета и ни разу не покупая игру (если откуда-то узнал адрес).
Если у тебя платная игра и ты боишься пиратства, то пираты в любом случае один раз купят игру, сломают её защиту и введут другой IP адрес для встроенной системы обновлений, а твои файлы будут хостить на своём хостинге. Как-то так пиратские сервера к ММО-играм и создаются - берётся клиент и модифицируется, чтобы обращался к самодельному пиратскому серверу, после чего игра полностью отвязана от оригинальной инфраструктуры и ты над ней никакого контроля не имеешь.
Если игра - бесплатный синглплеер, и интернет нужен только для обновления, то лучше не ставить игроку лишних преград и позволять обновление без авторизации. Зачем игроку авторизироваться в игре для её обновления, если он может скачать эту же игру с твоего же сайта без авторизации?
>>1041209 Audacity это опенсорс, от него всегда требуют этических стандартов выше, чем от проприетарщины. Плюс там вопрос к даташарингу. А по факту аналитику собирают все. Винда, линукс, браузер, двач, итч и игра, которую ты скачал с итча.
Зато аналитика в игре здорово помогает находить и фиксить баги. Потому что средний багрепорт от игрока это пык мык, если он вообще долетает.
>>1041265 >аналитику собирают все Порядочные приложения дают галочку отключения в настройках, отображаемых при первом запуске.
>помогает находить и фиксить баги Как? То, что у тебя 99% игроков не прошли третий уровень, не значит, что третий уровень багнутый. Может, твоя игра невыносима из-за фоновой музыки, которая начинает бесить через минуту. А может твою игру в 99% случаев запускают малолетки и не могут решить головоломку, которая не для них предназначена. Но скорее всего просто управление кривое, к которому ты уже привык.
>багрепорт от игрока Нужно не багрепорты ждать, а сидеть рядом на стуле и смотреть, как игрок играет. Если так не получается, что ж... Инди на то и инди, что протестировать игру по-хорошему практически невозможно. Да и не нужно обычно - всё равно не поиграют...
Зато багрепорты пишут самые заинтересованные игроки. Если игроку плевать на игру, он её просто бросит и не вернётся. Если он решил уделить время на багрепорт - он явно заинтересован. Если ты не даёшь писать багрепорты вручную или не отвечаешь на них, ты отстраняешься от игрока, как бы говоришь ему "твоё присутствие здесь не имеет значения, просто развернись и уходи". Имхо.
>>1041873 Чел, ну харош. Тут тебе не враги сидят, чтобы засирать тред троллингом, тут такие же аноны как ты, которые пытаются что-то сделать. Если ты серьезно это спрашиваешь - пройди хотя бы официальные туториалы и вопросы отпадут. Иначе прекращай троллить тупостью.
>>1041405>>1041873 Можно вот так, если я правильно понял задачу. Но учитывай, что это будет не совсем реалистично. Для реалистичной физики придётся много возиться с поведением RigidBody... сложно описать на словах. Наиболее сложной будет физика мягких тел...
Я вот не могу понять, как сместить камеру за плечо. Вращается странно, если точка вращения - голова... Рейкастить из камеры тоже как-то неловко выходит. Получается только если камера строго за затылком.
>>1042247 Ну ты точкой вращения торс тогда делай, вообще тебе лучше потыкать разные шутеры от третьего лица и посмотреть внимательно как себя ведёт там камера
>>1042261 Дык, около 18 лет в 3D игры от третьего лица играю, непонятно, почему не получается. Знаю, что камера смещается в некоторых играх при прицеливании, но хотелось бы избежать такого отдельного режима...
>>1042313 >как настроить ноду SpringArm3D с камерой Да я настроил её в 2020 и с тех пор юзаю. Но если её немножко сдвинуть вбок, получается какая-то тупая карусель, а не камера как в обычных TPV играх.
Я об этой проблеме давно знал, но забил и вообще не задумывался. А сейчас захотелось сделать пыщ-пыщ палку-стрелялку и вопрос прицеливания встал остро.
>>1042322 Я думаю что у тебя есть некий eye_direction:Vector3 у головы, т.е. направление в котором смотрит голова, а камера должна делать что-то типа look_at(eye_direction * 1000), в теории должно работать, т.е. камера не смотрит так-же как и голова, она смотрит в некую точку на каком-то растсоянии в направлении, куда смотрит голова
>>1042342 По идее, должно быть наоборот. Это игрок управляет камерой, а персонаж на это как-то реагирует. Суть проблемы во вращении камеры по орбите вокруг персонажа, чтоб это было удобно для прицеливания.
Кто-нибудь знает что там с тройкой и новой версией гугл-апи? Гугл обновил требования до 35 версии апи, в тройке только 34. В прошлый раз они незадолго до гугловского дедлайна минорную версию выкатили с нужным апи.
>>1042368 Уровень апи, которое твое приложение использует в гугл-плее. Гугл его стабильно повышает раз в год, если ты отстал то идешь нахуй из гугл плея. Даже если твое приложение не делает ничего нового, ты обязан ежегодно пересобираться под новый апи.
В яблочном аппсторе такая же тема, только там еще деньги плотишь каждый год.
>>1042364 >в тройке только 34 В смысле? Ты ж в настройках экспорта можешь указать версию API. По идее, если у тебя уже установлена Android SDK нужной версии на компе, то от Godot требуется только передать ей запрос на сборку нужной версии, а этот запрос формируется из настроек экспорта. Файлы шаблонов экспорта, по идее, менять никак не нужно, если ты не пользуешься новыми функциями из новых API.
Но это моё понимание проблемы, я могу ошибаться. Со сборкой на Android я только поверхностно знаком, и насколько могу понять, требование к повышению уровня API гугл выдвигает в рамках программы запланированного устаревания смартфонов, планшетов и т.д. Чтобы пользователи не могли скачать и установить на свой древний смартфон новую игру, которая технически пошла бы, но гугл этого не хочет. Почему не отключают со стороны маркета? Наверное, чтобы пиратские сайты не могли распространять для устаревших устройств... Жестокая практика, конечно, но ничего не поделаешь, пока гугл монополист на этом рынке.
>>1042380 >Ты ж в настройках экспорта можешь указать версию API Там варнингами сыпет, но гуглу я пока не заливал такой билд. Сейчас попробую - посмотрю съест ли его.
>>1042393 О, значит ты уже знаешь что гугл съел билд без вопросов, провел свои автоматизированные чеки и я ему на публикацию отправил. Поднял апи до аж 36. Сначала хотел до 37, но им он подавился, сказав что слишком высоко. Ну, на пару лет хватит.
Спасибо.
А годоте варнинги были про "API version N is untested and unstable".
Хочу сделать типа когда создаётся инстанс картинки вместе с ней идёт её id. Ну типа чтоб потом по этому id с ней манипулировать. Проблема в том, что я чёт не понимаю как это лучше сделать.
Ну допустим в сцене есть 10 картинок. Как мне узнать у какой пикчи какой id лучше всего? Есть идея использовать не id, а делать инстанс сразу в массив и использовать индекс, но звучит как-то не очень. Типа а если я захочу одну картинку в id0, а вторую в id99 этож мне тогда весь массив забивать калом. Короче нужен совет.
Короче пилю игру. Есть картинки персонажей. Хочу сделать, что когда картинка появляется, то она как бы из прозрачной в полную идёт за два фрейма. И наоборот когда исчезает такой же эффект. Такой типа Fade in/out у картинок. Сами картинки буду инстансами делать.
Короче добавил AnimationPlayer и в него засунул дорожку анимации на оригинальную (Char_Picture) ноду от которой и буду инстансы делать. Вопрос как сменить на какой ноде будет играть анимация. Как сменить конкретно вот этот вот "Char_Picture" на другую ноду.
Или может есть вообще другой способ и я какой-то хуйнёй страдаю?
Как быть с проблемой, когда нужно выжать максимум производительности, но трогать что-то кроме GDScript совершенно не хочется? Я так привык к его удобству...
>>1042563 Спс. Твины оказались реально темой. У меня же там типа динамика все дела, ноды там инстанциируются и всё такое. Мне просто картинку флешнуть. С помощью этой штуки как раз оно и получается.
>>1042565 >У него там modulate. Сегодня он хочет modulate, а завтра захочет, чтоб оно свистело звуками, пердело частицами, вращалось по необычной траектории и падало на доску для игры с необычным мерцанием в шейдерах. Плавали, знаем.
На твинах можно пикрил сделать чисто технически, но AnimationPlayer добавляет массу удобств (хоть и проигрывает таймлайну в Blender).
Да, это я в Godot анимировал.
>>1042567 >ноды там инстанциируются Не понимаю, как это что-то меняет. Разница лишь в том, где прописаны действия - в .gd или .tscn/.tres. Анимировать, кстати, можно любые поля, и даже состояния твоего кода, вызовы функций и т.д.
>>1042580 >Не понимаю, как это что-то меняет. Просто через аниматионплауер тогда мне нужно было бы менять в дорожке на какую ноду я собрался анимацию играть. Или? Короче да.
Про поля я знаю (догадался по ключам ага), а вот про стостояния кода и вызовы функций интересно. Где-то можно про это подробней узнать с примерами или только самому ковыряться?
>>1042443 >инстанс сразу в массив и использовать индекс >этож мне тогда весь массив забивать Тебе уже советовали Dictionary, но изучи API: https://docs.godotengine.org/en/stable/classes/class_dictionary.html Структуру "Dictionary" ещё называют "ассоциативный массив", и её действительно можно юзать как самый обычный массив, но без лишнего заполнения нулями: >var textures: Dictionary[int, Texture2D] >textures[1] = first_texture >textures[99] = last_texture >print(textures.keys(), "\n", textures.values()) >for id in textures: print(id, ": ", textures[id]) >textures.erase(1) >if 1 in textures: print("wtf?") >print(textures.find_key(last_texture)) По скорости из GDScript почти как обычный массив.
>>1042583 >менять в дорожке на какую ноду я собрался анимацию играть Описал же выше: ты можешь иметь AnimationPlayer в каждой сцене, которой требуется анимация. Сцена не обязательно хранит единственный спрайт, его можно поменять в ноде. Т.е. у тебя есть один общий "шаблон персонажа" с анимацией, физикой, звуками прочим, а конкретные данные ты можешь вставлять из кода. Преимущество в абстракции шаблона от кода, т.е. эту анимацию можно будет поменять в одном месте без изменений в разных участках кода персонажей.
Конечно, если персонажей тысячи на экране, то там необходимы оптимизации... Для простой игры иметь несколько AnimationPlayer и AnimationTree не плохо.
Tween больше для анимаций GUI нужны, где сложно предугадать положение элементов на экране, а сами анимации никогда не будут слишком сложными. Для персонажей как минимум один AnimationPlayer нужен.
>стостояния кода Ты можешь любые @export переменные менять же... Сеттеры вызываются как обычно. Если у тебя в коде реализован конечный автомат, можно легко сменить состояние прямо из анимации, просто через @export.
>>1042554 > post83196ru-2307650080.jpg maxresdefault1-2-3246526380.jpg 1680217174papik-pro-p-arkanum-klub-romantiki-posteri-19-472031136.jpg FJVAJ4WWYAEU1PJ.jpg Ну и гниды! Я выжму всю кровь из их мерзкого тела! переходит в боевой режим
Вставлял звуковые эффекты. Запускаю игру, триггерю хлопающую дверь - задержка звука, небольшая но явная. Покопался в настройках годота и импорта, затримил аудиофайл, ускорил его, подобрал другой - задержка. Помучал гугл и нейронки, проверил настройки, которые они мне нагаллюцинировали - задержка. Проверил настройки системы - задержка.
А все почему? А потому что в ушах у меня блютуз наушники. Такие дела.
>>1042935 >задержка звука, небольшая но явная >потому что в ушах у меня блютуз наушники 1. Почему раньше об этом не знал? Недавно купил? 2. Разве задержка не ощущается в обычном плеере?
Сейчас у меня беспроводные наушники, но работают наподобие радио - без задержек. Раньше пробовал блютузные и задержку было заметно в плеере...
Блютуз вообще штука слабая и капризная. Какой-то морально устаревший формат для передачи текста максимум метров на 10. Зачем он сегодня нужен...
>>1042946 1. Купил давно, поэтому забыл. 2. В плеере не замечаю, потому что нет привязки к визуалу. А тут я подгонял звук к нужному визуальному моменту. В каком-нибудь каэсике тоже заметно было бы, но в них я не играю.
>>1042975 Странно. У меня все блютузное, включая мышку, не замечал. Окей, однажды был заметный лаг с мышкой, если та уходила в сон ради экономии энергии без движения. То есть заново подключалась можно сказать, не удивительно.
>>1042975 >Купил давно, поэтому забыл Лол... >потому что нет привязки к визуалу Как это нет? А нажатие "play" - не визуал? Наверняка ведь проверял свой файл во внешнем плеере.
>>1043006 >все блютузное, включая мышку Ты уверен, что мышка именно на Bluetooth? Может, у неё свой 2.4 ГГц "донгл" в USB порте? Донглы быстрее откликаются. Впрочем, устройство ввода должно передавать минимум информации - мышка могла бы обойтись 3 байтами: X, Y и биты кнопок. Наушники же получают поток аудио в каком-то формате и должны его как-то преобразовать в напряжение на динамике. Радионаушники работают как аналоговое радио, т.е. передают напряжение динамика через радиоволны.
>>1043064 >в чём он неправ? Зачем он (кто?) это вообще делает? Из документации: >set_meta() can be useful to store information that the object itself does not depend on. To keep your code clean, making excessive use of metadata is discouraged. В коде явно зависимость от этого RNG объекта.
Алсо, думаю, будет лучше использовать константу: >const RNAME := &"..." И поместить где-то снаружи этого геттера. Но это не избавляет от лишних проверок метаданных, которые фактически дублируют значение этого свойства. В инспекторе метаданные с "_" не отображаются: >Note: Metadata that has a name starting with an underscore (_) is considered editor-only. Editor-only metadata is not displayed in the Inspector and should not be edited, although it can still be found by this method. Вообще, я никогда не испытывал необходимости в назначении объектам каких-то метаданных; это очень специфическая функция с неудобным интерфейсом.
>>1043215 Твой вызов get_meta() вернёт тебе Callable (функцию) вместо RandomNumberGenerator, и упадёт с ошибкой.
>>1043220 >обернуть ещё в (func...).call() Тогда ты будешь при каждом обращении к get_meta() создавать и удалять лишний RandomNumberGenerator.
Если хочешь извратиться, тогда так: >if not rng: >_ var meta = get_meta(rname, func()...) >_ if meta is Callable: rng = meta.call() >_ else: rng = meta >return rng троллейбус_из_буханки_хлеба.jpg
>>1043225 >какую проблему вы тут решаете Тоже не понял. Кодеру делать нечего - он func лижет.
>>1043227 >Твой вызов get_meta() вернёт тебе Callable (функцию) вместо RandomNumberGenerator, и упадёт с ошибкой. да, поправил в >>1043220
>Тогда ты будешь при каждом обращении к get_meta() создавать и удалять лишний RandomNumberGenerator. он вызовется один лишний раз только если кто-то извне поставит мету
>>1043225 Автор >>1043064 пытается хранить класс в мета-данных ноды, не знаю зачем, ему видней, скорее всего пытается что-то сделать но не знает как спросить
>>1043175 >планирую использовать для игры на годоте Я только что попробовал закинуть туда свою модель. Свой собственный скелет загрузить туда НЕЛЬЗЯ, можно только меш закинуть. Заставляют ригать модель с нуля в их УРОДСКОМ редакторе на их примитивный скелет. Это значит, что сложные модели потом дорабатывать/переделывать придётся в полноценном редакторе, и просто так забрать оттуда новые анимации на заранее зариганную модель не получится. Короче, этот инструмент выгоден только новичкам, для примитивных моделек с лоуполи мешем как в старых играх, где даже прыгучих сисек и упругих ягодиц не было, лол. Сойдёт для джемовских игр, наверное...
1. Делать игру, которой можно похвастаться здесь, потенциально заработать фанатов и даже деньги? 2. Делать игру, которую стыдно кому-либо показать, но которая сможет греть душу тяжёлыми вечерами?
Всегда пытался делать 1-е, но это как-то скучно...
>>1043560 Делаю кринж и показываю его на похуй. Мне просто весело делать говно.
Да и сложно делать в стол. В том плане, что без отзывов быстро начинаешь хуйню делать. Сложно понять становиться, где у тебя нормально, а где нужно доделывать.
>>1043564 А если б ты делал игру про секс со своей вайфу? Это личное как бы. Публиковать всё равно что домашнее порно с женой на порнхаб выкладывать... Саму игру выкладывать всё равно что сдавать жену в аренду.
Понятно, что у кого-то в этом весь интерес, да, но...
Короче, если выкинуть вайфу из головы, лично у меня остаются только серые клоны игр, которые совсем не интересно делать, даже если они были б популярны. Пытался, выдумывал всякое, но не затягивает...
Теперь сижу с движком и не знаю, к чему применить. Применить хочется, но как начинаю - забрасываю...
>>1043560 Я стесняюсь все показывать. Даже код. Даже учитывая, что пишу я очень неплохо. Просто я так устроен. Стеснительный. Пытаюсь с этим бороться. Хочу выставлять на показ свое, а не трястись.
>>1043585 Тебе нужно определиться чего ты хочешь. Если нужен кратчайший путь к баблу, то делай свою серую хуетень в надежде, что уж твой-то клон марио №99999999 уж точно выстрелит. Но для этого пути нужен нормальный опыт в геймдеве.
Второй путь - делай что хочешь. Это заебатый путь для одиночки. Хорошие игры получаются от страсти к тому, чем ты занимаешься. Взять пидораса анального шута тоби фокса. Думаешь ему было похуй на подхвост от начала и до конца? То-то же.
Лично я иду вторым путём. И мне пох даже если придётся трахнуть вайфу у всех на глазах. Я по жизни позорник, и даже с одной игрой уже опозорился. И я собираюсь сделать это вновь, просто потому, что мне это нравиться.
>>1043593 Да всем пох. Это же интернет. Если прям сильно кринжанёшь, то просто заведёшь другую гейдевелоперскую персону и всё.
>>1043603 Прикол, что именно это я и попробовал в понедельник. Теперь надо собраться на стриме игру делать, а не просто кодить. >>1043607 Эта тряска наверно из школы идет, когда показывали пальцем и ржали. В целом себя чувствую до сих пор будто это и не заканчивало происходить, а мне 34, даже на улице. Надо как фобию в лоб побеждать.
>>1043613 Лол да хуль трястись? В жизни я чмо, овощ, инцел и борец с социумом сидящий на шее у мамки (правда я работаю 27к конечно) и мне пох если кто-то там будет смеяться. Я тож когда первую игру делал думал типа пацаны засмеют, но, что одному смешно, второму заебись. Предъяв на этот счёт вообще никаких не было. Да и потом если МНЕ нравиться, то всё заебись. Как бэ если тебе самому не нравиться, но все в ахуе - это не очень хорошо, если только это их "нравиться" не подкреплено баблом конечно. Короче, отставить тряску.
>>1043607 >делай что хочешь Похвастаться не получится...
Одного не пойму. Если ты такой непробиваемый, в чём смысл сидеть здесь, в /gd/? Это ж "анонимный" форум, якобы чтобы не позориться своей историей постов. Модераторы всё видят у себя, но не вмешиваются. Бесстыжим обычные соцсети никак не вредят - они с реальной фоткой своей рожи всякий кринж постят.
>>1043593 Думаю, это страх критической оценки со стороны.
Но у меня есть граница между "просто сомневаюсь, нормально ли сделал" и "за такое меня будут видеть ненормальным даже среди полных извращенцев".
>>1043560 >стыдно кому-либо показать Давно взял за правило выкладывать и показывать но не здесь все, что я делаю. Людей много, вкусы и интересы разные, никогда не знаешь кому что зайдет, и много раз я удивлялся когда мой казалось бы провальный проект взлетал в какой-нибудь крошечной специфичной нише, о существовании которой я не подозревал. Нужно только доводить проекты до юзабельного состояния.
>>1043508 >Сложнее всего найти мотивацию делать игру... Ты просто ленивая жопа. Срать тебе не лень ходить, кушать тоже не лень, а очередную жрпг ему лень.
>>1043560 Показывая недоделки, ты как бы ищешь одобрения со стороны, мол смотрите какой у нас умный мальчик вырос, сам игрушку делает.
А прикинь ты дропнешь и будут потом в тихоря угорать что ты нефига не можешь и поддергивать твоими недоделками - мол дофига достиг своими игрульками, лошара.
Оно тебя надо? Все твои потуги всегда будут против тебя, даже если будет годнота, будут из зависти поносить. Поэтому до инди разрабов трудно достучатся порой
>>1043671 1. Вспоминаешь игры в которые ты играл 2. Вспоминаешь моменты почему они тебя увлекали. Как пример в скайриме ты эскапировал на строительство своей усадьбы, потому что это давало ощущение статусности больше чем квесты за которые тебя лобызали НПС. Или ты дрочил вкакой-то игре на циферки с задроством или легендарный лут. Или глубокий сюжет зацепил - в общем, ищешь свое. 3. Пытаешься эти все вайбы собрать в свою одну игру. 4. Кайфовать.
3д игра, суть такова. Есть дверь. Я ее открываю вверх. Хочу чтобы часть двери, которая уехала "за потолок" (красная) становилась прозрачной. Почему? Потому что за потолком сразу начинается второй этаж, и не ок если туда вылезает дверь с первого этажа. При этом часть двери, которая еще видна на первом, должна продолжать быть видна на первом.
Пробовал через окклюдер - но ему надо чтобы весь меш был в окклюдере.
Получается сделать через скалирование двери со смещенной точкой пивота. Но тогда дверь становится сжатой - не ок.
Просто интересно - кроме шейдера тут есть решения?
>>1043841 Речь про идею, которая еще и мотивирует. Есть у некоторых людей кайф от самого процесса созидания. В жизни мало нормальных развлечений. Игры кончаться и надоедят, сериалы/аниму тоже, книги тоже занудят и вот останешься ты и пустота. Можешь как баран купить мотоцикл и снять глушитель и попытаться компенсировать свою ничтожность эскарпируя от пустоты. Или же вечерами сидеть пилить свой левел/чара в игре, наслаждаясь кодингом и процессом созидания ради созидания, даже без мысли будет когда-нибудь релиз или нет Теория самоактуализации Абрахама Маслоу.
>>1043828 Если 2д, то просто слой под слой спрячь (дверь слой 1, пол вверху слой 2). А вообще показывай из игры, ничего не ясно, 3д изометрия это или 2д (хотя гуру может знают лайфак, я только вкатываюсь).
>>1043871 >Есть у некоторых людей кайф от самого процесса созидания. Вот вроде и про меня. Иногда трачу много времени на игру, супер-кайфую, сижу, какой-нибудь ебучий шейдер весь день пилю, который будет использоваться в игре от 1 раза до 0, и так день за днем. Иногда так весело, пиздос. Но потом шило в жопе вместе с концентрацией кончаются, или вот застреваешь на чем-нибудь и бомбишь, и все, разработка дропается на недели и месяцы, и в сумме процесс скорее стоит на месте, чем идёт. Вот лучше бы я каким-нибудь аутистом типа Тарна Адамса был, и пилил бы свою хуйню по 15 лет безостановочно, а не ловил эти кратковременные гиперфокусы с последующей сверхдлительной исполнительной дисфункцией.
>>1043828 >Просто интересно - кроме шейдера тут есть решения? А ты боишься шейдеров? Если сам не умеешь, то для простых задач хватит какого-нибудь бесплатного Duck.ai. Если не получается - открываешь новый чат и лучше формулируешь задачу. Да и в целом на мелкие вопросы неплохо отвечает. Иногда.
>>1043883 3д, в том посте указано в самом начале. Топ даун - для дальнейшего уточнения. Представляй Tunic.
>>1043889 Шейдеров не боюсь, написать смогу, просто интересно есть ли решение из коробки. Знаю что, например, можно сделать часть меша прозрачным с помощью омнилайта и свойств материала.
>>1043896 А просто убрать дверь в любую сторону кроме верха (влево/вправо/вниз, открываеться как крышка вверх, но надо тогда как фоллаче круглую дверь)?
Визуально дверь выглядит так - как-будто открывается как обычная.
>>1043889 >Вот вроде и про меня. Иногда трачу много времени на игру... Обычно так оно и работает. Если, конечно, это не основной тип работы, тогда это плохо. Большинство пилит дропает, это норм. Свой кайф ты словил. Просто в других работах - чаще конечный результат ближе чем в гейдеве (сделал 3д модельку/написал небольшой софт/сколотил скворечник итд.)
>>1043898 Продли стену выше, дверь физически не может убираться в некуда, люди с инженерным типом мышления потребуют объяснений. В первом посте 3 видео, сделай так же только вверх. >>1040245 (OP)
>>1043873 Очень много воды. Чел говорит (про печку) вот добавь это в игру и запусти симуляцию и потом увидишь что нужно сделать лучше или хуже. Мол делай и потом думай.
Мне думается так ты наделаешь фигни (и потратишь тонну времени), я больше чем уверен что многие уникальные геймпленые механики были придуманы сначала в голове, он сам говорит про чела с карточной игрой, который годами грел идею и тут же себе противоречит.
90% идей отсекаются еще в голове, особенно на следующее утро или через день из-за банального вау-эффекта.
Просто сядь и на листке (в гуглдоке) накидай концепт, задать уточняющие вопросы, выбрать ключевые механики, провести мозговой штурм - куда лучше чем сесть сразу рисовать или писать код (ты в процессе тупо потеряешь нить всех идей, а так у тебя будет дорожна карта идей).
Дальше не смотрел, чел из потока поверхностной мысли, как надо делать не делать игру, вдруг переключился на арены памяти в С++. Шизофазия какая-то, в конце видео он будет менять водопроводный кран?
>>1043873 Ладно, ковыряясь я его дослушал. Ну челу бы дипломы писать - плохо не делай, делай хорошо. В соцсетях не сиди, не отвлекайся, дизайнера не нанимай для прототипа, потому что это прототип. Ну и вишенка - это упоминание майнкрафта, это просто уже клеше в индустрии.
Причем чел хитрожопый, нехило в конце продвинул какую-то свою игру, еще и плюшевые игрушки завез из игры на конференцию в которой не присутствовал (и там свой термин придумал по названию игры, лол)
Самое правильно что он сказал - это попустил растеров, от чего у ведущего пукан сгорел. Очевидно чел в индустрии ради денег и ничего реально полезного он не скажет, ибо такие вечно бояться раскрыть какие-то свои секреты успеха (которых, конечно, в реале нет, но есть в их головах). Чаще всего выстреливают уникальные и творческие (креатив) индюшки, баблодрочеру этого не грозит.
Гайс, может кто вкурсе. Почему-то параметр sitNothing перестал менятся, хотя сигнал проходит (и до этого проходил, но я немног расширил скрипт, но этого параметра не должно касатся. Да бля сигнал же проходит), если вручную крутануть до единички всё работает. Прост он взял и перестал работать
>>1043925 >Везёт художникам, всё-таки... Креатив больше про уникальность (это может быть и про геймлей или вайб в игре или еще что). От дизайнера требуется только держать в рамках одного стиля (возможно набора цветов).
>Нет, я - депрессивная жопа... ну норм, в моменты обострения я зубы не мог встать почистить, а тебе хватает иногда демки делать, это еще гуд, когда хоть что-то радует.
>У меня вот не получается собрать... Процесс создания или объединения идей - порой захватывает не хуже самого результата. Рекомендую просто гулять (ходить) без музыки и бега, просто по привычной дороге, обдумывая свои игровые идеи - иногда можно словить просто поток мыслей.
>>1043889 >Но потом шило в жопе вместе с концентрацией кончаются Это сдвг. Как мне нейронка подсказала, до того не задумывался, на твг вдруг стало ясно какого хрена я вместо деланья игры квартиру чуть ли не до блеска вылизал, начал ходить для пользы здоровью по 30 км за раз и все такое. В общем делал все что угодно, кроме игры. Гиперактивность. Но при этом если начинал делать игру то тоже сидел залипнув, до первого отвлечения. Дефицит внимания. Прошел опросник - оказалось я всю жизнь живу больным психически уродом, выбил просто максимальный балл. Многое объяснило, в том числе как я работу просрал. Хорошая новость впрочем тоже есть, если научиться контролить это самое сдвг можно горы сворачивать, те самые работяги 24/7, которые не в состоянии не только остановиться, но и замедлиться как раз об этом. В итоге можно делать даже игры мечты в одного и окружающие будут охуевать как ты так находишь силы делать настолько дохуища за сотню человек. Одна проблема - как эту хуйню на нужные рельсы поставить никто не знает, надо самому разбираться со своим внутренним демоном.
>>1043947 >Это сдвг. Да, я знаю. По терминам "исполнительная дисфункция", "концентрация" и "гиперфокус" должно было быть понятно. Гадкая хрень, конечно.
>Хорошая новость впрочем тоже есть, если научиться контролить это самое сдвг можно горы сворачивать, те самые работяги 24/7, которые не в состоянии не только остановиться, но и замедлиться как раз об этом. В этом я пока не уверен. Я долго пытался понять, как работает мой мозг, и понял, что у меня тупо стоит лимит на одну задачу. Либо я выполняю задачу за 1-7 дней (7 - если сильно повезёт), либо я к ней никогда больше не прикасаюсь (ну может 1 раз через полтора года вернусь или типа того). Причем это касается даже развлечений - самое нелепое, что мой любимый жанр игр - это изометрические и классик рпг, но я их дропаю где-то на 2/3 из-за этого лимита. В какой-то момент становится буквально невозможным концентрироваться на прохождении, мозг переходит в другой режим и способность к обработке информации исчезает. Иногда все-таки получается вернуться через N лет, начать сначала и допройти, но все равно трудно. Как вообще с такой хуйней работать или игры делать, хуй знает.
>до того не задумывался Я когда школьником был, то хотел читать всякие книжки, но не мог вообще сконцентрироваться. Я вырубал интернет, закрывал всё что можно, открывал файл книги и в какой-то момент начинал просто водить глазами по тексту, а мыслями уходил куда-то еще. Или начинал сворачивать-разворачивать окно. Или рефлекторно тыкал на браузер, хотя инет себе же отключил. И прикинь, вообще не задумывался, что со мной что-то не так - ну, тяжело сконцентрироваться на интересных вещах, ну и ладно. Только через много лет про СДВГ узнал.
Сейчас-то я понимаю, что моя концентрация еще и зависит от того, как эта информация обрабатывается. Только текст тяжелее всего обработать (визуал онли), аудио онли тоже сложно, а вот видео (визуал+аудио) уже куда проще. Игры со сложным управлением обрабатывать ещё проще - задействуются все органы чувств, мозг и руки. Но я еще не нашел, как это можно применять. Разве что заметил, что с музыкой или звуками в наушниках чуть попроще концентрироваться на простых задачах.
>>1043947 >>1044037 Хм, интернет с изобилием часто меняющейся информации вырастил новое поколение люди с коротким вниманием.
У кого плохая концентрация, у кого плохая мотивация - выход только через дисциплину. Буквально есть ты сознающий и ты ноющий - бессознательный. И вся твоя борьба в воспитании второго "я" чтобы хоть как-то в гармонии работали. Мне потребовалось 10 лет чтобы это понять, вам даю это даром (скорее всего тоже осознаете через много лет или сопьетесь, но я задачу выполнил, поделился, я чист перед вселенной :)).
>>1044048 >Хм, интернет с изобилием часто меняющейся информации вырастил новое поколение люди с коротким вниманием. Да нет, у меня это наверняка наследственное - замечаю такие проявления у родственников по материнской линии. Интернет явно это усугубил, но его влияние где-то месте на третьем-четвертом, у меня и без него мозг разъебан. Ну и сдвг - это, к сожалению, не та тема, где около-психотерапии и самоконтроля достаточно. Уменьшение объема префронтальной коры, базальных ганглиев, снижение активности всяких зон мозга, и прочие особенности - расстройство нейроразвития с неврологической основой, с этим только учиться жить. (но, конечно, обмазываться тиктоками и проном один хуй не надо)
я в цикле добавляю ноды на сцену, но корректно только последняя работает. что может быть не так-то? и нет, я делаю эдд_чайлд и инстанцирую нормально. аналогичный код в другой сцене работает. видимо зависит от скрипты добавляемой ноды...
>>1044361 >>1044363 причем именно одна строчка не работает связанная с мышкой. то есть работает только у последней добавленной ноды. остальное работает у всех
>>1044180 Седня пердак порвался от моего худождника который всё никак вонючие домики дорисовать не может. Решил скопировать репозиторий и в клоне нарисовать весь арт самому, а к той игре пусть чел дальше два раза в неделю какает коробками, может когда нибудь докакает и наконец займемся игрой
>>1040245 (OP) Кто-нибудь тут знает, что содержит файл "pipelines...cache" в Vulkan? Что такое "pipeline" в этом контексте?
Я имею в виду это (путь на Windows): >%appdata%\Godot\app_userdata\Имя Проекта\vulkan\pipelines.forward_plus.имя_видеокарты.cache Обычно я эти кэши удаляю у старых проектов, а то там 150+ МБ может быть. Но раньше проблем не было.
Вчера я переименовал один проект и удалил ему, если память не изменяет, весь кэш шейдеров Vulkan, потом долго ковырялся с импортом GLTF моделей, и когда начал тестировать, заметил, что сцена почему-то сильно тормозит - регулярно падает ниже 40 фпс без какой-либо видимой причины. Сегодня попробовал другую сцену - там вообще стабильно 7 фпс, хотя всё нормально раньше было. Пробовал запускать редактор с --verbose, но там ничего необычного - стандартные ошибки о том, что внутри Godot что-то протекает (у Годетты течка?). Потом попробовал новую бету Godot 4.5 - всё нормально работает. А потом снова удалил этот pipelnes.cache и всё заработало как прежде на стабильной 4.4.1 - никаких тормозов, стабильный высокий фпс... Заметил только что старый .cache весил около 6 МБ, а новый чуть больше 7 МБ теперь. Но .cache редактора вообще больше 150 МБ и может быть даже больше.
Ну и что это такое? Кто-нибудь с этой проблемой сталкивался? Я без понятия, как это можно повторить или даже что описывать в баг-репорте (составлять я его, конечно, не буду). Наверное, не стоило удалять багнутый .cache... И нет, видеодрайвер я никак не трогал за последние месяцы и с видеокартой вроде бы других проблем не наблюдается. Даже никаких новых шейдеров в этом конкретном проекте не писал. В системе только SSD диски с большим ресурсом. Питание вроде бы стабильное и ничего, вроде бы, не перегревается. Только Explorer падает из-за утечки памяти, но редко...
Хм... Ах, да, точно. Что меня вчера напрягло - это короткое (1 секунда) зависание (фриз/полная неотзывчивость) всего компа, как обычно бывает если RAM плашка теряет контакт в слоте или когда RAM заполнена на 100%, и это вроде бы было с моей запущенной игрой на фоне, которая внезапно крашнулась с ошибкой в логе типа "vulkan device lost". Но я как-то даже не обратил внимания, т.к. после перезапуска игры я не сразу заметил замедление...
>>1043873 Лол, это какая то годотная версия утки. Работает консультантом по покраске кнопок для мобилок Безыгорный Пилит какой то паззл При этом выступает с умным видом от лица индустрии, попутно пиаря свои поделки. Срется за языки, как утка в /pr Даже взгляд такой же безумный.
>>1044361 >корректно только последняя работает Что ты имеешь в виду под "корректно"?
>>1044365 >одна строчка не работает связанная с мышкой Control ноды? См. документацию, свойство mouse_filter: https://docs.godotengine.org/en/stable/classes/class_control.html#class-control-property-mouse-filter >MOUSE_FILTER_STOP >These events are automatically marked as handled, and they will not propagate further to other controls. This also results in blocking signals in other controls. При этом ноды, добавленные позже, по умолчанию находятся "выше" ранних нод, то есть первыми перехватывают события мыши. Другими словами, твоя последняя нода "съедает" сообщение от мышки и предыдущие ноды уже не получают этих событий.
Можешь попробовать сделать так: >node.mouse_filter = MouseFilter.MOUSE_FILTER_PASS Но, судя по документации, события передаются предку, а не соседям.
Если тебе нужна Control-ноды, перекрывающие ВЕСЬ экран - на мой взгляд лучше иметь только одну такую ноду и передавать сигналы с неё другим нодам. Но чаще всего ты хочешь, чтобы Control-ноды занимали очень ограниченный участок экрана и не перекрывали другие Control-ноды.
На счёт других нод не знаю, там что-то другое может быть.
>>1044388 >события передаются предку, а не соседям ...ну, то есть, я это не тестировал никак - можно попробовать, но обычно такое не требуется.
>не перекрывали другие Control-ноды Здесь речь идёт об "активных" нодах: Button, LineEdit и т.п. А также нодах, к которым ты свой скрипт прицепил и как-то там реагируешь на I/O от клавомышки. Потому что если событие клавомышки не съедается какой-либо нодой, оно будет вызывать обработчики в других нодах под курсором... А у мышек может быть до 2000 событий в секунду... Что очень заметно если у тебя хоть один _input() на GDScript с каким-то тяжёлым кодом, а уж если их несколько - сами понимаете...
Может показаться, что это преждевременная оптимизация, но потом переделывать всё может быть сложно, если вы с самого начала накидали 100500 фуллскрин Control с каким-то там обработчиком мышки и потом обнаружили тормоза из-за высокоскоростной геймерской мышки. Такие проблемы нужно учитывать в самом начале, когда пришла в голову идея делать 100500 фуллскрин Control...
>>1044388 да контрол нода присутствует. они не фуллскрин и под размер ноды. я хз как проверить накладываются они или нет но вообще не должны накладываться так как весь код работает. кроме строчки с изменением курсора мыши, эта строчка срабатывает только у последней ноды:
Я понял что можно делать односторонние тени с помощью обычных квад мешей. Омнилайт перед квадом - квад отбрасывает тень. Омнилайт позади квада - квад не отбрасывает тень. Кайф.
>>1044484 >односторонние тени Зачем тебе такое, интересно?
>Омнилайт Ты в курсе, что он сцену +6 раз рендерит для нормальных теней? Есть опция чтоб рендерил только +2 раза, но результат кривой. Обычно используют SpotLight3D чтоб был только +1 рендер.
Вообще, чем меньше динамических теней - тем лучше...
Сейчас вот пару моделей доделал/переделал, сел тестировать код для автоматического раскидывания мешей вдоль Path3D с использованием мультимеша (не знаю, зачем, но вроде работает как надо) и с нахлёстом. Ну как, вайбик присутствует? Атмосферно? Правда, шейдер для рваной изоляции труб добивает фепасы с нормальных до 50-60. Надеюсь, получится оптимизировать как-то.
>>1044845 О, вот ты-то мне и ответишь - почему жанр хорроров так популярен? По субъективным наблюдениям это касается именно игр. Хорроры-фильмы и тем более хорроры-книги выглядят менее популярными.
>>1044889 Я не знаю! Я и сам-то классические скримерные хорроры не люблю. Мало хорроров, в которые я играл, и еще меньше игр, которые мне понравились. При том, что я около-жуткую тематику и крипипасты люблю и любил с детства. Периодически брожу по стиму и ищу чего-то типа Lost in Vivo (наверное, любимый из хорроров - частично им и вдохновляюсь), но ничего не нахожу. Потому и решил сделать что-то своё, по своему видению и по своим снам. Хотя со стороны, конечно, выглядит так, будто я просто решил выбрать самую хайповую тематику - лоуполи-ретро-инди-хоррор.
>По субъективным наблюдениям это касается именно игр. Дети любят ужастики. Ну, еще люди любят смотреть, как всякие стримеры пугаются. Из-за этих двух категорий в итоге кажется, что это супер-популярная тематика.
>>1044845 Мне кажется, ты слишком сфокусировался на мелких деталях, которые не влияют на геймплей... Вот твой особенный шейдер трубы даёт возможность сделать красивый скриншот, но будет ли игрок как-то трубу рассматривать дольше беглого взгляда? Особенно в ситуации, когда за ним кто-то страшный бежит, если разрабатываешь типичный хоррор с догонялками. И учитывай, что игрок будет в движении, т.е. бежать по коридору, а не стоять, смотря на лампочки. А значит, мелкие детали на текстурах размажутся (если не на экране, то в восприятии игрока), а вот повторы будут сильнее бросаться в глаза, чем на скриншотах.
Так что тестируй эту сцену в геймплее. Нет геймплея? Делай геймплей прямо сейчас, не откладывай. А то, возможно, придётся эту сцену с нуля переделать.
>>1044889 >почему жанр хорроров так популярен? Потому что это самый простой жанр 3D игр. Графике допустимо быть всратой, лишь бы была пугающей. Геймплейно это чаще всего симуляторы ходьбы и нажимания кнопок на стенах. NPC чаще всего один, двигается по кругу и тупо рычит. Хоррор давит на инстинктивные страхи и понятен даже детям. А из готовых ассетов любой ньюфаг собрать сможет.
>Хорроры-фильмы и тем более хорроры-книги На ютубе очень много популярных "хоррор-видео" от ютуберов и мелких инди-студий. На счёт книг я без понятия, но они в целом менее популярны сегодня.
У хоррор-игр больше преимущество в том, что игрок взаимодействует с виртуальной средой и это у него вызывает феномен "погружения". Сложно снять кино, погружающее в себя так же, как игра, особенно если снимать не от первого лица в стиле "любительского". Естественно, что погружение в игру усиливает страх, движущий удовольствие от жанра "хоррор". Игры по существу своему страшнее, даже когда они всратые.
>>1044931 >Lost in Vivo Это же вроде как шутер? Будешь стрельбу делать?
>>1044889 Погруженность. Вот чел: >>1044845 сделал подвал как под фильтрами старой графики - увеличивает это погруженность? Нет. А теперь представь тот же подвал, но фотореалистичный и там в дали где мигает свет, на тебя смотрит какая-то тень. Чем больше ты обманываешь мозг (отождествляешь себя там, в том подвале) - тем ярче будет эмоция страха. Поэтому и книги пугают, только когда у тебя богатая фантазия, ты погружен в те события. Люди с афантазией читают это с квадратным лицом.
>>1044942 >Мне кажется, ты слишком сфокусировался на мелких деталях, которые не влияют на геймплей... 100%. Я после скринов осознал, что добавил ебучие гайки и болты туда, где их из-за пикселизации, темноты и дизеринга не видно ВООБЩЕ. А я сидел, моделил их, и ведь много времени тратил, т.к. только изучаю блендер. Понял, что я долбоеб, только после того, как зашел в игру делать эти самые скриншоты.
Но вообще, это скорее гадкий перфекционизм виноват, ну и малое количество опыта. Можно делать чуть проще, но в 10 раз быстрее, но вот пока не получается.
>Нет геймплея? Делай геймплей прямо сейчас, не откладывай. Это подлокация первого лвла, этот уровень на 95% бродилка - плавный старт, чтобы проникнуться атмосферой. Я, в целом, хочу серьезно сосредоточиться именно на атмосфере - визуале с высокой детализацией (несмотря на лоуполи - я про количество и разнообразие объектов) и аудио. По планам, больше геймплея появится со второго короткого уровня, а ебаки с третьего.
>Вот твой особенный шейдер трубы даёт возможность сделать красивый скриншот Я его делал даже не столько для красоты, а сколько ради оптимизации времени. С этой точки зрения получилось идеально - повесил один шейдер на целую систему труб из простых цилиндров и готово, ничего моделить не надо. Меня, в целом, пугает мысль бесконечного создания игры, отдельных его уровней, и дропа из-за этого, поэтому я трачу много времени на код и шейдеры (да, хотя мог бы за это время сделать сами уровни).
>Будешь стрельбу делать? Нет. Потому и пишу, что частично им вдохновляюсь. Как раз той самой атмосферой хаотичных лиминальных локаций.
>>1044947 >А теперь представь тот же подвал, но фотореалистичный Возможно, фотореализм подходит больше как раз людям со слабой фантазией. Упрощенная графика как бы смещает игру в сторону книги - ты меньше полагаешься на глаза и больше на визуализацию сцен в голове. По крайней мере у меня это так работает, я люблю ретро-стилизацию, и в хоррорах особенно. Мой мозг работает так, что погрузиться в лоуполи проще, чем в реализм. В реализм хочется поверить, но не получается - глаза цепляются за мелкие нереалистичные детали, а в лоуполи ты от этого свободен, "реализма на грани" там нет и мозг создаёт всё сам.
Вчера вот накидал текстуры (мышкой в Krita), но они выглядят как-то странно... В шейдере стандартный triplanar mapping со смешиванием двух текстур в зависимости от отклонения нормали от "вверх" (Y+). Почему оно так сильно размазано? Хотелось чёткие детали, как в начале видео на плоскостях, которые ориентированны по осям координат (ни с чем не смешиваются). Земля более-менее, а траву совсем размазало. Уже понял - трава должна быть мелкой, а крупные листики - отдельным мешем. Но, может, у меня какая-то проблема в коде шейдера?
>>1044226 >Я жду, когда анон сделоет игору Долго ждать придётся. Лучше жди Godot 5.0.
>>1043929 >Креатив больше про уникальность Где эту уникальность взять-то?.. Иногда смотрю и удивляюсь: какому-то художнику пришло в голову нарисовать что-то эдакое. Но как? Как пришло?
>>1044970 Фотореализм самый легкий способ погружения (серые фильтры, пасмурная погода, туманы - сглаживают недостатки). Ты можешь погрузить человека хоть платформером 8 битный, если есть талант, но стоит все же почитать базу про хорроры (хотя бы узнать что ты пытаешься в лиминальное пространство) и не забывать как важен звук в (например разовый легкий срежет метала в конце туннеля, когда протагонист туда попадает).
>>1045072 > Долго ждать придётся. Лучше жди Godot 5.0. А я и годот подожду, и тебя. > накидал текстуры (мышкой в Krita), но они выглядят как-то странно Там нашёл редактор текстур, а он на годоте! https://github.com/Bauxitedev/godot-texture-painter
>>1045072 >Где эту уникальность взять-то?.. Иногда смотрю и удивляюсь: какому-то художнику пришло в голову нарисовать что-то эдакое. Но как? Как пришло? Как говорил великий художник Пабло Пикассо: «Un artista copia, un gran artista roba» (Хорошие художники копируют, великие художники воруют). Это можно истолковать как «плохой художник копирует работу и чужой стиль, а хороший - ворует, чтобы на основе этого создать исключительно свое».
Буквально лазай смотри по играм - слепи из понравившегося свое (я не только про визуал, я про все). Например: -понравился визуал Cult of the Lamb -понравился гемплей Vampire Survivors =Сделай 2.5D шутан в стиле бей-беги.
>>1045077 >(хотя бы узнать что ты пытаешься в лиминальное пространство) Так я буквально упомянул лиминальность в прошлом сообщении... >и не забывать как важен звук Да, стараюсь. Хотя звук в планах куда дальше стоит, конечно. Сейчас стараюсь сфокусироваться дизайне уровней, но большую часть времени делаю вспомогательные штуки типа @tool-скриптов и шейдеров, ну или сами модели. Спасибо за советы.
>means more effects will be possible like xray, outlines, cutouts, also selective post-processing for specific objects (at least when it will be exposed to compute pipeline). in AAA stencils are often used for the latter case with deferred rendering where you can't do everything in surface shaders
>>1045372 Это если бы комната там реально была, но не отображалась кроме как на одной плоскости. По идее с ViewportTexture такое же можно сделать, не?! Ну физически комната в другом месте, камера перед ней получает координаты игрока, транслирует их в локальные и отдаёт картинку.
>>1045385 Да, ты решил, что из-за того, что ты сюда запостил результат своей ИИ реализации это подтолкнуло кого-то запросить у ИИ похожий результат и запостить на сайт.
>>1045375 > Годами никто не делал 3д метаболлы в годоте. Ну не знаю, я только что загуглил видосы, и там от полугода до двух лет видосы. Ты просто этим не интересовался.
Если подумать, то вот эта хуйня гениальна. Авторы избежали все timesinks. Отсутствуют модели персонажей, их анимации, их лицевые анимации, риггинг, липсинк, отсутствуют враги, их ИИ, навигация, балансинг, отсутствует боевка, тайминги, скиллы, левелинг, квесты, инвентарь, нпс, сложные физические симуляции. Не потребовалось клепать бесконечный набор уникальных ассетов, никакого ультра-реализма, никакой процедурной генерации, никакого опенворлда и ебли с лодами, никакой разрушаемости, никакого мультиплеера.
Тем временем ньюфаги в геймдеве собирают из этих таймсинков комбо в соулслайк скайрим 2 онлайн.
Пишу в годот-тред потому что делаю игру на годоте. В час ночи в понедельник ебусь с AnimationTree и жалею об этом.
>>1045960 Похожи, только посложнее будут. Большие открытые локации, анимации, интерфейс, листва-деревья, лоды, смена времени суток. Шаг дальше в сторону крафта и уже получим The Long Dark.
>>1045974 >Целая одна дженерик моделька При том взятая из ХЛ2, что ожидаемо, учитывая что изначально Парабола была модом к ХЛ2.
Лень гуглить или нейронку скучную спрашивать. Может ктото из вас тут видел такое - список игр, которые надо сделать (склонить), для обучения геймдеву? Что-то там несколько сотен точно было. Хочу попробовать.
>>1045952 >Отсутствуют... Да, а можно вообще игру не делать и сэкономить 100% времени, которое ты мог потратить на разработку. Но в разработку игр люди идут, чтобы сделать себе свой >соулслайк скайрим 2 онлайн а не симуляторы ходьбы по готовым чужим ассетам.
Это как предлагать человеку готовить еду, которую намного быстрее можно приготовить, вместо той, которую хочется поесть сегодня. Да, дольше, и что? Задача в том, чтобы получить удовольствие, а не заполнить желудок лишь бы он был заполнен.
>>1045358 Ещё бы к этой фиче документацию понятную... Лишь в общих чертах понимаю, в чём суть стенсил буфера, но использовать его на практике? Вообще не понимаю. И каким образом битовые флаги вместо пикселей могут помочь создавать сложные спецэффекты? Разве не выгоднее использовать буфер глубины? Там же float.
>>1046462 >список игр, которые надо сделать >несколько сотен точно было Звучит как какой-то бред от геймджемеров. Если ты увлекаешься разработкой игр для конкретной цели - преследуй эту цель, а не размазывайся по 100 играм. Оставь флуд сотнями игр в год геймджемерам. У них специфическая тусовка, как "спидран" vs "гейминг" - бессмысленно учиться игре в игру у спидранера, если хочется просто получить удовольствие от игры...
Почему когда я придумываю что сделать, приходится решать нестандартные проблемы, т.к. в самом годоте готового нет - для рандомного разположения некоторых вещей в области пришлось реализовать Poison Disk, для выбора вещей игроком реализовать селектор мышкой с учётом перекрывающихся объектов, для рандомного расположения других вещей сделал равномерный выбор случайной точки в полигоне. Мне кажется я занимаюсь не тем, чем нужно. Или у вас тоже так бывает?
>>1046502 Ты решаешь проблемы, решения которых простые и понятные, зачастую уже решённые в интернете, есть туториалы и готовый код. Если игра всё ещё в ранней стадии, то это форма прокрастинации: ты стараешься избежать сложных и важных задач, заново изобретая простые велосипеды, которые не очень важны игре. Фокусируй свои силы на том, что реально важно.
Процедурную генерацию можно отложить - это как перетасовка колоды: без колоды не заработает, а без игровых правил и регулярно играющих игроков она бесполезна. Выбор предметов лучше всего делать размещением предметов без перекрытий. И т.д. Это полезные вещи, но игру они тебе сами не сделают.
>>1046590 вижу ты смышленный в этом плане челвоек. я если что мимо анон, не тот, но у меня схожая с твоим сообщением хуня. игра почти готова, механики почти отлажены, графически тоже все готово, буквально осталось пару хуйнюшек ввести да звук с локализацией вставить и игра готова. но асболютно не понимаю как, что, куда выкладывать и что ещё дополнительно делать чтобы был охват какой то и максимальный выхлоп. помоги если знаешь.
Накачал себе пикрил саундэффектов, чтобы по фрисаунду не шароебиться. В том числе и с фрисаунда выкачал пару гигов. С каким форматом файлов годот лучше работает, ogg или wav? Или еще что-то?
>>1046550 Ну дайс ладно, вроде не то что в движке должно быть, я ж про другое, поверхностно всё есть, стоит чуть усложнить задачу - ничего нет.
>>1046590 Не много обидно за >решения которых простые и понятные если бы мне ютуб не подкидывал заранее видео от умников типа кейси муратори, я бы и названия не знал что искать, и это не велосипеды, но про прокрастинацию я соглашусь, скорее всего так и есть. У меня самый сложный этап - рисование, я не умею, нужного не найти, пока "заткнул" всё через Line2D, опять же, потому что увидел заранее, что с помощью Line2D можно вполне себе рисовать векторные объекты благодаря кривой ширины
>>1046629 Со всеми форматами на этапе создания годот работает так - перекодирует в массив (импорт), сохраняет в папку .godot и использует этот файл для проигрывания. Скорее всего при загрузке пользовательского файла происходит +- то-же самое но в памяти.
>>1046629 >ogg или wav Ты документацию пробовал читать? https://docs.godotengine.org/en/stable/tutorials/assets_pipeline/importing_audio_samples.html WAV легче на CPU, но толще на диске. OGG давит на CPU, но он компактнее. MP3 легче OGG по CPU, но толще него. >Consider using WAV for short and repetitive sound effects, and Ogg Vorbis for music, speech, and long sound effects. MP3 is useful for mobile and web projects where CPU resources are limited, especially when playing multiple compressed sounds at the same time (such as long ambient sounds).
>>1046628 С такими вопросами не ко мне, я ни одной игры не опубликовал всерьёз, и как-то даже не стремился. Поверхностно знаю, что рекомендуют создавать собственную страницу в Steam за месяцы до релиза, собирать вишлисты по разным соцсетям, куда нужно закидывать арты, скриншоты, клипы из игры. Перед релизом раскидать бесплатные ключи стримерам, но большинство согласны обозреть игру только платно. Классические рекламные площадки типа Google Ads работают очень плохо и стоят очень дорого, поэтому полностью забиты дорогими проектами/ботами.
Локализацию лучше доверить профессионалам, а не прокручивать через автоматические трансляторы... С приходом LLM мало что изменилось: дешёвки делают потраченный перевод с тупыми ошибками. Но в то же время лучше иметь кривой перевод, чем не иметь. Со звуками, имхо, наоборот: лучше играть в тишине, чем слушать раздражающий пердёж 9000 раз подряд.
Самое главное, если у тебя не миллиарды, которыми хочется играть в лотерею, не стоит пиарить очевидно провальный проект. Раскрутить можно что угодно, но провальная игра будет требовать намного больше вложений, чтобы в неё кто-то поиграл. Т.е. эффект "сарафанного радио" существует, но только для действительно достойных проектов. Если у тебя явно слабая игра и ты планируешь делать ещё одну, можно выложить эту бесплатно, и она станет рекламой для следующей. Иначе потом будешь писать пост "как я потратил 100500$ на рекламу, получил 10 отзывов и быстро обмяк на дне стима без гроша и с долгами".
И ещё из-за санкций у нас всё очень сложно в плане монетизации игр... Ходят слухи, что Steam РКН может полностью заблокировать; все локальные площадки обязуют привязывать к паспорту или что-то вроде. Надеюсь, что этот бред не примут и всё останется как прежде, иначе у нас геймдев совсем испортится...
Короче, это всё ИМХО, лучше идти читай интернет.
>>1046654 >я бы и названия не знал что искать Дело не в названиях. Я не знал про "poisson disk", но реализовывал "jittered grid", который вполне хорош и должен быть значительно быстрее, как мне кажется. Проблема в том, к чему это применять и зачем? Если необходимо ресурсы по карте разбросать, но ещё нет нормального геймплея, лучше вручную раскидай и занимайся геймплеем... Потом может оказаться, что рандомно раскиданные ресурсы вообще не нужны - в большинстве игр фиксированные точки спавна.
>рисование, я не умею, нужного не найти Вот учись тогда. Час каждый день - практикуйся в рисовании, и через несколько месяцев будешь уже относительно терпимо рисовать. Гугли книги. >пока "заткнул" всё через Line2D Эта нода хороша лишь для простейших вещей. Лучше изучить что-то вроде Inkscape для векторной графики. Рендеришь спрайт в png и импортируешь как обычно. Растровые, как Krita, иногда тоже умеют в вектор.
>>1046659 >перекодирует в массив Формат импортированных файлов сильно зависит от содержимого и настроек импорта, по крайней мере, в контексте текстур. Про звуки не знаю, но судя по официальной документации - формат файла влияет на воспроизведение, иначе они бы это всё не писали.
>>1046667 >Хватает инструментов и производительности Да, хватает, если ты делаешь индюшку, а не ААА. Достаточно много 3D инди проектов на Godot. Есть достаточно много аддонов для 3D и написать что-то собственноручно под редактор не так уж сложно. По оптимизациям многое зависит от твоих знаний - это независимо от движка, но у Godot меньше "магии".
>>1046667 Я делаю стилизированную лоуполи игру, со своими моделями из блендера. Мне нормально. В стиме видел графонистые игры на годоте, видимо и им нормально.
>>1046671 Спасибо. >У тебя пятигранники в сетке на скриншоте. Убери. Это фрагмент из ютуба (не мое). Кстати, почему важно всегда в четырёхугольники укладываться?
>>1046684 >почему важно всегда в четырёхугольники Во-первых, четырёхугольники проще редактировать: подразделение поверхности, выделение замкнутых цепочек, добавление новых и т.п. лучше всего будет работать на модели только из четырёхугольников. С треугольниками и пяти+угольниками начнётся хаос.
Во-вторых, если ты делаешь персонажа или какую-то "органику", то четырёхугольники будут намного лучше деформироваться в анимациях. Но даже геометрию статичных предметов (мебель, оружие и т.п.) может потребоваться деформировать модификаторами, а им намного проще работать с четырёхугольниками.
И наконец, вся 3D графика сегодня рендерится чисто треугольниками, поэтому любые N-угольники будут триангулироваться в какой-то момент перед тем, как попасть на экран. Так вот у четырёхугольников более предсказуемое разделение на треугольники, чем у остальных N-угольников. Т.е. в случае, когда нельзя избежать (N>4)-угольника, его лучше разделить на треугольники самостоятельно - так, как тебе нужно.
>>1046671 > Я не знал про "poisson disk", но реализовывал "jittered grid", Твой вариант очевидно может дать pic1 результат, я подобного сразу и хотел избежать
>Дело не в названиях ну давай, введи в поиске "random points in area that's not override" скажешь на какой странице найдёшь не васянский ответ, если найдёшь
>Эта нода хороша лишь для простейших вещей. Что то ты душнишь уже, в группах в ТГ сидишь по годоту? начинаю догадываться кто ты
>>1046686 1. Сам понимаешь, харкач. Левелы леплю прямо в годоте из ранее созданных сцен, соединяю их если надо сигналами и/или через nodepath, сверху на это все ложится навигационная карта для <10 нпс. Знаю что люди используют trenchbroom и плагины типа terrain3d - мне показалось лишним.
2. Пиксельную 2Д вид сверху делал, доделал-опубликовал. 3Д далось легче - натыкать анимацию проще чем ее рисовать, не нужно ебаться с y-sort, сразу имеешь нормальное освещение и тени, с тайлмапами ковыряться не надо. Математика в 3д сложнее, конечно, но сейчас нейросеть все может разжевать. Крч 3д мой нью бест френд.
3. Текстуры свои. У меня три подхода. На большие ровные объекты (стены/пол) делаю трипланарные текстуры - они растягиваются-повторяются, при этом саму меш можно деформировать и текстуры не уедут. Позволяет вырезать в стене проход не занимаясь ретекстурированием, или накидать новый объект из примитивов внутри годота - текстуры замостятся как надо. На средние объекты (игрок, нпс) тащу текстуры вместе с gltf. На мелкие заливка цветом. Пацаны в дискоре годота грят хорошо зделол.
>>1046689 >massiv: array<floatLEFT, floatRIGHT> Где ты это там увидел? Там два класса: >AudioStreamWAV >AudioStreamOggVorbis Ты в них смотрел? Там огромные портянки.
>>1046727 Ебать и правда. Но это скорее не пятигранник, а четырехгранник без пятой вершины, соответственно соседи не присоединены и получится дыра если фейс подвигать.
>>1046713 Я тебе хотел много мата написать, но передумал сам покопаешь эти классы может поймёшь, если нет - оставайся при своём мнении, мне какая разница.
>>1046721 Ошибся, речь шла о пятиугольниках. N-угольники в 3D считаются по вершинам.
>>1046698 >очевидно может дать pic1 результат И что? Это тебе всю игру ломает настолько, что ты измеряешь точное расстояние между случайными позициями? Какой вообще смысл в случайности, если расстояния будут фиксированы. Игроку, наоборот, приятнее будет найти сразу 4 крутых шмотки в единственном углу. Меньше ходить придётся.
Вот у Minecraft деревни часто на ближайших чанках располагались и никто на это не жаловался - в 4 раза больше готовых домиков и жителей, плохо что ли?
>ну давай, введи в поиске Зачем искать? Просто напиши код сам: >for x in size.x: for y in size.y: p[x][y] = Vector2(x + randf_range(-r, r), y + randf_range(-r, r)) И забудь об этой "проблеме" на несколько лет.
>Что то ты душнишь уже Я просто предупредил о возможных проблемах. >в группах в ТГ сидишь по годоту? Нет, я давно вообще нигде не сижу кроме /gd/.
>>1046730 >четырехгранник без пятой вершины Лол, это больше всего раздражает. Прячутся...
>>1046731 Ты чего такой серьёзный? >сам покопаешь эти классы может поймёшь Я покопал, и что? Нужно смотреть спецификации на конкретные форматы, чтобы разобраться в деталях реализации... Если, по-твоему, там сырые значения, передающиеся напрямую в динамик, то почему тогда в документации рекомендуют использовать WAV для коротких и частых звуков? С твоих слов выходит, что независимо от исходного формата движок будет считывать с диска поток сырых данных без сжатия. Мобилкам тоже без разницы на формат будет - они ж получат не wav/ogg/mp3, а, с твоих слов, сырые float.
Иди на github, предлагай исправить документацию...
>>1046736 >то почему тогда в документации рекомендуют использовать WAV для коротких и частых звуков? Вы меня сегодня доконать решили. Я не знаю точно почему в документации они так написали, могу предположить что потому что ogg это контейнер и там на самом деле хранился массив массивов массивов, что в случае с небольшим звуком в этом контейнере не имеет смысла создавая лишь лишним классы каждый из которых добавляет около 20кб потребляемой памяти просто потому что существует И потому что в огг в теории может быть куча слоев из разных дорожек
>>1046736 >Мобилкам тоже без разницы на формат будет - они ж получат не wav/ogg/mp3, а, с твоих слов, сырые float. Ты бы экспортнул pck файл проекта со всеми форматами файлоа а потом открыл бы его архиватором и попробовал их там найти прежде чем пиздеть
>>1046739 >массив массивов массивов >создавая лишь лишним классы Но ведь ты утверждаешь, что все эти классы нужны исключительно для ИМПОРТА файла, после чего игра считывает конвертированный в твой "массив" файл. Получается, что вся проблема - в скорости импорта?
>может быть куча слоев из разных дорожек И что? Какая разница? У тебя же после импорта все дорожки и слои соединятся в массив из пары float? Получается, только импорт будет немного дольше, но импортирование происходит единожды в редакторе.
>>1046741 >попробовал их там найти Там в .apk будет папка .import с импортированными данными. В каком формате они будут? В "массиве"?
>>1046749 В сраче нихуя не понял. Пока делал игру на твг понял, что есть форматы, у которых функционал не урезан, а есть кастрированные. Нужно конвертить в нормальные, а не байты считать, если не хочется на ровном месте велосипедить.
>>1046790 Чтобы вызвать обычную функцию нужно создавать экземпляр класса var cl = MyClass.new() cl.myfunc()
А статик можешь вызвать не создавая экземпляр MyClass.my_static_func() Но в этом случае у тебя не доступа к переменным класса если они так же не статик
>>1046790 Уровень объекта и уровень класса. Гугли. Это основы, не относящиеся непосредственно к гдскрипту. Почти общеязыковой инструмент, как циклы или условия. Алсо, в гдскрипте не путай автолоад синглтоны и статику. Похоже внешне, но это разное, синглтон все таки объект.
>>1046790 > Напомните простыми словами > Сделайте так чтобы не забыл! Раньше в языках не было ООП. Содержимое файла с кодом не являлось классом, не описывало класс. А описывало оно функции и процедуры языка. Простую статичную программу в её изначальном виде. Потом кто-то придумал ООП. В существующие тогда языки налепили ООП-расширений, что вот мол в этом текстовом файле декларируется вот такой-то класс (class Foo;), и все его методы будут начинаться с его имени (Foo.Bar(){}) а если в файле есть другие функции, не являющиеся чьими-то методами, то это ну, просто статичные функции доООПной эпохи. И тут появились первые ООП-языки, в которых текстовый файл с кодом описывает класс, безальтернативно. Ты не можешь писать программу как раньше, пиши класс, потому что у нас ООП-язык. Всё есть класс. Но как же тогда запускать программу? Ведь на экспорт требуется статически прилинкованная функция main() как точка входа. И тут статические функции снова вернули в ООП языки, но теперь их приходится помечать ключевым словом static.
>>1046783 1. Зачем тебе отдельный класс и статичные методы, принимающие генератор как параметр? Можно так: >class_name MyRNG extends RandomNumberGenerator 2. Шанс выражается от 0.0 до 1.0, т.е. достаточно: >return self.randf() < probability 3. В dice() много лишних параметров и проверок. Вот, например, что мне делать, чтобы кинуть дайсы 6 и 8? Обратиться к твоей функции два раза? А зачем мне передавать туда бонус - я что, сам его не прибавлю? 4. Зачем делать if generator в цикле, если можно его вынести за пределы цикла? Наличие генератора не изменится внезапно на следующем шаге цикла. 5. Для полноценного теста ГПСЧ (PRNG), нужно, как минимум, несколько десятков тысяч вызовов, и не с выводом в лог, а сбором статистики и построением визуального графика. Только так можно надёжно удостовериться, что генератор достаточно хорош. Ну, наверное, есть какие-то математические методы, но нематематикам будет проще взглядом оценить.
Ещё часто нужен такой рандом (в гаче, лутбоксах): >var pulls: int = 0 >func pull(probability: float, pity: int = 100) -> bool: >_ pulls += 1 >_ if pulls >= pity: pulls = 0; return true >_ else: return self.randf() < probability Или что-то похожее. Это субъективно более "честно".
Самый простой алгоритм, конечно, будет таким: 1. Найти общий делитель до целых чисел (0.1). 2. Разделить каждый шанс на него (3, 7). 3. Заполнить массив: [А, А, А, Б, Б, Б, Б, Б, Б, Б]. 4. Выбрать случайную ячейку массива: >return array.pick_random() Проблема в том, что для шанса, скажем, 0.0001 здесь потребуется 10000 элементов массива. Его, конечно, кэшировать можно, но если тебе нужно несколько генераторов с разными вероятностями?.. Поэтому я планирую как-нибудь попробовать Curve для этого...
>>1047198 Как уже достала эта хрень с темными темами (как у мамкиных хакеров в кино, да?). Серьезно, мало того что глаза сильнее устают, так еще и вытекают при альтабах на светлый фон.
>можно решить через Curve Работает, как я и рассчитывал.
>>1047055>>1047104 В Godot 4.3 добавили, но официально нигде не объявили...
Думаю, метод с Curve может пригодиться для каких-то симуляций, т.к. он позволяет получать гладкую кривую на большом диапазоне значений. Метод с заданием вероятностей через массив удобен только когда этих вероятностей относительно мало.
Сап Я правильно понимаю, что для ии противников FSM + вложенные FSM + менеджер боя (скрипт для текущего состояния сражения, чтобы противники отслеживали, что происходит) збс решение?
>>1047249 Ну с точки зрения достижения целей - мне кажется норм. Но тут надо ещё смотреть экспириенс, чтобы бой воспринимался приятно. У себя тоже fsm пытаюсь применять. Но как будто мутант fsm и жадного алгоритма получается.
>>1046989 > Можно так: > >class_name MyRNG extends RandomNumberGenerator Вот за это спасибо без сарказма. Получилось по Эйнштейну, решение простое и очевидное для всех, кроме меня. И ведь я знал, но полез в какую-то дичь со статиками.
Так, ну ладно, продолжим, а вот этот пацанчик в чём неправ?
>>1047268 Интересно, зачем ему именно случайная сортировка вместо родного шафла, который случайно переставляет пары элементов по индексу. Наверно на выходе должна быть какая-то заметная невооруженным глазом разница. Переписывать его код лень для теста. Ну а тайпчекинг ради тайпчекинга изза окр у него наверно, тоже такое бывает. В гдскрипте не хватает юнионов для таких ситуаций.
>>1047270 А я тоже использую светлую. Темные часто слишком контрастны - у меня от них линии текста в глазах. Не говоря уж про телефоны на улице, где темная тема видна вообще никак.
>>1047272 Родной шафл не позволяет задать отдельный рандомайзер (с заданным сидом и шагом, разумеется). И поскольку так никто и не понял ИТТ, скажу, что речь идёт именно о воспроизводимой и сохраняемой процедурной генерации. Плюс, этот анон пишет удобные функции-хелперы для своего удобства.
А на пикче выше, подскажу уж, проблема в том, что годот сыпет красным. Думойте. В чём он неправ?
>>1042277 Одно дело играть, другое - смотреть, как реализовано с точки зрения геймдева. В общем, обращаешь внимание на другие вещи. Для этого иногда переигрывает в давно игранные игры и смотришь на них по-новому.
Делюсь советом - чтобы все звуковые эффекты звучали так, будто находятся в одном общем акустическом пространстве, достаточно накинуть небольшой Reverb эффект на аудиобас. Мне такие настройки подошли - в звуке сразу появилось ощущение общности.
>>1047268>>1047278 >воспроизводимой и сохраняемой https://docs.godotengine.org/en/stable/classes/class_array.html#class-array-method-sort-custom >Note: The sorting algorithm used is not stable. This means that values considered equal may have their order changed when calling this method. >Note: You should not randomize the return value of func, as the heapsort algorithm expects a consistent result. Randomizing the return value will result in unexpected behavior.
>>1047281 >В чём этот неправ? Я не понимаю, ты просто флудишь чужими скринами из твиттера/дискорда/реддита? Сильно раздражает.
Обнаружил, что в Blender можно настроить материал приблизительно так же, как будет выглядеть в Godot. Собственно, накидал 4 таких меша и дерево, потом поигрался с этим в игре... и чёт опять приуныл. Там огромное количество проблем, и много работы... И непонятно, зачем я вообще этим занимаюсь... Эх.
>>1045114 >Почему обводка только у гриба? Забыл её удалить. Решил пока без обводки делать. Конкретно "гриб" размещается случайно на место плейсхолдера, поэтому его сцену я очень давно не открывал, а обводка настраивалась внутри неё.
>>1045093 >Тебе туда нужен фильтр из геншина Что ты имеешь в виду? "NVIDIA Game Filter"?.. У меня выбрано "filmic tone mapper", включён дым, и ещё я поднимаю "контраст" до 1.5, но это почему-то не так работает, как я надеялся. Нужно потом переделать.
>скайбокс В Godot вместо скайбокса - какой-то шейдер... Нужно преобразовывать координаты какой-то формулой; не разобрался, забросил пока. Раньше пробовал делать собственный скайбокс (именно меш), но получается неудобный костыль какой-то, поэтому тоже забросил. Наверное, нужно комбинировать несколько камер?.. Главное, я не понимаю, как нарисовать облака без просаживания FPS из-за шейдерных вычислений. Нарисовать их в 2D и налепить как спрайты? Сейчас использую шум, который накладывается в шейдере.
>>1045089 >великие художники воруют Так многие говорят, но кто-нибудь понимает, что это означает? Воровство = лишение имущества. Какого имущества лишает "великий художник"? Бред. Один случайно ляпнул глупую фразу, и все его повторяют.
>смотри по играм - слепи из понравившегося Если б мне что-то сильно нравилось, я бы не делал собственную игру, а играл бы в то, что понравилось. Изначально я хотел сделать клон дохлой игры, но в результате осознал, что мне она не нравилась, лишь зацепила необычностью на фоне выживалок. Щас продолжаю только из-за того, что это единственный стабильный проект, который не развалился от моих постоянно меняющихся интересов за все эти годы. Изменился, но ещё не развалился. Пока что...
И, кажется, речь шла о вещах, которые не должны обязательно нравиться, но нужны игре. Смотри, мне требуется сделать какие-то острова... Я придумал им ограничения и механики, но не придумал остальное. Конкретно каким образом мне их делать? Вот у меня условный куст, куда его воткнуть? А цветок куда? Это невозможно решить простым копированием из уже существующих игр, потому что там всё по-другому. Художники каким-то образом втыкают все детали, по каким-то своим секретным правилам, но не говорят никому... Только учат раскрашивать уже готовое.
Т.е. вот я открыл редактор. Я умею его использовать. Понимаю, как выглядит то, что мне нужно, и могу это изобразить. Но что мне нужно? Вот у меня есть куст, который можно разместить в точке А и в точке Б, но разницы я в этом не чувствую... Мне совершенно без разницы, где он будет. Художники это как-то решают. "Своровать положение куста" из другой игры нельзя, поскольку не существует игры с таким же кустом и конкретными точками А и Б, т.е. задача уникальна. Следовательно, тут необходимо какое-то правило?..
Понимаешь? Я не могу сделать всё и сразу, тупо не хватит времени. Нужно что-то одно. Но что нужно?..
>>1047500 Потому что это просто, хоть и не оптимально. С другой стороны, если есть туман войны, как-то надо имитировать попытку ии повести себя как игрок. Вообще не давать инфы - он будет лежать, давать чит с известной заранее картой или расширенным радиусом видимости - чит. А тут как вроде попытка достичь установленной цели (fsm), но с повадками человека.
>>1047492 > И непонятно, зачем я вообще этим занимаюсь... Эх. Чтобы рассказать нам некоторую историю. В конечном итоге, если покопаться в себе, все мы занимаемся именно этим. Просто некоторым удобнее рассказать через геймплей. Так что не унывай. Доделывай. Потом как поиграем в твой шедевр, как кайфанём!
>>1047492 > Художники каким-то образом втыкают все детали, по каким-то своим секретным правилам, но не говорят никому... Правило только одно: делаешь как тебе нравится => собираешь вокруг себя аудиторию единомышленников, которым нравится такое же. Если делать не то что нравится тебе, а то что кто-то где-то сказал, что оно принесёт доход и славу, то соберёшь вокруг себя кого угодно, но не единомышленников.
>>1047492 >Вот у меня есть куст, который можно разместить в точке А и в точке Б, но разницы я в этом не чувствую Имхо, это база левелдизайна. Типа, в первую очередь нужно понять, что ты хочешь показать игроку? Какими способами можно это сделать? Какую задачу выполняет конкретно этот куст в конкретно этой точке? Например, он может скрывать вход в пещеру, визуально направлять игрока, создавать видимость заброшенности местности или дать игроку целебных ягод. Естественно все это в связке с другими элементами на уровне, геймплеем, музыкой и т.п.
Но это нужно заранее пилить диздоки, схемы и прочее, где все это будет описано.
>>1047509 >давать чит с известной заранее картой или расширенным радиусом видимости - чит
Ну как бы тебе сказать... Вообще хорошие игры - это буквально аттракцион и обман игрока. Всегда так было. Игрок думает, что избежал смерти в критический момент и радуется этому? - Нет, это просто игра подстроилась и скрутила точность врагов, чтобы игрок почувствовал себя крутым. Игрок думант, что нашел секретное место с ресурсами? - Нет, это левелдизайнер грамотно и ненавязчиво оставил подсказки. Игрок в дарксоулсе убил босса? Потому что скилловый? Да, но не только. Еще дизайнеры сделали врагу несколько уязвимых точек и недостатков, чтобы игрок мог их использовать. Персонаж с маленьким процентом убеждения смог разрешить словесную ситуацию? Нет, просто настоящий процент выше, чтобы игрок почувствовал, что дохуя удачный. Или представим платформер (это вообще база). Игрок может прыгнуть даже спустя мгновение, как его персонаж соскочил с платформы. Да, это чит, но это и game juice
И так далее. Ну ты понял мысль. Игра - это аттракцион, театр, представление. Должна быть лишь видимость честности, чтобы не развеялась магия. А под капотом куча обманок. Ведь фокусник не по настоящему материализует кролика в шляпе
>>1047430 > Передай ему, пусть делает как Хуан внутри движка зделол, и не выёбывается. И ты не выёбывайся. Передал. Пригрозил премию сократить. А он всё равно выёбывается. Вы только взгляните, что выдал. Где неправ?
>>1047572 Звучит как небольшое эхо, отскакивающее от стен и накладывающееся на эхо от других звуков. Настройки на скрине позволяют выбрать насколько это эхо заметное, насколько долгое, насколько оригинальный звук чист и тд. Примерно так работает реальный звук, если ты не живешь в комнате с мягкими стенами.
Еще офк стоит разделять по аудиобасам звук в игровом мире и звук от кликов интерфейса - клик не должен звучать ревербом в игровом пространстве.
>>1047430 Рандом сложная тема, такой вариант годится только для неприхотливых. Дело в том что остаток от деления выровненного int может давать неравномерное распределение, возьмем для примера int8_t это от 0 до 255, если i+1 = 7 то определенные числа выпадут чаще других Это такая же тема как с физикой, навигацией, поиском пути, маппингом кнопок - для быстрого старта можно взять то что есть, но в идеале лучше писать свое.
>>1047390 Как режзвукосёр, подтверждаю: таким приёмом пользуются и при сведении музыки. Осло, можно сделать промежуточные шины: одна для звуков "в мире", другая для всяких интерфейсных бип-бипов, третья для шины. И в общее пространство помещать только первую. Все аудио-ноды позволяют выбирать, в какую шину их направить.
>>1047617 юнитигейт. обьявили что разработчики игр должны им (юнити) платить за каждую установку пользователем игры, произошла миграция, автор террарии вкинул в годот кучу денег (100 000 долларов если не ошибаюсь)
>>1047620 >автор террарии вкинул Что характерно она даже не на юнити, а на XNA. Просто их мув триггернул всех в геймдеве и люди побежали донатить в опенсорс.
>>1047629 Я на нем тоже, мне не нравится юнька и уе. Просто из библиотеки своей в стиме у меня только одна игра на годоте из 500+, и это кликер с какого-то джема на итче, о чем в нем же указано. Да, так себе статистика местечковая, все же логично что их должно быть больше тогда, притом намного.
>>1047627 Ну они если что отменили в юнити эту фигню и уволили там какого-то главу за это. В анриле хз точно, там какое то рояльти надо платить если доход с игры превышает что-то типа миллиона баксов и за публикацию игры в анальном ЕГС там меньше процент забирают (не 12%, а 5%), это если не поменяли ничего. Годот в этом плане свободен, только надо упоминать что игра сделана на нём.
>>1047572 >И как это звучит? >>1047583 >У меня тестить не на чем почти. Если у тебя аудиочип от Realtek на ПК, то можешь в драйвере выбрать "окружающая обстановка". Потом запускаешь любые звуки в плеерах - будет эффект.
Никогда не понимал, зачем кому-то симулировать нахождение в ванной и канализации, слушая на ПК музыку или смотря фильмы... Всё ещё не понимаю.
>>1047249 >для ии противников FSM Зависит от геймплея и сложности противников.
Конечный автомат характерен тем, что у него чётко определённые связи между фиксированным числом состояний. Ты не можешь просто сунуть новое или заблокировать/удалить старое состояние, ничего не испортив. И если количество переходов и состояний большое, настраивать и отлаживать будет тяжело...
Если у тебя в игре много сложных ситуаций и у твоих противников много потенциальных возможностей, то пригодится концепция Utility System (Utility AI): https://en.wikipedia.org/wiki/Utility_system Вкратце, эта система очень напоминает однослойную нейросеть с функцией активации "winner takes all", т.е. теоретически её возможно тренировать обучением с подкреплением, если трудно настроить вручную.
Другими словами, есть набор данных о состоянии персонажа и окружающей среды, и есть действия, взвешивающие эти данные по формуле (как, скажем, классический перцептрон), а затем выбирается одно действие с наибольшим числом ("самое полезное").
Это позволяет добавлять и удалять действия, менять коэффициенты и т.д., меняя ситуативное поведение персонажей без тупиков, т.к. в любой момент можно выбрать любое из возможных действий, и какое-то выбирается в любом случае. Настроить что-то более конкретное сложно, правда, но это делается не для разыгрывания каких-то конкретных катсцен.
Если же правила игры требуют сложных цепочек из множества действий для достижения одной цели, то, возможно, имеет смысл применить алгоритм GOAP - используя набор действий с прописанными в них требованиями и следствиями он пытается найти подходящую последовательность для решения некой поставленной задачи. Как стратег, ищущий наиболее выгодную стратегию боя. Этот алгоритм тоже может принимать любые действия, т.к. создаёт цепочки динамически из заданного набора по запросу.
Приведу пример. Вот у тебя монстр-боец и монстр, таскающий с собой щит. Монстр может бить щитом. Однако, щит может сломаться, оставив монстра безоружным. А может быть, ты хочешь, чтобы боец подбирал щит, если он дропнулся с его товарища? С конечными автоматами ты должен прописать все возможные переходы между атаками без оружия, с оружием, со щитом и т.д. В Utility System ты просто добавляешь действие "удар щитом" которое может сработать только когда у монстра есть щит - тут все остальные действия не меняются, можешь его даже динамически цеплять вместе с нодами щита. В GOAP монстр планирует свои действия типа "чтобы убить, требуется: подобрать щит; подбежать; ударить", что сформируется только когда есть "подобрать щит".
Конечно же, если у тебя простые Гумбы, которые тупо ломятся по прямой и убиваются об игрока, то тебе нет смысла задумываться об их алгоритмах, достаточно накидать лапши из if-else и считать дело сделанным.
>>1047509 >если есть туман войны >Вообще не давать инфы - он будет лежать Как это связано? У тебя монстры должны, по идее, заниматься "патрулированием" (ходить по заранее известному маршруту) или "изучением местности" (блуждать куда-то в туман войны). Это всё никак не должно зависеть от выбранного алгоритма.
>попытка достичь установленной цели (fsm) При чём тут достижение цели и конечные автоматы? Конечный автомат имеет у тебя, условно, состояние "патрулирование", у которого код заставляет моба перемешаться по маршруту, либо состояние "искать", заставляющее блуждать по округе в поисках игрока. Конечный автомат не пытается "достичь цели", а переключается между состояниями: если твой моб сталкивается в патруле с игроком, его состояние переключается с "патруль" на "бой с игроком", и всё.
>>1047568 >игра подстроилась и скрутила точность врагов В GTA Online вот в точности наоборот - NPC делают максимально хардкорными снайперами и убивать их желательно издалека, пока у них мозги неактивны... Сомневаюсь, что динамическое снижение сложности популярно, т.к. это будет слишком сложно настроить.
>нашел секретное место с ресурсами? >грамотно и ненавязчиво оставил подсказки Как наличие подсказок мешает поиску мест? Можно отрицать поиск, если на карте стоит метка "секрет находится здесь!", но если игрок ищет подсказки, то естественно, что он нашёл секретное место сам. Как минимум найти карту сокровищ - это тоже поиск, а не тупое следование спойлерам из интернета.
>может прыгнуть даже спустя мгновение Это вообще не в тему, "койот тайм" придумали из-за отсутствия быстрой обратной связи с персонажем - визуально очень сложно определить, когда игровой персонаж уже отделился от платформы, тогда как в реальности ты это ощущаешь телом интуитивно.
В контексте неигровых противников любой обман чрезвычайно негативно сказывается на опыте игры. Скажем, в гоночных играх огромная проблема с т.н. rubberbanding - это когда ты обогнал Васяна на его проржавевшем корыте с пробитыми колёсами и дымящимся двигателем на своём гигасуперкаре, а буквально через несколько секунд этот Васян уже пролетает на сверхзвуковой скорости мимо тебя и совершенно без проблем занимает первое место.
В стратегии с туманом войны очень неприятно, если противник точно знает, где находятся твои важные постройки, и отправляется сквозь лес и горы ломать "секретную" базу, что ты так тщательно придумывал. Обиднее всего то, что базы противника ты не видишь, вслепую тыкаясь в туман войны, особенно если вся игровая карта процедурно генерируется - ты ничего не знаешь о противнике, пока он топает тебя нагибать по наиболее эффективному маршруту. Зачем так делать?
Так что не надо тут про "аттракцион"... Подобных "аттракционов" в мультиплеере с читерами полно. Очевидно, сделать абсолютно честный ИИ сложно, особенно если целевые игроки прошаренные, а не абсолютные новички в каком-нибудь cozy жанре. Но стремиться нужно к честной игре, а не тупому фарсу.
>И какая опенсорс лицензия требует упоминания? Как бы любую лицензию следует упоминать, иначе копирасты могут возбудиться и начать домогаться несмотря даже на то, что ихнего у тебя как бы нет - посмотри конфликты между музыкантами, они там окопирастились так, что поди уже ноты копирайтят.
А так ты говоришь "это не моё, но мне разрешили" - копирасты, в большинстве своём, отваливаются.
Логотип Godot тебя никто не просит лепить, и все знающие люди сразу узнают Godot в твоей игре.
>>1047667 >достаточно накидать лапши из if-else и считать дело сделанным Я чего-то не понимаю или все, что описано выше этого тот же самый if-else, только разных сложностей?
Добрый день, господа. Вкатываюсь в 3д на годоте - Помогите пожалуйста по двум вопросам, пока тяжело разобраться: 1) Как сделать в игре приятную картинку? Видео, которые мне попадались дрочат только какие-то сценки для пролета камеры, а мне нужен хороший гайд, как сделать сочную картинку в динамике. Свет, энвайромент, фог и тд. Может есть где хорошо можно почитать, посмотреть. Самотыканием получается все плохо пока. Цель не фотореализм, а добротная стилизация.
2) Не очевидный импорт моделей. Я создаю glb кидаю в годот и создается сцена. Чета бля импортируется четп нет, чета нельзя менять, чета можно. Какой нормальный пайплайн по импорту например геймреди модели из блендера в годот, если я хочу еще дрюкать анимации (эвенты прописать в годоте), добавлять разные кости (атачменты и спрингбоны). Не хочу пользоваться импортом прям blend файлов - это какая-то параша. Есть норм видео почитать посмотреть от шагов в блендере до шагов в годоте
>>1047691 Спасибо! Меня интересует что-то ближе к хэндпеинт, мультяшности, аниме - хз как назвать. Примеры типа лола, торчлайта, вов и тд. Пока выходит как-то блекло на уровне раскидки моделей или максимум дешевой казуалки. Но я вижу проекты на годоте - они стильненькие есть.
>>1047699 Лоу поли модели с хендпейнт текстурами, шейдер для аутлайна, rim light и низкий metallic на материалах. Остальное от освещения и постпроцессинга в world env зависит.
>>1047702 А есть какие годные туториалы для даунов без вкуса, способностей и возможно даже зрения по лоуполи этому? Я с 2д заебался, столько рисовать просто вешаться можно, хочу сделать модельку и дергать ее за яйца мышкой. мимо
>>1047709 Хз, я не мастер моделирования, но в таком стиле все же тащат именно модели и их стилизация, которая происходит в основном ДО движка.
>хочу сделать модельку и дергать ее за яйца мышкой Это тоже нихуя не просто, лол, не обманывайся. Плавная качественная скелетная анимация в 3д это ахуй какой скилл. Возможно тебе стоит глянуть этот пост, прежде чем ты вляпаешься >>1045952
>>1047709 >Я с 2д заебался, столько рисовать просто вешаться можно Ну теперь с 3D ты будешь делать модельку 6 часов. Потом текстурировать еще часа 4, потом еще и анимировать если надо. Плюс неделю бегать по соцсетям, расспрашивать почему тут артефакты.
>>1047605 >давать неравномерное распределение Формально ты прав, но на практике это будет заметно только в статистике из десятков тысяч рандомных запросов - и только если кто-то реально запарится эту статистику собирать и анализировать. Т.е. это является проблемой только для каких-то криптоманьяков, но для настоящей криптографии псевдослучайные числа в принципе не подходят - для неё используют шум из атмосферы или что-то в этом роде. А у нас тут просто игрушки, о чём нам беспокоиться?
На практике у тебя либо очень мало рандомных запросов на одного игрока и он ничего не заметит (а если и заметит, то похвалишь его и "пофиксишь баг, найденный фанатом игры", заработав тем самым социальный рейтинг), либо ты сам добавляешь в этот рандом столько нелинейности, что вот этот малюсенький провал по трём цифрам из семи потеряется в общем шуме десятков/сотен отдельных генераторов, результаты которых друг на друга накладываются и перемешиваются.
И опять же, игры чрезвычайно трудно планировать математически, гораздо важнее плейтестить прототипы. Если твой криво слепленный рандом работает приятно в прототипе - о чём заботиться? О каком-то теоретическом дисбалансе в неопределённом будущем, когда игрок наиграл 5000 часов в одной игровой сессии, записывая результат открытия каждого из 10000 лутбоксов в свою табличку? Таких потенциальных проблем в игре может быть бесконечное количество, и если обо всех беспокоиться с самого начала - игру никогда не сделаешь...
>>1047719 >>1047711 Можно попытаться, а вдруг. В 2д я просто на стену полез от рисования каждого кадра. Окей, иногда это легко можно намутить, а иногда просто адово. Ну а спайн не пробовал. У меня просто можно сказать отрциательное художественное видение и я обосрусь даже с рисованием квадрата. Но вот намоделить кое как мне удавалось несложные вещи, например звездный разрушитель. Как будто для лепки модельки не нужно иметь этакой "картинки в голове" или что там у художников имеется, моделька она вот здесь прямо перед тобой. Попробую, только надо простой пример выдумать, хммм. А лоуполи по стилю мне нравится в других играх.
>>1047737 >Можно попытаться, а вдруг. В 2д я просто на стену полез от рисования каждого кадра Спрайты тоже можно на костях анимировать. Да и вектор с растом лучше смотрится чем навязанный пиксель-арт.
>Как будто для лепки модельки не нужно иметь этакой "картинки в голове" или что там у художников имеется, моделька она вот здесь прямо перед тобой. Ты не поверишь, 3д тоже делают по референсам. Даже вектор в римворлде делают по референсам (пикча). А картинки римки самые примитивные. Никто из головы не рисуют (кроме своих перделок на которые набили руку). Без референса в 3Д очень трудно не обосраться. А уникальный референс - это эскизы от руки. Художники буквально сидят и рисуют десятки скетчей рукой, чтобы найти вдохновляющие.
>>1047794 > Как его использовать - непонятно... Читать документацию, смотреть примеры. Не быть движкосрачером. > В редакторе он тоже подгружает ноды чанков? Да, тулскрипт. > Лолшто?.. Лолто. Это 3D инструмент. Как ты себе представляешь работу с канвой, движкосрачя?
>>1047799 Френдли фаер, салага, я олд. Отношусь скептически к подобным аддонам, потому что их постоянно какие-то ньюфаги набижавшие с других движков пишут, потом пиарят на реддите, собирают 9000 лайков... пукают и обмякают, а больше никто их аддон не развивает. Без постоянной поддержки и багфиксов этот аддон резко обмякнет через 2 минорные версии движка (полгода).
И потом, что значит "большой 3д опенворлд"? Это на практике ничего конкретного не говорит, кроме как "отсутствие чёткого направления движения игрока". Сомневаюсь, что возможно сделать универсальное решение, подходящее любой форме опенворлда. И популярные движки типа юнити/анрила никакого опенворлда не предлагают, потому что каждый его самостоятельно должен делать, под свою игру.
Это как диалоговые системы в играх. Да-да, каждый новичок писал свой "движок визуальных новел", но универсальных решений не существует, а все эти бесконечные аддоны навязывают тебе лишние ограничения, от которых можно избавиться только велосипедя собственное решение. Поэтому Хуан не добавляет подобные фичи в движок - понимает, что бессмысленно пытаться сделать "всё для всего"...
Нет, я не говорю, что аддон плохой или нельзя юзать аддоны. Пользуйся на здоровье, если тебе подходит. Сомневаюсь просто, что это будет подходить сразу большому проценту так называемых "опенворлдов". Ньюфаги пусть юзают, а кто опытнее - сам сделает. Проблема в том, что ньюфаг опенворлд игру вряд ли разработает - слишком много контента и механик.
>Как ты себе представляешь работу с канвой Как ты представляешь моба, у которого ProgressBar расположен над головой, с рендером из SubViewport? Очевидно, что SubViewport и ProgressBar в потомках конкретного моба, а он - сюрприз-сюрприз, лежит в потомках этой чудо-ноды, которая ЗАПРЕЩАЕТ тебе использовать ProgressBar в потомках. Как минимум впечатление такое после чтения той строчки было. Понимаю, что потомки потомков вряд ли влияют.
>>1047803 > Очевидно, что SubViewport и ProgressBar в потомках конкретного моба Нет, не очевидно. Очевидно наоборот, что моб ничего не знает ни о каком UI. Камера регистрирует видимых ей мобов и посылает инфу о них сигналом куда-то в эфир, и она тоже ничего не знает об UI. Ну а UI ничего не знает ни о камере, ни о мобах, он просто подписан на ряд сигналов, и когда получает их, рисует прогрессбары, иконки и ярлычки в указанных местах экрана.
>>1047737 >А лоуполи по стилю мне нравится в других играх. А лоуполи разное бывает. Энивей, стоит определиться с выбором инструмента, на выбор например BlockBench или Blender. На мой взгляд не стоит выёбываться и стоит учить сразу блендер, т.к. в нём можно делать всё и больше. В любом члучае надо учиться моделировать, т.е. работаь в редакторе. Возьми ЛЮБОЙ курс на бледере последних версий, а к лоуполи перейдёшь потом. Касательно блендера, рекомнендую записывать хоткеи в файлик или в блокнот, поверь, пригодится.
Я, конечно, ньюфаг. Но понял из-за того что лоуполи слабо текстурированно - это сильно бросается в глаза, приходится прибегать к текстурам с градиентом. И тут ты уже начинаешь делать светлее вверху, темнее внизу и уже пытаешься сам рисовать свето-тень. В реале ты бы хотел сделать 3Д, дать свет, и рендер сам все объемы создаст (3д же), но с лоуполи выходит то, что от чего ты убежал в 2Д (искусственный объем через свет), ты к нему и вернулся. Поправьте если я не прав.
>>1047805 >моб ничего не знает ни о каком UI Знает, потому что это часть его сущности в игре. Как модель, текстура, оружие, броня, инвентарь и прочее.
>Ну а UI ничего не знает ни о камере, ни о мобах Если он о них не знает, как он будет отображать все необходимые данные в необходимых местах экрана? Очевидно, что он получает данные в определённом формате, от определённых источников. И если UI неожиданно изменится, отображение сломается. Следовательно, UI жёстко завязан на всех мобов - фактически принадлежит их общей сущности.
>>1047914 Если ты не шаришь в программировании, то пиши на gdscript. Он легче, на него туториалов больше нейронка с ним норм справляется. Без знаний и возможности что-то поковырять самому тебе нейронка не особо поможет, если ты делаешь чо-то сложнее три в ряд
>>1047938 А со знаниями "пиши на чем по кайфу родной, только в рамках дозволенного". Ну окей, шарп строже, безопаснее, быстрее, существует не только внутри движка, не всегда нужно.
>>1047933 Почему-то большинство игр мрачные, и даже те, что пытались в "мультяшность", выглядят серыми или тусклыми, в итоге лишь 3-4 проекта приглянулись... Только они ещё не вышли/не объявили дату выхода.
И зря они звук из игр заменили какой-то музыкой. Внутриигровые звуки в трейлере играют роль. А так получается, будто бы какой-то васян склеил ролики и навесил на них свой любимый трек ноунейм группы.
Можно ли "automatic LOD", настроить дистанцию переключения? Я накидал моделей, но даже не могу понять, работает LOD у меня или нет. А тут чёт идея возникла сделать специально усиленный "popping" - внезапное переключение LODов как в тру ААА играх. Кажется, это может быть интересным стилем игры.
Я знаю про свойства видимости MeshInstance3D. На автоматические лоды эти свойства никак не влияют.
>>1047683 >тот же самый if-else, только разных сложностей? Ты серьёзно не понимаешь или троллишь так? Учи паттерны программирования, если не понимаешь.
Да, теоретически, (почти) любую мыслимую задачу возможно решить одной командой процессора: https://en.wikipedia.org/wiki/One-instruction_set_computer Но что-то сложнее "hello world" так не сделаешь на практике, потому что банально замучаешься.
Паттерн программирования - это найденное успешно применяемое правило, которое упрощает разработку программы. Антипаттерны, наоборот, усложняют.
Для примера, использовать глобальные переменные повсеместно в коде - это антипаттерн, потому что чем больше ты используешь глобальные переменные, тем сложнее становится понять работу программы. Если использовать преимущественно локальные, тогда программа делится на участки, что легче понять.
Если твой NPC имеет всю логику в одной огромной функции, в которой десятки if-else на сотнях строк - разобраться в этой логике будет трудно, а значит, в будущем будет трудно найти и исправить ошибку, добавить новую фичу или поменять поведение.
Поэтому следует делить логику на части... Но как? Ты выбираешь какое-то правило деления, которому ты собираешься следовать, чтобы не запутаться. FSM предлагает разделить логику на "состояния", которые осуществляют "переходы" в зависимости от условий перехода. Utility System делит логику на "действия", выбираемые по их "полезности", которая сначала вычисляется по формулам. GOAP делит логику на "действия", но собирает из них цепочки исходя из заданных "требований" и "следствий" действия.
Есть ещё Behavior Tree - это как hierarchical FSM, но "состояния" меняются на "задачи", и переходы между задачами происходят по мере выполнения задач. Модульные и древовидные (очевидно), но все связи необходимо заранее указывать в структуре, т.е. их поведение такое же предсказуемое, как у FSM.
Есть фреймворки, где всё это реализовано, но если понимать базу, то написать самому с нуля не трудно.
>>1047685 >Как сделать в игре приятную картинку? >Цель не фотореализм, а добротная стилизация. >>1047699 >что-то ближе к хэндпеинт, мультяшности, аниме Качество подобной графики очень сильно зависит от качества текстур и мешей. Постпроцессингом тут не пофиксишь косяки текстур, к сожалению. У новичков частая проблема в слишком низкой контрастности рисунков: в них много средних оттенков и почти нет тёмных и светлых - в итоге всё смазывается в кашу.
Если хочешь более детальной помощи, тогда лучше показывай скриншоты своих моделей - в Blender до экспорта и в Godot в сборе на сцене, иначе только обобщённые советы будешь получать. Ещё лучше - показать сами текстуры как они есть, в png/jpg. Если боишься, тогда ищи текстуры интересных тебе игр и рассматривай их, сравнивая со своими текстурами.
>Какой нормальный пайплайн по импорту 1. Размешаешь glb как ноду в сцене. 2. Если нужно что-то изменить/добавить: 2.1. Смотришь, какие там пути до внутренних нод. 2.2. Меняешь всё что нужно в корневом скрипте: >get_node("model/armature/body").material_override... Можно его объявить @tool и использовать @export.
Опции "inherited scene" и "editable children" лично я не рекомендую использовать, т.к. они могут привести к утрате твоих настроек/данных после того, как ты модифицируешь модель в Blender и потом заново импортируешь её в Godot. Особенно если ты что-то переименуешь или переместишь в сцене. С заменой необходимого в своём скрипте такого не случится.
Но если моделька финальная, больше не будет никак изменяться, тогда без разницы, каким образом ты её используешь внутри Godot. Используй то, что удобнее.
>>1047711 >не просто, лол, не обманывайся Не отпугивай новичков от 3D, там не так уж сложно.
>>1047719 >будешь делать модельку 6 часов Суть в том, что ты это время потратишь один раз, а использовать модельку будешь много и часто. С 2D будешь перерисовывать один спрайт 9000 раз, а то получится повторяющаяся сетка/унылая статика.
>расспрашивать почему тут артефакты 1. Потому что нормали вывернуты наизнанку. 2. Потому что полигоны оторваны друг от друга. 3. Потому что потерял/испортил лупы квадов. 4. Потому что натыкал многоугольников. Видишь, всё очень просто.
Алсо, косяки в 3D не так заметны, как в 2D. В 2D ты чувствуешь, что где-то обосрался, но понять никак не получается. Технических ошибок нет - пиксели всегда пиксели, но выглядит всё равно как-то не так. А в 3D намного чаще технические (решённые) проблемы - достаточно загуглить и сразу получишь ответ.
>>1047761 >Никто из головы не рисуют Ты недооцениваешь мою мощь. >Без референса в 3Д очень трудно не обосраться. Только если ты пытаешься 1-в-1 ИРЛ вещь сделать.
>>1047810 >из-за того что лоуполи слабо текстурированно Зависит от стиля. >приходится прибегать к текстурам с градиентом Зависит от стиля.
Видел хорошие игры на лоуполи совсем без текстур. Текстуры с градиентом - это совсем не обязательно лоуполи, и не обязательно для симуляции объёма. А лоуполи могут быть полностью раскрашены и без градиентов... Всё зависит от поставленной цели.
Если цель - по-быстрому слепить 3D модели, то от текстурирования следует полностью отказаться. И рассматривать это как стиль игры. Но очень часто сплошная заливка требует больше полигонов для отображения важных мелких деталей, которые на классических лоуполи запекаются в текстуры. Т.е. современный "лоуполи-стиль" не всегда "лоуполи".
>>1047972 Ещё вместо текстур можно использовать vertex color - информация о цвете отдельной вершины меша. Это древнейшая техника, компактная и эффективная для создания градиентов, плавных переходов без текстур. Можно также использовать с текстурами для разных относительно экономных спецэффектов в шейдерах. Главное преимущество в том, что нет артефактов - конкретные цвета динамически вычисляются.
>>1047972 > С 2D будешь перерисовывать один спрайт 9000 раз Зачем? Что за бред. В любом случае даже покадрово анимировать спрайт будет куда быстрее модели. Единственный выигрыш это сложная анимация, если у тебя талант и лишняя неделя жизни.
Без градиента лоуполи будет выглядеть крайне стремно. А с градиентом вообще абсурд. Ты выбираешь 3Д чтобы отдать на откуп свето-тень машине и тут же сам дорисовываешь элемент свето-тени ибо совсем убого выходит.
>>1048150 >Хочешь с нуля без опыта за 1 день игру сделать?
блин вот ты щас написал. я понял, что основная моя проблема в том, что я хочу иметь уже полноценные игры, поработав пару дней. нечто большее чем сухой гейм луп, там с прогрессией и звуками и анимками и менюшкой. и речь не о формальном их наличии. спустя пару дней я ругаюсь мол а где игра и выгораю. потом возвращаюсь, и так снова. есть типа "доделанные" недоделанные игры, которые тоже не доведены хотя бы до итч уровня, чтобы в это кто-то еще мог заходить поиграть иногда. раньше я вообще был тем самым чуваком, который думал что программирование это 30-50-80% игры, на этапе демосцены - на то и выходит. но никто не будет играть в демосцену. кто-то мол скажет - делай для себя, но для себя я хочу того же, и так и так трудно не останавливаться, когда прогресс растет очень медленно. но каждый раз я зачем-то возвращаюсь к этим старым проектам с мыслями доделать, а потом понимаю, что даже после всех вложенных усилий это будет обычная игра. а уж чтобы необычную сделать... вот и не знаю, правильно ли вообще возвращаться к старым проектам и тужиться и часами рефлексировать в движке. или идти вперед, забивая на недоделки, вполне вроде бы и осозновая что ничего кроме как опыта доделывания данная очередная недоигра игра мне не даст.
>>1048163 > правильно ли вообще возвращаться к старым проектам Если делать по гайдам, по паттернам, по СОЛИДу, то смысл есть, потому что у тебя старый код (да и весь проект) будет организован не хуже нового.
>>1048163 Годотя, такой годотя. Когда выбираешь движок, ножно смотреть, не только на сам движрк, но и на его поддержку и комьюнити. В юнити невозможно застрять, потому что любой вопрос обсасывался многократно. Я сам бился головой в годоте, когда не мог решить то одну, то другую задачу, потому что изначально у меня проблемы внетуториального типа. Поэтому или меняй двиг или подгоняй свой проект под туториал и ни шагу в сторону. >>1048177 Нельзя делать по гайдам, заявляю как человек который годы промрал повторяя чужие туториалы, нужно делать по своему, а гайды нужно не повторять, а понимать и интегрировать в свой проект. Если ты что-то не понимаешь в коде то это заплатка, она будет работать, до поры до времени, но однажды ты напорешься на неё и будет больно. Не понимаешь что-то нахуй, удаляй из проекта или пиши по своему. Свой код, даже кривой намного лучше, чем гайдовый, потому что ты можешь его поддерживать и расширять.
>>1048163 Ну и база, нужно заиметь привычку работать над своим проектом и стараться получать удовольствие. Привычка работать это самое лучшее, что поможет завершить любой проект.
А игра за один день это тебе на твг, там такое можно, но и играть в такую игру никто не будет, кроме стримеров, да и то больше нескольктх минут,
>>1048163 >спустя пару дней я ругаюсь мол а где игра Тебе не хватает планирования, дробления задач.
Пока что невозможно сделать игру сложнее условной "флаппи бёрд" за пару дней, но очень даже возможно сделать многие задачи, приближающие тебя к твоей желаемой игре. И эти задачи нужно отмечать явно: планировать, что ты должен сделать, отмечать уже выполненное, мониторить прогресс к своей цели.
Чтоб задачи были простыми, нужна декомпозиция: 1. Хочется игру. Из чего эта игра состоит? - игровой персонаж - игровой мир/локации - неигровые персонажи - взаимодействия между ними 2. Хочется игрового персонажа. Из чего он состоит? - визуальная часть - физика движений - контроллер движений - используемые предметы - взаимодействия с миром и персонажами 3. Хочется визуальную часть персонажа... - дизайн персонажа (кто это? что делает? зачем?) - базовая модель (меш + скелет, 3D или даже 2D) - базовые анимации (ходьба, бег, прыжки...) - декорации (одежда, причёска, текстуры...) - многое другое, зависящее от игры 4. Хочется базовую модель персонажа (человек)... - меш: смотрим туториалы "как сделать человечка" - риг: смотрим туториалы "как заригать человечка" 5. Хочется сделать меш... - туловище - голова - конечности И т.д.
Вот сделай декомпозицию своей игры и потеряешь мотивацию, ничего не делая сможешь каждый день выполнять несколько маленьких задачи из списка, ощущая заметный прогресс на пути к своей игре.
>>1048177 >старый код будет организован не хуже нового Увы, так бывает только в идеальном мире, где все программисты рождаются опытными гениями и не развиваются со временем. В реальности ты всегда развиваешься и будешь недоволен своим кодом, независимо от того, насколько строго следовал всем рекомендациям старых мастеров этого дела.
Но это не плохо. На самом деле, лучше всего будет отрефакторить старый код, чтобы он стал лучше, но выполнял старую задачу, чем писать новый код, ибо написанный снова код всё равно придётся когда-то рефакторить, а в начале он вообще не работает.
>>1048181 >но и на его поддержку и комьюнити. >В юнити невозможно застрять У Godot хорошее сообщество, а у юнити кабанчики выжимают все соки из наивных детей, продавая им сомнительного качества ассеты за 100$ и больше. Разработчики на Godot делают игры по фану, как это делалось людьми с самого начала геймдева в 80-х, а разработчики на юнити выжимают все соки из зомбированных мобильных/консольных игроков.
Но, не будем сраться. Каждый движок имеет свои преимущества, и если твоя задача - выжимать соки из покупателей твоей игры/микротранзакций, тогда, очевидно, юнити - твой выбор, а Godot оставь нам.
>у меня проблемы внетуториального типа >подгоняй свой проект под туториал Лол, литералли скилл иссуе. Ниасилил в реальное программирование и теперь отговариваешь от него новичков? Представляю себе, какие у тебя игры... Разработка игр требует решения задач, а не тупого повторения уже сделанного другими людьми. Если, конечно, мы говорим об играх, а не об ассетфлипах.
>Нельзя делать по гайдам >повторяя чужие туториалы Гайды и туториалы - это разные вещи вообще-то... Guide = руководство, инструкция по применению. Tutorial = учебник, урок, обучающий материал.
>Если ты что-то не понимаешь в коде >удаляй из проекта или пиши по своему С таким подходом нужно писать свой собственный игровой движок с нуля... А, нет, стоп, нужно писать собственный компилятор... Нет, свой личный язык программирования сначала... А, погоди, лучше всего начинать с разработки микропроцессора... Или лучше попробовать сначала спаять материнскую плату, хм?..
>Свой код... намного лучше, чем гайдовый, потому что ты можешь его поддерживать и расширять. Если ты не можешь понять сравнительно простые туториалы, то "свой код" ты никогда не напишешь... Впрочем, нет, бывают люди типа YandereDev - он там громадную кучу лапши наговнокодил; потом смешно психовал, когда ему эту лапшу раскритиковали, даже попытались разобрать и улучшить. Классика шизов, изобретающих "свой код" без понимания "гайдов".
>>1048182 >заиметь привычку работать над своим проектом Привычка сама выработается, если работать. >стараться получать удовольствие От таких советов рождаются мертворождённые игры, которые делаются "по привычке", лишь бы работать. Возможно, разраб реально получает удовольствие... Только кроме него от его игры никто не получает это удовольствие, потому что игра - клубок говнокода и упоротого арта... Впрочем, так у большинства инди...
>>1048177 >>1048181 не знаю, зачем вы мне про солиды и движки рассказываете. как уже писал, я прошел этот этап. вообще не в этом проблема. >>1048213 планирование это хорошо, правда после этого ощущаешь себя на работе. с огромным списком дел. когда делаешь демосцену, то это r&d и креатив. а вот все дальнейшее - это рутина, которая убивает. понимаю, что у многих так. но от этого не легче. грустно что единственный походу выход это приучить себя к рутине. ну или довольствоваться механиками на кубах и квадратах.
>>1048246 >после этого ощущаешь себя на работе А ты как хотел? Любое творчество - это работа.
Разница между "хобби" и "работой" в том, что работу делаешь ради зарплаты, а хобби занимаешься ради удовольствия от самого процесса работы с чем-то. Разработка игр как хобби не становится легче в плане работы только из-за того, что это "хобби"...
>приучить себя к рутине Как ты относишься к гринду в играх? Когда игра тебя заставляет 1000000 раз пройти статичный, никак не меняющийся данж, чтоб получить в итоге какой-то "особенный" шмот на +1% к урону? Некоторые игроки обожают, и гриндят в играх часами после работы ирл.
Вот относись к рутине в разработке твоей игры как к игровому гринду. Только вместо похода в данж ты открываешь редактор и "убиваешь" мелкие задачки, приближая себя к "шмотке" на +1% к прогрессу игры. Открываешь любимый плейлист и гриндишь в кайф.
Если ненавидишь гринд как механику - соболезную...
>>1048248 >запускать консольные программы >вообще 0 реакции >/k не помогает Ты окошко консоли на экране хочешь увидеть? >On Windows, if open_console is true and the process is a console app, a new terminal window is opened. open_console - это аргумент create_process/execute, по умолчанию он установлен в false и можно выполнить команду без него, но тогда окошко не отображается.
...впрочем, нет, уже не уверен, что это из-за модели. Раньше просто не попадалось настолько сильное "прилипание к потолку" как сейчас - разве только в достаточно узких местах застревала. Я изменил ей положение рук в прыжке с верёвкой, что изменило положение вспомогательного CollisionShape3D, что предотвращает (по идее) рейкаст внутри/изнутри препятствий. Но это не должно было как-то сильно повлиять на физику... Так ведь?.. Наверное, ошибка в контроллере, который... считает потолок полом?..
А ещё я снова попробовал кости-пружины и рэгдолл. Разочаровался от сложности настройки. Решил, что обойдусь пока без них: всё при желании можно через классические анимации сделать, что, в теории, будет производительнее, и точно не будет разлетаться от косяков симуляции физики или особых случаев. Мне хочется быстрое движение - из-за симуляции физики придётся замедлять и ограничивать геймплей...
Я думаю, лучше "твёрдые как камень сиськи", чем "оттягивающиеся на метр назад сквозь туловище". Аналогично с рэгдоллом: лучше тысячи раз видеть гарантированную анимацию, чем когда персонаж перекручивается, словно это какая-то тряпка. Да, теоретически, всё можно настроить... Но мне лень.
>>1047503 >Аллоды Поискал. Нет, у меня другой сеттинг. И геймплей. По сеттингу я планирую нечто более естественное, типа натурально образовавшаяся газовая планета в виде гигантского бублика, в которую попали космические корабли и зонды разных цивилизаций. Геймплейно выживалка, но скорее всего без голода, потому что достаточно постоянной деградации островов - они автоматически самоуничтожаются, даже если игрок бездельничает и ничего руками не трогает. Новые постоянно всплывают из-под облаков, тоже сами.
>>1047550 >рассказать нам некоторую историю >>1047565 >что ты хочешь показать игроку? Без понятия... В целом не люблю сюжетные игры и навязывание каких-то идей игроку. Вы видели Aloft? Навязывают какую-то фигню про восстановление экосистемы островов, хотя на практике игрок тупо геноцидит целую расу разумных грибов ради тупых животных, которые без поддержки всё равно умрут. Геймплей от этого сильно страдает, потому что игра заставляет каждый остров вот так вот "спасать". В реальности эти острова либо сдохнут даже с такой поддержкой, либо им поддержка игрока не нужна - биосфера как таковая стабильнее человечества...
Помню, как меня мотивировала фантазия о том, как придётся трястись на разваливающемся дирижабле, заделывая дыры, ставя модификации в полёте, едва успевая добраться до следующего острова, где ты не можешь задерживаться надолго, потому что острова регулярно разрушаются/погружаются обратно вниз. Выживалка, в которой выживать должен транспорт, поскольку игрок респавнится. В этом нет никакого подтекста, истории и прочего. Лишь эмоции.
На практике... Для начала, пришлось отказаться от хаотичного строительства, потому что оно слишком усложняет всё остальное; отсюда кубическая сетка. Налаживать работу двигателей и управлять такой конструкцией и без того сложно. А самая большая возникшая проблема - игрок легко слетает с палубы, верёвка почему-то дестабилизируется, вернуться на корабль становится мучением. Двигаться по палубе возможно, но слишком большой риск тупо улететь. Разочаровывает очень сильно... Знаю один способ возможного решения - делать статичную копию и копировать туда все движения - но это сложно. Мне требуется как-то симулировать движение в рамках движущейся платформы - очень быстро, рывками, учитывая вращение, тряску и сложную геометрию...
Так что я сфокусировался на "интересных островах", которые, по задумке, должны были быть хрупким источником ресурсов (и местом для использования верёвки, чтобы, опять же, быстрее собрать ресурсы). Получается, это своего рода прокрастинация. Просто откладываю другую сложную задачу оправданиями.
>>1047551 >Правило только одно: делаешь как тебе нравится Опять же, есть вещи, которые нельзя разделить на "нравится" и "не нравится", но которые нужны. Мне, обычно, не нравится, когда заставляют бежать по громадному "пустому" пространству - хочу сделать основной упор на вертикальные острова, где нужно использовать верёвку для перемещения - в целом интереснее двигаться с ней даже на "пустой" карте, слепленной из случайного набора кубов или сфер.
Конкретных предпочтений по форме у меня нет. Но необходимо придумать очень много форм, чтобы не выглядели слишком часто повторяющимися. Я уже пробовал генерировать их шумом - выходит фигня. Получается, что я должен сделать что-то, к чему я безразличен по большому счёту, но мне это нужно в большом количестве, иначе будет однообразным. В принципе, думаю сделать всё те же горизонтальные острова, лишь бы разбавить однообразие форм. Но реализовать супер-быстрое движение, чтобы эти горизонтальные плоскости не замедляли игрока.
Но, повторюсь, это всё прокрастинация. Типа, да, разумеется, острова нужны, но без стабильного перемещения по палубе игра просто не клеится, а стабилизировать перемещение как-то сложно, и я бессознательно переключаюсь на что-то попроще.
Весной меня эти проблемы загнали в депрессию, в очередной раз забрасывал этот проект из-за них. В результате вернулся из-за того, что заняться нечем; остальные мои хотелки ещё дальше, чем эта игра...
>>1048262 >А самая большая возникшая проблема - игрок легко слетает с палубы Не курю особо за физические расчеты, но как на счет изменить механику? Типа игрок перед полетом выбирает следующий остров >> корабль летит туда на автопелоте по около-рандомной траектории >> в процессе корабль ломается + на него нападают. И сделать корабль по сути движущейся платформой. Не будет прямого управления, да, но можно будет акцентировать геймплей на другом. Ну и мб прям в полете задавать новую траекторию. Как плюс - не ебаться с физикой управления корабля
>>1048262 >СЛОМАЛАСЬ ФИЗИКА Дико извиняюсь, но... Это была моя кривая "вода".
Делал её с помощью Area3D, которая определяет физические объекты и придаёт им силу вверх. Но я поленился делать анимации плавания и уже давно забросил эту сцену с водой. А когда неделю назад набрасывал новые острова, закинул туда эту воду, не изменив глубину Area3D, так что она тянет вверх несмотря на то, что воды не видно. В результате я позабыл о ней и не понял, почему персонажа так присасывает к потолку. Нужно переделать воду...
И я это обнаружил только после того, как перебрал коллизии персонажа и пересмотрел контроллер. А я боялся когда-то, что буду знать всю игру наизусть и заскучаю из-за того, что ничего нового не нахожу...
>>1048265 >сделать корабль движущейся платформой Так она в любом случае будет движущейся. Или предлагаешь весь мир вокруг неё двигать? Давно в тестовой сцене накидал AnimatableBody3D (если правильно помню), и с них я тоже слетаю.
Дело вообще не в автопилоте. Когда игрок сидит за штурвалом, он жёстко связан с кораблём, вся его физическая модель отключена и сдвинуть его невозможно. Если отойти от штурвала, корабль-то продолжит движение на "автопилоте", но у игрока включается физическая модель, и, как только у неё теряется контакт с полом, она начинает "слетать". Понимаю, что, по идее, так и должно быть, но это неиграбельно, когда корабль улетает на 30+ м/с и продолжает ускоряться, а верёвка растягивается...
>>1048272 Это всё из-за невозможности сделать полную физическую симуляцию на современных устройствах. Это проблема именно вычислительная и существует во всех движках. Тебе нужен трюк с триггерами и зонами, чтобы симулировать реальное физическое сложение скоростей. ЕМНИП в Годоте где-то была подобная функция, касательно платформ, нужно тщательнее гуглить, я не нашёл. Если пилить велосипед, ты должен накинуть на движущуюся платформу зону (Area) в которой будет переопределяться гравитация и таким образом вне зависимости от движения зоны (как чайлда платформы) все тела внутри будут двигаться в её (зоны) локальном пространстве. Затем, на выходе из зоны мы передаём вышедшему телу соответствующий импульс, чтобы симулировать его полную скорость. Если тело хватается за платформу крюком кошкой, то у нас выстраивается цепь знающих друг о друге сущностей, через которую (цепь) можно гонять данные о синхронизации скоростей.
>>1048286 Речь именно про этот эффект: В реальном мире, находясь на движущейся платформе, тело обладает суммарной скоростью своей и платформы. На уроках физики это красиво описывают как "мы по сути летим верхом на Земле вокруг центра галактики с опизденительной скоростью". Если тело спрыгивает с платформы, оно продолжает двигаться с этой же скоростью, прямолинейно и равномерно, однако в условиях трения об воздух (а затем об асфальт, если мы спрыгнули с движущегося поезда) скорость туловища замедляется до его собственной скорости.
Именно это пока что не позволяют симулировать современные компы (расчёт полных скоростей всех тел со всеми взаимосвязями с учётом трения, тяготения и всего остального) и разрабам приходится прибегать к трюкам и фокусам.
Воодушевившись вскукареками, что ии пишет игоры и программисты не нужны ( я сам программист, правда на джаве корпаративной) вернулся к пердоллингу игор на годоте. Ну теперь то думаю запилю до конца, потом ещё и ещё и буду лутать пассивный доход с русторов и яндекс игорь и может даже в итоге запилю чтото стоящее. Хуй там плавал, это идиотская блядогенератина на голубом глазу мне доказывала, что в годот есть метод апдейт, хотя его там давно заменили, ладно бы он не знал, но потом он согласился и сказал типо да, вы правы хуемое. И это только единственный пример, чтоб запилить более менее прототип первого уровня голволомки простейшей потреболвалось по сути всю его хуету перепроверять и перепиливать. Благо хоть спрайтов нормально нагинерячил, для меня с 0 скиллом рисования норма. Ну нормальный такой напарник наебщик, типичный джун зумер, который учился программить по тиктотку.
>>1048294 Известная проблема - нейронки путаются между 3 и 4 версиями Годота. Та же беда и с другими АПИ, сменившими мажорную версию за прошлые года два-три. Усугубляется ещё и тем, что новые модели обучают при помощи старых.
>>1048294 А я дипсиком пользуюсь, и он за меня написал инвентарь как сайлент хилле ну почти за меня. Вообще нет претензий нейросетям, вплане кода он регулярно мне помогает
Как в редакторе отображать модель, которая подключена внутри ресурса? Типа есть вот у меня world (сцена уровня), в ней есть сцена enemy (враг), врагу мы подключаем ресурс с параметрами врага, внутри ресурса яйцо, в яйце игла переменная packedscene с моделью врага.
>>1048336 Короче говоря, будущее за теми, кто умеет промтить нейронкам, но и умеет минимально кодить, чтобы не тратить время на диалоги, а поправлять мелочи самостоятельно. Мелочи уровня - нейронка нахуярила метод update вместо _ready, метод польностью рабочий, но не вызывается по очевидным причинам. Проще одно слово заменить, чем полчаса спорить с нейронкой.
>>1048341 >будущее В ближайшем будущем появится тру ИИ как в старой фантастике: разумный, как человек, но на порядки эффективнее; не спит, не ест, ничем посторонним не увлекается, работу любит и видит в ней свой смысл. Органические люди окончательно потеряют работу, поскольку никому не хочется принимать убыточную, корявую поделку от мясного мешка, когда личный помощник за одну ночь сделает в сто раз лучше...
>>1048294 >доказывала, что в годот есть метод апдейт, хотя его там давно заменили, ладно бы он не знал, но потом он согласился и сказал типо да, вы правы Столкнулись два упрямых дурака лбами...
>>1048339 >переменная packedscene с моделью врага Зачем тебе это нужно? Ты планируешь эту модель несколько раз спавнить из этого ресурса? Если нет, расположи эту сцену в потомках enemy, вот так: >world # файл world.tscn >_ enemy # из файла enemy.tscn >_ _ model # из файла model.tscn PackedScene имеет смысл для спавнера мобов, или задержки спавна мобов далеко от спавна игрока. На скорость загрузки сцены мира PackedScene в export повлияет так же, как и обычный load("res://") в коде.
>>1048341 >нейронка нахуярила метод update вместо _ready Если бы галлюцинации этим ограничивались. Хотя апдейт и реди чето рядом даже не валялись по смыслу, в тройке был апдейт вместо реди и процессов? Вполне обычное дело, когда нейронка не путает старую версию с новой, а просто выдумывает. Типы и методы, которых нет и не было даже в 3 версии, чистые галюны, если указывать ей в таких случаях что этого не существует начнет выдумывать еще больше на замену. Синтаксис путает, возможно смешивает гдскрипт с шарпом, даже контекст может начать терять (мне только сегодня гпт при вопросе о партиклах зачем-то высрала полотно про аудиобас, я вообще не понял как могло такое произойти, мы об этом даже не говорили никогда. И ответ был в целом лишен смысла, истинная генеративность набора рандомных слов из словаря). И все равно это исключительно редко, пользы во много раз больше. Ну и как вариант может хуево справляться именно с годотом, с го, питоном и даже башем например ниразу подобных обсеров мне не выдавалось.
>>1048336 >инвентарь как сайлент хилле Там же тупа обычный массив и визуальные слоты под них. Такое можно и самому туториалом сделать за такое же время. Пусть тебе дипотсосик попробует написать сложный инвентарь с разными подменю, с сеткой и размерами предметов. Стаки предметов, перемещение, сортировка, обмен, подбор, дроп и т.п. А потом проинтегрирует это со всем остальным в проекте. И чтобы вся эта хуйня работала без багов и не крашила игру через пару часов прохождения. да, да, раньше нейронка и этого не могла, еще пару лет и разработчикам пиздец
>>1048350 >написать сложный инвентарь... Эт всё фигня на массивах решаемая. Дольше будешь сражаться с сортировкой Control-нод, чтобы они тебе правильно клики перехватывали/не перехватывали.
Т.е. нейронка тебе нагенерирует скрипты, а самое в инвентаре сложное - настройку нод - не сможет, ибо тренировать нужно на содержимом tscn, который чрезвычайно чувствителен к любым ошибкам.
Или надеяться на "агента", который мышкой тыкать обучен, только это даже звучит небезопасно, если пользоваться... да даже оффлайн версией. Просто отвернёшься от экрана и этот агент уже сливает сверхценную папку "work" куда-то в интернет...
>>1048352 >Эт всё фигня на массивах решаемая Да хер там плавал. В некоторых на первый взгляд простых вещах скрывается йоба-математика/физика. Я, когда делал гексагональную стратежку, курил вот такие туториалы https://www.redblobgames.com/grids/hexagons/?utm_source=chatgpt.com И такое бы я нейронке недоверил. Она нахуевертит, поломает. Потом ты еще нить "разработки" потеряешь и хуй что исправишь
>>1048358 Чел, это ссылку гопота просто дал (и себя сурсом пометил), т.к. мне некогда было самому искать тот самый гайд (от 2013 года). На, если такой предирчивый - то же самое https://www.redblobgames.com/grids/hexagons/
>>1048359 Видел про это рассказывал какой-то чел с ютуба англоговорящий, чьи видюшки часто в рекомендациях вылезают. Помоему он показывал именно эту статью. И игра у него на которой он все показывает как раз об этом, хексагод или чето такое.
>>1048357 Во-первых, нужно сначала определиться, зачем тебе потребовался такой сложный инвентарь. Ты делаешь симулятор копания в рюкзаке? Я вот не понимаю, что хорошего в таких сложных инвентарях, что они игре добавляют? Только затрудняют взаимодействие. И получается, что игрок либо проводит 99% времени, сортируя мусор в инвентаре, либо инвентарь тупо переполняется, либо в нём трудно что-либо найти.
Далее, если ты ДЕЙСТВИТЕЛЬНО нуждаешься в нём, разрабатывай инвентарь, начиная с данных, а не GUI. Сначала определяешь, что шмотка может занимать, например, произвольные клетки в массиве - очень пригодится Dictionary[Vector2i, int]. Нужно 3 метода: >func can_fit(at: Vector2i, item: Dictionary[...]) -> bool: >func place(at: Vector2i, item: Dictionary[...]) -> void: >func remove(at: Vector2i, item: Dictionary[...]) -> void: Что делает каждый метод? Просто сравнивает ключи словаря инвентаря с ключами заданной шмотки. Для проверки размещения клетки инветаря должны быть пустыми (если не разрешена замена). Размещение осуществляется вставкой ID шмотки в клетки. Ну и удаление, соответственно, очисткой клеток (если предоставленный шаблон точно совпадает).
Т.е. технически этот инвентарь делается просто. Но геймплейно это плевок в лицо игроку, который будет проводить 99% времени в 2D GUI вместо 3D игры...
>гексагональную Там тоже ничего особо сложного. В статье больше теоретические размышления о возможностях, а на практике ты просто смещаешь строчку массива на половину одной клетки и всё. Да и потом, как и с инвентарём, возникает вопрос - а нужно ли делать гексагоны? Да, расстояние по ним "честнее", но человечество столько веков играло в шахматы и нормально было, ничего менять не приходилось. Гексагональная карта не делает твою игру лучше конкурентов с квадратной картой, если у тебя там значительно меньше контента (юнитов, механик).
Хватит искать сложные алгоритмы ради алгоритмов, сложные механики ради механик и т.д. Игра должна доставлять удовольствие игроку, а не нервотрёпку с прицеливанием мышкой в какие-то клетки...
>>1048364 >Я вот не понимаю, что хорошего в таких сложных инвентарях, что они игре добавляют? Только затрудняют взаимодействие Ты не прав. Такой инвентарь нужен для: 1) Смены атмосферы/геймплея/ настроения, чтобы игрок, например, в survival horror, занялся небольшой рутиной, передохнул, сбросил напряжение 2) Дополнительной механики менеджмента, где нужно рассчитывать припасы, чтобы тебе их хватило на игровой отрезок, что углубляет и усложняет геймплей.
>разрабатывай инвентарь, начиная с данных, а не GUI Нет, макеты(тестовые) инвентаря даже на самых ранних этапах нужны, чтобы отлаживать работу. Плюс, механика инвентаря очень тесно связана с тем, что игрок будет видеть, щупать, чувствовать и т.п. Поэтому все шаблоны, заготовки под макеты, механика - все должно быть прописано до того, как будет написана первая строчка кода инвентаря. Иначе будет постоянно переписываться
>Но геймплейно это плевок в лицо игроку, который будет проводить 99% времени в 2D GUI вместо 3D игры... Неосилятор, ты?
>на практике ты просто смещаешь строчку массива на половину одной клетки и всё Это троллинг тупостью? Обычное использование offset с трудом ложиться на часть задач, для которых лучше использовать кубические/аксиальные координаты + там под капотом кубические алгоритмы
>человечество столько веков играло в шахматы и нормально было, ничего менять не приходилось Ну и что ты забыл тогда в этом разделе? Иди в шахматы поиграй
>Хватит искать сложные алгоритмы ради алгоритмов, сложные механики ради механик и т.д. Если бы всем игрокам нравились только спинномозговые игры, то и сложных механик бы не было. Дальше сам думай
>>1048379 >Смены атмосферы/геймплея/настроения Через... упоротое 2D меню в стиле Microsoft Excel?
>рассчитывать припасы, чтобы тебе их хватило Игра могла бы достичь этого без 2D гуя. Если хочешь ограничить патроны, добавь анимацию перезарядки, вместо перетаскивания иконок патронов мышкой. Складывание предметов как в Тетрисе - маразм, а не реализм. Особенно когда вещи даже не совпадают с реальной формой, но геймдиз решил нарисовать в инвентаре вот так (почему пистолет "2x2", а не "г"?).
>чтобы отлаживать работу Такой инвентарь отлаживается автотестами. >будет видеть, щупать, чувствовать и т.п. То-то смотрю большинство таких инвентарей полны непонятных багов, из-за которых предмет либо не вставляется, либо ломается, либо вообще дюпается. Видимо, тестировали только гуи морду "щупаньем"... >Неосилятор ...и скидывают всю ответственность на игрока.
>с трудом ложиться на часть задач Ну, вот ты сначала найди эти задачи, которые тебе жизненно необходимы для геймплея игры, которая сводится, по сути, к шахматам "на нескучной сетке".
>Ну и что ты забыл тогда в этом разделе? Пытаюсь сделать интересную игру, а не симулятор перетаскивания мелких иконок в Эксель-табличке.
>только спинномозговые игры При чём тут они? Механики бывают сложными без интерфейса, которому приходится учить новичков видеотуториалами "перезарядка пистолета за 10 простых кликов в нашей крутой эксель табличке".
>>1048277>>1048286>>1048287 Ты чёт перемудрил. Ничего сложного в самой этой "подробной симуляции" нет для процессора, просто большинство игр в таких деталях не нуждаются. Вот сколько игр без подсказок можете назвать, где герой находится на движущемся RigidBody3D и не падает? Остальным играм такая симуляция просто не нужна.
>>1048440 Просто существует категория людей, которым нравится такой инвентарь и все тут. Вы оба так спорите, будто есть какой-то один идеальный инвентарь. Кого-то будет бесить, что нужно играть в тетрис предметами, кого-то, что лист бумаги занимает один слот и тяжёлый доспех тоже занимает один слот, кто-то будет искать реализм и доебываться, что весь мечей в инвентаре нереалистичный. Прежде всего нужно думать не о инвентаре, а о аудитории, которая будет этим инвентарём пользоваться. и так со всем, начиная квест маркерами, заканчивая степенью комплексности боевки.
я вообще бесконечный инвентарь из готики 2 предпочитаю
>>1048520 Ты с каждым разом пытаешься сделать тянку всё кринжовее, но она становится только горячее. Ебал бы и ебал не вставая, пока в реанимацию не увезли.
Хочу пилить 3д хорроры в духе старых Сайлент хиллов, резиков, с соответствующим графоном. Начал изучать анрил, но устал от его тяжеловесности, плюс кодить в нем на плюсах это анальная пляска с хот релоадом, постоянными крашами редактора, долгой компиляцией. Посмотрел в сторону годота, сразу зацепила легковесность, кажется что для моих целей он подходит лучше, но есть несколько опасений. 1) Я хорошо знаю плюсы/шарп, и у меня аллергия на все питоноподобное, насколько хорошая и полноценная поддержка шарпа в годоте? Слышал мнение, что first class там только гдскрипт, а шарп прикручен чисто для галочки сбоку, и не особо качественно, поэтому лучше скипать и сразу учить гдскрипт. Но у меня прямо аллергия на эти питоновские отступы, ничего не могу с собой поделать 2) что там с 3д физоном сейчас? Слышал что есть проблемки, джиттеры, проваливающиеся коллайдеры, сталкивался ли кто с этим, или все норм 3) скелетные анимации, насколько хорошо сделаны, есть ли продвинутые фичи? В анриле меня подкупал контрол риг, ик солверы из коробки. Несмотря на всратый psx графон, я бы хотел уделить много внимания процедурным анимациям, типа динамические реакции зомби на выстрелы, подмешивание физики для тряски конечностей, инверсная кинематика для волочения сломанных ног, и так далее. Можно ли работать с этим в годоте, погружался ли кто-нибудь? Из того, что я успел увидеть, там есть база типа стейт машин, бленд спейсов, а вот что насчет фич для динамических анимаций? Можно ли работать с этим из кода? 4) как обстоят дела с процедурной генерацией? Можно ли в рантайме собрать данж из заранее подготовленных чанков, построить навмеш для них? Ну и в целом, нужно ваше одобрение на переход с анрила на годот, подкиньте еще плюсов в копилку чтобы я не сомневался. А может кто-то прошел такой же пусть от анрила к годоту и есть чем поделиться
>>1048548 >Но у меня прямо аллергия на эти питоновские отступы, ничего не могу с собой поделать Лечи голову >проваливающиеся коллайдеры Да, есть. Сталкивался. Фиксится легко, если знаешь, с чем имеешь дело >Несмотря на всратый psx графон, я бы хотел уделить много внимания процедурным анимациям Далеко смотришь. Сначала собери прототип с кубами > Можно ли в рантайме собрать данж из заранее подготовленных чанков, построить навмеш для них? Можно в it, все можно, если нужно >подкиньте еще плюсов в копилку чтобы я не сомневался Быстрый старт, легкость в освоении, куча сторонних модулей, в т.ч. на шарпе, тонны туториалов
>>1048548 печатал я печатала а потом думаю, а не охуел ли ты часом, бери и переходи, по ходу всё поймёшь, из плюсов движок открытый весит хуйню имеет биндинги под любой язык не требует продавать жопу тиму свини и качать десятки гигабайт обновлений и свою блевотину лучше спрячь, гдскрипт стоит освоить для понимая работы внутрянки
>>1048548 >у меня аллергия на все питоноподобное У меня тоже была, но GDScript мне её вылечил.
>шарп прикручен чисто для галочки сбоку Дело вовсе не в том, как прикручен C#, Rust и любой другой язык. Дело в том, насколько удобен GDScript, даже в сравнении с другими скриптовыми языками. Твой C# никогда не сравнится с удобством GDScript.
>аллергия на эти питоновские отступы На самом деле они НЕВЕРОЯТНО удобны в IDE и даже обыкновенном "Блокноте", если давно привык писать каждую команду на отдельной строчке с отступами. Единственный недостаток отступов в том, что код невозможно скопипастить с некоторых форумов, автоматически удаляющих пробелы (как здесь).
Суть в том, что отступы на ЛЮБОМ языке несут в себе определённый смысл: они разделяют блоки кода. Т.е. классические программные скобки ("begin..end", "{...}") необходимы, на самом деле, не программисту, а лишь компилятору языка. Программист же (мозг) смотрит исключительно на отступы, которые он сам делает. Программные скобки дают возможность автоматом форматировать код отступами, но если ты привык расставлять отступы сам, то автоформат не нужен.
Возникает вопрос: если тебе, программисту, НУЖНЫ отступы, то почему нельзя сделать их значимыми, избавившись от лишних программных скобок? Ведь компилятору без разницы, скобки там или отступы - главное, отличить разные блоки кода друг от друга. Питоноподобные языки так и сделали - отказались от лишних скобок, потому что нужны лишь отступы.
Повторюсь: единственный недостаток - это если ты копипастишь код откуда-то из интернета или другого участка кода и у тебя теряются/сбиваются отступы... Однако, копирование кода - это признак говнокода, поэтому, если замечаешь себя за этим, старайся исправиться в лучшую сторону. Развивайся.
>что там с 3д физоном сейчас? Для "3D ретро-хоррора" тебя этот вопрос не должен волновать. Но сейчас в движок встроили Jolt - он производительнее и стабильнее "Godot Physics". Переключается легко, в настройках проекта. Также существуют другие движки, что можно подключить.
>скелетные анимации, насколько хорошо сделаны Нормально... Я не спец, но как по мне - нормально.
Есть IK-солвер - вроде работает, но он до сих пор помеченным "deprecated" остаётся. Есть spring bone - работает, но настраивать много костей за раз тяжко. Регдолл тоже есть, но его вообще тяжело настроить. Активный регдолл делается вручную как-то, но есть примеры на Reddit как кому-то удалось сделать. Всю систему анимации в 3D недавно переделывали, т.е. значительно улучшили, но ещё не совсем.
Ах, да, ретаргетинг анимаций тоже есть, в какой-то специальной менюшке настраивается, но я в этом не разбираюсь и не понимаю, зачем он вообще нужен...
Единственный нюанс - текущая система не потянет огромную толпу (150+) анимированных монстров - например, толпа зомби. Потому что для этого нужны специфические оптимизации типа анимации через особенные шейдеры. Текущая система - на CPU, и, соответственно, будет упираться в скорость ядра. Классически оптимизировать тоже можно - просто использовать сниженную частоту кадров вдалеке, подменять сложные меши мелкими LODами и т.д.
>как обстоят дела с процедурной генерацией? Это зависит от тебя. Что есть из коробки: - генерация 1D/2D/3D шумов/текстур шума; - создание 3D мешей из кода разными путями; - CSG, т.е. булевы операции над 3D моделями; - шейдеры, разумеется, но особенно "compute"; - многое доступно для генерации в рантайме. Как это всё использовать - зависит от тебя.
>подкиньте еще плюсов в копилку Комьюнити пока что не озабочено сверхприбылью - сфокусированно на разработке игр как творческом самовыражении, а не способе рубить бабло с лохов. Присутствует дух велосипедистов старых времён, с относительно современными инструментами. Т.е. комьюнити делает игры, а не ассеты флипает...
И в целом движок более стабилен за счёт своей опенсурсности: если даже ключевым разработчикам внезапно взбредёт в голову что-то сломать, появятся недовольные и сделают свой форк. Проприетарные инструменты такой возможности не дают: ты либо согласен с политикой владельца, либо берёшь свои ассетики и сваливаешь к конкуренту. Вот только твои ассетики могут иметь лицензию, привязанную к тому инструменту, лол, даже ассеты тебе не принадлежат. Опенсурс (истинный) позволяет этого избежать.
>>1048546 >пытаешься сделать тянку всё кринжовее Перечисли по пунктам, что в ней "кринжовое"? Это плейсхолдер по большей части - я всё поменяю, но некоторые элементы будут примерно как сейчас. Интересно, вдруг ты считаешь кринжем то, что я не собираюсь никак менять? Или наоборот, тебе что-то понравилось, что я временно добавил для теста и в будущем собираюсь полностью заменить...
Вообще, я рассчитывал сделать полную настройку персонажа игроком, но это будет сложно сделать в желаемом виде... Как-то совсем не хочется делать ограниченно, как в абсолютном большинстве игр... Понимаю теперь, почему они такие ограниченные. Сверхгиганты индустрии не смогли, а я тем более.
>>1048581 >Т.е. классические программные скобки ("begin..end", "{...}") В нормальных языках ты хоть в строчку закопипастил код, ты можешь нажать форматировать - и тебе все норм расставиться, с питоноговном так не выйдет, даже если кажется что скопировал с пробелами, все равно пройдет какой-то скрытый трудно уловимый баг. Ну и сама тупость что вы так и так ставите двоеточие для разрыва, что стоило ставить просто {}
>>1048581 > Однако, копирование кода - это признак говнокода, поэтому, если замечаешь себя за этим, старайся исправиться в лучшую сторону. Развивайся.
Оторванный от реальной жизни бред (мимо кодер более 15 лет). Бывает ситуации когда надо копипастить как в одном проекте так из другого по соседству. Ты не помнишь физические все бестпрактики, но знаешь что такие есть и знаешь откуда взять.
Тем более сейчас еще дети копируют со всяких нейронок код, все равно где-то просрется отступ. Даже главнюки из питона говорили, что это не самое лучшее решение в языке, но ты фанбой продолжаешь это защищать.
>>1048581 >если даже ключевым разработчикам внезапно взбредёт в голову что-то сломать, появятся недовольные и сделают свой форк Практика попенсорса показывает, что это так не работает (за очень редким исключением, если не уходит основной костяк разработчиков). Кстати, уже форкали же, как дела у красных?
>>1048586 У опенсорса есть плюсы, если ты кодер, в сложных моментах можно залезть в сорцы и разобраться. А проприетарном софте, можно остаться без лицензии ибо редакторы сканят весь твой проект (был случай когда случайно открывали не на той лицензии - фри и проект ловил фигу).
>>1048862 Так они форкали не из-за реальной проблемы, а из-за своей собственной шизы. Естественно загнулись, когда уже всем стало похуй на ихборьбу с повесткой
>>1048863 > в сложных моментах можно залезть в сорцы и разобраться Двачую. Вот из недавнего, прямо ИТТ аноны залезли в сорцы и посмотрели, как у Хуана реализовано перемешивание массива: >>1047430>>1047602
>>1048860 >даже если кажется что скопировал с пробелами, все равно пройдет какой-то скрытый трудно уловимый баг Тебе движок сам укажет на некорректный отступ. Алсо, копипаст зло
Совсем отупел с нейросетями. Минут 15 пытался с помощью них решить проблему. По итогу разобрался с проблемой с помощью туториала на 20 секунд (первая ссылка в гугле). А нейросетки какую-то шизу и велосипеды советовали
>>1048874 Часто такое. Надо вовремя понять, что нейронка тебя скамит и пиздотвать в гугл. С ними хорошо вместе обдумывать/размышлять. Впрочем говорят клод имба, делает все без единой ошибки и глюка, лучше всех и мясные мешки больше не нужны, только портят божественную работу клода - вот его не пробовал, но что-то уж слишком часто такое мнение сейчас.
Дваче, помоги пж. Нейронка не справилась, в документации нихуя. У меня есть HBoxContainer, в котором 4 VBoxContainer, в которых есть одинаковый набор элементов. Пытался сетку такую создать для магаза. Но макс ширина у всех VBoxContainer разная из-за разной макс ширины каждого из элементов. Из-за этого получается не нормальная сетка, а тупо 4 панельки разного размера. Как мне сделать их всех одинакого размера? С костылями или ещё как. Или я вообще хуйню сделал и сетка по другому делается?
>>1048900 >сетку такую создать для магаза >разной макс ширины каждого из элементов Как так получилось? Если нужна равномерная сетка, элементы должны быть равными визуально, иначе получится фигня типа растягивания текста: >ААААА _БББ_ ВВВВВ __Г__ ДДДДД ЕЕЕЕЕ Согласись, такой UI выглядит очень неприятно.
Создаёшь сцену-элемент, а в ней: >PanelContainer - с обводкой через тему >_ VBoxContainer >_ _ TextureRect - для иконки предмета >_ _ Label - для подписи/названия >_ _ HBoxContainer >_ _ _ Button - добавить >_ _ _ Button - убавить Такой элемент легко стандартизировать.
>>1048874 Я ищу вопросы в http://duck.com - там у их DuckAssist подобные галлюцинации сразу видно - в поиске нет назойливой рекламы и ответ у него всегда короткий. Качество поиска так себе, но это, видимо, из-за Bing.
А вот если в поиске ничего нет, тогда могу спросить у чатбота, вдруг придумает что-то, что может помочь. Впрочем, чаще всего, если в поиске ничего нет, то и нейронки могут только галлюцинацию выдать.
>с помощью туториала на 20 секунд Текстовый? В видео обычно 15 минут фигню никак не могут объяснить, всё тык-пык-пук-хрюк, а потом внезапно "ну это потом, а пока ставьте лайки..."
>>1048866 Ну как бы да. Раздули из мухи слона, сделав никому не нужный форк, в котором тупо заменили логотип. У рэдота буквально нет смысла существовать, так как их единственный план по развитию движка - "чтоб без повесточки!!!!". Ну и чего они там сделают? Безповесточный рендер? Базированую физику?
>>1048925 А че ваще от повестки непосредственно в самом движке? Я новенький, слышал об этой истории только от блогера на ютубе, чтото про то, что годотные авторы нагрубили кому-то или типа того, но не помню и не понимаю что именно повесточного может быть в коде движка например, типа его самого это же не должно никак изменить или нет? Лицензию тоже ведь не оповесточили?
>>1048860 >ты хоть в строчку закопипастил код GDScript позволяет писать в строчку: >func f(): var a; while a: if a: call1(a); else: return a Но это не рекомендуется по очевидной причине.
>так и так ставите двоеточие для разрыва У этого двоеточия другой смысл, сравни: >while true do begin foo; bar end >while (true) { foo(); bar() } >while true: foo(); bar() >if true then begin foo; bar end >if (true) { foo(); bar() } >if true: foo(); bar() Двоеточие - do/then/(), отступы - begin/end/{}
>>1048861 >мимо кодер более 15 лет >ситуации когда надо копипастить >дети копируют со всяких нейронок код Ты ещё говнокодеров вспомни... А, ты уже. Соболезную потраченной на дядю молодости.
>>1048862 >это так не работает Redot форкнули какие-то посторонние люди, не заинтересованные в геймдеве, им просто хотелось политический мессендж донести, мол, "геймдевом заниматься могут только белые гетеросексуальные мужчины" или что-то такое. Естественно, оказались в меньшинстве и пересрались друг с другом, родив несколько дополнительных форков по пути.
Не они первые. До них был Goost от одного очень агрессивного бывшего контрибутора, которого в результате забанили за плохое поведение. Goost подразумевался как сборка никому не нужных и дефектных пулл-реквестов, типа поддержки GIF. Разумеется, никому кроме автора не был нужен.
>>1048929 >непосредственно в самом движке? В движке и лицензии нет, но есть это: https://godotengine.org/code-of-conduct/ Это касается твоего поведения в ряде официальных сообществ, перечисленных на официальном сайте. Несоблюдение правил ведёт к бану, однако это не лишает тебя лицензии, т.е. ты можешь продолжать разработку и продажи игр на движке даже с баном.
Примеры "woke" из правил поведения: >Politeness is expected at all times. Be kind... >Always assume positive intent from others... >...keep your criticism constructive... >...friendly and safe environment for everyone... >...We do not tolerate harassment or discrimination... >...welcoming to all industry minorities... >Aggressive or offensive behavior is not acceptable... >You will be excluded... if you insult, demean, harass... >Likewise, any spamming, trolling, flaming, baiting... TL;DR: "не вести себя как агрессивный мудак".
Замечу, что эти правила существуют с самого начала движка как опенсурс проекта или, может, чуть позже; несколько лет как минимум. Т.е. недовольные якобы контрибутили в движок, не читав эти правила, и у них бомбануло, когда их "внезапно" почистили по давно устоявшимся правилам. Поэтому они сделали форк, подразумевающий отказ от этих правил, но в итоге перебанили тех, кто на них наезжал, т.е. они обещали безлимитную анархию, а получилось всё как всегда.
>>1048936 А в комьюнити годота стрелочка поворачивается? Типа если там транс-пидор выдает хейт спич в сторону традиционных семей, его будут банить? Или это работают только в одну сторону, и повесточные там наделены иммунитетом?
>>1048933 >геймдевом заниматься могут только белые гетеросексуальные мужчины Ну это база, кстати. Нет ни одной нормальной игры от разноцветноволосых расоворазнообразных их/им/они/она/оно персон.
Другое дело, что белый гетеро разраьотчик не должен быть оголтелым наци-ребенком
>>1048938 >белый Культовые топовые игры от японцев и китайцев. Из западных игр... разве что GTA до четвёрки?.. Сложно сказать, какие западные игры сделаны "белыми"... А, классику если вспомнить, наверное, Half-Life? Doom? Вообще без понятия, кто там у них в команде был... Русские, кстати, "белыми" не являются - мы что-то наподобие азиатов в понимании запада, "цветные".
>>1048937 >стрелочка поворачивается? Я не слежу за коммьюнити, только иногда на Reddit заглядываю, посмотреть на чужие видео прогресса. Кажется, что в целом никто не нападает на какие-то "традиционные ценности", либо их быстро удаляют. Подумай сам: ЛЮБОЙ в интернете может назваться "меньшинством" БЕЗ ПРУФОВ, и если бы у них была особенная защита, сообщество превратилось бы в хаотичное метание говном из-под фейков. Всегда рассматривай любые говнометания как работу специально обученного тролля под фейком. Даже в ситуациях "известных личностей", которые якобы самостоятельно набирают посты в соцсетях (лол).
>>1048947 >правила поведения в радужном загоне Что-то уровня фанатов MLP:FiM. Дружбомагия!
>печально Что нельзя метнуть говно и смотреть, как ньюфагам разрывает жопы от злости, вместо разработки игр? Никто не запрещает общаться вне официальных сообществ, где эти правила никак не действуют.
>>1048941 Ладно, уточню. Людьми, которые выросли в рамках не искаженной западной христианской культуры или под ее большим влиянием. И да, 99% разработчиков культовых игрх прошлого подходят под это. Т.к. игры делали увлеченные гики - математики и инженеры с мозгами не засранными повесткой эх, тоскую по временам, в которых не жил
Те же японцы оказались под большим влиянием американской культуры, что хорошо, т.к. это единственная страна Азии, где население, не грязные обезьяны
Я к тому, что да, игры могут делаться в разных стилистических направлениях (с любыми религиозными/культурными мотивами). Но точно не людьми с местоимениями в твиттере, теми, кто жрет с земли или устраивает терракты в шарли эбдо.
Вспомни последний драгон едж ебало мое, как фаната первой части, имагинируешь?
>>1048941 Алсо >Подумай сам: ЛЮБОЙ в интернете может назваться "меньшинством" БЕЗ ПРУФОВ, и если бы у них была особенная защита, сообщество превратилось бы в хаотичное метание говном из-под фейков Ты только что последние 15 лет
>>1048956 Я не математик и не инженегр, обычный макакич, со скрипом геймдевлю. Но меня вдохновляют, хоть и время ушло, истории как раз азиатских разрабов прошлых лет (линейки например). Мне бы их трудоспособность и талант.
>>1048962 >Мне бы их трудоспособность и талант. Их менталитет и навыки с малых лет формируются. Конкуренция огромная и без сторонней поддержки бездельник ничего не умеющий просто не выживет.
>>1048957 >последние 15 лет Твиттерских срачей? Это ж просто киберспорт такой - провоцировать толпу на реакцию, смотреть бурление. Многие занимаются этим неосознанно, даже не зная, почему испытывают удовольствие от этих срачей.
>>1048956 >Вспомни последний драгон едж Без понятия, что это и о чём. Но по скриншотам из интернета вижу, что игру оказуалили графически - обмазались модными спецэффектами и прочим. Оказуаливание - расширение ЦА ради прибыли.
Когда цель - широкие народные массы, провокация бурления в соцсетях может быть более выгодной стратегией, чем вкладываться в саму разработку. Я б никогда об этой игре не узнал, если б ты не упомянул недовольство - значит, маркетинг сработал успешно.
В мире, где каждый день выходит несколько новых потенциально интересных игр на несколько часов затягивающего геймплея, ты либо самый лучший из лучших, либо самый скандальный из скандальных. Скандальность при этом намного дешевле выходит.
>игры делали увлеченные гики - математики и инженеры с мозгами не засранными повесткой Вот только часто они были теми же геями, трансами, фуррями и прочими необычными людьми, которых классический рабочий социум прогнал, тогда как компьютер не критикует пользователя за странные увлечения и необычные взгляды на мир. Когда твои ровесники издеваются над тобой, ты волей-неволей становишься изгоем - математиком, программистом, разработчиком игр или писателем, художником и т.д. Нормальные люди такими делами не увлекаются.
>>1048965 Успешный маркетинг уровня белоснежки у них вышел. А ты кажется в танке, и танк в танке. Это известная серия и независимо от того, воняет она говном или нет о ней будут говорить с каждого угла. Как о новом тесе или новом фолаче или новой гта. А тут еще повод то какой - вместо игры получился монолог трансухи какойто об отпиленном хуе или чето такое. Да, в итоге об игре и ее особенностях узнали все, кроме тебя, а заодно похоронили всю серию на ней.
>>1048965 >Твиттерских срачей? Это ж просто киберспорт такой Найс троллинг >>Вспомни последний драгон едж >Без понятия, что это и о чём Залетуха, что ты вообще забыл в игровой индустрии и в gd в частности? Заявление уровня "не ебу что такое ультима/морровинд/балдурс гейт/etc" >Вот только часто они были теми же геями, трансами, фуррями и прочими необычными людьми А, так ты сам их этих и просто примазаться к игровой индустрии хочешь
>>1048966 >о новом тесе или новом фолаче или новой гта >>1048972 >что такое ультима/морровинд/балдурс гейт Это всё классика из 90-х, не путайте с новинками.
Ладно, почитал я об этой вашей эпохе драконов: https://thegamer.com/dragon-age-the-veilguard-is-that-friend-thats-too-woke/ TL;DR: "герои слишком приятные и дружелюбные, а я надеялась, что меня будут ненавидеть и унижать". Получается, серия игр для мазохистов была? Как я и предполагал по скриншотам - оказуалили и всё.
>Залетуха, что ты вообще забыл в игровой >А, так ты сам их этих и просто примазаться Жырнота. Ты забыл уже, как г-меров совсем недавно унижали и лицом в говно макали за то, что они в эти игрушки компухторные посмели играть, пока ровные пацаны мяч на улице гоняют, животных убивают и промышляют мелкой кражей? Или ты ребёнок ещё?
Геймер - это социально ущемлённое меньшинство. Конечно же, было... Пока нормисы не пришли и не захватили себе всё хорошее, а компании начали оказуаливать всё для нормисов. Так что хватит тут бугуртить - что нормисы хотят, то компании и будут разрабатывать, а нормисы хотят вот это вот всё.
И что значит "из этих"? У тебя наверняка есть свои социально неприемлемые увлечения. Если ты не прокуренный алкаш, ты почти наверняка изгой, увлекающийся чем-то непонятным для нормиса. Компьютерные игры они ещё как-то поняли, да и то - оказуаливать пришлось, чтоб понимали лучше.
Если кто крестиком вышивает или вяжет спицами, например, это для нормисов всё равно что шлюхой работать: социально неприемлемо - нужно унизить. Конечно, громче всех кричат те, у кого союзники - поэтому мы не слышим в новостях, как прошёл очередной парад швей и кого из них зарезали за их неудачный выбор "ненормальной" деятельности.
Короче, вы видите только вершину айсберга, наивно предполагая, что вас в этом айсберге нигде сейчас нет и никогда не будет. А потом "ой, меня-то за что, ну да, в игрушки играл, не надо в газовую камеру".
Если всех не-нормисов отфильтровать, в геймдеве останутся только мошенники с ассетфлипами под мобильники и яндекс игры. Вы этого хотите? Godot невыгодно, если останутся только такие юзеры. Контрибьютить в движок они точно не будут.
Может, я и параноик... Думайте сами, чего бояться выгоднее - мифических "геев", которых в живую не встретишь даже, а если встретишь - от них не будет физического вреда, или глобальной чистки от всех "ненормальных", когда кое-кто гайки закрутит. Мне совершенно всё равно, чем другие люди в постели занимаются, если меня не казнят из-за того, что "показалось, что какой-то не такой, как все - у него взгляд ненормальный был, вот и пришлось убить".
>>1048933 Ппц ты графоман, двоеточие нужно чтобы отделить условие и тело оператора. Пикча - тоже самое выходит, только первый вариант не форматируется автоматически.
>Ты ещё говнокодеров вспомни... Судя по тому что ты не знаешь для чего двоеточие и высрал шизу, бездарь как раз тут ты. Дальше не читал, очередная портянка скучающей безигорки. не кормите обезьянку
>>1048864 >Эти форки не форки, правильно форкайте. Уже ни раз людям водили опенсорсом по лицу и никаких успешных форков не произошло. Так что на деле это влажные мечты, пока основные метейнеры не посруться.
>>1048871 >Тебе движок сам укажет на некорректный отступ. Как он поймет что следующий оператор должен быть продолжением тела if если пробелы копипаст сожрал или таб обнулил?
>Алсо, копипаст зло Мастурбация тоже, но все делают это.
>>1048996 Кто ее боится, это аналогия на тему - что все говорят что копипастить плохо, но проходится делать и делают. Не всегда копипаста это копия логики, которую нужно унифицировать в функцию (это могут быть разные предметные области или вообще программы, или просто ответ с SO).
>Разве геймдев не про это? Ты используешь с трудом заработанные навыки для развлечения ламеров... Да, но самооценка от этого не повышается, ты по прежнему безыгорка, которая самоутверждается над школьниками или ньюфагами. Такое себе.
>>1048988 >Уже ни раз людям водили опенсорсом по лицу и никаких успешных форков не произошло Open/Libre office. Была эпичная драма с покупкой ООо Ораклом. Форкнули, стали развивать. А потом Оракл передал ООо Апачу, щас оба проекта живы и развиваются в разных направлениях.
>>1049006 Для таких как-ты два раза упомянул, кроме случаев когда костяк попенсорщиков сам перешел. Какие же вы предсказуемые боты.
Еще, кстати, не работает мантра, что можно самому код править сколько угодно. Потому что чаще высокомерные владельцы кладут болт на твои pull-хотелки. А тебе потом на каждом обновление пропукиваться с мержами (на самом деле тупо кладешь болт на обновление, а свою фичу уже не выпилить).
А потом оказывается, что качественные популярные решения, вообще пилятся людьми на зарплате, а реально комьюнити нифига не делает.
А потом... что попенсорс политичен.
Но самое главное, что попенсорщики высрали террабайты кода, на которых учиться нейронка, которая их же и заменит. Не было бы опенсорса, не было бы такой базы кода.
Вот тебе и попенсорс а половина людей вообще думает что попенсорс это вообще про бесплатность.