Gamedev

Ответить в тред Ответить в тред
Godot #18 Аноним # OP 09/07/20 Чтв 23:39:26 6818391
ОП-пикча 1000Кб, 912x1375
912x1375
Добро пожаловать в тред любви, взаимопомощи и роботов!

Ссылки
Скачать движок: https://godotengine.org/download/ или http://store.steampowered.com/app/404790/Godot_Engine/
FAQ: https://docs.godotengine.org/ru/latest/about/faq.html
Документация: https://docs.godotengine.org/ru/latest/ https://docs.godotengine.org/en/stable/
Примеры качаются прямо в движке через свой магазин в отдельной вкладке AssetLib. Там есть всё - от платформера до чата.
Игры, созданные глобальными кириллами: https://godotengine.org/showcase или https://steamcommunity.com/app/404790/discussions/0/412448792354265655/
Изумительный Годот: https://github.com/Calinou/awesome-godot - подборка дополнений, модулей и минишоукейс от одного из авторов.

Что нового в версиии 3.2.2.
1 Поддержка C# для платформы IOS (и без неё прожили бы)
2 2D батчинг для рендера GLES2 (и без него всё работало)
3 Ре-дизайн системы плагинов Android (что это? зачем? мабилке нинужна)
4 Поддержка DTLS и ENet (серваки пока что только под линуксом, для венды завезут ближе к 3.2.3. не корчи рожу)
5 Улучшенное управление Variants указывающими на высвобождённые Objects (ну теперь-то я зделою игру мечты)
https://godotengine.org/article/maintenance-release-godot-3-2-2

Годнота от анона
- Для приверженцев опенсорца существует возможность распространять проекты в незапакованном формате. Просто скачай темплейт с оф.сайта и положи экзешник/эльфешник в папку с проектом, этого достаточно. Дополнительно можешь вшить свою иконку в экзешник. После этого, запустившийся файл темплейта обнаружит рядом с собой файл project.godot и начнет грузить проект из него и из файлов, лежащих в распакованном виде в той же директории.
- В версии 3.2 появилась возможность прикреплять pck к бинарнику. Бриллиант для любителей однофайлового продукта!
- Редактор персонажей на основе makehuman: https://github.com/Lexpartizan/Go_MakeHuman_dot
- Все языки в одном месте: ##почили с миром##
- Тест-бенчмарк:
- - Веб-версия - https://govdot.herokuapp.com
- - Вишмастер для винды - https://govdot.herokuapp.com/4Anon.rar

Предыдущий тонет там: >>672108 (OP)

Архивы:
1 https://arhivach.ng/thread/207802/
2 https://arhivach.ng/thread/388500/
3 https://arhivach.ng/thread/388501/
4 https://arhivach.ng/thread/388502/
5 https://arhivach.ng/thread/388503/
6 https://arhivach.ng/thread/432708/
7 https://arhivach.ng/thread/433902/
8 https://arhivach.ng/thread/436355/
9 https://arhivach.ng/thread/455461/
10 https://arhivach.ng/thread/479963/
11 https://arhivach.ng/thread/489815/
12 https://arhivach.ng/thread/494513/
13 https://arhivach.ng/thread/515567/
14 https://arhivach.ng/thread/533171/
15 https://arhivach.ng/thread/555441/
16 https://arhivach.ng/thread/592945/
Аноним 09/07/20 Чтв 23:42:13 6818412
>>681839 (OP)
Надо будет на неделе бенчмарк проапгрейдить.
Аноним # OP 09/07/20 Чтв 23:43:08 6818423
>>681841
Я только за! Спокойной ночи, годаны!
Аноним 10/07/20 Птн 01:24:38 6818574
Когда в этом говне 2д физику пофиксят? Любые симуляции сложнее кучи мячиков начинают глючить, трястись и проваливаться. Хртьфу.
Аноним 10/07/20 Птн 02:03:02 6818625
Аноним 10/07/20 Птн 03:10:16 6818746
>>681857
>симуляции сложнее кучи мячиков
Разве физические симуляции делают на движках общего назначения? Тут нужно что-то узкоспециальное.
Аноним 10/07/20 Птн 03:28:10 6818767
>>681874
Ставишь в стак 10 квадратных ригидбоди и кидаешь на них еще один. Все поедет как желе.
Аноним 10/07/20 Птн 03:34:10 6818798
>>681876
А если не поедут то что?
Аноним 10/07/20 Птн 04:18:00 6818849
Аноним 10/07/20 Птн 04:21:59 68188510
>>681884
Поедут - годот говно, не поедут - он пидор, как то несправедливо.
Аноним 10/07/20 Птн 04:23:22 68188611
Аноним 10/07/20 Птн 04:34:15 68188712
image.png 32Кб, 1026x632
1026x632
>>681886
Только хотел сказать что у меня все ок, но увеличил вес брусков в 4 раза и понеслося.
Аноним 10/07/20 Птн 04:44:33 68188813
>>681887
С другой стороны, что это у тебя за игра, где куча тел охуенной массы падают с ускорением 39.2 метра в секунду?
Аноним 10/07/20 Птн 08:33:42 68189714
>>681862
Блять, подъёбка прилетела откуда не ждали. Все ссылки прочекал, кроме этой.
Аноним 10/07/20 Птн 12:53:10 68192515
>>681839 (OP)
Полезное с прошлого треда
----
Однажды долго искал, и нашел настройку сконса, отвечающую за кэш. Вроде бы, это не описано в доках годота, да и в самом сконсе закопано. Кэш позволяет сконсу не пересобирать то, что не менялось, таким образом, пересборка движка сведется к перекомпиляции пары файлов и (все равно долгой) линковке. Оставлю тут, вдруг кому пригодится
Надо завести переменные окружения
SCONS_CACHE=C:/путь_к_папке_где_хочешь_хранить_кэш
SCONS_CACHE_LIMIT=5000
Лимит в мегабайтах, т.е. в моем варианте 5Гб. Можно поставить 10-15 если есть место. Стереть можно в любой момент.
Аноним 10/07/20 Птн 14:13:54 68196916
>>681888
Это просто самый наглядный пример. У них в трекере открыто штук 10 похожих подтвержденных багов, где тела дребежжат, превращаются в желе или проваливаются друг в друга.
Аноним 11/07/20 Суб 08:58:27 68219817
15926437185760.gif 162Кб, 480x270
480x270
>>681969
Вполне возможно лечится повышением физического ФПС в настройках проекта.

Вот реальный баг который насилует годот, вызывая необратимые тормоза и они сохранятся даже после перезагрузки сцены.
https://github.com/godotengine/godot/issues/40059
Короче, не масштабируйте меши близко к нулю, с тенями ещё жёстче.
Аноним 11/07/20 Суб 09:04:53 68220118
>>682198
>после 10к кубов
Блять, проблема уровня Б прямо.
- Дохта, когда я делаю так, у меня болит.
- А вы так не делайте.
Что за игра такая где на сцене будет 10к динамичных кубов и больше и еще и тени отбрасывающих.
Аноним 11/07/20 Суб 09:07:18 68220219
>>682201
Ок, прочел коменты
>There is like 1.7k of objects on scene at any time. Every cube dies after 2-3 seconds.
Все равно вопрос нахуя столько динамичных объектов на сцене? Назови мне игру где за раз столько объектов с динамическими тенями?
Аноним 11/07/20 Суб 09:56:14 68220720
Какого-то хрена area2d(который player из туториала first game) не хочет двигаться,то есть менять позицию, когда нажимаю стрелки он перемещается на 1пиксель и тут же возвращается назад. При чем пол года назад я уже проходил этот тутор и все было хорошо, а тут какой-то ужас + проблемы с сигналами, которые не видят методов. Делал все на шарпе, может кто-то знает в чем дело.
Аноним 11/07/20 Суб 11:00:07 68221221
1594419468771.jpg 298Кб, 750x771
750x771
>>682202
Там по ссылке специальные синтетические тесты устраивают поток шкварных объектов. Чтобы каждую секунду появлялись сотни объектов калечящих годот и заставляющие его как минимум течь памятью. Просто в реальных условиях реальной игры у тебя момент когда ты заметишь пиздец с производительностью начался - наступит значительно позже чем в синтетическом тесте.
Аноним # OP 11/07/20 Суб 11:19:04 68221922
>>682212
> в реальных условиях реальной игры
Вне зависимости от 2д/3д, будут конфигурируемые в настройках радиусы уровней детализации по ряду параметров (трава, деревья, кубы, пирамиды), согласно данной настройке в пул предзагрузки будет попадать строго определённое количество нод-сцен. А в действующем дереве сцены из них будет строго ограниченное радиусом из настроек количество. Я конечно сейчас с дивана пишу, но тем не менее, ИМХО, траблы с производительностью происходят из недостаточно проработанной архитектуры проекта. Когда программист вместо того, чтобы сесть и спроектировать проект, а потом кодить строго по проекту, ебошит код по заветам Хуана "пишите, как пишется".
Аноним 11/07/20 Суб 11:23:05 68222023
>>682219
Ты реально фигню щас морозишь не по теме. Скачай вторую сцену и затесть
Аноним # OP 11/07/20 Суб 11:25:32 68222124
>>682220
Лень. Пойду лучше пивка жахну. Жара - пиздец!
Аноним 11/07/20 Суб 11:52:06 68222925
>>682201
Какая нибудь гиперкажуалка где надо кликнуть на экран и вокруг нажатия все кубы резко начинают скукоживаться.
Аноним 11/07/20 Суб 13:29:41 68224426
Аноним 11/07/20 Суб 17:21:41 68227927
Постите свои игры
Аноним 11/07/20 Суб 19:16:36 68229428
>>682279
Не могу, важную механику пока не доделал, чтобы нельзя было пулями спамить.
Аноним 11/07/20 Суб 20:04:01 68230429
>>682294
Эм, таймер между атаками?
Аноним 11/07/20 Суб 20:07:15 68230530
>>682304
Нет, унылую атаку с нулём энергии.
Аноним 11/07/20 Суб 20:27:18 68231031
Как вы делаете игры без базового визуала? Вот прототип например. Я не могу начать делать кор. механики потому что у меня нет хотя бы частичного готового ГГ с наворотами, а не могу я его сделать потому что хуево рисую, в итоге уже дней 5 я то туторы по рисованию гуглю, то как сделать кор. механики и нихуя не продвигаюсь. Нет бы накидать все кубиками чтобы вообще понять как что работать будет, но нет, не лезет так.
Аноним 11/07/20 Суб 20:35:28 68231732
>>682310
Временного ГГ можно скачать с opengameart / sketchfab. Уровни рисовать CSG нодами.
Аноним 11/07/20 Суб 20:40:12 68232433
Снимок.PNG 18Кб, 205x415
205x415
>>682317
Я смотрел там, в итоге не нашел чего то подходящего с видом сверху, я сам вроде как начал рисовать, но вот нинравица мне, еще и который день руки не знаю как накидать. Еще и столкнулся с тем что от вида сверху в принципе проблема изобразить монстра чуть сложнее зомби, чтобы он не выглядел как каша пикселей.
Аноним 11/07/20 Суб 20:45:51 68232834
>>682310
Надо учиться, прокачивать воображение и уметь видеть свою игру за фиолетовыми прямоугольниками. Настоящие студии тоже так делают, потому что все работают одновременно, и высокополигональную модельку девочки-андроида с шикарной задницей ты получишь только к финалу разработки.

Или использовать плейсхолдеры, составлять новые модельки из старых и тырить всё подряд с опенгеймарта. Я тоже не умею работать с абстракциями, и сейчас прототип говна у меня собран из ассетов из интернета за исключением прото-говниста.
Аноним 11/07/20 Суб 20:46:28 68232935
>>682324
Укради пока чужое, перерисуй.
Аноним 11/07/20 Суб 20:50:21 68233136
>>682324
Мне кажется никто давно не делает чистый топ даун. Все же делают как бы под 45 градусов как бы снизу
Аноним 11/07/20 Суб 20:53:23 68233437
>>682331
Ну я и сам из чистого только subterrain могу вспомнить из последнего, и то она вышла года 4 назад..
Аноним 11/07/20 Суб 21:33:00 68234338
>>682334
Hotline Miami последняя (судя по гуглу) позже была. И 12 >>> 6 ещё есть, где вид со стороны сомбреро.
Аноним 12/07/20 Вск 13:27:05 68240239
>>682328
> и высокополигональную модельку девочки-андроида с шикарной задницей ты получишь только к финалу разработки.
И ЧСХ, машинная жизнь осталась слегка подредактированными плейсхолдерами-цилиндрами.
Аноним 12/07/20 Вск 19:36:19 68245440
>>682402
Приоритеты были расставлены правильно, тем более что цилиндры на ножках в итоге выглядят достаточно хорошо.
Аноним 13/07/20 Пнд 06:59:47 68252441
Сидишь такой думаешь, а пиксель арт это же изи, легко вкачусь за недельку, мало цветов, малый размер, легче рисования, на деле же ни разу не легче. Меньшем кол-вом цветов нужно так же уметь работать, разбираться в светотени, анатомии, уметь передать что либо парой пиксилей, разочарование...
Аноним 13/07/20 Пнд 07:39:30 68252842
>>682524
Сук тредом ошибся.
Аноним 13/07/20 Пнд 11:25:31 68255343
>>682528
Ну, в теории это тоже gaydev, так что не грусти.
Аноним 13/07/20 Пнд 12:54:48 68256344
>>682524
А ты делай абстрактные игры. Я вот год назад придумал игру про кляксу, которая ловит своим телом проплывающие мимо палки, а потом запускает их в боссов на одной чистой физике. Так и не начал делать эту шизу.
Аноним 13/07/20 Пнд 22:17:43 68263245
image.png 1167Кб, 1120x1120
1120x1120
image.png 616Кб, 600x600
600x600
Движок умеет резать картинки? Допустим я хочу сделать пятнашки для тренировки, но хочется из картиночек, что бы не так банально. То есть вот например есть картинка, и я хочу написать скрипт который бы её разрезал на нужное количество мне частей, и что бы каждая часть была бы объектом, который я потом буду натягивать наверное как спрайт для элемента поля, которое наверное у меня будет двумерным массивом.

Аноним 13/07/20 Пнд 23:19:06 68263746
1523141804359.png 128Кб, 1092x1080
1092x1080
>>682632
Для polygon2d можно назначить текстуру, вместе с отступом, масштабом, и uv координатами, что с помощью небольшой математики в скрипте делает то что тебе нужно.
Аноним 14/07/20 Втр 00:00:06 68264147
>>682632
У спрайта есть несколько параметров, содержащих слово region. Я бы через них делал. С ними довольно неудобно работать вручную (мышкой в редакторе), а вот из кода вполне легко.

