Этого треда уже нет.
Это копия, сохраненная 2 февраля 2022 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
ОП-пикча1000 Кб, 912x1375
Godot #18 # OP 681839 В конец треда | Веб
Добро пожаловать в тред любви, взаимопомощи и роботов!

Ссылки
Скачать движок: 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/
2 681841
>>81839 (OP)
Надо будет на неделе бенчмарк проапгрейдить.
# OP 3 681842
>>81841
Я только за! Спокойной ночи, годаны!
4 681857
Когда в этом говне 2д физику пофиксят? Любые симуляции сложнее кучи мячиков начинают глючить, трястись и проваливаться. Хртьфу.
5 681862
>>81839 (OP)

>Игры, созданные глобальными кириллами: https://godotengine.org/showcase


опять тухлую ссылку принёс
6 681874
>>81857

>симуляции сложнее кучи мячиков


Разве физические симуляции делают на движках общего назначения? Тут нужно что-то узкоспециальное.
7 681876
>>81874
Ставишь в стак 10 квадратных ригидбоди и кидаешь на них еще один. Все поедет как желе.
8 681879
>>81876
А если не поедут то что?
9 681884
>>81879
То ты пидор
10 681885
>>81884
Поедут - годот говно, не поедут - он пидор, как то несправедливо.
image.png32 Кб, 1026x632
12 681887
>>81886
Только хотел сказать что у меня все ок, но увеличил вес брусков в 4 раза и понеслося.
13 681888
>>81887
С другой стороны, что это у тебя за игра, где куча тел охуенной массы падают с ускорением 39.2 метра в секунду?
14 681897
>>81862
Блять, подъёбка прилетела откуда не ждали. Все ссылки прочекал, кроме этой.
15 681925
>>81839 (OP)
Полезное с прошлого треда
----
Однажды долго искал, и нашел настройку сконса, отвечающую за кэш. Вроде бы, это не описано в доках годота, да и в самом сконсе закопано. Кэш позволяет сконсу не пересобирать то, что не менялось, таким образом, пересборка движка сведется к перекомпиляции пары файлов и (все равно долгой) линковке. Оставлю тут, вдруг кому пригодится
Надо завести переменные окружения
SCONS_CACHE=C:/путь_к_папке_где_хочешь_хранить_кэш
SCONS_CACHE_LIMIT=5000
Лимит в мегабайтах, т.е. в моем варианте 5Гб. Можно поставить 10-15 если есть место. Стереть можно в любой момент.
16 681969
>>81888
Это просто самый наглядный пример. У них в трекере открыто штук 10 похожих подтвержденных багов, где тела дребежжат, превращаются в желе или проваливаются друг в друга.
15926437185760.gif162 Кб, 480x270
17 682198
>>81969
Вполне возможно лечится повышением физического ФПС в настройках проекта.

Вот реальный баг который насилует годот, вызывая необратимые тормоза и они сохранятся даже после перезагрузки сцены.
https://github.com/godotengine/godot/issues/40059
Короче, не масштабируйте меши близко к нулю, с тенями ещё жёстче.
18 682201
>>82198

>после 10к кубов


Блять, проблема уровня Б прямо.
- Дохта, когда я делаю так, у меня болит.
- А вы так не делайте.
Что за игра такая где на сцене будет 10к динамичных кубов и больше и еще и тени отбрасывающих.
19 682202
>>82201
Ок, прочел коменты

>There is like 1.7k of objects on scene at any time. Every cube dies after 2-3 seconds.


Все равно вопрос нахуя столько динамичных объектов на сцене? Назови мне игру где за раз столько объектов с динамическими тенями?
20 682207
Какого-то хрена area2d(который player из туториала first game) не хочет двигаться,то есть менять позицию, когда нажимаю стрелки он перемещается на 1пиксель и тут же возвращается назад. При чем пол года назад я уже проходил этот тутор и все было хорошо, а тут какой-то ужас + проблемы с сигналами, которые не видят методов. Делал все на шарпе, может кто-то знает в чем дело.
1594419468771.jpg298 Кб, 750x771
21 682212
>>82202
Там по ссылке специальные синтетические тесты устраивают поток шкварных объектов. Чтобы каждую секунду появлялись сотни объектов калечящих годот и заставляющие его как минимум течь памятью. Просто в реальных условиях реальной игры у тебя момент когда ты заметишь пиздец с производительностью начался - наступит значительно позже чем в синтетическом тесте.
# OP 22 682219
>>82212

> в реальных условиях реальной игры


Вне зависимости от 2д/3д, будут конфигурируемые в настройках радиусы уровней детализации по ряду параметров (трава, деревья, кубы, пирамиды), согласно данной настройке в пул предзагрузки будет попадать строго определённое количество нод-сцен. А в действующем дереве сцены из них будет строго ограниченное радиусом из настроек количество. Я конечно сейчас с дивана пишу, но тем не менее, ИМХО, траблы с производительностью происходят из недостаточно проработанной архитектуры проекта. Когда программист вместо того, чтобы сесть и спроектировать проект, а потом кодить строго по проекту, ебошит код по заветам Хуана "пишите, как пишется".
23 682220
>>82219
Ты реально фигню щас морозишь не по теме. Скачай вторую сцену и затесть
# OP 24 682221
>>82220
Лень. Пойду лучше пивка жахну. Жара - пиздец!
25 682229
>>82201
Какая нибудь гиперкажуалка где надо кликнуть на экран и вокруг нажатия все кубы резко начинают скукоживаться.
26 682244
От Gonkee матчасть по прыжкам подкатила:
https://www.youtube.com/watch?v=K9g8TTFjIlY
Для тех, кто прогудел в дудку первый курс универа.
27 682279
Постите свои игры
28 682294
>>82279
Не могу, важную механику пока не доделал, чтобы нельзя было пулями спамить.
29 682304
>>82294
Эм, таймер между атаками?
30 682305
>>82304
Нет, унылую атаку с нулём энергии.
31 682310
Как вы делаете игры без базового визуала? Вот прототип например. Я не могу начать делать кор. механики потому что у меня нет хотя бы частичного готового ГГ с наворотами, а не могу я его сделать потому что хуево рисую, в итоге уже дней 5 я то туторы по рисованию гуглю, то как сделать кор. механики и нихуя не продвигаюсь. Нет бы накидать все кубиками чтобы вообще понять как что работать будет, но нет, не лезет так.
32 682317
>>82310
Временного ГГ можно скачать с opengameart / sketchfab. Уровни рисовать CSG нодами.
Снимок.PNG18 Кб, 205x415
33 682324
>>82317
Я смотрел там, в итоге не нашел чего то подходящего с видом сверху, я сам вроде как начал рисовать, но вот нинравица мне, еще и который день руки не знаю как накидать. Еще и столкнулся с тем что от вида сверху в принципе проблема изобразить монстра чуть сложнее зомби, чтобы он не выглядел как каша пикселей.
34 682328
>>82310
Надо учиться, прокачивать воображение и уметь видеть свою игру за фиолетовыми прямоугольниками. Настоящие студии тоже так делают, потому что все работают одновременно, и высокополигональную модельку девочки-андроида с шикарной задницей ты получишь только к финалу разработки.

Или использовать плейсхолдеры, составлять новые модельки из старых и тырить всё подряд с опенгеймарта. Я тоже не умею работать с абстракциями, и сейчас прототип говна у меня собран из ассетов из интернета за исключением прото-говниста.
35 682329
>>82324
Укради пока чужое, перерисуй.
36 682331
>>82324
Мне кажется никто давно не делает чистый топ даун. Все же делают как бы под 45 градусов как бы снизу
37 682334
>>82331
Ну я и сам из чистого только subterrain могу вспомнить из последнего, и то она вышла года 4 назад..
38 682343
>>82334
Hotline Miami последняя (судя по гуглу) позже была. И 12 >>> 6 ещё есть, где вид со стороны сомбреро.
39 682402
>>82328

> и высокополигональную модельку девочки-андроида с шикарной задницей ты получишь только к финалу разработки.


И ЧСХ, машинная жизнь осталась слегка подредактированными плейсхолдерами-цилиндрами.
40 682454
>>82402
Приоритеты были расставлены правильно, тем более что цилиндры на ножках в итоге выглядят достаточно хорошо.
41 682524
Сидишь такой думаешь, а пиксель арт это же изи, легко вкачусь за недельку, мало цветов, малый размер, легче рисования, на деле же ни разу не легче. Меньшем кол-вом цветов нужно так же уметь работать, разбираться в светотени, анатомии, уметь передать что либо парой пиксилей, разочарование...
42 682528
>>82524
Сук тредом ошибся.
43 682553
>>82528
Ну, в теории это тоже gaydev, так что не грусти.
44 682563
>>82524
А ты делай абстрактные игры. Я вот год назад придумал игру про кляксу, которая ловит своим телом проплывающие мимо палки, а потом запускает их в боссов на одной чистой физике. Так и не начал делать эту шизу.
45 682632
Движок умеет резать картинки? Допустим я хочу сделать пятнашки для тренировки, но хочется из картиночек, что бы не так банально. То есть вот например есть картинка, и я хочу написать скрипт который бы её разрезал на нужное количество мне частей, и что бы каждая часть была бы объектом, который я потом буду натягивать наверное как спрайт для элемента поля, которое наверное у меня будет двумерным массивом.
1523141804359.png128 Кб, 1092x1080
46 682637
>>82632
Для polygon2d можно назначить текстуру, вместе с отступом, масштабом, и uv координатами, что с помощью небольшой математики в скрипте делает то что тебе нужно.
47 682641
>>82632
У спрайта есть несколько параметров, содержащих слово region. Я бы через них делал. С ними довольно неудобно работать вручную (мышкой в редакторе), а вот из кода вполне легко.

Идея для игры 18+, только что придумал, но наверняка такая уже существует. Пятнашки на основе ню-фотографии (или арта, тут на вкус и цвет), у которой на самое пикантное место приходится пустая ячейка. Как только собираешь картинку, отсутствующая ячейка заполняется недостающей частью изображения, а там нутыпонел.
48 682650
>>82632
Самое быстрое решение такое: загружаешь картинку в спрайт и говоришь, что у тебя там якобы 4×4 кадра. Движок сам нарежет на 16 равных квадратов, дальше можно этот спрайт наклонировать и дать каждой копии свой номер кадра (один сделать невидимым). Но это, естественно, хорошо работает только для деления на равные кадры.
49 682665
>>82641

>Идея для игры 18+, только что придумал, но наверняка такая уже существует


Да, было такое. Еще в эпоху zxspectrum
50 682805
>>82637
>>82641
>>82650
Спасибо за советы, потыкался в общем в ручную мышеой и не понял все же как поделить кадр на части. Я еще полный нубас и прохожу базовые обучения, простите что подвел :(
51 682806
>>82805
Не простим.
Без имени.png146 Кб, 1920x1040
52 682809
>>82805
Вот, смотри. Я просто создал спрайт, закинул в него текстуру и выставил hframes и vframes на 4 (как будто у меня спрайтшит из 16 кадров). Теперь меняя Frame я получаю каждый из этих отдельных кадров. Создай 16 таких спрайтов, расставь по местам, и у каждого поставь своё значение frame, а одному поставь visible = false. Теперь чтобы поменять два кадра местами, достаточно поменять местами их frame, а сами спрайты можно и не двигать. А можно и двигать, с помощью Animation Player можно сделать всё красиво. Валяй.
53 682821
>>82244

>От Gonkee матчасть по прыжкам подкатила:


>https://www.youtube.com/watch?v=K9g8TTFjIlY[РАСКРЫТЬ]


Но как же так? Математика ведь нинужна? Мне на ютупчике так сказали. А еще говорили, что программировать не нужно, хнык-хнык...
Сук, чет ржу.

>Для тех, кто прогудел в дудку первый курс универа.


Да ну, окстись, парабола и производные - это еще школьная программа, вот матрицы уже универ, да.
54 682823
>>82821
Ну если ты планируешь делать ассетфлиппер на готовых скриптах или простенькую пошаговую клеточную стратегию, то тут матан реально нинужон. Зависит от области применения.
55 682830
>>82821

> это еще школьная программа, вот матрицы уже универ, да


Согласен, начинается оно ещё в школе. Но именно на первом курсе универа это всё повторяется, закрепляется и увязывается с остальным матаном и ты понимаешь, что это реально нужная вещь, а не просто задрачивание бесполезной хуйни математичкой в школе.
56 682844
На улице +37⁰ градусов ёпта, жара вообще пиздец. Идеальная погода, чтобы остаться сидеть дома и делать игры. Согласны?
57 682845
>>82844
Не согласны. Идеально - зимой, когда за окном метель. Ммм... стимулирует творческий процесс! А летом лежишь на пляже, пьёшь пиво. Какие игоры? Выачом?
58 682846
>>82844
Блин, не совсем в тот тред написал, ну и ладно. Но жара реально пиздос
59 682847
>>82845
У меня на пляжах менты дежурят
60 682856
>>82847
Блять, купи им пива! Чо ты как тормоз?
61 682857
Проверка галки ОПа, куков и прочей хуйни.
62 682863
>>82244
Сейчас в платформерах более продвинутые техники делают чем просто формула гравитации
https://www.reddit.com/r/gamedev/comments/horm1a/ive_started_making_a_teaching_aid_for_people/
63 682880
На годо можно сделать игру типа сайлент хила?
64 682881
>>82880
Нет, кодзима запрещает.
65 682882
>>82880
Ну можно конечно. Правда большие уровни надо будет оптимизировать. Да и рисовать там много придется.
66 682920
>>82880
Можно. И уже делают.
https://youtu.be/o9MCifpQwro
67 682921
>>82920
Какой же атмосферный графон в Годоте, очень похож на Source Engine. Но тут в целом особенности дефолтной постобработки.
68 682932
>>82863

>Сейчас в платформерах более продвинутые техники делают чем просто формула гравитации


Все эти техники - древние как говно мамонта и применялись еще на заре платформеров.
И, кстати, их использование не отменяет необходимости использования стандартной схемы гравитации для прыжков.
69 682934
>>82932
Не использовались, шиз. Наоборот, на заре платформеров игра тебя наказывала за недолет или перелет. А не отматывала время и не сажала на краешек. И не считала сколько кадров ты стоишь не земле. Ты сам должен был нажимать прыжок вовремя.
70 682936
>>82934

> Наоборот, на заре платформеров игра тебя наказывала за недолет или перелет


>время койота в марио

71 682940
>>82920
Неудачное видео. Хоть бы ресурсы пропукали. И это всего в одной комнатке.
72 683072
Сделал двигающуюся платформу через Animation Player. При движении вместе с персонажем вверх оба слегка дрожат/мылятся, хотя ходить по лифту можно и прыгать с него тоже. Как чайнику такое пофиксить?
73 683078
>>83072
Мало инфы. Какие боди (ригид, кинематик), какой функцией двигаешь игрока, в каком process или physics process
74 683099
>>83072

> Как чайнику такое пофиксить?


Накинь на движущуюся платформу Area, в которой пропиши замену гравитации (Replace или Replace-Combine, но не Combine-Replace и не Combine, хотя, тут еще надо подумать); в этом случае платформа будет таскать за собой эрию, а эрия будет своей гравитацией самостоятельно таскать за собой все физические тела (кроме кинематиков, разумеется) на уровне физического движка.

Если же ты пользуешься кинематиками - то сам себе злобный буратино. Побежал за упрощением - получи подарочек - реализуй всю кинематику самостоятельно.
75 683103
>>83099

> Если же ты пользуешься кинематиками - то сам себе злобный буратино.


Кто, если не кинематик? Назови конкретное тело.
76 683126
>>83072
Готовое решение по платформам было у GameEndeavor'а, посмотри его.
77 683187
Начал делать 2д платформер, вроде все выходит, но не могу нормальный прыжок персонажу сделать. Реквестирую помощи нормального прыжка.
Пока у меня код выглядит так:
var jump = 100
func _physics_process(delta):
if Input.is_action_pressed("ui_jump"):
velocity.y = -jump
78 683189
>>83187
Да всё хорошо, наверное у тебя проблемы с падением.
79 683190
>>83189
С падением как раз все в порядке. А в коде который я отправил вместо прыжка персонаж летает, что мне и нужно исправить.
80 683192
>>83187
Ну а гравитация где?
81 683195
>>83190
То есть он не начинает падать, когда начался прыжок? Ну это всё-таки скорее с падением проблемы. Как на него действует сила тяжести?
82 683196
>>83192
>>83195
По какой-то причине во время нажатия кнопки прыжка гравитация на него никак не влияет, видимо это и есть то что мне надо исправить. Вопрос только в том как это сделать.
83 683199
>>83196
На самом деле всё довольно просто. Гравитация должна действовать на него всегда, если он не стоит на полу. Есть стандартный метод is_on_floor(), но он действует мутновато, или можно сделать ray_cast вниз, который либо пересекается с хитбоксом пола, либо нет (а лучше даже два, справа и слева).
Если персонаж летит, то velocity.y += gravity, а если стоит на земле, то velocity.y = 0. Ну а прыжок можно оставить как есть.
84 683204
>>83199
Попробовал добавить в функцию вот это:
if not $RayCast2D.is_colliding():
velocity.y += gravity
Все то же самое, но теперь игрок падает вниз с ебанутой скоростью. Прыжок все еще представляет из себя полет.
85 683205
>>83204
А. Я понял, я дурак. «is_action_just_pressed("jump")».
86 683208
>>83205
Уже лучше: прыжок теперь действительно работает. Правда теперь иногда если сойти с платформы в воздухе игрок продолжает шагать по воздуху. Ну и еще прыжки разной высоты почему-то выходят все время. Есть способы как это исправить?
87 683209
>>83208

>Ну и еще прыжки разной высоты почему-то выходят все время


На дельту гравитацию не умножаешь?
88 683210
>>83208
Проверь, не может ли ещё с чем-нибудь коллайдить твой луч, может быть с хитбоксом самого персонажа или каким-нибудь другим мусором.
Про разные прыжки — не забудь обнулять скорость, если стоишь, if $RayCast2D.is_colliding(): velocity.y = 0 перед кодом прыжка.
89 683212
>>83209
На дельту множать пробовал, проблема разных прыжков от этого не исчезает.
>>83210
Если я обнуляю velocity.y то персонаж ходит по воздуху, время от времени резко проваливаясь вниз.

>Проверь, не может ли ещё с чем-нибудь коллайдить твой луч, может быть с хитбоксом самого персонажа или каким-нибудь другим мусором.


Как это проверить?
90 683213
>>83212
В проекте включи отображение хитбоксов, проверь, нет ли мусора, не слишком ли длинный луч, кстати, его стоит сделать совсем коротким и опустить к ногам.
gravity явно надо сделать поменьше, если у тебя персонаж слишком быстро проваливается.
91 683214
>>83212
if $RayCast2D.is_colliding(): print ($RayCast2D.get_collider())
Проще всего проверять принтом.
92 683215
>>83214
Проверил. Персонаж почему-то видит тайлы в воздухе там где их нет
>>83213
Длина луча стоит "5"
93 683216
>>83214
Сами платформы (которые есть) он кстати видит только в момент приземления, а дальше - нет
94 683217
>>83215
Тайлы там, где их нет, могут появиться, если что-то сдвинулось (например у ноды тайлмапы координаты на (0,0), а куда-то поехали). В общем, у тебя какое-то неожиданное поведение, проблема где-то в другом месте, по описанию не вычислить.
95 683221
Анон, а помоги кватернионы победить.

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

Вчера я узнал про кватернионы, ещё раз понял, что неделю делал не то. Но вот кватернионы раскусить не могу. Вот это проблема. На годофорумах нашёл пару тем, там какие-то обрывки, понятнее не стало вообще.
Может кто-то краткий пример рабочий показать?
>>82324
Марин какой-то.
96 683222
>>83221
Если с кватернионами лётчик выходит, и комплексные числа не любишь, используй матрицы поворота и углы Эйлера, они более естественны, первый курс линейной алгебры/механики твёрдого тела.
Кватернионам мало где учат, потому что в доконпуктерную эру их нигде толком и не применяли, но вообще там тоже несложно: кватернион — надстройка над комплексным числом с тремя мнимыми единицами, нам нужно только уметь их перемножать и ввести правило, по которому они ставятся в соответствие поворотам на разные углы. А эти правила есть хоть в той же Википедии.
97 683223
>>83221
Читни задача n тел, там легко же.
98 683247
Сап. Начал пилить платформер на годоте, но столкнулся с такой херней: персонаж почему-то немного трясется когда горизонтально перемещается. Движение по горизонтали делаю так:
if Input.is_action_pressed("ui_left"):
velocity.x = -sp33d
elif Input.is_action_pressed("ui_right"):
velocity.x = sp33d
else:
velocity.x = 0
Как фиксить?
99 683261
>>83247
Код норм. Проблема в другом месте.
100 683271
>>83247
Делай это в _physics_process()
101 683327
Поделитесь хорошим манулом по гую/менюшкам. У меня всё какое-то говно выходит не расайзуемое.
102 683342
>>83327
Кури мануалы по вебу, гораздо толковее будет. В годоте гуи сделаны по принципам веба. И если умеешь верстать страницы, в годоте просто охуеешь от удобства.
103 683346
104 683357
>>83223
Я знаю (интерес к астрономии уж лет 20 - обитаю в spc уж сколько), но когда дло доходит до реализации...
>>83222
Спасибо. Кстати. Несколько раз встречал на годоторесурсах советиспользовать трансформы, а не кватернионы. Это чем-то особенным вызвано?
105 683359
>>83357
Кватернионы не умеют в позиционирование и в разный масштаб по осям. В годоте можно получить кватернион из базиса трансформы, покрутить-послерпать и записать обратно.
106 683361
>>83346
Читал, пытался, но как-то не разобрался в их свойствах.
Ладно, попробую ещё потыркаться.
>>83342
Только на голеньком html в школе делал. Но это было ещё при первом Путине.
107 683391
Одни хвалят матрицы трансформации.
Другие хвалят квартенионы.
Кому верить, если проверить не хватает мозгов?
1541915994668.jpg40 Кб, 694x348
108 683394
>>83391

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

Кватернионы не нужны, если у тебя например туррель, в которой башня поворачивается только на оси Y, а пушка - чайлд нода, которая ходит только вверх-вниз. Тогда, понятно, что намного проще просто поворачивать их на заданный угол.
Квартернионы скорее всего не нужны если у тебя шутер без наклона головы. Если тебе захочется плавного сглаживания мышки, то

>можно получить кватернион из базиса трансформы, покрутить-послерпать и записать обратно.


Квартернионы нужны, если у тебя свободная ориентация камеры космосе.
Все имхо могут быть неточности в терминологии.
109 683413
>>83394

>Определить порядок поворота и нигде и никогда его не путать. rotate_x(a).rotate_z(b) не то же самое что rotate_z(b).rotate_x(a).


Помню, как впервые с этим столкнулся.
Гифки в https://docs.godotengine.org/en/stable/tutorials/3d/using_transforms.html очень помогли.
110 683418
>>83413
Обычно с этим сталкиваются с кубиком Рубика.
ошибка.jpg35 Кб, 557x240
111 683793
Пытаюсь сделать чтобы персонаж стрелял, вот такой код:
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)
Когда нажимаю на кнопку выстрела выдет ошибку пикрил. Что с этим делать?
112 683806
>>83793
Это означает, что ты вызываешь instance() на объекте, который не инициализирован (= null)
Возможно ты опечатался в пути к сцене. Проверь большие, маленькие буквы, папки.
Вообще прям так делать как у тебя не стоит. Ты же на каждый выстрел загружаешь файл заново. Вынеси эту переменную в начало скрипта, вне функций и вызови preload вместо load
onready var snowball = preload("res:/...")
113 683810
>>83806

> Возможно ты опечатался в пути к сцене


Или можно просто перенести сцену в код как обычный файл и путь пропишется сам.
114 683818
>>83806
Спасибо, анон.

Теперь возникла другая проблема: вместо того чтобы лететь по заданной траектории, пуля останавливается в центре игрока, причем пули которые были поставлены на уровне через редактор работают нормально. Убирать коллизионшейп пули пробовал, ничего от этого не меняется.
Также при нажатии на кнопку выстрела выдается вот такая ошибка в отладчике: add_child_below_node: Cannot move under node
В чем тут проблема и как ее решить?
115 683820
>>83818
Ты не по туторам делаешь чтоль? Глянь это хотя бы. https://www.youtube.com/watch?v=UKfzBnfh4Ak&list=PLsk-HSGFjnaFC8kEv6MaLXnnDcevGpSWf&index=4
116 683822
>>83820
Делаю я по туторам, но просто после туториалов всёравно остаются ошибки, хотя делаю все вроде так как там.
За ссылку благодарю, видос обязательно гляну. Надеюсь поможет.
117 683824
>>83818

>лететь по заданной траектории


Каким образом ты задаешь траекторию?

>add_child_below_node


Зачем тебе именно below? Пользуйся просто add_child. below означает "ниже в списке", а не "ниже по иерархии дерева"

>выдается вот такая ошибка в отладчике

118 683825
>>83822
Ну значит пересматривай и перепроверяй, я так же ошибся пару раз за тутор, пол дня не мог понять почему не работает, в итоге букву пропустил, анон это заметил, я же перечитывая строчки когда раз 10 нет, глаз замыливается.
119 683826
>>83824

>Каким образом ты задаешь траекторию?


extends KinematicBody2D
var velocity = Vector2()
func _ready():
velocity.x = 160
func _physics_process(delta):
move_and_slide(velocity)

>Зачем тебе именно below?


Так было в туториале и по другому игра просто крашилась выдавая ошибку
120 683851
>>83825
Хех, тот анон в треде!
>>83822
Еще попробуй текстовые туториалы на офиц сайте из шапки. Проще копипиздить готовый код.
121 683855
>>83851
Какой самой легковесной нодой сделать неподвижную платформу? Ей не нужна физика, на ней нужно просто стоять.
122 683856
>>83855
Ссылка просто так прилепилась, мои извинения.
123 683857
>>83855
Всё, нашёл static body. Столько шума на пустом месте я ещё никогда не поднимал.
124 683921
Вот хочу я замутить пиксельную игру в чем-нибудь типо 320x240. Но заметил что разрабы скейлят текстурки и вместе с ними разрешение в 2-3 раза. В чем профит этого? Единственное что приходит в голову - какие-нибудь шрифты или UI можно сделать меньшими пикселями чем всю остальную игру и засунуть туда больше инфы. Ради этого?
125 683923
>>83921
Попробуй повернуть спрайт оригинального размера для игры такого разрешения и апскейленный. Ну это что первое в голову пришло.
126 683946
>>83921

>Но заметил что разрабы скейлят текстурки и вместе с ними разрешение в 2-3 раза.


>В чем профит этого?


Современнные мониторы хреново, переключают разрешение, предпочитая работать в нативном для них. Поэтому ты вибираешь базовое разрешение для своей игры и потом скейлишь его выбранным способом. Если это пиксельарт, то скейлить надо в целочисленном выражении, иначе будет смотреться как говно. Есть правда один способ, как скейлить пиксельарт на не целые числа, но на готовых движках ты его не реализуешь, надо свой рендер писать.
>>83921

>Единственное что приходит в голову - какие-нибудь шрифты или UI можно сделать меньшими пикселями чем всю остальную игру и засунуть туда больше инфы.


Нет, так только пидоры делают. Ну уподобляйся.
127 683947
>>83946

>Ну уподобляйся.


Не уподобляйся (быстрофикс)
128 683950
>>83820
Посмотрел видео и вообще нихуя не понял. Он как-то вообще по другому кодит
129 683955
>>83950
Судя по коду выше в треде, если код там твой, то вынужден констатировать факт, что ты вообще основ информатики не знаешь и надо бы тебе их подучить, прежде чем лезть в геймдев. Геймдев это сложная индустрия (она тебя сожрёт), берущая в себя самые совершенные методики кодинга, а ты даже сделать переменной линк на сцену в коде не догадался. Это классика, блять, это знать надо ДО того как решил в геймдев вкатиться.
130 683959
>>83950
Посмотри с первой серии, продолжительностью они по нихуя, английский особо не надо, все понятно, у меня все работало, когда делал как он и код понятный. Ты главное комменти код пидр чтобы знать что понаписал!
131 683962
Нормальный ЯП к годоту так и не прикрутили?
132 683965
133 683968
>>83965
Он же сказал нормальный, нет бы джаву или пхп прикрутили.
134 683973
>>83968
Ничего что шарп это пропиретарная жава? И да это нормалый ЯП, не то уродство на основе питона что изначально было.
135 683980
>>83973

>шарп это пропиретарная жава?


Уже давно свободный.
137 683999
>>83946

>Поэтому ты вибираешь базовое разрешение для своей игры и потом скейлишь его выбранным способом. Если это пиксельарт, то скейлить надо в целочисленном выражении, иначе будет смотреться как говно.


Так годот кажись все текстурки автоматом скейлит при ресайзе окна, ну то есть если запустить игру в 320x240 и растянуть с keep aspect, то он просто их сам как подобает увеличивает.
138 684018
>>83999

> кажись


> keep aspect


Там не одна эта настройка. Там можно несколько вариантов масштабирования применять.
139 684040
>>83999
pixel-perfect скалирование не так просто работает, там надо самому немного считать, грубо говоря до какого то разрешения держать х2, потом переходить на х3.
140 684044
>>84040

> там надо самому немного считать


Хули там считать? Берёшь и округляешь до целых (целого пикселя) без задней мысли. Движок делает это за тебя автоматически.
141 684047
>>84044
Ты вообще не понял о чем речь.
142 684062
>>84047
Вообще-то понял, а ты свой доёб обосновать не сможешь.
PTPI
143 684096
>>84044

>Движок делает это за тебя автоматически.


Ни-ху-я.
144 684143
>>84062
Ну тогда покажи пример.
145 684337
Парни, а есть простой встроенный метод для объединения словарей?
Типа такого:
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
146 684340
>>84337
Проверь просто d3 = d1 + d2
147 684362
>>84340
Проверил до того, как спросил. Не работает.
148 684363
>>84362
Я затупил, это ж не массив.
Вообще не уверен что для словарей такая операция имеет смысл - ключи же могут совпасть. Объединяй сам явно.
149 684368
>>84337
Не может быть простого и удобного всем метода для объединения словарей. Что делать с под-словарями? Записывать как ссылку или дубликат? Что делать с совпадающими ключами? Дублировать? Перезаписывать? Метод, который бы описывал все варианты, обладал бы кучей запутанных аргументов. Поэтому надо писать свой, подходящий под твои задачи.
Вот здесь юзеры написали несколько вариантов: https://godotengine.org/qa/8024/update-dictionary-method выбери понравившиеся.
150 684373
>>84368
Спасибо, анончик.
Насчёт под-словарей вообще странный вопрос. Словарю должно быть всё равно, что у него внутри. А вот насчёт совпадающих ключей... ну фиг знает, на мой взгляд, такая функция должна перезаписывать их по умолчанию.
Ок, к счастью, у меня простой случай без вложенных массивов и совпадающих ключей (а если и совпадут, то перезапишутся), так что объединю по старинке, циклом.
151 684378
>>84373

> Словарю должно быть всё равно, что у него внутри.


А тебе - не всё равно. Ты, например, сделал словарь-шаблон и пихаешь его подсловарём в рабочие словари, потом без задней мысли пишешь в него данные, потом без задней мысли копируешь рабочие словари. А потом хуяк!
Сам на такое натыкался. Впрочем, лечится быстро и легко встроенным методом duplicate()
152 684380
>>84378

>Ты, например, сделал словарь-шаблон и пихаешь его подсловарём в рабочие словари, потом без задней мысли пишешь в него данные, потом без задней мысли копируешь рабочие словари. А потом хуяк!


Ну, тут однозначно ССЗБ
153 684383
>>84380
Хуйня случается. Главное - оперативно разрулил.
image.png73 Кб, 829x846
154 684387
Ребят, у вас вкат в интерфейс занял долго? Я на работке херачу обычном скриптовом языке в котором ты ничего не накликиваешь обычно, а хуяришь код и все задачи выполняешь тоже кодом, а сейчас делаю обучение и ощущаю себя так что меня нужно еще пару месяцев за руку водить. Туча разных нод, сигалы всякие, сейчас пока делал базовый урок - чуть не охерел от того что не законнектил таймеры со скриптом и просто ничего не работало, без всяких там фаталов и прочего.
Ну вроде вот победил - можно меня поздравить.

Опять же ощущение что хоть и выполнил урок кое-как, то самому подобное повторить подобное сейчас пока нереально. Хоть еще 3 раза перепроходи и запоминай что и зачем куда накликивал да кури каждую функцию.
155 684393
>>84387

>ничего не накликиваешь обычно, а хуяришь код и все задачи выполняешь тоже кодом


1. открой папку проекта в проводнике виндовс
2. большинство файлов можно открыть обычным блокнотом как текст
3. изучаешь структуру кода
4. пишешь такой же, только вручную, в любом удобном текстовом редакторе
Но это извращение какое-то, конечно.
156 684394
>>84387
Ты можешь накликивать поменьше, а хуярить кода побольше. Я тоже всю жизнь писал на сях и паскалях, пытался велосипедить свои игоры на них, но особенных проблем с переходом как-то не возникло. Попробуй сделать какую-нибудь свою игру. Воспринимай ноды как просто классы, поля в которых ты задаёшь в гуе, но методы ты всё равно пишешь в скриптах кодом. (Кроме стандартных, конечно, но стандартные описаны в документации.)
157 684395
>>84393
>>84394
Спасибо. Да я все понимаю, просто я старый уже, и очень тяжело учиться на новом стеке. Пиздец мозг закостенел и лень. Прост так маленько поныл что бы выговориться.
158 684396
>>84395
Давай, трудись. Я тоже в 30 вкатился, и ничего. Через полгодика мой красивый и умный бот уже зачищал данж от тупых зомбей. На самом деле у них был примерно одинаковый интеллектуальный уровень, просто у бота ещё и был лук.
159 684459
>>84387
Строго говоря, если тебе не подходит их интерфейс, ты вообще можешь им не пользоваться. Создать просто спрайты (точнее Area2D) и у них в input обрабатывать... Или вообще координаты проверять.
160 684464
>>84459
Если ещё строже говоря, можно открыть сорцы движка в ИДЕ и лепить поверх него свою игру на крестах. А потом сконпелировать. Можно вообще отказаться от системы нод и юзать только импортеры ресурсов, а игровую логику построить на своём велосипеде. Таким образом движок выступит в роли уже написанного Хуаном за тебя бойлерплейта.
161 684467
>>84395

> просто я старый уже


Годот! Сделано олдфагами для олдфагов!
1528912135789.mp434,7 Мб, mp4,
1920x1080, 0:50
162 684669
1575837675434.mp432,8 Мб, mp4,
1920x1080, 0:46
163 684671
# OP 164 684706
>>84671
>>84669
Каеф! Пойдёт в шапку, если не забуду.
1511784398884.mp413,4 Мб, mp4,
1920x1080, 0:37
165 684815
Это войдет в бенчмарк, когда я наконец доберусь его допилить.
166 684856
>>84815

>в бенчмарк


Добавь еще мелодию какую-нибудь на фоне с возможностью отключения, чтобы сразу протестить, насколько звук на производительность влияет.
167 684866
>>84856
Это да. Я все время забываю вставить музыку.
168 684983
Суп, /gdt/, есть одна ошибка «body_get_direct_state: Condition "!body->get_space()" is true. Returned: __null», которая вылезает у всех нубов, которые начинают перекидывать всякую хрень между уровнями. Вылезает на первом вызове «move_and_slide», и больше нигде не гадит.
На новой стартовой позиции никаких коллизий, естественно, нет, она висит в воздухе.
169 684989
>>84983
Сложно сказать. Рассказывай как перекидываешь.
170 684998
>>84983

> Вылезает на первом вызове «move_and_slide», и больше нигде не гадит.


Т.е. просто пишет в лог об ошибке и всё, да?
171 685030
>>84998
Да, ничем не мешает. Если это какая-то о-о-очень глубокая особенность движка, я готов забить.
>>84989
На самом деле я даже не перекидываю, это я написал не вполне корректно. И уровень и прото-говнист — дети корневой ноды, поэтому я просто удаляю старый уровень из дерева, добавляю новый уровень, меняю их местами, чтобы ГГ был выше террейна, перемещаю его в точку спавна на уровне (у всех нод начало координат в нуле, так что всё попадает куда нужно), и иду играть.
172 685088
Годаны, наверняка, кто-то с этим сталкивался.
Имеем дверь - AnimatedSprite. У двери две анимации: open и close. На каждую анимацию есть несколько разных картинок: варьируется расцветка и степень поломанности. В каждой картинке одинаковое количество кадров.
А теперь вопрос. Как быстро ИЗ КОДА заменять эти картинки? И как ИЗ КОДА узнать адрес используемой в данный момент картинки? Я просто раньше это делал только из редактора, а сейчас дошли руки до сохранения/загрузки, встал вопрос о том, чтобы загружать точно такую же дверь, которая и сохранялась.
173 685092
>>85088
У него есть int frame, меняешь/читаешь его — получаешь номер кадра.
174 685093
>>85092
Бро, ложись спать, у тебя уже внимание слишком рассеянное.
175 685094
>>85088
Поле .texture вроде.
176 685135
>>85088
Не знаю что ты подразумеваешь под "адресом" используемой картинки. Но при загрузке это так не работает - в программе все адреса сменятся. А из за многопоточности ты даже не можешь быть уверен что у них порядок в памяти после загрузки будет такой же.
Тебе надо организовать все так, чтобы ты точно сам контролировал. Вижу тут два пути - если у тебя все-все двери в одном атласе, то анимация открывания обычной двери это кадры 0..3, закрывания 4..7, открывания сломанной двери 8..11 и так далее - то как написал этот анон >>85092
Если у тебя разные картинки, то тебе надо завести массив SpriteFrames.
Вот что то типа такого васянства:
onready var doors = [ preload("res://normaldoor_spriteframes.tres"), preload("res://brokendoor_spriteframes.tres"
) ]
...
func _ready():
frames=doors[0]
(frames во множ.числе)
Сами spriteframes можешь тупо сохранить из редактора
177 685136
Хосподе уже 3.2.3 Rc1 как же летит время
178 685171
>>85135

>Не знаю что ты подразумеваешь под "адресом" используемой картинки.


Путь к файлу.
179 685251
>>85088
Чел, я понял. что ты хочешь. Вечером, если протрезвею, напишу как я подобную шнягу делал, только для смены скина игрока.
180 685258
>>85251
Опять все в говно, даже я пью, охуенное программирование.
181 685312
>>84815
GodNoita.webm
182 685314
>>85088

> Как быстро ИЗ КОДА заменять эти картинки? И как ИЗ КОДА узнать адрес используемой в данный момент картинки?


Отвечает Александр Друзь:
Никак. Нирикаминдую такой подход. Перепроектируй дизайн с другой стороны: У тебя есть объект (дверь). У объекта есть состояние (из набора допустимых состояний). Объект может получать сигнал об изменении своего состояния (при вызове своего метода set_state). При изменении своего состояния он самостоятельно меняет свои внутренние параметры, в том числе картинку/текстуру. Если тебе нужно узнать, какое у объекта сейчас состояние, сделай метод get_state. Если тебе нужно чтобы объект передавал ссылку на свою текущую текстуру, сделай метод get_texture. Надеюсь, ума хватит, как создать такие методы? Там блять по одной двум строчкам кода.
183 685366
>>85314

> никак


Да ты че, я же уже показал как в пару строчек: >>85135
184 685378
>>85314

>При изменении своего состояния он самостоятельно меняет свои внутренние параметры, в том числе картинку/текстуру.


Так-так-так, секундочку. Именно об этом был вопрос: как поменять картинку/текстуру ИЗ КОДА? Мне же надо как-то описывать изменение состояния.
185 685387
>>85378
enum DoorTypes { Normal, Broken, Diabolic }
export var door_type = DoorTypes.Normal
186 685388
>>85378

>как поменять картинку/текстуру ИЗ КОДА?


Ты специально не читаешь что тебе пишут? >>85135
onready var doors = [ preload("res://normaldoor_spriteframes.tres"), preload("res://brokendoor_spriteframes.tres"
) ]
...
func _ready():
frames=doors[0]
187 685469
>>85388

>tres


Это, по-твоему, картинка?
Данное решение, конечно, работающее, но есть у него одна важная проблема: оно требует дополнительной конвертации ресурсов. То есть, нельзя просто так взять и нарисовать новую картинку, нужно из неё делать ресурс, сохранить отдельным файлом, а потом грузить уже его. Костыльно. А если картинок много? И вообще, с таким подходом проще делать каждую дверь отдельной сценой и вообще ничего не грузить: файлов получится столько же, а кода меньше.
188 685481
>>83962
Так там C++ же есть.
189 685506
>>85469

> оно требует дополнительной конвертации ресурсов


Это пример. Замени там tres на png и будут тебе текстуры в массив прелоадиться. Без дополнительных конвертаций. Затем (приблизительно так) sprite.texture = frames[0]
190 685534
>>85506

>(приблизительно так)


Вот теперь раскрой скобки. Потому что именно в них и содержится мой вопрос. Всё остальное я и без тебя знаю.
191 685543
>>85469
Я тебя понял, видимо AnimatedSprite рассчитан на другой юз кейс. Он очень упрощен. А ты хочешь один раз разметить анимации и кадры, а потом подложить новую картинку с точно таким же расположением кадров на ней. Тут логичнее делать на просто Sprite с SpriteSheet + AnimationPlayer.

Если же тебе надо именно AnimatedSprite. Это возможно, но все равно будет костыльно. Во-первых, ресурс spriteframes в текстовом редакторе, или скриптом. Просто копируешь и меняешь в нем имя картинки. Во-вторых, можно склонировать spriteframes, т.е. взять готовый, создать новый, и добавить в него по очереди все анимации и все кадры, подставляя другую картинку, но это тоже чего то многословно. Строчек 20 будет.
Секрет бобра.jpg16 Кб, 360x514
192 685553
>>85543

>Тут логичнее делать на просто Sprite с SpriteSheet + AnimationPlayer.


Знаешь, а ведь верно. Почему-то я упёрся именно в анимированный спрайт, типа, это же специализированное решение для простых пиксельных анимаций, и совершенно проигнорировал такую вот возможность. А ведь с анимейшон-плеером можно обойти несколько не очень удобных костылей, которые пришлось добавить в код: например, инвертирование направления открытия.
Пожалуй, да, так и сделаю.
Не так, как предполагалось, но ты мне помог. Бобра тебе.

>Он очень упрощен.


Скорее он недостаточно усложнён. Позволяет подгружать индивидуально текстуры для каждого кадра анимации, но не даёт к ним доступа. Кажется, будто разрабы начали пилить ноду для анимации, но потом забили, потому что сделали универсальный анимейшонплеер.
1539555139229.png115 Кб, 1023x975
193 685555
>>85543
Вот собственно весь код (ну единственное что я гружу одну картинку. Там может быть массив, либо вообще сканировать всю папку)
194 685557
>>85553
Не, я так понял что его добавили позже, именно для случаев когда нет нужды прикручивать аниматор только ради такой анимации.
image.png184 Кб, 1875x1736
195 685777
Нуфаня в треде.
У меня вопрос, где вы обучались кодить в mono версии, если здесь такие есть?
В том смысле что я хоть и учусь кодить на плюсах/шарпе уже несколько месяцев, но нормального, не то чтобы описания, а логики применения функционала/классов нигде не описано. В результате не знаю даже как kinematicbody заскриптить самостоятельно. Более менее нормальную схемку нашёл в жопе документации, но это лишь взаимосвязь классов.
doorsskins.png122 Кб, 990x1234
196 685778
>>85088
Вобщем, шалом. Я протрезвел и готов отсыпать крупицу своей мудрости.

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

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

Небольшой ньюанс на тему сканирования имен файлов в каталоге. Если делать это в режиме редактирования, то на выходе получаешь вперемешку .png и .png.import файлы. Ну ты естественно думаешь, раз мне нужны картинки то и брать я буду только png, и подсовываешь в load только их. Все работает - круто. Потом ты экспортируешь проект и внезапно все ломается. А окажется, что сами png-шки при экспорте помещаются совсем не туда где они лежат при создании проекта, сюрприз. А в каталоге где они должны быть, остаются как раз только .png.import файлы. Вот как-то так. Собственно поэтому на пике я так странно с именами фалов обхожусь. Это не баг, так и задумано. Только, естественно, в инструкции хер найдешь сходу об этом упоминание.
197 685779
>>85777

>У меня вопрос, где вы обучались кодить в mono версии


Если по шарпу, то х.з. как-то само методом тыка. Я слегка покодил на ждскрипте пару недель, чтобы разобраться в api движка. Потом пересел на mono версию и потихоньку начал. Там в принципе все просто. Заменяешь названия всех (99%) методов на PascalCase вместо camel_case. Исключений не слишком много, в основном в функциях типа CallDeffered, где методы вызываются в кавычках. Ну а дальше стандартное решеточное погромирование.
Учесть стоит, что отсутствует модификатор onready, поэтому в этих случаях надо разделять объявление и инициализацию переменных.
--------
А вообще поставь Visual Studio Code с плагинами C# и C# tools for godot, там в intellisense будут подсказки по всем методам.
--------
Насчет плюсов, я х.з. мне просто лень, честно говоря, с ними возиться. Была идея пиксельные коллизии прикрутить, но я забил, т.к. не хочу с компиляцией и сборкой трахаться.
---------
Если по сишарпу вопросы есть, можешь задавать попробую ответить.
198 685780
>>85779

>Если по сишарпу вопросы есть, можешь задавать попробую ответить.


По нему самому в общем-то вопросов нет за исключением особенностей использования модификатора public, а вот:

>методов на PascalCase


>camel_case


>функциях типа CallDeffered


>решеточное погромирование


в душе не ебу что это.
До меня еле-еле начинает доходить какая роль у ready, physics process, input в рамках древа сцены, и то из gdscript кода.
Интуитивно догадаться на счёт всех функций и иерархий/взаимодействий невозможно просто, вот в чём дело. Какую-то бы схемку на подобии того что скинул я, но с функциями и нодами.
199 685781
>>85780
+ неясно каких типов параметры функции принимают и что опять же в рамках иерархии нодов с ними производят и что возвращают и куда.
200 685788
>>85780

>в душе не ебу что это.


>>85781

>+ неясно каких типов параметры функции принимают и что опять же в рамках иерархии нодов с ними производят и что возвращают и куда.


Блин, чел, ты про что вообще спрашиваешь? Если про C#, то все это в мануале подробно расписано. Что и где принимает и выдает и делает. Я не вижу смысла сюда постить целые куски оттуда.
Если же про плюсы, то я х.з. может тебе и не стоит туда лезть если ты этого не понимаешь?
201 685791
>>85788

>Я не вижу смысла сюда постить целые куски оттуда.


Я в том смысле, что имеет смысл объяснять какие-то неочевидные вещи, добытые опытом или какое-то неявное поведение. А то что и так описано в мануале не вижу смысла.
202 685792
>>85791
В том то и дело что нихуя не описано. Отдельные функции и классы пожалуйста - но про их взаимосвязь, возможности применения и то как они влият на то, что в конечном итоге видит игрок - инфы ноль.

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

Я буду переходить по охуенному множеству ссылок на функции и классы, но у меня не сложится целой картинки чтобы я самостоятельно мог найти хотя-бы 70% существующих решений для kinematicbody, к примеру хотя бы примерно представлять себе как можно "присобачить" туда вращение камеры, как головы, без поворота меша.
203 685798
>>85792
Это тебе надо просто демо проекты качать и разбираться в них.
К примеру вот отсюда:
https://github.com/godotengine/godot-demo-projects
Там много разных минипроектов. Качаешь, импортируешь, играешься с настройками/параметрами и изучаешь.
Когда разберешься влезать в C# и делать по аналогии.
204 685802
>>85778

>Небольшой ньюанс на тему сканирования имен файлов в каталоге


Тащемта я этой ерундой заниматься не собираюсь.
У меня всего одна сцена с дверью, корнем которой является спрайт. На уровне я расставляю двери и задаю каждой свою текстуру. При сохранении просто спрашиваю у этой текстуры её resource_path, каковой и записываю в файл сейва. Соответственно, при загрузке картинка грузится именно по тому пути, с которым сохранилась. С таким подходом меня вообще не касается, где именно лежат эти файлы, лишь бы за время между сохранением и загрузкой они не переместились.
А так, в общем, я уже переделал на Sprite. Только теперь тестовый уровень переделать надо.

>C#


Когда я осваивал Годот, у решётки была очень плохая поддержка. А то бы тоже на ней кодил.
205 685813
>>85777
Я в нулевых кодил на Delphi, ещё со времён, когда в журнале Хакер его пропиарили и был цикл статей с уроками. Потом я устраивался на галеру (молодую, развивающуюся компанию) там на дельфи хуярили большой программный комплекс. Там меня заставили выучить ООП и паттерны.
Сегодня, когда возникла необходимость учить Шарп, я его собственно говоря не совсем учил. Я просто прочитал какие у него ключевые слова, сел и начал писать код на Шарпе. По сравнению с Паскалем Шарп легче и удобнее раз в десять. И не мудрено! Ведь автор Шарпа - это тот самый чувак, который делал Паскаль для дельфи в борланде! Он понял, что Паскаль отжил своё, и пошёл дальше, а авторы фрипаскаля не поняли и зависли в прошлом со своим лазарусом.
206 685814
>>85813
Так вот, к чему этот пост: с моим вышеописанным бэкграундом, я лично не вижу никаких неочевидных вещей в АПИ годота. Вот реально. И меня вводят в ступор просьбы ИТТ объяснить что-то такое.
Что?
Годот сделан чотко по олдовым гайдлайнам, мне он интуитивно понятен, как будто я на миллиардах таких движков игры делал, ну вы понели, кек
У него есть некоторые переименования логических сущностей, например то, что в шиндовс называется ивентами, здесь названо сигналами, как в линуксах. И каждое такое переименование существует не просто так. Хуан действовал с презрением к зумерским трендам и я его в этом полностью поддерживаю.
Нужно быть достаточно эрудированным, чтобы понимать суть переименований в АПИ движка.
207 685823
>>85802

>С таким подходом меня вообще не касается, где именно лежат эти файлы


Ну я х.з., кому как, мне не по кайфу подход, когда надо в файловую систему, кроме как при инициализации проекта лезть почем зря.
Да и так мне кажется удобнее, собрать скины в одну структуру и потом выбирать их по номеру (ну или через enum, кому как)
>>85802

>Когда я осваивал Годот, у решётки была очень плохая поддержка. А то бы тоже на ней кодил.


Я начинал с версии 3.1, там непонятно было, "вроде C# есть, а вроде и хрен знает, то ли будем развивать, то ли нет". Попробовал GDScript, но он не зашел, начал делать пару проектов, но забросил. Потом вернулся к Godot-у уже на 3.2.1 и сразу решил переделать все с нуля на C# на удивление очень мало времени ушло. Сейчас в проектах GDScript вообще не использую, даже прототипирую сразу на решетке - удобнее.
------
>>85813
Thumbs up. Same shit, тоже когда-то на дельфях кодил, Когда перелез на C# сильно удивился и был рад удобству языка.
15926437185760.gif162 Кб, 480x270
208 685829
>>85813

>Ведь автор Шарпа - это тот самый чувак, который делал Паскаль для дельфи в борланде! Он понял, что Паскаль отжил своё


После занесённых чемоданов
https://web.archive.org/web/20200509231352/http://techrights.org/2009/09/14/ms-admits-draining-to-destroy-borland/
209 685831
Хочу учить GDScript, смогу ли я использовать ассеты Unity, скачанные из их маркетплейса, мне не придётся ещё и c# учить?
210 685843
>>85813

>По сравнению с Паскалем Шарп легче и удобнее раз в десять


Судя по всему у тебя проблемы со скоростью печати, раз тебе {скобачки} легче и удобнее языка здорового человека.

>>85814

>меня вводят в ступор просьбы ИТТ объяснить что-то такое


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

>>85823

>Когда перелез на C# сильно удивился и был рад удобству языка


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

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

Алсо нужно отметить, что был ещё Oxygene, это почти Delphi на базе .NET, или почти C# с синтаксисом Pascal.
https://en.wikipedia.org/wiki/Oxygene_(programming_language)
А так, никто не мешает компилировать под .NET с любого ЯП, но я считаю это извращением, .NET должен сдохнуть в муках.
ss2f09a277268bedf352c48dbf14e611ca94f0ce49.jpg604 Кб, 1810x1018
211 685844
>>81839 (OP)
Такой вопрос, Godot потянет что-то уровня Worlds Adrift?
https://store.steampowered.com/app/322780/Worlds_Adrift/
Насколько сложно будет разрабатывать подобную игру на нём?
212 685852
Добавлю к этому >>85844
Оригинальный Worlds Adrift был сделан на Unity, с использованием каких-то закрытых дорогих технологий (в основном для организации ММО, я так понял), очень сильно лагал и глючил (сервера, разумеется, клиент был более-менее норм, но одиночной игры не было), в итоге проект высосал весь бюджет разрабов и был закрыт, оставив игроков ни с чем. Потом ещё были попытки создать клоны, типа Voids Adrift - тоже на Unity. Но, судя по всему, они провалились - проект всё-таки сложный и т.д.

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

Сомнения гложат меня по поводу простоты использования годота для такого проекта - не придётся ли вручную разрабатывать всё то, что должно быть в движке из коробки? Потому что я не хочу разрабатывать что-то для чужого движка, я бы лучше для своего разрабатывал. И потянет ли годот подобный опенворлд со сборкой конструкций из блоков? Хочется чтобы было просто, быстро и производительно, но юнити мне не подходит, а годот я уже щупал и более-менее понимаю (хотя вижу, что тут много чего нет, например, чарактер контроллера нет)...
213 685858
>>85852

>Сомнения гложат меня по поводу простоты использования годота для такого проекта - не придётся ли вручную разрабатывать всё то, что должно быть в движке из коробки?



С учетом того что он в Hello Cube умудряется показывать консольные ФПС вместо пекарских - думаю, ты ошибся движком, там всё еще хуже чем на юнити будет.
214 685870
>>85858
Репорт.
>>85852
Вполне подойдёт. Главное не движок, а архитектура проекта. Судя по описанию, разрабы той игры именно в архитектуре проебались. Доверились платным закрытым компонентам и закономерно соснули.
215 685876
>>85852
Чарактер контроллер можешь через вкладку assetlib скачать. Что толку пихать его фкаропку, если это очень интимный компонент игры, который ты все равно будешь перепиливать под свои нужды? Ради прототипа подойдет то, что в ассетлибе представлено. А если молиться на широко кастомизируемый компонент с кучей настроек в инспекторе, то у тебя получится ровно такой же пиздец в твоём проекте, как ты описал.
Безымянный.png18 Кб, 1024x600
216 685877
>>85858

>Hello Cube умудряется показывать консольные ФПС вместо пекарских


Вот не надо тут, кубик вполне нормально рисуется. И меня интересует лёгкость разработки, а не число ФПС в итоге.

>>85870

>Судя по описанию, разрабы той игры именно в архитектуре проебались.


>Доверились платным закрытым компонентам и закономерно соснули.


Они просто вообще в программирование не умели, у них редкие глючные мобы давали 90% нагрузки на сервер, лол.
217 685878
>>85876

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


А как мне его тогда пилить? Пробовал через капсулы - глючит. Пробовал через рейкасты - глючит. Пробовал разные виды физических тел, всё равно глючит. Смотрел примеры готовых контроллеров, но у них ограничения по типу "ходить можно, но для лестниц и рамп ничего не предусмотрено" - то есть в готовых есть только то, что я и без них могу сделать, а того, что я не могу сделать, там нет.

И вообще, очень много деталей контроллера есть во всех играх, можно было бы обобщить как-то, и кодить только частные случаи.
218 685881
>>85876

>широко кастомизируемый компонент с кучей настроек в инспекторе


Тогда не надо вообще было инспектор делать, потому что какой тогда от него толк? Делают движок с заявкой на простоту как у конструктора, а в итоге строительных кирпичиков просто нет, и никакая библиотека ассетов не спасёт... И так со всеми "топовыми" движками. Или это со мной что-то не то. Хочется просто сделать игру, а не трахаться с математикой и всем остальным.
219 685882
Кстати, утечки памяти в новых версиях пофиксили? А то у меня после каждого запуска и завершения редактора памяти всё меньше и меньше...
220 685891
Ладно, снимаю вопрос >>85844, всё равно никогда ничего в жизни не сделаю, зачем мне движок...
1542054993115.png27 Кб, 1450x274
221 685922
>>85777
Я сначала плевался на гдскрипт и пытался все писать на с++. Но это дольше. Поэтому довольно быстро перешел на гдскрипт. Сейчас перехожу на C#. Самого опыта у меня в шарпе было много (со времен .NET 2.0 и Compact Framework) + несколько лет коммерческого на j2me и андроида, а как известно C# это просто улучшенный клон Джавы.
Так что могу посоветовать со своей колокольни - отдельно подучи C#, и просто переписывай туторы с GDScript на C#, они будут практически 1 в 1, просто имена немного по другому пишутся (_Ready() вместо _ready()). В большей части документации можно переключаться между вкладками с примерами на обоих языках.
222 685924
>>85780

>До меня еле-еле начинает доходить какая роль у 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/
1510644096365.webm39,9 Мб, webm,
1920x1080, 1:31
223 685926
>>85844
Сначала хотел ответить нет, но потом посмотрел видео с ворлд адрифтом - и думаю все таки да, можно. Сложно, но можно. Но ведь там просто лоуполи, очень много повторяющихся ассетов, которые можно загнать в multimeshinstance, и вроде площади самих островов небольшие. Думаю, на сегодня вот такая игра примерно предел возможностей.
224 685955
>>85924

>Зато нашелся какой то сайт где можно посмотреть как называются классы, методы и поля


Ну, хотя бы так. В любом случае придется записывать всё в схемы для понимания.
225 685960
>>85823

>кроме как при инициализации проекта


у меня тут загрузка сейва. Самое время полазить по файловой системе, ящетаю.
226 686058
Посмотрел я на список разработанных игр и увидел лишь одни инди, и почти все 2D. И возник вопрос, а реально ли вообще на Godot’е сделать игру с небольшим открытым миром и с более-менее реалистичной графикой? Ну и естественно в 3D.

Пост не ради срача, я просто выбираю для себя движок.
227 686061
>>86058
Возможно. Но придётся ебаться несколько больше чем в том же unity
228 686068
>>86058

>сделать игру с небольшим открытым миром и с более-менее реалистичной графикой? Ну и естественно в 3D


Ну ты же понимаешь, что вероятност
229 686069
>>86058

>сделать игру с небольшим открытым миром и с более-менее реалистичной графикой? Ну и естественно в 3D.


Ну ты же понимаешь, что вероятность того, что кто-то могущий сделать такое, сидит в gd, крайне мала.
230 686070
>>86069
Вот этот прав, думаю даже в юнити треде сидят более надроченные на пограмирование чем в годот треде, в годот вкатываются, которые не хотят ебаться с взломом нового гейм мейкер студио, и пугаются сложности юнити.
231 686071
>>86058
Возможно, но очень сложно.
232 686076
>>86061
>>86071
А в чём именно сложность, можете вкратце объяснить? Из-за языка gdscript? И почему лучше unity выбрать для этого?
233 686077
>>86076
Зарапортил.
234 686096
>>86070

>и пугаются сложности юнити.


Не согласен. Как юзавший и юньку и годот, скажу, что нет там никакой сложности. Большую роль играет удобство, с которым в юньке совсем беда.
235 686098
>>86058

>и почти все 2D.


Так это же охуенно. Я был бы очень рад, если бы годот как можно больше ориентировался на 2Д.
236 686105
>>85924
Вот например мне нужно привязать камеру к player'у, я нашёл видео, что это можно сделать в контексте physics process методами get_parent и get_global_transform. Вопрос на миллион: что бы было, если бы я не нашёл этого видео? Откуда бы я узнал что это нужно делать в рамках physics process, а не ready? Ни в каких мануалах таких моментов не объясняется.
237 686107
>>86105
Тут, такая штука. Если ты не понимаешь в _process тебе надо что-то пихать или в _ready, то ты в принципе не понимаешь их суть. А она настолько проста, что если ты этого не догоняешь, то тебе вообще надо с самых основ начинать. Возьми самый обычный куб и просто подвигай его по сцене, для начала. И прочти уже мануал, там все это есть.
238 686108
>>86107

>то ты в принципе не понимаешь их суть. А она настолько проста,


Если проста, то умести в одно предложение и объясни откуда новичок должен был знать про метод get_global_transform
239 686134
Насколько CDScript используется в играх? Есть бенчмарки с сравнениями с CDScript и C# и C++?
15958733643680.jpg72 Кб, 816x558
240 686137
241 686140
>>86108
Новичок ни откуда ничего и не обязан знать. Но на то он и новичок. Если у него нет проблем с вниманием и усидчивостью, он прочитает всю документацию step by step. Там все это есть.
А еще нужно думать своей головой. Вот когда ты едешь в метро, у тебя есть положение как относительно вагона, так и относительно мира. Даже если бы метода глобал не было, ты мог бы догадаться как это вычислить на основе школьной математики. Это опять же стандарт в 2д и 3д в компьютерных программах.
А еще можно решать задачу разными способами. Например можно взять ноду InterpolatedCamera. Или RemoteTransform и SpringArm. Или видел кто то делал камеру на Path. Или писать код с квартернионами.
Пока ты новичок у тебя нет особого выбора кроме как постепенно читать/смотреть по все последовательно. Нейролинков пока не изобрели.
242 686141
>>86134
Если у тебя обычная игра для геймджема, типа платформера, ты просто не упрешься в производительность скриптов. Если у тебя сотни объектов, или карта на тысячи динамически просчитываемых ячеек, то конечно бери c#/с++
Но надо понимать что скорость разработки на них будет обратно пропорциональна.
243 686144
>>86140

>Новичок ни откуда ничего и не обязан знать


Изначально вопрос был в том, где материалы опытные брали во время своего обучения, базовые туторы из документации явно далеко не всё.

>он прочитает всю документацию step by step


Там элементарной вещи как камеры с привязкой к синематикбади (и как оно вообще связывается, что допустимо в контексте функции и их взаимосвязи с классами) не прописано, что в 3д сцене основа основ между прочим.

>Даже если бы метода глобал не было, ты мог бы догадаться как это вычислить на основе школьной математики.


Бляпиздец, а ничего что я в голове у разработчиков не живу и не знаю на основании чего конкретно они именуют функции/классы/структуры? Тем более что этих функций ёбаные сотни, и угадать их название и назначение невозможно, а тупое зазубривание не даст целостного представления о функционировании древа.
244 686157
>>86141

>Но надо понимать что скорость разработки на них будет обратно пропорциональна.


С чего бы? Алгоритмы одни и теже что на скрипте, что на нативе. Синтаксис около близок - все оно си подобно. Теже ифы, теже циклы, теже функции. Таже процедурщина, тоже ооп. Ладно бы если речь была о фунциональщине - типа лиспа. А тут языки одного уровня

Вечно несут бред про какую-то сложность нативных языков. Я хз что там сложного может быть.
245 686168
>>86157
Это не бред, это объективный факт. Подобны, только в си++ компиляция в разы дольше - раз, уже медленнее каждый раз запускать после изменений. Писать нормальный код без утечек памяти, без использования после удаления, без обращения за границы массивов, без UB, без ворнингов (потому что они обычно свидетельствуют о потенциальной ошибке) - это отдельно все требует времени, как и поиски волшебной порчи стека, когда у тебя написано i = 42 а в переменной оказывается 13. Плюс такие вещи как описать корректно класс - создать все эти версии копирующих-перемещающих конструкторов-операторов присванивания, виртуальных деструкторов, правильных модификаторов доступа при наследовании. Даже не пытайся утверждать что это быстрее чем просто наговнокодить на питоноподобном языке и оно даже сразу заработает, а при ошибке упадет с вменяемым сообщением об ошибке.
246 686172
>>86144

>Изначально вопрос был в том, где материалы опытные брали во время своего обучения


Из описаний нод, их методов. И здравого смысла (просто программистского опыта).

>Там элементарной вещи как камеры с привязкой к синематикбади (и как оно вообще связывается, что допустимо в контексте функции и их взаимосвязи с классами) не прописано


Нет нужды прописывать такую привязку как то особенно. Новичок просто бросит ноду камеры ребенком к ноде персонажа, и у него будет твердо привязанная камера со спины. Иначе все вырождается и начинает напоминать тетрис 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

>ничего что я в голове у разработчиков не живу и не знаю на основании чего конкретно они именуют функции/классы/структуры? Тем более что этих функций ёбаные сотни, и угадать их название и назначение невозможно, а тупое зазубривание не даст целостного представления о функцонировании древа.


Другого способа как прочитать все несколько раз и запомнить что запомнилось, человечество не изобрело. Вопрос только в том в каком порядке. Потому что в алфавитном скучно и не все одинаково важно.
247 686179
>>86168

>Подобны, только в си++ компиляция в разы дольше


но речь и про C#.
Кроме того если правильно сделать, время компиляции не будет дольше. Смотри Essential Engine - там скрипты на С++, запускается сразу. Мы уже давно живем не в девяностых.

>Писать нормальный код без утечек памяти


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

>без обращения за границы массивов


В скриптах свои контейнеры, там есть уже все нужные проверки.

>>86168

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


Херня. А еще никто не запрещает писать в процедурном стиле без всяких там ооп и классов.

>>86168

>без UB, без ворнингов


это как раз не плюс. если у тебя где-то серьезная ошибка в логике, а скрипт все равно работает - ты ее так до релиза и не исправишь, из-за чего UB будет у твоих игроков.
248 686187
>>86179
Ты тупой, поэтому объяснять тебе что то смысла нет. Просто запомни факт - разработка на с++ будет медленнее чем на c#, а разработка на c# - медленнее чем на питоноподобном языке.
249 686210
>>86187
Нет, мой основной язык С++, я пишу всю игровую логику на нем.

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

В скриптинге игр же разницы по скорости не будет - ты работаешь с сущностями движка и примитивной математикой-логикой. В скриптинге нет сложных задач на которых бы питон бы выигрывал. Ты не работаешь ни с файловой системой, ни с платформой, ни с чем-то подобным. Просто двигаешь туда-сюда модельки, да окошки показываешь-скрываешь.
250 686264

>Invalid set index 'current_animation_position' (on base: 'AnimationPlayer') with value of type: 'float'.


Штоматьвашу? Чем ваш флоат отличается от моего флоата? Тем более что в данном случае это 0.
Вот бывает так, что кодинг вводит меня в ступор. Как это вообще возможно?
251 686275
>>86264
Кажется это read-only поле.
252 686276
>>86264
Т.е. перематывай функцией seek.
253 686321
Есть какие-нибудь проекты в разработке или хотя бы сцены на движке в реалистичной стилистике (желательно современность)?

Все что видел - мультяшность.
254 686403
P.S. И в 3D.
255 686423
>>86275
В доках этого не сказано. Но seek, кажется, работает.
256 686427
>>86423
Я в доках и смотрел. Есть только getter(), сеттера нет.
257 686461
>>86179
UB не имеет отношения к ошибкам в логике.
258 686556
>>86321
Для реалистичности чеши в Unreal Engine, там же все заточено под это прям, даже изобретать ничего не надо для риалястичнасти.
259 686559
>>85960
Тыщетаешь хуйню. В любой современной системе от линукса до винды, от андроида до иос, пользователю запрещено лезть в файловую систему без рута. Годот просто следует этому годному и правильному принципу. Тебе выделено автоматом место в системе, в котором твои юзеры хранят файлы приложений. В каждой системе это место разное, тебе же дают ярлык user:// всегда указывающий в это святое место, вот и не выебывайся и храни сейвы с конфигами там. Можешь там папки сделать для удобства.
260 686564
>>86559
Ты робот? Почему ты отвечаешь на последнее сообщение, игнорируя контекст?
261 686577
>>85534
Код старый, со времён 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) грузим в неё данные из предыдущего объекта
262 686578
>>86564
Вчера я шёл по улице и увидел котёнка. Я остановился и погладил его. Я человеек. Чеелоовеек.
263 686585
>>86578
Или ты робот, думающий что он человек, просто в тебя заложили программу погладить котенка.
264 686586
>>86585
А человек, не робот ли? В него заложили кучу программ: погладить котёнка, поебать бабу, поработать на работе, побухать с друзьями. Человек думает, что он думает, но не заложили ли в человека программу думать? Что есть человек? Самореплицирующиеся белковые нанороботы - ядра клеток. Между этими нанороботами образована химически-электрическая нейросеть.
Так что смотри, не думай слишком много, чеелоовеек.
265 686587
>>86586
У робота все завязано на логике, а человек же творит много всратой хуйни, уже это нас отличает.
266 686591
>>86587
Серьёзно? Ты такой аргумент пытаешься привести? Два гугловских бота как-то начали творить всратую хуйню - придумали свой язык и начали на нём пиздеть друг с другом, человешки обосрались и выключили их.
Я уж не говорю о научных программах, в которых эмулируется всратая хуйня наподобие искусственной жизни или фракталов каких, которая, несомненно логически детерменируема, только вот мощностей современных суперпека уже не хватит на детерминирование.
267 686630
>>86591

> или фракталов каких


мммм, математика.
1457264194414.webm7,4 Мб, webm,
1280x720, 0:46
268 686632
>>86321
Реалистичность зависит от того какую графику засунешь.
269 686634
>>86630
>>86587
Фанаты загадочной-непознаваемой человечьей души, аргументируют, что роботы якобы на бинарной логике, но секундочку! На бинарной логике только нативные регистры микроконтроллеров, аппаратная же логика программируется уже уровнем повыше, где есть реальные числа с плавающей точкой, и на языках высокого уровня вполне возможно спрограммировать бота, который говорит: да/нет/не знаю/иди нахуй.
Такие пироги, человеки.
Вы думаете, что вы самоосознающие, и это делает вас не роботами на принципе самообучающейся нейросети, и благодаря этому, думаете вы, тот факт, что вы состоите из белковыех наномашин - не делает вас сложными, но механизмами.
Так вот, нихуя. Вы просто биологические механизмы с нейросетью, обслуживающей этот механизм. Deal with it.
270 686642
>>86634
Два флакона силиконового масла этому Бендеру.
271 686645
>>86634

> числа с плавающей точкой


2 ночи, сижу читаю что такое числа сплавающей точкой, начинает плавиться мозг, за шо ты так со мной.
272 686667
>>86634

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


Почитай Докинза "Эгоистичный ген", вообще охуеешь, от основного предназначения биороботов.
273 686687
Блин, пацаны, я раньше сторонним редактором тайлмапов пользовался, а сейчас попробовал встроенный в godot'е. А он не такое уж и говно теперь. И автотайлинг нормально работает и анимированные тайлы без проблем лепятся. Рекомендую.
274 686870
>>86687
А я и на 3.0.6. его уважал, несмотря на некоторую недоработанность в те времена. Пробовал тайлед с плагином, не понравилось. Импринтинг уже на готодовый редактор сработал.
275 686904
Годаны, а есть какой-то способ сказать шейдеру, что такая-то часть боди пересекается с ареа2д?

У меня плоская картинка, на ней мосты. МНОГО мостов. Персонаж может пройти по мосту, а может под мостом; соответственно, коллайдится с разными слоями при этом; а по мосту и под мостом пролегают ареа2д, которые говорят "тут мост". Но вот только, когда персонаж проходит под мостом, он отрисовывается всё равно поверх картинки, так как это всего лишь фон. Вырезать каждый мост и делать его отдельной картинкой - это задолбаться, тем более что таких фонов планируется много. Вот я и думаю: может, шейдером как-то это можно решить?
276 686913
>>86904
Ты хоть схему нарисуй.
277 686916
>>86913
Схему чего?
278 686934
>>86904
Если персонаж в зоне "под мостом", спрайт не отрисовывать. Усё.
мимо нуб с дивана
279 686942
>>86904
Есть, погугли godot sprite masking, там куча решений.
280 686956
>>86934
Если ты залезешь под диван, но высунешь оттуда ногу, то тебя всего можно не отрисовывать?

>>86942
Погуглил. В любом случае надо рисовать маску. Заюзать именно полигон коллизии не получится вообще никак, няп. Ну ладно, в принципе, я уже почти все мосты из картинки вырезал, чтобы просто менять z-order персонажа при проходе под мостом.
Просто это куча механической работы, хотел от неё избавиться.
281 686962
>>86956

> Если ты залезешь под диван, но высунешь оттуда ногу, то тебя всего можно не отрисовывать?


Ну, большая-то часть под диваном.
Так что и да и нет.
Диванодав Шрёдингера.
282 686972
>>86956
И что тебе мешает построить маску по ареа? Мне просто лень за тебя игру делать.
283 686974
>>86962
Тащемта для ретро-стиля такое решение иногда может сработать.

>>86972
Спасибо за предложение, но я уже почти всё сам доделал.
284 687014
Мемосы подъехали:
https://www.youtube.com/watch?v=VJMb88-d-js
285 687035
Там раньше в 3Д невозможно было что-то путное сделать из-за говноедской физики и коллайдеров, как сейчас обстоят дела с этим?
286 687055
>>87035
Разбирайся. В любом физическом движке куча ограничений, неточностей.
287 687646
>>87035

> куд-кудах! пок-пок! нипонил! зделойти!


Нихуя не понел, но на всякий случай зарепортил.
288 687688
Сап, есть вопросы, нормальных решений хуй где найдешь, и general-треда нету, так что пишу тут, пока пилю на годоте.
Как лучше всего организовать РПГ-систему в порядке наследования и взаимодействия между собой? Пока что оставил набросок со всеми статами и парой основных функций, но жопа чует, что все заворачивать в один скрипт - не дело. Особенно касается конкретных моментов в виде получаемых свойств, травм, бонусов от сторонних систем и т.д., ибо по любому в таком случае будет такое спагетти, что даже Riot Games будет завидно.
289 687689
В годо можно взять какой-нибудь готовый шаблон с кодом, и используя его делать игру? Сам концепт простой: бегалка видом сверху типа дьяблы, несколько видов оружия (ближний/дальний бой), нет инвентаря и всяких квестов.
1596487291692.png301 Кб, 1080x1920
290 687691
>>87689
Думаю да, могу потом проверить поточнее
291 687692
>>87688
Сейчас в моде ecs.
292 687742
>>87692
И как ты собираешься впиливать ECS в годот, когда у него сплошное ООП?
microhuj.jpg108 Кб, 1366x768
293 687769
>>81839 (OP)
двачерята, ВОПРОС.

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

типо что то вроде перфект пиксель гуй (гей)
294 687787
>>87742
Главное подход. Не нужно писать какие то многоэтажные наследования для РПГ. Надо просто аггрегацию компонентов, архетипы.
295 687798
>>87742
Нормально впиливается. Когда я пилил рпгобразие, у меня было и того, и другого в достатке: каждый персонаж был наследником сцены «монстр», чтобы иметь ХПбар, манабар, статы и прочее безобразие (была ещё прокладка в виде «хуманоида», который умел носить оружие, чтобы не вышло как в байке про вооружённых свиней из «блицкрига»), а атака, например, прописывалась в скрипте оружия, которое подгружалось в ready как отдельная сцена.
В другом высере, где я дошел до статусов и краудконтроля, эффекты тоже были отдельными сценами, которые цеплялись к цели и мешали ей жить, пока не пропадали по таймеру. И ничего, всё нормально работало. Боты переходили с лука на меч, станились (точнее, отбрасывались, но тот проект я уже плохо помню, надо заглянуть) и никакому ООП это не противоречило. Не исключено, что я всё делал не по науке, но оно работало.
296 687822
>>87769
Editor - Editor Settings - Interface - Editor

Display Scale (в режиме custom можно до 50% докрутить)
Чуть ниже будет выбор размеров шрифтов.
Clipboard02.png75 Кб, 902x725
297 687824
>>87769
>>87822
пик забыл
1583794877212.mp410,1 Мб, mp4,
1920x1080, 0:16
298 687830
>>87769
В годоте редактор является сценой игры, так что при желании можно даже из гдскрипта кастомизировать все под себя.
299 687942
>>87830
Грибы, отпустите меня!
300 687943
>>87688

> Как лучше всего организовать РПГ-систему в порядке наследования и взаимодействия между собой?


Вопрос на миллион. Играет музыка из педерачи. На тебя смотрят Дибров и Галкин, один свирепо, второй с недоумением.
Паста Кирилла про эрпогэ не зря стала легендой копипасты. Потому что РПГ - это венец геймдевелопинга. Сложнее их нет. Ну, может быть только экономические стратегии, но я имею ввиду общепринятый жанр игор, а не специализированные. В РПГ тонны контента. Сотни параметров. Сложнейшие взаимосвязи. Движок тут не причём. Ты сначала садишься за ворд с экселем и проектируешь своё будущее эрпогэ, описываешь диздок и таблицы. Затем по результатам проектирования реализуешь проект. Идеального решения тут нет. Чем пруфом является всё многообразие ГПР от классики типо балдура и арканума, до новодела типо драгонэйдж, аутер волдс. Все они разные, несмотря на внешнее сходство обладают разными потрохами, разной механикой, разными

> моментов в виде получаемых свойств, травм, бонусов от сторонних систем и т.д.

1596572366508.png241 Кб, 527x550
301 687944
>>87943
Сразу отвечу на возможный вопрос вдогонку:

> а смогу ли я в годоте реализовать то, что напридумываю в диздоке абстрактно, в псевдокоде?


Да.
302 687952
Как делается эффект bloodsplash?
303 687953
>>87952
скринспейс-шейдером
304 687954
>>87953
Где почитать-своровать? Мне для top down 2d шутана.
305 687976
>>87954
В гугле вестимо.
А вообще, накинь поверх сцены спрайт с кровавыми пятнами. И скриптом меняй ему прозрачность когда надо.
306 687981
>>87943
Тут, скорее, такой момент: имеет ли смысл делать конкретные категории статов персонажа отдельными узлами, а функции, связанные с ними - их наследниками? Или это лишняя ебля мозгов, когда уже надо будет взаимодействовать между разными категориями, которые может решить только главный узел?
307 687984
>>87952
В годоте - никак.
(Автор этого поста был забанен. Помянем.)
308 688041
>>87981
Как тебе удобно - так и делай.
309 688087
Это нормально что я читаю про годо и нихуя не понимаю?

никогда не программировал кун
310 688090
>>88087
Нет.
311 688091
>>88090
Типа я должен с ходу выкупать что каждая строчка кода значит? Гонишь.
312 688092
>>88091
Я отвечал на вопрос про "нихуя".
313 688093
>>88087
Нормально. Программирование понимается человеком в узкий период времени с 12 по 16 лет. Если ты не уложился в этот период - понимание кодинга возрастает экспоненциально с каждым годом.
Инбифор толстота.

> ряяя! бред! я выучил си в 45 лет!

314 688094
>>88093
Ну ептить, мне давно не 16. Типа я обязан всю эту математику и все из документации понимать чтобы простые игрухи делать? Третий день сижу ковыряюсь, сделал две игры по туториалам. Но если сам сяду, то ничего не смогу сделать.
image.png92 Кб, 928x673
315 688101
Годяты, как завернуть это в цикл? Он отправляет данные, получает и выключается, никак не могу почему.
316 688105
>>88094

> Типа я обязан


Ты мне ничего не обязан. Что за дурацкая логика у вас, обезьяны, блять?

>Я хочу водить авто, я что обязан учить эти ваши дурацкие ПДД?

317 688128
>>88087
Нормально, сделай туториальную игру по туториальным туториалам, а потом какую-нибудь свою, подсматривая в туториал и документацию. Просто чтение документации без работы руками — бестолковая затея.
318 688204
>>88094
Начни с простых 2д игр для начала. Там математика попроще. Уровня средней школы - координаты, векторы, скорость, ускорение. Все можно промоделировать на тетрадном листочке, это тебе не квартернионы и матрицы. Вот почитай https://habr.com/ru/post/131931/
Спрашивай что конкретно не понятно подскажем.
319 688205
>>88101
Посмотри консольку которая висит вместе с редактором, там наверняка написано почему.
320 688281
Я хочу победить в ТВГ! Хуан, дай мне Силу Годота!
321 688400
>>88281
Выдано.
мимо хуан
1596718403513.png415 Кб, 450x450
322 688446
>>88400
МУАХАХА! Я ЧУВСТВУЮ, КАК ГДСКРИПТЫ ЦИРКУЛИРУЮТ ПО МОИМ ВЕНАМ!
323 688613
>>88204

>Спрашивай что конкретно не понятно подскажем.


Не понимать что такое нормализация и скалярное произведение.
Читаю и не врубаюсь, сложно.
1543179550312.png8 Кб, 225x206
324 688619
>>88613
Нормализация - это когда вектор делают длины 1.0. Вне зависимости от того куда он повернут.
325 688620
>>88619
Ну вот я игру делал, там эта штука применялась чтобы движение по диагонали не было быстрее движения по вертикали/горизонтали. Не выкупаю, изначально без нормализации какая длина, и как по диагоналям она больше получается
326 688621
И вообще я игрушки хотел делать, а не математику учить
327 688622
>>88620
Нарисуй на бумаге квадрат АБВГ. А потом линеечкой измерь расстояние АБ и АВ.
328 688623
>>88620
Ну вот твой случай вытекает из картинки. Например если в твоем примере одновременно движение вверх на 1, и движение вправо на 1, то просто сложив ты получишь красный вектор (корень из 2)
1483286658534.png29 Кб, 1146x344
329 688627
>>88613
А что такое dot product я сам не понимаю. Вроде бы, это длина проекции одного вектора на другой при заданном угле между ними.
330 688629
>>88627
Есть резон открывать учебники по математике, и с самого начала учить? Если дальше будут нужны подобные штуки, я просто их не пойму.
331 688631
>>88629
Да не особо.
изображение.png130 Кб, 2000x1957
332 688633
>>88629
Для начала тебе хватит вот этой картинки.
15787486927731.mp41,6 Мб, mp4,
1280x720, 0:11
333 688635
>>88633
Оке. Поставлю на рабочий стол, мб поможет
334 688638
>>88635
Да чего непонятного-то?
Если скорость по прямой 20 пикселей, а мы хотим идти не по прямой, а под 30 градусов, то:
скорость по иксу = Косинус(30) 20
скорость по игреку = Синус(30)
20
335 688639
>>88638
Не шарю за косинусы, чел
336 688642
>>88639
Тебе особо и не надо, это встроенные функции.
337 688645
>>88639
Косинусы это 7й класс.

А вообще нормализация для того, что бы скорость была одинаковая во всех направлениях.
338 688659
Блять, нахуй вы его кормите?
339 688661
>>88659
Никогда не приписывайте злому умыслу то, что вполне можно объяснить глупостью.
340 688664
>>88659
Чел, много вкатышей в возрасте. А даже не всякий программист (я имею в виду вебмакак и формошлепов в 1с) помнят школьную геометрию.
341 688665
>>88664
>>88661
Для самообразования есть гугл. А движкотреды в гдаче - для неторопливых бесед шарящих анонов, а не для обучения нубов. Все ссылки для старта есть в шапке. Пусть идёт по ссылкам и читает/смотрит.
342 688667
>>88665
Все сказал?
343 688672
>>88667
Не гори, старпёр. Иди лучше матчасть учи.
344 688684
>>88665
Я читаю и смотрю, спрашиваю что непонятно здесь. Проблемы?
345 688714
>>88684

>спрашиваю что непонятно здесь. Проблемы?


Ты спрашиваешь общеобразовательные вопросы, не относящиеся конкретно к этому или любому другому движку. Для этого есть прикрепленный ньюфаготред.
346 688716
>>88664

>Чел, много вкатышей в возрасте. А даже не всякий программист (я имею в виду вебмакак и формошлепов в 1с) помнят школьную геометрию.


Ну так может быть им сначала в эту самую школьную геометрию вкатиться, а потом уже в геймдев.
347 688874
Эх, блджад. Я помню, как решать дифференциальные и интегральные уравнения и умею сворачивать тензоры.
А рисовать так и не научился.
348 688879
В Годоте существуют 3Д-тайлы или типа того?
А то был у меня проект в кубиках, который я хотел бы проапгрейдить, так сказать.
349 688883
>>88879
Существуют, Gridmaps, там не самый удобный импорт моделек (или я не разобрался - дает импортить только .obj, и надо чтобы в блендере уже стояла в нужном отступе от нуля координат), но по большей части работает.
https://docs.godotengine.org/en/stable/tutorials/3d/using_gridmaps.html
https://www.youtube.com/watch?v=UGltqKZFxrs
изображение.png7 Кб, 329x189
350 689018
Лишние pass`ы не вредят? Можно ли использовать их для визуального обозначения закрытия области?
351 689054
>>89018
Знаешь, я хотел ответить не должно, но потестил быстренько двойной цикл и вышла разница в 4%.
352 689079
>>89018
>>89054
На 100% не скажу, т.к. не копал реализацию, но порассуждаю.
GDScript вроде как интерпретируемый язык, но при экспорте проекта по идее все скрипты переводятся в некое подобие байткода, что-то вроде недо-JIT-компиляции. (.gdc файлы, вместо .gd)
Но тут два момента (даже три)
1) При запуске из редактора, скрипты скорее всего херачатся напрямую, без перевода в байткод (иначе невозможна была бы система их изменения на ходу, хотя могу ошибаться). В этом случае влиять будут даже пустые строки и строки с комментариями (хотя их влияние и будет микроскопическим).
2) Неизвестно, насколько происходит оптимизация скриптов при переводе в байткод во время экспорта. Вполне возможно там все лишнее, включая пустые pass-ы отбрасывается (что как бы по логике и должно делаться), а возможно и нет (учитывая уровень говнокодерства в некоторых решениях Хуана). Но вообще пишут об увеличении производительности при экспорте, по сравнению с запуском из редактора, даже в дебаг режиме.
3) При экспорте проекта есть опция в каком виде экспортировать скрипты. Text или Compiled, по идее это тоже должно вносить свою лепту.
------
Но если честно, все это просто мои поверхностные рассуждениия, т.к. я давно уже слез с иглы GDScript'а и пеоесел на лицо Сишарпа (чего и всем советую)
353 689116
>>89079

>Неизвестно


Таки исходники открыты. Умеющие могут подглядеть там, чтобы стало известно.
только тут таковых нет
354 689186
>>89116
Мне лень и похуй, т.к. я не пользуюсь гдскриптом.
355 689189
>>89186
Двачую.
356 689191
>>89186
А для пацанов посмотришь?
357 689245
В годо можно сделать так чтобы уровни были как в дьябле, и генерились рандомно?
358 689249
>>89245
В любом движке это можно.
359 689253
>>89245
Конечно можно, загугли куча примеров и в 2д и в 3д.
360 689255
>>89079
Сейчас тоже думаю перекатиться на шарп, но пока что хз, как все это подготовить и не срукожопить, и как потом переписать готовые наброски.
361 689259
>>89079
Сишарпа же вроде не полноценная. Или, какие будут плюсы перед жидоскриптом кроме фигурных скобочек?
362 689265
>>89259
Там Моно, который поддерживает большую часть из C# 7.0. Не будет новых фишек из С# 8.0. Плюсы - выше производительность, возможность пользоваться привычными IDE, возможность копипастить готовые алгоритмы, а может быть и подключать целые либы (не уверен насчет последнего)
604109f6bd6198818e10a.jpg43 Кб, 1024x1024
363 689323
>>89255
Just do it.
364 689327
>>89259

>Сишарпа же вроде не полноценная.


Сейчас там все ок.
>>89259

>Или, какие будут плюсы перед жидоскриптом кроме фигурных скобочек?


Скорость. Где-то от 4х до 10 раз быстрее гдскрипта.
Нормальный язык с нормальной статической типизацией.
Нормальный синтаксис (да скобки, намного лучше питоновского пиздеца с индент-форматированием)
>>89265

>а может быть и подключать целые либы (не уверен насчет последнего)


Да можно, причем как локально, так и через нюгет.
365 689379
>>88645
Вот кстати по косинусам нет нормальных уроков, всё разбирают абстрактные треугольники без прикладного их (синусов, косинусов) использования.
366 689401
Годаны, кто-то в курсе, где можно нагло спиздить честно позаимствовать систему инвентаря?
367 689403
>>89401
Их только в ассет сторе штук 10, а туториалов на ютубе вообще не счесть.
368 689418
Что лучше, ЖДСкрипт или Острый Ц?
По сложности вкатывания, скорости исполнения и так далее
369 689420
>>89418
Конечно второе. Ну может чуть чуть сложнее вкат, на полшишечки.
370 689433
>>89420
Чую я иронию словах твоих в.
Годот Моно нормально допилен же?
371 689434
>>89418

>По сложности вкатывания


Для того чтобы скриптовать на шарп придётся его подучить, хоть и у гдскрипта тоже си-подобный синтаксис. Да и в целом чуточку лучше код понимать будешь.

>скорости исполнения


Однозначно шарп быстрее, где-то говориться в 4, а где-то чуть-ли не в 10 раз.
372 689438
>>89433

>иронию


Тебе показалось.

>нормально допилен


Вроде да.
image.png53 Кб, 747x475
373 689523
Это как вообще? Получается при движении вперед player должен прибавлять к Y, т.е двигаться вверх? Относительно чего вообще вектора выстраиваются?
374 689524
>>89523
Нет, по идее всё должно быть как обычно, от левого верхнего угла. Может в этой игре движение сверху вниз?
375 689525
>>89524

>по идее всё должно быть как обычно, от левого верхнего угла


>Vector3



>Может в этой игре движение сверху вниз?


Нет, это FPS гайд
https://docs.godotengine.org/en/stable/tutorials/3d/fps_tutorial/part_one.html
376 689527
>>89525
А не, это Vector2, но всё равно какая-то шиза получается.
377 689531
>>89525

>FPS гайд


А-а-а, ну тогда я понел. Собственная система координат тела построена так, что ось x идёт слева направо, а y — вдоль пинуса, так что вперёд — это по y.
А потом уже этот вектор пересчитывается в систему координат уровня, чтобы двигать тело по уровню. Должно быть как-то так.
378 689536
>>89531
А разве локальные координаты можно в векторе2 создавать?
379 689539
>>89536
Представь себе миникарту 3д уровня. Она же двухмерная, и ты по ней ходишь. А прыжок отдельно.
380 689546
>>89536
Ну да, у тебя в шутере, если мы не рассматриваем прыжки, две степени свободы: вперёд-назад и влево-вправо. Так что ты перемещаешься по двумерному многообразию.
Но вообще говоря, этот вектор довольно бесполезный, он добавлен для читаемости кода. Можно было сразу взять нужный столбец матрицы перехода и не плодить сущностей.
381 689551
>>89539
>>89546
А что определяет наклон (я так понимаю по z) локального Vector2 относительно глобальных координат? Его можно как-то изменить при случае, чтобы к примеру при нажатии "вперёд" оно действительно начало вверх двигаться за счёт того что Vector2 на 90 градусов повёрнут(?).
нормаль.png58 Кб, 1920x998
382 689552
>>89551
Нормаль к поверхности, по которой ты ходишь.
Если я правильно понимаю их реализацию (а у меня кода нет), то вверх ты поползёшь только если в качестве пола будет вертикальная стена. А поворачивая этот inputMovementVector, ты будешь вертеться только в плоскости, параллельной полу.
1508633125476.png35 Кб, 521x485
383 689553
>>89551
Две строчки вниз от твоего скриншота.
384 689557
>>89531
Ось Y в годоте идёт вертикально. В двадэ она традиционно направлена вниз, ибо отсчёт алфавитно-цифровых дисплеев традиционно начинался с верхнего левого угла, из которого Y возрастал вниз, а X возрастал вправо. В триде не определились. У одних Y возрастает вниз, у других Y вверх, у третьих Z вверх, у четвёртых Z вниз. Хуан относится к тем, у кого Y увеличивается вверх. Повлиять на это нельзя. Просто живи с этим.
385 689561
>>89557
Весь твой высер мимо.
386 689562
>>89553
А какие поля у Vector3 (dir) с Transform(camxform) складывается и почему базисы перемножаются, а не присваиваются если нужно установить зависимость Y в локальном Vector2 и Z в глобальных координатах?
387 689563

>установить зависимость


* Установить зависимость между
388 689567
>>89562
Постараюсь объяснить ничего не напутав.
Базис в Годоте - это три осевых вектора (ориентированные с учетом поворота объекта). Т.о. basis.z это сам по себе Vector3 смотрящий в сторону z относительно камеры.
Так что базисы тут не перемножаются. Умножается вектор пропорционально "тяге" в сторону в зависимости от нажатых кнопочек.
К dir (Vector3) сначала прибавляется таким образом скалированный вектор3 вдоль оси z, потом к нему прибавляется вектор вдоль оси x.
Умножение идет на величину в пределах -1..1
389 689568
>>89567

>basis.z это сам по себе Vector3 смотрящий в сторону z относительно объекта (в данном случае камеры).


Уточнил.
390 689573
>>89562

>почему базисы перемножаются


Матрица перехода — это матрица, переводящая вектор в одном базисе (неповёрнутом), в тот же самый вектор в другом базисе. Если ты в своём базисе (связанным с направлением твоего пинуса) прошёл на один метр вперёд, то для того, чтобы узнать, куда ты прошёл «на самом деле» в глобальном базисе, нужно домножить твой вектор (1, 0) на матрицу перехода.
Так вот, к чему весь этот высер: матрица перехода состовляется из координат базисных векторов, три столбца базисных координат тупо записываются в одну матрицу, и у тебя возникает ощущение того, что ты что-то там умножаешь на базис. Хотя строго говоря, на базис ты ничего умножать не можешь, потому что базис — это три вектора, для этого хозяйства не определена операция произведения.
391 689575
>>89573
Хватит уже нести хуйню, в коде из примера на базис ничего и не умножается, умножается на вектор оси из этого базиса.
392 689591
Короче создатель гайда решил новичкам в мозг нассать одной из самых ненужных и изъёбистых реализаций.
393 689611
>>89591
Блять, просто копипастишь и не заморачиваешься. Разнылись, блять, на полтреда.
394 689618
>>89591
Любая реализация будет плюс-минус такой же. Это ж геометрия. Ты можешь разными путями придти к одному и тому же. Можешь решать теорему пифагора, а можешь исользовать синусы-косинусы.
395 689667
>>81839 (OP)
Там пiддержку Lua будут делать?
396 689681
>>89667
Это этого легче вряд-ли бы стало.
397 689695
>>89667
НАДЕЮСЬ ЧТО НЕТ
изображение.png159 Кб, 421x222
398 689696
399 689703
>>89695
Почему?
>>89696
Ну вот я Lua учу, уже что-то понимаю. Зачем? Не знаю. Почему не начну учить другой? Но зачем?
400 689711
>>89703

>Почему?


Потому что в движке и так дохуя того, что нужно доделать/починить. А запихивание новых фич распыляет усилия разрабов.
401 689713
>>89703
Потому что это не самый хороший язык. С кучей подводных камней.
402 689744
>>89703

> я Lua учу


> 2020


> я Lua учу, уже что-то понимаю. Зачем? Не знаю.



> Зачем?



Потому что ты прокрастинирующий ебанат. Выдыхай, бобёр! Учить надо то, что поддерживает индустрия: Си++, Си-шарп, гдскрипт, гамакоскрипт. Всё остальное просто берёшь - и игнорируешь нахуй. Питоны, луа, паскали и прочую ебанину.
403 689746
>>89744
Упитанно.
404 689749
>>89746
Хуепитанно.
405 690038
>>89713
Каких например? Интересно.
406 690042
>>90038
Оффтоп так что ответил в движкосраче
407 690049
>>90042
Малаца! Грамотный выбор. Если уж кормить вытекающего из монитора жирдяя, который уже джва года периодически серит своим луа по всей доске - так именно в срачетреде. Удачи вам двоим там!
408 690050
>>90049
Я первый раз туда сижу.
409 690914
Есть вменяймые гайды как це++/godot библиотеки через интерфейс VS/VS code подключить для написания нодов/модулей, а не ебаться с блядскими гитами, консоль prompt'ами, скунсами хуюнсами блять?
410 690917
>>90914

>гитами


Ну допустим без него можно обойтись, скачивая в зипе.

>консоль 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
image.png6 Кб, 391x138
411 690984
>>90917

>Можно запускать прямо в VS code


Открыл nativescript в code, но что то не то. Я так понимаю здесь компиляция в движок нужна?
412 690985
>>90984
Так, спокойно, я писал про компиляцию модулей, а они вкомпиливаются в движок, да.
Но если тебя устроит GDnative там вроде достаточно dll-ку собирать, но я им не пользуюсь, могу попозже посмотреть что там сейчас творится.
413 690989
>>90984
В общем, прочитав эту портянку, пришел к выводу что собирать плагин на nativescript все равно надо сконсом.
https://godot-es-docs.readthedocs.io/en/latest/tutorials/plugins/gdnative/gdnative-cpp-example.html
image.png76 Кб, 1215x829
414 691182
>>90985
>>90989
https://docs.godotengine.org/en/stable/development/compiling/introduction_to_the_buildsystem.html
Вот что мне к примеру с этим предлагает гайд сделать? Вставить куда-то или это py файл? Напоминаю что я не телепат
415 691263
>>91182
Scons с параметрами - команда в консольку.
416 691293
>>91263

>Scons с параметрами


Что ты под этим подразумеваешь?

>команда в консольку


Какую именно консольку? Системную, питоновскую, VS prompt, VS code prompt?
417 691316
>>91293

>>Scons с параметрами


>Что ты под этим подразумеваешь?


scons platform=list выдаст список доступных платформ:

>android


>javascript


>windows


и т.д.
scons platform=windows
соберет под винду.

>Какую именно консольку?


Системную.
В vscode у меня открыт терминал, это та же системная консолька.
200-2006671pepe-the-frog-question.png55 Кб, 900x940
418 692127
Как правильно вкатиться в движок? Зубрить документацию или туторы англоговорящих смотреть?
419 692141
>>92127
Единственного Правильного Способа нет и быть не может. Учи, как тебе удобно. Главное - мотивация и искреннее желание делать игры. И во всём разобраться.

Посмотри видеоуроки сканера на русском языке в ютубе. Смотри прямо старые, невзирая на устаревшие версии движка. Скачивай те же самые версии движка и повторяй проект, ставя видос на паузу и ВРУЧНУЮ переписывай код с экрана, чтобы моторная память работала.
420 692184
>>92127

>туторы англоговорящих смотреть?


Смотри GDQuest (https://www.youtube.com/c/Gdquest/videos)
Нормальный инглиш, понятный без субтитров.
Под уроками обычно ссылка на гитхаб с проектом урока, где проект будет находится в состоянии Start (начальное) и End (законченое). Загружаешь и по ходу видео дорабатываешь проект из состояния Start в End и учишься.
Еще один показатель качества, что именно автора этого канала собираются привлеч в качестве майнтейнера официального годот мануала.
421 692190
>>92184
Попробую, спасибо.
>>92141
Сканер как-то не особо понравился, но попробую старые уроки посмотреть.
422 692204
>>92127
В документации есть довольно вменяемый текстовый step by step. Который проходится, внезапно, шаг за шагом.
423 692338
>>92184

>Нормальный инглиш, понятный без субтитров.


Я бы под это определение назвал HeartBeast.
424 692383
>>92338

>Я бы под это определение назвал HeartBeast.


Да у него тоже неплохо.
----
>>92190

>но попробую старые уроки посмотреть.


>>92141

>Смотри прямо старые, невзирая на устаревшие версии движка. Скачивай те же самые версии движка и повторяй проект


Крайне не рекомендовал бы так делать. Т.к. в ранних версиях движка была куча подводных камней и косяков, для обхода которых много чего костылилось. И все это перестало работать с выходом 3.х версий годота. Ты просто потом потратишь кучу времени пытаясь понять почему у тебя в последней версии движка не работает то, что работало в предыдущих. Советую смотреть уроки только для версий движка 3.1.х и позднее. А более старые рассматривать когда уже будет понимание. что и как работает.
425 692395
>>92383

> Да у него тоже неплохо.


> Крайне не рекомендовал бы так делать.


У всех их основной пул туториалов на старых версиях движка. Но доебался ты исключительно к сканеру. Вывод: Вы просто ненавидите всё русское.
426 692406
>>92395

>У всех их основной пул туториалов на старых версиях движка.


Давно уже нет.

>Но доебался ты исключительно к сканеру.


Это был не я. Но по факту он в основном про 3Д ролики пилит, а мне оно нахуй не уперлось.
Я собственно вообще вообще по видеотуториалам не учусь, т.к. читать текст намного пизже. Просто иногда когда реализую какую-нибудь механику, делаю себе выборку роликов, чтобы посмотреть, как другие такие же штуки делают.

>Вывод: Вы просто ненавидите всё русское.


Не угадал. Я даже игры делаю сразу, как минимум двуязычными, на русском и инглише.
427 692420
>>92406
Ну ладно.
godot-2020-08-20-17-45.gif44 Кб, 220x224
428 692538
>>92420

>Ну ладно.


Ок.
К слову об:
>>92406

>делаю сразу, как минимум двуязычными


Очень нраицца как в годоте сделана реализация локализации в играх (ну по крайней мере по сравнению с тем, с чем я раньше сталкивался). Достаточно удобно, плюс добавить дополнительный язык можно на раз-два.
429 692570
А вообще по туториалам больше хотелось бы побольше текста. Но его мало и в том же ДетиМогутКодить какие-то рукожопные примеры скриптов, которые просто не работают.
430 692573
Как сделать рутом сцены собранную из разных нод кастом ноду? Данная кастом-нода не хочет обращаться к своим чайлдам.
431 692593
>>92406

>Но по факту он в основном про 3Д ролики пилит, а мне оно нахуй не уперлось.


Есть ещё mr.D - на русском, двадэ, основы разжёвывает подробно. Он довольно плох как педагог, но старается.
432 692603
>>92573
ЮКак сделать рутом сцены собранную из разных нод кастом ноду?
Например так - создать скрипт в котором написать class_name CustNode
Это даст возможность добавлять CustNode как ноду, в том числе и как корневую в новой сцене.

>Данная кастом-нода не хочет обращаться к своим чайлдам.


В смысле ты не хочешь, или у тебя не получается?
433 692665
>>92538

> Очень нраицца как в годоте сделана реализация локализации в играх


Мне тоже понравилось. С по-файлами не разобрался, юзал таблицу цсв. Однако к по-файлам надо вернуться. Говорят оче мощная система, линукс-вэй.
434 692738
>>92665
Ещё раз перечитал доки и - нет. ЦСВ гораздо удобнее (мне). Столько возни с этим геттекстом, ради удобства многострочных сообщений я не готов с этим возиться. Я его прямо в годоте открываю как текстовый файл и там редактирую. Даже ексели не нужны. После сохранения надо обновить редактор, чтобы перегенерировались файлы переводов. Я без задней мысли запускаю игру и выключаю, после чего редактор обновляется.
435 692749
>>92738
Это норм если у тебя фразы простые. Емнип вся эта ебля окупается если у тебя тексты вида "Александру" принесли "четвертую" кружку -> "Fourth" cup was brought to "Alexander" и т.д. с подстановками, падежами, склонениями.
436 692753
>>92749
Как гласит документация:

> 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.


Такшта... Ну ты понел.
437 692756
>>92753
Хех, ок
438 692824
>>92749

>Емнип вся эта ебля окупается если у тебя тексты вида "Александру" принесли "четвертую" кружку -> "Fourth" cup was brought to "Alexander" и т.д. с подстановками, падежами, склонениями.


Честно говоря не вижу смысла с такой хренью заморачиваться. Проще сразу текст строить так, чтобы исключить или хотя бы минимизировать всякие согласования падежей и прочую лингвистическую хрень. Даже в большинствее ААА игр подобным не заморачиваются.
439 692850
>>92824
Удваиваю этого. Как ни прискорбно, а время текстовых эрпогэ прошло. Игрокам надо чтоб графон и экшон, пыщ-пыщщ, просмотрите рекламу, чтобы продолжить, купите лутбокс. Для этого лингвистические изыски на 10 языках не требуются.
440 692918
>>92824
Какая нибудь рпг/рогалик/внка.
441 692943
>>92824

>Проще сразу текст строить так, чтобы исключить или хотя бы минимизировать всякие согласования падежей и прочую лингвистическую хрень.


Ага, напиши текст заранее так, чтобы при переводе на язык, которого ты не знаешь, не возникло лингвистических проблем. Великолепное решение!

>Даже в большинствее ААА игр подобным не заморачиваются.


В большинстве ААА игр не заморачиваются со мнооогими вещами, с которыми заморачиваются в инди. Вообще, крупные компании оптимизированы так, чтобы не прорабатывать детали, которые не дадут финансовой выгоды больше, чем стоит их проработка. С другой стороны, когда игрок включает индюшатину, он ожидает большей внимательности к деталям, как ни странно.
442 693209
>>92943
Ну тут мы в выигрышном положении. Русский язык сложнее большинства языков.
443 693211
>>93209
Я хочу сказать, что при переводе с русского мною ожидается упрощение лингвистики.
444 695780
А кто-нибудь знает, где можно почитать документацию по GDScript 2.0 ? А то что то непонятно, где смотреть... пытался поискать на github, но я не очень в него умею Ну или вообще доки по Godot 4.
445 696012
>>95780
Пять секунд гугла https://github.com/godotengine/godot/pull/39093 Это не документация, конечно, но для ознакомления достаточно. Внутри статьи есть ещё ссылки.
446 696132
>>96012
Да не, это я видел.
Ещё в виде новости на сайте https://godotengine.org/article/gdscript-progress-report-new-gdscript-now-merged
Но всё равно спасибо. Я именно доки с какими нибудь основами реквестировал, думал мало ли есть.
447 696176
>>96012
Хм. Я конечно подробно не вчитывался, но при беглом просмотре складывается ощущение, что в 4-й версии движка обратная совместимость по GDScript'у пойдет по пизде. Хорошо, что я на решетки перешел.
448 696238
>>96176
Она и в третьей по пизде ходила. Олдфагов не удивить. Начал проект на трёшке - на ней и саппорти.
449 696273
>>96176
Тащемта, это не раз и не два официально говорили.
450 696324
>>96176
Там и названия нод поменяют частисно.
На решётках тоже не просто так перекатиться будет.
451 696383
>>95780
Да не торопись ты, это еще минимум год будет неготово.
452 696521
Когда там 4.0 выкатывать планируют?
453 696539
>>96521
Через месяцок-другой. Тебе зачем?
454 696561
>>96539
Скоро будем новую игру начинать, подбираем на чем.
455 696567
>>96561
Четверка исключена, раньше 4.1-4.2 она все равно будет сырой. 3.2.3 хватит для многих игр.
456 696569
>>96567
вычислительные шейдеры нужны будут
457 696591
>>96569
Самые легендарные игоры не имели крутого графона.
Нахуй мне игра с вычислительными шейдерами (дождь/снег отскакивающий/прилипающий от/к динамических/им поверхностей/тям, угадал?), если в ней ни геймплея интересного, ни на худой конец сюжета глубокомысленного, цепляющего? Ну вот зачем, а?
458 696592
>>96591
да, динамически изменяющаяся погода в динамическом окружении, которая будет влиять на геймплей
ну и сейчас группе людей, которая занимается геймдевом, чтобы им же и кормиться и жить, нужно в том числе следить за графоном и индивидуальными фишками
459 696593
>>96592
Хуита и манямирок школьника/первокура. Вон у меня на ютубе Генри Стикмена проходят. Обоснуй мне, почему твоя динамическая хуита будет популярнее хотя бы его?

Лифт поехал. Время пошло.
460 696594
>>96593
посрись с кем-то другим или в движкотреде, мне это не интересно
461 696790
462 696971
есть хоть одна более-менее успешная крупная игра на годоте? не срача ради спрашиваю, просто реально интересно
463 696975
>>96971
Есть.
464 696978
>>96971
Есть и не одна, но на мобилах. Просто у движка нет требования к неотключаемому сплешскрину и авторы банально не указывают, какой у них движок. Возьми 10 коммерчески успешных три-в-ряд китайских дрочилен-рекламу-показывателен, и 8 из них будут на годоте, причем на двушке.
465 696981
>>96971
>>96975
>>96978
Семен съебал быстро в свой срачезагон
466 696990
>>96981
Причём тут это? Претензия не к движку, а к китайцам, которые клепают однотипную хуиту на мобилки. Хотя по сути претензия даже не к китайцам, а к миллионам хомячков, которые в это играют, смотрят рекламу, переходят по ссылкам и тем самым делают эту хуиту коммерчески успешной.
467 697306
>>96971
project kat, тип кайнда техно-демка, но щас большую игру с нее делают.
468 697307
Ебать моя встройка не вывозит редактор годота, когда по сцене двигаешься или зумишь все тормозит - я не могу. Всякие криты, блендеры и прочий тяжелый кал работает нормально, а годотя нет. Печаль, блять.
469 697319
что можно сделать на годот?
470 697327
>>97307
чё за встройка? интеловская нормально пашет
471 697339
472 697359
>>97307
Время переустанавливать шындовс.
это не шутки, запусти комп с вин-пе и убедись, что всё работает без тормозов
473 697412
модельки в блендере делаете?
474 697433
>>97412
А вы таки что-то хотите предложить?
475 697449
>>97433
3дмакс или майя для богатых буратин
476 697451
>>97449
Модели можно хоть в кепчуке (SketchUp) делать. Главное, чтобы игры были.
477 697612
>>97319

>что можно сделать на годот?

image.png115 Кб, 460x321
478 697642
>>97612
Наверно тупой вопрос, но можно ли создать 3д игру хотя бы на уровне ходячего симулятора, используя только визуально программирование (ноды)? Уже полгода сижу блендере, но ни с одним языком программирования не знаком от слова совсем.
Другой анон
479 697653
>>97642
Наверное можно, но это будет очень неудобно. Вообще не, в годоте не стоит с вижуалскриптом связываться, он там сбоку приделан, лучше открой документацию и step by step пройди обучение кодингу.
https://docs.godotengine.org/en/stable/getting_started/step_by_step/index.html
480 697659
>>97612
Соус второй вебм?
# OP 481 697665
>>97653
Двачую этого
>>97642
Или, если прям совсем никак без нодов - перебегай в анрил, там визуальные блупринты приделаны НЕ сбоку, а являются краеугольной фичей движка. При желании впоследствии нативизировать можно (преобразовать в код для скорости)
.
# OP 482 697666
>>97642

> можно ли создать 3д игру хотя бы на уровне ходячего симулятора, используя только визуально программирование


В прошлых тредах я проводил опыты и показывал сравнительные скриншоты, как три строчки простого и удобного GDScript превращаются в громадную лапшу нодов на четыре экрана.
483 697698
>>97659
В редите было, вроде какой то аниматор не программист пилит игру.
А еще хуман диаспора в ранний доступ вышла
image.png527 Кб, 720x377
484 697699
>>97653
>>97665
>>97666
Хмм, спасибо за ответы, мне теперь понятно в какую сторону смотреть, это будет хорошей пищей для размышлений.
485 697712
>>97699
Вот тебе еще немного пищи для размышлений. На прилагаемых пикчах код и блюпринт, которые делают то же самое. Отбросим пока что тот факт, что ноды тупо больше и подумаем вот над чем. Я всё равно изучал АПИ движка. Без этого никуда. Не зная АПИ, я бы не смог создать этот блюпринт. Я бы просто не знал, какие блоки брать и с чем их соединять.

А АПИ движка тесно связан с гдскриптом, все примеры АПИ изначально показаны на нём, а уж потом на других языках и блупринтах. Так что, чем дольше ты оттягиваешь момент с изучением языка, тем дольше не будет игор.
486 697723
>>97712
Обучение это балансирование между сложными и демотивирующими вещам и интересными и брутфорсными, если я сразу же начну с изучения языка то потеряю любую мотивацию на создание игор.
Но что ты написал натолкнуло меня на мысль, о том что ты делаешь неправильно лучше знать заранее и не привыкать этому способу, потому что потом будет труднее переучиваться. Спасибо, буду смотреть теперь инфу по этим АПИ штукам.
487 697724
488 697739
>>97723
Основа бродилки делается за 5 минут, за тридцать простых шага
Первый - создать проект из темплейта third person (потом контроллер игрока можно будет заменить/доработать)
489 697740
>>97739
2. установить ассет террейна, включить его в настройках, добавить ноду террейна, указать в ней папку куда будут писаться данные.
490 697741
>>97740
3. Удалить пол, сгенерировать рандомный террейн, добавить текстурку травы. Ваша пицца готова. Дальше уже пилить всякие взаимодействия с объектами.
image.png152 Кб, 475x169
491 697751
>>97739
Фак, я ходячие симулятор я для примера привел, узнать порог вхождения в движки, но все ровно пасиб.
492 697778
>>97751
Пиши конкретнее тогда, что тебя интересует из жанров.
Мне не сложно ответить, когда время есть.
493 697994
494 697995
Товарищи, из тех кто по C# угорает, а кто-нибудь уже пробовал 3.2.3rc юзать? Опишите впечатления.
А то там "breaks forward compatibility," для "C# projects" обещают. И чет, сцыкотно мне.
495 698005
>>97995
Просто делай бекапы проекта (или храни версии в git)
Судя по описанию просто когда ты создашь C# проект в 3.2.3, его будет нельзя открыть в 3.2.2
Вообще, раз поменяется только csproj, с исходниками и API же ничего не случится, в самом худшем случае просто передобавишь все .cs
496 698011
>>98005

>Просто делай бекапы проекта (или храни версии в git)


Уже очень давно под версиями все :) Только под ртутью.

>Судя по описанию просто когда ты создашь C# проект в 3.2.3, его будет нельзя открыть в 3.2.2


Это то, понятно.

>Вообще, раз поменяется только csproj, с исходниками и API же ничего не случится, в самом худшем случае просто передобавишь все .cs


За исходники я не опасаюсь. Судя по описанию коммита там в файле проекта еще флаги есть которые будут разными для импортированных проектов и для новых и вот насчет них я не совсем разобрался. И самое главное я не понял, что в старой системе такого было плохого, что им понадобилось делать это изменение. Ссыкотно мне больше за то, как бы они в самом годоте не поломали C#, так что пришлось бы следующей версии ждать.
Вобщем, лучше я подожду полного релиза и отзывов.
497 698033
>>98011

> не понял, что в старой системе такого было плохого, что им понадобилось делать это изменение.


Судя по закрытым багам, каждое добавление пакетов библиотек превращалось в боль, требующего каких то плясок для исправления. Чел писал в комментах, что в новом rc C# не сломался, и он даже использовал кейворды из C# 8.0
498 698044
>>97995

> чет, сцыкотно мне


>>98011

> лучше я подожду


Никогда. Не. Обновляй. Движок. В. Продакшене.
Начал проект на 3.2.2. на 3.2.2 и заканчивай. И саппорти на 3.2.2. Это знать надо! Это классика, блять!
# OP 499 698051
>>84706

> Пойдёт в шапку, если не забуду.


Не забыл, но для шапки тяжеловато.
ПЕРЕКАТ # OP 500 698055
Тред утонул или удален.
Это копия, сохраненная 2 февраля 2022 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /gd/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски