Это копия, сохраненная 4 мая 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
1)Простота освоения - есть редакторы сцен, GUI не такой приевшийся как в unity, встроенная поддержка физики, игра скейлится под любое разрешение экрана. Ну и самое важное - он использует Python-подобный язык для программирования с Python на GDScript можно переучиться за час. Python признан во всем мире самым простым языком для начинающих, поэтому если ты считаешь программирование чем-то невероятным или тебя воротит от скобочек (C#, Java, C++ и т.д.), выбирай не задумываясь.
2)Кроссплатформенность - поддерживает Windows, OSX, Linux, iOS, Android, PNaClВеб-приложения от Гугл, PS3, PSVita. На данный момент имеется нестабильный экспорт в Windows Phone, BlackBerry 10 и HTML5.
3)Бесплатность - тебе не придется платить за сам движок, покупать pro версию чтобы разблокировать различные функции, не придется выплачивать проценты с продаж жадным разработчикам. К тому же код движка открыт и даже ты можешь вносить в него изменения.
4)2д - Наиболее сильной частью движка является именно 2д. Имеется отдельный редактор сцен, скелетной анимации как Spine, частиц, физон, паралаксы, полигоны и т.д.
5)3д - Крузис тут не сделаешь, но если собрался делать что-то под мобилки или какую нибудь ouya, то будет в самый раз. По графике примерно как Unity4. Впрочем уже сейчас имеются интересные фишки - визуальный редактор шейдеров как в blender или в каком нибудь платном ассете из того же unity ну и импорт из любого 3d редактора, разумеется.
А так-же куча различных фишек вроде разветвленной анимации, охуеннейшего дебаггера с графиками и статистикой, подсветка синтаксиса прямо в редакторе с автодополнением не хуже sublime text, поддержки интернет протоколов и многое другое, о чем я еще не знаю.
С чего начать?
С изучения документации. Если не можешь в инглиш, и даже в гугл-переводчик, то есть варианты русскоязычного перевода части доков на ресурсе конкурирующей фирмы: http://c2community.ru/forum/viewforum.php?f=119
Но вообще, будь мужиком и изучи английский: https://godot.readthedocs.io/en/3.0/index.html
Постижение основ займет совсем немного времени. Я не предлагаю изучать пайтон, это не обязательно. Освой GDScript для начала, там нет ничего сложного. Но если вдруг ты решил, что тебе мало фич движка, то начиная с третьей версии, Годо предлагает несколько вариантов скриптинга, включая визуальный (блупринты) и нативный скриптинг. Нативный скриптинг позволяет тебе скомпилировать библиотеку на своём любимом языке и экспортами вбросить в годо функции, которых тебе так не хватает. Подробности в документации. Так же имеется версия движка с поддержкой си-шарпа через моно-фреймворк.
Занимайся практикой для закрепления знаний. Дальше уже сам поймешь в каком направлении тебе нужно двигаться.
Вместе с движком обязательно смотри примеры, там есть все - от платформера до чата. Примеры качаются прямо в движке через свой магазин.
Скачать движок: https://godotengine.org/download/ или http://store.steampowered.com/app/404790/Godot_Engine/
FAQ: https://godot.readthedocs.io/en/3.0/about/faq.html
Игры, созданные глобальными кириллами: https://godotengine.org/showcase
Почему я должен выбрать Godot?
Кстати, потскажите, ЧЯДНТ?
Делаю рейкаст, добавляю его к кинематик боди, прописываю ему вектор, скажем (0, -1.5, 0) и ожидаю, что он будет смотреть в пол на 1.5.
Затем в скрипте я вызываю эту ноду:
onready var feet = get_node("RayCast")
Точно так же, как это делается в скрипте из примеров.
Затем я пытаюсь вывести в переменную, видит ли он коллизию с полом (после move_and_slide офкос):
var can_jump = feet.is_colliding()
И нихуя!!! Вообще даже после точки не появляется подсказка, словно нода не кастуется правильно. Причем в аналогичном скрипте из примера появляется подсказка с интерфейсом.
Что за хуйня? Я ж один в один копирую!
Я чот передумал уже. Вот, четыре строчки кода превратились в ЭТО.
Да ещё и неправильно, там должно вызываться get_global_transform у предка камеры, а выбрать это никак нельзя. И в скрипте тоже, кстати, подсказка не появляется, надо вызов метода вручную прописывать.
Короче, хуйня.
Эксперимент считаю завершенным. Результат отрицательный. Биндить события этой лапшой тем не менее удобно.
Прости, что я пиарил годо в Юнити-треде. Давай остановимся, пока не поздно и разойдемся по своим тредам?
Иначе колесо срача не остановить.
Я проиграл, я слился. Ты победил. Юнити - лучший движок. Чмок-чмок, отсасываю у тебя, Повелитель.
А теперь пиздуй в свой тред.
В споре, но не в сраче.
Аноны, хотите увидеть некоторое дерьмо?
Я таки дописал эту функцию, изучив гайды.
Но помни, увиденное не развидеть.
А вообще не, свич не пойдёт. Это ж будет проверяться только одна кнопка всё время. Неужели нет никакой альтернативы четырём IF в ряд?
Бля, как я не увидел это раньше. Уже год пилю игру своей мечты на бумаге. 700 страниц лора, все механики прописал, спрайтов наебошил но так никогда и не смог вкатиться в погромистование. Тут вроде выглядит более менее легко, спасибо, анон.
Это тебе еще хорошо, а у меня самописный движок "почти работает" уже год как, а на годо пока пустота и логика совершенно алиенская (для меня, костылеписца).
Блендеру научи лучше, у них графика фотореалистичная.
Просто не каждый анон знает, что блендеро-тред живёт в /td/.
Потому что это филиал блендеро-треда под прикрытием.
Нет в этой игре стиля. Поебота какая-то. Другое дело - игры написанные в годо:
http://store.steampowered.com/app/467090
Когда ты достигнешь профессионального уровня в годо, ты сможешь делать это:
http://store.steampowered.com/app/567780
Внки на чем угодно можно делать. Хотя конечно игры параша что на годо что на бге. Лучше бы этих игр не было совсем, они как антиреклама для движков.
И непременно странные пазлы это антиреклама движка? Я угадал?
http://store.steampowered.com/app/330420
Каким образом можно отобразить ряд объектов вдалеке, чтобы те не исчезали из поля зрения, но и в то же время имели минимальную нагрузку на фпс (насколько это возможно)? Возьму в пример тот же Far Cry, где можно лицезреть очертания островов издалека. Есть какой-нибудь хитрый хак на эту тему в Годо?
Большинство даже инди играми не назвать, просто пятиминутные мусорные поделки школьников.
А в реализм годот вообще не может, а та замшелая игра на блендере и то в сто раз лушче кажется, она хотя бы как адекватная полноценная игра выглядит.
Итак, финальный результат. Вы давно хотели узнать, почему лапша-ориентированное программирование сосёт?
Я принёс пруфы. На первой пикче функция в GDScript, на второй же - аналог в новомодной лапше.
Полагаю, для других движков результаты будут сравнимые. И это я еще производительность не мерял.
Кароч, запустил это говно и оно не работает. Виснет наглухо с завершением работы. Как это дебажить - ума не приложу. По брекпоинту останавливается только один нод! После которого весь код перезапускается. Кароч, сырое ещё.
Возвращаемся к гд-скрипту.
Ни-ху-я. Почему-то вектор direction обнуляется посреди кода и вызывает ошибку при попытке его умножить на скалярную константу. Нихуя не понимаю.
Деревотяночька, дай асечку, покажи писечку!
Говорят что надо карту на чанки пилить и тогда все будет, но я хз как это делается в принципе! Обяснити же!
В теории каждый чанк - это отдельная сцена. Предположительно у перонажа должен быть скрипт, который загружает чанки с диска и добавляет их к основной сцене, по мере твоего приближения к ним и выгружает при удалении от них. На основной сцене располагается низкополигональный террейн со всей картой. В непосредственной близости он у тебя закрывается чанками, а вдалеке ты его видишь как дистантлэнд.
В соседнем треде вроде уже делали.
1)Менять регион на атласе (скриптом, animationplayer ...)
2)иметь кучу спрайтов с разными текстурами и показывать только 1
3)скелетная анимация (тоже варианты как)
4)спрайт из кучи слоёв
Я уверен больше вариантов существует.
А какой из них позволяет двигать анимированный спрайт по пути произвольной длины, проигрывая с подливой анимацию и меняя её, например, если персонаж повернул мордашку?
Скриптами, блджад, надо, но долбаный гуй отвлекает от православного кодописания.
Так это уже движение узла, а не анимация спрайтов.
Неужели ты не умеешь в линейную интерполяцию?
Обычно "спрайты" привязаны к физическим объектам-узлам, а те двигаются по законам физики.
Для партиклей своя система есть.
Да и в гуе ты должен меньше всего сидеть, имхо, только если кучу tool-ов навесил (надеюсь ты про эту фичу уже знаешь)
У меня законов физики не завезли, я изометрическое говно пилю.
Ну вот в манулах что я нашел,предлагается и движение узла, и анимацию спрайтов пилить через один и тот же animationplayer, со всеми вытекающими последствиями.
Ну ладно, у меня просто мозги в кашу сварились от того, что я с писания костылей в первый раз пытаюсь пересесть на стул с пиками. Надо методично напилить тысячу сцен и всё будет работат.
Ты главное про tool почитай пока ещё не поздно
https://www.youtube.com/watch?v=vsxB4L6rufo
С ней гуй прокачивается в десятки раз
return "Учу язык шейдеров";
}
color = color.a * 0.1
>имеются интересные фишки - визуальный редактор шейдеров
В трёшке не могу найти. Отменили? Или в 3.1 ждать?
Какие же дегенераты ИТТ. Неужели так трудно понять, что ссылка на Ютуб это лишь наглядный пример? То что он посоветовал, он предлагает загуглить.
В том видосе показаны все фичи и всё необходимое.
Настоящий велосепедист моментально увидит мощь функционала tool.
Ну да, годо-редактор - это игра на годо-движке и с помощью ключевого слова tool она может добавлять скрипты сама к себе. Я это понял.
Посоветуйте чего посмотреть/почитать, чтобы разобраться с движком.
Ранее сайты пилил на django, узнал, что у этого движка похожий язык, да и сам движок попенсорсный, но от уровня абстракции сцен аж голова идет кругом. Хотелось бы разбор разработки на конкретном примере, начиная от набросков на бумаге и диздока, и заканчивая готовым проектом. Пускай он будет дико маленький, мне бы главное логику понять, что нужно прогать, а что есть готовое, и вообще как вести разработку
>начиная от набросков на бумаге и диздока, и заканчивая готовым проектом.
Не у всякого коммерческого движка есть уроки такого уровня
>Кал говна
>Эти степбайстепы - не степбайстепы.
Скажи проще - ты пришёл сюда обсирать годо за его новизну и связанную с этим скудную обучающую информацию.
>Скажи проще - ты пришёл сюда обсирать годо за его новизну и связанную с этим скудную обучающую информацию.
Нет
Я уже обозначил свою позицию. Гайд неплохой, для человека который пересаживается с другого движка, но в качестве пособия "с нуля" не годится. Пара ошибок в коде встретилась, и в целом гайд не дает представления о том как сделать игру. Вроде бы, степ-бай-степ, а конечного результата - нет
Никуда не уходи. Щас я загуглю за тебя все уроки по годо, посмотрю их и отберу только подходящие тебе, моя принцесса!
Я погуглил, и нихуя не нашёл. Пришёл к спецам спросить совета. А тут во всем видят троллинг и юнитидауна который ради холивара припёрся
>Я погуглил, и нихуя не нашёл.
Ха-ха! А ещё игры делать собрался, а в банальный гугл не может. Небось ещё и по русски искал? Ахаха! Посмотрите на этого гейдевелопера! Смотрите и смейтесь!
Ты ищешь в движке кнопку "сделать пиздато". А её тут нет. За этим тебе в юнити ассет стор.
>Именно так выглядит парадигма без ООП-хуйни, да
Кому ты пиздишь. Лень doxygenoм строить иерархии классов вашего годота, а то бы я вам показал!
Не хочу в ассет стор. Мне хочется понять, какие части игры нужно прогать, а какие нет. Надо поискать обзор возможностей движка, но не на готовом результате
хуй я чего найду
подобная иерархия у moai, а он ооп reactive
Выглядит как хуйня без парадигмы.
> понять, какие части игры нужно прогать, а какие нет
В 2018 году практически ничего прогать не надо вообще, кроме банального if true then _api_func1 else _api_func2;
Все велосипеды изобретены. Тебе нужно просто грамотно собрать вместе все велосипеды, чтобы получить веломобиль. В основном нужно рисовать, моделить, текстурировать, сочинять тонны текста для диалогов, подбирать подходящую музыку и озвучивать персонажей самому, либо нанимать актёров озвучки.
да пусть делает игры с таким подходом, я с наилучшими пожеланиями.
Сомневаюсь, что существуют программные продукты со сложностью чуть больше хелловорда, в котором соблюдается чистота архитектурных парадигм.
Скорее всего первокур, потому что думает что парадигма заложена у него в голове, а не в коде.
Ни у кого шарп не работает, а у кого работает тот ни одного доказательства не привел.
Зануда!
Типа у сидящих в гд до сих пор не установлены вижуалстудия со всеми билдтулзами и уеч с юнити.
> вижуалстудия
Нахуй это монструозное говно с анальной регистрацией ненужно. Поцаны ставят вижуалстудиякод, который легкий как пёрышко и надежный как швейцарский нож.
Заценим-посмотрим. Сам охуел с монструозности этого говна, когда решил заценить юнити.
Я конечно анонимное хуйло без авторитета, чтобы им что-то советовать, но моё ИМХО таково, им нужно было поставлять среду, которая использует преимущества опенсорца и пересобирает сама себя. А то у них опенсорц на словах, а на деле бинарники, а чтобы попенсорц у себя на пеке собрать, надо кучу красноглазой хуиты осиливать.
Для примера хочу привести Фрипаскаль-лазарус, эта система спроектирована именно так, как я описал выше. Устанавливая даже предварительно собранный бинарный пакет, даже на винде, ты получаешь комплект исходников и встроенную утилиту для пересборки среды. Не нравится какая-то внутренняя фишка в самой среде? - Полез в исходники, сделал как тебе надо, пересобрал - вуаля! Всё работает. Без красноглазия и прочей хуеты, все параметры компиляции прописываются автоматически.
Разрабам годо нужно было сделать так же. Никаких нативскриптингов, никаких внешних компиляторов: есть гдскрипт и есть прямой доступ к исходникам прямо из годо, в которых ты можешь переписать функции гдскрипта на более быстрые, либо добавить свои.
Получаешь быструю как феррари и гибкую как змея систему. Если скилл есть. А если нет - нехуй лезть. Жди новых версий.
А что ты хотел от красноглазиков?
Я вот съездил на Годоткон в начале месяца, посмотрел на всю эту компанию, и вот что я тебе скажу - разработчики ВСЕ поголовно красноглазые. В девелоперской комнате я не увидел ни одного ноутбука на винде, вообще.
Неохота линукс ставить, меня прошивка для игор устраивает.
Ах ты ж педрила демагогская. Ну давай я тебя носом в доки потыкаю:
>Requirements
>For compiling under Windows, the following is required:
> 1 Visual C++, Visual Studio Community (recommended), version 2013 (12.0) or later. Make sure you read Installing Visual Studio caveats below or you will have to run/download the installer again.
> 2 Python 2.7+ or Python 3.5+.
> 3 Pywin32 Python Extension for parallel builds (which increase the build speed by a great factor).
> 4 SCons build system.
Целых 4 левых хуиты нужно, чтобы собрать это говно. Где принцип KISS, stupid?
Алсо я не смотрел, но вангую, что этот скунс работает на уёбищном цыгвине. А тот же лазарус, не сочтите за рекламу - продукт самодостаточный, полностью собирает сам себя с помощью своей предыдущей собранной версии.
Врёти, ничего не произошло.
Пока нормальные люди режут колбасу, красноглазые дети в очередной раз разбирают-собирают свой свободный, удобный, отлично оптимизированный и инновационный швейцарский нож.
>Какие-нибудь говноигры из /gd/ были еще обозрены каким-нибудь американским господином?
"Игры /gd/" которые выходили в стиме (список в faq ньюфаготреда) обычно имеют видосы от англоязычного коммунити. Но они не на годоте, поэтому писать в тред не буду.
>скачал godot
>запустил godot
>ERROR: MonoRegUtils::find_mono: Cannot find mono in the registry
>удалил godot
охуенно
Как c++ господин годот учил.
Скомпелировал из исходников
Написал на плюсах каштомный модуль движка
Узнал, что его нельзя собрать отдельно
При каждом изменении пересобирать весь движок минут 15
Плюнул
Почитал про NativeScript
Перепробовал десяток устаревших туториалов
С помощью метода тыка и правки питонового скрипта заработало
Нельзя экспортить в wasm/html
"Пользуйтесь каштомными модулями"
Да пошло оно все.
>Написал на плюсах каштомный модуль движка
>Узнал, что его нельзя собрать отдельно
>При каждом изменении пересобирать весь движок минут 15
Этот неосилятор порвался. Несите нового.
Смотри как собирается движок у нормальных людей (в самом начале виден клик на запуск):
https://www.youtube.com/watch?v=0k8RWmt6TBo
С мобилы не видно. Он там именно меняет что то перед пересборкой? Если нет, то это не считается.
Алсо, это не студич. Можно конечно пользоваться костыльными блокнотами под линуксом, но это такое.
>c++ господин
>Алсо, это не студич
Ты что несешь, алё? Какая разница в каком блокноте ты пишешь? Сборкой занимается scons и компилятор MSVC вне зависимости от редактора. алсо студия - дерьмо собачье. на видео Qt creator
>Он там именно меняет что то перед пересборкой? Если нет, то это не считается.
Нет, конкретно в этом видео не меняю, но даже когда меняю на время сборки это не сильно влияет. Стабильно 10-20 секунд так как собирается только измененная часть кода. Пересборка всего движка с нуля конечно долгая, но она нужна только если ты скачиваешь последние обновления из репозитория.
Команда для сборки такая:
p=windows target=debug tools=no -j4
Подскажите, существуют ли реализации воксельных террейнов без кубов?
Я подозреваю, что это ресурсозатратная вещь, поэтому и кубы в подавляющем большинстве воксельных алгоритмов. Но быть может, если делать простое сглаживание видимых вокселей подразделением хотя бы на 3 части - может и потянула бы средняя пека?
Неужели так сложно попробовать забубенить клон geomod из Red Faction 1-2? Или совсем потерянные технологии предков уже? Там вопросы уровня 1го курса по аналитической геометрии стоят всего лишь.
>Там вопросы уровня 1го курса по аналитической геометрии стоят всего лишь.
дебил. Ну зделай, хули
Это 2.0 геомод.
Первый - терраморфинг же и копание пещёр.
Что был в самом первом Red Faction. Во второй ред фекшен его атцки уже нерфанули.
я ни одной опенсорсной демки не находил на разрушения как в geomod, только pdf-ки с идеями.
Удивительно! Это же наш шанс, анон! Надо пилить разрушаемый мир.
Алсоу, вопрос всем. Я что не могу на лету менять параметры материала?
Пишу в скрипте: var Mat = get_node('MeshInstance').get_surface_material(0)
Затем иду в справку. А у этого Material нихуя нету! Ни альбедо нипоменять, ни металлик.
Мне што, предлагается создать несколько ресурсов-материалов и в скрипте выбирать только из них?
>Удивительно! Это же наш шанс, анон! Надо пилить разрушаемый мир.
Нахер надо, я хотел только почитать для общего развития.
Не стоит вскрывать эту тему
аниматед гиф
Надо ещё зделоть рядом капсулу-куколда которая смотрит на это и можно пилить патреон.
Часа за два ковыряния в проекте и пайтоне таки вышло запустить из студии. Ладно, живи.
Как думаешь, анон: не сломают ли совместимость между версиями 3.0 и 3.1?
Как будто у тебя кодовая база ого-го по размерам, надо чтобы даже если сломается - ты за 10 минут всё поправил.
Нет, конечно
Глес2 еще не завезли же, глес3 как был так и останется, но какую у тебя на нем код?
We are not abandoning the current OpenGL ES 3.0 backend right now: as outlined in the post, we will start working on a Vulkan backend, which will eventually coexist with the OpenGL ES 2.0 and 3.0 backends - and eventually we might deprecate the OpenGL ES 3.0 backend if Vulkan cuts it.
Когда, если, возможно.
Да они наконец поняли, что проебались, выкинув нужную 2, а 3 оказалась не такая крутая, как они думали.
а до этого было не понятно?
мертворожденный движок с древней как говно мамонта корявой архитектурой на самописных скриптах от каких-то грязных латиносов.
когда запустил их говно и увидел nag скрин с какой-то биткоин пирамидой, скривился от омерзения и сразу удалил.
проект тупо срубания бабла с лошков на патреоне и со спонсоров.
ноды вместо компонентов
самодельный скриптовый язык
все захардкоженно и прибито гвоздями в редакторе, нет модульности
ну лично меня коробит от решения, кто к каждой ноде гвоздями прибивается один скрипт.
алсо, еще мой дед делал scene tree на нодах.
Через пару лет появится еще какая-то модная херь, снова будешь кукарекать. Its classic
> самодельный скриптовый язык
И байндинги к плюсам и шарпу
> все захардкожено в редакторе
Вут? Редактор показывает игровые объекты. Анимируй их как хочешь, и в редакторе они будут анимированы.
>>483079
> к каждой ноде прибивается один скрипт
Не хочешь не прибивай, лё, пиши одну портянку и гоняй сигналы или бегай по дереву вручную.
>ну лично меня коробит от решения, кто к каждой ноде гвоздями прибивается один скрипт
Так ты делай сцену с 1м скриптом и её добавляй в главную сцену.
Удваиваю реквест!
Мне пока что видится так: Есть главная сцена, на которой ничего нет, кроме главной ноды. К этой главной ноде гвоздем прибит главный скрипт. Из главного скрипта по мере развития игры подгружаются различные сцены. У них свои скрипты, которые обрабатывают их поведение, при этом эти скрипты меняют состояние прибитых к ним нод, а главный скрипт читает эти состояния в _process() и предпринимает нужные действия.
При необходимости ноды посылают сигналы, которые динамически аттачатся в главный скрипт, такое вообще возможно в годо? Или аттачить сигналы можно только статически, как это показывают в туториалах?
>>483136
https://dissensiondev.itch.io/project-raspidarasilo-4
сорцы на 2.1
Если хочется чтобы объекты обменивались инфой, то можно всякими getchildren и прочими getnode. Или, самое простое, завести глобальный нод в прелоаде и через него гонять нужную инфу.
В распидорасило4 игрок шлёт свои координаты в скрипт глобального узла и каждый монстр его оттуда считывает.
Так же в глобальный-прелоадед нод(сцену) неплохо помещать менеджер-переключатель сцен, интерфейс консоли и прочее.
Благодарю. Посмотрим. Я ньюфаг в этом разделе и не знаю за что местные ненавидят распидора?
>синглтоны - говно
Говорили мне местные тролли, не написавшие ни одной игры.
А его нужно учить разве?
>Какой смысл учить gdscript
А зачем его учить? Или ты, вообще, не очень в программирование можешь?
Если что и учить, то API самого годота, если влом изолировать или держать открытую вкладку на доки.
Этого двачую! функция объявляется func, после объявления функции - двоеточие, тело функции отмечается табуляцией в каждой строке, аналогично с языковыми конструкциями вроде if. Всё, обучение закончено, грамоту в интернете скачай.
>>483243
https://godot.readthedocs.io/en/3.0/classes/ юзай гуглпереводчик, люк.
>>483247
Что-то около 30 мегабайт. Если загуглить, обнаруживаются интересные топики на форумах, где люди приятно удивлены "хули тут так мало?"
как же программисты любят придумывать языки
Извините, сэр юнитидаун. Извольте
https://godot.readthedocs.io/en/3.0/development/cpp/introduction_to_godot_development.html
Слишком толсто.
Рисование объектов и функция move_to. Считай то же самое
> В портфолио не вставишь - могут засмеять.
черт, подумают, что троллю
Реально, какая у него аудитория?
А где вакансии все? Смотрел недавно вообще все пропали
Это неуважение к пользователям, держать нестабильную версию там, где она качается по инструкции с git clone. Заводили бы себе скрытую dev и хоть в жеппы ебитесь.
А никто не шутил.
>Расскажите о перспективах разработчика на godot?
Если ты самостоятельно не можешь на нём релизнуть игру - то плохо.
>или тебя воротит от скобочек
Пробельный пидор не палица
Вас надо убивать из рогатки еще в колыбельке!
3Д не работает на Андроиде на чипсете, который в половине устройств в мире, включая владельцев XIAOMI.
Баг открыт с января - ответ разрабов ждите следующую версию без GLES3.
А - архитектура.
2.1 работает? или тоже?
Так я собрал под андроид потестить, а потом пошел гуглить по тексту из краш лога
https://github.com/godotengine/godot/issues/12816
Вот мне все понравилось, но при попытке запуска первой тестовой сцены с двумя кубами (один куб должен был упасть на другой куб) - он вылетел нахуй, и это я даже скрипты не писал.
Простите, но вернусь на анальную юнити, хоть она меня и доебала.
> юнити, хоть она меня и доебала.
Кем нужно быть, чтобы заебываться от одного из лучших движков современности?
С чего ты решил, что он его сам собирал?
Юнитидебил сам собрал движок? Не смеши мои вареники!
Нет, я C# версию скачал, потому что с C# у меня неплохо, а в питоноподобной мути неохота кодить. может в этом проблема.
>>484037
юнити такой же лучший движок, как айфон - лучший смартфон. То есть не для людей, которые хотят понимать как устроен их инструмент. Годот мне гораздо больше понравился своей... организацией, что ли. На нем удобно велосипедить. А на юнити удобнее всего ассеты таскать.
Нормальное желание профессионала. Со временем поймешь, что это норма, а не фетиш/блажь
Ну, справедливости ради, если ты профессионал, то и юнити и уеч подгонят тебе профессиональную редакцию своих движков, с исходниками.
>желание профессионала
Игры свои покажи, проффесор
профессионал выбирает инструменты, с которыми ебатни по минимуму. У него просто нет времени на пердолинг
Так-то я после работы пришел не программы патчить, а игры делать.
https://www.youtube.com/watch?v=skln7GPdB_A
Я уверен, что залётные юнитидети не знают английского, поэтому поясню, что происходит в видео: Чел перевел на gdscript опенсорсную либу по генерации ландшафтов (2k строк кода, 2d, 3d, 4d симплексы), в приведенном видео он загружает этот скрипт в рантайме и генерирует чанки для процедурного 2d-террейна. Всё летает.
Твои возражения, прохессианал?
Ты даже так не осилишь, прохессианал.
> перевел на gdscript опенсорсную либу по генерации ландшафтов
То есть C++ или C# либу к движку не подключить. Наес антиреклама.
Маня, в пресс-релизе годота был пункт, что к нему нетрудно подключить нативную либу для расширения возможностей.
Тут так принято, бегать и в панике детектить какого то местного шизика? Впрочем на дваче везде так.
Традиции двача.
Заебали эти магические числа.
Очевидно потому что трансформация канваса описывается матрицей из нескольких векторов.
>ак сделать, чтобы главный 2d объект вращался по часовой в центре экрана
Animation Player
> а дочерние вокруг него по кругу?
Создаешь пустой 3д или 2д нод в цетре вращения и его тоже вращаешь animationplayer-ом, а в дети своё объект пихаешь с нужным тебе смещением.
Можно конечно ещё руками расчитывать координаты для каждого кадра, но вродебы годот-стайл стоит и всё такое...
>затрулили, что в годоте плохая нод-система
Не верь. Нод-систему сложно сделать плохой. Всегда спрашивай у троллей, по каким именно критериям она плохая? Тут-то они и сольются.
Тебя этим затроллили?
Скажи им, что ноды - это не ООП. У нод не бывает множественного наследования. У ветвей - только одно дерево. Но у дерева - много ветвей.
640x360, 0:03
>У ветвей - только одно дерево. Но у дерева - много ветвей.
Анон просто боится деревьев и прячется от них за объекты!
>>483959
>Как сделать, чтобы главный 2d объект вращался по часовой в центре экрана, а дочерние вокруг него по кругу?
Пример на скриптах. Вращение чайлд-спрайта вокруг парент-спрайта я пытаюсь сделать так:
var cx = 0
var cy = 0
var angle = 0
func _process(delta):
(tab)cx = -cos(anglePI/180)
(tab)cy = sin(anglePI/180)
(tab)angle += 1
(tab)if angle > 359:
(tab)(tab)angle = 0
(tab)translate(Vector2(cx, cy))
Я ожидаю "орбитальное" движение по кругу вокруг парента, но он сука движется кругом только в одном направлении, приближаясь и отдаляясь, как будто его орбита смещена в сторону. ЧЯДНТ?
>профессионал выбирает инструменты, с которыми ебатни по минимуму. У него просто нет времени на пердолинг
Так тебе именно про это и говорят, дебил.
Уткнуться в неизвестный баг движка, два часа перерывать все интернеты в поисках решения, чтобы его в итоге не найти, завести багрепорт, два дня ждать движения по тикету и потом ещё неделю ждать хотфикса, чтобы наконец продолжить свою разработку - вот это пердолинг.
А уткнуться в баг, потратить два часа на то, чтобы разобраться в исходниках, почему он происходит, починить его, пересобрать двигло и продолжить разработку - это ни разу не пердолинг.
А времени на пердолинг у профессионалов обычно нет. Так что они вряд ли выберут юнити.
Пиздишь тут только ты. set_pos есть у всех нод, унаследованных от Node2D, в том числе у спрайта, пикрелейтед.
Ты точно Годо используешь?
get_node это как операция на мозге через жопу. Ну ладно, попробую вызвать сам себя через get_node, чисто чтоб показать тебе, что не в этом дело. Translate прекрасно подходит для моей задачи, он даёт офсет относительно точки, которой является парент-спрайт. Синусы-косинусы должны мне давать весь набор положительных и отрицательных оффсетов в диапазоне 0-360. Всё. Я просто чего-то очевидного не вижу.
Похоже, я не в годоте программирую.
Скрипт extends Sprite
Строка get_node('.').set_pos(Vector2(cx, cy))
Ошибка та же nonexixtent function. Мало того, у меня даже в справке нет этой функции.
ЧЗХ?
Что за технология, гугл ничего не говорит о связке godot + webrtc, значит, как минимум это очень разные технологии, настолько разные, что применяются в разных сферах. Не могу погуглить за тебя, у меня сейчас тригонометрия в голове.
>>484411
По факту у меня сейчас чайлд вращается вокруг некоторой точки в локальных координатах, например (0, 2), а мне надо сделать, чтобы вокруг (0, 0) вращался.
> Что за технология
Ну по сути мне нужен выход сетевой выход/вход функций из годота собранного под хтмл.
Подключение сторонней сетевой либы, во!
По работе с сетью горы туториалов и документации. Смотри/читай - не хочу. Как говорится. Зачем что-то подключать, если сеть есть искаропки?
https://godot.readthedocs.io/en/3.0/classes/class_ip.html
> если сеть есть искаропки
В коробку обычно наложено говно для масс и годот не исключение. Судя по тому что прочитал.
1280x720, 0:18
В общем вот какая поебень получилась. Учиться ещё и учиться.
>Как сделать, чтобы главный 2d объект вращался по часовой в центре экрана, а дочерние вокруг него по кругу?
Короче, наконец-то победил годо и тригонометрию. Вот, держи скрипт для главного объекта:
%%\t = табуляция, • = звёздочка (умножение)
extends Sprite
var rot_speed = 100
func _process(delta):
rotate(deg2rad(delta • rot_speed))
Это простенький скрипт. А вот скрипт для дочерних:
extends Sprite
const MAX_ANGLE = 359
var cx = 0
var cy = 0
var angle = 0
var radius = 200
var rot_speed = -200
func _process(delta):
cx = -cos(deg2rad(angle))
cy = sin(deg2rad(angle))
angle += 1
if angle > MAX_ANGLE:
angle = 0
position.x = cx • radius
position.y = cy • radius
rotate(deg2rad(delta • rot_speed))
>Как сделать, чтобы главный 2d объект вращался по часовой в центре экрана, а дочерние вокруг него по кругу?
Короче, наконец-то победил годо и тригонометрию. Вот, держи скрипт для главного объекта:
%%\t = табуляция, • = звёздочка (умножение)
extends Sprite
var rot_speed = 100
func _process(delta):
rotate(deg2rad(delta • rot_speed))
Это простенький скрипт. А вот скрипт для дочерних:
extends Sprite
const MAX_ANGLE = 359
var cx = 0
var cy = 0
var angle = 0
var radius = 200
var rot_speed = -200
func _process(delta):
cx = -cos(deg2rad(angle))
cy = sin(deg2rad(angle))
angle += 1
if angle > MAX_ANGLE:
angle = 0
position.x = cx • radius
position.y = cy • radius
rotate(deg2rad(delta • rot_speed))
спс
> Ты говно
Хуя припекло фанату.
Или хочешь сказать что в годоте отличная поддержка p2p не требующая пиздоебли?
unreliable поддерживает?
Сделай ноду с трансформом (можно невидимую) и это будет у тебя центр вращения. Накидываешь туда дочерних объектов и вращаешь родительскую ноду - профит.
Если так хочется пердолиться с вращением вручную, то
https://ru.wikipedia.org/wiki/Матрица_поворота
Спасибо! Где ж ты раньше был? Я уже наебался всласть с синусами-косинусами.
1280x720, 0:06
Обалдеть! Всё делается одним скриптом. Вот этим:
extends Node2D
export var rot_speed = 100
func _process(delta):
{TAB}rotate(deg2rad(delta*rot_speed))
Я добавил Node2D в центр планеты, спутник поместил в неё, добавил экспорт на переменную rot_speed и прибил скрипт к планете, ноде и спутнику, назначил скорости вращения. И вуаля! Видеорилейтед!
На видео дрожание какое-то, в оригинале оно не дрожит.
Сорри за тупой ответ. В шапке же написано, что крузис тут не запилить. Но я тебе так скажу, опенворлд можно сделать. И корованы.
Опенворлд с караванами мне и нужен, спасибо.
Годаны, посоветуйте, гуглю, не могу понять, что не так? Я сделал слайдер сбоку и приконнектил от него сигнал в скрипт сцены:
func _on_HSlider_changed():
{tab}get_node('Sprite/ChildCenter/Child').rot_speed = get_node('HSlider').value
{tab}print(get_node('Sprite/ChildCenter/Child').rot_speed)
Я ожидаю, что при изменении значения слайдера, будет излучён этот сигнал и rot_speed установится в новое значение. Но ничего не происходит. Я добавил print, но даже он не печатается в консольку. Сигнал просто не излучается, когда я двигаю слайдер. ЧЯДНТ?
>опенворлд
Без окклюжен куллинга? Если только в пустыне, с индорами в отдельно загружаемых сценах.
Хуй знает. Я сегодня попробовал импорт 3д моделей в годоте. Это пиздец. Одна валит его в крешдамп. Охуенно. Вторая импортировала только одну анимацию, причем кости проткнули тело и вылезли аки чужой, а руки завязались узлом за спиной.
>У юнити какая-то лицуха сильно ебанутая
1. Для тебя юнити бесплатный
2. Если ты заработаешь миллионы далларов на своем поделии (нет), просто берешь подписку если не хочешь проблем.
Эээ ебать, и мне что, неоптимизированное говно хуярить? В смысле блядь, ВСМЫСЛЕЕЕЕЕЕЕЕЕЕЕ??7777777
Ну и посмотри версию релиза. Посчитай примерно сколько будут 3.1 выпускать.
Энжой ёр продакшн стабилити енжин. Если с плюсами хочешь пердолиться и и нужен стабильный монструозный двиг с кучей фич, то это к анрилу
>>484839
И как ты предлагаешь посчитать? 3.1 может выйти после 3.0.3 или 3.0.4. Цифра в версии ни о чем не говорит. Я думаю в течении пары месяцев уже будет 3.1
Goal for 3.1 is April/May, 3.2 a couple months after but definitely this year.
https://www.patreon.com/godotengine
> Энжой ёр продакшн стабилити енжин
Стабильно проебывающий кадры, ололо.
Не ну мне перформенс вообще дохуя важен. Прям вообще дохуя. Хочу версию на хтмл5 сделоть же. И даже под сонсоли.
Смотри какой гугл умный, bug = error, при нечетком совпадении. До чего дошел, а!
Посмотри cocos2d-x.
Так так так. И что ты нам принес? Ссылку на баг еще бы сфотографировал экран на телефон и скинул word файл с этим фото, ага. Открываем, читаем. Говорят что баг с OGL3 и в OGL2 не будет. Ииии все. Где хоть слово о релизе? Прекращай жидко серить под себя.
Кстати в том же issue есть ссылка на патч, которым можно исправить проблему если ну очень нужно и прямо сейчас.
Нет. Там написано, что дифф поможет просто запуститься, но все будет адово глючить.
Йобом токнуть? Цитату хоть одну приведешь или дальше будешь кидать скриншоты гугла? Вот что говорит автор хаков:
>You can launch on Adreno 3xx now
>Do not use vertex lighting
>Do not use SCREEN_TEXTURE
>Do not use ViewportContainer
>Or better wait for GLES 2.0 renderer
>F.. you, Qualcomm
Ничего о лагах нету.
https://github.com/godotengine/godot/pull/14902
> Где хоть слово о релизе?
> Прекращай жидко серить под себя.
Гыгыгы, даун из гд английский не осилил
О лагах?? У тебя глюки = лаги? Тебе 13?
И да, там в других ветках написано и про задержки сроков, и про другие проблемы с быстрым патчем.
Кстати, откуда я могу знать, задействует ли движок viewportcontainer?
Возвращайся когда научишься говорить по существу, а не разводить срач на пустом месте.
Каким образом мифическое "использование" починит баги с импортом 3d моделей и работой на половине андроидов? Которое разрабы обещают починить когда нибудь, через полгода?
Возвращайся когда научишься говорить по существу, а не разводить срач на пустом месте.
Это не оправдание. Никто не заставлял пиарить версию 3, когда она не готова до выхода 3.2
Возвращайся когда научишься говорить по существу, а не разводить срач на пустом месте.
это опенсорс, детка
https://www.youtube.com/watch?v=ExX7Qyldtfg
Правой клавишей и WASD.
У меня при нажатой правой клавише активируется режим WASD+мышь. Не знаю, что с тобой не так.
А, понял, у тебя в 2d режиме надо.
WARNING: not found: physics/2d/thread_model test.html:274:6
GLES3: max extensions: 24 test.html:274:6
hdr supported: 0 test.html:274:6
GLES3: max ubo light: 102 test.html:274:6
GLES3: max ubo reflections: 113, ubo size: 144 test.html:274:6
WARNING: not found: locale/translation_remaps test.html:274:6
Successfully populated IDB file system test.html:274:6
ERROR: At: drivers/gles3/rasterizer_scene_gles3.cpp:922:environment_set_tonemap() - Condition ' !env ' is true. test.html:274:6
ERROR: At: drivers/gles3/rasterizer_scene_gles3.cpp:937:environment_set_adjustment() - Condition ' !env ' is true. test.html:274:6
close test.pck flags 1 test.html:274:6
ERROR: At: core/io/image_loader.cpp:47:load_image() - Condition ' p_image.is_null() ' is true. returned: ERR_INVALID_PARAMETER test.html:274:6
Error: WebGL warning: drawArrays: Buffer for uniform block is smaller than UNIFORM_BLOCK_DATA_SIZE. test.js:1:206844
Error: WebGL: No further warnings will be reported for this WebGL context. (already reported 32 warnings) test.js:1:206844
>In the early days, the engine used the Lua scripting language. Lua is fast, but creating bindings to an object oriented system (by using fallbacks) was complex and slow and took an enormous amount of code. After some experiments with Python, it also proved difficult to embed.
Все что нужно знать о квалификации создателей godot
А ну, гуру, покажи нам мастер-класс, как ты одной строчкой сделаешь луа ООП-парадигменным?
Я разработчик годо. Сижу на дваче. Обязательно отвечу на твой вопрос. Оставайтесь на линии.
> как ты одной строчкой сделаешь луа ООП-парадигменным?
>одной строчкой
Все, что нужно знать о пользователях годо
Запрограммировал тебя одной строчкой
Хуёвая, скажу прямо. Я как раз пробую переустановить дрова.
> а у тебя только кукареки неосилятора про баги
НЕ БАГИ А ФИЧИ А ВЫ НИАСИЛЯТОРЫ
а
НУ ТАК ВЫКЛЮЧИ ВСИНК ЧТО ТУТ ТАКОГО
а
ПРОСТО ВОЗЬМИ И КОСТЫЛЬ СДЕЛАЙ
а
ВОТ ТУТ НУЖЕН ПАТЧ
а
ФАЙЛЫ ДВИЖКА ОТКРЫТЫЕ - ПЕРЕПИШИ ЕСЛИ ТАК НУЖНО
а
ДА И ВООБЩЕ АНДРОИД НЕ НУЖЕН, Я ТОЛЬКО ПОД ЛИНУКС ИГРЫ ПИШУ!
Где-то я всё это уже слышал...
>Туториалы не запускаются - там спецом ошибки для защиты от дурака
Из прошлого треда. Как же я проиграл.
>шоукейс
Только жаль, что половина населения планеты, сидящая на встройках и андроидах, может посмотреть его только на видео.
Годо - движок для солидных людей.
Двиг пилят человека 3-4 на постоянке и еще с десяток основных волонтеров. Глупо удивляться, что он не дотягивает до монстров вроде юнити и уеча. Но в то же время для среднестатистического двачера этого движка более чем. Нечего выебываться.
Ну, из шоукейса 2016 все выглядят круто.
https://www.youtube.com/watch?v=goozuyeP5i4
Ну мне вот например нахуй не нужны. Всегда считал и буду считать мобилкогейминг самым днищем, в которое скатываются только люди, полностью лишённые самоуважения(не всегда в силу изначального его отсутствия, увы).
Потому мне для моих 2д игр Годо вполне ок.
Да будут вам ваши смартфоны через месяц-два. Вы игру за это время все равно не успеете сделать.
Какая жирнота.
А что такого в играх, особенно 2d, что у них требования высокие? Я лучше героев 3 запущу, чем шидевр.
>требования высокие?
OpenGL ES 3.0 - главное требование. А там хоть встройка, хоть авторская архитектура. Главное OPENGLES3.0 реализуй.
> у меня 30k объектов
ООП-дебил, тебя уже и в юнити-треде, и в уеч-треде, и в ньюфаготреде обоссали. Ты и сюда за порцией прибежал?
Не нужны играм объекты и ооп. Всё прекрасно реализуется нодами и списками. Пшёл нахуй, псина!
) ну, это ненастоящие объекты, прст структуры данных в связанном списке.
И что это и зачем на него завязываться? Какие такие неотъемлимые плюшки дает?
Но зачем? Достаточно лишь загуглить:
https://www.reddit.com/r/godot/comments/47j49k/gdscript_is_very_slow/
Для не знающих языка Хозяев, поясню: встроенный говноскрипт мееееедленный. Для игор сложнее инди 2д платформера - не подходит. Шарп ещё не стабилен.
Думайте сами, решайте сами, вкатываться в движок-новичок или еще год-другой на юнити посидеть.
Я решил вкатиться. Для моих задач 60фпс нинужна.
Софта без багов не бывает
Все мои игры на Годо летают на интеловских встройках, специально проверял на работе на самых слабых машинах(игры на юнити там безбожно тормозили, если вообще запускались).
У нищих с древней интелграфикой нет опенгл, который требуется годо. Вот они и возмущены.
Насколько древней? Древнее чем Intel HD 2000? Потому что на ней всё заебись пашет у меня.
Это у них спрашивать надо. У меня тоже всё работает.
Ты сильно удивишься, если узнаешь, что почти все реализации тетриса так и сделаны?
Не сильно. Большинство реализаций тетриса сделаны на двумерных массивах, а карта тайлов по сути оно и есть.
Я сначала хотел сделать на физике, на риджбади, рейкастах, коллизиях, но пока не освоил этот матан.
Иногда не стоит гнаться за самым новым. Судя по аватарке, ты тот, кто пилил на годо версии 2 некую ненавидимую всеми игру. А значит, ты в совершенстве знаешь именно версию 2. А раз так, то продолжай работать в ней. Трёшка станет более менее работоспособной не ранее чем через год.
Скорее тебе просто нужно 1 ригидбоди и просто ебанутая коллюзион шейп в форме...
Мне надо будет разбивать потом на части. Очевидно для чего. Пикрелейтед пока рассыпухой наваливаются не соединённые блоки. Пока что идея токова: создаю фигурку динамически, динамически же назначаю ей составную коллизию из примитивов (весь вечер пробовал конвексы и они чот ломают физон нипадецки, проваливаются сквозь коллизию на статиках и бешенно ускоряются там внутри, поэтому пикрелейтед хитрый набор коллизий из ромба и четырёх кругов вписанные в размер спрайта).
Однако мне нужна цельная фигурка тетрамино, на которую мне нужно будет динамически навесить тело с коллизиями. Затем, когда фигурка остановится, скрипт должен уничтожить тела у блоков и создать новые, но уже статик. Затем по стакану пробегает рейкаст и считает блоки по рядам. Если найден заполненный ряд, уничтожаются все блоки и все что сверху сдвигаются на высоту блока вниз.
Выглядит несложно. Но быть может я что-то не замечаю очевидное? Где тут можно упростить?
>не ранее чем через год.
Учитывая, что 2D во второй версии допиливали до приемлимого состояния больше двух лет, я бы не рассчитывал, что и 3D, и вообще трёшка станут юзабельными раньше, чем через два-три года. Даже при существенно увеличившемся количестве контрибуторов - там дохуища работы ещё.
>Но быть может я что-то не замечаю очевидное?
Да. Например, ты забыл спросить себя "НАХУЯ мне физика в тетрисе?"
1280x720, 0:20
>Мне на самом деле похуй на тетрис. Я изучаю физику и API.
Ты уверен что вообще понимаешь что делаешь?
Просто и то и то - последнее с чем ты должен мучиться-изучать. Движок как-бы сам всё делает. Тебе просто свои желанки на его язык перевести и всё.
мб функционал движка ограничен, хер его знает, чел. удобно будет, или лучше Юнити?
Может. Там даже экзампл есть, но это не отменяет того что годот говно по сравнению с юнити.
Да во все он может. Это именно что движок, который тебе базовые возможности дает по типу графики, звуков, сборки, жизненного цикла, физики, интерфейса, ноды, ну и иде + редактор сцен. Все остальное сам с этими инструментами реализуешь.
>по сравнению с юнити
Тебе платят за форс юнити в именных тредах движков-конкурентов или ты бесплатный долбоёб?
>мб функционал движка ограничен, хер его знает, чел
Падажжи. Давай обсудим это. Что ты подразумеваешь под ограничениями?
Что именно в движке должно ограничить возможность сделать РПГ?
Я ж надеюсь, ты не подразумеваешь под ограничениями отсутствие шаблонов с готовыми типами игор и кнопкой "зделоть зоебись"? Ибо в этом случае я не вижу разницы между подобным деланием игры и деланием модов на уже существующую игру. Один хуй автор игры не ты, а авторы шаблона и ассетов.
Что именно тебе нужно от РПГ? Изометрический тайлмап? Он есть в годо.
Возможность вызывать диалог при нажатии на кнопку Е? Тоже есть. И возможность создания экранных надписей, и возможность назначать действия на кнопки.
Инвентарь? Тоже есть. Ты просто программируешь инвентарь, как и в любом другом движке/языке.
Подсчёт урона согласно правилам D&D? Конечно, как и на любом другом движке ты должен либо написать свою реализацию, либо купить/украсть чужую.
Что ещё? РПГ каждый понимает по своему.
Тебе платят за форс годота в именных тредах петушиных движков или ты бесплатный долбоёб?
Окей, я тебя понял. Тем не менее, у меня есть пробелы в матчасти. Это не зависит от движка. Например матрицы. Теоретически я понимаю что это такое, но на практике применять не могу. И с векторами такая же хуйня. Смотрю уроки, там говорят мэйк выриэбле виласити. Пласэкуал уан. Я сижу и думаю почему он так сделал? Как он так легко все это придумывает? Скопировал его код у себя. У меня все дёргается и трясется. Читаю документацию и цитирую каринустримершу. Сложно блять, сложно, непонятно!
640x360, 0:55
>Тебе платят за форс годота в именных тредах петушиных движков или ты бесплатный долбоёб?
Зачем годот форсить? Он сам по себе впереди уже гниющих юнити, уеча и.т.д.
Тебе матрицы и не нужны в 99% случаев.
Векторы и матрицы - смотри аналитическую геометрию (1 курс универа). Да и движок всё за тебя делает. Даже если и решил руками веторы взять, просто открываешь документацию типа http://docs.godotengine.org/en/3.0/classes/class_vector3.html и выбираешь то что тебе хочется и нужно.
Да открывал уже не раз. Все равно спасибо.
Для физики хватит простейшей линейной алгебры. Даже преобразования матриц можешь не смотреть.
Тебе нужно понимать геометрический смысл этих вещей и понимать что оно из себя вообще представляет, чтобы ты мог хотя бы интуитивно что-то связанное с физикой делать сам: тригонометрия(без хуйни, только синус косинус тангенс котангес и обратные им функции, ну и ясное дело знать про) + скалярное произведение + векторное произведение.
А конечные автоматы знать надо? Я вот тут в соседнем треде днём залётного тролля кормил и теперь весь вечер КА изучаю. Пикрелейтед.
Точно так же, как и на всё остальное. Рядом с инспектором объектов есть вкладка "нода", а там есть вкладка "сигналы". Выбираешь нужный сигнал и коннектишь к нужному скрипту (скрипт должен принадлежать самой ноде или любому её родителю). Если нужно прикрепить сигнал в рантайме, смотри в документации соответствующий раздел по сигналам.
Ну или как в вульфе 2001 года
Важно не то, какой ты ноль на помент постановки задачи. Важно, насколько быстро ты сможешь самообучиться до ненуля.
В игре типа фаркрая первого нет ничего сложного: Модели, анимации - блендер. Материалы, постобработка - движок. Скрипты - целых 4 вида на выбор. Основной функционал гдскрипт, критические участки в шарпе/крестах.
Теперь ты идёшь в гугл и начинаешь расти. Изучаешь, как организовывать движение, столкновения, учишься обрабатывать события, изучаешь варианты хранения данных.
Начинай с самых азов, как я. Я в 30 начинал. Сейчас публикую игоры в стиме, пруфоф не будет.
А с "самых азов" - это откуда? Вот этот плейлист пойдёт для изучения и создания первой простенькой игры?
https://www.youtube.com/playlist?list=PLf0k8CBUad-v_J1Xq5XW7FEUHokxSuYnF
>А с "самых азов" - это откуда?
Я предлагаю тебе простое правило: Берёшь рандомный урок или статью. Начинаешь смотреть/читать. Натыкаешься на непонятное. Прекращаешь чтение и открываешь урок по непонятному. Нам натыкаешься на непонятное - прекращаешь просмотр и повторяешь цикл до тех пор, пока не начнёшь понимать. После этого возвращаешься на шаг назад и повторяешь просмотр того, что не понимал. Если опять непонимание. опять цикл вниз по статьям объясняющим матчасть.
Например: смотришь урок по движению персонажа. В уроке говорят. Сейчас мы возьмём вот этот вектор, заменим им вектор в базисе матрицы... Ты такой ЧООООБЛЯ? останавливаешь и идёшь изучать векторы и матрицы.
Ты хоть на даты смотришь? Он пилит курс прямо сейчас. Включайся. Хотя, у него не особо толковые уроки, как у большинства русских ютуб-учителей.
Но кто не может в язык хозяев - выбора не остаётся. Смотрите на языке рабов, пока я смотрю туториалы Джимми Баллока и почитываю официальную документацию.
>на моём некроноуте
Не такой он уж у тебя и некро, если видео с поддержкой рендера GLES3.0.
Не прибедняйся.
Если тебя останавливает от перехода гдскрипт, компиль движок из сорцов, итт выяснили, что это несложно, компиль с поддержкой шарпа и вперёд.
Хотя я не вижу необходимости в шарпе, да, он быстрее 9000 зайчиков нарисует, чем гдскрипт, но в большинстве случаев такая нагрузка не требуется.
Проблема годота лишь в том, что он сырой. К примеру есть одно окошко в редакторе годота, в котором надо прокрутить вверх. Однако из-за неизвестно чего эта полоса прокрутки куда-то укатилась вправо за интерфейс на моём ноутбучном экране, а стрелками, PgUp или WASD прокрутить вверх невозможно.
Кто хочет - ищет возможности - и публикует игоры на годо в стиме (выше в треде смотри).
Кто не хочет - ищет причины - и жалуется на полосу прокрутки.
Да я не жалуюсь, и не говорю, что он говно.
Наоборот, потенциал в нём довольно огромный. Я с ним поработал и мне вполне понравилось.
>скам от латиносов с майнером внтри
>потенциал
кек. нормальные разработчики движков на патреоне не побираются
>подскажи мне тогда другую мобильную ОС кроме ios и андроид!!!
названные тобой движки настолько качественно скакнули в техническом плане, что побирушки даже если 50 лет будут побираться, никогда не достигнут такого уровня.
эпоха движков-энтузиастов прошла
проблема лишь в том, что godot не нагружен всякой хернёй как Unity или UE4.
Как отметил анон выше, на его некроноуте годотыч запускается и работает быстрее, нежели юнити.
Нормальные движки не требуют никаких отчислений, отдают сурсы и никак не ограничивают их использование.
>с майнером внтри
Намайнил тебе за щеку. Проверяй
Ему баги пофиксить.
Профессиональные попрошайки освоили технологии интернета. Вместо протягивания руки на улице, они делают порно-игры и движки - это куда выгоднее.
> патреон для прона
Лол, у порномана из порноигор-треда деформация сознания. Стыдно быть тобой, порноман.
Им половину донатит мелкософт кстати. Именно поэтому к годоту "решили" прикрутить сишарп.
Хех, заговор раскрыт!
Так же как и в 2д?
Объект со скриптом чего-то ждёт и триггерится. Большинство физических евентов вроде столкновения - вообще легко ловить.
Если уровни - разные сцены, то храни необходимое в скрипте(или сцене), которая всегда загруженна (через настройки проэкта).
Я знаю о двух вариантах: через синглтон и через сохранение.
1. Синглтон. >>489264 уже примерно описал, только я не вижу смысла целую сцену держать в памяти синглтоном. Достаточно завести в автозагрузку скрипт с количеством яблок на уровнях.
2. Сохранение. Держать количество яблок на уровнях в файле на диске.
В обоих случаях сцены уровней не содержат в себе яблок изначально, а берут количество из 1. или из 2., после чего создают их в функции _ready()
Тут вспомнил ещё одну вариацию техники с синглтоном. Допустим, у нас есть игровой персонаж с инвентарем, уровнем, навыками. Он переходит из сцены в сцену. Очевидно же, что он должен сам быть синглтоном. Глупо создавать каждый раз персонажа в новой сцене и копировать ему данные. Гораздо эффективнее один раз загрузить данные из сохранения и держать их в памяти постоянно. Поэтому все собранные яблоки можно держать у него. Соответственно алгоритм загрузки будет таков:
1. Получить ссылку на персонаж игрока.
2. Установить его в точке спауна.
3. Получить у него инфу о поднятых им на этой локации предметах.
4. Создавать предметы по маске, в которой параметром является поднятость персонажем (поднятое не создаётся, пропускается).
Ну опять же это зависит от целей и жанра игры. И от количества предметов.
А то может получиться слишком тяжёлый персонаж.
Если предметов очень дохуя, и особенно если планируется возможность персонажем выкидывать предметы, то у локаций должны быть свои инвентари, которые при загрузке поднимаются из файла сохранения. Вот тогда самый оптимальный вариант. Взял меч сумрака в инвентаре локации данж поместил в свой инвентарь, перешёл в локацию рынок, поместил меч сумрака в инвентарь локации торговец. Меч однозначно прописан в одном определенном списке.
Нахуя вообще пихать инвентарь и навыки в самого перса? Код персонажа для управления и анимаций, все остальное в глобальных объектах, где основной код игры.
>Нахуя вообще пихать инвентарь и навыки в самого перса?
Ну мало ли, вдруг у него игровая механика такая, что персонажа удобнее объявить глобальным объектом?
>Код персонажа для управления и анимаций, все остальное в глобальных объектах, где основной код игры.
Кажется у нас возникло небольшое недопонимание. Персонаж - это не экранный спрайт/меш. Персонаж - это математическая сущность в игровой логике. К нему как компонент (годо-сцена) добавлен (помимо прочего) спрайт с управлением и анимациями.
Ну у меня обычно такой подход: есть просто спрайт\меш со скриптом управления, а ссылка на него и всякие переменные (хп, инвенатрь), и всякие функции, не относящиеся к непосредственно к управлению аватаром - в главном синглтоне "game".
https://www.youtube.com/watch?v=whRWwVFGxms
Прикольно обработан голос у чувака. Зачем?
1280x720, 0:25
https://www.youtube.com/watch?v=AvUYR2lzhEQ
Подожди, помести всю сцену в сферу (флипани ей нормали), чтобы не серый фон был.
Очевидно сохранить куда-то в файл состояние уровня и при заходе на уровень посмотреть записана ли инфа о состоянии в файл, если да то распарсить инфу.
Может к него враги - такие же персонажи.
У меня и у всех нормальных людей это делается скайбоксом тащемта. Видимо, годетям в тжриде еще рановато лезть.
В 3.0 скайбокс и в годоте есть. Просто его включать стрёмно, а то за юнитипидора примут.
Покажи плиз, как ты на скайбоксе отрисуешь отражения этих огоньков из видоса, как они отражаются на сферах.
С меня перекат на юнити.
Как ты этого юнитипидора уделал, а? Так ему и надо.
https://igorsgames.wordpress.com/2015/05/11/how-to-change-reflection-skybox-from-script-in-unity-5/
Удоляй теперь свой говнодот.
Ну мам, ну можно еще немножко в годо посидеть?
Двачую. Он думает, мы тут в английский не можем. Учитывая, что десятком постов выше запощен туториал на английском как само собой разумеющееся.
Нет, выглядит как говно. Идея про отражения внутри сферы работать не будет имхо. Сделай просто скайбокс.
1280x720, 0:44
Там как-то хуёво реализован roughness в материалах. Либо я ещё не разобрался в настройках environment. Получается говно. Вот скайбокс тоже говно.
1280x720, 0:28
Да, хватит страдать хуйнёй. Пора делать ИГРУ!
Как началось движение в видео, так сразу размер увеличился.
1280x720, 0:13
Мне кажется, я уже делаю игру. Просто пока не осознал это.
1280x720, 0:36
Как насчет немного диско с цветными шарами https://soundcloud.com/bwah32/who-likes-to-party-mp3#t=0:12
И музон из лекса!
Кинь мне модельку цветного шара. Если я правильно понял, ты имеешь ввиду шар с зеркалами?
1280x720, 0:23
Типа этого?
640x360, 3:32
1) не показывается в редакторе, пока не задашь все 6 текстур
2) в игре не рендерится
Как второе исправить?
Кроме ue4 ничего для мобилок и нет, хз вообще зачем в каком-то годоте и прочей параше пытаться писать.
Свой ум гораздо круче любого движка. Я имею ввиду, если знаешь алгоритмы, умеешь производить декомпозицию задачи, алгоритмизировать её и решать наиболее оптимально - ты на самом якобы парашном движке сделаешь красоту. Напротив, если всего вышеуказанного не умеешь, то на самом крутом движке наебенишь тормозного быдлокода.
Возражения?
> гений, сверхчеловек, пишешь на чистом си
> 7 лет потратил на переписывание годота
> ИДЕАЛЬНО
> ue11 стримит картинку прямо в мозг
> RRRREEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
Читал, что у сталкера была бенчмарк сцена со сотней сталкеров на 1м стадионе.
Вот бы движки между сомой не только в графоне (заебала та сцена с атриумом(?) и тряпками) а в мясе соревновались. Бенчмарки и всё такое.
>гений, сверхчеловек, пишешь на чистом си
Прикрутил Duktape и ебу систему в рот, критические для производительности места пишу на си.
> 7 лет потратил на переписывание годота
Нет. Написал онли нужный мне функционал, отладил спрофилировал. Нахуй мне все фичи годота?
> ue11 стримит картинку прямо в мозг
Нет.
> RRRREEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
Крик попоболи движкобляди, у которой проект не ложится на возможности выбранного движка.
>заебала та сцена с атриумом(?) и тряпками
та сцена это классическая бесплатно-свободная тестовая сцена для проверки алгоритмов освещения/затенения. Sponza называется. К бенчмаркам отношения не имеет. Еще скажи что тебя чайник с кроликом заебали.
> Прикрутил Duktape и ебу систему в рот, критические для производительности места пишу на си.
Уже переписал годот чтобы мобилки поддерживал?
>годот чтобы мобилки поддерживал?
Почему-то у всех поддерживает, а у тебя нет. Это явно твоя проблема.
Ну почему же у меня?
Вот, например, прямо сейчас челик на ютубе пилит игрушку на годо под мобилы и сразу тестирует на мобилах же.
https://youtu.be/WaYCh9kQTA8
Продолжай отрицать объективную реальность и дрочить на цыферки, пока люди игры делают.
https://www.youtube.com/watch?v=UTAeDoRIHaA
Унылый кал какой-то. Некоторые выехли исключительно из-за стилистики(чуть не написал графона).
Либо меняешь координаты камеры скриптом, либо вешаешь много камер и задаешь скриптом какая куррент.
Ты же RE 1-3 имел ввиду?
Действительно, зачем брать готовые инструменты, если можно посвятить свою жизнь их созданию.
мимопроходил
Ну и неженка, даже четыре утилиты не может установить, чтобы скомпилировать проект
Это да, ты прав. Мне правда больно что годот такой кусок говна, что что-то сделать на нем непосильная для меня задача.
Так у движка графон и физика предназначены для мобилок. До пека и консолей он не дотягивает.
Мань, у меня то как раз все работает, потому что самописное, а не говдот.
да
https://www.youtube.com/watch?v=Oh89tZvIWW8
вот что-то вроде этого, только я хз как триггеры делать, насоздавать камер и таких кубов без текстур и коллизии, а вот как на этих кубах уже триггеры сделать я хз
> триггеры сделать я хз
Ты это серьёзно щас штоле?
Первое на что натыкаешься, когда смотришь уроки по движкам (не только по годо) - это как делать триггеры.
Вот тебе аж с привязкой по времени https://youtu.be/NMMX2eTIJiU?t=149
Если ты и в инглиш не можешь, то просто внимательно смотри на его действия и на код.
могу, как раз смотрел щас про взаимодействие с кубом. джва чаю тебе.
В юнититреде анон хотел сделать джвадэ игру в юнити и слился. Ибо сложна-сложна-нипанятна. А был бы у него годотоствол - всё могло бы сложиться иначе.
>хотел сделать джвадэ игру в юнити и слился
В случае годота он бы слился с порванной жопой и нежеланием возвращаться в гейдев.
Да-да, юнитидебилу не по силам довести свою игру до стима, как годогоспода из ссылок выше в треде.
Нашел прикольную технику реализации. Посмотрите на код. Здесь по сути двумя строчками кода реализованы т.н. оси.
Физика, школьный курс. Тело получает импульс и ускоряется бла-бла!
Ты ускорение забыл. У тебя должно быть 2 вектора :
1) как ты хочешь чтобы он был
2) стремится (интерполируется замедленно) к первому с некой скоростью, он то в физический движок и идёт
Твой же код даже массу объекта не учитывает.
В 3д например, есть apply_impulse(или как там его, не знаю насчёт 2д), им ништяк работать.
Покормил.
Покормил.
А есть там аналог ScriptableObject из юньки?
> ScriptableObject
Хуита без задач. Нахуй эта хуйня вообще нужна, если она не поддерживает сериализацию в процессе игры?
Опиши подробнее, мне лень гуглить. Но судя по названию, тебя устроит, что в годо все объекты скриптэйбл.
Можешь не описывать, я погуглил. И таки да, в годо свойствами этого вашего scriptableobject будет обладать любая присоединенная сцена.
Где годо-эксперты? Проясните, правда ли это? Есть ли в годо автоматический способ держать общие поля для всех экземпляров класса, или нужно вручную делать ссылку на общие данные при инициализации каждого экземпляра?
> Есть ли в годо автоматический способ держать общие поля для всех экземпляров класса
Выше был пример сеттера-геттера. Что тебе мешает написать обработчик.
И годот не мыслит классами, а узлами вроде.
> не мыслит классами, а узлами вроде
Это только один из вариантов конструирования игры в годо. Годо предлагает и классы тоже.
Иначе говоря, годо предлагает новичкам парадигму узлов, но когда профи смотрит на всё это, он видит, что узлы это классы, что можно написать свой класс, что можно наследоваться, есть полиморфизм. И так далее.
>когда профи смотрит на всё это, он видит, что узлы это классы
Потому, что он не профи, а обычный рядовой ООП-шизик.
Покормил.
Как-то так.
> но когда ваннаби-интырпрайзоблядок смотрит на всё это, он видит, что узлы это классы, что можно написать свой класс, что можно наследоваться, есть полиморфизм, абстрактные фабрики абстрактных фабрик, да еще и клиенту потом с корешем под это дело топовые супермикры за откат толкнуть, мммм.
А в годоте нормальная ECS с композицией во все поля, каждая система на своем месте, и фрактал отсоса AbstractFabricGenerator<FabricGenerator<HuiPizda>> устраивать не нужно, нужно делать игры.
>и фрактал отсоса AbstractFabricGenerator<FabricGenerator<HuiPizda>> устраивать не нужно
Но заметь, можно. Начиная с третьей версии годо не ограничивает игроделов в подобном мазохизме (позволяет кодить скрипты на шарпе).
https://youtu.be/RedUqzO3Y7I
Да, но на андроиде меньше 4.0 не будет работать из-за версии опенглес. Но кому он нужен, если уже 8.1?
500x281, 0:07
>Но кому он нужен, если уже 8.1?
Серуну-юнитидебилу, которой выше по треду усирался про айяйяй-несовместимость-недоделанность-говдота.
проблемы с совместимостью с андроидами ниже 4.0?
Дело не в версии андроида, а в несовместимости с графическим чипом, стоящих во многих xiaomi. Фикс обещали только летом/осенью.
в 3.1
> как обрубываются 3в объекты
Ты же в курсе, что у камеры есть настройка дальности прорисовки, да?
У меня на рабочем столе милая и удобная папка, в которой я хочу хранить свои проекты чтобы потом можно было быстро на флешку скопировать. Т.к. я только учусь, новые проекты плодятся буквально каждый урок. Поэтому, да, создаю каждый день.
Но я, блять, не понимаю чесслово, что за мода писать движкам собственные языки? Нахуя мне учить тот же GDScript или GML под Game Maker Studio, если я знаю кресты и привык на них писать? Нахуя эти извращения? Почему разработчики движков вечно хотят изъебаться?
Ну и сопутствующий вопрос: можно ли в годоте каким-нибудь образом писать на чистом с++? Я что-то слышал про NativeScript, поясните за него вкратце. Как с ним связаны другие языки?
> можно ли в годоте каким-нибудь образом писать на чистом с++?
Можно. Для этого надо... Скачать исходники движка и компилировать свой цпп-код вместе с движком
>Я что-то слышал про NativeScript, поясните за него вкратце.
Вкратце это библиотека с экспортируемыми функциями, которую ты цепляешь к процессу игры.
В общем, лучше посмотреть в сторону какого-нибудь гамака? Питонообразный язык мне что-то вообще не вкатывает.
Это не тред выбора движков. Это тред движка годо. Ебало морщить вали в ньюфаготред.
>можно ли в годоте каким-нибудь образом писать на чистом с++?
Можно, но заебешься. А под WebAssembly вроде и никак.
Пробовал
use 2d pixel snap - on
stretch mode - viewport (или 2D)
stretch aspect - keep
один хрен такая хуйня происходит.
----------
Ну или сделать так, чтобы ресайз окна был возможен только на заданные мной значения.
>>495976
У тебя есть физическиеразмеры окна - сколько оно занимает на экране.
Так же у тебя есть параметры твоего проэкта - его типа виртуальные размеры. Во всяких нодах вроде камеры и вьюпортов (я мало в 2д шарю) так же прописываются размеры.
Попробуй заскриптовать второе когда первое меняется.
Очевидно, синхронно проигрывай оба, меняя громкость. Можно даже сделать такие треки, чтобы плавно переходить между ними.
>синхронно проигрывай оба, меняя громкость
Похоже на какой-то костыль. Нет способов толковее?
>сделать такие треки, чтобы плавно переходить между ними
Именно это и предполагается: будут треки level-N-ambient и level-N-fight.
Разве у StreamPlayer нет возможности прочитать-задать позицию? Почитай доки этого нода. Тебе 2 таких нода потребуется.
>Разве у StreamPlayer нет возможности прочитать-задать позицию?
Я в документации не нашёл. Можешь ткнуть носом?
http://docs.godotengine.org/en/2.1/classes/class_streamplayer.html#class-streamplayer-seek-pos
По английски это по другому называется (SEEK) как на магнитофонах. И чуть выше вожделенный get_pos().
Спасибо! Добра тебе и второй части!
http://docs.godotengine.org/en/3.0/tutorials/physics/kinematic_character_2d.html но видимо что-то упустил, ничего не заработало. Грешу на последнюю строчку примера, потому что остальное более-менее просто. Из всего, есть несколько вопросов:
Является ли VisualScript полнофункциональным GDScript-ом или есть какие-то ограничения?
В последней строчке примера:
move_and_slide(velocity, Vector2(0, -1))
Чем является второй параметр и где его можно выставить в VScript?
>Является ли VisualScript полнофункциональным GDScript-ом или есть какие-то ограничения?
Это говно ради моды. Не забивай им свою голову. Посмотри начало треда. Я там пытался малюсенькую функцию на вижуалскрипт переводить. Ху-и-та!
Впрочем, кто я такой, чтобы запрещать тебе ебаться?
>move_and_slide(velocity, Vector2(0, -1))
>Чем является второй параметр
константой
>и где его можно выставить в VScript?\
в константах.
Ю ду ит вронг. Ща погодь. Сделаю тебе мастеркласс.
Щелкни на визуальнуюноду CallNode и в инспекторе уменьши параметр Use Default args до нуля или до нужного тебе числа, получишь вот это (я, правда для триде пример накидал, но для двадэ всё аналогично, только вектор двумерный).
И да, тогда тебе константа будет не нужна, точнее опциональна. Можешь её соединить с нужным пином, а можешь просто задать значения в дефолтном поле пина.
Спасибо большое!
Последний надеюсь вопрос. В двух словах: а чем этот floor_normal вообще является?
И ещё раз спасибо
В строчке: velocity.y += delta * GRAVITY стоит не просто =, а +=. Поэтому, опять вопросы: Что это плюс-равно значит и можно ли его притыкнуть в визуалскрипте?
Это сработало, спасибо!
Всем устроила. Просто пока учусь, пытаюсь делать и так, и эдак
Зачем такой геморрой поверх её выращивать?
В идеале, предположу, в апдейте кадра просто вектор2д с виртуального геймпада (геймпад с аналогом круче клавиатуры) добавляешь к скорости (апплай импульс?) и всё. А уже сам физическое боди уже всю гравитацию и трение об воздух считает.
Алё! Во всех движках так. Либо выращиваешь код вокруг физики, который у тебя применяет задуманную тобой игровую логику к физике движка, либо качаешь готовые ассеты, где добрый Джон или Мигель уже всё вырастил за тебя.
>предположу
Нет, ты сначала слезь с дивана, изучи матчасть и не крякой о том, в чём не разбираешься.
>изучи матчасть
Начнём с того, что юзер инпут не изолирован выше а там уже и дойдём до того что ты дебил.
>выращиваешь код
Деревошизик, это ты?
>сидеть на профессиональном движке, сделаном профессионалами и являющимся вторым дефолтным движком в индустрии
>зашквар
>сидеть на дырявом движке какого-то аргентиского чорта, разводящего на деньги через патреон
>не зашквар
вот это манямирок.
опыт unity - это опыт, который всегда пригодится в жизни, уча юнити, ты влаживаешь в свое будущее. потому что юнити будет всегда и станет еще только лучше.
уча godot, ты просто проебываешь свое время.
вот и делай выводы.
>Мантра юнитипидора
Зачем вообще учить движки. Покупая/угоняя автомобиль ты вообще лезешь в двигателе копаться, созерцать как он работает?
>в годоте даже оклюжн куллинга в 3д нет
Тридэ подсистема годота начнёт тормозить гораздо раньше, чем ты дойдёшь до необходимости обрезать рендеринг объектов за кадром.
Годо не для тридэ. Оно там есть, но пока что в зачаточном состоянии.
Таким образом, годо - движок для двадэ. Таким образом годо не конкурент юнити.
ололо щас да? возьми тот же ice pick lodge, они пилят переосмысление мор утопии, так вот если ты смотрел интервью и доклады, в чем я сомневаюсь, они пилят на юнити и успешно рассказывают как они перепиливают его внутренние системы под опен ворлд, такое ощущение что он им нахер не нужен, так как многое они уже сами перепелили. И да, годот тоже зашкварен в том состояниее которое у него сейчас.
Годаны, почему бы вам их не игнорировать? Это же так просто. Я вас научу. Анон спрашивает
> как сделать то или это
Это нормальный вопрос. Исходим из предположения, что это ньюфаг, пытающийся разобраться. Отвечаем.
В ответ на ваш ответ начинаются придирки
> а нахуй это? а почему не то? А что это есть, а того нету?
В этом месте напрягаемся и предлагаем ему запилить самостоятельно то, чего ему не хватает. Если в ответ начинают литься помои на тебя или на годо - игнорим и идём заниматься своими делами.
Это просто. Главное, никакого баттхёрта. Я-то на двачах не первый год, мне это легко, но прозреваю, здесь может быть много новичков, которые могут купиться на троллинг юнитимразей.
Задел на будущее. Пофиксят текущие баги, которыми трекеры завалены, и перейдут к реализации остального. Тут вот шарп подвезли, например, уже можно не заморачиваться с тормозным гд-, вижуал- -скриптом, а сразу на шарпе писать. Который достаётся за пару секунд и в руке как влитой.
Прикиньте какого это будет, если эту игру разработают в /gd/?
Я тут третий месяц сижу и складывается ощущение, что гд способен только очко себе разработать.
Двачую.
Движок для нас, для нищебро. Лишь бы встроенное видео интел было достаточно новое и держало опенгл ЕС 3.0
Лол, ты хоть понимаешь смысл написанного, когда отдельные слова подчеркиваешь? Там говорится о техниках и особенностях вообще, без привязки к конкретному движку. Особенно смешно когда ты подчеркиваешь фразу о том, что "прописывать вручную параметры каждого материала для каждого объекта слишком медленно".
о, триггер сработал!
но поговорим о особенностях официальной документации этого поделия
>прописывать вручную параметры каждого материала
похоже, что смысл написанного не понимает мой собеседник, но я не удивлен ТУТ БЫЛО ВСЕГДА ТАК и переведу это специально для тебя следующим образом:
>конфигурация свойств каждого материала для каждого объекта, который должен быть отрендерен, также медленна. для решения этой проблемы объекты сортируются по материалам, чтобы снизить трату процессорного времени, но в тот же самый момент процессорное время тратится на эту же самую, блять, сортировку
усёк, понимающий?
>>496650
вот почему гавкаете вы, а стыдно мне?
Ок, может быть я ошибся в малом, но на главное ты не ответил: нахуя ты наподчеркивал текст про общие проблемы производительности, не относящиеся конкретно к движку?
>нахуя
считай, что там пикрандом
>не относящиеся конкретно к движку
а нахуя это на странице оф. документации движка?
ну все честно жи, какбэ сразу предупреждают, с чем придется столкнуться нищебро
и да, я видел текст про общие проблемы производительности питона да и вообще всех интерпретируемых языков. отсюда вопрос: неужели очередной интерпретатор интерпретатора, слепленный васянами на коленке, сможет прыгнуть выше хуйца?
Годаны, почему бы вам их не игнорировать? Это же так просто. Я вас научу. Анон спрашивает
> как сделать то или это
Это нормальный вопрос. Исходим из предположения, что это ньюфаг, пытающийся разобраться. Отвечаем.
В ответ на ваш ответ начинаются придирки
> а нахуй это? а почему не то? А что это есть, а того нету?
В этом месте напрягаемся и предлагаем ему запилить самостоятельно то, чего ему не хватает. Если в ответ начинают литься помои на тебя или на годо - игнорим и идём заниматься своими делами.
Это просто. Главное, никакого баттхёрта. Я-то на двачах не первый год, мне это легко, но прозреваю, здесь может быть много новичков, которые могут купиться на троллинг юнитимразей.
годотодаун от одиночества уже с ума сошел. грустная история.
Чо когда там поддержка андроида и встроек, через полгода?
да вы заебали уже с этим говнищем
Как вообще по человечески делать уровни в 3Д?
У меня на стимовской версии не взлетело. Крашится рандомно. Но у меня и нет потребности на шарпе кодить. Поэтому забил.
>>496775
Игровой движок это не игровой редактор (типа Creation Kit от беседки) и он не обязан предоставлять конструкторы уровней.
Максимум, что тебе могут предложить игровые движки общего пользования (не только годот, но и унити/уеч) - это трехмерные тайлмапы ака гридмапы: https://www.youtube.com/watch?v=jD04Tua191Q
В остальном ты сам, как разработчик игры должен создать уровень, придумать инструменты для его конструирования.
Еще ты можешь использовать сторонние плагины/ассеты для конструирования уровней. И это именно плагины/ассеты, потому что как я сказал выше, общеигровые движки не обязаны предоставлять тебе готовые игровые абстракции. Еще есть вариант скачать шаблоны, в стандартной поставке есть шаблон изометрической игры на тайлмапе, но в двадэ.
>Максимум, что тебе могут предложить игровые движки общего пользования (не только годот, но и унити/уеч) - это трехмерные тайлмапы ака гридмапы
В юнити уже запилили свои редакторы моделирования
https://unity3d.com/ru/unity/features/worldbuilding/probuilder
https://unity3d.com/ru/unity/features/worldbuilding/polybrush
В уече тоже есть возможность строить простую геометрию
https://docs.unrealengine.com/en-us/Engine/Actors/Brushes
УЕЧеребенку надо чтоб из коробки тормозная БСП-геометрия поставлялась. А юнитидауну надо обвешаться аддонами и молиться, чтобы совместимость при обновлении не похерилась.
Для прототипирования уровней в годо всё есть - геометрические примитивы, тайлмапы.
Но это ж ручками надо делать (в том числе тулскрипты). Детям проще же накачать говна из маркета. Дазодауны, блядь.
Это какая то экстремальная, дебильная и экстремально-дебильная позиция.
Главное, что там есть искаропки усё. Юнитиребёнку плевать, что оно работает в 10 раз хуже проверенных тридэ-редакторов, он всё равно ассеты ворует. Главное, видишь, можно бегать по тредам движков конкурентов и доказывать анонимусу, что движки-конкуренты - не конкуренты швитой юните.
+ у годота более низкие системные требования
Вот это боль годотодебила.
base, бля, а не нода, конечно же
Покажи первую часть кода. В гдскрипт динамическое типизирование. Это значит, что пока ты не присвоил переменной значение типа "вектор2", у неё не будет ни икса, ни игрека. О чем тебе отладчик и сообщает.
Но кроме этого, любую переменную можно на ходу переобуть из вектора в скаляр, присвоив ей скалярное значение, после чего у неё опять не станет ни икса, ни игрека.
Всё, как я и думал. Правильно объяви переменные.
Либо (Vector2) var screensize либо var screensize = Vector2()
Анонче, а как ты понял из дебага это? Я просто из шарпа вкатываюсь, чо такое Nil? нахуй эта динамотипизированная хуйня нужна вообще
я проверил по документации, сам проебал получается, добавил уже - работает.
>а как ты понял из дебага это?
Главный секрет моего успеха в том, что я не знаю шарп и кресты не знаю, но вполне могу прочитать и даже как-то конвертировал функцию на крестах в паскаль, который знаю. Но паскаль морально устарел и поэтому приходится переходить на другие языки, но даётся с трудом, старого пса новым трюкам не научишь, но я научился тридэмоделингу в блендере за два месяца! Воот.
Nil - это Null.
> нахуй эта динамотипизированная хуйня нужна вообще
Вообще, для удобства. Вычислительные мощности современных печей позволяют не экономить на типизации. Загрузка и обработка ресурсов на уровень (мешей, текстур, звуков) всё равно пожрёт больше мощностей, чем динамические типы. Поэтому смысл байтоёбствовать статической типизацией сошёл на нет. Поэтому расцветает подход с вебпрограммированием, процветает скриптинг.
Это реально удобно. Я как вспомню, что для того, чтобы написать пару строчек кода со скрина, мне в паскале приходилось вручную городить ещё две страницы интерфейсного кода, так меня оторопь пробирает.
ХЗ, спроси у них самих. Возможно это у них такая пасхалка, а может в память о ком-то.
Догадаться можно, если кругозор шире одного языка. Без обид.
>чо такое Nil
Это значит, что объект, к которому обращаешься через переменную, не существует, nil - это объект-заглушка, виртуальное ничто. В твоем случае переменной screensize не было присвоено значение, т.е. она ссылалась на объкт nil. Дебагер сообщил об отсутствии свойства x у этого объекта.
Чего блять? Nil это ноль на английском. Nil это пустой указатель в Паскале. Это классика, это блять значть нужно.
В Lua тоже.
>мне в паскале
А при чем тут паскаль? Паскаль всё - мертв нахуй. Возьми тот же шарп, где байтоебство? Ровно столько же пришлось бы кода написать.
>>497221
Да мне как про null написали, я уже понял это.
>>497232
Нахуя мне знать про пустой указатель в паскале? Вообще, кстати, Null Exception в шарпе более детально сообщил бы мне об ошибке, в частности, точно указал бы, что не существует screensize
Но это дело привычки, я согласен, со временем прохаваю
А вообще нет, пизжу. В случае с годо - столько же. (Я полез в документацию, чтобы скринами показать, что больше будет, а однако там увеличение количества строк только за счёт скобачек)). Но количество кода эквивалентно только в этом случае, потому что АПИ удалось сделать максимально компактным.
Правильно.
Вот допустим есть спрайт, как сделать так, что бы его координаты начинались не из центра спрайта, а из левого верхнего угла, например?
И можно ли как-то поменять координаты, что бы начало XY было в левом верхнем углу, а не в анусе?
Хорош троллить! О координатах спрайта выше в треде было. А координаты вьюпорта и так в левом верхнем углу.
Ахаха, ну прекрати! Что ж ты делаешь?
Ясно, вся суть треда по годоту.
Верхний угол, да?
И выше про начала отсчета координат ничего не нашел. Процитируй хотя бы, если ты такой крутой!
Однажды ты спросишь меня, годот или юнити. Я отвечу годот. И ты уйдёшь, так и не узнав, что на самом деле УЕЧ.
Плыви тредик.
>After years of discussion on how to implement CSG, Godot finally gets suport for it. This implementation is simple, but makes use of Godot's amazing architecture to shine.
Хуан какой-то ЧСВшный мудачек.
>Я написал лудший движок!
>Я написал лудший скриптовый язык gdscript!
>Я написал лудший алгоритм CSG (правда он криво работает, но зато он лудший!)
Не удивительно, что godot никому не интересен.
Пока что его высказывания это пустые вскукареки.
Достаточно почитать главную сайта: супер инновационый движок, крутое 3Д. Такой-то манямирок.
Вместо того, чтобы думать о пользователях, они пишет велосипеды и хвалится этим как чем-то хорошим. Для него движок - это средство поднять свое ЧСВ и получать донаты.
никто не пользуется визуалом, потому что это ущербное дерьмо на всех движках. Проще самому натыкать две-три строчки, чем делать километровое полотно стрелочек и квадратиков
нет, я просто хуй с горы. Но если ты мне покажешь хоть один действительно облегчающий метод использования визуал скриптинга вместо обычного быдло коддинга, то с честью награжу медалью "Доказал какому то анону какую то хуйню"
В общем посмотрев видосы с этим вижуал скриптом, чёт как-то расхотелось с godot работать. И даже если язык программирования знать, там это дело через жопу реализовано, смысл в вижуле не сильно меняет дело, если только не добавят встроенные решения, сейчас это как собирать замок в майнкрафте, для того что бы сдвинуть объект по нажатию кнопки, лол.
Пиздец, как же просто в fusion и construct1/2 скриптами работать, да даже галимый юнити c playmaker и uscript намного проще.
650x720, 0:11
>облегчающий метод использования визуал скриптинга
Ну, слепить вместе несколько других компонентов, наверное.
В какой-то момент, я уверен, стаёт эффективнее связывать графически. Например, при визуализации музона. Не пробовал ещё.
Типа у тебя N спектров и M всяких динамических параметров. Ты довесил всяких LFO для кучи. Кодом бы это выглядело соединять жутко, но макаронами бы склеить было бы самое то.
Просто ты не понимаешь всю гениальность этого визуального скриптинга. Не для тебя Хуан движок делал!
Возможно, слишком гениально для меня.
>с этим вижуал скриптом
В Godot они скорее для наглядности и удобства восприятия циклов, а не для ускорения процесса.
Да.
Ща погоди,
Это просто рандомная вебемка с форчана. Надеюсь ты не подумал что я афтор?
Если внезапно нужны анимации, то как и анимации, так и модели к ним (тыщи их) есть у даже у ММД-коммунити и много в интернете всего. Даже в легко экспортируемой форме.
>>497850
>А мог бы игры делать!
ГД-реликвия ещё не зарядилась.
Ты просто импортишь модель из блендера и у неё в animationplayer уже танец доступен.
А как импортировать сразу несколько анимаций? Например, idle, ходьба, стрельба, ебля.
В блендере свой некий "animation player" со списком анимаций, да и форматы моделек скорее поддерживают списки анимаций. Я,надеюсь, ты же better collada export plugin установил с сайта годота?
Сам собой установил. Но тридэ пока что дропнул.
Посмотри тут где-то тред анона, пилившего убийцу майнкрафта на годо. У него вполне получалось. Тебе понадобятся исходники движка и твоя любимая ИДЕ.
Экспериментирую с Годо, пилю управление с тачскрина: одно из действий - кликом, другое - драгом вверх/вниз/вбок. Правильно ли я понимаю, что единственный нормальный способ это сделать, это повесить таймер на нажатие по InputEventScreenTouch и ждать отпускания или истечения таймера (если первое - это клик, второе - начинаем обрабатывать драг)? Фигово, что в этом случае драг фризится на время работы таймера.
Ещё вопрос: как правильно определять направление драга? В основном всё движение должно быть влево/вправо, т.е. не должно быть ложных срабатываний вверх/вниз. Я использую InputEventScreenDrag, думал смотреть на speed.angle() и speed.length(), но, как оказалось, speed на андроидах нулевой (старый баг, похоже). Считать его по relative, сохраняя время предыдущего InputEventScreenDrag? Как часто срабатывает InputEventScreenDrag, не будет ли ложных срабатываний на очень коротких, но очень быстрых перемещениях пальцем? Может, это как-то проще решается?
>Правильно ли я понимаю, что единственный нормальный способ это сделать, это повесить таймер на нажатие
Неправильно. События же клика и драга есть, сам же ниже пишешь. Включай логику. Как обработать оба события? Если сам не догадаешься, гугли обучающие видосы. По второму вопросу тоже видосы, лень их искать и пересказывать, но я их видел.
>Неправильно. События же клика и драга есть, сам же ниже пишешь. Включай логику. Как обработать оба события?
Да, можно ещё на release проверять были ли события drag между прошлым нажатием/текущим отпусканием. Так, наверное, лучше. Спасибо!
Представь себе на секундочку, что ты не разработчик игр. Теперь ты шеф-повар! Смени свой хипстерский прикид на поварский колпак и двубортный китель. Теперь вместо создания игр ты создаешь новые и вкусные рецепты для твоих гостей.
Итак, как шеф-повар создает рецепт? Рецепты делятся на две части: первая - это ингредиенты, а вторая - инструкции для приготовления. Таким образом, каждый может следовать рецепту и наслаждаться вашим великолепным творением.
Создание игр в Годо очень похоже на это. Использование движка похоже на пребывание на кухне. На этой кухне узлы напоминают холодильник, полный свежих ингредиентов, из которых можно готовить игры блюда.
Существует множество типов узлов. Некоторые показывают изображения, другие играют звук, другие узлы отображают 3D-модели и т.д. Их десятки.
Но давайте начнем с основ. Узлы являются фундаментальными строительными блоками для создания игры. Как упоминалось выше, узел может выполнять множество специализированных функций. Однако любой данный узел всегда имеет следующие атрибуты:
• У него есть имя.
• Он обладает редактируемыми свойствами.
• Он может получать коллбэк для обработки в каждом кадре.
• Он может быть расширен (чтобы иметь больше функций).
• Он может быть добавлен к другим узлам в качестве потомка (Это самое важное. Узлы могут иметь другие узлы в качестве потомков. Когда они расположены таким образом, узлы становятся деревом).
В Годо способность упорядочивать узлы таким образом создает мощный инструмент для организации проектов. Поскольку разные узлы имеют разные функции, объединение их позволяет создавать более сложные функции.
Не беспокойтесь, если пока ещё не дошло. Мы продолжим изучение этого в следующих нескольких разделах. Самый важный факт, который нужно запомнить на данный момент, это то, что узлы существуют и могут быть организованы таким образом.
Теперь, когда концепция узлов определена, следующим логическим шагом является объяснение того, что такое Сцена.
Сцена состоит из группы узлов, организованной иерархически (по древовидной схеме). Кроме того, сцена:
• всегда имеет только один корневой узел;
• может быть сохранена на диск и загружена обратно;
• может быть инстанцирована (подробнее об этом позже).
Запуск игры означает запуск сцены. Проект может содержать несколько сцен, но для начала игры одна из них должна быть выбрана в качестве основной сцены.
В основном, редактор Годо является редактором сцен. Он имеет множество инструментов для редактирования 2D и 3D-сцен, а также пользовательских интерфейсов, но редактор основан на концепции редактирования сцены и узлов, которые ее составляют.
>scenetreeexample.png
Было бы неплохо начинать из node2d/spatial чтобы было где респавнить ясно без дополнительного скриптинга. Да и отдельные ноды, которые видно только в редакторе не помешали бы.
Не самый прикольный пример, имхо.
Скорее, до её репостинга.
МНЕ?*??
> божественный движок будущего
пока это движок уровня проэктов из порнотреда и типа существует чтобы выкачивать бабло через патреон
https://www.youtube.com/watch?v=zF7dgQtWzkA
Возможно и подойдёт. Проще гд-скрипта только скрипты в гамаках/рпгмаках.
Ты конечно смотри туториалы, но на русском их мало, без минимального знания инглиша на уровне "читаю без словарика" тебе будет тяжко.
Вкратце суть годо (да и суть любого современного движка) вот в чём:
Поверх выбранного языка программирования поставляются модули/классы/библиотеки, реализующие векторно/матричный математический аппарат, физические функции (скорость, ускорение, гравитация, тела и их столкновения), а так же программную абстракцию для доступа к графике, звуку, опционально к сети. Всё это добро организуется в древовидную модель языковых сущностей (классов, типов, нодов или т.п.).
Это стандартный минимум к которому сегодня приведены все игровые движки. Какой ни начни изучать, во всех последующих ты будешь натыкаться на то же самое.
В любом (из известных мне) языков программирования нет искаропки всего перечисленного, есть только функции/классы для прямого доступа к железу, а так же базовая математика, без векторов, например, достаточная, чтобы написать калькулятор и дополнительный матан нужно либо подключать отдельно, либо велосипедить самому.
Казалось бы, что проще завелосипедить вектор? Берёшь структуру, ебашишь туда икс, игрек, зэт, ебашишь туда операторы сложения вычитания - готово! Но я тут на днях открыл исходники. Там всё есть. Нормализация, продакция, хуякция, транспонирование матриц. Всё готовенькое. Зачем всё это велосипедить с нуля? В академических целях? А игоры-то когда делать?
Есть ли в других 2д-движках подобный функционал? Или это можно выносить в шапку как уникальную фичу?
>Там будет с этим легче?
У тебя должно быть понимание основ программирования, без него ты даже гамак не освоишь. Нужно понимать, как вообще программируется компьютер. Циклы, переменные, функции, хуё-маё!
Все сложнее чем я думал... Подскажи что почитать про эти основы программирования. Сдаваться я не намерен!
> Полностью перезагружаешь сцену
> Данные переменной сохраняются и не хотят меняться
Найс движок, от души просто, ниразу не говно.
А ты что думал, бесплатно получишь годноту? Хуй тебе!
Нет. Расскажи как это делать, интересно.
Виноват то ты, качать говнодот вместо юнити в 2К18.
Ой, сорри, это я налажал, не знал движок реагирует на то что спрайт не видно до того как он загрузился.
У них сейчас фича фризз, так что это одна из причин почему так много незакрытых issues и особенно пулл реквестов.
Это норма для развивающихся проектов, типа Виндуос, Файрфокса.
https://www.youtube.com/watch?v=jbYrpKWTlpw
>Почему я должен выбрать Godot?
Потому что ты петух, не умеющий в программирование и не осиливший даже XNA/Monogame, которые умеют выводить спрайты не хуже чем драг-н-дроп говнодвижки.
Если есть желание, можем вместе потыкать этот движок.
И олсо, скачал сам годот недавно по советам с реддита. Мне многого не нужно, тем более зарабатывать не собираюсь на геймдеве, потому что основной доход идет с клиент-серверных мобилок. Если кто хочет вместе потыкать этот движок - можем вместе это делать. Попилить какой-нибудь 2д игрушку раннер или еще чего-нибудь.
Вопрос: как этому мобу целиться, дабы стрела прилетела куда надо?
По геометрии у меня двойка.
чекни задачи по кинематике по физике к ЕГЭ, там есть такое.
рейкасты мб то что нужно
Я бы поиграл. Надеюсь, не забросишь.
>GDScript можно переучиться за час. Python признан во всем мире самым простым языком для начинающих
Какая разница, там 5к функций всяких почти без пояснений, в этом говне хуй разберешься. Вот не пойму долбоебов, ну вот ты написал функции, ну ты же тестишь их, ну оставь рядом код, паскуда хуанская.
>Какая разница, там 5к функций всяких почти без пояснений, в этом говне хуй разберешься. Вот не пойму долбоебов, ну вот ты написал функции, ну ты же тестишь их, ну оставь рядом код, паскуда хуанская.
>Название get_animation():
>Кох-кох-кох, нипанятна ничиво ряяяя!!11
Там в поиске этих анимаций и текстур миллион будет. Мне нужно было просто узнать координаты мыши, час искал, а они оказываются во вьюпорте. Там вообще все нелогично, понятно, что прогер легко разберется, но про начинающих не пиздите, огромное запутанное апи без примеров. В констракте если нужно что-то связанное с мышью, щекаешь на иконку мыши и видишь все нажатия, и координаты. А в годоте одно в инпуте, другое во вьюпорте, третье где-то среди оставшихся 5к функций.
И все сука вместо констрактовских событий прикручивают ноды обоссанные из-за анриала, а у констракта ни одного конкурента нет. И 3д нет, пидарасы. Один чел пытается уговорить разрабов, но тщетно все это.
https://github.com/godotengine/godot/issues/17795
>Мне нужно было просто узнать координаты мыши, час искал
Ты, вероятно, не очень умный. За минуту в гугле находится. Ты небойсь и в официальных чатиках движка (на офф сайте есть) не сидишь.
Тебе просто главное заебать себя, а не продуктивно работать.
Ты дегрод, которому не место в геймдеве.
>За минуту в гугле находится.
Это было просто как пример, вообще инфы по говноту очень мало, и он постоянно меняется. Выпустили какую-то книгу, нахуй она нужна, если в 3.1 все изменится и много нового будет.
>>501332
В том то и дело, что я хочу продуктивно работать, а нахуй делать так, что без няньки не разберешься. Я, конечно, ни в чем никого не обвиняю, хорошо, что он есть, просто крик души.
>вообще инфы по говноту очень мало
Сам ты говняшка. Научись справочными материалами пользоваться.
Страшно подумать, что у тебя с остальным контентом творится.
Похоже, юнитидебил сменил тактику и косит под дегрода в подобных постах >>501302 дискредитируя годосообщество в глазах 3,5 мимокрокодилов.
Пожалуйста, воздерживайтесь от срача, не ведитесь на толстоту. Так победим!
Лол, ты такое ничтожество, что даже ответить элегантно не можешь. На что ты вообще надеялся?
>Так победим!
Победа годота - написание на нём блокбастеров и атцкие мучения юнитипидоров в массовом медия.
Бурления чела, который даже API полистать спокойно не может - не имеет смысла.
В поддержке своего продукта ты и не с такими ослами встретишься.
>Вот зачем так обзываться?
Ты сам на себе спроэцировал. Задумайся о своём психическом состоянии. Сходи аниме посмотри хотя бы.
>Ты сам на себе спроэцировал
Не было такого, нубец просто накинулся на меня с обвинениями в дискредитации и обзывалками, пришлось охладить его траханье.
> Победа годота - написание на нём блокбастеров и атцкие мучения юнитипидоров в массовом медия.
> Бурления чела, который даже API полистать спокойно не может - не имеет смысла.
> В поддержке своего продукта ты и не с такими ослами встретишься.
Добра тебе и няшек. Ща заценим, годаны!
Перемога!
Гугл выпиливает приложения на Годоте из маркета, потому что они неправильно запрашивают разрешения.
https://godotengine.org/article/fixing-godot-games-published-google-play
Лучше на УЕЧ перейду. Ненавижу шарп и джаву.
>Гугл выпиливает приложения на Годоте из маркета, потому что они неправильно запрашивают разрешения.
Ты статью почитай вначале. Её еще несколько днями раньше постили в тред. Просто переэкпортнуть проэкт следует вроде.
Да, просто пересобрать движок и переэкспортнуть, и бежать на поклон у Гуглу, а все потому что ты пользовался Годотом.
1280x720, 0:09
>пересобрать движок
Звучит непосильно страшно для быдла.
Да и кажись только шаблон экспорта пересобирать надо.
848x480, 0:12
>в случае годота
Есть такой мем как юникс-философия.
Ты ж шаблоны отдельно скачиваешь, забыл? (если конечно не в стиме)
>Есть такой мем как юникс-философия.
Помню, это когда ничего не работает, не совместимо и на выходе один монолит.
>Ты ж шаблоны отдельно скачиваешь, забыл?
В статье написаньо, что скачать можно только шаблон без пермишнов совсем, в остольных случаях перекомпиляй из исходников.
Перекатываться стоит уже хотя бы потому, что помимо гдскрипта там уже можно сишарп и эфшарп прикручивать и делать полноценные игры с ЛЮБЫМ геймплеем.
Так то лучше.
> bool is_integer(float argument)
Написал такую самостоятельно. Код простейший:
> if argument == int(argument): return true; else: return false
Но мне нужен этот функционал в нескольких скриптах. Чтобы избежать индусского кода (копипаста), я сделал автолоад-скрипт с этой функцией, но теперь мне не нравится какой длинный получается вызов:
> global_functions.is_integer(enemy_position/cell_size)
Хотелось бы обойтись без имени синглтона, просто:
> is_integer(enemy_position/cell_size)
А в идеале хотелось бы, как в питоне:
> result = enemy_position/cell_size
> return result.is_integer
Подскажите, ЧЯДНТ?
Какая разница, дебик, проблема не в синтаксисе, а в апи.
>Обнаружил, что в гдскрипт нет функции, которая возвращала бы логическое значение, является ли число целым,
Чем тебе typeof(foo) == TYPE_INT не угодил?
Тебя и не должно сильно переть, это просто прогер рыбку сделал. Лишь бы пернуть, сучонок.
Годот сагрился на два оператора подряд (not, in). Парсер определение ошибкам правильное дает через раз.
Сейчас планируют типы приделать к гдскрипту и типо определение ошибкам должно лучше стать?
УВАЖЕНИЕ
Чтобы анимировать нарезанного на куски болванчика не обязательно же делать кости? Ну типа шевелишь на каждом кадре как надо и все.
Вопрос второй:
Сделал я кости, все красиво, добавляю кинематику, кости желтеют, но кинематики нет, все равно отрывается все друг от друга.
if variable in dictionary: do_something
- означает, что если переменная variable совпадает с одним из значений в словаре dictionary - тогда условие срабатывает?
Нет, не со значением, а с ключом.
По аналогии с тем как оно работает в for:
https://github.com/rdcklinux/godot-docs/wiki/gdscript#for
>var dict = {"a":0, "b":1, "c":2}
>for i in dict:
> print(dict) # loop iterates the keys; with i being "a","b" and c" it prints 0, 1 and 2.
>var dict = {"a":0, "b":1, "c":2}
>for i in dict:
> print(dict[i]) # loop iterates the keys; with i being "a","b" and c" it prints 0, 1 and 2.
Бля, вот почему у меня фигурные скобки ошибки выдавали. У меня, получается не словарь вообще. Я сделал приблизительно такое:
> var fb = [2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610]
> if x in fb: ...
В принципе, я уже потестировал и оно работает как мне надо. Но такая запись, видимо не словарём называется. Наверное, это просто список.
https://www.youtube.com/watch?v=dCcjAiU81go
Сегодня вечером стрим с разработчиком движка походу.
Уже разобрался, но спасибо.
Сейчас попробую сделать через спрайты, но я уверен что есть более гуманный способ.
У меня полно уровней с несколькими тайлмапами подряд, и никогда ничего не моргало. Ты что-то неправильно делаешь, проверяй ещё раз.
Я привык к работе с нормально-работающей системой оверлеев, для которых не нужно создавать целый спрайтовый узел. Можешь пососать вонючку.
Хах, дифилекс, я тебя вычислил, как и обещал. Вот. Я подебил
Мы не знаем инглиша, слышь!!! Да и ничего интересного они не скажут. Пока рендер годоту не оптимизируют и гипробы не улучшат никто его юзать не будет. Все пилят дополнительных фич, а рендер говно, три модельки закинешь и лагает.
>Бро, расскажи, что там Хуан вещал?
УровеньГД попросил его потрясти и его ведущий тряс. А под конец ведущие всем порекомендовали поиграть в Дорогу Правопорядка.
700x392, 0:20
Зачем мне врать анону? Анон сам по себе даун если Дорогу Правопорядка не читает.
Что ты постишь то, поехавший, тебя просили на русише рассказать, что там хуан говорит.
И там насрали. Что за народец мудацкий?
>ты в годоте будешь вебм монтировать
Буду, когда систему линейного монтажа будет, а пока нет.
На пека играют в нормальные игры, а не в говно уровня гд, так что без мобилок никуда.
>а не в говно уровня гд
Ну так не делай говно уровня гд. Можно подумать, если ты не умеешь в стиль, в моделинг, в озвучку (банально нет друзей/знакомых с хорошими голосами), то ты на любом движке накропаешь говно уровня гд.
А со скиллом ты сделаешь годноту даже без движка вообще.
Что такое движок? Это всего лишь готовая математика и физика, которую тебе, игроделу, не надо велосипедить самостоятельно. Редактор в игровом движке - вещь опциональная.
> Редактор в игровом движке - вещь опциональная.
С годотом можно дальше пойти.
Игровой движок в игровом движке вещь опциональная. Можно сразу же кучу багов пофиксить, попутно написано собственный.
Ты можешь пойти нахуй, софист ибаный. Судя по твоим постам, ты там уже бывал и тебе там нравится.
Поклонник забагованного говна подгорел, хаха.
704x396, 2:20
В моей игре не будет диалогов, соснул, хех.
Шейк, бэби, шейк. Вот видно, что ребята близки народу, не зазвездились. Всё таки верно я движок выбрал.
>А давайте допишем GLES2, чтобы Годот заработал на половине мобилок мира, на встроеных видяхах
>ДА НУ НАХ, ДАВАЙТЕ ЛУЧШЕ МЫШКОЙ ФОТКУ НА СТРИМЕ ШАТАТЬ
Не был бы ты юнитидебмлом, срущим в годотреде, ты бы просто сделал верисионнонезависимый код и компилировал свои игоры на 2-й версии годота для старья и на 3-ей для состоятельных парней со свежим железом.
>ДА НУ НАХ, ДАВАЙТЕ ЛУЧШЕ МЫШКОЙ ФОТКУ НА СТРИМЕ ШАТАТЬ
Ты просто не в теме. Сверху двое - типа стримеры-ютуберы толкающие платные курсы по юнити и всё такое.
Из готода только Джуан вроде снизу был.
Юнити говно, анриал тяжелый и непонятный, кокос в нормальное триде и большие игры не может.
хейтер забаговонного говна
Разве что эти уебки собирают бабло на педреоне, а работать не хотят. Сукиблядь!11
>в годоте лайтмапы говно
У тебя в голове говно, юнитидаун. Настрой сначала размер лайтмапов корректно, а потом видосики снимай. а то заебись так хуйню творить, в говнюнити лайтмапы настроил, а в годо и уече - нет. Затем снял видос и на ютуб выложил. Смотрите, мол, какие лайтмапы говно у бажествинава юните.
>производительность хуже
У любого скриптового языка производительность хуже. И у gdscript и у unityscript (от которого отказались). Для этого вводят поддержку сишарпа, клоун, блядь.
>У любого скриптового языка производительность хуже.
Производительность рендера хуже, чушман тупой, в 4-5 раз хуже юнити. Лайтмапы в годо введены для галочки за неделю, хуан не стал их доводить до ума и они не учитывают свет неба. Ты только позоришь годот своей тупостью, даун.
> Лайтмапы в годо введены для галочки за неделю, хуан не стал их доводить до ума и они не учитывают свет неба. Ты только позоришь годот своей тупостью, даун.
А нахера вообще вы дрочите на встроенные лайтмапы, если любой профрендер вроде октана отрендерит их вам гораздо пизже?
>любой профрендер вроде октана отрендерит их вам гораздо пизже?
Нахуй ебать велосипеды, если можно просто запустить юнити?
Не обзывайся!
Существует ли какая-нибудь константа, обозначающая любую клавишу инпута (или вообще любое действие)?
Я пилю отмену анимации, которая должна срабатывать, в моём воспалённом сознании, в тот момент, когда во время проигрывания анимации нажимается новая клавиша. То есть нужна строка типа if Input.is_action_just_pressed(ANY_KEY) , которая срабатывает по нажатию кнопки, но не срабатывает, если её держат до начала анимации.
Активацию шевеления сисечек.
и тут https://youtu.be/nj8Wws2fjaw?t=1h24m6s (смена цвета когда он в тоннель заезжает)?
Пойду верну как было по-колхозному, потом мануалы повкуриваю.
Ну смотри. Пусть у тебя есть, например, WSAD. Соответственно есть _input, в нём задается пустой вектор, дальше мы пробегаем условия
if event.is_action_pressed("W") добавляет (-1,0), "D" добавляет (0,1) и т.д. Ну ты понел.
Потом условия на отжатия клавиш. И я не придумал ничего умнее, чем написать
if event.is_action_released ("W") or —//— "S" or —//— "A" or —//— "D" и занулить вектор.
И всё хорошо, но потом ты начинаешь стрейфиться, нажимая WD. Отпускаешь одну из кнопок — останов очка, хотя вторая нажата. Теоретически после этого должен снова постоянно вызываться _input, так как одна из клавиш нажата. Но винда так не считает и говнится, и ввод пропадает. Я проверял, выводя на экран, сколько раз вызывается _input, да и вообще этот эксперимент можно повторить в блокноте.
Пока забил и пишу в _process через Input, может потом дополнительно повкуриваю, когда буду нормальную очередь ввода писать, пока костыликами подопру.
> Теоретически после этого должен снова постоянно вызываться _input, так как одна из клавиш нажата.
Нет, не должен, с чего ты взял?
Ну, во-первых, задай имена экшонам в конфиге проекта, или юзай дефолтные. То что ты юзаешь прибитые гвоздями к коду имена клавиш - сыграет тебе дурную службу в дальнейшем, когда проект разрастётся.
во-вторых, контроллер движения можно реализовывать по разному. Как я понял, у тебя стоят одиночные ИФы. А ты сделай через ИФ - ЭЛИФ - ЭЛИФ -ЭЛИФ - ЭЛЬС
Вот, как реализован контроллер движения у меня в текущем проекте (пикрилейт).
Константы типа "ui_..." - это дефолтные, означают стрелки, однако в параметрах проекта я могу их переделать в ВАСД без изменения кода.
Вот более толковый вариант. Я его видел в одном из уроков, а раз зашёл такой дискасс - реализовал его в своём проекте:
Ах да, чтобы по диагоналям не бегало в два раза быстрее, то между 17 и 18 строками можно добавить нормализацию вектора input_axes. Хотя в такой реализации ускорение на глаз не различимо.
А не пиздишь? А што если я начну работат, а он нихуя не сможет в туман и такой примитивный графон? Ты понимаешь как будет печально? Меня аштрисёт!111
Какая разница? Ты начнешь работать, а годот не сможет во что-то другое. Как уже ни раз в этом треде.
Ну это тоже через _process, то есть он на каждом тике сканирует инпут. Мне, как почётному костылеписцу, от такого страшновато, но раз работает, то и ладно.
В принципе у меня сейчас так и написано, только без elif, пушо незнакомая для меня (была) конструкция, пофикшу.
Экшоны настроены и стандартные, и свои, просто я на работе был без исходников и писал прямо так для простоты. Примеры я тоже читаю в больших количествах.
>>504858
А вот опыты показали, что иногда он считает, что должен, а иногда — что ему и так норм. Вот сам попробуй написать такой _input, поместить в него итератор и каждый раз выводить. Он ведёт себя как полный свинтус.
Не знаю, у меня моргает.
Стоит ли начинать с годо? Пока что в плане простейшие 2д игрушки, матч3 и прочие перделки-переделки для набора опыта и практически гейдеве.
Но встал вопрос, стоит ли тратить время на годо, или лучше сразу обратить внимание на другие движки (например unity).
В чем годо сильнее юнити, например?
>В чем годо сильнее юнити, например?
Проще.
Стоит начинать с него. Юнити это как фотошоп, когда тебе надо всего лишь пикчу обрезать. Поэтому для простых экспериментов лучше годо.
В чём толстота-то? У унити хороший 3д движок, а у годо наоборот 2д неплох. Анон хочет делать 2д. Очевидно, что ему проще вкатиться в годо, чем в юнити.
Поклонники-то лучше знают.
Через полгода обещали.
Godot - хуйня лютая. Поставил, поблевал, снес к хуям и вернулся к божественному Unity.
>Заебался ждать.
А мог бы игры делать. Лол. Воистину, кто хочет - ищет возможности, кто не хочет - ищет причины.
По рузке можешь писать, доувн?
Можно добавить исключение коллизии, а потом вернуть его, как только твоё тело белое покинет заспавненное.
Да чего там тратить? Полтора туториала вкурил, полтора примера разобрал, кидай спрайты и делай игоря. Это дело пары вечеров.
>добавить исключение коллизии
Загуглил. Добавление исключения (на время выхода игрока из области заспавненного предмета) выглядит так же костыльно, ну или я что-то неправильно понял. Курю дальше. Но всё равно спасибо за помощь. Хоть кто-то ИТТ реально помогает, а не срётся.
>полтора примера разобрал, кидай спрайты и делай игоря
До первой траблы с коллизиями. (Посты выше).
Я сам за годот, но советовал бы взять юнити из-за того, что в нем уже все готово, а у годота нужно улучшать рендер и непонятно когда хуан этим займется. Но сишарп суперсложная штука, поэтому ничего у тебя не получится, дропай сразу, не трать время.
На чем? На юнити штоле?
Ну или можно опять-таки спавнить его с хитбоксом на другом слое, а потом возвращать на тот же слой по выходу из коллизии. Или временно перемещать кинематик на другой слой, если может понадобиться коллизия с чем-то еще (хотя это тоже может привести к багу).
Что я делаю не так?
Ты сам свой вопрос понимаешь?
544x416, 0:11
>set_perspective
Нет, это не работает и не могло заработать, ибо совсем из другой оперы. Для примера показываю, как будет при 85, 1, 10
Спасибо, я это не мог найти.
>>504941
Ох, блядь, как же ЭЛЕГАНТНО я решил эту проблему! Аж прибежал похвастаться. Поведение получается именно такое, как нужно. Заспавнил под себя - можешь двигаться. Вышел - зайти обратно не можешь.
Всего-то нужно было одновременно с коллижоншейпом поставить эрию. Колижоншейп выключается в редакторе. Затем на эрию навешиваем сигнал _on_body_exited() в котором проверяем, если тело == игрок, то включаем выключенный коллижоншэйп.
Никаких исключений, никаких слоёв, групп и прочих сложностей. Красиво, сука!
хочется.
А, я писал про _on_body_exited, но как-то не обозначил явно.
При этом у тебя static body прозрачное, пока в нём папка сидит, если что-нибудь туда может прилететь, придётся всё-таки совать нос в слои.
Вообще по-царски было бы все коллижоны поместить на 2 слоя, кинематик на один, а статик сначала на другой, а по выходу — тоже на оба. Тогда еще и лишних проникновений куда попало не будет, например. Ну это если у тебя там вообще есть кому куда проникать.
>все коллижоны поместить на 2 слоя, кинематик на один, а статик сначала на другой, а по выходу — тоже на оба
И как, по твоему, отработает body_exited, если тело на другом слое? Пробовал уже, не работает. Ну или я чего-то критически недопонимаю.
Досадно, значит сделать всё по уму с учетом всех возможных коллизий без костылей не получится. Ну и ладно, это уже для запущенных случаев, когда оба тела должны сталкиваться с другими, вряд ли у тебя всё так плохо.
Всё не так плохо, тела врагов по гемплею не могут находиться поблизости (ибо съедят игрока), спавнящееся игроком тело статик, кругом статики. От заспавненного тела надо быстро убегать за угол. В общем, сойдёт.
Как получить глобальные координаты по иксу и по игреку?
Пхааааа, хуеееееец!!!! Ну ты мочишь, пидаран!!
Поссал 4: Лижетесосёте эдишон.
Делаем несколько сцен, каждая из которых с помощью скрипта манипулирует родительской нодой. Сцены эти прикрепляем к игровым сценам-объектам. Таким образом получим систему прикрепляемых поведений. Можно будет рекомендовать этот способ беженцам с погибающего юнити.
При взрыве у бомбы начинает расти коллижнполигон и детектировать входящие тела. Если тело = бомба - включает в ней переменную can_blast (быстрее, чем её собственный таймер).
Происходит цепная реакция, всё взрывается. Всё работает.
Теперь я хочу детектировать стены и ограничивать рост коллижнполигона. Я добавляю рейкаст. Он растёт вместе с полигоном. Детектирует стены и останавливает рост. Казалось бы, что может пойти не так?
Но блять, это только у первой бомбы в цепочке! Остальные как будто игнорируют рейкаст и снова взрываются сквозь стены.
Где у меня проёб? Стены - тайлмап. Может из-за него?
Вангую тупой баг. Например, какой-то из элементов не включается вовремя, или какой-нибудь флажок проёбан.
Проблема оказалась в другом, для работы с физикой нужно использовать функцию _physics_process, а я всё лепил в _process.
Дай пж скрин что выключать, у меня вроде и так у кнопки стиль выключен, но она по прежднему выглядит как кнопка.
Погоди, ща включу комп, а то я с мобилы капчую.
Спасибо
Это игра на годоте?
СКАЧАЛ ДВИЖОК
ЩА БУДЕШЬ ИГРУ ДЕЛАТЬ
УБИЙЦУ СКАЙРИМА
АССЕТОВ НЕТ
МАТЧАСТЬ НЕ ЗНАЕШЬ
ЖИДКО ПЕРДНУВ ОБОСРАЛСЯ
Да вообще по любому движку это можно сказать. Я ещё ни разу не видел, чтобы в этом треде обвиняли годо в проблеме, причиной которой был бы сам движок, а не прокладка между стулом и монитором.
Я вот, разрабатывающий уже больше года довольно большую игру на годо, знаю почти все вполне конкретные проблемы этого движка, но ни одну из них ни разу в треде не упоминали.
А всё, о чём орут неграмотные школьники и юнитидети, является следствием их собственной тупости и ограниченности, а не проблемами движка.
Хуан по ходу хочет лайтмапы допиливать, хоть бы заебись сделал.
>Я вот, разрабатывающий уже больше года довольно большую игру на годо
Пруфы, или обычное криворукое васянское говно.
>знаю почти все вполне конкретные проблемы этого движка, но ни одну из них ни разу в треде не упоминали.
Да почему же. Все знают, что он не работает на половине андроидов и слабых встроенных видяхах. /sarcasm
А у тебя какие проблемы?
В вк есть прекрасная группа годота.
Эй, я не пидор! Ладно, перекачу.
Это копия, сохраненная 4 мая 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.