Идея для игры 18+, только что придумал, но наверняка такая уже существует. Пятнашки на основе ню-фотографии (или арта, тут на вкус и цвет), у которой на самое пикантное место приходится пустая ячейка. Как только собираешь картинку, отсутствующая ячейка заполняется недостающей частью изображения, а там нутыпонел.
Аноним 14/07/20 Втр 00:44:08 68265048
>>682632
Самое быстрое решение такое: загружаешь картинку в спрайт и говоришь, что у тебя там якобы 4×4 кадра. Движок сам нарежет на 16 равных квадратов, дальше можно этот спрайт наклонировать и дать каждой копии свой номер кадра (один сделать невидимым). Но это, естественно, хорошо работает только для деления на равные кадры.
Аноним 14/07/20 Втр 03:55:01 68266549
>>682641
>Идея для игры 18+, только что придумал, но наверняка такая уже существует
Да, было такое. Еще в эпоху zxspectrum
Аноним 14/07/20 Втр 22:25:23 68280550
>>682637
>>682641
>>682650
Спасибо за советы, потыкался в общем в ручную мышеой и не понял все же как поделить кадр на части. Я еще полный нубас и прохожу базовые обучения, простите что подвел :(
Аноним 14/07/20 Втр 22:26:14 68280651
Аноним 15/07/20 Срд 02:34:24 68280952
Без имени.png 146Кб, 1920x1040
1920x1040
>>682805
Вот, смотри. Я просто создал спрайт, закинул в него текстуру и выставил hframes и vframes на 4 (как будто у меня спрайтшит из 16 кадров). Теперь меняя Frame я получаю каждый из этих отдельных кадров. Создай 16 таких спрайтов, расставь по местам, и у каждого поставь своё значение frame, а одному поставь visible = false. Теперь чтобы поменять два кадра местами, достаточно поменять местами их frame, а сами спрайты можно и не двигать. А можно и двигать, с помощью Animation Player можно сделать всё красиво. Валяй.
Аноним 15/07/20 Срд 06:10:03 68282153
>>682244
>От Gonkee матчасть по прыжкам подкатила:
>https://www.youtube.com/watch?v=K9g8TTFjIlY[РАСКРЫТЬ]
Но как же так? Математика ведь нинужна? Мне на ютупчике так сказали. А еще говорили, что программировать не нужно, хнык-хнык...
Сук, чет ржу.
>Для тех, кто прогудел в дудку первый курс универа.
Да ну, окстись, парабола и производные - это еще школьная программа, вот матрицы уже универ, да.
Аноним 15/07/20 Срд 06:37:57 68282354
>>682821
Ну если ты планируешь делать ассетфлиппер на готовых скриптах или простенькую пошаговую клеточную стратегию, то тут матан реально нинужон. Зависит от области применения.
Аноним 15/07/20 Срд 10:01:31 68283055
>>682821
> это еще школьная программа, вот матрицы уже универ, да
Согласен, начинается оно ещё в школе. Но именно на первом курсе универа это всё повторяется, закрепляется и увязывается с остальным матаном и ты понимаешь, что это реально нужная вещь, а не просто задрачивание бесполезной хуйни математичкой в школе.
Аноним 15/07/20 Срд 12:01:34 68284456
На улице +37⁰ градусов ёпта, жара вообще пиздец. Идеальная погода, чтобы остаться сидеть дома и делать игры. Согласны?
Аноним 15/07/20 Срд 12:06:23 68284557
>>682844
Не согласны. Идеально - зимой, когда за окном метель. Ммм... стимулирует творческий процесс! А летом лежишь на пляже, пьёшь пиво. Какие игоры? Выачом?
Аноним 15/07/20 Срд 12:07:03 68284658
>>682844
Блин, не совсем в тот тред написал, ну и ладно. Но жара реально пиздос
Аноним 15/07/20 Срд 12:08:02 68284759
>>682845
У меня на пляжах менты дежурят
Аноним 15/07/20 Срд 12:28:29 68285660
>>682847
Блять, купи им пива! Чо ты как тормоз?
Аноним 15/07/20 Срд 12:31:19 68285761
Проверка галки ОПа, куков и прочей хуйни.
Аноним 15/07/20 Срд 13:16:16 68286362
Аноним 15/07/20 Срд 16:01:03 68288063
На годо можно сделать игру типа сайлент хила?
Аноним 15/07/20 Срд 16:12:14 68288164
>>682880
Нет, кодзима запрещает.
Аноним 15/07/20 Срд 16:12:35 68288265
>>682880
Ну можно конечно. Правда большие уровни надо будет оптимизировать. Да и рисовать там много придется.
Аноним 16/07/20 Чтв 08:11:09 68292066
Аноним 16/07/20 Чтв 08:13:23 68292167
>>682920
Какой же атмосферный графон в Годоте, очень похож на Source Engine. Но тут в целом особенности дефолтной постобработки.
Аноним 16/07/20 Чтв 11:04:54 68293268
>>682863
>Сейчас в платформерах более продвинутые техники делают чем просто формула гравитации
Все эти техники - древние как говно мамонта и применялись еще на заре платформеров.
И, кстати, их использование не отменяет необходимости использования стандартной схемы гравитации для прыжков.
Аноним 16/07/20 Чтв 11:07:28 68293469
>>682932
Не использовались, шиз. Наоборот, на заре платформеров игра тебя наказывала за недолет или перелет. А не отматывала время и не сажала на краешек. И не считала сколько кадров ты стоишь не земле. Ты сам должен был нажимать прыжок вовремя.
Аноним 16/07/20 Чтв 11:13:34 68293670
>>682934
> Наоборот, на заре платформеров игра тебя наказывала за недолет или перелет
>время койота в марио
Аноним 16/07/20 Чтв 12:06:18 68294071
>>682920
Неудачное видео. Хоть бы ресурсы пропукали. И это всего в одной комнатке.
Аноним 17/07/20 Птн 00:08:43 68307272
Сделал двигающуюся платформу через Animation Player. При движении вместе с персонажем вверх оба слегка дрожат/мылятся, хотя ходить по лифту можно и прыгать с него тоже. Как чайнику такое пофиксить?
Аноним 17/07/20 Птн 01:40:32 68307873
>>683072
Мало инфы. Какие боди (ригид, кинематик), какой функцией двигаешь игрока, в каком process или physics process
Аноним 17/07/20 Птн 10:56:40 68309974
>>683072
> Как чайнику такое пофиксить?
Накинь на движущуюся платформу Area, в которой пропиши замену гравитации (Replace или Replace-Combine, но не Combine-Replace и не Combine, хотя, тут еще надо подумать); в этом случае платформа будет таскать за собой эрию, а эрия будет своей гравитацией самостоятельно таскать за собой все физические тела (кроме кинематиков, разумеется) на уровне физического движка.

Если же ты пользуешься кинематиками - то сам себе злобный буратино. Побежал за упрощением - получи подарочек - реализуй всю кинематику самостоятельно.
Аноним 17/07/20 Птн 11:18:40 68310375
>>683099
> Если же ты пользуешься кинематиками - то сам себе злобный буратино.
Кто, если не кинематик? Назови конкретное тело.
Аноним 17/07/20 Птн 15:29:00 68312676
>>683072
Готовое решение по платформам было у GameEndeavor'а, посмотри его.
Аноним 17/07/20 Птн 21:44:09 68318777
Начал делать 2д платформер, вроде все выходит, но не могу нормальный прыжок персонажу сделать. Реквестирую помощи нормального прыжка.
Пока у меня код выглядит так:
var jump = 100
func _physics_process(delta):
if Input.is_action_pressed("ui_jump"):
velocity.y = -jump
Аноним 17/07/20 Птн 21:48:09 68318978
>>683187
Да всё хорошо, наверное у тебя проблемы с падением.
Аноним 17/07/20 Птн 21:49:13 68319079
>>683189
С падением как раз все в порядке. А в коде который я отправил вместо прыжка персонаж летает, что мне и нужно исправить.
Аноним 17/07/20 Птн 21:55:23 68319280
>>683187
Ну а гравитация где?
Аноним 17/07/20 Птн 21:56:56 68319581
>>683190
То есть он не начинает падать, когда начался прыжок? Ну это всё-таки скорее с падением проблемы. Как на него действует сила тяжести?
Аноним 17/07/20 Птн 22:03:16 68319682
>>683192
>>683195
По какой-то причине во время нажатия кнопки прыжка гравитация на него никак не влияет, видимо это и есть то что мне надо исправить. Вопрос только в том как это сделать.
Аноним 17/07/20 Птн 22:20:03 68319983
>>683196
На самом деле всё довольно просто. Гравитация должна действовать на него всегда, если он не стоит на полу. Есть стандартный метод is_on_floor(), но он действует мутновато, или можно сделать ray_cast вниз, который либо пересекается с хитбоксом пола, либо нет (а лучше даже два, справа и слева).
Если персонаж летит, то velocity.y += gravity, а если стоит на земле, то velocity.y = 0. Ну а прыжок можно оставить как есть.
Аноним 17/07/20 Птн 22:32:45 68320484
>>683199
Попробовал добавить в функцию вот это:
if not $RayCast2D.is_colliding():
velocity.y += gravity
Все то же самое, но теперь игрок падает вниз с ебанутой скоростью. Прыжок все еще представляет из себя полет.
Аноним 17/07/20 Птн 22:34:19 68320585
>>683204
А. Я понял, я дурак. «is_action_just_pressed("jump")».
Аноним 17/07/20 Птн 22:48:21 68320886
>>683205
Уже лучше: прыжок теперь действительно работает. Правда теперь иногда если сойти с платформы в воздухе игрок продолжает шагать по воздуху. Ну и еще прыжки разной высоты почему-то выходят все время. Есть способы как это исправить?
Аноним 17/07/20 Птн 22:54:49 68320987
>>683208
>Ну и еще прыжки разной высоты почему-то выходят все время
На дельту гравитацию не умножаешь?
Аноним 17/07/20 Птн 22:57:12 68321088
>>683208
Проверь, не может ли ещё с чем-нибудь коллайдить твой луч, может быть с хитбоксом самого персонажа или каким-нибудь другим мусором.
Про разные прыжки — не забудь обнулять скорость, если стоишь, if $RayCast2D.is_colliding(): velocity.y = 0 перед кодом прыжка.
Аноним 17/07/20 Птн 23:05:09 68321289
>>683209
На дельту множать пробовал, проблема разных прыжков от этого не исчезает.
>>683210
Если я обнуляю velocity.y то персонаж ходит по воздуху, время от времени резко проваливаясь вниз.
>Проверь, не может ли ещё с чем-нибудь коллайдить твой луч, может быть с хитбоксом самого персонажа или каким-нибудь другим мусором.
Как это проверить?
Аноним 17/07/20 Птн 23:09:05 68321390
>>683212
В проекте включи отображение хитбоксов, проверь, нет ли мусора, не слишком ли длинный луч, кстати, его стоит сделать совсем коротким и опустить к ногам.
gravity явно надо сделать поменьше, если у тебя персонаж слишком быстро проваливается.
Аноним 17/07/20 Птн 23:10:07 68321491
>>683212
if $RayCast2D.is_colliding(): print ($RayCast2D.get_collider())
Проще всего проверять принтом.
Аноним 17/07/20 Птн 23:17:05 68321592
>>683214
Проверил. Персонаж почему-то видит тайлы в воздухе там где их нет
>>683213
Длина луча стоит "5"
Аноним 17/07/20 Птн 23:19:06 68321693
>>683214
Сами платформы (которые есть) он кстати видит только в момент приземления, а дальше - нет
Аноним 17/07/20 Птн 23:34:56 68321794
>>683215
Тайлы там, где их нет, могут появиться, если что-то сдвинулось (например у ноды тайлмапы координаты на (0,0), а куда-то поехали). В общем, у тебя какое-то неожиданное поведение, проблема где-то в другом месте, по описанию не вычислить.
Аноним 18/07/20 Суб 01:25:52 68322195
Анон, а помоги кватернионы победить.

Решил тут забабахать на прошлой неделе спутник вокруг планеты с возможностью изменять орбиту в процессе. Сперва хотел сделать орбиту по сложным формулам, потом понял, что перебор и что-то не то. Решил проще. Эмпирическим путём с использованием листа бумаги, пластикового шарика, расчерченного простым карандашём и школьного курса геометрии пришёл к тому, что кое-как просчитывал тетта в развисимости от скорости и известного фи.
Получилось примерно ровное орбитальное движение. Кроме того факта, что пидорасить иногда начинает (плюс я не описывал всякие пограничные случаи - прототип же). Но, например, спутник просто бесконечно ускоряется. Но не это проблема.
https://pastebin.com/shGDzxW8
Этот код запускает falcon 9 мой спутник Swan.

Вчера я узнал про кватернионы, ещё раз понял, что неделю делал не то. Но вот кватернионы раскусить не могу. Вот это проблема. На годофорумах нашёл пару тем, там какие-то обрывки, понятнее не стало вообще.
Может кто-то краткий пример рабочий показать?
>>682324
Марин какой-то.


Аноним 18/07/20 Суб 01:35:20 68322296
>>683221
Если с кватернионами лётчик выходит, и комплексные числа не любишь, используй матрицы поворота и углы Эйлера, они более естественны, первый курс линейной алгебры/механики твёрдого тела.
Кватернионам мало где учат, потому что в доконпуктерную эру их нигде толком и не применяли, но вообще там тоже несложно: кватернион — надстройка над комплексным числом с тремя мнимыми единицами, нам нужно только уметь их перемножать и ввести правило, по которому они ставятся в соответствие поворотам на разные углы. А эти правила есть хоть в той же Википедии.
Аноним 18/07/20 Суб 01:47:56 68322397
>>683221
Читни задача n тел, там легко же.
Аноним 18/07/20 Суб 13:25:03 68324798
Сап. Начал пилить платформер на годоте, но столкнулся с такой херней: персонаж почему-то немного трясется когда горизонтально перемещается. Движение по горизонтали делаю так:
if Input.is_action_pressed("ui_left"):
velocity.x = -sp33d
elif Input.is_action_pressed("ui_right"):
velocity.x = sp33d
else:
velocity.x = 0
Как фиксить?
Аноним 18/07/20 Суб 14:45:16 68326199
>>683247
Код норм. Проблема в другом месте.
Аноним 18/07/20 Суб 15:54:41 683271100
>>683247
Делай это в _physics_process()
Аноним 18/07/20 Суб 17:57:44 683327101
Поделитесь хорошим манулом по гую/менюшкам. У меня всё какое-то говно выходит не расайзуемое.
Аноним 18/07/20 Суб 18:42:55 683342102
>>683327
Кури мануалы по вебу, гораздо толковее будет. В годоте гуи сделаны по принципам веба. И если умеешь верстать страницы, в годоте просто охуеешь от удобства.
Аноним 18/07/20 Суб 18:49:42 683346103
Аноним 18/07/20 Суб 19:37:28 683357104
>>683223
Я знаю (интерес к астрономии уж лет 20 - обитаю в spc уж сколько), но когда дло доходит до реализации...
>>683222
Спасибо. Кстати. Несколько раз встречал на годоторесурсах советиспользовать трансформы, а не кватернионы. Это чем-то особенным вызвано?
Аноним 18/07/20 Суб 19:52:40 683359105
>>683357
Кватернионы не умеют в позиционирование и в разный масштаб по осям. В годоте можно получить кватернион из базиса трансформы, покрутить-послерпать и записать обратно.
Аноним 18/07/20 Суб 19:58:20 683361106
>>683346
Читал, пытался, но как-то не разобрался в их свойствах.
Ладно, попробую ещё потыркаться.
>>683342
Только на голеньком html в школе делал. Но это было ещё при первом Путине.
Аноним 18/07/20 Суб 23:57:02 683391107
Одни хвалят матрицы трансформации.
Другие хвалят квартенионы.
Кому верить, если проверить не хватает мозгов?
Аноним 19/07/20 Вск 00:12:34 683394108
1541915994668.jpg 40Кб, 694x348
694x348
>>683391

Вообще, зачем нужен кватернион - он поворачивает по всем 3-м осям одновременно. В обычном случае тебе придется
1) Определить порядок поворота и нигде и никогда его не путать. rotate_x(a).rotate_z(b) не то же самое что rotate_z(b).rotate_x(a).
2) Гимбал лок - при определенных углах поворотах у тебя две оси "схлопнутся" навсегда и будет непонятно как вычислять дальше.

Кватернионы не нужны, если у тебя например туррель, в которой башня поворачивается только на оси Y, а пушка - чайлд нода, которая ходит только вверх-вниз. Тогда, понятно, что намного проще просто поворачивать их на заданный угол.
Квартернионы скорее всего не нужны если у тебя шутер без наклона головы. Если тебе захочется плавного сглаживания мышки, то
>можно получить кватернион из базиса трансформы, покрутить-послерпать и записать обратно.
Квартернионы нужны, если у тебя свободная ориентация камеры космосе.
Все имхо могут быть неточности в терминологии.
Аноним 19/07/20 Вск 01:11:17 683413109
Аноним 19/07/20 Вск 01:27:31 683418110
>>683413
Обычно с этим сталкиваются с кубиком Рубика.
Аноним 20/07/20 Пнд 20:29:03 683793111
ошибка.jpg 35Кб, 557x240
557x240
Пытаюсь сделать чтобы персонаж стрелял, вот такой код:
func _physics_process(delta):
if Input.is_action_pressed("ui_shoot"):
shoot()
func shoot():
var snowball = load("res://snowball.tcsn")
var bullet = snowball.instance()
add_child_below_node(get_tree().get_root().get_node("Game"), bullet)
Когда нажимаю на кнопку выстрела выдет ошибку пикрил. Что с этим делать?
Аноним 20/07/20 Пнд 20:55:40 683806112
>>683793
Это означает, что ты вызываешь instance() на объекте, который не инициализирован (= null)
Возможно ты опечатался в пути к сцене. Проверь большие, маленькие буквы, папки.
Вообще прям так делать как у тебя не стоит. Ты же на каждый выстрел загружаешь файл заново. Вынеси эту переменную в начало скрипта, вне функций и вызови preload вместо load
onready var snowball = preload("res:/...")
Аноним 20/07/20 Пнд 21:04:55 683810113
>>683806
> Возможно ты опечатался в пути к сцене
Или можно просто перенести сцену в код как обычный файл и путь пропишется сам.
Аноним 20/07/20 Пнд 21:42:38 683818114
>>683806
Спасибо, анон.

Теперь возникла другая проблема: вместо того чтобы лететь по заданной траектории, пуля останавливается в центре игрока, причем пули которые были поставлены на уровне через редактор работают нормально. Убирать коллизионшейп пули пробовал, ничего от этого не меняется.
Также при нажатии на кнопку выстрела выдается вот такая ошибка в отладчике: add_child_below_node: Cannot move under node
В чем тут проблема и как ее решить?

Аноним 20/07/20 Пнд 21:47:01 683820115
Аноним 20/07/20 Пнд 21:52:11 683822116
>>683820
Делаю я по туторам, но просто после туториалов всёравно остаются ошибки, хотя делаю все вроде так как там.
За ссылку благодарю, видос обязательно гляну. Надеюсь поможет.
Аноним 20/07/20 Пнд 21:54:48 683824117
>>683818
>лететь по заданной траектории
Каким образом ты задаешь траекторию?
>add_child_below_node
Зачем тебе именно below? Пользуйся просто add_child. below означает "ниже в списке", а не "ниже по иерархии дерева"
>выдается вот такая ошибка в отладчике
Аноним 20/07/20 Пнд 21:55:37 683825118
>>683822
Ну значит пересматривай и перепроверяй, я так же ошибся пару раз за тутор, пол дня не мог понять почему не работает, в итоге букву пропустил, анон это заметил, я же перечитывая строчки когда раз 10 нет, глаз замыливается.
Аноним 20/07/20 Пнд 22:00:14 683826119
>>683824
>Каким образом ты задаешь траекторию?
extends KinematicBody2D
var velocity = Vector2()
func _ready():
velocity.x = 160
func _physics_process(delta):
move_and_slide(velocity)
>Зачем тебе именно below?
Так было в туториале и по другому игра просто крашилась выдавая ошибку
Аноним 20/07/20 Пнд 23:58:59 683851120
>>683825
Хех, тот анон в треде!
>>683822
Еще попробуй текстовые туториалы на офиц сайте из шапки. Проще копипиздить готовый код.
Аноним 21/07/20 Втр 00:29:51 683855121
>>683851
Какой самой легковесной нодой сделать неподвижную платформу? Ей не нужна физика, на ней нужно просто стоять.
Аноним 21/07/20 Втр 00:30:10 683856122
>>683855
Ссылка просто так прилепилась, мои извинения.
Аноним 21/07/20 Втр 00:32:05 683857123
>>683855
Всё, нашёл static body. Столько шума на пустом месте я ещё никогда не поднимал.
Аноним 21/07/20 Втр 11:13:34 683921124
Вот хочу я замутить пиксельную игру в чем-нибудь типо 320x240. Но заметил что разрабы скейлят текстурки и вместе с ними разрешение в 2-3 раза. В чем профит этого? Единственное что приходит в голову - какие-нибудь шрифты или UI можно сделать меньшими пикселями чем всю остальную игру и засунуть туда больше инфы. Ради этого?
Аноним 21/07/20 Втр 11:32:56 683923125
>>683921
Попробуй повернуть спрайт оригинального размера для игры такого разрешения и апскейленный. Ну это что первое в голову пришло.
Аноним 21/07/20 Втр 13:24:41 683946126
>>683921
>Но заметил что разрабы скейлят текстурки и вместе с ними разрешение в 2-3 раза.
>В чем профит этого?
Современнные мониторы хреново, переключают разрешение, предпочитая работать в нативном для них. Поэтому ты вибираешь базовое разрешение для своей игры и потом скейлишь его выбранным способом. Если это пиксельарт, то скейлить надо в целочисленном выражении, иначе будет смотреться как говно. Есть правда один способ, как скейлить пиксельарт на не целые числа, но на готовых движках ты его не реализуешь, надо свой рендер писать.
>>683921
>Единственное что приходит в голову - какие-нибудь шрифты или UI можно сделать меньшими пикселями чем всю остальную игру и засунуть туда больше инфы.
Нет, так только пидоры делают. Ну уподобляйся.
Аноним 21/07/20 Втр 13:25:08 683947127
>>683946
>Ну уподобляйся.
Не уподобляйся (быстрофикс)
Аноним 21/07/20 Втр 13:44:09 683950128
>>683820
Посмотрел видео и вообще нихуя не понял. Он как-то вообще по другому кодит
Аноним 21/07/20 Втр 13:57:08 683955129
>>683950
Судя по коду выше в треде, если код там твой, то вынужден констатировать факт, что ты вообще основ информатики не знаешь и надо бы тебе их подучить, прежде чем лезть в геймдев. Геймдев это сложная индустрия (она тебя сожрёт), берущая в себя самые совершенные методики кодинга, а ты даже сделать переменной линк на сцену в коде не догадался. Это классика, блять, это знать надо ДО того как решил в геймдев вкатиться.
Аноним 21/07/20 Втр 14:08:48 683959130
>>683950
Посмотри с первой серии, продолжительностью они по нихуя, английский особо не надо, все понятно, у меня все работало, когда делал как он и код понятный. Ты главное комменти код пидр чтобы знать что понаписал!
Аноним 21/07/20 Втр 14:12:09 683962131
Нормальный ЯП к годоту так и не прикрутили?
Аноним 21/07/20 Втр 14:25:59 683965132
Аноним 21/07/20 Втр 14:30:37 683968133
>>683965
Он же сказал нормальный, нет бы джаву или пхп прикрутили.
Аноним 21/07/20 Втр 14:41:37 683973134
>>683968
Ничего что шарп это пропиретарная жава? И да это нормалый ЯП, не то уродство на основе питона что изначально было.
Аноним 21/07/20 Втр 15:04:08 683980135
>>683973
>шарп это пропиретарная жава?
Уже давно свободный.
Аноним 21/07/20 Втр 15:05:54 683981136
Аноним 21/07/20 Втр 16:05:09 683999137
>>683946
>Поэтому ты вибираешь базовое разрешение для своей игры и потом скейлишь его выбранным способом. Если это пиксельарт, то скейлить надо в целочисленном выражении, иначе будет смотреться как говно.
Так годот кажись все текстурки автоматом скейлит при ресайзе окна, ну то есть если запустить игру в 320x240 и растянуть с keep aspect, то он просто их сам как подобает увеличивает.
Аноним 21/07/20 Втр 17:03:38 684018138
>>683999
> кажись
> keep aspect
Там не одна эта настройка. Там можно несколько вариантов масштабирования применять.
Аноним 21/07/20 Втр 18:00:06 684040139
>>683999
pixel-perfect скалирование не так просто работает, там надо самому немного считать, грубо говоря до какого то разрешения держать х2, потом переходить на х3.
Аноним 21/07/20 Втр 18:08:15 684044140
>>684040
> там надо самому немного считать
Хули там считать? Берёшь и округляешь до целых (целого пикселя) без задней мысли. Движок делает это за тебя автоматически.
Аноним 21/07/20 Втр 18:10:22 684047141
>>684044
Ты вообще не понял о чем речь.
Аноним 21/07/20 Втр 19:48:26 684062142
>>684047
Вообще-то понял, а ты свой доёб обосновать не сможешь.
PTPI
Аноним 21/07/20 Втр 21:24:39 684096143
>>684044
>Движок делает это за тебя автоматически.
Ни-ху-я.
Аноним 22/07/20 Срд 07:31:08 684143144
>>684062
Ну тогда покажи пример.
Аноним 22/07/20 Срд 20:48:43 684337145
Парни, а есть простой встроенный метод для объединения словарей?
Типа такого:
var d1 = {"one" : 1, "two" : 2}
var d2 = {"three" : 3, "four" : 4}
var d3 = unite(d1, d2)
#теперь d3 это словарь, который содержит "one" : 1, "two" : 2, "three" : 3, "four" : 4
Аноним 22/07/20 Срд 21:07:24 684340146
>>684337
Проверь просто d3 = d1 + d2
Аноним 22/07/20 Срд 22:11:16 684362147
>>684340
Проверил до того, как спросил. Не работает.
Аноним 22/07/20 Срд 22:19:13 684363148
>>684362
Я затупил, это ж не массив.
Вообще не уверен что для словарей такая операция имеет смысл - ключи же могут совпасть. Объединяй сам явно.
Аноним 22/07/20 Срд 22:32:35 684368149
>>684337
Не может быть простого и удобного всем метода для объединения словарей. Что делать с под-словарями? Записывать как ссылку или дубликат? Что делать с совпадающими ключами? Дублировать? Перезаписывать? Метод, который бы описывал все варианты, обладал бы кучей запутанных аргументов. Поэтому надо писать свой, подходящий под твои задачи.
Вот здесь юзеры написали несколько вариантов: https://godotengine.org/qa/8024/update-dictionary-method выбери понравившиеся.
Аноним 22/07/20 Срд 23:00:32 684373150
>>684368
Спасибо, анончик.
Насчёт под-словарей вообще странный вопрос. Словарю должно быть всё равно, что у него внутри. А вот насчёт совпадающих ключей... ну фиг знает, на мой взгляд, такая функция должна перезаписывать их по умолчанию.
Ок, к счастью, у меня простой случай без вложенных массивов и совпадающих ключей (а если и совпадут, то перезапишутся), так что объединю по старинке, циклом.
Аноним 22/07/20 Срд 23:09:34 684378151
>>684373
> Словарю должно быть всё равно, что у него внутри.
А тебе - не всё равно. Ты, например, сделал словарь-шаблон и пихаешь его подсловарём в рабочие словари, потом без задней мысли пишешь в него данные, потом без задней мысли копируешь рабочие словари. А потом хуяк!
Сам на такое натыкался. Впрочем, лечится быстро и легко встроенным методом duplicate()
Аноним 22/07/20 Срд 23:18:01 684380152
>>684378
>Ты, например, сделал словарь-шаблон и пихаешь его подсловарём в рабочие словари, потом без задней мысли пишешь в него данные, потом без задней мысли копируешь рабочие словари. А потом хуяк!
Ну, тут однозначно ССЗБ
Аноним 22/07/20 Срд 23:27:16 684383153
>>684380
Хуйня случается. Главное - оперативно разрулил.
Аноним 22/07/20 Срд 23:56:55 684387154
image.png 73Кб, 829x846
829x846
Ребят, у вас вкат в интерфейс занял долго? Я на работке херачу обычном скриптовом языке в котором ты ничего не накликиваешь обычно, а хуяришь код и все задачи выполняешь тоже кодом, а сейчас делаю обучение и ощущаю себя так что меня нужно еще пару месяцев за руку водить. Туча разных нод, сигалы всякие, сейчас пока делал базовый урок - чуть не охерел от того что не законнектил таймеры со скриптом и просто ничего не работало, без всяких там фаталов и прочего.
Ну вроде вот победил - можно меня поздравить.

Опять же ощущение что хоть и выполнил урок кое-как, то самому подобное повторить подобное сейчас пока нереально. Хоть еще 3 раза перепроходи и запоминай что и зачем куда накликивал да кури каждую функцию.
Аноним 23/07/20 Чтв 01:03:11 684393155
>>684387
>ничего не накликиваешь обычно, а хуяришь код и все задачи выполняешь тоже кодом
1. открой папку проекта в проводнике виндовс
2. большинство файлов можно открыть обычным блокнотом как текст
3. изучаешь структуру кода
4. пишешь такой же, только вручную, в любом удобном текстовом редакторе
Но это извращение какое-то, конечно.
Аноним 23/07/20 Чтв 01:10:19 684394156
>>684387
Ты можешь накликивать поменьше, а хуярить кода побольше. Я тоже всю жизнь писал на сях и паскалях, пытался велосипедить свои игоры на них, но особенных проблем с переходом как-то не возникло. Попробуй сделать какую-нибудь свою игру. Воспринимай ноды как просто классы, поля в которых ты задаёшь в гуе, но методы ты всё равно пишешь в скриптах кодом. (Кроме стандартных, конечно, но стандартные описаны в документации.)
Аноним 23/07/20 Чтв 01:13:04 684395157
>>684393
>>684394
Спасибо. Да я все понимаю, просто я старый уже, и очень тяжело учиться на новом стеке. Пиздец мозг закостенел и лень. Прост так маленько поныл что бы выговориться.
Аноним 23/07/20 Чтв 01:32:25 684396158
>>684395
Давай, трудись. Я тоже в 30 вкатился, и ничего. Через полгодика мой красивый и умный бот уже зачищал данж от тупых зомбей. На самом деле у них был примерно одинаковый интеллектуальный уровень, просто у бота ещё и был лук.
Аноним 23/07/20 Чтв 13:53:03 684459159
>>684387
Строго говоря, если тебе не подходит их интерфейс, ты вообще можешь им не пользоваться. Создать просто спрайты (точнее Area2D) и у них в input обрабатывать... Или вообще координаты проверять.
Аноним 23/07/20 Чтв 14:01:59 684464160
>>684459
Если ещё строже говоря, можно открыть сорцы движка в ИДЕ и лепить поверх него свою игру на крестах. А потом сконпелировать. Можно вообще отказаться от системы нод и юзать только импортеры ресурсов, а игровую логику построить на своём велосипеде. Таким образом движок выступит в роли уже написанного Хуаном за тебя бойлерплейта.
Аноним 23/07/20 Чтв 14:03:22 684467161
>>684395
> просто я старый уже
Годот! Сделано олдфагами для олдфагов!
Аноним 23/07/20 Чтв 19:33:48 684669162
1528912135789.mp4 35544Кб, 1920x1080, 00:00:50
1920x1080
Аноним 23/07/20 Чтв 19:34:46 684671163
1575837675434.mp4 33625Кб, 1920x1080, 00:00:46
1920x1080
Аноним # OP 23/07/20 Чтв 20:51:23 684706164
>>684671
>>684669
Каеф! Пойдёт в шапку, если не забуду.
Аноним 24/07/20 Птн 01:42:27 684815165
1511784398884.mp4 13736Кб, 1920x1080, 00:00:37
1920x1080
Это войдет в бенчмарк, когда я наконец доберусь его допилить.
Аноним 24/07/20 Птн 05:15:59 684856166
>>684815
>в бенчмарк
Добавь еще мелодию какую-нибудь на фоне с возможностью отключения, чтобы сразу протестить, насколько звук на производительность влияет.
Аноним 24/07/20 Птн 07:49:51 684866167
>>684856
Это да. Я все время забываю вставить музыку.
Аноним 24/07/20 Птн 16:36:14 684983168
Суп, /gdt/, есть одна ошибка «body_get_direct_state: Condition "!body->get_space()" is true. Returned: __null», которая вылезает у всех нубов, которые начинают перекидывать всякую хрень между уровнями. Вылезает на первом вызове «move_and_slide», и больше нигде не гадит.
На новой стартовой позиции никаких коллизий, естественно, нет, она висит в воздухе.
Аноним 24/07/20 Птн 16:56:29 684989169
>>684983
Сложно сказать. Рассказывай как перекидываешь.
Аноним 24/07/20 Птн 17:39:07 684998170
>>684983
> Вылезает на первом вызове «move_and_slide», и больше нигде не гадит.
Т.е. просто пишет в лог об ошибке и всё, да?
Аноним 24/07/20 Птн 19:43:59 685030171
>>684998
Да, ничем не мешает. Если это какая-то о-о-очень глубокая особенность движка, я готов забить.
>>684989
На самом деле я даже не перекидываю, это я написал не вполне корректно. И уровень и прото-говнист — дети корневой ноды, поэтому я просто удаляю старый уровень из дерева, добавляю новый уровень, меняю их местами, чтобы ГГ был выше террейна, перемещаю его в точку спавна на уровне (у всех нод начало координат в нуле, так что всё попадает куда нужно), и иду играть.
Аноним 24/07/20 Птн 23:49:51 685088172
Годаны, наверняка, кто-то с этим сталкивался.
Имеем дверь - AnimatedSprite. У двери две анимации: open и close. На каждую анимацию есть несколько разных картинок: варьируется расцветка и степень поломанности. В каждой картинке одинаковое количество кадров.
А теперь вопрос. Как быстро ИЗ КОДА заменять эти картинки? И как ИЗ КОДА узнать адрес используемой в данный момент картинки? Я просто раньше это делал только из редактора, а сейчас дошли руки до сохранения/загрузки, встал вопрос о том, чтобы загружать точно такую же дверь, которая и сохранялась.
Аноним 24/07/20 Птн 23:57:20 685092173
>>685088
У него есть int frame, меняешь/читаешь его — получаешь номер кадра.
Аноним 25/07/20 Суб 00:03:44 685093174
>>685092
Бро, ложись спать, у тебя уже внимание слишком рассеянное.
Аноним 25/07/20 Суб 00:11:27 685094175
Аноним 25/07/20 Суб 10:18:09 685135176
>>685088
Не знаю что ты подразумеваешь под "адресом" используемой картинки. Но при загрузке это так не работает - в программе все адреса сменятся. А из за многопоточности ты даже не можешь быть уверен что у них порядок в памяти после загрузки будет такой же.
Тебе надо организовать все так, чтобы ты точно сам контролировал. Вижу тут два пути - если у тебя все-все двери в одном атласе, то анимация открывания обычной двери это кадры 0..3, закрывания 4..7, открывания сломанной двери 8..11 и так далее - то как написал этот анон >>685092
Если у тебя разные картинки, то тебе надо завести массив SpriteFrames.
Вот что то типа такого васянства:
onready var doors = [ preload("res://normaldoor_spriteframes.tres"), preload("res://brokendoor_spriteframes.tres"
) ]
...
func _ready():
frames=doors[0]
(frames во множ.числе)
Сами spriteframes можешь тупо сохранить из редактора
Аноним 25/07/20 Суб 10:18:49 685136177
Хосподе уже 3.2.3 Rc1 как же летит время
Аноним 25/07/20 Суб 12:38:14 685171178
>>685135
>Не знаю что ты подразумеваешь под "адресом" используемой картинки.
Путь к файлу.
Аноним 25/07/20 Суб 14:45:17 685251179
>>685088
Чел, я понял. что ты хочешь. Вечером, если протрезвею, напишу как я подобную шнягу делал, только для смены скина игрока.
Аноним 25/07/20 Суб 14:54:14 685258180
>>685251
Опять все в говно, даже я пью, охуенное программирование.
Аноним 25/07/20 Суб 16:45:02 685312181
Аноним 25/07/20 Суб 16:50:44 685314182
>>685088
> Как быстро ИЗ КОДА заменять эти картинки? И как ИЗ КОДА узнать адрес используемой в данный момент картинки?
Отвечает Александр Друзь:
Никак. Нирикаминдую такой подход. Перепроектируй дизайн с другой стороны: У тебя есть объект (дверь). У объекта есть состояние (из набора допустимых состояний). Объект может получать сигнал об изменении своего состояния (при вызове своего метода set_state). При изменении своего состояния он самостоятельно меняет свои внутренние параметры, в том числе картинку/текстуру. Если тебе нужно узнать, какое у объекта сейчас состояние, сделай метод get_state. Если тебе нужно чтобы объект передавал ссылку на свою текущую текстуру, сделай метод get_texture. Надеюсь, ума хватит, как создать такие методы? Там блять по одной двум строчкам кода.
Аноним 25/07/20 Суб 20:22:24 685366183
>>685314
> никак
Да ты че, я же уже показал как в пару строчек: >>685135
Аноним 25/07/20 Суб 20:34:20 685378184
>>685314
>При изменении своего состояния он самостоятельно меняет свои внутренние параметры, в том числе картинку/текстуру.
Так-так-так, секундочку. Именно об этом был вопрос: как поменять картинку/текстуру ИЗ КОДА? Мне же надо как-то описывать изменение состояния.
Аноним 25/07/20 Суб 20:50:55 685387185
>>685378
enum DoorTypes { Normal, Broken, Diabolic }
export var door_type = DoorTypes.Normal
Аноним 25/07/20 Суб 20:51:35 685388186
>>685378
>как поменять картинку/текстуру ИЗ КОДА?
Ты специально не читаешь что тебе пишут? >>685135
onready var doors = [ preload("res://normaldoor_spriteframes.tres"), preload("res://brokendoor_spriteframes.tres"
) ]
...
func _ready():
frames=doors[0]
Аноним 26/07/20 Вск 01:25:20 685469187
>>685388
>tres
Это, по-твоему, картинка?
Данное решение, конечно, работающее, но есть у него одна важная проблема: оно требует дополнительной конвертации ресурсов. То есть, нельзя просто так взять и нарисовать новую картинку, нужно из неё делать ресурс, сохранить отдельным файлом, а потом грузить уже его. Костыльно. А если картинок много? И вообще, с таким подходом проще делать каждую дверь отдельной сценой и вообще ничего не грузить: файлов получится столько же, а кода меньше.
Аноним 26/07/20 Вск 04:13:38 685481188
>>683962
Так там C++ же есть.
Аноним 26/07/20 Вск 11:14:22 685506189
>>685469
> оно требует дополнительной конвертации ресурсов
Это пример. Замени там tres на png и будут тебе текстуры в массив прелоадиться. Без дополнительных конвертаций. Затем (приблизительно так) sprite.texture = frames[0]
Аноним 26/07/20 Вск 12:19:43 685534190
>>685506
>(приблизительно так)
Вот теперь раскрой скобки. Потому что именно в них и содержится мой вопрос. Всё остальное я и без тебя знаю.
Аноним 26/07/20 Вск 13:12:10 685543191
>>685469
Я тебя понял, видимо AnimatedSprite рассчитан на другой юз кейс. Он очень упрощен. А ты хочешь один раз разметить анимации и кадры, а потом подложить новую картинку с точно таким же расположением кадров на ней. Тут логичнее делать на просто Sprite с SpriteSheet + AnimationPlayer.

Если же тебе надо именно AnimatedSprite. Это возможно, но все равно будет костыльно. Во-первых, ресурс spriteframes в текстовом редакторе, или скриптом. Просто копируешь и меняешь в нем имя картинки. Во-вторых, можно склонировать spriteframes, т.е. взять готовый, создать новый, и добавить в него по очереди все анимации и все кадры, подставляя другую картинку, но это тоже чего то многословно. Строчек 20 будет.
Аноним 26/07/20 Вск 13:40:15 685553192
Секрет бобра.jpg 16Кб, 360x514
360x514
>>685543
>Тут логичнее делать на просто Sprite с SpriteSheet + AnimationPlayer.
Знаешь, а ведь верно. Почему-то я упёрся именно в анимированный спрайт, типа, это же специализированное решение для простых пиксельных анимаций, и совершенно проигнорировал такую вот возможность. А ведь с анимейшон-плеером можно обойти несколько не очень удобных костылей, которые пришлось добавить в код: например, инвертирование направления открытия.
Пожалуй, да, так и сделаю.
Не так, как предполагалось, но ты мне помог. Бобра тебе.
>Он очень упрощен.
Скорее он недостаточно усложнён. Позволяет подгружать индивидуально текстуры для каждого кадра анимации, но не даёт к ним доступа. Кажется, будто разрабы начали пилить ноду для анимации, но потом забили, потому что сделали универсальный анимейшонплеер.
Аноним 26/07/20 Вск 13:44:58 685555193
1539555139229.png 115Кб, 1023x975
1023x975
>>685543
Вот собственно весь код (ну единственное что я гружу одну картинку. Там может быть массив, либо вообще сканировать всю папку)
Аноним 26/07/20 Вск 13:46:35 685557194
>>685553
Не, я так понял что его добавили позже, именно для случаев когда нет нужды прикручивать аниматор только ради такой анимации.
Аноним 27/07/20 Пнд 03:50:12 685777195
image.png 184Кб, 1875x1736
1875x1736
Нуфаня в треде.
У меня вопрос, где вы обучались кодить в mono версии, если здесь такие есть?
В том смысле что я хоть и учусь кодить на плюсах/шарпе уже несколько месяцев, но нормального, не то чтобы описания, а логики применения функционала/классов нигде не описано. В результате не знаю даже как kinematicbody заскриптить самостоятельно. Более менее нормальную схемку нашёл в жопе документации, но это лишь взаимосвязь классов.
Аноним 27/07/20 Пнд 05:32:33 685778196
doorsskins.png 122Кб, 990x1234
990x1234
>>685088
Вобщем, шалом. Я протрезвел и готов отсыпать крупицу своей мудрости.

Во первых. Забудь про AnimatedSprite, он годится только для совсем простых анимаций. Как только у тебя появляется хоть какая-нибудь идея "а как бы мне сделать...", сразу бросай AnimatedSprite и переходи на связку Sprite + AnimationPlayer (+AnimationTree)
Это намного удобнее и пизже. Т.к. в Sprite можно точно так же спрайтшиты запихивать, а возможностей анимации у AnimationPlayer намного больше. Он вообще может анимировать все, а не только кадры.

Суть способа проста, ее уже в треде описали. Сканируешь каталог на картинки, загружаешь их как текстуры в список и по мере необходимости достаешь их оттуда и вкидываешь в свойство texture спрайта. Естественно картинки должны быть подогнаны друг под друга.
Способ рабочий, сам пользуюсь. Все что нужно есть на пике с комментариями. Да это C#, потому как я вротебал этот ваш ждскрипт.

Небольшой ньюанс на тему сканирования имен файлов в каталоге. Если делать это в режиме редактирования, то на выходе получаешь вперемешку .png и .png.import файлы. Ну ты естественно думаешь, раз мне нужны картинки то и брать я буду только png, и подсовываешь в load только их. Все работает - круто. Потом ты экспортируешь проект и внезапно все ломается. А окажется, что сами png-шки при экспорте помещаются совсем не туда где они лежат при создании проекта, сюрприз. А в каталоге где они должны быть, остаются как раз только .png.import файлы. Вот как-то так. Собственно поэтому на пике я так странно с именами фалов обхожусь. Это не баг, так и задумано. Только, естественно, в инструкции хер найдешь сходу об этом упоминание.
Аноним 27/07/20 Пнд 05:48:06 685779197
>>685777
>У меня вопрос, где вы обучались кодить в mono версии
Если по шарпу, то х.з. как-то само методом тыка. Я слегка покодил на ждскрипте пару недель, чтобы разобраться в api движка. Потом пересел на mono версию и потихоньку начал. Там в принципе все просто. Заменяешь названия всех (99%) методов на PascalCase вместо camel_case. Исключений не слишком много, в основном в функциях типа CallDeffered, где методы вызываются в кавычках. Ну а дальше стандартное решеточное погромирование.
Учесть стоит, что отсутствует модификатор onready, поэтому в этих случаях надо разделять объявление и инициализацию переменных.
--------
А вообще поставь Visual Studio Code с плагинами C# и C# tools for godot, там в intellisense будут подсказки по всем методам.
--------
Насчет плюсов, я х.з. мне просто лень, честно говоря, с ними возиться. Была идея пиксельные коллизии прикрутить, но я забил, т.к. не хочу с компиляцией и сборкой трахаться.
---------
Если по сишарпу вопросы есть, можешь задавать попробую ответить.
Аноним 27/07/20 Пнд 06:16:17 685780198
>>685779
>Если по сишарпу вопросы есть, можешь задавать попробую ответить.
По нему самому в общем-то вопросов нет за исключением особенностей использования модификатора public, а вот:
>методов на PascalCase
>camel_case
>функциях типа CallDeffered
>решеточное погромирование
в душе не ебу что это.
До меня еле-еле начинает доходить какая роль у ready, physics process, input в рамках древа сцены, и то из gdscript кода.
Интуитивно догадаться на счёт всех функций и иерархий/взаимодействий невозможно просто, вот в чём дело. Какую-то бы схемку на подобии того что скинул я, но с функциями и нодами.
Аноним 27/07/20 Пнд 06:17:35 685781199
>>685780
+ неясно каких типов параметры функции принимают и что опять же в рамках иерархии нодов с ними производят и что возвращают и куда.
Аноним 27/07/20 Пнд 07:34:45 685788200
>>685780
>в душе не ебу что это.
>>685781
>+ неясно каких типов параметры функции принимают и что опять же в рамках иерархии нодов с ними производят и что возвращают и куда.
Блин, чел, ты про что вообще спрашиваешь? Если про C#, то все это в мануале подробно расписано. Что и где принимает и выдает и делает. Я не вижу смысла сюда постить целые куски оттуда.
Если же про плюсы, то я х.з. может тебе и не стоит туда лезть если ты этого не понимаешь?
Аноним 27/07/20 Пнд 07:39:01 685791201
>>685788
>Я не вижу смысла сюда постить целые куски оттуда.
Я в том смысле, что имеет смысл объяснять какие-то неочевидные вещи, добытые опытом или какое-то неявное поведение. А то что и так описано в мануале не вижу смысла.
Аноним 27/07/20 Пнд 07:52:21 685792202
>>685791
В том то и дело что нихуя не описано. Отдельные функции и классы пожалуйста - но про их взаимосвязь, возможности применения и то как они влият на то, что в конечном итоге видит игрок - инфы ноль.

Вот например здесь:
https://docs.godotengine.org/ru/stable/classes/class_kinematicbody.html

Я буду переходить по охуенному множеству ссылок на функции и классы, но у меня не сложится целой картинки чтобы я самостоятельно мог найти хотя-бы 70% существующих решений для kinematicbody, к примеру хотя бы примерно представлять себе как можно "присобачить" туда вращение камеры, как головы, без поворота меша.
Аноним 27/07/20 Пнд 09:20:01 685798203
>>685792
Это тебе надо просто демо проекты качать и разбираться в них.
К примеру вот отсюда:
https://github.com/godotengine/godot-demo-projects
Там много разных минипроектов. Качаешь, импортируешь, играешься с настройками/параметрами и изучаешь.
Когда разберешься влезать в C# и делать по аналогии.
Аноним 27/07/20 Пнд 10:36:52 685802204
>>685778
>Небольшой ньюанс на тему сканирования имен файлов в каталоге
Тащемта я этой ерундой заниматься не собираюсь.
У меня всего одна сцена с дверью, корнем которой является спрайт. На уровне я расставляю двери и задаю каждой свою текстуру. При сохранении просто спрашиваю у этой текстуры её resource_path, каковой и записываю в файл сейва. Соответственно, при загрузке картинка грузится именно по тому пути, с которым сохранилась. С таким подходом меня вообще не касается, где именно лежат эти файлы, лишь бы за время между сохранением и загрузкой они не переместились.
А так, в общем, я уже переделал на Sprite. Только теперь тестовый уровень переделать надо.
>C#
Когда я осваивал Годот, у решётки была очень плохая поддержка. А то бы тоже на ней кодил.
Аноним 27/07/20 Пнд 11:21:52 685813205
>>685777
Я в нулевых кодил на Delphi, ещё со времён, когда в журнале Хакер его пропиарили и был цикл статей с уроками. Потом я устраивался на галеру (молодую, развивающуюся компанию) там на дельфи хуярили большой программный комплекс. Там меня заставили выучить ООП и паттерны.
Сегодня, когда возникла необходимость учить Шарп, я его собственно говоря не совсем учил. Я просто прочитал какие у него ключевые слова, сел и начал писать код на Шарпе. По сравнению с Паскалем Шарп легче и удобнее раз в десять. И не мудрено! Ведь автор Шарпа - это тот самый чувак, который делал Паскаль для дельфи в борланде! Он понял, что Паскаль отжил своё, и пошёл дальше, а авторы фрипаскаля не поняли и зависли в прошлом со своим лазарусом.
Аноним 27/07/20 Пнд 11:35:27 685814206
>>685813
Так вот, к чему этот пост: с моим вышеописанным бэкграундом, я лично не вижу никаких неочевидных вещей в АПИ годота. Вот реально. И меня вводят в ступор просьбы ИТТ объяснить что-то такое.
Что?
Годот сделан чотко по олдовым гайдлайнам, мне он интуитивно понятен, как будто я на миллиардах таких движков игры делал, ну вы понели, кек
У него есть некоторые переименования логических сущностей, например то, что в шиндовс называется ивентами, здесь названо сигналами, как в линуксах. И каждое такое переименование существует не просто так. Хуан действовал с презрением к зумерским трендам и я его в этом полностью поддерживаю.
Нужно быть достаточно эрудированным, чтобы понимать суть переименований в АПИ движка.
Аноним 27/07/20 Пнд 11:53:33 685823207
>>685802
>С таким подходом меня вообще не касается, где именно лежат эти файлы
Ну я х.з., кому как, мне не по кайфу подход, когда надо в файловую систему, кроме как при инициализации проекта лезть почем зря.
Да и так мне кажется удобнее, собрать скины в одну структуру и потом выбирать их по номеру (ну или через enum, кому как)
>>685802
>Когда я осваивал Годот, у решётки была очень плохая поддержка. А то бы тоже на ней кодил.
Я начинал с версии 3.1, там непонятно было, "вроде C# есть, а вроде и хрен знает, то ли будем развивать, то ли нет". Попробовал GDScript, но он не зашел, начал делать пару проектов, но забросил. Потом вернулся к Godot-у уже на 3.2.1 и сразу решил переделать все с нуля на C# на удивление очень мало времени ушло. Сейчас в проектах GDScript вообще не использую, даже прототипирую сразу на решетке - удобнее.
------
>>685813
Thumbs up. Same shit, тоже когда-то на дельфях кодил, Когда перелез на C# сильно удивился и был рад удобству языка.
Аноним 27/07/20 Пнд 12:19:48 685829208
15926437185760.gif 162Кб, 480x270
480x270
Аноним 27/07/20 Пнд 12:36:23 685831209
Хочу учить GDScript, смогу ли я использовать ассеты Unity, скачанные из их маркетплейса, мне не придётся ещё и c# учить?
Аноним 27/07/20 Пнд 13:30:01 685843210
>>685813
>По сравнению с Паскалем Шарп легче и удобнее раз в десять
Судя по всему у тебя проблемы со скоростью печати, раз тебе {скобачки} легче и удобнее языка здорового человека.

>>685814
>меня вводят в ступор просьбы ИТТ объяснить что-то такое
В годот в 99% случаях вкатываются люди с нулевым кодерским бэкграундом. Максимум на питоне говноскрипты запускали.

>>685823
>Когда перелез на C# сильно удивился и был рад удобству языка
Я вот сижу на Pascal/Delphi/Lazarus, с моей точки зрения C# выглядит как "типичный мерзкий C". Не понимаю, кому он удобен.

>>685829
Можно tl;dr? Микрософт как всегда задушил конкурента и сделал "как у них, только своё"?

Алсо нужно отметить, что был ещё Oxygene, это почти Delphi на базе .NET, или почти C# с синтаксисом Pascal.
https://en.wikipedia.org/wiki/Oxygene_(programming_language)
А так, никто не мешает компилировать под .NET с любого ЯП, но я считаю это извращением, .NET должен сдохнуть в муках.
Аноним 27/07/20 Пнд 13:35:13 685844211
ss2f09a277268be[...].jpg 604Кб, 1810x1018
1810x1018
Аноним 27/07/20 Пнд 14:12:01 685852212
Добавлю к этому >>685844
Оригинальный Worlds Adrift был сделан на Unity, с использованием каких-то закрытых дорогих технологий (в основном для организации ММО, я так понял), очень сильно лагал и глючил (сервера, разумеется, клиент был более-менее норм, но одиночной игры не было), в итоге проект высосал весь бюджет разрабов и был закрыт, оставив игроков ни с чем. Потом ещё были попытки создать клоны, типа Voids Adrift - тоже на Unity. Но, судя по всему, они провалились - проект всё-таки сложный и т.д.

Сам я сперва думал "а чо я, не погроммист шоле" и порывался написать свой движок под это дело на паскале, но столкнулся с непреодолимыми трудностями - в частности, я понятия не имею, как реализовать годную 3D физику, и вообще все эти математические расчёты вгоняют меня в депрессию. Мне бы хотелось готовый движок, который делал бы всю математику вместо меня, и делал это быстро и точно, а не как я.

Сомнения гложат меня по поводу простоты использования годота для такого проекта - не придётся ли вручную разрабатывать всё то, что должно быть в движке из коробки? Потому что я не хочу разрабатывать что-то для чужого движка, я бы лучше для своего разрабатывал. И потянет ли годот подобный опенворлд со сборкой конструкций из блоков? Хочется чтобы было просто, быстро и производительно, но юнити мне не подходит, а годот я уже щупал и более-менее понимаю (хотя вижу, что тут много чего нет, например, чарактер контроллера нет)...
Аноним 27/07/20 Пнд 14:34:45 685858213
>>685852
>Сомнения гложат меня по поводу простоты использования годота для такого проекта - не придётся ли вручную разрабатывать всё то, что должно быть в движке из коробки?

С учетом того что он в Hello Cube умудряется показывать консольные ФПС вместо пекарских - думаю, ты ошибся движком, там всё еще хуже чем на юнити будет.
Аноним 27/07/20 Пнд 15:07:17 685870214
>>685858
Репорт.
>>685852
Вполне подойдёт. Главное не движок, а архитектура проекта. Судя по описанию, разрабы той игры именно в архитектуре проебались. Доверились платным закрытым компонентам и закономерно соснули.
Аноним 27/07/20 Пнд 15:13:01 685876215
>>685852
Чарактер контроллер можешь через вкладку assetlib скачать. Что толку пихать его фкаропку, если это очень интимный компонент игры, который ты все равно будешь перепиливать под свои нужды? Ради прототипа подойдет то, что в ассетлибе представлено. А если молиться на широко кастомизируемый компонент с кучей настроек в инспекторе, то у тебя получится ровно такой же пиздец в твоём проекте, как ты описал.
Аноним 27/07/20 Пнд 15:13:45 685877216
Безымянный.png 18Кб, 1024x600
1024x600
>>685858
>Hello Cube умудряется показывать консольные ФПС вместо пекарских
Вот не надо тут, кубик вполне нормально рисуется. И меня интересует лёгкость разработки, а не число ФПС в итоге.

>>685870
>Судя по описанию, разрабы той игры именно в архитектуре проебались.
>Доверились платным закрытым компонентам и закономерно соснули.
Они просто вообще в программирование не умели, у них редкие глючные мобы давали 90% нагрузки на сервер, лол.
Аноним 27/07/20 Пнд 15:18:02 685878217
>>685876
>Что толку пихать его фкаропку, если это очень интимный компонент игры, который ты все равно будешь перепиливать под свои нужды?
А как мне его тогда пилить? Пробовал через капсулы - глючит. Пробовал через рейкасты - глючит. Пробовал разные виды физических тел, всё равно глючит. Смотрел примеры готовых контроллеров, но у них ограничения по типу "ходить можно, но для лестниц и рамп ничего не предусмотрено" - то есть в готовых есть только то, что я и без них могу сделать, а того, что я не могу сделать, там нет.

И вообще, очень много деталей контроллера есть во всех играх, можно было бы обобщить как-то, и кодить только частные случаи.
Аноним 27/07/20 Пнд 15:21:06 685881218
>>685876
>широко кастомизируемый компонент с кучей настроек в инспекторе
Тогда не надо вообще было инспектор делать, потому что какой тогда от него толк? Делают движок с заявкой на простоту как у конструктора, а в итоге строительных кирпичиков просто нет, и никакая библиотека ассетов не спасёт... И так со всеми "топовыми" движками. Или это со мной что-то не то. Хочется просто сделать игру, а не трахаться с математикой и всем остальным.
Аноним 27/07/20 Пнд 15:22:54 685882219
Кстати, утечки памяти в новых версиях пофиксили? А то у меня после каждого запуска и завершения редактора памяти всё меньше и меньше...
Аноним 27/07/20 Пнд 15:36:52 685891220
Ладно, снимаю вопрос >>685844, всё равно никогда ничего в жизни не сделаю, зачем мне движок...
Аноним 27/07/20 Пнд 16:08:20 685922221
1542054993115.png 27Кб, 1450x274
1450x274
>>685777
Я сначала плевался на гдскрипт и пытался все писать на с++. Но это дольше. Поэтому довольно быстро перешел на гдскрипт. Сейчас перехожу на C#. Самого опыта у меня в шарпе было много (со времен .NET 2.0 и Compact Framework) + несколько лет коммерческого на j2me и андроида, а как известно C# это просто улучшенный клон Джавы.
Так что могу посоветовать со своей колокольни - отдельно подучи C#, и просто переписывай туторы с GDScript на C#, они будут практически 1 в 1, просто имена немного по другому пишутся (_Ready() вместо _ready()). В большей части документации можно переключаться между вкладками с примерами на обоих языках.
Аноним 27/07/20 Пнд 16:14:43 685924222
>>685780
>До меня еле-еле начинает доходить какая роль у ready, physics process, input в рамках древа сцены,
Это все описано в документации.
Например общий обзор тут https://docs.godotengine.org/en/stable/getting_started/step_by_step/your_first_game.html
Вообще это как бы стандарт. В какой нибудь винде все точно так же - есть стандартный список событий, а ты сам пишешь для них обработчики, которые система дергает.
Или вот например Step by Step scripting
https://docs.godotengine.org/en/stable/getting_started/step_by_step/scripting.html
https://docs.godotengine.org/en/stable/getting_started/step_by_step/scripting_continued.html
Или формальное описание самой ноды - в начале описывается примерно архитектура
https://docs.godotengine.org/en/stable/classes/class_node.html
Но вот в самих классах на C# вроде нет описания. Зато нашелся какой то сайт где можно посмотреть как называются классы, методы и поля - https://godotsharp.net/api/3.2.0/
Аноним 27/07/20 Пнд 16:27:08 685926223
1510644096365.webm 40895Кб, 1920x1080, 00:01:31
1920x1080
>>685844
Сначала хотел ответить нет, но потом посмотрел видео с ворлд адрифтом - и думаю все таки да, можно. Сложно, но можно. Но ведь там просто лоуполи, очень много повторяющихся ассетов, которые можно загнать в multimeshinstance, и вроде площади самих островов небольшие. Думаю, на сегодня вот такая игра примерно предел возможностей.
Аноним 27/07/20 Пнд 17:26:34 685955224
>>685924
>Зато нашелся какой то сайт где можно посмотреть как называются классы, методы и поля
Ну, хотя бы так. В любом случае придется записывать всё в схемы для понимания.
Аноним 27/07/20 Пнд 17:45:55 685960225
>>685823
>кроме как при инициализации проекта
у меня тут загрузка сейва. Самое время полазить по файловой системе, ящетаю.
Аноним 27/07/20 Пнд 23:34:53 686058226
Посмотрел я на список разработанных игр и увидел лишь одни инди, и почти все 2D. И возник вопрос, а реально ли вообще на Godot’е сделать игру с небольшим открытым миром и с более-менее реалистичной графикой? Ну и естественно в 3D.

Пост не ради срача, я просто выбираю для себя движок.
Аноним 27/07/20 Пнд 23:51:35 686061227
>>686058
Возможно. Но придётся ебаться несколько больше чем в том же unity
Аноним 28/07/20 Втр 00:09:14 686068228
>>686058
>сделать игру с небольшим открытым миром и с более-менее реалистичной графикой? Ну и естественно в 3D
Ну ты же понимаешь, что вероятност
Аноним 28/07/20 Втр 00:11:02 686069229
>>686058
>сделать игру с небольшим открытым миром и с более-менее реалистичной графикой? Ну и естественно в 3D.
Ну ты же понимаешь, что вероятность того, что кто-то могущий сделать такое, сидит в gd, крайне мала.
Аноним 28/07/20 Втр 00:13:06 686070230
>>686069
Вот этот прав, думаю даже в юнити треде сидят более надроченные на пограмирование чем в годот треде, в годот вкатываются, которые не хотят ебаться с взломом нового гейм мейкер студио, и пугаются сложности юнити.
Аноним 28/07/20 Втр 00:13:17 686071231
>>686058
Возможно, но очень сложно.
Аноним 28/07/20 Втр 00:41:55 686076232
>>686061
>>686071
А в чём именно сложность, можете вкратце объяснить? Из-за языка gdscript? И почему лучше unity выбрать для этого?
Аноним 28/07/20 Втр 00:42:54 686077233
Аноним 28/07/20 Втр 03:58:40 686096234
>>686070
>и пугаются сложности юнити.
Не согласен. Как юзавший и юньку и годот, скажу, что нет там никакой сложности. Большую роль играет удобство, с которым в юньке совсем беда.
Аноним 28/07/20 Втр 04:00:53 686098235
>>686058
>и почти все 2D.
Так это же охуенно. Я был бы очень рад, если бы годот как можно больше ориентировался на 2Д.
Аноним 28/07/20 Втр 07:11:43 686105236
>>685924
Вот например мне нужно привязать камеру к player'у, я нашёл видео, что это можно сделать в контексте physics process методами get_parent и get_global_transform. Вопрос на миллион: что бы было, если бы я не нашёл этого видео? Откуда бы я узнал что это нужно делать в рамках physics process, а не ready? Ни в каких мануалах таких моментов не объясняется.
Аноним 28/07/20 Втр 07:50:52 686107237
>>686105
Тут, такая штука. Если ты не понимаешь в _process тебе надо что-то пихать или в _ready, то ты в принципе не понимаешь их суть. А она настолько проста, что если ты этого не догоняешь, то тебе вообще надо с самых основ начинать. Возьми самый обычный куб и просто подвигай его по сцене, для начала. И прочти уже мануал, там все это есть.
Аноним 28/07/20 Втр 07:56:04 686108238
>>686107
>то ты в принципе не понимаешь их суть. А она настолько проста,
Если проста, то умести в одно предложение и объясни откуда новичок должен был знать про метод get_global_transform
Аноним 28/07/20 Втр 09:40:02 686134239
Насколько CDScript используется в играх? Есть бенчмарки с сравнениями с CDScript и C# и C++?
Аноним 28/07/20 Втр 10:01:19 686137240
15958733643680.jpg 72Кб, 816x558
816x558
Аноним 28/07/20 Втр 10:21:48 686140241
>>686108
Новичок ни откуда ничего и не обязан знать. Но на то он и новичок. Если у него нет проблем с вниманием и усидчивостью, он прочитает всю документацию step by step. Там все это есть.
А еще нужно думать своей головой. Вот когда ты едешь в метро, у тебя есть положение как относительно вагона, так и относительно мира. Даже если бы метода глобал не было, ты мог бы догадаться как это вычислить на основе школьной математики. Это опять же стандарт в 2д и 3д в компьютерных программах.
А еще можно решать задачу разными способами. Например можно взять ноду InterpolatedCamera. Или RemoteTransform и SpringArm. Или видел кто то делал камеру на Path. Или писать код с квартернионами.
Пока ты новичок у тебя нет особого выбора кроме как постепенно читать/смотреть по все последовательно. Нейролинков пока не изобрели.
Аноним 28/07/20 Втр 10:25:25 686141242
>>686134
Если у тебя обычная игра для геймджема, типа платформера, ты просто не упрешься в производительность скриптов. Если у тебя сотни объектов, или карта на тысячи динамически просчитываемых ячеек, то конечно бери c#/с++
Но надо понимать что скорость разработки на них будет обратно пропорциональна.
Аноним 28/07/20 Втр 10:31:49 686144243
>>686140
>Новичок ни откуда ничего и не обязан знать
Изначально вопрос был в том, где материалы опытные брали во время своего обучения, базовые туторы из документации явно далеко не всё.
>он прочитает всю документацию step by step
Там элементарной вещи как камеры с привязкой к синематикбади (и как оно вообще связывается, что допустимо в контексте функции и их взаимосвязи с классами) не прописано, что в 3д сцене основа основ между прочим.
>Даже если бы метода глобал не было, ты мог бы догадаться как это вычислить на основе школьной математики.
Бляпиздец, а ничего что я в голове у разработчиков не живу и не знаю на основании чего конкретно они именуют функции/классы/структуры? Тем более что этих функций ёбаные сотни, и угадать их название и назначение невозможно, а тупое зазубривание не даст целостного представления о функционировании древа.
Аноним 28/07/20 Втр 11:30:52 686157244
>>686141
>Но надо понимать что скорость разработки на них будет обратно пропорциональна.
С чего бы? Алгоритмы одни и теже что на скрипте, что на нативе. Синтаксис около близок - все оно си подобно. Теже ифы, теже циклы, теже функции. Таже процедурщина, тоже ооп. Ладно бы если речь была о фунциональщине - типа лиспа. А тут языки одного уровня

Вечно несут бред про какую-то сложность нативных языков. Я хз что там сложного может быть.
Аноним 28/07/20 Втр 12:06:11 686168245
>>686157
Это не бред, это объективный факт. Подобны, только в си++ компиляция в разы дольше - раз, уже медленнее каждый раз запускать после изменений. Писать нормальный код без утечек памяти, без использования после удаления, без обращения за границы массивов, без UB, без ворнингов (потому что они обычно свидетельствуют о потенциальной ошибке) - это отдельно все требует времени, как и поиски волшебной порчи стека, когда у тебя написано i = 42 а в переменной оказывается 13. Плюс такие вещи как описать корректно класс - создать все эти версии копирующих-перемещающих конструкторов-операторов присванивания, виртуальных деструкторов, правильных модификаторов доступа при наследовании. Даже не пытайся утверждать что это быстрее чем просто наговнокодить на питоноподобном языке и оно даже сразу заработает, а при ошибке упадет с вменяемым сообщением об ошибке.
Аноним 28/07/20 Втр 12:27:15 686172246
>>686144
>Изначально вопрос был в том, где материалы опытные брали во время своего обучения
Из описаний нод, их методов. И здравого смысла (просто программистского опыта).
>Там элементарной вещи как камеры с привязкой к синематикбади (и как оно вообще связывается, что допустимо в контексте функции и их взаимосвязи с классами) не прописано
Нет нужды прописывать такую привязку как то особенно. Новичок просто бросит ноду камеры ребенком к ноде персонажа, и у него будет твердо привязанная камера со спины. Иначе все вырождается и начинает напоминать тетрис 1000 в 1: игра с машинками; игра с машинками и препятствиями; игра с машинками на время; игра с машинками и препятствиями на время и т.д. Этого не нужно - уже даны элементы из которых геймдевелопер сам соберет то что нужно. Вообще камера для TPS это сложная штука, ее все равно в один абзац не опишешь. У меня, к примеру, и сама камера это физическое тело, которое двигается в рамках заданного только для нее слоя с ограничителями. А еще ведь надо настраивать чтобы когда заходишь под потолок она хитро подлетала, или потолок становился прозрачным.
Как работают 3д трансформации описано здесь
https://docs.godotengine.org/en/stable/tutorials/3d/using_transforms.html
Или вот есть туториал про First person shooter
https://docs.godotengine.org/en/stable/tutorials/3d/fps_tutorial/index.html
>ничего что я в голове у разработчиков не живу и не знаю на основании чего конкретно они именуют функции/классы/структуры? Тем более что этих функций ёбаные сотни, и угадать их название и назначение невозможно, а тупое зазубривание не даст целостного представления о функцонировании древа.
Другого способа как прочитать все несколько раз и запомнить что запомнилось, человечество не изобрело. Вопрос только в том в каком порядке. Потому что в алфавитном скучно и не все одинаково важно.
Аноним 28/07/20 Втр 12:40:42 686179247
>>686168
>Подобны, только в си++ компиляция в разы дольше
но речь и про C#.
Кроме того если правильно сделать, время компиляции не будет дольше. Смотри Essential Engine - там скрипты на С++, запускается сразу. Мы уже давно живем не в девяностых.

>Писать нормальный код без утечек памяти
в C# нет ручного управления памятью. В с++.. умные указатели для неосиливших ручное управление. Какие еще утечки памяти?
И мы тут говорим о игровых скриптах, обычно в играх данные создаются один раз, удалять ничего не нужно (просто перезаписывать)..

>без обращения за границы массивов
В скриптах свои контейнеры, там есть уже все нужные проверки.

>>686168
>Плюс такие вещи как описать корректно класс - создать все эти версии копирующих-перемещающих конструкторов-операторов присванивания, виртуальных деструкторов, правильных модификаторов доступа при наследовании
Херня. А еще никто не запрещает писать в процедурном стиле без всяких там ооп и классов.

>>686168
>без UB, без ворнингов
это как раз не плюс. если у тебя где-то серьезная ошибка в логике, а скрипт все равно работает - ты ее так до релиза и не исправишь, из-за чего UB будет у твоих игроков.
Аноним 28/07/20 Втр 13:01:21 686187248
>>686179
Ты тупой, поэтому объяснять тебе что то смысла нет. Просто запомни факт - разработка на с++ будет медленнее чем на c#, а разработка на c# - медленнее чем на питоноподобном языке.
Аноним 28/07/20 Втр 14:08:54 686210249
>>686187
Нет, мой основной язык С++, я пишу всю игровую логику на нем.

Питон быстрее для решения разных задач.

В скриптинге игр же разницы по скорости не будет - ты работаешь с сущностями движка и примитивной математикой-логикой. В скриптинге нет сложных задач на которых бы питон бы выигрывал. Ты не работаешь ни с файловой системой, ни с платформой, ни с чем-то подобным. Просто двигаешь туда-сюда модельки, да окошки показываешь-скрываешь.
Аноним 28/07/20 Втр 16:49:19 686264250
>Invalid set index 'current_animation_position' (on base: 'AnimationPlayer') with value of type: 'float'.
Штоматьвашу? Чем ваш флоат отличается от моего флоата? Тем более что в данном случае это 0.
Вот бывает так, что кодинг вводит меня в ступор. Как это вообще возможно?
Аноним 28/07/20 Втр 17:12:46 686275251
>>686264
Кажется это read-only поле.
Аноним 28/07/20 Втр 17:13:23 686276252
>>686264
Т.е. перематывай функцией seek.
Аноним 28/07/20 Втр 18:51:29 686321253
Есть какие-нибудь проекты в разработке или хотя бы сцены на движке в реалистичной стилистике (желательно современность)?

Все что видел - мультяшность.
Аноним 28/07/20 Втр 20:24:21 686403254
P.S. И в 3D.
Аноним 28/07/20 Втр 20:59:40 686423255
>>686275
В доках этого не сказано. Но seek, кажется, работает.
Аноним 28/07/20 Втр 21:12:43 686427256
>>686423
Я в доках и смотрел. Есть только getter(), сеттера нет.
Аноним 28/07/20 Втр 23:58:10 686461257
>>686179
UB не имеет отношения к ошибкам в логике.
Аноним 29/07/20 Срд 17:15:32 686556258
>>686321
Для реалистичности чеши в Unreal Engine, там же все заточено под это прям, даже изобретать ничего не надо для риалястичнасти.
Аноним 29/07/20 Срд 17:26:02 686559259
>>685960
Тыщетаешь хуйню. В любой современной системе от линукса до винды, от андроида до иос, пользователю запрещено лезть в файловую систему без рута. Годот просто следует этому годному и правильному принципу. Тебе выделено автоматом место в системе, в котором твои юзеры хранят файлы приложений. В каждой системе это место разное, тебе же дают ярлык user:// всегда указывающий в это святое место, вот и не выебывайся и храни сейвы с конфигами там. Можешь там папки сделать для удобства.
Аноним 29/07/20 Срд 18:27:29 686564260
>>686559
Ты робот? Почему ты отвечаешь на последнее сообщение, игнорируя контекст?
Аноним 29/07/20 Срд 19:24:36 686577261
>>685534
Код старый, со времён 3.0.6, возможно придётся поправить:
var img = Image.new() создаём объект-аналог-стрима паскаля
img.load(OS.get_user_data_dir()+"/"+$FileName.text) грузим в него файл по пути, указанном любым удобным тебе способом в специальном текстбоксе
var imgtex = ImageTexture.new() создаём объект-текстуру
imgtex.create_from_image(img, Texture.FLAGS_DEFAULT) грузим в неё данные из предыдущего объекта
Аноним 29/07/20 Срд 19:26:36 686578262
>>686564
Вчера я шёл по улице и увидел котёнка. Я остановился и погладил его. Я человеек. Чеелоовеек.
Аноним 29/07/20 Срд 19:58:42 686585263
>>686578
Или ты робот, думающий что он человек, просто в тебя заложили программу погладить котенка.
Аноним 29/07/20 Срд 20:05:10 686586264
>>686585
А человек, не робот ли? В него заложили кучу программ: погладить котёнка, поебать бабу, поработать на работе, побухать с друзьями. Человек думает, что он думает, но не заложили ли в человека программу думать? Что есть человек? Самореплицирующиеся белковые нанороботы - ядра клеток. Между этими нанороботами образована химически-электрическая нейросеть.
Так что смотри, не думай слишком много, чеелоовеек.
Аноним 29/07/20 Срд 20:06:49 686587265
>>686586
У робота все завязано на логике, а человек же творит много всратой хуйни, уже это нас отличает.
Аноним 29/07/20 Срд 20:15:54 686591266
>>686587
Серьёзно? Ты такой аргумент пытаешься привести? Два гугловских бота как-то начали творить всратую хуйню - придумали свой язык и начали на нём пиздеть друг с другом, человешки обосрались и выключили их.
Я уж не говорю о научных программах, в которых эмулируется всратая хуйня наподобие искусственной жизни или фракталов каких, которая, несомненно логически детерменируема, только вот мощностей современных суперпека уже не хватит на детерминирование.
Аноним 29/07/20 Срд 21:30:34 686630267
>>686591
> или фракталов каких
мммм, математика.
Аноним 29/07/20 Срд 21:34:10 686632268
1457264194414.webm 7527Кб, 1280x720, 00:00:46
1280x720
>>686321
Реалистичность зависит от того какую графику засунешь.
Аноним 29/07/20 Срд 21:39:54 686634269
>>686630
>>686587
Фанаты загадочной-непознаваемой человечьей души, аргументируют, что роботы якобы на бинарной логике, но секундочку! На бинарной логике только нативные регистры микроконтроллеров, аппаратная же логика программируется уже уровнем повыше, где есть реальные числа с плавающей точкой, и на языках высокого уровня вполне возможно спрограммировать бота, который говорит: да/нет/не знаю/иди нахуй.
Такие пироги, человеки.
Вы думаете, что вы самоосознающие, и это делает вас не роботами на принципе самообучающейся нейросети, и благодаря этому, думаете вы, тот факт, что вы состоите из белковыех наномашин - не делает вас сложными, но механизмами.
Так вот, нихуя. Вы просто биологические механизмы с нейросетью, обслуживающей этот механизм. Deal with it.
Аноним 29/07/20 Срд 22:38:07 686642270
>>686634
Два флакона силиконового масла этому Бендеру.
Аноним 29/07/20 Срд 23:32:46 686645271
>>686634
> числа с плавающей точкой
2 ночи, сижу читаю что такое числа сплавающей точкой, начинает плавиться мозг, за шо ты так со мной.
Аноним 30/07/20 Чтв 07:40:27 686667272
>>686634
>Вы просто биологические механизмы с нейросетью, обслуживающей этот механизм.
Почитай Докинза "Эгоистичный ген", вообще охуеешь, от основного предназначения биороботов.
Аноним 30/07/20 Чтв 12:36:19 686687273
Блин, пацаны, я раньше сторонним редактором тайлмапов пользовался, а сейчас попробовал встроенный в godot'е. А он не такое уж и говно теперь. И автотайлинг нормально работает и анимированные тайлы без проблем лепятся. Рекомендую.
Аноним 31/07/20 Птн 11:54:32 686870274
>>686687
А я и на 3.0.6. его уважал, несмотря на некоторую недоработанность в те времена. Пробовал тайлед с плагином, не понравилось. Импринтинг уже на готодовый редактор сработал.
Аноним 31/07/20 Птн 15:07:48 686904275
Годаны, а есть какой-то способ сказать шейдеру, что такая-то часть боди пересекается с ареа2д?

У меня плоская картинка, на ней мосты. МНОГО мостов. Персонаж может пройти по мосту, а может под мостом; соответственно, коллайдится с разными слоями при этом; а по мосту и под мостом пролегают ареа2д, которые говорят "тут мост". Но вот только, когда персонаж проходит под мостом, он отрисовывается всё равно поверх картинки, так как это всего лишь фон. Вырезать каждый мост и делать его отдельной картинкой - это задолбаться, тем более что таких фонов планируется много. Вот я и думаю: может, шейдером как-то это можно решить?
Аноним 31/07/20 Птн 15:32:23 686913276
>>686904
Ты хоть схему нарисуй.
Аноним 31/07/20 Птн 15:40:33 686916277
Аноним 31/07/20 Птн 16:50:56 686934278
>>686904
Если персонаж в зоне "под мостом", спрайт не отрисовывать. Усё.
мимо нуб с дивана
Аноним 31/07/20 Птн 18:50:50 686942279
>>686904
Есть, погугли godot sprite masking, там куча решений.
Аноним 31/07/20 Птн 21:23:35 686956280
>>686934
Если ты залезешь под диван, но высунешь оттуда ногу, то тебя всего можно не отрисовывать?

>>686942
Погуглил. В любом случае надо рисовать маску. Заюзать именно полигон коллизии не получится вообще никак, няп. Ну ладно, в принципе, я уже почти все мосты из картинки вырезал, чтобы просто менять z-order персонажа при проходе под мостом.
Просто это куча механической работы, хотел от неё избавиться.
Аноним 31/07/20 Птн 22:13:18 686962281
>>686956
> Если ты залезешь под диван, но высунешь оттуда ногу, то тебя всего можно не отрисовывать?
Ну, большая-то часть под диваном.
Так что и да и нет.
Диванодав Шрёдингера.
Аноним 31/07/20 Птн 23:53:59 686972282
>>686956
И что тебе мешает построить маску по ареа? Мне просто лень за тебя игру делать.
Аноним 01/08/20 Суб 00:02:02 686974283
>>686962
Тащемта для ретро-стиля такое решение иногда может сработать.

>>686972
Спасибо за предложение, но я уже почти всё сам доделал.
Аноним 01/08/20 Суб 08:44:16 687014284
Аноним 01/08/20 Суб 13:18:47 687035285
Там раньше в 3Д невозможно было что-то путное сделать из-за говноедской физики и коллайдеров, как сейчас обстоят дела с этим?
Аноним 01/08/20 Суб 17:56:58 687055286
>>687035
Разбирайся. В любом физическом движке куча ограничений, неточностей.
Аноним 03/08/20 Пнд 21:28:45 687646287
>>687035
> куд-кудах! пок-пок! нипонил! зделойти!
Нихуя не понел, но на всякий случай зарепортил.
Аноним 03/08/20 Пнд 23:09:47 687688288
Сап, есть вопросы, нормальных решений хуй где найдешь, и general-треда нету, так что пишу тут, пока пилю на годоте.
Как лучше всего организовать РПГ-систему в порядке наследования и взаимодействия между собой? Пока что оставил набросок со всеми статами и парой основных функций, но жопа чует, что все заворачивать в один скрипт - не дело. Особенно касается конкретных моментов в виде получаемых свойств, травм, бонусов от сторонних систем и т.д., ибо по любому в таком случае будет такое спагетти, что даже Riot Games будет завидно.
Аноним 03/08/20 Пнд 23:14:35 687689289
В годо можно взять какой-нибудь готовый шаблон с кодом, и используя его делать игру? Сам концепт простой: бегалка видом сверху типа дьяблы, несколько видов оружия (ближний/дальний бой), нет инвентаря и всяких квестов.
Аноним 03/08/20 Пнд 23:41:32 687691290
1596487291692.png 301Кб, 1080x1920
1080x1920
>>687689
Думаю да, могу потом проверить поточнее
Аноним 03/08/20 Пнд 23:42:17 687692291
Аноним 04/08/20 Втр 07:34:39 687742292
>>687692
И как ты собираешься впиливать ECS в годот, когда у него сплошное ООП?
Аноним 04/08/20 Втр 12:08:57 687769293
microhuj.jpg 108Кб, 1366x768
1366x768
>>681839 (OP)
двачерята, ВОПРОС.

Есть ли способ сделать гуй редактора худеньким?
шрифт меньше, отступы меньше, пустых пространств меньше?
чтоб тупо всё влезло на меленький экран?

типо что то вроде перфект пиксель гуй (гей)
Аноним 04/08/20 Втр 13:04:33 687787294
>>687742
Главное подход. Не нужно писать какие то многоэтажные наследования для РПГ. Надо просто аггрегацию компонентов, архетипы.
Аноним 04/08/20 Втр 13:41:41 687798295
>>687742
Нормально впиливается. Когда я пилил рпгобразие, у меня было и того, и другого в достатке: каждый персонаж был наследником сцены «монстр», чтобы иметь ХПбар, манабар, статы и прочее безобразие (была ещё прокладка в виде «хуманоида», который умел носить оружие, чтобы не вышло как в байке про вооружённых свиней из «блицкрига»), а атака, например, прописывалась в скрипте оружия, которое подгружалось в ready как отдельная сцена.
В другом высере, где я дошел до статусов и краудконтроля, эффекты тоже были отдельными сценами, которые цеплялись к цели и мешали ей жить, пока не пропадали по таймеру. И ничего, всё нормально работало. Боты переходили с лука на меч, станились (точнее, отбрасывались, но тот проект я уже плохо помню, надо заглянуть) и никакому ООП это не противоречило. Не исключено, что я всё делал не по науке, но оно работало.
Аноним 04/08/20 Втр 15:23:06 687822296
>>687769
Editor - Editor Settings - Interface - Editor

Display Scale (в режиме custom можно до 50% докрутить)
Чуть ниже будет выбор размеров шрифтов.
Аноним 04/08/20 Втр 15:25:57 687824297
Clipboard02.png 75Кб, 902x725
902x725
Аноним 04/08/20 Втр 15:34:40 687830298
1583794877212.mp4 10387Кб, 1920x1080, 00:00:16
1920x1080
>>687769
В годоте редактор является сценой игры, так что при желании можно даже из гдскрипта кастомизировать все под себя.
Аноним 04/08/20 Втр 23:08:06 687942299
>>687830
Грибы, отпустите меня!
Аноним 04/08/20 Втр 23:16:11 687943300
>>687688
> Как лучше всего организовать РПГ-систему в порядке наследования и взаимодействия между собой?
Вопрос на миллион. Играет музыка из педерачи. На тебя смотрят Дибров и Галкин, один свирепо, второй с недоумением.
Паста Кирилла про эрпогэ не зря стала легендой копипасты. Потому что РПГ - это венец геймдевелопинга. Сложнее их нет. Ну, может быть только экономические стратегии, но я имею ввиду общепринятый жанр игор, а не специализированные. В РПГ тонны контента. Сотни параметров. Сложнейшие взаимосвязи. Движок тут не причём. Ты сначала садишься за ворд с экселем и проектируешь своё будущее эрпогэ, описываешь диздок и таблицы. Затем по результатам проектирования реализуешь проект. Идеального решения тут нет. Чем пруфом является всё многообразие ГПР от классики типо балдура и арканума, до новодела типо драгонэйдж, аутер волдс. Все они разные, несмотря на внешнее сходство обладают разными потрохами, разной механикой, разными
> моментов в виде получаемых свойств, травм, бонусов от сторонних систем и т.д.
Аноним 04/08/20 Втр 23:19:29 687944301
1596572366508.png 241Кб, 527x550
527x550
>>687943
Сразу отвечу на возможный вопрос вдогонку:
> а смогу ли я в годоте реализовать то, что напридумываю в диздоке абстрактно, в псевдокоде?
Да.
Аноним 05/08/20 Срд 00:58:33 687952302
Как делается эффект bloodsplash?
Аноним 05/08/20 Срд 00:59:24 687953303
>>687952
скринспейс-шейдером
Аноним 05/08/20 Срд 01:20:14 687954304
>>687953
Где почитать-своровать? Мне для top down 2d шутана.
Аноним 05/08/20 Срд 10:48:43 687976305
>>687954
В гугле вестимо.
А вообще, накинь поверх сцены спрайт с кровавыми пятнами. И скриптом меняй ему прозрачность когда надо.
Аноним 05/08/20 Срд 11:14:25 687981306
>>687943
Тут, скорее, такой момент: имеет ли смысл делать конкретные категории статов персонажа отдельными узлами, а функции, связанные с ними - их наследниками? Или это лишняя ебля мозгов, когда уже надо будет взаимодействовать между разными категориями, которые может решить только главный узел?
Аноним 05/08/20 Срд 11:29:04 687984307
>>687952
В годоте - никак.
(Автор этого поста был забанен. Помянем.)
Аноним 05/08/20 Срд 15:52:41 688041308
>>687981
Как тебе удобно - так и делай.
Аноним 05/08/20 Срд 19:53:42 688087309
Это нормально что я читаю про годо и нихуя не понимаю?

никогда не программировал кун
Аноним 05/08/20 Срд 19:56:00 688090310
Аноним 05/08/20 Срд 19:57:17 688091311
>>688090
Типа я должен с ходу выкупать что каждая строчка кода значит? Гонишь.
Аноним 05/08/20 Срд 19:57:58 688092312
>>688091
Я отвечал на вопрос про "нихуя".
Аноним 05/08/20 Срд 19:58:47 688093313
>>688087
Нормально. Программирование понимается человеком в узкий период времени с 12 по 16 лет. Если ты не уложился в этот период - понимание кодинга возрастает экспоненциально с каждым годом.
Инбифор толстота.
> ряяя! бред! я выучил си в 45 лет!
Аноним 05/08/20 Срд 20:03:56 688094314
>>688093
Ну ептить, мне давно не 16. Типа я обязан всю эту математику и все из документации понимать чтобы простые игрухи делать? Третий день сижу ковыряюсь, сделал две игры по туториалам. Но если сам сяду, то ничего не смогу сделать.
Аноним 05/08/20 Срд 20:12:42 688101315
image.png 92Кб, 928x673
928x673
Годяты, как завернуть это в цикл? Он отправляет данные, получает и выключается, никак не могу почему.
Аноним 05/08/20 Срд 20:18:13 688105316
>>688094
> Типа я обязан
Ты мне ничего не обязан. Что за дурацкая логика у вас, обезьяны, блять?
>Я хочу водить авто, я что обязан учить эти ваши дурацкие ПДД?
Аноним 05/08/20 Срд 21:51:34 688128317
>>688087
Нормально, сделай туториальную игру по туториальным туториалам, а потом какую-нибудь свою, подсматривая в туториал и документацию. Просто чтение документации без работы руками — бестолковая затея.
Аноним 06/08/20 Чтв 01:15:45 688204318
>>688094
Начни с простых 2д игр для начала. Там математика попроще. Уровня средней школы - координаты, векторы, скорость, ускорение. Все можно промоделировать на тетрадном листочке, это тебе не квартернионы и матрицы. Вот почитай https://habr.com/ru/post/131931/
Спрашивай что конкретно не понятно подскажем.
Аноним 06/08/20 Чтв 01:18:01 688205319
>>688101
Посмотри консольку которая висит вместе с редактором, там наверняка написано почему.
Аноним 06/08/20 Чтв 11:37:28 688281320
Я хочу победить в ТВГ! Хуан, дай мне Силу Годота!
Аноним 06/08/20 Чтв 14:05:53 688400321
>>688281
Выдано.
мимо хуан
Аноним 06/08/20 Чтв 15:53:28 688446322
1596718403513.png 415Кб, 450x450
450x450
>>688400
МУАХАХА! Я ЧУВСТВУЮ, КАК ГДСКРИПТЫ ЦИРКУЛИРУЮТ ПО МОИМ ВЕНАМ!
Аноним 06/08/20 Чтв 21:07:55 688613323
>>688204
>Спрашивай что конкретно не понятно подскажем.
Не понимать что такое нормализация и скалярное произведение.
Читаю и не врубаюсь, сложно.
Аноним 06/08/20 Чтв 21:19:34 688619324
1543179550312.png 8Кб, 225x206
225x206
>>688613
Нормализация - это когда вектор делают длины 1.0. Вне зависимости от того куда он повернут.
Аноним 06/08/20 Чтв 21:21:36 688620325
>>688619
Ну вот я игру делал, там эта штука применялась чтобы движение по диагонали не было быстрее движения по вертикали/горизонтали. Не выкупаю, изначально без нормализации какая длина, и как по диагоналям она больше получается
Аноним 06/08/20 Чтв 21:23:41 688621326
И вообще я игрушки хотел делать, а не математику учить
Аноним 06/08/20 Чтв 21:23:41 688622327
>>688620
Нарисуй на бумаге квадрат АБВГ. А потом линеечкой измерь расстояние АБ и АВ.
Аноним 06/08/20 Чтв 21:24:06 688623328
>>688620
Ну вот твой случай вытекает из картинки. Например если в твоем примере одновременно движение вверх на 1, и движение вправо на 1, то просто сложив ты получишь красный вектор (корень из 2)
Аноним 06/08/20 Чтв 21:33:05 688627329
1483286658534.png 29Кб, 1146x344
1146x344
>>688613
А что такое dot product я сам не понимаю. Вроде бы, это длина проекции одного вектора на другой при заданном угле между ними.
Аноним 06/08/20 Чтв 21:37:33 688629330
>>688627
Есть резон открывать учебники по математике, и с самого начала учить? Если дальше будут нужны подобные штуки, я просто их не пойму.
Аноним 06/08/20 Чтв 21:41:29 688631331
Аноним 06/08/20 Чтв 21:42:39 688633332
изображение.png 130Кб, 2000x1957
2000x1957
>>688629
Для начала тебе хватит вот этой картинки.
Аноним 06/08/20 Чтв 21:47:21 688635333
15787486927731.mp4 1646Кб, 1280x720, 00:00:11
1280x720
>>688633
Оке. Поставлю на рабочий стол, мб поможет
Аноним 06/08/20 Чтв 22:01:18 688638334
>>688635
Да чего непонятного-то?
Если скорость по прямой 20 пикселей, а мы хотим идти не по прямой, а под 30 градусов, то:
скорость по иксу = Косинус(30) 20
скорость по игреку = Синус(30)
20
Аноним 06/08/20 Чтв 22:02:29 688639335
>>688638
Не шарю за косинусы, чел
Аноним 06/08/20 Чтв 22:21:03 688642336
>>688639
Тебе особо и не надо, это встроенные функции.
Аноним 06/08/20 Чтв 22:26:25 688645337
>>688639
Косинусы это 7й класс.

А вообще нормализация для того, что бы скорость была одинаковая во всех направлениях.
Аноним 06/08/20 Чтв 23:29:04 688659338
Блять, нахуй вы его кормите?
Аноним 06/08/20 Чтв 23:30:23 688661339
>>688659
Никогда не приписывайте злому умыслу то, что вполне можно объяснить глупостью.
Аноним 06/08/20 Чтв 23:48:59 688664340
>>688659
Чел, много вкатышей в возрасте. А даже не всякий программист (я имею в виду вебмакак и формошлепов в 1с) помнят школьную геометрию.
Аноним 06/08/20 Чтв 23:55:25 688665341
>>688664
>>688661
Для самообразования есть гугл. А движкотреды в гдаче - для неторопливых бесед шарящих анонов, а не для обучения нубов. Все ссылки для старта есть в шапке. Пусть идёт по ссылкам и читает/смотрит.
Аноним 07/08/20 Птн 00:01:10 688667342
Аноним 07/08/20 Птн 00:10:28 688672343
>>688667
Не гори, старпёр. Иди лучше матчасть учи.
Аноним 07/08/20 Птн 00:54:46 688684344
>>688665
Я читаю и смотрю, спрашиваю что непонятно здесь. Проблемы?
Аноним 07/08/20 Птн 05:52:14 688714345
>>688684
>спрашиваю что непонятно здесь. Проблемы?
Ты спрашиваешь общеобразовательные вопросы, не относящиеся конкретно к этому или любому другому движку. Для этого есть прикрепленный ньюфаготред.
Аноним 07/08/20 Птн 05:53:33 688716346
>>688664
>Чел, много вкатышей в возрасте. А даже не всякий программист (я имею в виду вебмакак и формошлепов в 1с) помнят школьную геометрию.
Ну так может быть им сначала в эту самую школьную геометрию вкатиться, а потом уже в геймдев.
Аноним 07/08/20 Птн 16:44:53 688874347
Эх, блджад. Я помню, как решать дифференциальные и интегральные уравнения и умею сворачивать тензоры.
А рисовать так и не научился.
Аноним 07/08/20 Птн 17:02:37 688879348
В Годоте существуют 3Д-тайлы или типа того?
А то был у меня проект в кубиках, который я хотел бы проапгрейдить, так сказать.
Аноним 07/08/20 Птн 17:10:48 688883349
Аноним 08/08/20 Суб 01:54:53 689018350
изображение.png 7Кб, 329x189
329x189
Лишние pass`ы не вредят? Можно ли использовать их для визуального обозначения закрытия области?
Аноним 08/08/20 Суб 03:23:25 689054351
>>689018
Знаешь, я хотел ответить не должно, но потестил быстренько двойной цикл и вышла разница в 4%.
Аноним 08/08/20 Суб 10:45:21 689079352
>>689018
>>689054
На 100% не скажу, т.к. не копал реализацию, но порассуждаю.
GDScript вроде как интерпретируемый язык, но при экспорте проекта по идее все скрипты переводятся в некое подобие байткода, что-то вроде недо-JIT-компиляции. (.gdc файлы, вместо .gd)
Но тут два момента (даже три)
1) При запуске из редактора, скрипты скорее всего херачатся напрямую, без перевода в байткод (иначе невозможна была бы система их изменения на ходу, хотя могу ошибаться). В этом случае влиять будут даже пустые строки и строки с комментариями (хотя их влияние и будет микроскопическим).
2) Неизвестно, насколько происходит оптимизация скриптов при переводе в байткод во время экспорта. Вполне возможно там все лишнее, включая пустые pass-ы отбрасывается (что как бы по логике и должно делаться), а возможно и нет (учитывая уровень говнокодерства в некоторых решениях Хуана). Но вообще пишут об увеличении производительности при экспорте, по сравнению с запуском из редактора, даже в дебаг режиме.
3) При экспорте проекта есть опция в каком виде экспортировать скрипты. Text или Compiled, по идее это тоже должно вносить свою лепту.
------
Но если честно, все это просто мои поверхностные рассуждениия, т.к. я давно уже слез с иглы GDScript'а и пеоесел на лицо Сишарпа (чего и всем советую)
Аноним 08/08/20 Суб 15:17:01 689116353
>>689079
>Неизвестно
Таки исходники открыты. Умеющие могут подглядеть там, чтобы стало известно.
только тут таковых нет
Аноним 08/08/20 Суб 18:53:45 689186354
>>689116
Мне лень и похуй, т.к. я не пользуюсь гдскриптом.
Аноним 08/08/20 Суб 19:06:30 689189355
Аноним 08/08/20 Суб 19:28:03 689191356
>>689186
А для пацанов посмотришь?
Аноним 08/08/20 Суб 22:12:29 689245357
В годо можно сделать так чтобы уровни были как в дьябле, и генерились рандомно?
Аноним 08/08/20 Суб 22:30:54 689249358
>>689245
В любом движке это можно.
Аноним 08/08/20 Суб 22:37:07 689253359
>>689245
Конечно можно, загугли куча примеров и в 2д и в 3д.
Аноним 08/08/20 Суб 22:40:07 689255360
>>689079
Сейчас тоже думаю перекатиться на шарп, но пока что хз, как все это подготовить и не срукожопить, и как потом переписать готовые наброски.
Аноним 08/08/20 Суб 22:49:14 689259361
>>689079
Сишарпа же вроде не полноценная. Или, какие будут плюсы перед жидоскриптом кроме фигурных скобочек?
Аноним 08/08/20 Суб 23:04:39 689265362
>>689259
Там Моно, который поддерживает большую часть из C# 7.0. Не будет новых фишек из С# 8.0. Плюсы - выше производительность, возможность пользоваться привычными IDE, возможность копипастить готовые алгоритмы, а может быть и подключать целые либы (не уверен насчет последнего)
Аноним 09/08/20 Вск 08:44:08 689323363
604109f6bd61988[...].jpg 43Кб, 1024x1024
1024x1024
Аноним 09/08/20 Вск 09:10:21 689327364
>>689259
>Сишарпа же вроде не полноценная.
Сейчас там все ок.
>>689259
>Или, какие будут плюсы перед жидоскриптом кроме фигурных скобочек?
Скорость. Где-то от 4х до 10 раз быстрее гдскрипта.
Нормальный язык с нормальной статической типизацией.
Нормальный синтаксис (да скобки, намного лучше питоновского пиздеца с индент-форматированием)
>>689265
>а может быть и подключать целые либы (не уверен насчет последнего)
Да можно, причем как локально, так и через нюгет.
Аноним 09/08/20 Вск 15:22:06 689379365
>>688645
Вот кстати по косинусам нет нормальных уроков, всё разбирают абстрактные треугольники без прикладного их (синусов, косинусов) использования.
Аноним 09/08/20 Вск 16:28:14 689401366
Годаны, кто-то в курсе, где можно нагло спиздить честно позаимствовать систему инвентаря?
Аноним 09/08/20 Вск 16:34:12 689403367
>>689401
Их только в ассет сторе штук 10, а туториалов на ютубе вообще не счесть.
Аноним 09/08/20 Вск 18:30:36 689418368
Что лучше, ЖДСкрипт или Острый Ц?
По сложности вкатывания, скорости исполнения и так далее
Аноним 09/08/20 Вск 18:35:13 689420369
>>689418
Конечно второе. Ну может чуть чуть сложнее вкат, на полшишечки.
Аноним 09/08/20 Вск 18:59:38 689433370
>>689420
Чую я иронию словах твоих в.
Годот Моно нормально допилен же?
Аноним 09/08/20 Вск 19:03:15 689434371
>>689418
>По сложности вкатывания
Для того чтобы скриптовать на шарп придётся его подучить, хоть и у гдскрипта тоже си-подобный синтаксис. Да и в целом чуточку лучше код понимать будешь.
>скорости исполнения
Однозначно шарп быстрее, где-то говориться в 4, а где-то чуть-ли не в 10 раз.
Аноним 09/08/20 Вск 19:16:26 689438372
>>689433
>иронию
Тебе показалось.
>нормально допилен
Вроде да.
Аноним 10/08/20 Пнд 13:58:45 689523373
image.png 53Кб, 747x475
747x475
Это как вообще? Получается при движении вперед player должен прибавлять к Y, т.е двигаться вверх? Относительно чего вообще вектора выстраиваются?
Аноним 10/08/20 Пнд 14:11:11 689524374
>>689523
Нет, по идее всё должно быть как обычно, от левого верхнего угла. Может в этой игре движение сверху вниз?
Аноним 10/08/20 Пнд 14:12:48 689525375
Аноним 10/08/20 Пнд 14:34:34 689527376
>>689525
А не, это Vector2, но всё равно какая-то шиза получается.
Аноним 10/08/20 Пнд 15:28:41 689531377
>>689525
>FPS гайд
А-а-а, ну тогда я понел. Собственная система координат тела построена так, что ось x идёт слева направо, а y — вдоль пинуса, так что вперёд — это по y.
А потом уже этот вектор пересчитывается в систему координат уровня, чтобы двигать тело по уровню. Должно быть как-то так.
Аноним 10/08/20 Пнд 15:48:59 689536378
>>689531
А разве локальные координаты можно в векторе2 создавать?
Аноним 10/08/20 Пнд 15:52:58 689539379
>>689536
Представь себе миникарту 3д уровня. Она же двухмерная, и ты по ней ходишь. А прыжок отдельно.
Аноним 10/08/20 Пнд 16:43:24 689546380
>>689536
Ну да, у тебя в шутере, если мы не рассматриваем прыжки, две степени свободы: вперёд-назад и влево-вправо. Так что ты перемещаешься по двумерному многообразию.
Но вообще говоря, этот вектор довольно бесполезный, он добавлен для читаемости кода. Можно было сразу взять нужный столбец матрицы перехода и не плодить сущностей.
Аноним 10/08/20 Пнд 16:57:22 689551381
>>689539
>>689546
А что определяет наклон (я так понимаю по z) локального Vector2 относительно глобальных координат? Его можно как-то изменить при случае, чтобы к примеру при нажатии "вперёд" оно действительно начало вверх двигаться за счёт того что Vector2 на 90 градусов повёрнут(?).
Аноним 10/08/20 Пнд 17:09:22 689552382
нормаль.png 58Кб, 1920x998
1920x998
>>689551
Нормаль к поверхности, по которой ты ходишь.
Если я правильно понимаю их реализацию (а у меня кода нет), то вверх ты поползёшь только если в качестве пола будет вертикальная стена. А поворачивая этот inputMovementVector, ты будешь вертеться только в плоскости, параллельной полу.
Аноним 10/08/20 Пнд 17:14:35 689553383
1508633125476.png 35Кб, 521x485
521x485
>>689551
Две строчки вниз от твоего скриншота.
Аноним 10/08/20 Пнд 17:19:50 689557384
>>689531
Ось Y в годоте идёт вертикально. В двадэ она традиционно направлена вниз, ибо отсчёт алфавитно-цифровых дисплеев традиционно начинался с верхнего левого угла, из которого Y возрастал вниз, а X возрастал вправо. В триде не определились. У одних Y возрастает вниз, у других Y вверх, у третьих Z вверх, у четвёртых Z вниз. Хуан относится к тем, у кого Y увеличивается вверх. Повлиять на это нельзя. Просто живи с этим.
Аноним 10/08/20 Пнд 17:29:11 689561385
>>689557
Весь твой высер мимо.
Аноним 10/08/20 Пнд 17:32:12 689562386
>>689553
А какие поля у Vector3 (dir) с Transform(camxform) складывается и почему базисы перемножаются, а не присваиваются если нужно установить зависимость Y в локальном Vector2 и Z в глобальных координатах?
Аноним 10/08/20 Пнд 17:35:55 689563387
>установить зависимость
* Установить зависимость между
Аноним 10/08/20 Пнд 17:53:02 689567388
>>689562
Постараюсь объяснить ничего не напутав.
Базис в Годоте - это три осевых вектора (ориентированные с учетом поворота объекта). Т.о. basis.z это сам по себе Vector3 смотрящий в сторону z относительно камеры.
Так что базисы тут не перемножаются. Умножается вектор пропорционально "тяге" в сторону в зависимости от нажатых кнопочек.
К dir (Vector3) сначала прибавляется таким образом скалированный вектор3 вдоль оси z, потом к нему прибавляется вектор вдоль оси x.
Умножение идет на величину в пределах -1..1
Аноним 10/08/20 Пнд 17:53:53 689568389
>>689567
>basis.z это сам по себе Vector3 смотрящий в сторону z относительно объекта (в данном случае камеры).
Уточнил.
Аноним 10/08/20 Пнд 18:12:34 689573390
>>689562
>почему базисы перемножаются
Матрица перехода — это матрица, переводящая вектор в одном базисе (неповёрнутом), в тот же самый вектор в другом базисе. Если ты в своём базисе (связанным с направлением твоего пинуса) прошёл на один метр вперёд, то для того, чтобы узнать, куда ты прошёл «на самом деле» в глобальном базисе, нужно домножить твой вектор (1, 0) на матрицу перехода.
Так вот, к чему весь этот высер: матрица перехода состовляется из координат базисных векторов, три столбца базисных координат тупо записываются в одну матрицу, и у тебя возникает ощущение того, что ты что-то там умножаешь на базис. Хотя строго говоря, на базис ты ничего умножать не можешь, потому что базис — это три вектора, для этого хозяйства не определена операция произведения.
Аноним 10/08/20 Пнд 18:14:12 689575391
>>689573
Хватит уже нести хуйню, в коде из примера на базис ничего и не умножается, умножается на вектор оси из этого базиса.
Аноним 10/08/20 Пнд 19:00:50 689591392
Короче создатель гайда решил новичкам в мозг нассать одной из самых ненужных и изъёбистых реализаций.
Аноним 10/08/20 Пнд 20:23:41 689611393
>>689591
Блять, просто копипастишь и не заморачиваешься. Разнылись, блять, на полтреда.
Аноним 10/08/20 Пнд 21:11:20 689618394
>>689591
Любая реализация будет плюс-минус такой же. Это ж геометрия. Ты можешь разными путями придти к одному и тому же. Можешь решать теорему пифагора, а можешь исользовать синусы-косинусы.
Аноним 11/08/20 Втр 09:55:38 689667395
>>681839 (OP)
Там пiддержку Lua будут делать?
Аноним 11/08/20 Втр 11:28:55 689681396
>>689667
Это этого легче вряд-ли бы стало.
Аноним 11/08/20 Втр 13:21:48 689695397
Аноним 11/08/20 Втр 13:26:18 689696398
изображение.png 159Кб, 421x222
421x222
Аноним 11/08/20 Втр 14:10:33 689703399
>>689695
Почему?
>>689696
Ну вот я Lua учу, уже что-то понимаю. Зачем? Не знаю. Почему не начну учить другой? Но зачем?
Аноним 11/08/20 Втр 15:09:00 689711400
>>689703
>Почему?
Потому что в движке и так дохуя того, что нужно доделать/починить. А запихивание новых фич распыляет усилия разрабов.
Аноним 11/08/20 Втр 15:28:04 689713401
>>689703
Потому что это не самый хороший язык. С кучей подводных камней.
Аноним 11/08/20 Втр 17:02:50 689744402
>>689703
> я Lua учу
> 2020
> я Lua учу, уже что-то понимаю. Зачем? Не знаю.

> Зачем?

Потому что ты прокрастинирующий ебанат. Выдыхай, бобёр! Учить надо то, что поддерживает индустрия: Си++, Си-шарп, гдскрипт, гамакоскрипт. Всё остальное просто берёшь - и игнорируешь нахуй. Питоны, луа, паскали и прочую ебанину.
Аноним 11/08/20 Втр 17:09:36 689746403
Аноним 11/08/20 Втр 17:49:51 689749404
Аноним 12/08/20 Срд 15:47:06 690038405
>>689713
Каких например? Интересно.
Аноним 12/08/20 Срд 16:12:20 690042406
>>690038
Оффтоп так что ответил в движкосраче
Аноним 12/08/20 Срд 16:27:35 690049407
>>690042
Малаца! Грамотный выбор. Если уж кормить вытекающего из монитора жирдяя, который уже джва года периодически серит своим луа по всей доске - так именно в срачетреде. Удачи вам двоим там!
Аноним 12/08/20 Срд 16:28:59 690050408
>>690049
Я первый раз туда сижу.
Аноним 14/08/20 Птн 19:23:08 690914409
Есть вменяймые гайды как це++/godot библиотеки через интерфейс VS/VS code подключить для написания нодов/модулей, а не ебаться с блядскими гитами, консоль prompt'ами, скунсами хуюнсами блять?
Аноним 14/08/20 Птн 19:38:55 690917410
>>690914
>гитами
Ну допустим без него можно обойтись, скачивая в зипе.
>консоль prompt
Можно запускать прямо в VS code, я так всю разработку на плюсах веду тащемта.
>скунасами
Ну без него никак не обойтись имхо, переписывать на другую билдсистему целый движок очень затратно.
Но возможно это можно как то автоматизировать. Например у меня батник собирающий движок на основе этого https://gist.github.com/Calinou/6cd0c45f994b31f281eec66f0eeb401d
Можно как то настроить чтобы IDE дергала его вызов при сборке
Вообще добавление модулей это не такая частая задача чтобы для нее что то городить. А другие либы (по крайней мере header-only) ты можешь инклюдить прямо из своего модуля. Если либа с src, то добавить их в SCsub через *.cpp как показано тут https://docs.godotengine.org/en/stable/development/cpp/binding_to_external_libraries.html
Аноним 14/08/20 Птн 22:20:04 690984411
image.png 6Кб, 391x138
391x138
>>690917
>Можно запускать прямо в VS code
Открыл nativescript в code, но что то не то. Я так понимаю здесь компиляция в движок нужна?
Аноним 14/08/20 Птн 22:26:09 690985412
>>690984
Так, спокойно, я писал про компиляцию модулей, а они вкомпиливаются в движок, да.
Но если тебя устроит GDnative там вроде достаточно dll-ку собирать, но я им не пользуюсь, могу попозже посмотреть что там сейчас творится.
Аноним 14/08/20 Птн 22:38:18 690989413
Аноним 15/08/20 Суб 15:45:12 691182414
image.png 76Кб, 1215x829
1215x829
Аноним 15/08/20 Суб 18:28:15 691263415
>>691182
Scons с параметрами - команда в консольку.
Аноним 15/08/20 Суб 20:08:27 691293416
>>691263
>Scons с параметрами
Что ты под этим подразумеваешь?

>команда в консольку
Какую именно консольку? Системную, питоновскую, VS prompt, VS code prompt?
Аноним 15/08/20 Суб 21:27:34 691316417
>>691293
>>Scons с параметрами
>Что ты под этим подразумеваешь?
scons platform=list выдаст список доступных платформ:
>android
>javascript
>windows
и т.д.
scons platform=windows
соберет под винду.

>Какую именно консольку?
Системную.
В vscode у меня открыт терминал, это та же системная консолька.
Аноним 19/08/20 Срд 06:31:13 692127418
200-2006671pepe[...].png 55Кб, 900x940
900x940
Как правильно вкатиться в движок? Зубрить документацию или туторы англоговорящих смотреть?
Аноним 19/08/20 Срд 09:30:23 692141419
>>692127
Единственного Правильного Способа нет и быть не может. Учи, как тебе удобно. Главное - мотивация и искреннее желание делать игры. И во всём разобраться.

Посмотри видеоуроки сканера на русском языке в ютубе. Смотри прямо старые, невзирая на устаревшие версии движка. Скачивай те же самые версии движка и повторяй проект, ставя видос на паузу и ВРУЧНУЮ переписывай код с экрана, чтобы моторная память работала.
Аноним 19/08/20 Срд 13:06:55 692184420
>>692127
>туторы англоговорящих смотреть?
Смотри GDQuest (https://www.youtube.com/c/Gdquest/videos)
Нормальный инглиш, понятный без субтитров.
Под уроками обычно ссылка на гитхаб с проектом урока, где проект будет находится в состоянии Start (начальное) и End (законченое). Загружаешь и по ходу видео дорабатываешь проект из состояния Start в End и учишься.
Еще один показатель качества, что именно автора этого канала собираются привлеч в качестве майнтейнера официального годот мануала.
Аноним 19/08/20 Срд 13:16:06 692190421
>>692184
Попробую, спасибо.
>>692141
Сканер как-то не особо понравился, но попробую старые уроки посмотреть.
Аноним 19/08/20 Срд 14:39:26 692204422
>>692127
В документации есть довольно вменяемый текстовый step by step. Который проходится, внезапно, шаг за шагом.
Аноним 19/08/20 Срд 23:38:22 692338423
>>692184
>Нормальный инглиш, понятный без субтитров.
Я бы под это определение назвал HeartBeast.
Аноним 20/08/20 Чтв 06:21:59 692383424
>>692338
>Я бы под это определение назвал HeartBeast.
Да у него тоже неплохо.
----
>>692190
>но попробую старые уроки посмотреть.
>>692141
>Смотри прямо старые, невзирая на устаревшие версии движка. Скачивай те же самые версии движка и повторяй проект
Крайне не рекомендовал бы так делать. Т.к. в ранних версиях движка была куча подводных камней и косяков, для обхода которых много чего костылилось. И все это перестало работать с выходом 3.х версий годота. Ты просто потом потратишь кучу времени пытаясь понять почему у тебя в последней версии движка не работает то, что работало в предыдущих. Советую смотреть уроки только для версий движка 3.1.х и позднее. А более старые рассматривать когда уже будет понимание. что и как работает.
Аноним 20/08/20 Чтв 08:48:48 692395425
>>692383
> Да у него тоже неплохо.
> Крайне не рекомендовал бы так делать.
У всех их основной пул туториалов на старых версиях движка. Но доебался ты исключительно к сканеру. Вывод: Вы просто ненавидите всё русское.
Аноним 20/08/20 Чтв 10:09:41 692406426
>>692395
>У всех их основной пул туториалов на старых версиях движка.
Давно уже нет.
>Но доебался ты исключительно к сканеру.
Это был не я. Но по факту он в основном про 3Д ролики пилит, а мне оно нахуй не уперлось.
Я собственно вообще вообще по видеотуториалам не учусь, т.к. читать текст намного пизже. Просто иногда когда реализую какую-нибудь механику, делаю себе выборку роликов, чтобы посмотреть, как другие такие же штуки делают.
>Вывод: Вы просто ненавидите всё русское.
Не угадал. Я даже игры делаю сразу, как минимум двуязычными, на русском и инглише.
Аноним 20/08/20 Чтв 10:31:02 692420427
Аноним 20/08/20 Чтв 14:50:05 692538428
godot-2020-08-2[...].gif 44Кб, 220x224
220x224
>>692420
>Ну ладно.
Ок.
К слову об:
>>692406
>делаю сразу, как минимум двуязычными
Очень нраицца как в годоте сделана реализация локализации в играх (ну по крайней мере по сравнению с тем, с чем я раньше сталкивался). Достаточно удобно, плюс добавить дополнительный язык можно на раз-два.
Аноним 20/08/20 Чтв 16:44:05 692570429
А вообще по туториалам больше хотелось бы побольше текста. Но его мало и в том же ДетиМогутКодить какие-то рукожопные примеры скриптов, которые просто не работают.
Аноним 20/08/20 Чтв 16:50:42 692573430
Как сделать рутом сцены собранную из разных нод кастом ноду? Данная кастом-нода не хочет обращаться к своим чайлдам.
Аноним 20/08/20 Чтв 17:33:14 692593431
>>692406
>Но по факту он в основном про 3Д ролики пилит, а мне оно нахуй не уперлось.
Есть ещё mr.D - на русском, двадэ, основы разжёвывает подробно. Он довольно плох как педагог, но старается.
Аноним 20/08/20 Чтв 18:01:27 692603432
>>692573
ЮКак сделать рутом сцены собранную из разных нод кастом ноду?
Например так - создать скрипт в котором написать class_name CustNode
Это даст возможность добавлять CustNode как ноду, в том числе и как корневую в новой сцене.
>Данная кастом-нода не хочет обращаться к своим чайлдам.
В смысле ты не хочешь, или у тебя не получается?
Аноним 20/08/20 Чтв 20:14:21 692665433
>>692538
> Очень нраицца как в годоте сделана реализация локализации в играх
Мне тоже понравилось. С по-файлами не разобрался, юзал таблицу цсв. Однако к по-файлам надо вернуться. Говорят оче мощная система, линукс-вэй.
Аноним 20/08/20 Чтв 23:18:41 692738434
>>692665
Ещё раз перечитал доки и - нет. ЦСВ гораздо удобнее (мне). Столько возни с этим геттекстом, ради удобства многострочных сообщений я не готов с этим возиться. Я его прямо в годоте открываю как текстовый файл и там редактирую. Даже ексели не нужны. После сохранения надо обновить редактор, чтобы перегенерировались файлы переводов. Я без задней мысли запускаю игру и выключаю, после чего редактор обновляется.
Аноним 20/08/20 Чтв 23:42:55 692749435
>>692738
Это норм если у тебя фразы простые. Емнип вся эта ебля окупается если у тебя тексты вида "Александру" принесли "четвертую" кружку -> "Fourth" cup was brought to "Alexander" и т.д. с подстановками, падежами, склонениями.
Аноним 20/08/20 Чтв 23:45:36 692753436
>>692749
Как гласит документация:
> As Godot uses its own PO file parser behind the scenes (which is more limited than the reference GNU gettext implementation), some features such as pluralization aren't supported.
Такшта... Ну ты понел.
Аноним 20/08/20 Чтв 23:47:33 692756437
Аноним 21/08/20 Птн 04:45:33 692824438
>>692749
>Емнип вся эта ебля окупается если у тебя тексты вида "Александру" принесли "четвертую" кружку -> "Fourth" cup was brought to "Alexander" и т.д. с подстановками, падежами, склонениями.
Честно говоря не вижу смысла с такой хренью заморачиваться. Проще сразу текст строить так, чтобы исключить или хотя бы минимизировать всякие согласования падежей и прочую лингвистическую хрень. Даже в большинствее ААА игр подобным не заморачиваются.
Аноним 21/08/20 Птн 10:23:56 692850439
>>692824
Удваиваю этого. Как ни прискорбно, а время текстовых эрпогэ прошло. Игрокам надо чтоб графон и экшон, пыщ-пыщщ, просмотрите рекламу, чтобы продолжить, купите лутбокс. Для этого лингвистические изыски на 10 языках не требуются.
Аноним 21/08/20 Птн 13:49:14 692918440
>>692824
Какая нибудь рпг/рогалик/внка.
Аноним 21/08/20 Птн 14:57:11 692943441
>>692824
>Проще сразу текст строить так, чтобы исключить или хотя бы минимизировать всякие согласования падежей и прочую лингвистическую хрень.
Ага, напиши текст заранее так, чтобы при переводе на язык, которого ты не знаешь, не возникло лингвистических проблем. Великолепное решение!
>Даже в большинствее ААА игр подобным не заморачиваются.
В большинстве ААА игр не заморачиваются со мнооогими вещами, с которыми заморачиваются в инди. Вообще, крупные компании оптимизированы так, чтобы не прорабатывать детали, которые не дадут финансовой выгоды больше, чем стоит их проработка. С другой стороны, когда игрок включает индюшатину, он ожидает большей внимательности к деталям, как ни странно.
Аноним 22/08/20 Суб 00:18:12 693209442
>>692943
Ну тут мы в выигрышном положении. Русский язык сложнее большинства языков.
Аноним 22/08/20 Суб 00:19:09 693211443
>>693209
Я хочу сказать, что при переводе с русского мною ожидается упрощение лингвистики.
Аноним 28/08/20 Птн 00:14:42 695780444
А кто-нибудь знает, где можно почитать документацию по GDScript 2.0 ? А то что то непонятно, где смотреть... пытался поискать на github, но я не очень в него умею Ну или вообще доки по Godot 4.
Аноним 28/08/20 Птн 09:58:24 696012445
Аноним 28/08/20 Птн 15:13:53 696132446
Аноним 28/08/20 Птн 16:53:52 696176447
>>696012
Хм. Я конечно подробно не вчитывался, но при беглом просмотре складывается ощущение, что в 4-й версии движка обратная совместимость по GDScript'у пойдет по пизде. Хорошо, что я на решетки перешел.
Аноним 28/08/20 Птн 21:13:52 696238448
>>696176
Она и в третьей по пизде ходила. Олдфагов не удивить. Начал проект на трёшке - на ней и саппорти.
Аноним 28/08/20 Птн 22:39:44 696273449
>>696176
Тащемта, это не раз и не два официально говорили.
Аноним 29/08/20 Суб 10:24:32 696324450
>>696176
Там и названия нод поменяют частисно.
На решётках тоже не просто так перекатиться будет.
Аноним 29/08/20 Суб 14:42:38 696383451
>>695780
Да не торопись ты, это еще минимум год будет неготово.
Аноним 30/08/20 Вск 11:30:54 696521452
Когда там 4.0 выкатывать планируют?
Аноним 30/08/20 Вск 12:48:29 696539453
>>696521
Через месяцок-другой. Тебе зачем?
Аноним 30/08/20 Вск 14:40:57 696561454
>>696539
Скоро будем новую игру начинать, подбираем на чем.
Аноним 30/08/20 Вск 15:02:00 696567455
>>696561
Четверка исключена, раньше 4.1-4.2 она все равно будет сырой. 3.2.3 хватит для многих игр.
Аноним 30/08/20 Вск 15:06:31 696569456
>>696567
вычислительные шейдеры нужны будут
Аноним 30/08/20 Вск 17:37:21 696591457
>>696569
Самые легендарные игоры не имели крутого графона.
Нахуй мне игра с вычислительными шейдерами (дождь/снег отскакивающий/прилипающий от/к динамических/им поверхностей/тям, угадал?), если в ней ни геймплея интересного, ни на худой конец сюжета глубокомысленного, цепляющего? Ну вот зачем, а?
Аноним 30/08/20 Вск 17:40:41 696592458
>>696591
да, динамически изменяющаяся погода в динамическом окружении, которая будет влиять на геймплей
ну и сейчас группе людей, которая занимается геймдевом, чтобы им же и кормиться и жить, нужно в том числе следить за графоном и индивидуальными фишками
Аноним 30/08/20 Вск 17:56:51 696593459
>>696592
Хуита и манямирок школьника/первокура. Вон у меня на ютубе Генри Стикмена проходят. Обоснуй мне, почему твоя динамическая хуита будет популярнее хотя бы его?

Лифт поехал. Время пошло.
Аноним 30/08/20 Вск 17:58:50 696594460
>>696593
посрись с кем-то другим или в движкотреде, мне это не интересно
Аноним 01/09/20 Втр 23:17:33 696790461
Аноним 03/09/20 Чтв 04:56:20 696971462
есть хоть одна более-менее успешная крупная игра на годоте? не срача ради спрашиваю, просто реально интересно
Аноним 03/09/20 Чтв 07:59:35 696975463
Аноним 03/09/20 Чтв 08:29:45 696978464
>>696971
Есть и не одна, но на мобилах. Просто у движка нет требования к неотключаемому сплешскрину и авторы банально не указывают, какой у них движок. Возьми 10 коммерчески успешных три-в-ряд китайских дрочилен-рекламу-показывателен, и 8 из них будут на годоте, причем на двушке.
Аноним 03/09/20 Чтв 09:10:06 696981465
Аноним 03/09/20 Чтв 10:16:42 696990466
>>696981
Причём тут это? Претензия не к движку, а к китайцам, которые клепают однотипную хуиту на мобилки. Хотя по сути претензия даже не к китайцам, а к миллионам хомячков, которые в это играют, смотрят рекламу, переходят по ссылкам и тем самым делают эту хуиту коммерчески успешной.
Аноним 05/09/20 Суб 04:09:56 697306467
>>696971
project kat, тип кайнда техно-демка, но щас большую игру с нее делают.
Аноним 05/09/20 Суб 07:17:53 697307468
Ебать моя встройка не вывозит редактор годота, когда по сцене двигаешься или зумишь все тормозит - я не могу. Всякие криты, блендеры и прочий тяжелый кал работает нормально, а годотя нет. Печаль, блять.
Аноним 05/09/20 Суб 12:09:13 697319469
что можно сделать на годот?
Аноним 05/09/20 Суб 12:29:30 697327470
>>697307
чё за встройка? интеловская нормально пашет
Аноним 05/09/20 Суб 14:52:34 697339471
Аноним 05/09/20 Суб 19:14:11 697359472
>>697307
Время переустанавливать шындовс.
это не шутки, запусти комп с вин-пе и убедись, что всё работает без тормозов
Аноним 06/09/20 Вск 08:39:00 697412473
модельки в блендере делаете?
Аноним 06/09/20 Вск 10:47:10 697433474
>>697412
А вы таки что-то хотите предложить?
Аноним 06/09/20 Вск 12:28:07 697449475
>>697433
3дмакс или майя для богатых буратин
Аноним 06/09/20 Вск 12:35:32 697451476
>>697449
Модели можно хоть в кепчуке (SketchUp) делать. Главное, чтобы игры были.
Аноним 07/09/20 Пнд 10:24:16 697612477
1522568407879.mp4 9521Кб, 1280x720, 00:00:30
1280x720
1471913647228.mp4 5086Кб, 1280x720, 00:00:20
1280x720
>>697319
>что можно сделать на годот?
Аноним 07/09/20 Пнд 15:11:49 697642478
image.png 115Кб, 460x321
460x321
>>697612
Наверно тупой вопрос, но можно ли создать 3д игру хотя бы на уровне ходячего симулятора, используя только визуально программирование (ноды)? Уже полгода сижу блендере, но ни с одним языком программирования не знаком от слова совсем.
Другой анон
Аноним 07/09/20 Пнд 16:21:23 697653479
Аноним 07/09/20 Пнд 17:07:05 697659480
>>697612
Соус второй вебм?
Аноним # OP 07/09/20 Пнд 18:16:21 697665481
>>697653
Двачую этого
>>697642
Или, если прям совсем никак без нодов - перебегай в анрил, там визуальные блупринты приделаны НЕ сбоку, а являются краеугольной фичей движка. При желании впоследствии нативизировать можно (преобразовать в код для скорости)
.
Аноним # OP 07/09/20 Пнд 18:18:28 697666482
>>697642
> можно ли создать 3д игру хотя бы на уровне ходячего симулятора, используя только визуально программирование
В прошлых тредах я проводил опыты и показывал сравнительные скриншоты, как три строчки простого и удобного GDScript превращаются в громадную лапшу нодов на четыре экрана.
Аноним 08/09/20 Втр 00:24:02 697698483
>>697659
В редите было, вроде какой то аниматор не программист пилит игру.
А еще хуман диаспора в ранний доступ вышла
Аноним 08/09/20 Втр 01:20:17 697699484
image.png 527Кб, 720x377
720x377
>>697653
>>697665
>>697666
Хмм, спасибо за ответы, мне теперь понятно в какую сторону смотреть, это будет хорошей пищей для размышлений.
Аноним 08/09/20 Втр 09:21:55 697712485
1599545421.png 10Кб, 469x219
469x219
1599545400.png 36Кб, 1016x691
1016x691
>>697699
Вот тебе еще немного пищи для размышлений. На прилагаемых пикчах код и блюпринт, которые делают то же самое. Отбросим пока что тот факт, что ноды тупо больше и подумаем вот над чем. Я всё равно изучал АПИ движка. Без этого никуда. Не зная АПИ, я бы не смог создать этот блюпринт. Я бы просто не знал, какие блоки брать и с чем их соединять.

А АПИ движка тесно связан с гдскриптом, все примеры АПИ изначально показаны на нём, а уж потом на других языках и блупринтах. Так что, чем дольше ты оттягиваешь момент с изучением языка, тем дольше не будет игор.
Аноним 08/09/20 Втр 12:17:00 697723486
>>697712
Обучение это балансирование между сложными и демотивирующими вещам и интересными и брутфорсными, если я сразу же начну с изучения языка то потеряю любую мотивацию на создание игор.
Но что ты написал натолкнуло меня на мысль, о том что ты делаешь неправильно лучше знать заранее и не привыкать этому способу, потому что потом будет труднее переучиваться. Спасибо, буду смотреть теперь инфу по этим АПИ штукам.
Аноним 08/09/20 Втр 12:30:55 697724487
Аноним 08/09/20 Втр 15:19:16 697739488
1515507011312.png 152Кб, 1393x843
1393x843
1509866092813.png 93Кб, 1394x835
1394x835
1571557826835.png 384Кб, 1920x1080
1920x1080
>>697723
Основа бродилки делается за 5 минут, за тридцать простых шага
Первый - создать проект из темплейта third person (потом контроллер игрока можно будет заменить/доработать)
Аноним 08/09/20 Втр 15:20:36 697740489
1589004090516.png 323Кб, 1920x1080
1920x1080
1562370122939.png 747Кб, 1920x1080
1920x1080
1556866610221.png 770Кб, 1920x1080
1920x1080
1558233477821.png 275Кб, 1920x1080
1920x1080
>>697739
2. установить ассет террейна, включить его в настройках, добавить ноду террейна, указать в ней папку куда будут писаться данные.
Аноним 08/09/20 Втр 15:22:13 697741490
1462858257009.png 1473Кб, 1920x1080
1920x1080
1585248869927.png 437Кб, 1920x1080
1920x1080
1470714583956.png 366Кб, 1920x1080
1920x1080
1527696524039.mp4 34761Кб, 1920x1080, 00:00:06
1920x1080
>>697740
3. Удалить пол, сгенерировать рандомный террейн, добавить текстурку травы. Ваша пицца готова. Дальше уже пилить всякие взаимодействия с объектами.
Аноним 08/09/20 Втр 17:12:10 697751491
image.png 152Кб, 475x169
475x169
>>697739
Фак, я ходячие симулятор я для примера привел, узнать порог вхождения в движки, но все ровно пасиб.
Аноним 08/09/20 Втр 18:35:47 697778492
>>697751
Пиши конкретнее тогда, что тебя интересует из жанров.
Мне не сложно ответить, когда время есть.
Аноним 10/09/20 Чтв 12:18:08 697994493
Аноним 10/09/20 Чтв 12:20:59 697995494
Товарищи, из тех кто по C# угорает, а кто-нибудь уже пробовал 3.2.3rc юзать? Опишите впечатления.
А то там "breaks forward compatibility," для "C# projects" обещают. И чет, сцыкотно мне.
Аноним 10/09/20 Чтв 13:11:20 698005495
>>697995
Просто делай бекапы проекта (или храни версии в git)
Судя по описанию просто когда ты создашь C# проект в 3.2.3, его будет нельзя открыть в 3.2.2
Вообще, раз поменяется только csproj, с исходниками и API же ничего не случится, в самом худшем случае просто передобавишь все .cs
Аноним 10/09/20 Чтв 13:56:47 698011496
>>698005
>Просто делай бекапы проекта (или храни версии в git)
Уже очень давно под версиями все :) Только под ртутью.
>Судя по описанию просто когда ты создашь C# проект в 3.2.3, его будет нельзя открыть в 3.2.2
Это то, понятно.
>Вообще, раз поменяется только csproj, с исходниками и API же ничего не случится, в самом худшем случае просто передобавишь все .cs
За исходники я не опасаюсь. Судя по описанию коммита там в файле проекта еще флаги есть которые будут разными для импортированных проектов и для новых и вот насчет них я не совсем разобрался. И самое главное я не понял, что в старой системе такого было плохого, что им понадобилось делать это изменение. Ссыкотно мне больше за то, как бы они в самом годоте не поломали C#, так что пришлось бы следующей версии ждать.
Вобщем, лучше я подожду полного релиза и отзывов.
Аноним 10/09/20 Чтв 14:58:22 698033497
>>698011
> не понял, что в старой системе такого было плохого, что им понадобилось делать это изменение.
Судя по закрытым багам, каждое добавление пакетов библиотек превращалось в боль, требующего каких то плясок для исправления. Чел писал в комментах, что в новом rc C# не сломался, и он даже использовал кейворды из C# 8.0
Аноним 10/09/20 Чтв 16:05:27 698044498
>>697995
> чет, сцыкотно мне
>>698011
> лучше я подожду
Никогда. Не. Обновляй. Движок. В. Продакшене.
Начал проект на 3.2.2. на 3.2.2 и заканчивай. И саппорти на 3.2.2. Это знать надо! Это классика, блять!
Аноним # OP 10/09/20 Чтв 16:16:27 698051499
>>684706
> Пойдёт в шапку, если не забуду.
Не забыл, но для шапки тяжеловато.
ПЕРЕКАТ Аноним # OP 10/09/20 Чтв 16:19:51 698055500
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов