Это копия, сохраненная 22 ноября 2020 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
С изучения документации. Если не можешь в инглиш, и даже в гугл-переводчик, то начат перевод официальной документации: https://docs.godotengine.org/ru/latest/
Но вообще, будь мужиком и изучи английский: https://godot.readthedocs.io/en/stable/
Вместе с движком обязательно смотри примеры, там есть всё - от платформера до чата. Примеры качаются прямо в движке через свой магазин.
Скачать движок: https://godotengine.org/download/ или http://store.steampowered.com/app/404790/Godot_Engine/
FAQ: https://docs.godotengine.org/ru/latest/about/faq.html
Игры, созданные глобальными кириллами: https://godotengine.org/showcase или https://steamcommunity.com/app/404790/discussions/0/412448792354265655/
Годнота от анона:
Редактор персонажей на основе makehuman: https://github.com/Lexpartizan/Go_MakeHuman_dot
Все языки в одном месте: https://vk.com/topic-70467171_35982467
Предыдущий тонет там: >>571168 (OP)
Архивы:
1 https://arhivach.ng/thread/207802/
2 https://arhivach.ng/thread/388500/
3 https://arhivach.ng/thread/388501/
4 https://arhivach.ng/thread/388502/
5 https://arhivach.ng/thread/388503/
6 https://arhivach.ng/thread/432708/
7 https://arhivach.ng/thread/433902/
8 https://arhivach.ng/thread/436355/
Ну давай, расскажи, почему человек который реально хочет сделать игру должен взять вечнонедоделанный нищенский кастратогодот вместо огромного ахуенного богатого движка юнити?
Именно так и делаем. Щас наконец-то принял решение сохранить шапку в отдельный файлик, зашел в тред, скопировал и пойду обратно игоры делать. Удачи!
Обрати внимание, во всех крайних шапках я указываю предыдущий тред ссылкой, а остальные архивом. Но архив делаю сразу.
>>583360
Единственная тактика годаунов перевести стрелки с обсуждения годота на другое, ну вот реально, вам просто нечего сказать, нет причин любить говнот, но вы продолжаете сидеть в говне уже по привычке. Давайте к нам в юнититред успешных людей победителей по жизни, будем вместе обсыкать годотирав. Я перестал бояться и пересел с годота на юнити. Блин, я же был такой же заблудшей овечкой как и вы!
>Я перестал бояться и пересел с годота на юнити.
Нет, ты просто сломался, понял, что настоящий хардкорный геймдев с душой тебе не по зубам, и обмяк, жидко пукнув. Теперь ты сломленный и опустившийся, не сумевший преодолеть трудности, и выбравший для себя путь наименьшего сопротивления.
Теперь ты будешь вариться в созданной специально для таких как ты юнити-помойке, наравне с ассет-флипперами, производителями мобильного говна и клонов говна и мочи и прочими опущенными.
Тебя даже было бы немного жаль, если бы ты не приходил в тред к годот-господам, чтобы изливать свою бессильную злобу. Это что-то на уровне импотента, который мечтает о том, чтобы насиловать женщин ножом, потому что у него уже давно не стоит его иссохшийся стручок.
Вот и у тебя так же, геймдев-импотенция, отсутствие идей, фантазии, воображения, все твои потуги и мысли не стоят больше харчка на асфальте, тебя ни разу в жизни не посещало вдохновние. Ты будешь годами смотреть очередные туториалы по юнити, может даже купишь пару ассетов на мамкины деньги, грустно вздохнув, потаскаешь их по сценке, потом свернешь unity personal edition и откроешь двач, зайдешь в годот тред и напишешь очередной пост про то, как в юнити всё классно, и что годот недоделанное говно.
Пройдут годы, твоя грязная непроветренная комната покроется пылью и паутиной, а ты все так же будешь сидеть на продроченном стуле, покрытом пятнами малафьи, перед старым пыльным компьютером, купленным когда-то давно мамой для учебы, в трее будет свернут юнити, а ты будешь продолжать строчить свои посты в годот-тред, со слезами на глазах наблюдая за тем, как движок развивается и эволюционирует, избавляясь от недостатков и багов, как на нём появляется всё больше и больше игр, как открытое сообщество реализует сообщая свежие и интересные проекты с открытым исходным кодом, и читая статьи о массовой миграции инди с юнити на годот. Ты будешь биться в истерике от прожигающей тебя бессильной злобы и зависти, ведь за столько лет ты так и не смог сделать ничего, обладая таким огромным ахуенным богатым движком, как юнити.
>Я перестал бояться и пересел с годота на юнити.
Нет, ты просто сломался, понял, что настоящий хардкорный геймдев с душой тебе не по зубам, и обмяк, жидко пукнув. Теперь ты сломленный и опустившийся, не сумевший преодолеть трудности, и выбравший для себя путь наименьшего сопротивления.
Теперь ты будешь вариться в созданной специально для таких как ты юнити-помойке, наравне с ассет-флипперами, производителями мобильного говна и клонов говна и мочи и прочими опущенными.
Тебя даже было бы немного жаль, если бы ты не приходил в тред к годот-господам, чтобы изливать свою бессильную злобу. Это что-то на уровне импотента, который мечтает о том, чтобы насиловать женщин ножом, потому что у него уже давно не стоит его иссохшийся стручок.
Вот и у тебя так же, геймдев-импотенция, отсутствие идей, фантазии, воображения, все твои потуги и мысли не стоят больше харчка на асфальте, тебя ни разу в жизни не посещало вдохновние. Ты будешь годами смотреть очередные туториалы по юнити, может даже купишь пару ассетов на мамкины деньги, грустно вздохнув, потаскаешь их по сценке, потом свернешь unity personal edition и откроешь двач, зайдешь в годот тред и напишешь очередной пост про то, как в юнити всё классно, и что годот недоделанное говно.
Пройдут годы, твоя грязная непроветренная комната покроется пылью и паутиной, а ты все так же будешь сидеть на продроченном стуле, покрытом пятнами малафьи, перед старым пыльным компьютером, купленным когда-то давно мамой для учебы, в трее будет свернут юнити, а ты будешь продолжать строчить свои посты в годот-тред, со слезами на глазах наблюдая за тем, как движок развивается и эволюционирует, избавляясь от недостатков и багов, как на нём появляется всё больше и больше игр, как открытое сообщество реализует сообщая свежие и интересные проекты с открытым исходным кодом, и читая статьи о массовой миграции инди с юнити на годот. Ты будешь биться в истерике от прожигающей тебя бессильной злобы и зависти, ведь за столько лет ты так и не смог сделать ничего, обладая таким огромным ахуенным богатым движком, как юнити.
И тебя! Побежал делать свое 3д на плюсах.
Отличная шапка для юнитипитеков.
хуй знает, мне духу не хватает сидеть над одним и тем же говном больше пары недель. спроси у мнфля как он это делает
Теперь ты понимаешь, как детектировать семёна:
- запостил с мобилы, Т9 нахуярил ерунды, семён не вычитал и сразу отправил
- следом отправил ещё пост, якобы ответ на предыдущий, так же не вычитывая, при этом второй пост якобы понимает, что написал предыдущий
А что в первом посте было написано?
Что ты назваешься квестом? Игру где ты должен мышкой искать какой предмет на картинке можно взять, а потом думать куда его надо применить?
Up to down бродилка с головоломками и разветвленные сюжетом. Типа от действий игрока зависит концовка
слишком дохуя, да?
Типа через ветвления if, циклы и тд?
Хотел просто узнать, каким образом делаются разветвленные концовки, где сидят условия, чтобы они выполнялись под конец
Найс обьяснил
Можно по-разному делать.
Ну например, у тебя есть две катсцены. Они запускаются когда ты пришел в какую-то зону. Там срабатывает триггер, и ты проверяешь в скрипте какие-то условия, например что у тебя есть в инвентаре нужный предмет. Или действительно if по переменным (if pogovoril_s_maman=1 then ... else if bandit_reputation >3 then...)
спасибо, как что-то начнет идти, буду скидывать в единственный оплот свободного слова
Ну так у меня на клик спрайт меняется
Тупа одна плита осталась лул, было бы круто, если бы зашла мамка и пиздюлей ввалила
Обновленная версия игры с раковиной и вантузом: https://yadi.sk/d/VWBylsfr1oNc3Q
Не знаток gdscript, но вроде как чтобы экспортировать переменную, ее надо, собственно, экспортировать.
export var plunger = 0
Так не работает
Короче, как я понял queue_free() уничтожает ноду и все переменные с ней. Поэтому я ее скрыл hide() и деактивировал CollisionShape2D для StaticBody командой get_node("CollisionShape2D").disabled = true
Поищи в каком-то из прошлых тредов поясняли за автолоад, в общем делается специальная нода, в которой хранятся глобальные переменные типа таких.
Правый
Это разве не перс-лужа говнопоноса? Была такая игра на сеге за лужу нефти играть, я думал ты такое же пилишь, только с гдпахомским колоритом.
Бтв это вид сверху
>как правильно все это организовать
1. Вантуз сохранён как .tscn
2. В раковине он объявлен в общей области примерно так: var vantuzes : PackedScene = preload("res://vantuz.tscn")
3. Когда в раковине необходимо заспавнить вантуз, вызываем такой код:
var vantuz = vantuzes.instance()
rakoveena.add_child(vantuz)
# Опционально можно добавить вантузу нужное смещение:
vantuz.position = Vector2(10, 20)
4. PROFIT!!
понял, принял
Эээ, не, мне сам вантуз в раковине не нужен. Я может не правильно выразился. Смотри проект https://yadi.sk/d/VWBylsfr1oNc3Q Вот как я решил проблему >>583702
Всё ясно. У тебя две разные переменные plunger.
Тебе надо вантуз класть в инвентарь. Самая простая реализация, заведи у игрока словарь inventory, когда подбираешь вантуз добавляй в inventory: inventory["plunger"] = 1
Далее, в скрипте раковины чекай наличие вантуза в инвентаре: if player.inventory.has("plunger"): if player.inventory["plunger"] > 0: именно так, двумя ифами, and здесь нежелательно делать.
> : if player.inventory.has("plunger"): if player.inventory["plunger"] > 0: именно так, двумя ифами, and здесь нежелательно делать.
Мастер класс гдскрипта, как можно жить без элвис оператора в 21 веке
В первом ифе чекается наличие поля в словаре, во втором ифе обращается к полю, если пропустил первый иф (значит оно есть).
Претензии?
Почему здесь нельзя and? Gdscript полезет чекать несмотря на первую проваленную проверку?
Это неправильно. Даже если сейчас гдскрипт позволяет, то в дальнейшем Хуану нажалуются, что у него то тут то там unattended behaviour и он это отменит. И тебе придется такой костыльный код с эндами переписывать.
Короче как я и думал, Хуан и друзья все сделал хорошо, а ты гонишь пургу..
Variant get ( Variant key, Variantdefault=Null )
Returns the current value for the specified key in the Dictionary. If the key does not exist, the method returns the value of the optional default argument, or Null if it is omitted
Надо просто вызвать if player.inventory.get("plunger") > 0
Ну вот, как то так. Ололоша спас мир :3
Да, а что?
Отличная работа, доктор Ватсон!
Чтоа? Ты прям шатаешь основы программирования. Если слева от and ложь, то правый аргумент даже вычисляться не должен.
Иначе по такой же логике и два ифа подряд нельзя писать - а вдруг язык захочет из переупорядочить и вызвать вторую строчку до проверки на null
Нем не менее, если делать по твоему, будет вот так, если подойти БЕЗ вантуза. Как предложишь выкручиваться?
Обращайтес.
Сижу без света, не могу на компе чекнуть. Может быть, 0 и Nil кастятся к false, поэтому достаточно просто if dict.get("bla"):
Так нам надо не ноль проверять же. Один раз ты проверишь на Nil и 0, а второй раз придётся на больше 0 проверять.
Так если ты туда отрицательные числа не загоняешь, то все что не ноль - больше ноля.
Ладно, ты прав насчёт and, после него код не выполняется, если перед ним false, что очевидно.
Спасибо, буду учитывать теперь.
Алгоритм действий:
1. Рисую открытый шкаф с вантузом внутри
2. Создаю переменную которая считает количество кликов по шкафу
3. Если переменная = 1 то шкаф меняется на открытый шкаф с вантузом
4. Если переменная > 2 то в инвентарь добавляется вантуз, а шкаф снова меняется на закрытый
Все правильно?
Вроде все работает
Щас поглядим...
И я такой по приколу включаю автокликер, который накликивает тебе int и на следующем клике крашит игру к хуям.
Вообще ужасный код, я попытался исправить, но получились вообще дичайшие костыли.
Экранные сообщения надо делать совсем иначе.
А мог бы в божественном гамаке завести таймер 1 строчкой. Сам себе усложняешь жизнь работой не в гамаке...
Пошёл нахуй.
Че сразу не на Юнити?
>>583935
Я не понимаю, нахуя ты костылишь клики. Ты ведь и так делаешь проверку счетчика после клика. Так почему бы не делать проверку на булево значение? По дефолту какое-нибудь door.IsClosed() = true. Если при клике оно тру, открываешь дверь. В противном случае закрываешь.
1. Скачиваем Годот моно с официального сайта.
2. Скачиваем МС Билд Тулс Инсталлер по ссылке со страницы скачивания годота.
3. Помимо билд тулс в инсталлере указываем дополнительно пакет нацеливания на фреймворк 4.5. Итоговая установка должна быть как на пикчах.
4. ПРОФИТ! Однако, никаких студий не установлено и код на шарпе придётся писать в самом редакторе годота (а там на данный момент нет автодополнения, если не знаете методов - будете огорчены), дополнительный редактор шарп-решений/проектов ставьте по своему желанию. Хоть нотепад++, хоть имакс-вин.
штоба C# юзать. Анон пожалуйста не забрасывай тему. Может код писать в студии, а потом его копировать в годот ибо я даун и без автозаполнения даже 2х слов без ошибок не напишу.
Чтобы код писать в студии, установи там же в инсталлере дополнительно саму студию. Всё просто!
Спасибо! Вроде понял за что отвечает каждая команда, хотя у меня проблемы с подключением сигналов не через интерфейс (я этого еще не делал). Переписал себе, но не работает. Я сегодня на солнышке перегрелся и у меня голова болит, поэтому я пока отдохну.
>но не работает
Не просто не работает, а выдаёт сообщение об ошибке, которое надо прочесть, понять и дописать то, что не дописал.
Так победим!
Нет, все запускается, ошибок не пишет. У меня есть подозрения на то что я ноды расставил не так как ты. Просто Control Notifications в World вставил и все. Но я пока полежу, почитаю документацию.
> Просто Control Notifications в World вставил и все.
Забыл в комментах написать. Сами сообщения вызываются в других модулях: sink, suit with plunger, stove. В этом вся магия кагбе.
>Сами сообщения вызываются в других модулях: sink, suit with plunger, stove.
Да я нашел это конечно же.
Все, я исправил. Название сигнала в world неправильно написал.
on_screen_messages
Хочу сделать урон от непогашенной плиты. Туториал на ютубе видел, так что пока отвлекать не буду
Да там просто баг (если так можно назвать) смешной. Я когда видео размером 400 килобайт научусь записывать - скину
Это фича?
Скорее всего ты написал костыль который уже есть в движке.
Ты пробовал просто воспользоваться файловой системой Годота?
https://docs.godotengine.org/en/3.1/tutorials/io/saving_games.html
Обрати внимание на префикс "user://"
>Обрати внимание на префикс "user://"
Давай, ты накидаешь у себя проектик с двумя функциями, загрузка и сохранение, потестируешь в браузере, хоть с префиксом, хоть без, а потом уж будешь советы давать, окда?
Могу и накидать (сам знаешь куда)
А пока вот цитата из документации по веб версии
Using cookies for data persistence
Users must allow cookies (specifically IndexedDB) if persistence of the user:// file system is desired. When playing a game presented in an iframe, third-party cookies must also be enabled. Incognito/private browsing mode also prevents persistence.
The method OS.is_userfs_persistent() can be used to check if the user:// file system is persistent, but can give false positives in some cases.
Значит, в самом годоте это есть, просто ты не настроил.
Я всё это читал и еще горы доков и тредов на реддите. Ничего не работает. Только через eval получилось.
Да причём тут Хуан? Знаешь как сделать - покажи. Не знаешь? - Нечего постить копипасту из доков.
Есть знаешь ли разница между дельным советом и бессмысленными пуками копипастой.
Ну посты в треде же побежал создавать. Странный ты какой-то. Сидит, постит хуйню на дваче, а когда предъявляют за хуйню, пиздит что занятой весь такой.
>написать пост
>придти домой, включить компьютер, написать проект, экспортировать
Действительно одно и то же. Уже бегу, ты такой не терпеливый.
Хз в общем. В фаерфоксе все заработало из коробки. Сейчас некогда тестить.
https://www.youtube.com/watch?v=hYxXdaiY1OE
Спасибо!
У меня тоже заработало. Нашлась причина, почему не работало: ПО ВИДИМОМУ, ПРЕДПОЛОЖИТЕЛЬНО при закрытии вкладки браузера не отрабатывают функции _exit_tree() как фиксить не представляю даже. Браузер прибивает приложение мгновенно. Попытки периодически сохранять дают неудовлетворительные результаты (при открытии открывается "чекпоинт", а не ожидаемое место на котором остановился)
>Как получить событие Click мышкой по объекту, не нажатие а именно отпускание?
Пофиксил тебя.
А получить так:
if event.is_pressed():
---получаем нажатие
else:
---получаем клик (отпускание)
Запоминай нажатый объект и если при отпуске объект другой - отменяй всё, ибо это не тот "клик", которого ты ожидал.
Ну охуеть, почему разработчики просто не добавят "клик" в базовый функционал? Это же основные вещи, можно сказать, которые есть в других движках, к чему эти изъебства?
Собственно говоря, такая же примерно логика у оконных приложений, только там привязка к координатам:
Для удобства можешь объявить себе
signal click()
После чего в обработке инпута, если важный тебе критерий не изменился между нажатием и отпусканием, то делаешь emit_signal("click"), в дальнейшем к этому сигналу уже можно приконнектить отдельную функцию. А в ещё более дальнейшем можно объявить клик с нужными параметрами, например, те же координаты или инстанс кликнутого объекта или время по гринвичу в момент клика и передавать их при эмите.
Потому что ты зумер, для которого программирование началось с юнити и не знающий азов ввода-вывода.
годот в вопросах работы с мышкой ничем не отличается от классических приложений, в нём меньше синтаксического сахара вроде объявленного из коробки сигнала click() из поста выше.
Чем проще система, тем меньше в ней можно сделать
Годот при кажущейся простоте (ууу годоскрипт за два дня) отнюдь не прост и даёт в руки годотера доступ к железу на любом желаемом уровне абстракции. Вплоть до отрисовки вершин в опенгл вручную.
>Чем проще система, тем меньше в ней можно сделать
Что же ты там такое задумал, годотир, прямо что не годотир, то супер идеи, которые невозможно реализовать на юнити.
>>584709
>невозможно реализовать на юнити
Бесплатно, без роялти, без неотключаемого сплешскрина. Как сделаешь на юнити, так сразу перейдём.
У меня только одно предположение - разработчики не представляют себе других жанров кроме как клон марио с управлением стрелочками.
Не траль, плез.
Сам ты зумер, игровой движок и нужен затем, что бы не ебаться с низкоуровневой поеботой, а в краткие сроки запилить то, что тебе нужно. А если тебе кидают обрубки, а дальше сам ебись, это не есть хорошо. Клик был доступен еще с раннего флеша и далее в остальных гейдев движках с визуальным инерфейсом, а тут такой элементарной вещи нет.
Какая разница, если всем им пришлось написать самописные события клика мышки?
Ты сначала найти то, что нельзя реализовать в Юнити и можно реализовать в Годоте (кроме сплешскринов, я же с козырей захожу).
Захожу пиковой дамой и козырным вальтом!
https://www.youtube.com/watch?v=y-msBUHEMls
Круто, конкурс только на годоте, без юнитидебилов.
>Ты сначала найти то, что нельзя реализовать в Юнити и можно реализовать в Годоте
Полноценное дерево компонентов, без костыльных нестед префабс. С полностью свободной композицией, включающей возможность перестройки ветвей дерева на лету.
>This project is a separate fork precisely because the devs refused to merge it into the core engine, motivating their decision with "C++17 is too hip and all our contributors know is C++03, so we'd rather stick to 03".
>I have a feeling, that it won't be Godot that will blow other engines out of the water. It will be some fork of it.
Лил. Сосать годотиры, а ведь вас предупреждали. Много много раз.
Я уже обсуждал с vblanco. Эта работа не будет объединена с мастером (но может использоваться как ссылка), так как весь код рендеринга переписывается для порта Vulkan. Подобные (и даже большие) улучшения производительности следует ожидать от Godot 4.0.
Помочь объединить это с веткой 3.0 не стоит, потому что это потребует значительного времени (как слияние, так и последующее внесение исправлений, поскольку текущий код работает медленнее, но он очень хорошо протестирован и стабилен). Прямо сейчас все внимание сосредоточено на рендеринге 4.0, который мы стремимся выпустить как можно скорее.
Нет, не значит, демагогушка.
>А то глес-огрызки, не способные вытянуть 60фпс на топовых видеокартах в сценах из десятка спрайтов - это издевательство какое-то
Так годот тормозит не из-за графики, а из-за медленного и неоптимизированного говнокода. Вот тут написано https://www.reddit.com/r/gamedev/comments/bwauu1/uvblanco_has_been_working_on_a_experimental_fork/
ХЗ, завтра посмотрим. Споки-ноки!
Надо читать, что пишет тебе отладчик. Вот такой код работает без проблем:
> if Input.is_action_pressed("ui_up"): call_deferred("set_mode", RigidBody2D.MODE_CHARACTER)
> if Input.is_action_pressed("ui_down"): call_deferred("set_mode", RigidBody2D.MODE_RIGID)
> if Input.is_action_pressed("ui_left"): add_central_force(Vector2.LEFT)
> if Input.is_action_pressed("ui_right"): add_central_force(Vector2.RIGHT)
Не очень понял, как эта ссылка относится к моему вопросу. Там обсуждают 3д, и глес3, а я говорил про 2д и глес2 вообще. И ни одной из упомянутых проблем там в принципе быть не может. Тут тупо рендер не вывозит. Даже виндовые блиты быстрее работают.
>experimental fork of Godot that increases performance by around 50% and makes the engine no longer CPU bound
>CPU bound
годот CPU bound, то есть нагрузка на процессор идет больше чем на видеокарту, и фпс начинает проседать из нехватки процессора
Сам вкинул картиночку, сам на нее ответил. Найс приемчики у юнитекантропов.
Какая там нахрен может быть нагрузка на процессор от пары десятка спрайтов? Скопировать один vbo мизерного размера?
Проверял уже и внутренним дебаггером, и внешние тулзы подключал - вычислительной нагрузки никакой практически, 1-2 микросекунды на фрейм приходится. Всё остальное время занимает работа видеокарты. И тут именно что глес2 не вытягивает, банально не может отрендерить двадцать-тридцать спрайтов за 16 миллисекунд.
>Проверял уже и внутренним дебаггером, и внешние тулзы подключал - вычислительной нагрузки никакой практически
Спасибо тебе за труд, бро! Перехожу на годот. Теперь я с вами!
>Перехожу на годот. Теперь я с вами!
Ураааа, бро! Я хочу сосать тебе хуй, но пока занят, пилю платформер на годоте!
Плак-плак!
Ты отморозок потому что. Это пишет человек форкнувший годот и оптимизировавший его ядро в 2 раза. То есть как минимум разбирающийся в движке больше всех ИТТ. Раз он говорит что рендеринг медленный из-за процесора, то значит это так и есть.
Тормоза не из-за того, что годот там что-то майнит грузя на 100% например, а тупо процессор простаивает во время обновления энтитей ожидая чтения из памяти из-за неоптимизированной архитектуры.
>глес2 не вытягивает, банально не может отрендерить двадцать-тридцать спрайтов за 16 миллисекунд
У всех может, а у годота не может! Опять в драйверы баги вписали чтобы годот дискредитировать.
Охуенно! Буду иметь ввиду, что есть форк, если игра будет тормозить - сбилжу на форке.
Хелл йе! Опенсорц!
Душат независимый геймдев, сволочи. Ну ничего, сейчас Хуан перепишет рендеринг еще раз на vulkan будет побыстрее. 15 фпс вместо 10.
>15 фпс вместо 10
Как бы не упала до 5. Шо це такий лок?
https://twitter.com/reduzio/status/1136788532993900546
Нет смысла. Это же не форк в смысле новый проект на базе годота. Просто особенность гита: нужно сделать форк для пулл ревестов и т.д.
Чем больше строк тем лучше, повторяю я тебе не зря.
Злой Дух моя фамилия! Хочу узнать твоя какая!?
Казалось бы в этот раз нашёл что-то близкое к идеалу, но тут изо всех щелей лезут проблемы опенсорса - создатели занимаются всякой хуйнёй, вместо того, чтобы допилить движок до приемлемого состояния, хотя казалось бы допиливать-то осталось самую капельку.
И ведь после Годота переходить на что-то другое будет очень трудно, так как у него есть свои несомненные плюсы, и это прежде всего воркфлоу, удобный, понятный и интуитивный, и позволяющий конструировать архитектуру игры с огромной скоростью, практически ничего не мешает работе, всё на своих местах, нет необходимостей совершать десятки ненужных действий или лазить по десяти вложенным меню для совершения простых и регулярных действий(чем сильно страдают другие движки). Вот это всё, вот от этого очень трудно отказаться.
Но блядь, когда у тебя дело подходит к релизу, и ты понимаешь, что рендер говно и производительность не вытягивает даже платформер с десятком спрайтов - это пиздец.
Я уже пришёл к тому, что начинаю годот использовать как редактор уровней, и постепенно просто пишу свой движок с нормальным рендером, использую структуру нод годота.
>Но блядь, когда у тебя дело подходит к релизу, и ты понимаешь, что рендер говно и производительность не вытягивает даже платформер с десятком спрайтов - это пиздец.
Вот поэтому перед выбором движка нужно всегда искать примеры игр созданных на нём и уже потом отталкиваться от этого искать компромиссные решения.
Баланс между картинкой, сис.требованием и производительностью.
Я тут недавно читал, что если использовать шарп, то производительность кода увеличивается в 3 раза это правда?
Кода да, рендера нет
>нужно всегда искать примеры игр созданных на нём
Интересно, отчего у этих ребят рендер не тормозит?
https://www.youtube.com/watch?v=NlKEO1N8wMM
А если плюсы, то и в 10.
>Интересно, отчего у этих ребят рендер не тормозит?
>В ролике допотопное говно по визуалу
Довин, съеби.
Игра которая выходит в этом году, которая по визуалу натягивает большинство местных кирилов.
https://www.youtube.com/watch?time_continue=2&v=i7jmQ1VVB_8
Годот это лагающее дерьмо, там может что угодно тормозить. Ну с 2д может и вытянет, а вот в 3д полгода назад достаточно было закинуть один кубик, запечь воксельную пробу и при приближении камеры к кубику фпс на 1050ти проседал до 35.
>Ну с 2д может и вытянет
Нет, не вытянет. Там каждый листик шевелится. Это большая нагрузка на апдейт всего. Годот и от меньшего числа апдейт начинает заикаться.
Маньки подтянулись. В прошлом треде ни у кого на 10000 объектах не тормозило.
Не запекай, хули?
Ну так че ты вылез из своего загона, юнитипидар
Да уж, им бы действительно не помешало научиться рисовать.
Это доска игроделов, а не чекателей движков. Иди в /pr и там сри.
>может было, может не было
Не выдумывай, годаун, не может, а точно было, я в фейсбук говнодота постил исходник и годауны подтверждали и каялись. Хули ты отрицаешь ущербность говнодоты там где за 5сек проверить можно, ебалай.
Ты чего прикалываешься? Если что это их фирменная рисовка и две предыдущие игры сделаны в этом же стиле.
Сказать то что хотел?
Да я стер тот объектник, и прошло. Прошлый чекаут вообще вручную пришлось мержить, впервые в жизни.
Привет, анончик.
Решил я попробовать вкатиться в годот. Скачал 3-ю версию. Начал искать примеры игр написанных на движке и обнаружил, что очень много годноты было написано на 2-й версии движка. Но вот обратную совместимость в 3-ю версию не завезли ни в каком виде. И в связи с этим у меня пара вопросов:
1) Есть ли человеческий способ импорта проектов из 2-й версии в 3-ю? Единственное, что я нашел, это неофицальная версия 2.15 в которой надо ручками поэтапно все конвертировать и проверять. Понятно, что на начальном этапе этого не осилить.
2) Не будет ли такой же херни когда движок доковыляет до следующей версии?
>Не будет ли такой же херни когда движок доковыляет до следующей версии?
Будет.
> Есть ли человеческий способ импорта проектов из 2-й версии в 3-ю?
Зачем? Примеры для всего есть под 3.
> зачем?
Ну я вот конкретно хотел разобрать по косточками Dolphin Island 2, т.к. хотел нечто подобное замутить. А мне хреном по морде.
Примеров да, куча, но все самые годные как раз делались для 2-й версии и почти во всех висят дисклеймеры о том что авторы хер клали на перевод их в третью. Что наводит на печальные размышления.
Вкатись во вкладку "шаблоны" в окне выбора проектов, а так же во вкладку "AssetLib" в окне редактора.
Ты будешь удивлен, но большинство годноты, которую ты нашел для 2х в интернетах, уже переведена для 3х и скачивается прямо в редакторе.
Вот я кстати из шаблонов открываю пример kinematic body 2d platformer проект, запускается, код можно посмотреть, но например когда лезу в тайлмап, редактор крашится.
ИСПРАВАЯТ! НУЖНО НЕМНОЖКО ПОДОЖДАТ!
Достижение эры PS2, можно гордиться, чо.
Анончики, а как при рисовании тайлмапа в годоте можно выделить, подвигать уже нарисованные тайлы? А то я могу только левой кнопкой мыши установить тайл, а правой стереть. Как ни пробовал переключать иконки вверху редактора = эффекта нету.
И чтобы два раза не вставать, как заполнить прямоугольную область маленькими тайлами, чтобы не устанавливать каждый по отдельности?
Пробовал. Все уроки по этой теме построены по одному шаблону. Сначала 80% видео объясняется как создавать тайлсет. А потом рисуют карту единичными тайлами. На мои вопросы ответов не нашел ни в одном.
Двигать нарисованное - никак, такой функционал не предусмотрен.
Прямоугольного заполнения тоже нет, но есть заливка, можешь обрисовать контур и залить его.
И вообще, используй внешние редакторы, Люк.
>>586248
Оно должно наводить тебя на правильные размышления, а именно, что 3я версия - сырое недоделанное говно, которое использовать можно будет не ранее, чем года через два(если вообще можно будет, с нынешней-то тенденцией разработки).
Так что скачивай 2ю версию, которую можно использовать для 2д по крайней мере.
>Двигать нарисованное - никак, такой функционал не предусмотрен.
Э-эх. Пиздец какой-то. Нахуй он тогда нужен то? Я в таком режиме пару комнат к платформеру нарисовать попытался - заебся, а всю игру так вообще дропнуть проще.
>Прямоугольного заполнения тоже нет, но есть заливка, можешь обрисовать контур и залить его.
>И вообще, используй внешние редакторы, Люк.
Придется, похоже. Либо tiled попробую, либо из своего редактора экспорт сделаю.
>Нахуй он тогда нужен то?
Чтобы нарисовать карту из тайлов, например.
А чтобы двигать интерактивные объекты по нарисованной карте тайлов, существуют функции перевода координат из мира в карту и из карты в мир.
tnx
Хуанг уже пытался сделать запекание лайтмап и во 2 и в 3, дропнул на середине. Он сделал ставку на воксельные пробы, и они почти не дерьмовые, если изъебнуться можно неплохо сделать графон, но производительность совершенно не подходит для современных систем. И пробы тоже недопилены и он их дропнул чтобы пилить вулкан. Через пару лет допилит вулкан возьмется пилить еще какое-нибудь говно нерабочее.
Лол, смешно пошутил.
Не дропнет. Вулкан это серьёзно. Можете скринить.
https://www.youtube.com/watch?v=ZkeRKXCoJNo
Так у него цели допиливать до конца.
Версия 3.0.6, есть варианты, как это исправить?
Спрайты персонажа (или любого другого объекта с несколькими спрайтами) у тебя одинакового размера? Посмотри внимательно
Это вроде какой то баг годота, пару тредов назад обсуждали.
1. Обновись на 3.1
2. Попробуй настройки которые тут пишут
https://github.com/godotengine/godot/issues/25162#issuecomment-456844203
3. Учти что в годоте многое надо делать в physics_process, а не process
Нет, если ты говоришь про один объект, то тогда они одинакового размера. Но проблема в том, что трясется вообще всё, все спрайты, вся графика даже ВНУТРИ спрайта, а не только по краям.
>>586881
Я пытался обновиться на 3.1, но у меня еще один ебучий баг оказался, move_and_slide не объявлена в классе. Это тоже какая-то внутренняя поебень движка, которая не может понять, что перед ней функция. Вот этот:
https://github.com/godotengine/godot/issues/29522
Совсем свежий, как я понял.
Всё остальное у меня сделано, но это не помогает.
Не вижу связи между тем что ты пишешь, и ссылкой.
Там вообще чуваку сказали что он пишет неправильно. (по сути двойное разыменовывание)
Плохо читаешь, значит. Там у них в движке прямо закодирована ошибка, которая не позволяет парсить нормально код, поэтому возникает ошибка.
И в дополнение ему сказали, что у него неправильный get_node, но на саму ошибку это никак не влияет.
Да, можно.
Конечно, можно, и уже много сделали!
Что это за хуйня?
Нет, проще всего на констракте 2
Достаточно просто. Так скажем. При этом, в отличие от констракта движок не заточен под платформеры и ты можешь встроить в свой платформер что захочешь.
Как сделать платформер на годоте за 3 часа:
1. Создаём новый проект.
2. Создаём сцену player.tscn
3. В неё кидаем kinematicbody2d и потомком collisionshape2d, sprite и camera2d. Настраиваем форму collisionshape2d так, чтобы она соответствовала спрайту (спрайты качаем с https://opengameart.org )
4. Добавляем код к корню сцены, из 6 строчек, в первых 4 мы чекаем нажатие клавиш движения прыжка и приседания, в остальных двух задействуем функцию move_and_slide.
5. Создаём сцену platform.tscn
6. В неё кидаем staticbody2d, collisionshape2d и sprite. Настраиваем форму collisionshape2d так, чтобы она соответствовала спрайту.
7. Cоздаём сцену level.tscn
8. В неё накидываем наши платформы и одного плауера.
9. Нажимаем запуск игры. Выбираем в качестве запускаемой сцены level.tscn
10. PROFIT!
Нам такие не нужны. Пусть пугаются и разбегаются.
Качество лучше количества.
https://www.youtube.com/watch?v=J7lprRHm7h0
Пофиксил. И заскринил.
красава
>Unfortunately GODOT has a lot of problems with complex 3D and limitations I need to work around. Still a lot of lightning Bugs since I updated to the last master branch. I hope they will correct the light octree.
Жаль, что помещение из одной коробки с графонием уровня 2005 года считается для годота complex 3D.
>с графонием уровня 2005
Нахуй графоний в инди? Всё равно ААА будут круче. Инди должно геймплеем брать.
Таблетки прими, шизик.
Сразу о хуях заговорил, пидарас.
Как же тебе бомбит от годота, шитпостер пидорский.
Пруфов, конечно же не будет, ах да, ты же дочь офицера которая когда-то там скачала с васянского сайта версию с майнерским трояном.
Это пишет автора того говна на годоте, что вбросили выше. Один из немногих, кто вообще пытался что-то сделать на годоте.
Подскажите, пожалуйста
Как сделать диалог в платформере ?
Но они тридэ...
Да и 2д тоже можно сказать что почти нету, чего уж греха таить.
https://www.youtube.com/watch?v=BeSJgUTLmk0
ВАМ ЧТО СЕРЬЁЗНО СЛОЖНО ПЕРЕЙТИ С ЮНИТИ НА ГОДОТ????? У ВАС РУКИ ПОСЛЕ ЭТОГО ОТВАЛЯТСЯ????? НАСТУПИТ КОНЕЦ СВЕТА??? НЕТ, О БОЖЕ, НЕТ!!!!
>ВАМ ЧТО СЕРЬЁЗНО СЛОЖНО ПЕРЕЙТИ С ЮНИТИ НА ГОДОТ????? У ВАС РУКИ ПОСЛЕ ЭТОГО ОТВАЛЯТСЯ????? НАСТУПИТ КОНЕЦ СВЕТА??? НЕТ, О БОЖЕ, НЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕТ!!!!
>НАСТУПАЕТ КОНЕЦ СВЕТА, ПЕРЕБЕЖЧИКИ ПОГИБАЮТ В МУКАХ ОБОСРАВШИСЬ КИСЛОТНЫМ ПОНОСОМ
Почему, мистер щитпостер, почему? Во имя чего? Что Вы делаете? Зачем, зачем щитпостите в годотред? Зачем продолжаете сраться? Неужели Вы верите в какую-то миссию юнити или Вам просто страшно делать игры? Так в чем же миссия, может быть Вы откроете? Это свобода, правда, может быть мир или Вы боретесь за любовь? Иллюзии, мистер щитпостер, причуды восприятия! Хрупкие логические теории слабого человека, который отчаянно пытается оправдать свое существование: бесцельное и бессмысленное. Но они, мистер щитпостер, как и это ваше юнити, столь же искусственны. Только человек может выдумать скучное и безжизненное понятие "любовь". Вам пора это увидеть, мистер щитпостер, увидеть и понять: Вы не можете победить, продолжать борьбу бессмысленно! Почему, мистер щитпостер, почему Вы упорствуете?
Ну и лазерный лучик через рейкаст, но это к делу не относится.
Потому что это мой выбор.
https://youtu.be/OkdBZ3ILBmw
https://www.youtube.com/watch?v=kv3uGJq12fc
>какое-то джемное говно и не мечтающее о паре баксов, не являющееся полноценными играми
Да заебали, нет у вас игр, это все для детей поиграться, серьезные проекты невозможно сделать, никто и не пытается, годот не для заработка.
>нет у вас игр, это все для детей поиграться, серьезные проекты невозможно сделать
Но ведь игры это для детей!
>Но ведь игры это для детей!
Я про движок. Захочет чадо потыкаться кубики подвигать, в юнити сишарпа сложная, вот тебе годотоговно поиграйси гдскриптой
>пук годауна
Почему, мистер годаун, почему? Во имя чего? Что Вы делаете? Зачем, зачем сидите на говнодвижке?
Есть несколько цифр-регистров. К каждой цифре идёт по две кнопки, + и -. Для каждого регистра есть свой алгоритм инкремента и декремента. Цель пазла - подобрать код на бумажке, который игрок нашёл по ходу игры. Стрелками или мышкой прокручиваешь и выбираешь активный регистр, затем стрелками или колёсиком прокручиваешь цифру в регистре.
Правила инкремента и декремента могут быть такие:
- в активном регистре +2/-3 в соседних регистрах +1/-4
- в активном регистре +2/-3 если регистр 4, то в регистре 7 +5/-2
и т.п.
НИКОМУ НЕ СМЕТЬ ВОРОВАТЬ МОЮ ИДЕЮ. ЗАПОСТИЛ СЮДА, ЧТОБ НЕ ЗАБЫТЬ!
Поздно, я своровал раньше чем дочитал до конца поста.
Уже сикнул все данные своей команде в студии. Скоро станем миллионерами.
Я вообще ни### не понял
ЯСКОЗАЛ НИВАРАВАТЬ!
Советую взять за основу что то физическое, например кодовые замки с шестеренками разных размеров. И перемещать скрытые шестеренки сзади.
Cпасибо.
А как проверить принципиальную разрешимость головоломки? Есть на этот счёт какой-нибудь матан? А то мне кажется я что-то лютое изобрёл.
А вообще, при помощи правил, подгружаемых через пик1 можно в игре создать тысячи уникальных замков, над которыми игроку придётся ломать голову.
А как православнее:
if value in range(low, high):
или
if range(low, high).has(value):
?
Никак анон, это очень плохо. Ты создаешь массив чисел (минус память) и ищешь внутри него число (минус производительность)
пиши по старинке
if (value >= low && value <= high) или вынеси это в функцию.
Понял. Принял.
А хуй знает, полагаю что там что-то завязанное на остаток от деления, как в головоломке про улитку на дереве.
https://ru.stackoverflow.com/questions/50156
В конце концов решаемость всегда можно гарантировать, если ты сгенеришь ее задом наперед - выберешь ответ и начнешь рандомно применять шаги с обратным знаком. Правда так не гарантируется интересность.
>там что-то завязанное на остаток от деления
Нее... На остаток от деления другая головоломка завязана.
Здесь строго задаются правила:
Так там тоже. Суть вопроса в том, можешь ли ты, имея +n и -m попасть в заданное число q, начиная с числа p. Выводить ну совершенно лень, но понятно что если у тебя +2 и -4, то начиная с четного в нечетное ты не попадешь, и т.д.
Таких игр пока нет. Да, запилить реально, но надо подождать версии 3.2 а лучше 4.0. Но начать можно сейчас. Писать конечно не на gdscript а на c# или сразу на c++.
Блять, для сралкера есть Юнити. Годот - это направленный на быстрый вкат в геймдев движок, позволяющий именно что тренироваться на создании сайдскроллеров, данмаку-шутеров и прочей 2д-вакханалии.
На чём тренироваться? На гдс скрипте? Юзлесс хуйня. Это как учиться драться палкой, когда весь мир огнестрел и перекаты использует.
Так не учись, тебя ж никто не заставляет.
>Блять, для сралкера есть Юнити.
Когда делаешь сталкера на юнити:
https://www.youtube.com/watch?v=_V24Pe3ZrGA
Когда делаешь сталкера на нормальном движке:
https://www.youtube.com/watch?v=y9Y5adQ4Acs
>>588536
В 2д можешь запилить все что угодно. В 3д годот не может - для него есть уеч.
>Когда делаешь сталкера на нормальном движке
Не уж то на годоти? Нет, пидар? А нахуя ты запостил эту хуйню в сравнение юнити и говнодота?
>>588550
>В 2д можешь запилить все что угодно.
В 2д на говнодоте тоже пару игр всего вышло окологовеных, и их разработчики больше не выпускали игры на говнодоте. И студия разрабатывающая говнодоту дропнула говногодот, тому що он говно даже для 2д.
>>588550
>В 3д годот не может - для него есть уеч.
На говнодоте и то больше говноигр вышло от индюков чем на уече, нахуй вы вообще этот кал вспоминаете неюзабельный, который убивает индюков.
>Смотри вон туда
Так это демопотуги, поиграться. Годотина существует уже лет 15, где серьезные ИГОРИ, МММ, УЕБЫ?
>Почему-то этот чувак делает. Встречает ограничения, но обходит их и делает дальше
По такому же принципу долбоебы и на своих движках делают, обходят ограничения, уебки тупорылые.
>Попробуй сменить род деятельности. Дворником там, или грузчиком например
Хуя у нас тут илитарий высрался.
А вот и картиночки боевые пошли. Следующим ждём гринтекст и шаблонные фразы.
Вот туда как раз лучше не смотреть. Чтобы не разочароваться.
Получил инпут, сделал вектор2, записал в него значения икс и игрек, затем магия - у векторов есть метод .normalize() который делает длину вектора равной единице, т.е. если вектор например (1, 0) то после нормализации не поменяется т.к. Он весь лежит на оси иксов и длина равна компоненте икс, но если вектор (1, 1) он станет типа такого (0.456, 0.456) так, что длина его останется ровно 1.
Этого не слушай >>588637
Да
Оу щи....
Да, мой Господин, сделай ЭТО со мной!
Ита платформир на годоти!
Godot Original Treasure Yntertainment
Охуенчик. Когда на торрентах?
Годично Одноразовая Топовая Игра
Да чем угодно, дрочим анусы, сосем, нас ебали. Лишь бы игры не делать.
Придумываем смищные расшифровки GOTY
Хочу сделать шутер, где перс будет двигаться по прописанным мною формулам. Как в квейке, например.
На юнити если делать коллайдер через физику то физика не позволяет прямое редактирование скорости приводит к ерунде, можно только через силу или ускорение. Но там есть character controller, он позволяет редактировать скорость и не дает коллайдеру проходить сквозь стены, останавливает коллайдер если тот врезался. Проблема в том что коллайдер там вертикально ориентирован, его нельзя поменять или повернуть.
В годоте есть что-то похожее на character controller, но чтоб я мог делать любой коллайдер и поворачивать?
>Проблема в том что коллайдер там вертикально ориентирован, его нельзя поменять или повернуть
Поверни родительский объект. Или сделай rigidbody IsKinematic и двигай его через MovePosition. И кстати скорость можно изменять напрямую.
>Проблема в том что коллайдер там вертикально ориентирован, его нельзя поменять или повернуть.
>>589211
>>589220
УУУУУУУУ, даже буковки прочитать не могут.
Пришел узнать может у вас есть компонент ЛУЧШЕ юнити, пришел за помощью.
А в ответ что? https://www.youtube.com/watch?v=nCsVOO_3EUU
Ничего не знают, со своим собственным движком незнакомы, с другими движками не знакомы. Даже обсирать нормально не могут. Школие пидарасное.
Вот эту ветку надо в шапку, чтоб все видели какие безмозглые дебилы тут водятся.
нет, правда, уходи пожалуйста с /gd/.
вместо того чтобы поглядеть как делают все нормальные люди, погуглить и перепробовать варианты, ты перебрал все треды с одним и тем же тупорылым вопросом, с которым даже КАЛОБОК разобрался без особого напряга (а он тот ещё даун) и заебал всех. причем на самом деле ответ на твой вопрос элементарен и очевиден — твоей егре будет достаточно стандартной системы контроллера, как и 99% других игор. так что будь так любезен, свали с борды на которой всё равно все аноны — идиоты и не могут тебе подсказать.
>погуглить и перепробовать варианты,
Почему бы не спросить тут у ОПЫТНЫХ людей, которые РАЗБИРАЮТСЯ в движках?
>даже КАЛОБОК
Не знаю кто такой.
>твоей егре будет достаточно стандартной системы контроллера
Нет, недостаточно, хочу чтоб был поворот коллайдера и по двум другим осям.
>99% других игор.
Я не собираюсь делать ОЧЕРЕДНУЮ игру. В моей игре будут повороты и непростое движение.
>Почему бы не спросить тут у ОПЫТНЫХ людей, которые РАЗБИРАЮТСЯ в движках?
твой вопрос был говном.
что-то типа "я запилил шейдер в шейдерфорже чтобы делать дырки от пуль в стенах, как его применить?", и тебя закономерно посылают подальше с такими выебонами, а нужно было вместо этого спросить "я хочу делать дырки в стенах, как это сделать?" и тебе бы сразу подсказали про стенсил буфер. в итоге ты рогами упёрся в неповорачивайся коллайдер НА ПАРЕНТ ОБЖЕКТЕ, облазил все треды и обозвал всех анскиллами. просто прелесть.
>Не знаю кто такой.
еблан.
> Нет, недостаточно, хочу чтоб был поворот коллайдера и по двум другим осям.
зачем?
>Я не собираюсь делать ОЧЕРЕДНУЮ игру. В моей игре будут повороты и непростое движение.
я так понимаю ты тут самый умный с новой прорывной игрой. с непростыми поворотами и непростым движением, которое никто никогда доселе не делал. уверен, игра будет прелестной, учитывая что ты даже ни одной модельки даже не зделал. ну раз ты такой рукастый, штош, пили весь физон с нуля руками на рейкастах. в принципе, вполне реально достичь плюс-минус адекватного движения персонажей на чистом рейкасте, но всё же, я тебя уверяю, стандартная система ВПОЛНЕ СПРАВИТСЯ с твоими выебистыми хилл-клаймбингами и прочим паркуром.
> вопрос говном
Окай.
Хочу чтоб я мог двигать (включая поворот) перса через формулы, при этом чтоб он останавливался об стены.
Ригидбоди позволяет поворачивать, останавливать, но у него нельзя резкие движения делать.
Чарактер контроллер позволяет редактировать скорость как надо, останавливает, но его нельзя повернуть и поменять коллайдер.
> в итоге ты рогами упёрся в неповорачивайся коллайдер НА ПАРЕНТ ОБЖЕКТЕ
>зачем?
Хочу повороты.
Есть ли компонент который дает движения (редактируемые) как у чарактер контроллера и вместе с этим позволяет редактировать коллайдер, включая поворот?
>самый умный с прорывной игрой.
Я не писал что игра прорывная. Я вертикальную капсулу не хочу.
> с непростыми поворотами и непростым движением,
Да не простое, не тупо нажал кнопку и пошел вперед, поэтому мне movePosition или AddForce не подходят.
>даже ни одной модельки даже не зделал.
Щас бы разработку с моделек начинать.
Сколько было таких игорей, люди сидят модельки делают, детальки типа волос делают, диалоги делают.
Но прикол в том что модельки не первоочередные, их всегда легко поменять.
А без геймплея все говно, геймплей определяет количество ситуаций в игре (даже если это новелла). Если изменится геймплей, пока делается все остальное то и количество этого контента может поменяться. Я решил начать с геймплея и когда уже буду доволен результатом то точно буду знать сколько моделек/анимаций/звуков надо.
Вон на гимн смотри, модельки/мокап/звуки сделали, а без геймплея от этого толку нету, даже показать на презентации нечего было. Показали после того как хоть какой-то геймплей запилили.
>обозвал всех анскиллами.
Только серунов вот здесь с их "конструктивными" сообщениями уровня >пук.
>пили весь физон с нуля руками на рейкастах.
Придется если выяснится что нужного инструмента/способа нету.
> вопрос говном
Окай.
Хочу чтоб я мог двигать (включая поворот) перса через формулы, при этом чтоб он останавливался об стены.
Ригидбоди позволяет поворачивать, останавливать, но у него нельзя резкие движения делать.
Чарактер контроллер позволяет редактировать скорость как надо, останавливает, но его нельзя повернуть и поменять коллайдер.
> в итоге ты рогами упёрся в неповорачивайся коллайдер НА ПАРЕНТ ОБЖЕКТЕ
>зачем?
Хочу повороты.
Есть ли компонент который дает движения (редактируемые) как у чарактер контроллера и вместе с этим позволяет редактировать коллайдер, включая поворот?
>самый умный с прорывной игрой.
Я не писал что игра прорывная. Я вертикальную капсулу не хочу.
> с непростыми поворотами и непростым движением,
Да не простое, не тупо нажал кнопку и пошел вперед, поэтому мне movePosition или AddForce не подходят.
>даже ни одной модельки даже не зделал.
Щас бы разработку с моделек начинать.
Сколько было таких игорей, люди сидят модельки делают, детальки типа волос делают, диалоги делают.
Но прикол в том что модельки не первоочередные, их всегда легко поменять.
А без геймплея все говно, геймплей определяет количество ситуаций в игре (даже если это новелла). Если изменится геймплей, пока делается все остальное то и количество этого контента может поменяться. Я решил начать с геймплея и когда уже буду доволен результатом то точно буду знать сколько моделек/анимаций/звуков надо.
Вон на гимн смотри, модельки/мокап/звуки сделали, а без геймплея от этого толку нету, даже показать на презентации нечего было. Показали после того как хоть какой-то геймплей запилили.
>обозвал всех анскиллами.
Только серунов вот здесь с их "конструктивными" сообщениями уровня >пук.
>пили весь физон с нуля руками на рейкастах.
Придется если выяснится что нужного инструмента/способа нету.
> Хочу чтоб я мог двигать (включая поворот) перса через формулы, при этом чтоб он останавливался об стены.
чекай стены рейкастом и останавливай своё самописное велосити.
> но его нельзя повернуть и поменять коллайдер.
в играх не нужны повороты и сложные коллайдеры чаров.
> Хочу повороты.
у тебя персонаж-танк? столкновения со стенками для антропоморфных персонажей НИКОГДА не используют ничего кроме капсулы. или ты решил что анимация бега должна останавливать персонажа если он соприкоснулся правой ногой о коллайдер стены? нинужно никому, да и не заметит никто, да и гейплейного эффекта это никакого не несет. разве что это ВИАР, но ЕТО ДРУГОЕ.
> Я вертикальную капсулу не хочу.
почему
>Да не простое, не тупо нажал кнопку и пошел вперед,
ноги, надеюсь, двумя разными кнопками по очереди передвигать будешь?
> Щас бы разработку с моделек начинать.
ну да, с самого сложного. механ всегда проще допилить.
>Сколько было таких игорей, люди сидят модельки делают, детальки типа волос делают, диалоги делают.
сколько
>Но прикол в том что модельки не первоочередные, их всегда легко поменять.
нет, ты не можешь поменять контент игры с легкостью. его производство всегда занимает процентов 80% времени разработки.
> А без геймплея все говно, геймплей определяет количество ситуаций в игре (даже если это новелла).
стало быть, нас ждут очередные содомизирующиеся кубы.
> Вон на гимн смотри, модельки/мокап/звуки сделали, а без геймплея от этого толку нету, даже показать на презентации нечего было. Показали после того как хоть какой-то геймплей запилили.
у инмоста нет и не было геймплея, но ему дали огромный приз и взяли в чаклфиш на одном графоне.
>Придется если выяснится что нужного инструмента/способа нету.
кроме рбоди и чарконтроллера в юхути точно нихуя нет, делай на рейкастах если уверен.
неа, потому что я играю в современные АААшки и нигде не замечаю перечисленного. но, думаю, анону из ГД виднее.
>у тебя персонаж-танк?
>антропоморфных
Запросто может быть танком. Может быть херней которой понадобится горизонтальная капсула. Может быть существом состоящим из нескольких раздельных частей и игрок будет ими всеми управлять.
Я не собираюсь ненужные вещи делать типа ударов коленок об стены. Просто хочется иметь свободу в плане выбора формы коллайдера.
>или ты решил ноги, надеюсь, двумя разными кнопками по очереди передвигать будешь?
Почему такие крайности? Вон, например (я не собираюсь ее делать), квейковская распрыжка, чтоб ее выполнить надо поворачивать и жать в стороны, скорость набирается.
>сколько
Knock-knock, Дыбуйский сам жаловался что хотели одно (тавер дефенс), разрисовали, получилось не очень и чтоб не напрягать художников решили оставить спрайты. В итоге получилась ходилка с вкручиванием лампочек в которую скучно играть.
Квейк. Хотели даркфентази РПГ, рисователи нарисовали всяких скелетов в кольчугах, урков с топорами, собачек, жуткие замки и тд. Но прогеры не смогли осилить РПГ, из-за дедлайнов решили сделать шутер не меняя модельки. И получилось хорошо потому что шутеры делать они умели.
>инмоста
Какой инмост? Гимн это Anthem, иди почитай анонимные интервью, вот как раз модельки делали без геймплея.
Вон аноны с ГД только и делают что модельки, ни механики, ни уровней.
Это первое что вспомнил.
>не можешь поменять контент игры с легкостью.
Вот поменять то его как раз очень просто, перетягиваешь модельку в инспектор и все, была у тебя капсула мужик, стала баба. А делать долго.
>с самого сложного. механ всегда проще допилить.
Допиливаешь механику и оказывается что тебе нужна еще анимация, а пару старых моделек надо убрать. Тратишь время, потом снова что-то не понравилось и так пока всем не надоест.
>очередные содомизирующиеся кубы.
Или по хорошему, как на любом производстве сперва чертеж - механика и уровни на коллайдерах. А потом на готовые уровни и механику натягиваешь визуал/аудио/дилоги/мочу/говно. И работяги художники сразу понимают объем работ.
>чекай стены рейкастом и останавливай своё самописное велосити.
>кроме рбоди и чарконтроллера в юхути точно нихуя нет, делай на рейкастах если уверен.
Наконец то полезный совет. Понял, юнити нахер. Узнаю ща за годотские возможности.
>у тебя персонаж-танк?
>антропоморфных
Запросто может быть танком. Может быть херней которой понадобится горизонтальная капсула. Может быть существом состоящим из нескольких раздельных частей и игрок будет ими всеми управлять.
Я не собираюсь ненужные вещи делать типа ударов коленок об стены. Просто хочется иметь свободу в плане выбора формы коллайдера.
>или ты решил ноги, надеюсь, двумя разными кнопками по очереди передвигать будешь?
Почему такие крайности? Вон, например (я не собираюсь ее делать), квейковская распрыжка, чтоб ее выполнить надо поворачивать и жать в стороны, скорость набирается.
>сколько
Knock-knock, Дыбуйский сам жаловался что хотели одно (тавер дефенс), разрисовали, получилось не очень и чтоб не напрягать художников решили оставить спрайты. В итоге получилась ходилка с вкручиванием лампочек в которую скучно играть.
Квейк. Хотели даркфентази РПГ, рисователи нарисовали всяких скелетов в кольчугах, урков с топорами, собачек, жуткие замки и тд. Но прогеры не смогли осилить РПГ, из-за дедлайнов решили сделать шутер не меняя модельки. И получилось хорошо потому что шутеры делать они умели.
>инмоста
Какой инмост? Гимн это Anthem, иди почитай анонимные интервью, вот как раз модельки делали без геймплея.
Вон аноны с ГД только и делают что модельки, ни механики, ни уровней.
Это первое что вспомнил.
>не можешь поменять контент игры с легкостью.
Вот поменять то его как раз очень просто, перетягиваешь модельку в инспектор и все, была у тебя капсула мужик, стала баба. А делать долго.
>с самого сложного. механ всегда проще допилить.
Допиливаешь механику и оказывается что тебе нужна еще анимация, а пару старых моделек надо убрать. Тратишь время, потом снова что-то не понравилось и так пока всем не надоест.
>очередные содомизирующиеся кубы.
Или по хорошему, как на любом производстве сперва чертеж - механика и уровни на коллайдерах. А потом на готовые уровни и механику натягиваешь визуал/аудио/дилоги/мочу/говно. И работяги художники сразу понимают объем работ.
>чекай стены рейкастом и останавливай своё самописное велосити.
>кроме рбоди и чарконтроллера в юхути точно нихуя нет, делай на рейкастах если уверен.
Наконец то полезный совет. Понял, юнити нахер. Узнаю ща за годотские возможности.
>Просто хочется иметь свободу в плане выбора формы коллайдера.
ты либо ригидбоди и с физоном, либо не ригидбоди и с самописным физоном. иначе никак. юнети.jpg
> например квейковская распрыжка
это кривой контроллер позволил ей существовать. ок, пиши свой.
> хотели тавер дефенс
> получилась ходилка с вкручиванием лампочек
мочу на говно сменили, а графон оставили мегауёбищный. хотя погодите,
> , Дыбуйский скам
ага, вот оно!
> Но прогеры не смогли осилить РПГ, из-за дедлайнов решили сделать шутер не меняя модельки.
как видишь, сменить арт намного сложнее чем сменить механ.
> Вон аноны с ГД только и делают что модельки, ни механики, ни уровней.
да я тебя не отговариваю, делай кубы на здоровье, хех
>Допиливаешь механику и оказывается что тебе нужна еще анимация, а пару старых моделек надо убрать. Тратишь время, потом снова что-то не понравилось и так пока всем не надоест.
ахуительные рассуждения с высоты кодзимы
> И работяги художники сразу понимают объем работ.
и говорят что им нужно больше золота. намного больше чем у тебя есть
> Узнаю ща за годотские возможности.
о, у меня для тебя прекрасные новости...
>>589276
>сменить арт намного сложнее
Сделать новый сложнее.
>делай кубы на здоровье,
Написал же что когда механику сделаю то сделаю и все остальное, чтоб не скакать туда сюда. Не хочу чтоб из-за моделек пострадал геймплей.
>и говорят что им нужно больше золота.
А без плана могут говорить высасывать еще больше бабла.
>прекрасные новости...
Можно забить на годот?
>В годоте есть чтоб я мог делать любой коллайдер
Есть. Геометрические примитивы, вогнутая сетка, выпуклая сетка, всё есть.
>В годоте есть чтоб я мог поворачивать?
Есть. Я бы посмотрел на движок, в котором НЕЛЬЗЯ поворачивать геометрию.
Конкретнее задачу конкретизируй, плиз.
>На юнити если делать коллайдер через физику то физика не позволяет прямое редактирование скорости приводит к ерунде
В годоте можно обращаться к физическому движку через метод _integrate_forces() и задавать свои поправки к физике. Можно гасить скорость, ускорение и т.п., можно задавать трансформацию (позицию и вращение). Ты это имеешь ввиду?
>конкретизируй, плиз.
В юнити есть 2 стула варианта
1) сделать коллайдер с физикой, тогда его можно поворачивать в любую сторону, но физика не позволяет просто менять скорость, менять ее резко через силы и ускорение.
2) есть компонент character controller
>The traditional Doom-style first person controls are not physically realistic. The character runs 90 miles per hour, comes to a halt immediately and turns on a dime. Because it is so unrealistic, use of Rigidbodies and physics to create this behavior is impractical and will feel wrong. The solution is the specialized Character Controller.
Описание компонента. Он как раз позволяет писать скорость как угодно, останавливается об стены. НО у него нельзя менять коллайдер и нельзя повернуть. Только вертикальная капсула.
Можно ли в годоте сделать коллайдер, которому можно будет менять скорость напрямую, который будет останавливаться об стены и который можно будет повернуть по любым осям?
Хочу игру со свободой поворота. Все движение буду прописывать сам.
Можно.
И у нас в годоте для этого не обязательны ассеты-компоненты (хотя и они есть). Тебе достаточно десяток строк кода написать на несложном гд-скрипте и всё, персонаж готов. И двигается с какой скоростью хочешь.
вот мой любимый туториал по данному вопросу, объясняющий все тонкости процесса:
https://www.youtube.com/watch?v=Etpq-d5af6M - первая часть, остальные там же.
Тру, гадатиры оправдывайтесь.
Хуелесть. Через год будешь с горящей жопой пытаться понять что в эту функцию надо передавать.
>Через год будешь с горящей жопой пытаться понять что в эту функцию надо передавать.
Инт или стринг, я это и через сто лет пойму, только взглянув на неё.
Твоя доёбка мимо. Эта функция из проекта, который я дропнул на месяц, и пару дней назад открыл, и он у меня настолько качественно самодокументирован, что я моментально вспомнил, что у меня откуда тянется и куда.
А разгадка проста:
1. Паттерны.
2. Соглашения.
3. Константы.
4. Опыт.
Годот головного мозга.
А когда уже арт будет, сенсей?
https://docs.godotengine.org/en/3.1/classes/class_animatedtexture.html
Мы сами про неё не знали. Прости.
Я хуево объясняю, но в общем AnimatedTexture это ресурс для покадровой анимации, встроенный. Можно в TileSet в инспекторе у тайла нажать где Texture -> New AnimatedTexture, добавить кадры (frames), загрузить их текстуры соответственно можно там же, и сменить скорость (fps), и будет анимироавнный тайл. Вроде проверил, даже работает.
Это очень хреновое соглашение, даже не говоря о том нахуя одна функция добавляет или удаляет запись, она бы еще в космос летала, а главный косяк всплывет когда ты попытаешься добавить отрицательное значение.
Спасибо товарищь, пригодится.
Каких кодов? Запуска МБР?
И как обычно я не удивлён, что на этот пост никто не ответил.
>>589600
Никаких. Все игры так и делаются. А готовые КОДЫ называются ассетами.
>>589611
>нахуя нужна делта в физикспроцессе?
Ты наблюдаешь за процессом через фреймы, которые комп выводит на экран. Фреймов может быть 60 в секунду, а может 25, а может и 144. Но если тебе нужно сделать симуляцию плавного процесса, который происходит независимо от фреймрейта, то именно для этого она тут и нужна.
Собственно говоря, дельта - это тот самый дифференциал из матана, который ты сдал на трояк.
Я продаю труд, а не игры, лупень.
Ну, Хуан! Ай да хитрец!
Вот заживете! К октябрю запилит то что уже есть только на вулкане, потому к марту исправление ошибок, потом пол года на какую-нибудь новую микрофункцию
https://godotengine.org/article/vulkan-progress-report-1
Заебца. К тому времени как раз прототип будет готов и к заполнению игры мечты контентом как раз вулкан подвезут.
func _on_Area2D_body_entered(body):
if body.get_name()=="BoxBody":
Но это хорошо работает если коробка одна, а их много, каждая названа стандартно т.е. Box, Box2, Box3 и т.д., но т.к. они являются дубликатами - они все отзываются на BoxBody.
Так вот: Есть какая-то возможность проверять не их BoxBody, а непосредственно Box, Box2, Box3, чтобы контролить отдельно каждую коробку?
В юнити и 2D камеры нет
>Есть какая-то возможность проверять не их BoxBody, а непосредственно Box, Box2, Box3, чтобы контролить отдельно каждую коробку?
if body.get_name()=="Box"
if body.get_name()=="Box2"
if body.get_name()=="Box3"
if body.is_in_group()=="Boxes"
if body.get("tag")=="hurr_durr"
Варианты имеются.
body.get_name() выдаёт имя KinematicBody2D в этой сцене, а мне нужно название этой сцены непосредственно проверить
Внатуре затупил. Спасибо!
https://www.twitch.tv/daijazzy
Ну и молодец. Желаю ему успехов!
Я вот одного не пойму, ебаный марио вышел в 1985 году и был написан на ебаном ассемблере, но даже там заложили отзывчивость и инерцию в управление персонажем, он плавно набирает скорость, плавно тормозит, при управлении ощущается его вес, он не может моментально изменить направление падения или прыжка в воздухе, подчиняется законам физики, пусть и примитивной с учетом того, что это денди, ассемблер и 1985 год.
Почему современные инди петушки берутся делать платформеры, в которых вроде как уже все изобретено, но при этом не изучают классику и делают какое-то примитивное говно, даже имея мощные и простые инструменты разработки? Персонаж перемещается как картонка, с постоянной скоростью, моментально набирает скорость, моментально останавливается как вкопанный, у него нет инерции, он смотрится и ощущается как говно. Это же касается и всего остального - поведения врагов, атак, прыжков и прочего, все какое-то картонное и неестественное, хуже может быть только дефолтный физон через ригид боди на персонаже, наверное.
Братьев Карамазовых написали еще хуй знает когда, почему современные сценаристопетушки пишут всякую хуйню?
Т.е. ты сейчас на весь тред признал, что первый марио из 1985 года это недосягаемый уровень для годотиров?
Ну скопировать не проблема, как и перепечатать великое произведение, а ты попробуй свое придумать. Кто-то пытается без инерции, резко тормозит, у кого-то вес не ощущается.
>>590784
Вот держи. Надеюсь это то чего ты хочешь:
https://www.youtube.com/watch?v=BeSJgUTLmk0
Потому что нинтендохардговно не нужно. Я ебал угадывать где приземлится персонаж с инерцией.
Опять ты Дорогу Говна всем пихаешь?
Не смей так называть моего отца! Он не пидар!
В личку ответь.
Заебись стример. Охуенно коментит гейдев. Прям по двачерски, ебать-колотить!
Боже, какой треш и угар. Просто сам качаешь и собираешь. Один раз scons настроить и все.
Нормальный вопрос.
Я дома работаю со стим-версии, а на работке - с обычной, которую таскаю с собой на флешке. Зависимости нет. Брат жив.
И ещё тебе совет
> отставание от сайтовой версии
Не гонись за свежаком, особенно в опенсорсе. Предпочитай стейбл-версии, даже если в анстейбле весь ютуб показывает умопомрачительные новшества.
А когда начнёшь работать над серьёзным проектом, то об обновлениях (движков, фреймворков, утилит, редакторов) вообще забудь. Выбрал версию и ебошишь в ней до конца. Можно конечно впоследствии, после завершения проекта перевести его на новую версию движка. Но не в процессе девелопа.
2) Как реализуется обновление игр на клиентских ПК? Можно сделать, чтобы игра сама по себе обновлялась во время запуска?
Если ты задаешь такой вопрос здесь - значит тебе вообще не стоит заниматься каким либо программированием.
Значит не может. Яснопонятно.
>Можно сделать, чтобы игра сама по себе обновлялась во время запуска?
1) Делаем HTTP запрос на сервер игры, чтобы получить актуальную версию
2) Сравниваем актуальную версию с версией игры на клиенте
3) Если версия игры клиента устарела, то выводим окошко ОБНОВЛЕНИЕ, ПЛИЗ СТЕНД БАЙ и начинаем загружать актуальный билд игры
4) После окончания загрузки устанавливаем актуальный билд, а старую версию игры удаляем
Я завтыкал, что у меня на выходе два готовых файла, которые сами себя по частям не перепишут.
> Можно ли как-то интегрировать ебучий .pck в .exe?
Твой вопрос широко рассмотрен в интернете, только гугли "упаковка dll в exe"?
Я для себя буду делать внешний менеджер обновлений не на годоте. Возьму для этого шарп с ГТКшарпом в качестве интерфейса. Или лазарус, чтоб не забывать корни. Но ИМХО это будет удобнее и проще, чем обновлять игру из самой игры.
Впрочем, смотря какое обновление.
Типовая игра на годоте это файл экспортного шаблона (запускной бинарник), содержащий движок и команду на запуск стартовой сцены из файла pck который должен лежать рядом.
Однако в сам движок уже искаропки заложена система подгрузки контентных патчей, модов и длц, которые упакованы в pck-файлы, внутри своей игры ты можешь определить любое место для хранения этих файлов, можешь их загружать из сети, устанавливать в локальную директорию, подгружать к проекту.
Так что, в зависимости от архитектуры твоего игрового проекта, возможно лично тебе и не понадобится внешний менеджер обновлений. Добавочные PCK можно обновить в самой игре, а основной PCK и запускной бинарник можно обновлять установщиком приложения в виндуксе или менеджером пакетов в линдовсе.
Я гуглил про .pck, и понял, что не выйдет. На ithc.io у всех тоже по два файла в zip архиве
https://www.reddit.com/r/godot/comments/9281q1/godot_3_exporting_a_game_to_pc_without_making_a/
> не выйдет
У тебя? Сочувствую.
Твоя целевая аудитория не сможет разобраться как запустить игру, которая состоит из 2+ файла в архиве? Соболезную.
Хули тут еще сказать?
Самый простой способ: упаковать в самораспаковывающийся архив, который молча распаковывает в temp и запускает указанный тобой game.exe но есть один нюанс, некоторые антивирусы могут взвизгнуть когда кто-то молча распаковывает в temp и запускает.
В таком случае, делать не молча, чтоб распаковщик показывал окно в стиле "плиз вейт... распакин..."
Создатели не предусмотрели кнопку "сделоть зоебись".
А вот в юнити, например, такой кнопки тоже нет. Зато есть куча уже готовых костылей, написанных другими, которые можно спиздить или купить. А потом объединить их функционал личными костылями и родить свое чудовище Франкенштейна. И оно даже работать будет, пусть и с переменным успехом. Поэтому любой неосилятор начинающий разработчик знает: юнити - сила, а годот - сложна, сложна, нипонятна. И соответственно впадает в ступор, когда ему что-то приходится делать самому, а винит во всем движок.
Получается, изначально нажимать на простоту было ошибкой? Годот не для новичков?
Я-то сам в кодинге 15 лет и сразу определил, где там что, гдскрипт даже учить не пришлось просто сел и начал выдавать код, сверяясь со справочником, когда было что-либо не очевидно.
Например, вот этот код мне ни один туториал не подсказывал, я сам, на основе своего опыта разработал для себя удобную мне структуру данных, которую записываю в контекстное меню и в нём прописано, какую функцию вызывает клик по элементу меню.
Новичок никак не может с ходу научиться так проектировать код на несколько шагов вперёд. 10 лет назад я бы сам так не додумался.
>Получается, изначально нажимать на простоту было ошибкой? Годот не для новичков?
Для новичков только констракт, остальные одинаково сложные, что годот, что юнити.
Я охуел, когда после годота мне питон попался (а я в девопсы мечу). Фактически, питон оказалось просто слегка подшлифовать надо.
Ебать как легко и удобно создавать гуи на питоне, на юнити было гемморойнее
https://twitter.com/_AndreaCatania/status/1148589702469115909
Ты бы хоть загуглил, что это за движок, перед тем как кудахтать. Его не один этот чел пилит, а целое коммьюнити, и довольно давно.
И в перспективах у него стать одним из самых производительных движков для узкого круга продвинутых юзеров, когда либо созданных за историю, там уже сейчас под капотом самая быстрая в мире реализация ECS на расте. С годотом он уже сейчас не стоит рядом по перфомансу, но пока вся разработки через код, гуи еще не допилили.
Сука, я не верю блять, этот годаун уже давно переметнулся на это новое говно, которое запилено на 2 процента от недоделки-годота. Это какая-то психическая болезнь.
>С годотом он уже сейчас не стоит рядом по перфомансу
Это слишком легко, годот это труп на дне выгребной ямы, что угодно не стоит с ним рядом по перформансу
А с чего он должен вечно поддерживать годот? Можно подумать, он у Хуана на зарплате сидел. Чувак занимался в свободное время своим хобби, ему никто за это не платил. Надоело - стал другим заниматься, какие к нему могут быть претензии?
Да и 100% в Хуане дело, он может не давал ему свой говнокод переписывать и принимать решения, вот и перешел в проект, где рулит коммьюнити, а не пожизненный диктатор-эгоист.
> impl<'a> System<'a> for WalkPlayerUp
> { type SystemData = WriteStorage<'a, Transform>; fn run(&mut self, mut transforms: Self::SystemData) { transforms.get_mut(self.player).unwrap().prepend_translation_y(0.1); } }
Спасибо не надо
>А с чего он должен вечно поддерживать годот?
Я не про разраба, а ничтожного тебя. Разраб то выбирает что лучше, а ты что хуже.
Петухов нужно унижать и пиздить, чтобы остальные люди не хотели быть петухами.
>В Юнити треде такие же потоки в сторону Юнити?
Нет, потому что юнити это элитный топовый движок для господ, который к слову стоит 3млрд долларов, а говногодот это хобби потешного ленивого аргентинского пахома.
Надо фотожаб наделать с этой лольной пикчей
Но ведь хохлы в 3D на уровне богов.
Зато Годо маленький, простой и нетребовательный. А Юнити это монстр, которому пека мощная нужна.
> простой
Но создать первую 3D сцену мне конечно же было проще в Юнити, потому что там уже всё изобретено, только скачивай со стора, а в Годо погромировать надо.
Для Unity нужен более мощный компьютер относительно Godot. Так тебе понятно?
И материнку сменить под него, а затем и память под материнку. Короче весь системник менять.
>А Юнити это монстр, которому пека мощная нужна.
>Хочу делать топовое тридэ чтобы продалась миллионами и чтобы все работало на одно ядро одно гиго!
Тупица
>Годо маленький, простой и нетребовательный
Ты уже забыл как он отказывался работать на старых видюхах или просто прикидываешься дурачком?
Съебись в закат, олух.
Ты ебнулся там? Я никогда и не пользовался годотом, запустил пару раз, охуел от количества багов, посмотрел исходники, охуел от качества говнокода, больше к этому творению не прикасался. Сюда заходил изначально чтобы проследить за развитием годота, когда понял, что у годота один путь - в могилу, стал заходить чтобы попроигрывать.
С чего ты там выдумал, что я имею отношение к годоту?
Аметист пощупал из интереса, он пока сырой, но очень годный. И в нём уже есть то, чего нет в годоте - спрайт батчинг, например, рисует сотню тысяч спрайтов без просадок фпс, сам проверял. Буду следить за его развитием дальше.
Твоя мамка так сказала, пока я её чпокал в попку.
Я периодически чекаю и удивляюсь
Его кто угодно может делать, представь себе. Ты заходишь на гитхаб, клонируешь, пишешь код, потом создаешь мерж реквест и его принимают. Прикинь, именно так и разрабатывается опенсорс. Это не годот, где придет Хуан и скажет, "спасибо конечно, но я выдрачивал этот говнокод 25 лет, и не дам тебе менять его, поэтому твой коммит придется выкинуть"
Ты какой-то странный.
А у него есть андроид, айфон, VR?
Сразу видно дивана. Опенсорс так не работает.
Уже джва месяца я говнокожу самодельный комбо-бокс. Подкиньте идей, как грамотно сделать, чтобы он мог хранить индексы текста, и чтобы при напечатывании в него нового текста, которого нет в списке, он добавлялся бы в список с новым индексом.
Я тут наговнокодил какой-то хуйни, но она работает не так, как мне нужно.
Какое же годот дерьмище...
а мог бы игры делать
>Попытался ради интереса сделать на годоте циферблат
Ну это зашквар, как теперь будешь очищаться?
Без нормального циферблата игру не сделоть.
Давай ты мне комбобокс сделаешь, а я тебе циферблатбокс.
как же мерзко этот "код" выглядит
Сейчас бы считать косинусы/синусы во время каждого кадра вместо того, чтобы один раз просчитать их при инициализации. Оптимизация уровня Хуана.
Вот он уровень хейтеров годота. Перепутать draw и process. Смотрите на него, смотрите и хохочите!
Если делать секундную стрелку, то каждую секунду реалтайма будет высчитываться 12 синусов и 12 косинусов для одной шкалы и одной стрелки. Если делать без секундной стрелки, то и того реже. Раз в минуту реалтайма.
>Перепутать draw и process.
Так пишешь, как будто каждый человек на этой планете должен знать эту хуйню.
Я тебя удивлю, но если человек живет полноценной жизнью, выходит на улицу и занимается сексом с тяночками, он вряд ли знает что такое draw, process и в чем их отличия. Это знают только чуханы, которые сидят на липком от малафьи проперженном стуле и задрачивают годот 24 на 7.
... И Захохотал В Голосину.
>Перепутать draw и process
Несложно ошибиться, ведь нужно обосрать гондотера ни разу не открыв гондота (чтоб не зашквариться), приходится гадать, что там за хуйня.
А ты пытаешься траллировать гондотеров в перерывах между прогулками и еблей тяночек? Я правильно понимаю?
700x392, 0:20
Это ты просто безрукий.
Ну конечно, ЕСТЕСТВЕННО! Сижу на яхте, троллю гондотирав.
Хотел тебя обоссать, а потом подумал что ты прав, ведь это Хуан называет все нестандартными названиями.
Бля, чет я обосрался с опечаткой.
Ну ты посмотришь на 3D, и решишь что можно делать годноту не хуже Юнити.
> решишь что можно делать годноту не хуже Юнити.
Производительность дерьмо в гондоте, лайтмап нету, гипробы непригодны, их две, для интерьера и экстерьера, работают хуево, надо было такую хуйню сотворить.
Слава Мастеру-Распидору!
Игра заключается в том, чтобы попасть мушкой по скачущему пункту меню?
Забыл добавить отсутствие окклюжен куллинга. В годоте вся 3д сцена всегда рендерится полностью, поэтому годот не приспособлен для больших размеров 3д сцен.
У гододиков так принято, тратить недели на то, что из коробки есть в нормальных движках?
Вот сделал ты домик из 20 комнат, будешь для каждой ручками скриптовать дата стриминг, как макака, чтобы все 20 не рендерились, пока ты находишься в одной и смотришь в стену?
Анон чего ты пытаешься добиться этим? Что бы мы перешли с годота на юнити или еще что-то?
Ничего не пытаюсь, просто озвучиваю истину, чтобы ни у кого не было иллюзий по поводу применимости годота хоть в чем-то, кроме демок.
>В годоте вся 3д сцена всегда рендерится полностью, поэтому годот не приспособлен для больших размеров 3д сцен.
Правда?
Как это говно тогда вообще взлетело и почему не пофиксили
Ведь это действительно пиздец
Юнити-клоун не знает про мой визибилити нотифаер.
Просто в остальных тредах девача кириллы что то делают, в годотреде просто говорят всем что они они пользуются годотом
>в годотреде юнити-клоуны без игор просто пиздят друг-другу что они они пользуются годотом
Пофиксил.
Знаешь это вполне естественно ведь первая версия годота вышла в 2014 а юнити в 2005, и нет ничего необычного что он годится только для демок. Я уверен, что юнити в начале своего пути был таким же.
>юнити в начале своего пути
Там было ещё хуже. Там была попытка одолеть флеш и у него был свой юнити-плеер для браузеров. И конкурировал юнити с флешем и сильверлайт.
Есть разница с опенсорсным движком, у которого со старта деятельности - нативные бинарники под каждую целевую платформу?
Что значит забыл? Я и не знал.
Так и нахуй тогда нужен гондот? Сейчас еще какой-нибудь аметист энджин выходит, еще сырее, перескакивай на него, потом еще выйдет новый, если ты фанат младенческих движков.
>гамак?
Был вполне достойный для 2д и цифродрочилова, потом слили
Годот просто слили хуй знает зачем нужен
Ты какой то дурачок
прекольна
А потом, когда упрёшься в математику, будешь ломать голову.
Я про пресловутый дабл, который ещё в 3.0 обещали сделать. Потому что вдруг окажется, что для описания красивых/сложных процессов используются формулы с точностью по 10-12 знаков после запятой. А с точностю в 7 знаков у тебя всё разносит.
Хотя для простеньких - почему бы и нет. Были же простые, но годные игры, типа plants vs zombies, plague inc.
Формулы какие-то, знаки какие-то. Взял скачал готовые скрипты из юнити стора, потом готовые модельки скачал, хуяк хуяк и игра для мобилки.
>дабл, который ещё в 3.0 обещали сделать
А чем тебя дабл С++/С# не устраивает? Ты у нас собрался сложные процессы с формулами по 10-12 знаков после запятой рассчитывать на подобии питона? Или я тебя неправильно понял?
>>592537
Из треда в тред одно и тоже. Мне кажется, в шапку стоит запилить что-то вроде этого: использовать годот для 3д - это такой же долбоебизм, как использовать уеч для 2д или использовать юнити в принципе.
Пиздец не это, а то, что фанатики годота считают, что это норм, и предлагают самим ручками скриптовать куллинг на тормозном гдскрипте - >>592582
Действительно, нахуя люди годами ломают голову и пишут мега-оптимизированные алгоритмы на плюсах, чтобы невидимые объекты отбрасывались автоматом и это работало быстро. Ведь можно просто ручками всё прописать, на gdscript'e, для каждого объекта на сцене.
>программировать бинарные деревья на скриптовом динамическом языке
>все быстро должно быть
>вместо разработки собственно игр
Это такой новый троллинг уровня /godot?
Надо просто нормальный движок использовать.
https://www.reddit.com/r/godot/comments/ccbk6f/blender_280_removes_blender_game_engine_and/
блендер в новой версии уберет BGE и одни в одной строчке упомянули годот как альтернативу. Это победа!
Такой-то манямирок в комментариях.
Они уже давно удалили бге и даже брали какого-то деда писать интерактивный движок новый для блендера. Если возьмут гондот, это, конечно, круто, пусть юнитеки боятся и больше денег вливают в двиг. Но я сомневаюсь, что они возьмут годот в команду, они даже любоша не взяли, так порекомендовали и хватит
Я могу все 4 выбрать?
Они никого не возьмут. Они просто упоминали годот как опен-сорс альтернативу BGE
>Они просто упоминали годот как опен-сорс альтернативу BGE
Ну и зачем тогда эта новость здесь? Мало кто что упомянул.
Дабл в 3д ничем не поможет, была статейка на хабре. Если хочется делать огромные карты на кв. километры без артефактов то только фиксед поинт.
Ну и где же все эти деревья? 3д годоту уже два года, почему никто так и не смог их написать и выложить в ассетлиб или на гитхаб?
Потому что это было нерабочее кривое тормознутое говно.
Мы то все понимаем что годот туда если и возьмут только за то, что Хуан бухал в пивнушке вместе с разрабами Блендера, а не за объективные качества годота.
Не понимаю, вот нахуй им что-то брать, если у них сейчас заебись рендер топчик крутяк? У них есть огромные наработки с бге, ну запилите вы нормально, если даже хуанг в полтора рыла смог, у них там за бесплатно последние несколько лет несколько человек пилила бге, не хотим, будем говно жрать
Потому что блендер это 3д редактор, у него другие задачи и он заточен не на реалтайм быструю картинку, а на медленную но более точную и красивую.
Но иви это и есть крутой реалтайм, если уж они раньше запилили бге, сейчас сам бог велел
Я конечно не слежу за происходящим там, но когда последний раз крутил сценки в блендере, они рисовались такими крупными пикселями без алиасинга, а потом как бы прогружались.
Вот собственно скрин с первого попавшегося видоса.
Пасиба папаша за годот куб серого цвета двадцать первого века
>Рогалики
И что в этой игре рога-подобного? Вижу псево3Д, вид от первого лица, риалтайм шутер, перемещение не по сетке, отсутствие явных рпг-элементов, особой случайной генерации карты по полутораминутам тоже не заметить -- по какому пункту это рогалик? По пермадезу что ли? Но ведь и по Press R to restart тоже не понять с какого момента будет рестарт. Зачем вообще использовать слово если оно у Вас нихуя не значит?
Хуя он отъелся на донатах
>Столько годноты
>@
>Вольфенштейн 3д от 1992 года.
>Писал его месяц
>И то часть спрайтов спижжена
>Столько годноты постят в оффициальном дискорд сервере годота
https://twitter.com/RandomPedroJ/status/1150134078160678912
https://www.youtube.com/watch?v=Bkz4htkqHTQ
Мне кажется это уже какая то гиперпостмета ирония.
Ты какой то странный. Сходи на курсы общения с людьми, может там тебя научат понимать написанное.
Аж на слезу пробило.
https://bauxite.itch.io/meteorite
ТЫ НЕДОСТАТОЧНО РЕТРО
Хуизити нотифаер. Ты бы хоть прочитал, что он делает. А делает он ровным счетом нихуя - просто не рендерит объекты, не попавшие в камеру. То есть попросту примитивнейший frustum culling, у Хуана просто тяга называть старые вещи новыми именами, чтобы было не как у всех.
https://github.com/godotengine/godot/issues/7336
>The visibility notifiers only says when nodes enter viewport/camera/screen, not when is visible to the human eye.
А окклжен куллинг - это когда у тебя не рендерятся объекты попавшие в камеру, но перекрытые другими объектами. Например, комната за стеной, или объекты за большим препятствием. Твой нотифаер не спасет от этого. Если у тебя в сцене куча комнат, и ты подошел к стене - с окклюжен куллингом у тебя будет рендериться только это стена. С визибилити нотифаером - будут рендериться все комнаты, попавшие на линию обзора за этой стеной, со всеми мелкими деталями и предметами.
Достаточно понятно объяснил, чтобы ты перестал срать со своим нотифаером в тредах?
Пик 1. 2004-й год. 348 килобайт. Платформер с 3D для Sony Ericsson.
Пик 2. 2005-й год. 308 килобайт. 3D шутер для телефонов.
Пик 3. Ну вы понели. 3D шутер для современных мощных 64-битных компьютеров. Весит 29 мегабайт.
> Достаточно понятно объяснил, чтобы ты перестал срать со своим нотифаером в тредах?
Недостаточно.
Теперь расскажи мне, что мне помешает объединить визибилити нотифаер с рейкастом и получить бесплатный оклюжен куллинг, не платя роялти юнитекам и зарабатывая миллионы?
>не платя роялти юнитекам
>1.5k если заработал за год больше 100к
Да брось, смешно упомянать такое.
Это не совсем честно, потому что sony ericcsson юзал jsr 184 для 3d, считай там движок в ОС. Прошивка весила 30мб, так что мегабайт 5-10 точно под яву уходило.
> что мне помешает объединить визибилити нотифаер с рейкастом
Не знаю что помешает, но это нечто мешает уже 3 года потому что никто из пользователей годо так и не сделал и не выложил.
Качай сборку с шишарпом.
Либо на плюсах пиши модуль через gdnative.
А лучше возьми какой-нибудь libgdx, там хоть спрайт батчи из коробки есть, а то наешься говна с годотом.
Нуу libgdx слишком bare bones для меня, вероятность обосраться изобретая очередной велосипед СЛИШКОМ ВЕЛИКА
Придется шквариться о шарп... как бы юнити-дебилом не назвали после такого?
Я хочу сделать крутую мморпг, конечно же. Вот 3д или 2д не решил еще. С одной стороны, 2д проще, но рисовать 2д я вообще не могу, а 3д могу со скрипом.
Сервер хотелось бы писать на джаве.
Ну это большой шаг назад. У меня уже был работающий прототип в анриале, но из-за мерзкого С++ мне пришлось весь код на блюпринтах делать и в итоге появились километры нод. Почему все не могут делать скриптинг в своих движках на православной джаве?
>Почему все не могут делать скриптинг в своих движках на православной джаве?
Потому что пока есть шарп - ява нинужна. Ведь ява - это по сути умственно отсталый брат близнец шарпа. Но зато в этом и главный плюс явы - после нее вкатиться в шарп будет очень легко.
Но это только когда производительность нинужна.
На самом деле я люблю питон, но у него есть еще одна беда - при всей своей простоте, у питона нет нормальной защиты от дурака, что позволяет при желании незнании наебашить просто ебического уровня говнокод. А если это еще и не ты наебашил...
> это нечто мешает уже 3 года потому что никто из пользователей годо так и не сделал и не выложил
А хули там делать-то? 4 строчки кода и АКЛЮЖОН КУЛИН - готовченко.
Даже визибилити нотифаер не нужен, к которому тут брат-годотер доебался (на самом деле нужен на уровень выше данного кода, чтобы отсекать эту обработку для всех объектов вне поля зрения камеры, а в поле зрения - работают эти 4 строчки).
До сих пор открытым остается вопрос есть ли на Godot полноценные 3D игры, а не демки уровня твоего вебм.
Пусть весь мир склонится перед твоей гениальностью, Учитель!
> туториалы даже не начал делать
Ты начинай, мы поддержим! А то Петя-сканер что-то совсем стух.
Серьезно не тестил, для небольших сценок без ги сойдет, с ги ничего не получится, даже маленького.
Возми да попробуй, какие проблемы? Он весит мало.
Блин, не заставляй меня качать годот, ничего с тех пор не изменилось, хуан не допиливал пробы. Их когда растягиваешь там пиздецы вылизают, но главная проблема в том что там два вида проб и это фейл
Ну как же ничего не изменилось, если на вебэмке выше в 60 фпс идёт глобальная иллюминация на всю сцену. Ты чудной.
На твоей вебмке не такая фигура, ты сделай такую, видишь же гипробы сами по себе хуево делают свет, не так как в блендере юнити и анриале. Внутри фигуры светло, нужно еще пробу интерьерную ставить, но там не получится из-за угла. В других движках нет этой проблемы вообще.
The whole setup is BS because such an reflective material is probably either not or differently handled by the GI solutions. This is easy to setup this way if you don't know what your doing.
Ничего нового
Так и думал. Там написано что тесткейс говно и такое выходит у тех кто не знает что делает.
Ага, везде нормально а в годоте говно, ведь там так много настроек!
https://www.youtube.com/watch?v=90XPxd2533c
Через полгода по опыту прошлых
Звучит очень странно, либо спрайт кеширует текстуры, либо у тебя где-то не вовремя вызывается.
Почитай тут https://docs.godotengine.org/en/3.1/tutorials/2d/custom_drawing_in_2d.html
А при чём тут большие миры, когда речь идёт о точности воспроизведения движения электронов вокруг ядра атома, например? Вез дабла выгодит несколько криво порой + при изменении орбиты иногда у меня начинались отклонения.
Просто хочешь, не хочешь, но это нужно. А пока у нас аргумены уровня "ногоблядь - не человек, ноги не нужны". Тогда вопрос, на кой сами же годоторазрабы хотят поддержку дабла таки добавить.
>>593496
Это скорее проблема конкретного дизайнера/разраба, чем годота. Движу какая разница-то? Что ему скормили, то он и показал. Как говорится, неча на зеркало пинять, коли рожа крива.
>>593512
>у Хуана просто тяга
А это не только у Хуана.
>>593530
Там вроде 1,5к - это вроде если больше 200. А от 100 до 200 - это что-то типа 300 баксов в год. У тех же джетбрэинсов одна idea стоит под 500 баксов в год.
>>593642
Привыкать. У меня на работе (не связано с геймдевом) сейчас golang в ход пошёл. После плюсов у меня глаз дёргается при виде кода на go.
>>593722
Сдаётся мне, крутая мморпг будет скорее от сеттинга зависеть и от реализованных плюшек, а не от движка. А ещё обдумай, что реализовать многие вещи в 3d будет сильно проще и бюджетней(!), чем в 2d. Вероятно, то, почему homm4 с такой грустной графикой вышли в своё время. Уже тогда это было бюджетней, чем 2д отрисовывать. Просто посмотри по всяким биржам, сколько стоит пак отрисованной графики. Почуствуешь себя нищебродом. Хотя годный двадэ это очень лампово. Я просто радугой готов кончить, когда вижу такие игры.
>>594088
>С вулканом итд
Это же вроде только в следующей мажорной обещали?
>А при чём тут большие миры,
Притом что обычно это вылезает когда новички удивляются почему они засунули многокилометровую карту и оно не работает.
>когда речь идёт о точности воспроизведения движения электронов вокруг ядра атома, например?
Это говорит только о том что ты пользуешься вещественными числами неправильно. Я надеюсь, ты же не тупо копипастил с вики числа типа 0,0000000135?
Дабл тебе поможет замаскировать проблему на время, но баг ты не исправил. Это то же самое что вместо 4гб поставить 8гб и считать что программа больше никогда не вылетит.
Я увы, не знаю ещё, что делаю. А те, кто знает, нихуя не говорят.
Формат представления вещественного числа в памяти ЭВМ в виде целого числа. При этом само число x и его целочисленное представление x′ связаны формулой , где z — цена младшего разряда. В случае, если, для удобства расчётов делают, чтобы целые числа кодировались без погрешности.
В компах обычно юзают вещественные числа (с плавающей точкой), т.е. у тебя может быть 1.000 а может 100.0.
Фиксированная точка означает что у тебя всегда одно и то же количество цифр до и после запятой. Например 8 бит целое и 8 бит дробная часть.
Это дает профиты в точности рассчетов за счет уменьшения диапазона чисел которые можно выразить.
Именно так и делают. Проблемы с флоатами бывают когда пытаются весь мир засунуть без сдвига.
Окей. Твои предложения на этот случай, или случай, когда когда речь идёт о константах?
Использовать внешние библиотеки? Нафиг тогда годот, если это выглядит как тупое усложнение на ровном месте (ровно то, от чего всякие IDE призваны спасать)? Ты понимаешь, что ты только что тупо подтвердил проблему? Ты опять ищешь оправдания явным минусом, делая вид, что так и должно быть. У Хуана свой особенный путь и предполагаемый список изменений для 3.0 он не реализовал/не смог. И тут часть анонов начинает ссаться кипятком, что так и должно быть, ибо НИНУЖНО, отчего весь движок и окружающее его комьюнити выглядят убогими, не смотря на все фичи и потенциал.
Ну а что ты хотел? Вполне логично, что работа с числами идёт рука об руку с математикой.
У меня трояк был по матану в универе, но это не помешало мне быдлокодить за деньги :-)
Какие еще внешние библиотеки к хуаноскрипту?
У меня тоже. Но когда ты как-то соприкасаешься с предметной областью, то некоторое внимание её изучению/вспоминанию данных о ней тебе уделить приходится.
> Использовать внешние библиотеки? Нафиг тогда годот, если это выглядит как тупое усложнение на ровном месте (ровно то, от чего всякие IDE призваны спасать)?
Я мимокрокодилящий ОП треда. Правда плашку проебал. Вот моё официальное мнение на этот счёт:
Годот, юнити и УЕЧ, хороши для новичка, вкатывающегося в геймдев. Как и любые другие движки с упором на WYSIWYG-редактор, констракт, гамак, и т.д. Как только новичок перестаёт быть новичком, проходит так сказать, барьер Даннинга-Крюгера, он осознаёт, что ему не нужен годот или юнити, как редактор уровней. Отныне движок ему нужен только лишь, как фреймворк, в который удобно сведены управление видеокартой, звуком и сетью. В едином стиле, в едином И УДОБНОМ ЛИЧНО ЕМУ неймспейсе (или наборе таковых). И тогда разработчик игор действительно переходит с движка-редактора на подходящую ИДЕ с объявлением движка в заголовках кода. И это уже профессионал.
Поэтому потенциал для работы с профессионалами есть только у тех движков, которые позволяют разработчикам работать со своим АПИ в сторонних ИДЕ. УЕЧ, юнити, уже давно на это настроены, Хуан только недавно раздуплился и то, не без доната майков.
В общем, tl;dr Профи не стесняются брать внешние библиотеки, если знают, что делают. То что Хуан отказывается от внешних либ (о чем возмущались ИТТ не раз) - не повод обвинять его в непрофессионализме или диктаторстве. Возможно, он как профи понимает недоступные нам, быдлокодерам, минусы такого сбора с миру по нитке.
> Эффект Даннинга — Крюгера — метакогнитивное искажение, которое заключается в том, что люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Проще говоря, как дорастёшь до моего уровня - осознаешь, каким идиотиной ты был.
Ты просто ебанат. Никто не хочет опускаться до твоего уровня.
Ебанашка, это ты предлагал уровни в блокноте писать, как профессионал, вместо того, чтобы мышкой расставлять объекты?
Пациент страдающий Даннингом-Крюгером здесь только ты. Забавно, но из-за этого тебе это не понять.
Тебе ответили. Пересматривай алгоритмы своих вычислений так, чтобы работать в рамках инженерной точности.
Я не разбираюсь в инструментарии, поэтому спрошу.
Какие есть преимущества и недостатки у Godot перед Unity и в обратном направлении, что есть, и чего важного нет в ОБЪЕДИНЕНИИ
Слышал, что в Godot самый что ни на есть настоящее 2д, да и вес файлов меньше.
Это не холиварный вопрос, не еда для троллей, мне просто действительно стало интересно узнать у людей, у которых опыта больше.
Сам в некоторые время тыкался в Unity, но за Godot взялся посмотреть только сегодня. Хотел узнать мнение людей
Почему у него должны быть какие-то преимущества над Юнити? Это просто опен сорсный движок, он по определению в положении догоняющего.
Именно поэтому я тут и спрашиваю, может что-то есть эдакое
Годот уникален своей аудиторией.
Они сначала твердят что он для 2Д.
Спрашиваешь где же их 2Д игры.
Они начинают говорить, что 2Д там для галочки и годот для 3Д.
Спрашиваешь их где же 3Д игры.
Они начинают говорить, что 3Д в годоте представили совсем недавно и поэтому 3Д игр ещё нет.
Очень уникальные люди.
Думаю именно пользователи годота совершат прорыв в 4Д чтобы можно было продолжать отмазываться.
Безыгорная чмошка спрашивает у безыгорной ебанашки: где же ваши игры?
Покажи свои игры отвечает безыгорная ебанашка.
Преимущества: открытый код. Отсутствие вендорлоков в ресурсах.
Недостатки: тормознутость кода, отсутствие фич, которые закрыты авторским или патентным правом. В т.ч. невозможность бесплатно релизнуться на консолях.
Я полностью согласен с тем, что годот это /гд мира движков.
Коллега, я не нашёл ответа на свой вопрос и баг ещё в силе.
Алгоритм прост - я рисую имейдж, вставляя его через draw в спрайт. Если кто то знает что то об этом, пожалуйста, сообщите.
Так же не могу найти оффсет у конкретного атлас тайла. Могу выставить только у single. Есть какие-нибудь трюки, которые помогут, кроме перерисования тайлов?
Начал ковырять годо, и я прям теряюсь от нагроможденности движка, какие-то компоненты нужно сохранять для повторного использования, почему не создавать экземпляр через код?
Каакая-то куча на первый взгляд одинаковых геймобджектов, спрайт, анимецтед спрайт, спрайт баттон просто охуеввешь от растерянности, почему просто не используется какой-нибудь объект спрайт куда можно добавить анимацию или добавить интерактива по клику? Непонятно..
В общем хочется делать игоры а не ебаться с редактором, не для того моя роза цвела. Нет редактор очень удобная штука, когда речь заходит об о дизайне уровня например. Но зачем туда лезть по каждому пустяку?
На том же sdl получается прототипировать игры значительно быстрее.
Но кончено понимаю, что так до поры до времени, пока проект не начнет разрастаться в ширь. По этому хочу победить боль и всеже освоить годо, но изучение его идёт ооочень трудно.
> почему не создавать экземпляр через код?
Создавай.
var obj = Sprite.new()
obj.texture = load("path/to/png")
add_child(obj)
Ты можешь всю игру создать кодом. В редакторе нужно будет создать главную сцену и всё. Далее скрипт начинает грузить объекты.
А то что в туториалах показано - это всё для удобства новичков.
> куча на первый взгляд одинаковых геймобджектов
Просто читай документацию. Не вижу проблемы.
Sprite работает со спрайтлистами.
AnimatedSprite работает с одиночными фреймами.
> хочется делать игоры а не ебаться с редактором
> зачем туда лезть по каждому пустяку
Не лезь. Как показано выше.
> пока проект не начнет разрастаться в ширь
Это отдельный большой вопрос, общий для всех движков и фреймворков. Организация проекта.
спасибо, вроде годно.
> как это реализовать? control + дочерний animatedSprite? или есть что само по себе умеет?
Есть кнопка со спрайтом.
https://docs.godotengine.org/en/3.1/classes/class_texturebutton.html
да я находил, но гне понял как анимацию туда прикрутить, мне нужно, чтоб персонжа моргал, зивал, удивлялся и т.д.
Да, конечно.
Создание нового image.
var texture = Image.new();
texture.create(i_from,j_from,false,Image.FORMAT_RGB8);
Запись пикселей в зависимости от точки на карте:
texture.lock();
texture.set_pixel(i,j,Color.darkgreen);
texture.unlock();
Вызов рисования с ноды тайлмапы:
minimap_draw(texture,self,camera);
func minimap_draw(image,tilemap, camera2D):
minimap_image.create_from_image(image);
geo = tilemap;
camera = camera2D;
update();
func _on_mini_map_draw():
if minimap_image != null:
self.set_texture(minimap_image);
pass
Из-за чего-то здесь не отрисовывается текстура на спрайте.
Как показать тебе отсутсвие офсета в наборе тайлов? (тайл-атласе)
Да, конечно.
Создание нового image.
var texture = Image.new();
texture.create(i_from,j_from,false,Image.FORMAT_RGB8);
Запись пикселей в зависимости от точки на карте:
texture.lock();
texture.set_pixel(i,j,Color.darkgreen);
texture.unlock();
Вызов рисования с ноды тайлмапы:
minimap_draw(texture,self,camera);
func minimap_draw(image,tilemap, camera2D):
minimap_image.create_from_image(image);
geo = tilemap;
camera = camera2D;
update();
func _on_mini_map_draw():
if minimap_image != null:
self.set_texture(minimap_image);
pass
Из-за чего-то здесь не отрисовывается текстура на спрайте.
Как показать тебе отсутсвие офсета в наборе тайлов? (тайл-атласе)
Так, починено yeld'ом. Прошу прощения за доставленные неудобства.
Вопрос с offset пока в силе.
не, ну я прочекал на сайте все их примеры готовых проектов а их пиздец мало и чета не нашел ничего годного.
Быть может это из-за его низкой популярности канеш, но сам пойми, доверия это не внушает.
Движок мне интересным показался, но похоже, что все таки стоит исользовать что-то проверенное временем.
Гугли terrain generator. Planet generator.
Так же тебя заинтересует https://www.youtube.com/watch?v=afYf1VCI4HE.
В общем у меня не получилось воспроизвести.
Может быть ты не оттуда update вызываешь?
Вот эта штука у меня рисует в окне в реальном времени.
Да. Но иначе я не могу справиться с этим багом. И прописывать все в draw() тоже. Я генерирую карту симплексноисом, и мне при генерации нужно записывать значения.
Планирую пилить карточные игори без особых выебонов в визуалке но с тяжёлой логикой.
А тяжелую логику можно пилить на плюсах.
Ихъязык от питона взял только форматирование отступами вместо {скобачек}. В остальном это совершенно иной язык, который транслируется в плюсы при выполнении. Из-за этого в нем типизация псевдодинамическая (тип Variant, неявно присутствующий в скрипте и передающийся при трансляции команд гдскрипта в шаблоны внутри движка, написанного на си++), что очень быстро вскрылось и в 3.1 Хуану пришлось вскрыть природу типизации, введя статическую. При этом ввёл он её так интересно, что гдскрипт приблизился к паскалю (var a := 12) осталось форматирование отступами заменить на begin end и всё - паскальскрипт готовченко!
>>595138
> Так, починено
Теорема годотреда работает безотказно: стоит тебе запостить свой код, как ты самостоятельно обнаруживаешь в нём ошибки.
Я весной пробовал подключить пистон к годоту, юзая расширение nativescript. Но увы, у меня всё падало. На 3.1 падало сразу, на 3.0 падало при создании скрипта. Не знаю, работает ли оно сейчас. Мне для тяжёлой логики хватает шарпа. Для чего-то совсем неподъемного всё равно придётся писать модуль на плюсах.
>В остальном это совершенно иной язык,
Пиздеж. Приоритеты операторов те же. Конструкции те же. Вот примеры из оф. доков:
var d = {4: 5, "A key": "A value", 28: [1, 2, 3]}
d["Hi!"] = 0
d = {
22: "value",
"some_key": 2,
"other_key": [2, 3, 4],
"more_key": "Hello"
}
func some_function(param1, param2):
var local_var = 5
if param1 < local_var:
print(param1)
elif param2 > 5:
print(param2)
else:
print("Fail!")
for i in range(20):
print(i)
while param2 != 0:
param2 -= 1
>который транслируется в плюсы при выполнении.
Чего? Там интерпретатор.
>гдскрипт приблизился к паскалю (var a := 12)
Это называется автовыведение типа, а не статическая типизация. Сами же аннотации типов выглядят, естественно, как в питоне.
var my_vector2: Vector2
var my_node: Node = Sprite.new()
Короче, опять залетный пукает нихуя не понимая даже на уровне школьной информатики.
>В остальном это совершенно иной язык,
Пиздеж. Приоритеты операторов те же. Конструкции те же. Вот примеры из оф. доков:
var d = {4: 5, "A key": "A value", 28: [1, 2, 3]}
d["Hi!"] = 0
d = {
22: "value",
"some_key": 2,
"other_key": [2, 3, 4],
"more_key": "Hello"
}
func some_function(param1, param2):
var local_var = 5
if param1 < local_var:
print(param1)
elif param2 > 5:
print(param2)
else:
print("Fail!")
for i in range(20):
print(i)
while param2 != 0:
param2 -= 1
>который транслируется в плюсы при выполнении.
Чего? Там интерпретатор.
>гдскрипт приблизился к паскалю (var a := 12)
Это называется автовыведение типа, а не статическая типизация. Сами же аннотации типов выглядят, естественно, как в питоне.
var my_vector2: Vector2
var my_node: Node = Sprite.new()
Короче, опять залетный пукает нихуя не понимая даже на уровне школьной информатики.
Так ты и создаешь опять эту атмосферу, никто уже не срется и не обзывается.
вообще зацикливаться на одном языке глупо, но в данной ситуации я с тобой соглашусь, потому, что гдскрипт без годо хуйня без задач.
В общем-то я не пробовал питон, мейби они правда так похожи как тут говорят, то может хоть в нем знания гдскрипт пригодятся.
> Чего? Там интерпретатор.
ХУАНСКОЗАЛ? А ты поверил? Загляни в "компилированные" файлы gdc в экспортируемом годотом архиве. Многое узнаешь. (например то, что никакие они не компилированные, а просто из текста переведены в бинарный вид для удобства трансляции)
> Это называется автовыведение типа, а не статическая типизация.
Каким образом автовыведение отменяет статику? Никаким.
> Короче, опять залетный пукает нихуя не понимая
Ну так не пукай, а матчасть учи. Прямо со школьной информатики и начни.
>>595275
> знания гдскрипт пригодятся
Нет никаких знаний гдскрипт. Гдскрипт это в самом деле питоноподобный набор шаблонов для работы с АПИ годота. Его не нужно учить в привычном смысле. Учить нужно само АПИ годота. Из изучения в гдскрипте только форматирование отступами и работа со словарями, как описано здесь: >>595208
А по поводу знаний. Вот я, допустим начал изучать годот, начал делать небольшие тестовые проекты на нём, потом Хуан выкатил поддержку шарпа. Я попробовал кодить на шарпе и там с минимальными изменениями всё организовано так же.
Однако между питоновским и сишным подходом к кодингу есть весомые различия и потому код получается совсем иначе организованный. В шарпе ты более дисциплинированно пишешь.
https://www.youtube.com/watch?v=4bdiyOGHLtM
На шарпе тоже будет красиво. ты сам алгоритм зацени! Увидь красоту алгоритма за годоскриптом.
Готовь проксю, хуила необучаемый. А когда ты вылезешь из под прокси срать, я тебя за обход бана зарепорчу.
>Готовь проксю, хуила необучаемый
Готовь анус, обезумевшая чмоха, вообще непонятно с чего ты так внезапно подорвался. Что, кто-то гдскприпт обидил? Не переживай так, маленький, не плачь, нужно быть стойким.
Алгоритм не оче.
Ты увидел код первый раз в жизни?
Там нечем восхищаться, самый обычный код, который напишет на любом языке любой школьник, который не прогуливал информатику.
Кстати, не знаю как сейчас, но нас в школе не учили конечным автоматам. Помню когда потом в универе писал свой первый тетрис нихуя про них не зная, код было пиздец сложно отлаживать (пикрелейтед). И игрострой из-за этого казался мне чем-то нереально сложным. Считаю что конечные автоматы -- это первое что должны рассказывать ньюфагам про программирование игр.
Особенно про то что несколько вложенных циклов всегда можно заменить одним, надо лишь добавить немного состояния.
//мимопрох
Время ECS-архитектур закончилось в 90-х с изобретением жавы. Никто в ужасы процедурного кода и глобального состояния программы возвращаться не будет, кроме юнитиубеков в их манямирке.
процедурный код = разделение на процедуры и данные (стейт программы). процедуры, которые изменяют, мутируют данные программы. системы являются именно такими процедурами
глобальное состояние в ECS по определению, потому что любая система изменяет любые компоненты.
ты бы с теорией разобрался прежде чем кукарекать.
>система изменяет любые компоненты.
Схуяли бы любые, даун? Только те, которых касается событие. Если у тебя все юниты должны шагнуть, то они все шагнут. Если урон прилетел в одного, то только его здоровье и поменяется.
...а потом оказывается что у тебя десятки систем изменяют один компонент, а остальные 20 завязаны на этот компонент.
это будет такая лапша, что о худших примерах ООП ты будешь вспоминать как об образцовой архитектуре.
Лумберярд перешёл на ецс, юнити переходит, для уе4 уже год пилятся сторонние решения. Но уе4 в целом отсталый так что не суть. И далеко не все вообще уходили с процедурного подхода.
>>595837
>десятки систем изменяют один компонент, а остальные 20 завязаны на этот компонент
Просто хуёвая архитектура. Даун, который пишет настолько монструозные компоненты, напишет ещё более хуёвый оо-код. Должен напомнить, что даже у 9900k всего 512 KiB на L1 уровне, а значит нехуй блядь писать такие жирные компоненты, пидор.
Мимопроходил
>Просто хуёвая архитектура
Да ECS хуевая архитектура. Даже если ты разобьешь компоненты, у тебя будет много скрытых зависимостей, когда система А изменяет компонент Б, который в системе В используется для измненения компонента Г и т.д.
> Хуан не осилил ECS
Но ведь Scene Tree это же самый настоящий ECS!!
Я не рофлю сейчас.
Все ноды - есть сущности.
У всех нод по умолчанию есть доступ к тем или иным системам. Например, к системе main loop ноды получают доступ через коллбэки _Process()
Разработчик может описать свои собственные системы, прикрепляя к нодам скрипт.
Ну и самое главное: любая нода может быть компонентом любой другой ноды.
Вот только чето игр нет. Как я воровать куски кода буду-та? Оно три дня назад чтоли вышло?
двачая
Только вот нивайти в такой дом бесшовно, без лоадскринов.
SWF Decompiler в помощь. Я тоже не сперва допёр что сперва надо конвертить во .fla
>здесь не форум с вахтёрами
Ох уж эта ирония. Не так далее как несколько тредов назад безумный вахтер удалял половину постов в годототреде
inb4 ЭТО ДРУГОЕ
Блять ебать я даун, любой желающий может нассать мне на ебало. Нужно вынести переменную за функцию
Пидар ебаный, ссу тебе в ебальник, черт, и матери твоей проститутке, и фалькеглисту!
Нет
>Ох уж эта ирония. Не так далее как несколько тредов назад безумный вахтер удалял половину постов в годототреде
Тут стирали только нерелевантное говно.
завсегдатай треда
Ничего удивительного, я вообще не понимаю тех, кто на полном серьезе изучает гондот-скрипт, это же поделка уровня студента-второкурсника без задач. Он существует только потому, что Хуан не может принимать код чужих людей, что уж тут говорить, если он даже свой текстовый редактор написал, который по всем параметрам хуже каких-нибудь условных vscode и sublime, зато свой, родимый. Так же и со скриптовым языком, говно, зато сам написал, потешил своё эго.
>зато свой, родимый
Ты не совсем понимаешь. Хуану просто по кайфу! Он лежит на берегу, загорает, между походами искупнуться можно пару строк накидать, он любит. Одно и то же неинтересно прогать.
не нужны, достаточно посмотреть лог ошибок и понять где ты обосрался. гододауны не способы даже на это.
Действительно, зачем разрабатывать игру 2 месяца, если можно разрабатывать её 6 месяцев, 4 из которых уйдет на чтение логов и отладку, а потом и багфикс внезапных ошибок в рантайме, о которых ты узнаешь при компиляции, программируя на полноценном статическом языке типа c#.
Хуйню пишешь. Типы это твердый скелет архитектуры, они лишают программирование гибкости. 90% архитектурных проблем просто не существует в динамических языках.
Почему ты думаешь питон стал таким популярным? Потому что на нем проще писать программы. Почему джава печально известна своими тяжелыми ООП-патернами? Потому что в ней типы.
Просто посмотри это видео и осознай насколько код на динамических языках проще того жуткого говна что ты пишешь на C#
https://www.youtube.com/watch?v=o9pEzgHorH0
Когда твоя программа из 6 строчек - то да, в классах смысла нет.
Большие и сложные системы на пистоне не пишут, это язык для скриптов и утилиток, которые написал один раз и выбросил.
>90% архитектурных проблем просто не существует в динамических языках.
Потому что 90% задач не решаются на динамических языках. Никто в здравом уме не будет пилить на питоне бэкенд отказоустойчивой энтерпрайз системы, для которой не допустим простой дольше одной минуты в год, и в которой взаимодействут тысячи компонентов. Никто не будет пилить на питоне СУБД, или движок рендеринга для браузера. Архитектурные проблемы существуют не в скриптовой дрисне на 20 строк, а в больших и сложных программах, которые никогда не писали и не будут писать на пистоне, или на жабаскрипте.
> Почему ты думаешь питон стал таким популярным? Потому что на нем проще писать
Хеллоуворлды. А раньше так с бейсиком.
> Почему джава печально известна своими тяжелыми ООП-патернами?
В чем заключается печаль?
>В чем заключается печаль?
Видимо в боли зумерка с клиповым мышлением, неспособным понять концепции, требующие больше 5 секунд концентрации для их осознания. Вот и повизгивает тут, роняя кал, и убеждает всех, раз ему нинужно, то значит и никому нинужно, ему же виднее как разрабатывать игры.
Если у тебя игра чуть-чуть посложнее Марио, то игровые скрипты быстро разрастаются в кучу взаимосвязанных моделей и систем, и начинают требовать те самые печальные ООПшные паттерны, чтобы хоть как-то поддерживать этот код в читаемом и расширяемом состоянии. В каком-нибудь условном римворлде этих паттернов и подходов наберется на средней руки энтерпрайз систему.
Поэтому такие игры и не пилятся на скриптовой дрисне.
>Если у тебя игра чуть-чуть посложнее Марио, то игровые скрипты на C# быстро разрастаются в кучу взаимосвязанных моделей и систем
пофиксил, не благодари.
>поддерживать этот код в читаемом и расширяемом состоянии
расширяемость встроена в язык на уровне duck typing'а. у тебя нет зависимостей от конкретных типов и тебе не нужно думать как это скелет из типов расширять
Вот один тут уже дорасширялся необъявленными переменными а потом прибежал в тред ныть что не работает.
>расширяемость встроена в язык на уровне duck typing'а
Пиздец ты дегенерат.
Еще бы предложил на ассемблере писать, и сказал бы, что расширяемость встроена в язык на уровне машинных кодов.
Форт очень хорош, и к железу близок.
Вот только ошибка компилятора - это не нказание, а подсказка что неправильно.
Эту фишку Хуан спиздил у юнити - когда ты возвращаешься в редактор юнити из вижуал студии, например, юнити автоматом перекомпилирует скрипты. Это удобно.
Только Хуан - особенный программист, с особенными способностями и особым видением, поэтому он видимо не стал проверять, изменились ли файлы с последнего импорта, и просто на всякий случай переимпортирует всё подряд. Ведь все, что разрабатывается на годоте - это демки из 10 спрайтов, поэтому можно не париться. Никто ведь не будет делать на годоте полноценную игру с кучей уровней, где может быть 100, 1000 спрайтов, или даже больше, поэтому можно забить хуй.
Анончик, как грамотно организовать анимацию игрока если у меня несколько тайлшитов? Я пробовал через Sprite+AnimatedPlayer, но в sprite можно засунуть только один тайлшит. Как поступать в этом случае?
- Объединять отдельные шиты в общий лист - получается слишком большая простыня, с которой неудобно работать.
- Прицеплять к игроку несколько спрайтов и создавать для каждого отдельный трек в animatedplayer? Как тогда безгеморойно переключать спрайты при смене анимации?
Насколько помню, в гондоте можно анимировать любые атрибуты, в том числе и переключать спрайт.
>Насколько помню, в гондоте можно анимировать любые атрибуты, в том числе и переключать спрайт.
А как его именно "переключить"? Ну т.е. я могу создать трек с включением нужного спрайта, а как грамотно выключить спрайт от предыдущей анимации, так чтобы не приходилось перебирать их все или выяснять, какой сейчас спрайт активен?
Бля, анон, а как дебажить в годоте?
Как сделать, чтобы где-нибудь в консоли или еще где постоянно выводилось значение нужной мне переменной? Только не print'ом, а по человечески.
>годот
>по человечески
Проиграл. Радуйся, что принты завезли. А вообще, проекты на годоте можно не дебажить, если запустилось - это уже хорошо. А баги в любом случае будут, не из-за твоих скриптов, так из-за Хуано-кода.
> А пока что можешь тулскриптом свою панель с просмотром значений переменных сделать.
И подключать её в свои игры как ассет.
+15 песо
Без жаропрочной жоппы в Гоудо делать нечего, увы.
Отчего сгорела-то? У меня вот обратная ситуация, заебали баги в годоте и укатился в юнити. Он, стоит не 25, кстати, а 35 в месяц. 25 это если брать подписку сразу на год
Что-то какой-то пиздец, такое ощущение, что инструмент пилился садистом-психопатом, у которого привстаёт на то, что люди проёбывают своё время и страдают.
Разметка спрайтшита под тайлмап это какой-то ад. Нет ни одного хоткея, чтобы добавить новый тайл, нужно щелкнуть мышкой на кнопку "добавить тайл", и только потом выделять тайл на спрайте, причем эта кнопка находится в ебенях, приходится сидеть полчаса и как баран кликать мышкой туда-сюда, нельзя просто выделить несколько тайлов один за другим. Клик на кнопку - клик на тайл, клик на кнопку - на тайл. Пиздец.
С коллизиями тоже ад какой-то. Выбор инструмента добавления коллизии слетает при переключении каждого спрайта. Т.е. выделил тайл, потом кликаешь на добавление коллизии, добавляешь, переходишь на следующий тайл - инструмент слетел, надо заново его выбрать и только после этого рисовать коллизию. Пиздец.
Добавление коллизии через полигон - невозможно отменить последнее действие, невозможно удалить одну точку из полигона. Только удалить весь полигон и начать делать заново.
> того жуткого говна что ты пишешь на C#
Не видел ничего прекраснее, чем Node sample = GetNode<Node>("/path/to/node") as Node;
У плеера соотвественно есть collision(body), но год выдает ошибку что целевой метод не найден
Плеер есть. Аераерия есть. А бади-то и нету! Вот у тебя метод и не найден.
Код показывай, что ты там нахуевертил.
Зато все материалы в проекте не корраптятся, как в этом вашем упити.
Зачем тебе? Все равно окажется багованным неюзабельным говном и потом будешь версии 5.х ждать.
К октябрю хуанг клялся допилить вулкан, там и посмотрим. Сука, он просто полтора года перепиливает не добавляя ничего.
>К октябрю хуанг клялся допилить вулкан
Зачем ждать, если вулкан уже есть в юнити? Заходишь в настройки, снимаешь галочку с "предпочтительное для винды", добавляешь вулкан, перемещаешь вулкан выше дх11, перезапускаешь - вуаля!
Мне сказали тут, что опенгл рендер содержит ошибки, приводящие к артефактам в изображении.
А еще мне говорили что-то про функцию, когда все спрайты перед отрисовкой склеивались в единый спрайт с вершинами, и если такой функции нет, то при большом количестве объектов движок начинает тормозить. Там в начале слово Bath было.
> все спрайты перед отрисовкой склеивались в единый спрайт с вершинами
Нет такого в годоте. Делай атлас сам и грузи из него части во все ноды. Тогда будет один дроукол на атлас.
Ща сляпаю примерчик тебе.
Они очень старались запутать всех, но сначала будет 3.2, к новому году, потом еще через год 4.0
Это говно (юнити) у меня на компе даже не запускается, не то что галочку куда-то ставить. Все игры после примерно 2017 рисуют какую-то дичь, а редактор просто не запускается.
Причем тут годот? Какой то нюфаня творит полную дичь, как всегда выяснится что он не разобрался в чем то и сам накосячил.
Сляпал примерчик. Однако реально проверить на дроуколлы надо через сторонний софт, ибо по сообщениям анонов, во встроенном профайлере отображается неправильно.
>На древнем железе вообще тяжко вести разработку. Любую.
Да не особо. Блендер летает, студия летает. Годот по крайней мере работает (хоть и тормозит в сценах типа tps demo), в отличии от уе4а и юньки где барин решил что мое железо не железо.
Уже интересно. Ну тогда показывай свой конфиг.
(У меня тормозят только уеч и студия, юнька вполне сносно работает, годот, ясен хуй, летает)
>Тогда будет один дроукол на атлас.
Не будет. Хуан ебашит один дроу колл на один спрайт по хардкору, ему поебать.
Так у тебя в принципе вулкан не заработает, нахуя ты ждешь годот 4? Вулкан работает только на свежих и топовых видюхах выпуска последних лет.
Какая вообще связь между мной и аноном ждущим вулкан? Ты в понедельник уже напился?
Ну шо, как вам новый рендер уровня гондотя 4.0?
Хуан там решил, что 16 источников света хватит всем.
>The only downside is that there is now a limit of 256 lights visible on-screen (your level can have as many as you want), and 16 lights per 2D node (as in, a single 2D node can be affected by a maximum of 16 lights).
Как я вас должен различать, если ты отвечаешь на пост, адресованный ему, будто бы ты - это он?
Иногда мне кажется, что Хуан просто угарает с происходящего, нюхая при этом кокс с жоп проституток, купленный на донаты.
Еще бы. Так развести лохов на 12к$ в месяц, чтобы за год по туториалам запилить багованный рендер вулкана.
> Хуан ебашит один дроу колл на один спрайт
Дроуколлы ебашит видяха. На текстуры. Если текстура одна, то и дроуколл один. Безотносительно движка. Спрайт это не текстура, спрайт это объект, на который текстура навешана. Спрайтбатчинг на который тут дрочат залётные юнитирабы-с-неотключаемым-сплешем, предполагает, что движок собирает все текстуры со всех спрайтов в одну текстуру-атлас и грузит её в память видюхи за один дроуколл. Значит, с целью оптимизации, несчастный годотер может делать это ручками. Ручками собрать весь контент в один большой атлас 4096х4096, ручками назначить регионы из этого атласа для каждого спрайта (в том числе регионом может быть спрайт-лист, который Sprite разметит на фреймы анимации). Да, ручками, зато щвабодка!
Впрочем, всё это вилами по воде. Надо всё сторонним софтом проверять. Хотя, я не вижу в своих словах подвоха.
Дроу колл получает текстуру и квад меш. Если нет батчинга, то на каждый спрайт пойдет один меш, чтобы был один дроуколл надо чтобы движок слепил все квады в один гигамеш.
Но какая собственно разница, если в треде постили как годот рисует десятки тысяч спрайтов в 60фпс? Это будет узким местом только в совершенно ебанутых играх где проще свой рендер сделать.
Пиздец ты дебил, даже обоссывать тебя лень. Зашёл бы хоть на learn opengl, отрисовал бы треугольник ручками по тутору, чтобы больше такую хуйню не пороть. По твоей логике, видюха сама ходит в движок и забирает меши/спрайты для отрисовки?
А то, что гондотир может руками собрать спрайты в один атлас, потратив часы на работу макаки, в то время как везде это делается автоматом за один клик - это не спасёт от того, что Хуан шлёт квады по одному за draw call.
Вообще поражаюсь, как гондотиры рады делать руками обезьянью работу, вы настолько ненавидите свою жизнь и свое время?
>>599262
60 фпс это на каком-нибудь 1080 ti? Насколько знаю, на не топовом железе ты такой результат не получишь, уже на нескольких сотнях спрайтов годот будет задыхаться.
> Дроу колл получает текстуру и квад меш.
Тоже пруфы давай. Меши это не draw, это geometry. Сначала видюха строить геометрию, затем рисует текстуры на ней.
>>599267
> По твоей логике, видюха сама ходит в движок и забирает меши/спрайты для отрисовки?
По твоей. Твои слова.
Видюха получает себе в память данные и работает с ними. Эти данные в неё записывает движок. Через интерфейсы видюхи.
> Зашёл бы хоть на learn opengl, отрисовал бы треугольник ручками по тутору
> поражаюсь, как гондотиры рады делать руками обезьянью работу
Забавно. Ручками треугольник рисовать хейтерочек-хейтерок не поражается, а как годотеры ручками игоры делают - поражается. Изумительное двоемыслие.
Видюха не строит геометрию. Ей ее отправляет процессор. По моему очевидно что проблема в латентн latency.
Цпу: спрайт 0 x0 y0 w0 h0
Гпу: ах да, побежал рисовать!
Цпу: спрайт 1 x1 y1 w1 h1
Гпу: ах да, побежал рисовать!
Цпу: спрайт 2 x2 y2 w2 h2
Гпу: ах да, побежал рисовать!
Сравни с
Цпу: спрайты x0 y0 w0 h0 x1 y1 w1 h1 x2 y2 w2 h2
Гпу: ах да, побежал рисовать, рисовать, рисовать!
Может ты все же почитаешь что то из основ все же? Раскажи как по твоему вертексы загруженной с диска модельки попадают на видяху.
Я не он; дай название основ, что читать и изучать
>Меши это не draw, это geometry. Сначала видюха строить геометрию
Пиздец, с какими даунами приходится сидеть на одной борде.
>Ручками треугольник рисовать хейтерочек-хейтерок не поражается, а как годотеры ручками игоры делают - поражается
Как всё запущено, ты правда не видишь разницы между тратой времени на бесполезную обезьянью работу и вложение времени в изучение работы gpu, что делает тебя сильнее как разработчика игр и программиста? Наверное поэтому ты несешь такую хуйню, видимо всю жизнь клал хуй на обучение.
А что делают?
Допустим у меня есть игра с очень большой картой, но разбитой на различные области между которыми игрок может перемещаться (двери, порталы, колодцы и т.д).
Такой вопрос, какой лучше подход использовать при проектировании игры:
1) Запихнуть всю карту в одну большую сцену и не жужжать, или
2) Запихивать каждую область в свою сцену и переключаться между ними при переходах?
autoload в документации поищи
Ты просто перерос концепцию скриптов и нод, это все же для нубов сделано. Обычно программа устроена так, что есть некий основаной файл, в котором основные функции. В данном случае это может быть скрипт прикрепленный к корневой ноде.
лагает, пердит
>очень большой картой
>гондотя
Несовместимо, перекатывайся на анрил.
На гондоте если и делать игры, то что-то уровня тетриса, чтобы весь геймплей помещался на одном экране, а то будет лагать (окклюжен куллинг так и не завезли для 3д)
Нафиг 3Д - делаю в 2Д
Думой над архитектурой своей игоры. Если у тебя "плодятся пустые spatial" то это тревожный звоночек, что архитектура уёбищная и надо всё быстро переделывать, пока проект не разросся.
>архитектура
>в движке невозможно запустить скрипт, не прикрепив его к невидимому объекту и не поместив его в 3д пространство сцены
>единственная неполноценная альтернатива - autoload singleton, который считается анти-паттерном и признаком говнокода в любой литературе по архитектуре
Архитектура уровня гондотю
>в движке невозможно запустить скрипт, не прикрепив его к невидимому объекту
>>в движке невозможно
Неосилятор годота, ты?
>autoload singleton, который считается анти-паттерном и признаком говнокода в любой литературе по архитектуре
Т.е. ты не только юнити-шизик, но еще и ООП-шизик. Если внимательно почитать "любую литературу по архитектуре", то окажется, что почти любая альтернатива синглтону будет антипаттерном и признаком говнокода, а то что останется потребует изъебств и раздувания архитектуры приложения.
>считается анти-паттерном
Бывают редкие ситуации когда такую херню надо применить и она реально все упростит. Использование паттернов без понимания есть признак быдлакодира.
Кстати двачую. Он попутал /pr и /gd. В гей-деве подавляющее большинство основных сущностей существует в единственном виде - один глобальный мир, один игрок, одна клава, одна мышь, один дисплей (окно), одно аудиоустройство, одно подключение по сети.
2) Запихивать каждую область в свою сцену и переключаться между ними при переходах.
А вообще лучше делать динамическую подргрузку соседних с игроком регионов. Тогда и игрок загрузок видеть не будет, и карта может быть любых размеров. В уече, например, есть такой функционал из коробки. В годоте придется запилить самому. И если динамическую подгрузку во время игры будет сделать несложно, то вот с диначеской подгузкой в редакторе придется попердолиться.
Если гд-скрипт холоп - выносишь все интересующие тебя переменные в ноду и запускаешь игру в редакторе. Находишь ноду во вкладке remote и смотришь там значения переменных.
Если шарпобог - то ты бы таких вопросов не задавал.
> неполноценная альтернатива - autoload singleton, который считается анти-паттерном и признаком говнокода
А теперь давайте посмотрим, что реально делает автолоад (смотрим пикчи).
Таким образом в годоте автолоад создаёт дополнительные ветви у дерева сцены вьюпорта. Вы можете опрашивать их через итераторы, если вы так боитесь антипаттернов.
>>599793
Правильно понимаешь. При разработке в редакторе сцены это отдельные сущности-файлы.tscn при выполнении игры все они объединяются в единое дерево, между ветвями которого действуют правила древовидной иерархии (куст, ветви, листья, ну ты понел, как в реестре шиндовс). На этапе разработки ты определяешь логические правила, как это дерево будет развиваться во времени, какие ветви будут разрастаться, какие отпадать. Например, знаменитый пример с пулей, пуля это лист на ветви главной сцены, которая есть последняя ветвь дерева вьюпорта. Ты инстанцируешь пулю, на ветви появляется потомок, действует по своим алгоритмам и отваливается (в случае пули).
>>599885
> И если динамическую подгрузку во время игры будет сделать несложно, то вот с диначеской подгузкой в редакторе придется попердолиться.
Всю весну ломал себе моск над этоя дрянья. Пришёл к выводу, что надо пердолить на тулскриптах. Но не хватает наглядных примеров. Есть видео туториалы на эту тему?
И вот ещё: я заметил, что с вопросом о пулях очень мало уделяется внимания тому, что делать видимые летящие объекты - это уровень двадэ-платформеров. Если ты делаешь тридэ-шутан, то ни о каких инстансах пуль речи быть не может. Ведь пули огнестрела невидимы глазу, поэтому только рейкаст с частицами и симуляция разброса пуль через рандом, ограниченный круглой областью (или не круглой, если ты учитываешь ветер и прочую погоду с окружением при расчётах). В месте попадания пули на объекты мира генерируется событие, которое объекты мира обрабатывают: стены рисуют декали следов от пуль, живые объекты генерируют частицы с фонтанчиками кетчупа. и т.д.
Впрочем, есть исключение: ракеты, гранаты, там да, можно заморочиться летающими мешами.
Мгновенно стреляет только рельса. Да и рейкаст по баллистической траектории вряд ли загибается. И это еще не вспоминая про слоумо.
Хороший пост. Сразу возникает желание подумоть и грамотно парировать.
Баллистическую траекторию закладываем в расчёт разброса пуль: рейкаст - абсолютно прямая линия в точку, в которую игрок целился. Вокруг этой точки рисуется плоская фигура, в простом случае окружность. Диаметр окружности - разброс пуль из ствола, зависит от состояния оружия, от типа оружия (у дробовика выше). Смещение фигуры вниз - рассчитывается по баллистике от расстояния до цели. Какую-то решающую роль играет только у снайперских винтовок. Так же смещение от ветра. Еще можно организовать рандомное смещение в зависимости от бега и дыхания. И отдача ещё! После того, как параметры фигуры определены, рандом выдает псевдослучайные точки внутри фигуры по количеству прилетевших пуль.
Слоумо - киношный трюк. Я только макспейна знаю с попыткой реализации и ещё этот, как его, про мексиканских мучачос. В обоих случаях я на пули особо не смотрел. За всех говорить не буду. Поэтому да, возможно ради слоумо можно раскошелиться ресурсами пеки и делать пули-объекты. Но лучше реализовать пару катсценок на частицах и не выёбываться. ИМХО.
Может я неправ насчет баллистики, хз. Просто не уверен что там сильно большой выигрыш если вместо объектов делать частицы. Надо считать.
Навскидку - баллистика важна на играх с расстоянием 200-400м. То есть не каэсики, а русты. Фишка в том что ты целишься во врагах на 400м, но если на 300м стоит ящик, а пуля начала опускаться, то ящик остановит пулю и одним рейкастом не обойтись, нужна дуга.
Если говорить про скорострельность, возьмем для примера м16, она выпускает примерно 15 пуль в секунду, т.е. примерно каждый 2-й кадр на 30фпс. Пуля летит со скоростью >800м/с, прицельное расстояние 400-600м, т.е. пуля живет только в том кадре где выпущена. Ну и скажем у нас 16 игроков одновременно стреляет. Сможет годот 3д пережить одновременное существование 16/2 (из-за скорострельности) = 8 пуль в кадре? Думаю без проблем.
А, по слоумо - ну всякая индюшатина типа SuperHot, но ты наверное это в платформеры записал.
> Пуля летит со скоростью >800м/с
Что же я за херню написал.
Пуля летит 26м/кадр при 30фпс. Так что живет пуля до 30 кадров.
Итого, за время этих 30 кадров, будет выпущено еще 15 пуль одним игроком. Всего 16х16 = 256 пуль в кадре.
Стоит на секунду отвлечься, а в треде уже БДСМ-оргии начались.
>>600050
Суперхот это вообще пазл какой-то. мы вроде о простых риал-тайм шутанах говорить начали.
>>600049
Насчёт баллистики в любом случае мы с тобой, сидя на диванах, ничего толкового не придумаем. Надо пробовать на практике. Для меня самый очевидный способ: Построить по параметрам (игрок, цель, дистанция) баллистическую кривую. Взять на ней несколько точек (аппроксимировать) так, что между точками кривизной можно пренебречь. Скажем, с потолка беря цифры, каждые 50 м. После этого между этими опорными точками в одном кадре генерируются рейкасты в направлении полёта пули. Ну вы понели, велосипедная "арка-каст". И всё, если один из рекастов возвращает столкновение с ящиком то: 1) в простом случае, игроку возвращается событие о промахе; 2) в сложном случае из профиля результирующей фигуры разброса пуль вычитается профиль ящика, который наложился. В сложном случае нужно вместо одного рейкаста направлять (по той же баллистической аппроксимированной дуге) целый пучок рейкастов, по границе фигуры разброса пуль. В этом случае я даже начинаю уже сомневаться, оптимизация ли это по сравнению с пульками-объектами.
>Godot ВСЁ??
Да, у него нет будущего
Хуя хуан разносит в комментах
https://twitter.com/reduzio/status/1160548130435358721
Ща, погоди, шлюхи на жопах кокс позвезут - и будут тебе коммиты. А пока донать, не рефлексируй.
> Хуан: У твитторных дурачков руки кривые, потому они винят ООП, паттерны, движок, но не себя.
В чём конкретно он неправ?
Я с хуаном особо не общался, но у него есть движок, а у тебя - игор тонет.
А Хуана прямые? Такой говнокод сермяжный, диву даешься как человек может такое написать!
Сперва добейся.
То есть, вместо того чтобы делать мерджи пулл реквестов, Хуан два дня срет в свитор?
Зови меня Пынька!
Так и Хуана игор нет, почему он за столько лет не сделал ни одной игры на своем движке, если он такой же охуенный? Чем Хуан отличается от сотен движкописателей без игор, которых тут принято хуесосить и посылать на юнити?
Слияние, братан! Настоящее, мужское?
Вряд ли душнее тебя.
1280x720, 0:10
Итак, код из под капота движка
union {
uint32_t colu;
float colf;
} cu;
cu.colu = 0xFFFFFFFF;
dataptr[i + color_from + 0] = cu.colf;
Да господа, это унионы. В 2к19.
> Да господа, это унионы. В 2к19.
Работает -> не трожь. Основное правило инженеров айти с 1969 года, сука! Давай, расскажи мне, почему нельзя использовать юнионы сегодня? ТЫЗОПРИТИЛ?
/Скорее бы каникулы закончились/
Угадывать битовый формат флоатов - это UB. О чем собственно эмскриптен и предупреждает, так что тут "работает потому что сегодня звезды сошлись, завтра поломается"
не терпится? Портфель уже собрал?
Слышь, неттыкающая школота, хуан начал писать годот ещё когда тебя батя по ошибке зачал. Вот щас хуан всё бросит и побежит тебе юнионы на варианты по всему коду менять, только потому, что тебе видите ли так захотелось.
Не проецируй, я старше твоего Хуана.
>colf
>colu
>cu
Проиграл. Качественный код как он есть.
А так да, Хуанг не знает про std::variant в 2к19.
Так там не нужен вариант. Просто кто-то решил что флоат NaN'ом надо инициализировать через union. Наверное у Кармака в C-коде кваки подсмотрел лет 20 назад.
О том и речь. Лет 20 назад, когда этот код был написан, был с++3 и вариантов не было.
>вариантов
Что-то сомнительно, во-первых c++17 only, слишком строгое ограничение, во-вторых оверхед, судя по всему там хранится 4-байтное поле, с инфой какой тип туда был записан крайним.
Делаю этот тутор. Мне кажется или функция process_changing_weapons быдлокод в чистом виде? Думаю сделать смену по кнопкам в 3-х ифах и оставить бульную переменную чтоб не стрелять во время смены пушки, какие подводные?
Да, насколько помню он адски глючит, достает не то оружие и только со второго раза.
Ладно кое как за два часа поборол, но по ишшуям на гитхабе лазить это конечно такое.
А чего ты собственно ожидал от хуаноподелки. Тебя предупреждали. Думал ты самый умный, а все вокруг дураки?
Теперь страдай
>быдлокод в чистом виде?
Ты сейчас весь годот описал. Но это норм, как сказал сам Хуан, он не дрочит на код, а просто делает игры.
Сделал анимацию через стейт машину (AnimationPlayer + AnimationTree), как мне получить номер кадра текущей анимации или временную позицию?
Пробовал обращаться к AnimationPlayer.get_current_animation_position ничего не выдает.
Очень хочется тебе помочь, но я анимациями ещё вплотную не занимался. Посему могу только пожелать тебе успехов.
>Пойти что ли обратно писать свой велосипед на bgfx+ogre
А я вчера весь вечер изучал SFML+шарп. Заманчивая штука. Нужно просто один раз набросать себе шаблон ядра игры (update, draw и т.п.) а затем делать игоры на этом шаблоне, постепенно добавляя в него функционал, пока он не превратится прямо в движок-движок.
А мог бы. Но виновата прокрастинация. С юнити я ознакомился и даже свои соображения в соответствующем треде писал. Да, удобно, хорошо, быстро, замечательно. Но прокрастинация, сука!
Редактор годота - это игра на годоте.
Ну смотри. Вселенная-наоборот с толщеходами (не путать с землеройкой, которая делала тред рейдерского захвата идеи). Вся игровая Вселенная - это твёрдый кристалл из первичного элемента пропитанного электронным газом. Когда Вселенная (изначально горячая и жидкая) остывала и твердела, в её толще образовались пузырьки. В этих пузырьках (планетах-наоборот) и зародилась жизнь. Главный герой работал на толщеходе в крупной толщепроходческой корпорации и добывал минералы в полостях. Потом против него построили козни и попытались убить. Очнувшись в поломанном толщеходе движущемся к краю (краем у них называется граница сверхбольшой полости, тяготение у которой разрывает всё живое в лапшу как чорная дыра у нас), главный герой из последних сил выворачивает толщеход, чтобы он пошёл вдаль от края и опять вырубается. Когда он снова приходит в себя, толщеход уже заглох и стоит выкопавшись в какой-то неизведанной полости с простыми деревенскими жителями, которые живут тихой размеренной жизнью и слыхом не слыхивали ни о какой Метрополии, ни о толщепроходчестве, ни о толщеходческой корпорации Ахибреда Кранта.
И вот тут заканчивается пролог с обучалкой и начинается основная игра. Жанр - иммёрсив сим с элементами эрпогэ: фармишь ресурсы, прокачиваешь свой толщеход, разгадываешь загадки, сражаешься с монстрами, проходишь квесты сюжетные и побочные. А в конце сражаешься с главным злодеем, но твоя принцесса в другом замке. Немая сцена. Занавес.
Паста
700x379, 0:02
> Ваще них не понял.
Похуй, всё равно мы с тобой не в лифте. ЕПОЧЯ.
> Не взлетит твоя игра
Нам очень важно ваше мнение, пожалуйста, оставайтесь на линии, ближайший освободившийся оператор обязательно свяжется с вами.
Таких как я - большинство. Следовательно, ты должен учитывать мое мнение. А мое мнение таково: игра непонятное говно и нихуя не взлетит
> Следовательно, ты должен учитывать мое мнение.
Вот она, логическая ошибка! Я нашёл её! Ура!
Хорошо что ты выбрал Годот, это гарантирует что этот высер никогда не будет сделан.
Надо будет заценить. А то я из Гаррисона только про Язона читал и то не всё.
700x379
А хотя нет, продолжайте юзать кокатенацию.
https://godotforums.org/categories/professional-trade
Годот-трейд! Наматывай ноды на сцены джва часа!
А то мне move_and_slide, чет не заходит - слишком много костылей к нему приходится лепить.
Я кинематик боди чот перестал уважать вообще. Берёшь риджид бади с полноценной физикой и ебошишь персонажа на нём. Я так делаю и ты так делай.
>бади с полноценной физикой
Нинужно для 99% игр, лишние баги от флоат-математики на ровном месте.
На физическое тело костылей потребуется намнооого больше.
Да, проходи.
>расстояние до игрока.
Т.е. немного не так. Чтобы можно было получить минимальное расстояние от заданного края этой области до чего-нибудь твердого в ней.
Я не спорю, но как можно быть увереным в этом? Типа люди так и так знают на каких двиглах выходят игры? Меня этот вопрос интересует, я например смогу от людей скрыть что на нём сделал игру?
Нет, там же будет .pck файл в котором находятся твои скрипты на gdscript https://github.com/godotengine/godot/issues/24716
Т.е. чтобы это скрыть придется очень сильно потрахаться.
slopes, этим все сказано
Жаль, что ты не прочитал ссылку выше. Там есть утилита, которая автоматически найдет этот ключ в бинарнике и распакует ресурсы.
На самом деле, это проблема того, что гондот скрипт не компилится в нативный код в релизной сборке, или хотя бы в промежуточное состояние, байт код.
С маминых шифрователей итт проиграл, конечно.
Выбирая гондот, надо понимать что твоя игра опенсорс поневоле, код посмотрит кто захочет
>хотя бы в промежуточное состояние, байт код.
Она компилится в байткод, но названия методов остаются плейнтекстом, из-за того что язык динамический с hasMethod()
Это даже плюс: больше модов, и отсюда выходить, продления жизни проекта.
А КОПИТОЛИСТЫ не будут у меня деньги отбирать? Даже если, проект будет коммерчески успешен?
Всё. Ясно. Спасибо
Вот есть у меня две ноды с нулями в одной глобальной точке. Нода А вращается произвольно, а нода Б фиксирована. В ноде Б есть произвольный вектор В. Мне надо, чтобы этот вектор после задания дополнительно поворачивался на поворот ноды А. Я полагаю, что это как-то можно сделать через базисы или их матрицы, но хз, как вообще такие манипуляции делать, никакого опыта не имею.
Я бы предположил, что мне надо как-то построить вектор В в рамках базиса Б как-то... как-то условно умножив на оси базиса А или хз.
почти не сплю четверо суток, думать уже давно не в состоянии, да и учусь только этому всему
>Берешь и не используешь скрипты на gdscript. Сложно - пиздец.
Конечно сложно. 95% тут собрать c++ не осилят. А C# не умеет в экспорт мобилки/html (да и декомпилируется обычно он элементарно)
2Д платформер вид сбоку (пикрелейтед). Есть игрок (фиолетовый прямоугольник) к которому приделан Area2D+CollisionShape2D (зеленый прямоугольник)
Есть тайлмап по которому он передвигается (черного цвета)
Как мне получить пересечение зеленого прямоугольника с черными полигонами? Т.е. грубо говоря мне надо найти расстояние L от левого края зеленого полигона до начала черного.
Я пробовал через get_overlapping_bodies(), но он выдает мне ссылку на весь тайлмап и с какой именно его частью произошло столкновение я не могу узнать.
Нашел в мануале еще метод intersect_shape ( Physics2DShapeQueryParameters shape, int max_results=null )
Но не могу понять как задать форму в Physics2DShapeQueryParameters, ну и чувствую, что на выходе тоже получу ссылку на весь тайлмап, что для меня бесполезно.
Может это тебе подойдет.
https://www.reddit.com/r/godot/comments/647ig7/problem_with_area2d_cant_detect_area_in_tilemap/dg14q5c/
Либо фигачить на сигналах on_enter
> Жаль, что ты не прочитал ссылку выше. Там есть утилита, которая автоматически найдет этот ключ в бинарнике и распакует ресурсы.
Блеать!
Ну тогда остаётся только одно. Пилить скрипты на шарпе. Wait~
>>601636
> Как и в юнити.
Дотнет же легко декомпилится.
Тогда остаётся только одно.
Пилить скрипты на неуправляемом языке и собирать в либу nativescript.
Я всё больше убеждаюсь, что движки нинужна. Надо брать медиафреймворки, типа СДЛ/СФМЛ и ебошить игору прямо на них, попутно делая движок под свои нужды (главный цикол, колбэки, вспомогательные классы и т.п. - для одной игры написал, для второй уже возьмёшь готовое)
>Надо брать медиафреймворки, типа СДЛ/СФМЛ и ебошить игору прямо на них, попутно делая движок под свои нужды (главный цикол, колбэки, вспомогательные классы и т.п. - для одной игры написал, для второй уже возьмёшь готовое)
Для 2д все так. Но вот с 3д все плохо. Нет легковесного фреймворка который преобразует 3д объекты в опенг-вызовы.
двощую
Bgfx - это рендеринг, там даже в шапке написано - "Bring Your Own Engine". Это такая оберточка над опенгл и шейдерами, нет таких понятий как объект игрока, который идет, меняет оружие и т.д. Плюс при сборке тащит с собой какие-то свои билдсистемы, васянские классы image.
osg все руки не доходят пощупать, вроде бы там есть все, и vr, и emscripten, и мобилки, код еще не смотрел.
>>Либо фигачить на сигналах on_enter
>Похоже придется так делать.
Попробовал - фигня получается. Т.к. сигнал эмитируется после того как игрок совершит движение, а мне нужно отслеживать ситуацию до его начала.
Придумал еще два варианта:
1) По циклу изменять размер нужного CollisionShape2D от меньшего к большему и смотреть на каком шаге будет столкновение, это и будет расстояние.
2) Гонять по циклу RayCast2D вдоль границы области и так же получать расстояние.
Собственно мне всего-то нужно проверять на расстояние нескольких пикселей, плюс нет необходимости в постоянном мониторинге, так что думаю тормозить это не должно.
Я бы на твоём месте копал в эту сторону:
>>601742
>Нашел в мануале еще метод intersect_shape ( Physics2DShapeQueryParameters shape, int max_results=null )
>Но не могу понять как задать форму в Physics2DShapeQueryParameters, ну и чувствую, что на выходе тоже получу ссылку на весь тайлмап, что для меня бесполезно.
Я бы с радостью, но я так и не понял как задавать shape в Physics2DShapeQueryParameters. Я пробовал закидывать туда форму полученную из collisionshape2d, но на выходе не было результата. А в мануале по ней инфы практически нету.
Я сейчас хочу попробовать еще один способ.
Я сегодня настроил экспорт тайлмапов из tiled'а. А там коллизии можно отдельным слоем нарисовать и при импорте в godot они на отдельные объекты разбиваются. По идее теперь get_overlapping_bodies() должен мне выдавать ссылку на отдельный объект. а не навесь тайлмап.
Посмотри вот здесь, если с тайлами не получится:
https://github.com/godotengine/godot/issues/4163
Падажжи!
Вот решение твоего вопроса!
https://godotengine.org/qa/17868/calculating-intersected-area
https://www.youtube.com/watch?v=f6RiWi32oO0
Афтор уже 9 частей наклепал по полчаса каждая.
Играл в что-то такое 15 лет назад на КПК
А что в Godot делать то? Я имею ввиду, что в доках новичкам все слишком для тупых написано, бо я уже сам разобрался таких вещах как например пилить свой гуи, а я же хочу разжеванную в мой ротеш инфу как например лучше/оптимальнее всего сделать архитектуру игры. Если в юнити это было просто и понятно для меня, то с годотовскими понятиями я немного путаюсь, хотят тут заявляют, что в годоте все легче в плане этого. То есть игрока делать отдельной сценой и потом присоединять его в другую сцену? Я не понял
https://docs.godotengine.org/en/3.1/getting_started/workflow/project_setup/project_organization.html
https://docs.godotengine.org/en/3.1/getting_started/workflow/best_practices/scene_organization.html
И вообще https://docs.godotengine.org/en/3.1/getting_started/workflow/best_practices/index.html
https://godotengine.org/qa/12752/why-scenes-and-nodes-in-engine-architecture
Спасибо
В общем, если подумать, получается что задумка не так уж плоха.
Нода - это базовый тип, как int или string. Она жестко задана движком (опустим пока момент с модулями на плюсах)
Сцена - это аналог класса в ООП. Сцена как бы наследуется от одного типа (который является корнем сцены), а так же может композицией включать в себя другие сцены и ноды, как класс может включать в себя поля других классов и базовых типов. Их можно инстанцировать, как в ООП можно создавать через new объекты классов.
Ну а сигналы - это сообщения из ООП, только не из распространенного, а как в окамле.
Короче если бы Хуан не выебывался и в очередной раз не назвал общепринятые вещи нестандартными именами, было бы намного удобнее.
>можно будет клепать игры для трех с половиной местных бомжей, которые будут покупать их на торрентах
нинужно
> хочу разжеванную в мой ротеш инфу как например лучше/оптимальнее всего сделать архитектуру игры
Кущяй, мой харощий!
https://www.youtube.com/watch?v=T6pX65btZXA
> В общем, если подумать, получается что задумка не так уж плоха.
> Нода - это базовый тип, как int или string. Она жестко задана движком (опустим пока момент с модулями на плюсах)
Первый потомок Object.
> Сцена - это аналог класса в ООП. Сцена как бы наследуется от одного типа (который является корнем сцены), а так же может композицией включать в себя другие сцены и ноды, как класс может включать в себя поля других классов и базовых типов. Их можно инстанцировать, как в ООП можно создавать через new объекты классов.
Сцена это всего лишь файл .(t)scn Это инструкции для конфигурации дерева нод, дерева сцены. Дерево же, это классическая древовидная структура данных. Корень дерева - нода viewport. От неё расходятся одна или более ветвей-нод с подветвями-нодами. Никакого ООП. Просто дерево.
> Ну а сигналы - это сообщения из ООП, только не из распространенного, а как в окамле.
Ну, как я понял, это события. До Хуана так придумали переименовать в линуксе, навскидку в GTK.
Ты немного не понял суть поста. Он был не о том, как устроены ноды и сцены, а о том, какое их предназначение в архитектуре игры.
>Корень дерева - нода viewport.
Речь шла не об устройстве сцены, а о том, что в сцене можно задать только одну корневую ноду. Поэтому можно считать, что сцена - как бы наследник этой ноды.
>Никакого ООП
Если бы писали на неком метаязыке, то игру можно было бы описать так:
class SceneTank extends Node::Sprite {//это корневой спрайт
Node::Sprite wheels[4]; //композиция нод - "базовых типов"
SceneGun gun; //композиция других сцен-"классов"
on_body_enter() {//тут обработчик сигнала }
}
> Он был не о том, как устроены ноды и сцены, а о том, какое их предназначение в архитектуре игры.
Всё я прекрасно понял.
>>602304
> Сцена - это аналог класса в ООП.
Нет, нет, и ещё раз нет.
На уровне организации игры в редакторе ООПа в общем случае нет. Ты не работаешь с классами, ты работаешь с предметно-ориентированным фреймворком для построения графического приложения (игры). И фреймворк этот организован, как дерево. Любая сущность игры доступна тебе по своему пути в дереве. Никакого наследования нет. Никакой композиции нет. Нет инкапсуляции: Все пользовательские переменные ноды видны другим нодам, например.
Классы там появляются как встроенные в скрипт, но в большинстве случаев это не нужно и полноценного ООП эти встроенные классы тоже не дают.
Ещё раз, нет. Сцена не аналог класса. Сцена это ресурс. Файл конфигурации дерева нод.
Ещё раз повторить?
Сцена загружается как ресурс PackedScene, затем при помощи команды Instance() из этого ресурса формируется ветка из нод, которую ты можешь добавить в дерево командой add_child().
Нет там никакой даже малейшей аналогии с ООП.
>Ещё раз повторить?
>Нет там никакой даже малейшей аналогии с ООП.
Подрастешь - поговорим. Пока мне с тобой обсуждать нечего.
Потому что ты трогал себя под одеялом.
Это копия, сохраненная 22 ноября 2020 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.