Шапка: https://hipolink.me/godothread
Предыдущий: >>1030839 (OP)
Архивный: >>1026834 (OP)
>что-то на что не стыдно взглянуть
Это очень субъективная оценка. Кому-то не стыдно голышом дрочить посреди площади, а кто-то играть в компьютерные игры в принципе стыдится - это ж для детишек всё делают - кто из взрослых будет играть в кровавые шутеры или смотреть на сцены секса?..
Я вот лично кринжую с попыток в "фотореализм" от ноунеймов, которые почему-то верят, будто эта их размазанная по стенам грязь делает игру более затягивающей. Зачем мне даже бесплатно качать компьютерную игру, если у меня ИРЛ точно такой же безыдейный срач что дома, что на улице? Ради чего? Очевидно, у автора просто фантазии не хватило - скопировал то, что его окружает, и назвал "игрой". Постыдился бы такое выкладывать в интернет...
Также учитывай, что основная работа при создании трёхмерной графики в самом меше и его текстурах, которые никак от движка не зависят. Качественно выполненная моделька будет и на движке из 90-х достаточно прилично смотреться. Вот Max Payne разрабатывали в конце 90-х, а графически он рвёт большинство недавних попыток в "фотореализм" - поскольку новые попытки лепят из говна и палок, собранных с интернета, а Max Payne делался под конкретный стиль с кастомными фотографиями. Получилось бы улучшить Max Payne с помощью новомодных алгоритмов? Возможно. Но если твои модельки и текстурки изначально говно, никакой новомодный алгоритм тебе ничем не поможет.
Стилизация > Технический уровень графики.
Один из самых наглядных для меня примеров графоуни третего варика. До ремастера даже. И ремастер ему без нужды был, т.к. этот графон натянутый на 1.5 полигона смотрелся одинаково заебись тогда и сейчас, не старел вообще.
>Стилизация > Технический уровень графики
И это тоже. Max Payne нуарненько стилизован. А современные "фотореализм" игры часто не имеют определённого стиля - тупо сборка чужих ассетов.
>>0329
>как мне создать игру не умея создавать игры?
Научиться создавать игры, естественно. Вот так:
https://docs.godotengine.org/ru/4.x/getting_started/first_2d_game/index.html
Первое, что ты должен понять, это то, что твоя игра будет успешной только если ты сплагиатишь успешный геймдизайн, игровые механики, визуальный стиль. Когда определился с тем, какой продукт ты готовишь игрокам, начни искать гайды по разработке нужных механик, готовые ассеты и скрипты, а также используй нейросети для поверхностных вопросов по движку и работе с ним.
Если нужно поконкретнее, вот тебе план действий:
1. Скачат и установил движок
1.1. создал проект
2. Чатгпт, как мне %вопрос по движку%?
3. Экспорт проекта
4. profit
мимо доделал 0 игр 😎
>будет успешной только если ты сплагиатишь
Что и у кого сплагиатил данный шедевр на Godot?
https://store.steampowered.com/app/1388770/
>определился с тем, какой продукт ты готовишь
Именно так рождаются мёртвые игры на дне Steam: абсолютный новичок делает свой первый игровой проектик, рассчитывая что-то с него заработать, и, естественно, ничего с него не зарабатывает. У всех успешных геймдевов был какой-то опыт "в стол", за чрезвычайно редким исключением. Без практики на "игрушечных" проектах делать "серьёзно" не выйдет.
>нейросети для поверхностных вопросов по движку
>Чатгпт, как мне %вопрос по движку%?
Так может говорить только тот, кто даже не пытался задавать серьёзные вопросы любой из LLM, либо не пытался следовать советам этой LLM по вопросу... Единственное, в чём LLM могут более-менее хорошо помочь, это суммировать результаты веб-поиска, но даже в таком случае они часто фейлятся на Godot.
Алсо, в хорошо поставленном вопросе содержится половина ответа. Проблема в том, что новичок без практического опыта не сможет задать правильный вопрос, а все LLM тренируют во всём соглашаться с пользователем, даже если он несёт какой-то бред.
От LLM есть польза, когда ты уже что-то умеешь и разбираешься в вопросах, а новичка они могут ещё сильнее запутать и разочаровать во всём геймдеве.
Так что пока лучше пользоваться классическими туториалами, руководствами пользователя и т.д. Естественно, бывают плохие туториалы. Но плохие зарабатывают негативные отзывы других людей, в отличие от чата с нейросетью, который приватный и не контролируется знающими людьми со стороны (хвалёный RLHF может научить нейронку тщательно вылизывать задницу пользователю, с чем оказалось очень сложно бороться даже лидерам LLM рынка, от галлюцинаций он не избавляет и может их добавить).
>мимо доделал 0 игр
Мог и не писать очевидное.
Я постоянно пользую гпт, скорее как собеседник и быстрая напоминалка всякого. Но именно с годотом галлюцинации там адовые. Вплоть до того, что синтаксис гдскрипта стабильно игнорируется и пишется какой-то видоизмененный жс или си. Ну и самая стандартная вещь - выдумываются возожности, несуществующие функции всякие, и это может быть до бесконечности с одной и той же фичей. Спрашиваешь, гпт врет, переспрашиваешь уточняя что вот тут ты пиздишь такого нет, гпт выдает "оооой, перепутал" и начинает галлюцинировать по новому кругу. Чаще по тем же вопросам, что в гпт отправляются, можно достаточно быстро найти ответ в гугле. Хотя всегда есть шанс, что проблема слишком специфична.
И в целом все же от нейронки больше пользы, чем вреда, если относиться к ней скептически. Рефакторит говнокод ниче так, быстро. С другими нейронкамми может будет лучше.

1344x720, 0:23
Посоветуйте хорошие источники информации для первичного ознакомления с программированием, чтоб хотя бы понять устройство движка, того что я печатаю и почему всё это работает.
>Mixed use of tabs and spaces for indentation
Ошибка смешивания табов и пробелов обычно из-за нажатия пробела или таба в начале строки, когда ты используешь для остальных строк табы или пробелы (GDScript позволяет выбрать одно из двух, но нужно придерживаться выбора в рамках одного файла).
Ты, скорее всего, случайно нажал Tab на клавиатуре, набирая заголовок функции. Нажимай Tab только в самом начале строки для отступов от левого края. Рекомендую в настройках редактора включить специальные символы для табов и пробелов.
>>0365
Это ошибка кодировки в браузере, можно скачать и посмотреть видео в нативном плеере. Он какой-то нестандартный рекордер использовал, видимо. В метаданных куча явно лишней информации типа 'is_ai_video:0, is_ai_music:0", кого этим обманешь?..
>игры мечты
Что ты под этим подразумеваешь? Если ты мечтаешь разработать что-то относительно простое, то можешь начинать делать прямо сейчас. Если твоя мечта - это разработка GTA 7 в студии... туда путь будет долгий.
"Умные книжки" не нужны, если тебя интересует лишь создание конкретной игры. Ищи туториалы по теме и общеобразовательные книги, типа информатики для старших классов, там самое главное должно быть - переменные, условия, циклы, функции и так далее.
Если английский знаешь, вот интерактивные уроки, основанные непосредственно на GDScript, там всё объясняется с основ и можно сразу попробовать:
https://www.gdquest.com/learn-to-code-from-zero/
Без английского будет тяжелее учиться геймдеву...
Ну и в целом. Если ты не умеешь искать в интернете информацию, то далеко ты не уедешь. Все основы находятся в поисковиках легко, по крайней мере, на английском языке всё ищется. Каких-то секретных знаний на самом начальном уровне нет. К тому же у разных людей разные особенности восприятия новой информации... Что одному - хороший урок, тому может вообще быть непонятно, поэтому много обучающих материала в самых разных форматах и стилях...
Судя по туториалам - не нужно, их часто совсем нулевые записывают, но ооооочень приветствуется. Сам же будешь тупить над многими вещами без базы, многое будет выглядеть магией. Но непроходимым препятсвием это не является. Ну и движкописательство и код для игры это не одно тоже, для второго достаточно знать что движок умеет, нахрена и как, а не быть в состоянии вышку защищать по этой теме.
Годот из тех технологий, который изи ту лерн, хард ту мастер. Как и остальные движки наверно, чем больше будешь погружаться тем больше головняков и нюансов, но на старте он будет выглядеть типа "я только подумал а он уже все сделала ахуенна".
Неправильно ты, дядя Федор, нейронку юзаешь. Ты ее вспоминать(галлюцинировать) заставляешь, а должен давать ей пример из справки годота и требовать адаптировать под твою задачу.
Когда есть достаточный пример не нужны нейронки.
Реймарчинг? Нойс.

>Рекомендую в настройках редактора включить специальные символы для табов и пробелов
Что-то я не нашел такой настройки
Расширенные настройки...
Делай только чтобы делать, и не важен результат. И тогда ты осознаешь что тебе принадлежат все закрытые ворота, все открытые дороги, но тебе не нужно это, в пустоту направлен взгляд.
И когда позади меня не останется открытых мостов, они оглянутся и спросят меня, "что ты сделал?" А я скажу "Я сделал Игру".


1920x1080, 0:28
Это уже малость пугает.
С одной стороны хорошо, что годот так беспощадно ебет.
С другой - внимание к нему от всякие контор пидорасов печалька. Купят и прикроют.
>Купят и прикроют.
С опенсорсом это не так работает. Смотри историю с редотом/баззитом и кто там еще форкался.
Опенсурс зависит от разработчиков. У Godot всего несколько ключевых людей, тесно друг с другом взаимодействующих, остальные приходят и уходят. Теоретически, большая компания может выкупить разработчика, пообещав ему горы золотые и потом загрузив работой на 24/7/365... Кто будет движок разрабатывать?.. На практике, конечно, разработкой занимаются в основном идейные люди, вряд ли они согласятся работать на корпорацию всё своё время.
Также есть риск, что основные разработчики просто поссорятся из-за какой-нибудь фигни и разойдутся. В опенсурсе периодически такое случается. В Godot уже минимум одна такая драма произошла (после 2022).
Также движок - сложный агрегат из самых разных компонентов. К примеру, Godot Physics 3D в таком печальном состоянии долгое время находится из-за отсутствия человека, разбирающегося в его коде. Случайный C++ программист с улицы не сможет моментально разобраться в коде и сделать что-то существенное хотя бы для одного компонента.
Так что риск всегда есть. Движок не становится по настоящему бессмертным только из-за опенсурса. Недостаточно иметь исходники чего-то, что лежало совершенно без движения много лет. Особенно если начнутся изменения в айти, связанные с бумом AI (процессоры могут поменять, и весь софт под них переделывать придётся, как один вариантов).
>Это как ваще?
Battlefield на Frostbite, а это закрытый движок. У них, очевидно, есть свои инструменты для создания карт, однако, пользоваться ими наверняка сложно и будет сложно релизнуть урезанную версию для мододелов. Возможно разработать отдельный редактор, но зачем изобретать велосипед? Godot хорошо подходит как фундамент для редактора пользовательских карт - дружелюбный интерфейс, модифицируемость и MIT лицензия, позволяющая скрывать модификации. Конвертировать tscn в какой-то закрытый формат стороннего движка проще, чем изобретать новый или ограничивать внутренний редактор карт.
Так что они просто сэкономили средства компании, задёшево получив конкурентное преимущество (мало дорогих игр имеют проработанный редактор карт, т.к. казуальный игрок всё равно не будет пользоваться).
Если бы ты хотел учиться, ты бы выучил шейдеры по статьям о GLSL на английском языке. Тебя бы ничего не остановило.
Я до их изучения не добрался еще, но у меня в башке крутится что такую кажущуюся сложной тему (по крайней мере для меня это сейчас магией выглядит) хорошо бы сразу начать учить по чему-то самому удобному из возможного. Поэтому спрашиваю о гпт.
На практике, когда припрет и когда проект востребованный, люди находятся. Сейчас вон даже древнючие иксы закопать не могут не смотря на все усилия - нашелся некромант, взявшийся пилить дальше. А с годот физикс другая история. Там большую часть времени ждали когда Джолт допилят, поэтому все воспринимали занятие годот физиксом как бесполезное - все равно ж скоро заменят.
>ждали когда Джолт допилят
Это уже потом. До джолта было много багов, которые фиксить было просто некому - единственный умелец потерялся из-за того, что нашёл какую-то работу, если ничего не путаю. Это было несколько лет назад. Все использовали Bullet просто потому что багов меньше.
>когда припрет и когда проект востребованный
Увы, Godot востребован в основном у нищих 2D инди. Беженцы с юнити хотят всё готовое и не могут в C++.
>>0657
>для меня это сейчас магией выглядит
>>0655
>шейдеры научить писать
Всё минимально необходимое в доках:
https://docs.godotengine.org/en/stable/tutorials/shaders/index.html
Вкратце, для многих простых эффектов достаточно запомнить и понимать API. И ещё усвоить факт, что видеокарта выполняет твой код в несколько сотен независимых потоков как минимум, поэтому твой код ограничен локально доступной и заранее полученной информацией - обычно это разнообразные текстуры. Множество динамических эффектов - это "sin(TIME)". Базовая геометрия и тригонометрия очень помогут. Постарайся избегать ветвления в коде (if) и лишнего использования ALPHA вывода (полупрозрачность). Остальное проще всего усвоить на практике, тупо редактируя чей-то код и наблюдая эффект на экране.
Никто на такое не жалуется, один ты, значит что? Проблема на твоей стороне.
Логи лежат в юзердате проекта, над котором ты работаешь. Либо можешь через консольку запустить, дождаться виса и посмотреть чего напишет.
>>0766 (Del)
>Try enabling Single Window Mode in the editor settings (Interface → Editor)
Псст, парень, всегда есть 3-я версия.
Не, я больше не поддерживаю вахтерство.
Запускай через console ярлык. И в cmd окошке будет видно почему. В линуксе тройка например вылетает по монокрашу при рандомном ребилде проекта раза через 5-15 ребилдов. На винде 4 и 3 нормально работают у меня и на красных, и на зеленых и на синих. Какая версия кстати?
Какия видеокарта? Сколько оперативки? Не засунул ли ты в тайлмэн 16К текстуру? Справа сверху смени Forward+ на Compability и перезапусти редактор
Такие фризы + краши обычно являются ошибкой пользователя (написал while true в коде), но в редких случаях это действительно внутренний баг движка.
Что делать, если это твоя ошибка:
1. Локализовать проблему, запуская проект по частям, удаляя лишнее из тестовой сцены, добавляя до краша. Обычно это не занимает много времени.
2. Внимательно изучить локализованную проблему. Например, "добавляю текстуру в тайлсет - краш, но как импортируется эта текстура, сколько памяти требует?".
3. Искать решение в интернете по ключевым словам, например, "Godot crash when adding tileset texture".
Что делать, если это ошибка движка:
1. Поискать отчёты об ошибках на github.com.
2. Подготовить минимальный проект, на котором воспроизводится проблема, запомнить свои шаги.
3. Собрать журналы ошибок, если есть (%appdata%).
4. Ознакомиться с правилами отчётов об ошибках.
5. Написать отчёт, добавив минимальный проект.
Анончик, никто не держит. Есть дефолд с луа который реально похож на питон, а не косит под него как гдс, есть кокос с js. Выбор движков есть. В конце концов можно освоить нормальный язык и взять платный движок. У тебя или дрова не стоят, или стоят но кривые. Лог ты не показываешь, ни у кого годот снихуя не падает.
>луа который реально похож на питон
Похож по низкой скорости выполнения? Lua больше напоминает языки семейства Pascal, только более динамический. Много совпадающих решений.
>ни у кого годот снихуя не падает
Да. После всех багфиксов 4.x стабилизировались.
>>0815 (Del)
>моя ошибка - выбрать годот
А чем был мотивирован этот выбор, если не секрет? Возможно, твою игру действительно проще будет разработать на каком-нибудь тонком фреймворке. Рассматривал использование PyGame или RenPy?
>помогло
Возможно, у твоей GPU слабая поддержка Vulkan?
Характеристики компьютера ты так и не написал.
>Вот это помогло.
>С версией GeForce Game Ready 576.88 участились случаи
возникновения черного экрана
Попробуй откатить драйвера на более раннюю версию, скорее всего проблема в них, хуанг может прогревать обладателей более старых видеокарт на покупку новых
Можешь ещё попробовать удалить папку .godot в папке с проектом и вернуть Forward+
А мне луа никогда не нравится. Больше на руби похож, который я терпеть не могу с его эндами всратыми. ГДСкрипт для меня, неиронично, самый беспроблемный язык для геймдева, никакого мозгоебства и хитростей, пришел и написал без необходимости тратить 10 лет на становление сенсеем как в плюсах.
В этом плане Го еще приятный. Но для геймдева увы не взлетел. Я сделал пару игр на его ebiten движке и перекатился на годот.
>Похож по низкой скорости выполнения?
По своему уебищному атрибутному ооп. Синтаксис - мелочи.
>>0838 (Del)
У меня 3070ти лаптоп, годот 3 и 4 работает как часы (не считая того что в линуксе тройка падает с monocrash) с дровами из драйвербустера 2022 года под виндой. Всё шикарно работает всё режимы. Посмотри еще может в логах системы есть чето интересное, например внезапно умирает видеодрайвер или годот стартует на встройке по какой-то причине, хз.
Я не знаю как ответить на этот вопрос.
Сначала подумал что это те которые Unrailed 2. На годот много кто переходит, так-то.
Тру инди это только опенсорс. Потому что какое же это инди, если движок подают платный, за который надо мзду сплатить, да ещё и кодкуколд соблюдать.

Я на тройке, не знаю меняли ли это в четверке, но я сделал себе пресеты импорта - работает.
>движок ругается мол невозможно
Скопируй/скриншоть сообщение об ошибке сюда.
>делаю карты через тренчбрум
В каком формате/через какой аддон импорт?
Если что, у GLTF могут быть внутренние материалы и текстуры. По умолчанию Godot их извлекает из GLTF и обновляет после обновления GLTF, если не путаю. В настройках импорта GLTF можно настроить, чтоб внутренние материалы игнорировались, тогда твои настройки снаружи GLTF не будут перезаписаны.
Если аддон - смотри в настройках аддона...
та просто через obj, он уже имеет свои материалы, из текстур в папке, собственно тренчбрум и настроен оттуда их юзать, чет щас голов не выдало, видать надо бы снести билд и заново загрузить, но по смыслу что то вроде "отключение фильтрации не возможно для текстур которые используют 3д обьекты"
>>1086
я о в принципе текстурировании вручную хотя и то незнаю позволит ли это избежать проблемы
Погуглил - в 4.x нужно менять это каждому материалу:
https://github.com/godotengine/godot-proposals/issues/5228
Опция в настройках - для 2D, а для 3D - см. материал.
>obj, он уже имеет свои материалы
Эти материалы нельзя изменять? Замени внешними.
P.S. Лучше переключи интерфейс Godot на английский. Во-первых, все основные материалы в геймдеве - на английском, все термины, обсуждения, багрепорты. Поэтому даже русский в UI геймдев программ (Godot, Blender и т.д.) использовать не рекомендуется - я все программы на английский переключаю. Во-вторых, мы находимся на русском форуме - в других языках разбираться мало кто может здесь, поэтому понять содержимое скриншота большинству будет сложно.
Также перевод UI часто неполный и неправильный, выполняется энтузиастами и ими же тестируется...
Касается всех скриншотов в треде не на английском.
>>1068
>делаю карты через тренчбрум
>>1115
>просто через obj
Никогда не пробовал TrenchBroom, там есть какие-то параметры экспорта в obj? В документации онлайн ничего найти не получается по этому вопросу...
Почему не использовал Qodot?
https://qodotplugin.github.io/docs/materials.html
Вроде бы можно настроить материал по умолчанию.
Если хочешь продолжить использовать obj:
https://docs.godotengine.org/en/stable/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.html#extracting-materials-to-separate-files
>Extracting materials to separate files
>You want to use a different texture filtering mode, as this option is configured in the material since Godot 4.0 (and not in the image).
>To be able to modify the 3D scene's materials in the Godot editor, you need to use external material resources.
В 3-ке это было свойство текстуры, а в 4-ке стало свойсто CanvasItem или материала, вроде как с мотивировкой - чтобы одно изображение как ресурс было загружено один раз но могло выводиться с разными режимами фильтрации.
>Тулскрипт напиши.
Ты бы пример кода написал, если знаешь.
Я вот знаю как материалы редактировать через API, неоднократно делал это в коде. Но как в его случае реализовать сохранение материалов отдельно от импортированного obj? Писать отдельный скрипт ResourceFormatLoader, что будет отвечать за obj?
https://docs.godotengine.org/en/stable/classes/class_resourceformatloader.html
Выглядит сложно - я вот не знаю, откуда начать...
Или предлагаешь в _ready каждому материалу делать дубликат и менять настройку? Если не сохранять в файловую систему, это будет лишней нагрузкой на процесс добавления сцен в дерево сцены.
>>1151
Да, но общей настройки для всех текстур в 3D нет.
Хорошо, я вижу, ты любишь докапываться до слов:
>общей настройки для всех МАТЕРИАЛОВ в 3D нет.
Так лучше? Доволен точностью формулировки?

Ну вот тут кто то написал
https://github.com/godotengine/godot-proposals/issues/5228#issuecomment-2804012185

Что думаете о том, чтоб игра сама себя обновляла? Технически, игра на Godot может установить себе обновление из интернета без перезапуска - нужно использовать возможности .pck-файлов (всё есть в документации движка). Есть только одна проблема - теоретически, если кто-то украдёт/выкупит сервер обновлений, он сможет закинуть вирусы игрокам...
Какой хостинг будет самым надёжным? Достаточно размещать "холодные" файлы с HTTPS доступом, т.е. скриптовать на сервере совершенно не обязательно. Кажется, некоторые программы используют GitHub - непонятно, разрешено ли его так использовать? Есть вероятность словить бан за хостинг .pck файлов без исходников? Если нет, то было бы удобно, наверное.
Игры, разумеется, у меня нет - обновлять нечего.
С гитхаба - разрешено. Туда и бинарные блобы льют, и линуксовые пакеты, и экзешники, и шелл-скрипты, которые запускаются на серверах напрямую с гитхаба.
Есть другая проблема. Кто-нибудь заметит скачивание с хуй пойми откуда и поднимет визг, а ты доказывай что не верблюд. Я в одну игру встроил аналитику с game-analytics, и то недовольный пробежал, не смотря на то что сервис известный, с говорящим доменом и его использование строго ограничено аналитикой.
>разрешено. Туда и бинарные блобы льют
Там и малварь найти можно, но легально ли? Просто огромная разница между "так делают" и "разрешено".
>заметит скачивание с хуй пойми откуда
Можно ведь в 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.
Так что бугурт твоего игрока вполне оправдан, если ты забыл предупредить или встроить в игру окно отказа.
>>1204
Лаунчер обычно отдельно от игры существует. Если не перекатываться на новый Godot, лаунчер может быть компонентом самой игры, даже без перезапуска игры. Вопрос в том, есть ли у этого подводные камни кроме украденного мошенником доступа к файлопомойке с последующим заливом туда какого-нибудь вируса.
>Скачивание обновления - HTTP(S)-запрос к файловой помойке, ему нужно только IP адрес спалить
Вообще не обязательно, можно что угодно отправить. Как минимум можно и даже нужно не разрешать скачку без авторизации игрока.
>можно что угодно отправить
Ключевое слово "можно". Можно, но не нужно. И когда программа предлагает "скачать обновление", пользователь должен представлять себе скачку файла как в браузере: сервер получает запрос, сервер отдаёт файл, программа ставит этот файл себе. Если ты собираешь какую-то информацию и отдаёшь её серверу (для хранения) - это уже не "скачивание обновления", а "сбор аналитики", и попадает под ограничения.
>нужно не разрешать скачку без авторизации
Это ещё зачем? Если ты боишься DDoS, то если у тебя бесплатная игра и кому-то сильно захочется тебя DDoSить, они создадут 100500 акков у тебя (заранее, так что ты их никак не заметишь), и атакуют тебя с авторизацией. Или атакуют сервер авторизации некорректными данными, чтобы нормальные игроки не могли войти в игру из-за перегруженного сервера авторизации, что можно сделать вообще не имея игры на ботах ботнета и ни разу не покупая игру (если откуда-то узнал адрес).
Если у тебя платная игра и ты боишься пиратства, то пираты в любом случае один раз купят игру, сломают её защиту и введут другой IP адрес для встроенной системы обновлений, а твои файлы будут хостить на своём хостинге. Как-то так пиратские сервера к ММО-играм и создаются - берётся клиент и модифицируется, чтобы обращался к самодельному пиратскому серверу, после чего игра полностью отвязана от оригинальной инфраструктуры и ты над ней никакого контроля не имеешь.
Если игра - бесплатный синглплеер, и интернет нужен только для обновления, то лучше не ставить игроку лишних преград и позволять обновление без авторизации. Зачем игроку авторизироваться в игре для её обновления, если он может скачать эту же игру с твоего же сайта без авторизации?

Audacity это опенсорс, от него всегда требуют этических стандартов выше, чем от проприетарщины. Плюс там вопрос к даташарингу. А по факту аналитику собирают все. Винда, линукс, браузер, двач, итч и игра, которую ты скачал с итча.
Зато аналитика в игре здорово помогает находить и фиксить баги. Потому что средний багрепорт от игрока это пык мык, если он вообще долетает.
>аналитику собирают все
Порядочные приложения дают галочку отключения в настройках, отображаемых при первом запуске.
>помогает находить и фиксить баги
Как? То, что у тебя 99% игроков не прошли третий уровень, не значит, что третий уровень багнутый. Может, твоя игра невыносима из-за фоновой музыки, которая начинает бесить через минуту. А может твою игру в 99% случаев запускают малолетки и не могут решить головоломку, которая не для них предназначена. Но скорее всего просто управление кривое, к которому ты уже привык.
>багрепорт от игрока
Нужно не багрепорты ждать, а сидеть рядом на стуле и смотреть, как игрок играет. Если так не получается, что ж... Инди на то и инди, что протестировать игру по-хорошему практически невозможно. Да и не нужно обычно - всё равно не поиграют...
Зато багрепорты пишут самые заинтересованные игроки. Если игроку плевать на игру, он её просто бросит и не вернётся. Если он решил уделить время на багрепорт - он явно заинтересован. Если ты не даёшь писать багрепорты вручную или не отвечаешь на них, ты отстраняешься от игрока, как бы говоришь ему "твоё присутствие здесь не имеет значения, просто развернись и уходи". Имхо.
Что ок?
Лучше бы про мультиплеерные кнопки спросил.
Ну а так - добавь физику своему говну, или в процессе двигай сам. Или сделай игру про говно в невесомости.
Чел, ну харош. Тут тебе не враги сидят, чтобы засирать тред троллингом, тут такие же аноны как ты, которые пытаются что-то сделать. Если ты серьезно это спрашиваешь - пройди хотя бы официальные туториалы и вопросы отпадут. Иначе прекращай троллить тупостью.


Я вот не могу понять, как сместить камеру за плечо. Вращается странно, если точка вращения - голова... Рейкастить из камеры тоже как-то неловко выходит. Получается только если камера строго за затылком.
Ну ты точкой вращения торс тогда делай, вообще тебе лучше потыкать разные шутеры от третьего лица и посмотреть внимательно как себя ведёт там камера
Дык, около 18 лет в 3D игры от третьего лица играю, непонятно, почему не получается. Знаю, что камера смещается в некоторых играх при прицеливании, но хотелось бы избежать такого отдельного режима...
>как настроить ноду SpringArm3D с камерой
Да я настроил её в 2020 и с тех пор юзаю. Но если её немножко сдвинуть вбок, получается какая-то тупая карусель, а не камера как в обычных TPV играх.
Я об этой проблеме давно знал, но забил и вообще не задумывался. А сейчас захотелось сделать пыщ-пыщ палку-стрелялку и вопрос прицеливания встал остро.
Я думаю что у тебя есть некий eye_direction:Vector3 у головы, т.е. направление в котором смотрит голова, а камера должна делать что-то типа look_at(eye_direction * 1000), в теории должно работать, т.е. камера не смотрит так-же как и голова, она смотрит в некую точку на каком-то растсоянии в направлении, куда смотрит голова
Уровень апи, которое твое приложение использует в гугл-плее. Гугл его стабильно повышает раз в год, если ты отстал то идешь нахуй из гугл плея. Даже если твое приложение не делает ничего нового, ты обязан ежегодно пересобираться под новый апи.
В яблочном аппсторе такая же тема, только там еще деньги плотишь каждый год.
Заебись конечно, маршируем строем по кругу.
>в тройке только 34
В смысле? Ты ж в настройках экспорта можешь указать версию API. По идее, если у тебя уже установлена Android SDK нужной версии на компе, то от Godot требуется только передать ей запрос на сборку нужной версии, а этот запрос формируется из настроек экспорта. Файлы шаблонов экспорта, по идее, менять никак не нужно, если ты не пользуешься новыми функциями из новых API.
Но это моё понимание проблемы, я могу ошибаться. Со сборкой на Android я только поверхностно знаком, и насколько могу понять, требование к повышению уровня API гугл выдвигает в рамках программы запланированного устаревания смартфонов, планшетов и т.д. Чтобы пользователи не могли скачать и установить на свой древний смартфон новую игру, которая технически пошла бы, но гугл этого не хочет. Почему не отключают со стороны маркета? Наверное, чтобы пиратские сайты не могли распространять для устаревших устройств... Жестокая практика, конечно, но ничего не поделаешь, пока гугл монополист на этом рынке.
>Файлы шаблонов экспорта, по идее, менять никак не нужно
В крайнем случае - можно самостоятельно из исходников пересобрать.
>Ты ж в настройках экспорта можешь указать версию API
Там варнингами сыпет, но гуглу я пока не заливал такой билд. Сейчас попробую - посмотрю съест ли его.
> Там варнингами сыпет
А мы тут значит все телепаты, варнинги твои и так уловили уже, скриншотить не надо.
О, значит ты уже знаешь что гугл съел билд без вопросов, провел свои автоматизированные чеки и я ему на публикацию отправил. Поднял апи до аж 36. Сначала хотел до 37, но им он подавился, сказав что слишком высоко. Ну, на пару лет хватит.
Спасибо.
А годоте варнинги были про "API version N is untested and unstable".
Ну допустим в сцене есть 10 картинок. Как мне узнать у какой пикчи какой id лучше всего? Есть идея использовать не id, а делать инстанс сразу в массив и использовать индекс, но звучит как-то не очень. Типа а если я захочу одну картинку в id0, а вторую в id99 этож мне тогда весь массив забивать калом. Короче нужен совет.
а ты не массив хуярь, а словарь
var gay_pictures = { id1 : picture1, id2 : picture2, ........ } или наоборот picture : id
О. Звучит умно. Спс.

Короче добавил AnimationPlayer и в него засунул дорожку анимации на оригинальную (Char_Picture) ноду от которой и буду инстансы делать. Вопрос как сменить на какой ноде будет играть анимация. Как сменить конкретно вот этот вот "Char_Picture" на другую ноду.
Или может есть вообще другой способ и я какой-то хуйнёй страдаю?
Чем тебе твины не угодили? И почему именно по два фрейма? Ты видел эти два фрейма?
Хуясе ебать. Первый раз про них слышу. Нагуглил, вроде оно. Спасибо. Два фрейма от пезды взял потом сделаю как надо.
Спасибо чел
У меня есть свой велосипед. Устраивает. Но мои вкусы специфичны, люблю жрать свое говно.
Bruh...
Тож самое. Красава, бро.
>как в Аркануме
>Данный товар недоступен в вашем регионе
Литералли ху? Ноунейм какой-то, откуда нам знать?
>написания сложной диалоговой системы
Что ты имеешь в виду? Как буквы печатать?
https://twinery.org/ попробуй...
Транслятор?
>сменить на какой ноде будет играть анимация
Зачем менять? Делаешь такую сцену:
>Sprite2D
>_ AnimationPlayer2D
Сохраняешь отдельно в .tscn.
Если нужен другой спрайт, меняй Sprite2D.texture.
>>2461
>Чем тебе твины не угодили?
>>2464
>Нагуглил, вроде оно. Спасибо.
Твины подходят только для простой анимации.
>Твины подходят только для простой анимации.
У него там modulate. Если твины для этого не годятся, то вообще ни для чего.
Спс. Твины оказались реально темой. У меня же там типа динамика все дела, ноды там инстанциируются и всё такое. Мне просто картинку флешнуть. С помощью этой штуки как раз оно и получается.
Я.

600x600, 0:03
>У него там modulate.
Сегодня он хочет modulate, а завтра захочет, чтоб оно свистело звуками, пердело частицами, вращалось по необычной траектории и падало на доску для игры с необычным мерцанием в шейдерах. Плавали, знаем.
На твинах можно пикрил сделать чисто технически, но AnimationPlayer добавляет массу удобств (хоть и проигрывает таймлайну в Blender).
Да, это я в Godot анимировал.
>>2567
>ноды там инстанциируются
Не понимаю, как это что-то меняет. Разница лишь в том, где прописаны действия - в .gd или .tscn/.tres. Анимировать, кстати, можно любые поля, и даже состояния твоего кода, вызовы функций и т.д.
>Не понимаю, как это что-то меняет.
Просто через аниматионплауер тогда мне нужно было бы менять в дорожке на какую ноду я собрался анимацию играть. Или? Короче да.
Про поля я знаю (догадался по ключам ага), а вот про стостояния кода и вызовы функций интересно. Где-то можно про это подробней узнать с примерами или только самому ковыряться?
>инстанс сразу в массив и использовать индекс
>этож мне тогда весь массив забивать
Тебе уже советовали 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 почти как обычный массив.
>менять в дорожке на какую ноду я собрался анимацию играть
Описал же выше: ты можешь иметь AnimationPlayer в каждой сцене, которой требуется анимация. Сцена не обязательно хранит единственный спрайт, его можно поменять в ноде. Т.е. у тебя есть один общий "шаблон персонажа" с анимацией, физикой, звуками прочим, а конкретные данные ты можешь вставлять из кода. Преимущество в абстракции шаблона от кода, т.е. эту анимацию можно будет поменять в одном месте без изменений в разных участках кода персонажей.
Конечно, если персонажей тысячи на экране, то там необходимы оптимизации... Для простой игры иметь несколько AnimationPlayer и AnimationTree не плохо.
Tween больше для анимаций GUI нужны, где сложно предугадать положение элементов на экране, а сами анимации никогда не будут слишком сложными. Для персонажей как минимум один AnimationPlayer нужен.
>стостояния кода
Ты можешь любые @export переменные менять же... Сеттеры вызываются как обычно. Если у тебя в коде реализован конечный автомат, можно легко сменить состояние прямо из анимации, просто через @export.
>вызовы функций
https://docs.godotengine.org/en/stable/tutorials/animation/animation_track_types.html#call-method-track
>про это подробней узнать с примерами
Ты документацию вообще не открывал?
https://docs.godotengine.org/en/stable/tutorials/animation/index.html

https://godotengine.org/article/jetbrains-joins-dev-fund-supports-godot/
> post83196ru-2307650080.jpg maxresdefault1-2-3246526380.jpg 1680217174papik-pro-p-arkanum-klub-romantiki-posteri-19-472031136.jpg FJVAJ4WWYAEU1PJ.jpg
Ну и гниды! Я выжму всю кровь из их мерзкого тела!
переходит в боевой режим

А все почему? А потому что в ушах у меня блютуз наушники. Такие дела.
>задержка звука, небольшая но явная
>потому что в ушах у меня блютуз наушники
1. Почему раньше об этом не знал? Недавно купил?
2. Разве задержка не ощущается в обычном плеере?
Сейчас у меня беспроводные наушники, но работают наподобие радио - без задержек. Раньше пробовал блютузные и задержку было заметно в плеере...
Блютуз вообще штука слабая и капризная. Какой-то морально устаревший формат для передачи текста максимум метров на 10. Зачем он сегодня нужен...
1. Купил давно, поэтому забыл.
2. В плеере не замечаю, потому что нет привязки к визуалу. А тут я подгонял звук к нужному визуальному моменту. В каком-нибудь каэсике тоже заметно было бы, но в них я не играю.
Странно. У меня все блютузное, включая мышку, не замечал. Окей, однажды был заметный лаг с мышкой, если та уходила в сон ради экономии энергии без движения. То есть заново подключалась можно сказать, не удивительно.