Главная Юзердоски Каталог Трекер NSFW Настройки

Gamedev

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 510 69 77
Godot #37 Аноним # OP 28/07/23 Птн 13:21:23 890164 1
1690539683815.jpg 547Кб, 1903x2666
1903x2666
Аноним 28/07/23 Птн 13:24:30 890166 2
>>890164 (OP)
Как-то в этот раз неудачно перекатил. Ну да ладно.
Аноним 28/07/23 Птн 13:29:22 890169 3
Игры-то делаете?
Аноним 28/07/23 Птн 13:35:51 890171 4
Аноним 28/07/23 Птн 13:46:39 890174 5
Аноним 28/07/23 Птн 14:12:27 890178 6
>>890009 →
>Ты уверен, что сеттинг "тян в армии" будет популярен у твоей целевой аудитории (дрочеров)? Или ты сам дрочишь на тян в униформе? Иначе не понимаю, зачем нужен именно такой сеттинг...
Да "дрочерам" только дай подрочить, сеттинг не так и важен, хотя, конечно, хороший и проработанный хоть чуть-чуть будет плюсом. Моя целевая аудитория это - преимущественно я сам, так-как делаю говно, а не игры. А мне интересно над таким поработать, так что тут проблем нет. Уж лучше работать над чем-то интересным мне, так-как если оно не получится хорошо, то будет не так обидно за потраченное время.
>Не вижу в нём "шлюхосим". Секс-то будет вообще?
Да.
Аноним 28/07/23 Птн 14:47:45 890190 7
>>890178
>Да "дрочерам" только дай подрочить
Это было бы верно в 90-х с распространением порноигр на дискетах среди знакомых, а не в эпоху неограниченного доступа в интернет...

>Моя целевая аудитория это - преимущественно я сам
Тогда ладно, просто любопытно было.
>так как делаю говно, а не игры.
С таким настроем развиваться тяжелее.

>Уж лучше работать над чем-то интересным мне, так как если оно не получится хорошо, то будет не так обидно за потраченное время.
Тут полностью согласен.
Аноним 28/07/23 Птн 15:34:23 890204 8
>>890190
>Это было бы верно в 90-х с распространением порноигр на дискетах среди знакомых
Кринж
>а не в эпоху неограниченного доступа в интернет...
Толку от этого, если информации стало больше, но не очень? Все любители порноигр только и ждут обновления игр и скучают по новенькому.
Аноним 28/07/23 Птн 15:56:54 890207 9
Хуй с порноигрой прав. Востребованный жанр, особенно если интерактив и сюжет накинуть, то и качество самой порнухи не так важно. Кумеры эт пиздец.
Аноним 28/07/23 Птн 17:49:05 890234 10
>>890207
А как заработать на этом если сейчас ни патреона, ни даже стима?

Кстати, моральный вопрос: я бы постеснялся выкладывать порноигру в стим со своего основного аккаунта. Типа там же мои данные, имя и связанный счет.
Аноним 28/07/23 Птн 17:53:52 890237 11
>>890207
Самый пиздец это фурри, там основные деньги
>>890234
Выкладывать порноигру это в принципе задачка, учитывая законы
Аноним 28/07/23 Птн 21:58:18 890288 12
>>890204
>информации стало больше, но не очень
При чём тут информация? Зайди в любой поисковик, выключи фильтры и набери "порно". Молодец, теперь можешь обдрочиться до потери пульса как тот хикка из Японии, откинувшийся с 42 оргазмов из-за того, что выкончал из себя все запасы воды.

>Все любители порноигр только и ждут обновления игр и скучают по новенькому.
Что там "новенького"-то?
>Ого, эту default_woman_01.obj натягивает на свой дрын default_man_01.obj, охренеть, дайте две!!
Так, что ли? Банальщина...

Я и сам считаю себя кумером, у меня прямо как в том мемесе дрочильная левая рука сильнее ведущей правой, лол. Рекорд был, наверное, раз 6 в день? Не помню точно, я обычно не считаю. Короче, я видел некоторые вещи, о которых ты, вероятно, даже не мог подумать. И даже их в интернете избыток, не хватает разве что совсем уж нишевых вещей. Всякой банальщины столько, что на всё дрочить некогда.

А порноигры вообще очень специфичная тема. Если картинки в интернете ты можешь быстро листать, у видео есть перемотка, то в игру с геймплеем (не ВН) приходится вкладывать куда больше времени и сил, так что на дрочку не остаётся ни сил, ни желания, да и контент чаще всего очень слабый, не заводит.

Так что мне очень сложно представить себе того человека, который ждёт очередной банальной порноигры, в которой нет ничего нового и дрочить тупо не на что, просто одно и то же в 100500-й раз.

Лол, повторяют одни и те же позы из раза в раз, хотя казалось бы - открой Камасутру и выбирай что-то наименее заезженное, нет, выбирают самые банальные, затраханные до дыр позы...
Аноним 28/07/23 Птн 23:59:38 890311 13
Че по визуальному программированию в годо?
Аноним 29/07/23 Суб 02:19:00 890326 14
>>890311
Удалено за ненадобностью - судя по статистике оно нахуй никому не нужно оказалось. Возможно переработают и вернут однажды, но это не точно.
Аноним 29/07/23 Суб 03:24:54 890330 15
Как же сложно делать игры.
Аноним 29/07/23 Суб 03:53:12 890337 16
Аноним 29/07/23 Суб 04:38:25 890340 17
Еще 2 дня проебал не открывая туториалы :((((
Аноним 29/07/23 Суб 14:53:12 890467 18
>>890326
Жоско. Придётся учить не понятное пограмирование. Ну хотя бы все остальное в движке довольно просто освоилось
Аноним 29/07/23 Суб 15:40:34 890479 19
>>890467
GDScript максимально прост, два шага от псевдокода.
Аноним 29/07/23 Суб 15:46:13 890481 20
>>890479
А если вообще нет опыта
Аноним 29/07/23 Суб 18:35:16 890552 21
Была инфа, когда на 4 билд в мобилки подвезут?
Аноним 29/07/23 Суб 18:49:47 890562 22
Аноним 29/07/23 Суб 22:22:04 890665 23
>>890481
Даже визуальное программирование - всё равно программирование, ты по сути всё равно описываешь что откуда взять и что с этим сделать.
Оно не делает получение результата принципиально проще.
Аноним 29/07/23 Суб 22:49:42 890679 24
>>890665
Этого двачую. У меня тут есть соседний тред визуального программирования для детей (scratch/snap) и там я начинал делать транскомпилер, который бы выдавал код на гдскрипте из блоков визуального кода ( >>833827 → ), но лень матушка помогла мне осознать, что занятие это бессмысленное и безблагодатное (ну еще анон мудрый обрисовал мне грамотно весь фронт работ предстоящих). А так-то у меня пакрасате было. В специальный блок накидываешь блоки и формируешь готовый скрипт одним кликом мышки.

Карочи, не усложняйте себе жизнь и учите ЯПы. Визуальный кодинг - это игрушка дьявола, ежжы.
Аноним 30/07/23 Вск 02:55:23 890713 25
>>890665
Ладно, хуй с ним. С чего начать учение языка?
Аноним 30/07/23 Вск 02:59:09 890714 26
Снилось что у меня живет Годоття, и я ее гладил по ее шестеренкам.
Аноним 30/07/23 Вск 03:26:37 890718 27
>>890467
Я когда на рпгме работал просто ахуел от невозможности понимать js. Представляю какая каша в визуале. Код свой нужно от и до понимать (практически), а то заебёшся новые фичи вводить и дебагать.
>>890679
>Визуальный кодинг - это игрушка дьявола, ежжы.
Двачую.
>>890713
Я так учил. Есть гайд на ютубе "Пилим свою акшин рпг", там практически вся база и для тренировки само то. Потом начинаешь уже свои хотелки кодить. Если что-то не понятно, то гуглиш и спрашиваешь в этом треде. Сам гдскрипт не сложный и из моего опыта не столько нужно сам язык знать, сколько как его применить. Я в программировании около нулевой, но пока что работать в годоте довольно приятно и без всяких вижуалов.
Аноним 30/07/23 Вск 05:55:09 890727 28
>>890164 (OP)
Можно как-нибудь в годоте установить фокус на ноду через код, будто я кликнул на неё мышкой?
Аноним 30/07/23 Вск 08:12:54 890736 29
>>890727
Типа как на кнопку? У кнопок есть grab_focus.
Аноним 30/07/23 Вск 18:21:44 890985 30
>>890718
Спасибо, почекаю
Аноним 30/07/23 Вск 19:35:08 891001 31
>>890164 (OP)
Здравствуйте, я Кирилл.
Хочу создать ТДшку со подачей стори ВН-стайл.
Там должен бегать рабочий и строить башенки, а злые будут набигать и убивать рабочего и башенки. Причем злые должны быть заскриптованы - одни в приоритете убивают рабочего, другие - башенки.
А еще там должна быть охрана дворца, которая помогает защищать строящиеся башенки. И техдрево для рабочего и злых.
Накидайте туториалов, джвадцать лет жду такую игру.
Аноним 30/07/23 Вск 22:43:26 891049 32
Почти все нравится в годоте, но зачем они скопировали синтаксис для gdscript из ебучего питона? После жс, котлина и шарпа это такая поебота. Каждый раз ебусь с этими отступами когда надо скопипастить блоки кода, каждую строку приходится перепроверять чтобы там что-нибудь не ебнулось с иерархией. Удаляешь один иф - и все по пизде пошло. Переносишь логику в отдельный метод - будь добр пересчитать невидимые табы. Когда есть {} то вообще похкй на такие недопроблемы. В питоне так сделали потому что изначально это был недоязык для маленьких скриптиков.
Аноним 30/07/23 Вск 23:00:37 891056 33
>>891049
Вы получаете первое предупреждение.
Движкосрач в отдельном треде.
Аноним 31/07/23 Пнд 14:16:24 891197 34
Чем принципиально отличается понятие "визуальное программирование" от того что в годоте сейчас? Типа в годоте ты же визуально видишь классы (которые заранее за тебя сделаны) в дереве, видишь что к чему прицеплено, визуально видишь что где наследуется...
Аноним 31/07/23 Пнд 14:46:22 891209 35
>>891197
Визуальное программирование это когда не пишешь ни одной строчки кода, не надо даже знать что такое класс, это хорошо реализовано в UE5 на блюпринтах. VisualScript из годота выпиливают и правильно делают, поддерживать это говно слишком дорого и профита минимум.
Аноним 31/07/23 Пнд 19:11:45 891358 36
Делаю игру, вижу на реддите или просто где-то игру в моем же жанре, но просто которая сделана нормально и не уебищно как у меня и расстраиваюсь.
Аноним 31/07/23 Пнд 22:42:09 891389 37
1690832528898.png 205Кб, 400x375
400x375
>>891197
Визуальное программирование - это когда блок-схему рисуешь вместо печатания слов.
Аноним 01/08/23 Втр 02:35:58 891452 38
99010da9c625d2c[...].png 324Кб, 1366x768
1366x768
Снимок экрана ([...].png 527Кб, 1366x768
1366x768
Снимок экрана ([...].png 604Кб, 1366x768
1366x768
Снимок экрана ([...].png 536Кб, 1366x768
1366x768
Привет, ребята. Начал делать свой крутой иммёрсив сим шутер от первого лица. Вот то что пока сделано(естественно это всё не финальные варианты) и то что ещё делается. Сегодня уже сделал скрипт игрока но не разобрался как сделать шоб камера крутилась когда мышкой крутишь и из-за этого ходить назад можно только вслепую. И ещё не знаю как прыжок реализовать.

Я очень хочу создать эту игру потому что её сюжет будет раскрывать тему которая коснулась лично меня и возможно даже очень многих двачеров. Если кого-то интересует подробнее - пишите в телеграм @MarganecRPG(я стесняюсь при всех на дваче писать а то вдруг засмеют за идею истории). Очень приветствую 3д модельеров, программистов(я сам в этом деле ну просто очень плох, вернее, у меня лучше идут дела с С# в Юнити чем с ГДскриптом), ну и дизайнеров интерфейса(я вроде бы и сам могу, а вроде бы и... ну на скринах можете видеть).
Аноним 01/08/23 Втр 11:57:11 891469 39
Сап, движок подойдет для стратегии в реальном времени, аля стелларис?
Аноним 01/08/23 Втр 12:42:52 891476 40
>>891452
Наес. ГДСкрипт попроще шарпа. Все получится.

>>891469
Вполне. В 4 заебатую навигацию еще сделали.
Аноним 01/08/23 Втр 13:02:25 891482 41
>>891476
В шарпе некоторые вещи удобнее, например те же несколько классов в одном файле
Аноним 01/08/23 Втр 16:58:10 891515 42
>>891482
> несколько классов в одном файле
Гдскрипт может. С оговоpками конечно, но может.
Аноним 01/08/23 Втр 19:13:27 891557 43
>>891482
Сколько раз сталкивался, в итоге все равно приходилось выносить класс в отдельный файл. Просто потому, что обычно это сущность которая нужна и из других классов.
Но как написал анон выше, в гдскрипте тоже можно ограниченно писать классы в одном файле.
class_name MainClass
extends Node

bla_bla

class ClassA:
_var a: int
_func methodA(): ...

var objA: ClassA
Аноним 01/08/23 Втр 22:21:41 891582 44
Надо сделать игру: ничего не знаю, просто по очереди гуглю вообще ВСЁ:
Как сделать так чтобы ходить, как сделать так чтобы спавнился прожектайл, как решить то, сё. И все гуглится. И игра сделалась просто по гуглу каждого момента. В чем минусы такой стратегии?
Аноним 01/08/23 Втр 22:30:35 891584 45
>>891582
В том, что однажды не найдешь готовых решений, либо не сможешь склеить их в кучу.
Аноним 01/08/23 Втр 22:53:46 891591 46
>>891584
А если я учусь и не добавляю код, если четко не понимаю, что он делает?
Аноним 02/08/23 Срд 10:33:40 891745 47
>>891557
> обычно это сущность которая нужна и из других классов
Всю ночь размышлял над примером гарантированно локального класса, который уж точно нигде не потребуется и не придумал ничего, что нельзя было бы оспорить.
тот анон выше
Аноним 02/08/23 Срд 10:36:38 891746 48
>>891591
> А если я учусь и не добавляю код, если четко не понимаю, что он делает?
Если я учусь, я создаю учебный проект, который не жалко стереть. Добавляю в него код, который я не знаю что делает, смотрю, что он делает, и после этого знаю, что код делает.
Кроме того, в большинстве случаев код самодокументируем, одного взгляда на него достаточно, чтобы узнать, что он делает.
Аноним 02/08/23 Срд 14:18:03 891841 49
>>891049
>зачем они скопировали синтаксис для gdscript из ебучего питона?
Затем, что это база. Просто, удобно, лаконично.

>После жс, котлина и шарпа это такая поебота.
А мне после Паскаля физически больно видеть "{}".

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

>Удаляешь один иф - и все по пизде пошло.
1. Выдели блок кода и нажми shift+tab, чтобы убрать отступы на один уровень. Чтобы добавить отступы на один уровень, выдели блок кода и нажми tab.
2. Твои функции/методы не должны содержать в себе больше 7 смысловых единиц. Если у тебя проблемы из-за одного if, тогда у тебя там, скорее всего, портянка на три экрана - срочно разделяй её на более короткие подпрограммы. Гугли Forth.
3. Godot разрешает иметь лишние отступы. Если твой if не имеет else, можно сделать так:
>func do_something(arg):
># if arg is something:
>_ _ actually_do(arg)
Как видишь, здесь есть лишний отступ из-за того, что if был удалён, но Godot ругаться не будет.

>Переносишь логику в отдельный метод - будь добр пересчитать невидимые табы.
Перенос в отдельный метод крайне прост:
1. Выделить блок кода.
2. Нажать shift+tab необходимое число раз.
3. Нажать ctrl+x и ctrl+v в другом месте,
- либо перетащить выделенный код мышкой,
- либо добавить новый func () перед блоком кода.

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

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

>Когда есть {} то вообще похкй на такие недопроблемы.
Ага, только код отвратительно выглядит и плохо читается, скобачки занимают лишние строки или визуально теряются на фоне остальных команд. Фигурные скобки - самый отвратный спецсимвол. Слишком похожи на () и [], в большинстве шрифтов слишком тонкие, "соски" размером меньше пикселя.

Единственный плюс операторных скобок - IDE может отформатировать твою портянку говнокода вместо тебя, но большинство говнокодеров даже не могут найти шорткат для этой функции.

Тоже раньше с подозрением относился к значимым отступам в коде, но теперь понимаю их важность.
Аноним 02/08/23 Срд 14:29:28 891843 50
>>891841
Алсо, добавлю, что GDScript позволяет записывать код в одну строчку через точку с запятой:
>if something: do_1(); do_2(); else: do_else();
>for node in nodes: node.do(); node.queue_free();
>func do(x) -> int: var y=x; return x+y;
Так не рекомендуется делать из-за того, что такой код сложнее читать, но фича в языке есть и в некоторых случаях удобнее переноса каждой команды на отдельную строку с отступом.

>>891056
>Движкосрач
Ты чего так легко триггеришься? Возмущение особенностями незнакомого языка нормально. Я предполагаю, что тот анон просто не знает всех настроек и шорткатов редактора.

Особенно это касается новичков, которые только научились код печатать, но не шарят во всей теоретической базе программирования.
Аноним 02/08/23 Срд 14:37:33 891844 51
>>891841
> Если ты чувствуешь необходимость в копипасте - знай, ты делаешь какое-то говно, которое потом несколько раз в ногу выстрелит и граблями по затылку ударит в любом проекте сложнее hello world. Помни это и избегай копипасты.
Решительно двачую. Копи/пасте должно работать только на уровне файловой системы. Ранее написанный код всем файлом целиком копипастится в нужную директорию и там подключается, и не требует каких-либо внутренних переделок. Это и есть модульность, а не эти вот копипастинги портянок кода из метода в метод.
Аноним 02/08/23 Срд 14:54:22 891850 52
>>891557
>выносить класс в отдельный файл.
>сущность которая нужна и из других классов.
Если не ошибаюсь, к "локальным" классам можно обращаться извне скрипта, создавать их и т.д.

Прямо сейчас проверить не могу, но я когда-то экспериментировал с этим и у меня получалось.

Это, вроде бы, похоже на обращение к enum.
Аноним 02/08/23 Срд 15:04:37 891851 53
>>891582
>В чем минусы такой стратегии?
1. В уроках из интернета часто грубый код, не оптимальный, годный только для обучения.
2. Конкретно твоя игра может требовать некие оптимизации, тогда как учебный код сделан для максимально общего случая.
3. Как уже сказали, ты можешь придумать то, чего в интернете в готовом виде нет. А у тебя нет навыка самостоятельного решения задач, потому что ты не создаёшь своим умом, а копипастишь.
4. Даже если ты понимаешь свою копипасту и запоминаешь все функции API движка, у тебя не формируется навыков решения задач в общем случае. Сейчас ты выучил только "если есть проблема, нужно загуглить и скопировать код".

Ну и по мелочи, вроде устаревшего кода в старых туториалах, вопросов лицензирования в случае достаточно крупных фрагментов кода и т.д.
Аноним 02/08/23 Срд 15:05:34 891852 54
>>891850
Кстати да, модификаторов доступа тонет. Теоретически ничто не мешает сделать инстанс внутреннего класса из инстанса родительского класса, а может даже и из имени класса даже без инстанса.
Аноним 02/08/23 Срд 15:14:34 891854 55
1690978473395.png 17Кб, 372x163
372x163
1690978473411.png 12Кб, 457x97
457x97
1690978473412.png 8Кб, 306x55
306x55
Аноним 02/08/23 Срд 15:21:41 891856 56
Аноним 02/08/23 Срд 16:37:24 891874 57
screenshot.png 97Кб, 1108x875
1108x875
>>891389
>Визуальное программирование - это когда блок-схему рисуешь вместо печатания слов.
Нет, блок-схемы - это визуальная версия императивного программирования.

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

>>891197
>Чем принципиально отличается понятие "визуальное программирование" от того что в годоте сейчас?
VisualScript и ему подобные языки - это императивные языки с визуальным интерфейсом. Они не нужны, потому что слишком избыточны. А вот сцены с нодами Godot - это декларативный язык программирования с визуальным интерфейсом. Ты можешь создавать сцены с помощью ручной записи декларативного кода в .tscn и .tres файлы через блокнот, но это нерационально, потому что визуальный интерфейс проще для понимания и делает всю сложную рутину вместо тебя, избавляя от ошибок вроде неправильно поставленных скобочек.

Если ты заранее создашь все необходимые ноды (напишешь скрипты с class_name), тогда многие игры можно будет создавать исключительно декларативно, размещая и комбинируя разные ноды и сцены, создавая для них ресурсы и настраивая параметры, аналогично тому, как ты можешь создать новую физическую симуляцию, используя только базовые ноды RigidBody и CollisionShape, не написав ни одной строки кода - если бы не было визуального редактора, тебе пришлось бы вручную описывать сцену текстовой записью (где была бы куча вызовов .new() и трансформаций объектов).

Разумеется, декларативные языки обычно имеют ограничения по сравнению с императивными (поэтому, например, нельзя написать большинство программ на одном только HTML), то есть они не полны по Тьюрингу. Но используя GDScript для создания кастомных нод - то есть расширения базового языка сцен, теоретически, можно создать систему, полную по Тьюрингу, которую можно будет использовать исключительно операциями с нодами через визуальный редактор.

Главная проблема здесь в производительности - Godot не рассчитан на слишком большое количество нод и операций над ними, в документации рекомендуют минимизировать количество нод и использовать низкоуровневые API вместо нод. Что-то оптимизируют в 4.x, нужно тестировать.

На пикриле ответ поисковика на базе ИИ. До чего дошёл прогресс!
Аноним 02/08/23 Срд 17:07:33 891884 58
Можно ли пихать функцию сохранения в _process? Не взорвется ли компьютер играющего от того что каждый фрейм сохраняется игра? Делаю мобилку.
Аноним 02/08/23 Срд 18:35:21 891912 59
>>891884
В процесс слишком часто. Каждые пять-десять-шестьдесят секунд не вариант?
Аноним 02/08/23 Срд 19:00:36 891917 60
>>891912
У меня было 3 секунды и модер не пропустил на яндексе, типа он обновил и у него сбросились 3 секунды прогресса.
Аноним 02/08/23 Срд 19:11:10 891918 61
>>891884
>Можно ли пихать функцию сохранения в _process?
Очевидно, что нет, потому что тогда 60+ раз в секунду будет происходить обращение к функциям ОС для записи на диск, что в принципе медленно и глючно даже с SSD, не говоря уж о медленном чипе памяти на мобилках. Кроме того, ты впустую расходуешь ресурс накопителя пользователя, что особенно существенно на мобилках, где зачастую нет возможности балансировать износ ячеек, а ещё сохранение в твоей игре рискует испортиться 60+ раз в секунду, т.е. тебе каждый раз нужно создавать резервную копию и делать операции создания, удаления и переименования файлов. А если у пользователя дисплей выдаёт 120 кадров в секунду (такие бывают даже на мобилках) или он отключит у себя вертикальную синхронизацию, то твоя операция сохранения будет происходить ещё чаще.

Тут очевидна проблема XY:
https://ru.wikipedia.org/wiki/Проблема_XY_(Ошибка_молотка)

З А Ч Е М ты хочешь сохранять игру 60+ раз в секунду на мобильном устройстве? Так не делают даже ММО, которые, по идее, должны сохранять достижения игрока непрерывно - но на практике можно столкнуться с откатом данных на несколько минут назад из-за каких-то проблем.

Если ты хочешь побороть сейв-скаминг, во-первых, доступ к файлам приложения на мобилках и так сильно ограничен, а пользователь с рутом сможет легко обойти твою защиту. Во-вторых, это бессмысленно, потому что если у тебя, допустим, данные достижений передаются в интернет, кто-то обязательно изучит API сервера достижений и запишет себя с результатом 4294967296, ни разу не запуская игровой клиент.

В первую очередь заботься о том, чтобы было интересно играть (геймдизайн), во вторую - чтобы играть было приятно (не было тормозов и багов), а все эти хитрожопые костыли можешь выкинуть.
Аноним 02/08/23 Срд 19:24:45 891919 62
54884original.jpg 91Кб, 512x512
512x512
>>891917
>модер не пропустил на яндексе
>у него сбросились 3 секунды прогресса
Напиши этому школотёнку с модеркой, что ты передумал публиковать свой шедевр в их гнилой помойке, ведь ты загрузил им все необходимые файлы, а они не смогли пропустить их через свою дырявую модерацию за 3 секунды. Там такой шлак публикуют, жуть...

Возможно, у тебя просто функция сохранения совсем не работает и ты неправильно понял ответ модератора.
Аноним 02/08/23 Срд 20:36:32 891926 63
>>891917
Сохранять прогресс нужно не по таймеру, а по событиям. Каждый "прогрессирующий" объект в игре должен уметь испускать сигнал (порождать событие) при котором игра автосохраняется.
Аноним 02/08/23 Срд 20:48:48 891930 64
>>891926
>Каждый "прогрессирующий" объект в игре должен уметь испускать сигнал (порождать событие) при котором игра автосохраняется.
Это работает только если таких событий мало, а все остальные события сохранять не нужно. Если событий для сохранения много каждую секунду, рациональнее сохранять по таймеру.
Аноним 02/08/23 Срд 21:34:26 891942 65
1691001266902.jpg 9Кб, 288x175
288x175
>>891930
> Если событий для сохранения много каждую секунду
Ну тогда наслаждайся отказами.
Аноним 02/08/23 Срд 22:47:21 891959 66
>>890164 (OP)
Кто-нить итт вообще создал хоть что-то на голове готовое на продакшн?
Аноним 02/08/23 Срд 23:19:04 891970 67
>>891959
Кто-то наверняка создавал, но нужно быть титаническим олдом типа гологеймса, чтобы осмелиться показать свой релиз двачерам.
Аноним 02/08/23 Срд 23:22:35 891971 68
>>891959
Смотря какого уровня. Я делаю мобильные кликалки и зарабатываю ими себе на пивас. На днях, надеюсь, третью рожу.
Аноним 03/08/23 Чтв 01:14:06 891982 69
НАТКНУЛСЯ НА СЕКС-МОД НА МАЙНКРАФТ
@
ЗАХОТЕЛ СДЕЛАТЬ СВОЙ МАЙНКРАФТ
@
С ГОДОТОМ И ШЛЮХАМИ


>>891926
>прогрессирующий объект в игре
>>891942
>наслаждайся отказами
В майнкрафте будешь перезаписывать весь чанк на диске после каждого добавления/удаления блока?
Аноним 03/08/23 Чтв 01:38:04 891983 70
эх.jpg 57Кб, 500x672
500x672
>>891959
>создал хоть что-то в голове
В голове - создал. А что?
Аноним 03/08/23 Чтв 05:45:11 891994 71
Как же много времени уходит на геймдев. Если ты соло разработчик, то натурально приходится ебашить практически всё свободное время и при этом один хрен ДОЛГА. Вот сейчас мне нужно ассетов нарисовать (картинок в сцены) и тут просто по времени выходит адово, при том, что сами картинки получаются "ну такое себе". И это "ну такое себе" около 6 часов занимает. Как я должен и работать и игру делать одновременно? Конечно это занимает миллион времени чисто до прототипа дотянуть и понять, что это говно.
Аноним 03/08/23 Чтв 06:34:32 891996 72
>>891994
Почему не брать ассеты бесплатные с итч.ио? Они же по открытой лицензии.
Аноним 03/08/23 Чтв 06:41:40 891997 73
>>891996
Музыку беру (я сам пробовал писать, но только две бшки выдавил и понял, что + музыка и я просто не потяну всё это по времени). Остальное там не получится взять из-за того как графически выглядит игра (задники и ростовые спрайты персонажей). Заказать кому-то тоже не вариант, так-как я нищий бомж. Да и не хочу деньги тратить на то, что 90% не окупится. Плюс художник может помереть или ещё что и тогда вообще пиздец.
Аноним 03/08/23 Чтв 08:06:48 892003 74
>>891994
Ну а ты думал, почему всякие Тоади и Крисы Ханты десятилетия делают свои проекты?
Аноним 03/08/23 Чтв 12:02:27 892025 75
>>891982
> В майнкрафте будешь перезаписывать весь чанк на диске после каждого добавления/удаления блока?
Буду.
А что конкретно тебя смущает? Операции добавления блоков делает игрок ЗНАЧИТЕЛЬНО МЕДЛЕННЕЕ, чем компьютер обновляет экран.

Хорошо, я уточню ещё один момент, неочевидный, который вроде как не упоминался в этом дискассе (но мы его не раз обсуждали в прошлых тредах).
Сохранение состоит из двух частей:
1. Формирование массива данных для сохранения игры, производится в памяти, точнее в переменной. Множество автономных агентов сохранения отправляют свои данные в этот массив, через событийную (сигнальную) модель/парадигму, и это легко обрабатывается движком.
2. Запись актуального массива данных в сейв-файл на диске. Эта операция дорогостояща и выполняется по таймеру, раз в секунду, например. Менеджер сохранения должен уметь блокировать или приостанавливать запросы на добавление данных по п.1. во время записи файла.
Аноним 03/08/23 Чтв 12:05:44 892026 76
>>891994
> при том, что сами картинки получаются "ну такое себе". И это "ну такое себе" около 6 часов занимает. Как я должен и работать и игру делать одновременно?
Рисуй не просто "ну такое себе", рисуй примитивное говнище уровня детсадовских каракуль. И лабай на этом прототип. Потом если прототип окажется годный, привлечёшь спонсоров с баблом, на бабло наймёшь художника.
Аноним 03/08/23 Чтв 12:33:07 892034 77
>>891994
Снижай масштаб своих идей. Лучше сделать 3-4 законченных минималистичных игры, каждая из которых лучше предыдущей, чем 1 долгострой, на который никто не посмотрит.
Аноним 03/08/23 Чтв 12:52:09 892036 78
>>892003
Так вот в том-то и дело. Я знаю что разраб Stardew Valley, по моему, чисто сидел на шее у своей девушке и игру делал.
>>892026
Да я знаю, но. Во-первых с таким прототипом как я делаю инвесторов хуй будет. Да и потенциальная прибыль как бы такая какая планируется никого не заинтересует. Во-вторых да нужно было бы с каракуль начать, чтоб чисто код потрогать и геймплей обкатать, но я уже покодил менюшки, устал от кода чуть-чуть и мне захотелось на что-нибудь другое переключится. Переключился на рисование картинок. И вот если каракули буду рисовать, то удовольствия мало.
>>892034
Да я и так уже. Решил просто мини-игру пока сделать для игры, а там дальше посмотрим.
Я на прошлом проекте обосрался по полной с амбициями своими. Думал всякого сделаю, оказалось на всякое нужно миллион времени. В итоге случился лютый обосрамс. Но хоть опыт получил. Я же был совсем ещё нулёвый, а сейчас нулёвый +. Планирую разбить всю разработку на такие вот мини-игры и пилить потихоньку.
Аноним 03/08/23 Чтв 16:48:41 892082 79
загруженное.png 64Кб, 705x310
705x310
>>891452
>крутой иммёрсив сим шутер от первого лица
Ясно... Нет, что ты в это понятие вкладываешь? Иммерсив - это, вроде, ААА-реализм про погружение на вагонетке в роль какого-нибудь бомжа, который что-то там делает по линейному сюжету с киношными катсценами, в мире очень избыточных статичных декораций...

А почему TrenchBroom? Не проще ли делать всю геометрию в Blender, а прототипирование уровней делать в Godot с помощью CSG нод?

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

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

>Если кого-то интересует подробнее - пишите в телеграм (я стесняюсь при всех на дваче писать а то вдруг засмеют за идею истории).
Это троллинг? Ты стесняешься анонимно рассказать историю игры, которую тебе рано или поздно придётся опубликовать на всеобщее обозрение, а палить свой сравнительно публичный аккаунт вот так вот сразу не стесняешься?

>лучше идут дела с С# в Юнити чем с ГДскриптом
GDScript удобнее, чем C# (и в Godot, и в Unity).

>дизайнеров интерфейса
Ты сначала игру сделай, дизайнер. Зачем тебе меню с настройками размера экрана (полнейший атавизм в современных играх, не считая труъ-пиксель-ретро дроча на Ъъъ-разрешение 320х240 в окошке), если у тебя игры даже в зачаточном состоянии нет? Да даже грубого прототипа основных механик нет. Алсо, модели с текстурами ты тоже раньше времени начал пилить, у тебя даже чарактер контроллера толком нет, а ты уже какие-то домики лепишь, зачем? В тренчбруме, лол, ты в кваку 20 лет карты пилил, прежде чем решил игру сделать? Не обижайся, все делают подобные организационные ошибки в самом начале, пытаясь делать декоративные детали раньше фундаментальных. Сделай сначала играбельный прототип на уровнях из CSGBox без текстур, только потом поговорим о том, какие модели тебе нужны.
Аноним 03/08/23 Чтв 17:28:14 892093 80
>>892025
>Операции добавления блоков делает игрок ЗНАЧИТЕЛЬНО МЕДЛЕННЕЕ, чем компьютер обновляет экран.
При чём тут экран? Игрок может спамить блоки со скоростью несколько блоков в секунду. А динамит уничтожает сразу десятки блоков. Даже если ты сделаешь всего одно сохранение на взрыв одного динамита, игрок просто наспавнит сотни блоков динамита и взорвёт только один, а остальные будут взрываться с интервалом в доли секунды. Ещё есть поршни, которые меняют блоки в чанках, и способны давать нагрузку больше динамита. Рельсы можно переключать, дверьми хлопать и т.д., всё это можно назвать "прогрессом" и всё это может происходить много раз в секунду.

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

>Формирование массива данных для сохранения игры, производится в памяти
Массив данных в готовом для записи на диск формате, я так понимаю? Тогда это дорогостоящая операция, потому что хранение на диске отличается от формата, с которым игра работает в памяти.

Скажем, в том же Майнкрафте может быть трёхмерный массив чисел. Но на диск может записываться не весь этот массив, а сжатая его версия. Просто потому что нерационально хранить тысячи нулей, идущих подряд, это быстро раздувает сейв мира на гигабайты.

>Запись актуального массива данных в сейв-файл на диске. Эта операция дорогостояща и выполняется по таймеру, раз в секунду
Лол, сам понимаешь, что операция дорогостоящая, но предлагаешь теребить диск каждую секунду?

Даже SSD диски спотыкаются и тормозят, если у тебя огромный поток коротких файлов. Они быстры только если у тебя файл весом сотни МБ. В современных SSD запись вообще очень медленная, они быстро пишут только в специальный кэш.

Допустим, на HDD твоё избыточное созранение слабо влияет, но SSD и flash-память мобильных устройств это будет избыточно изнашивать. Особенно флеш-память, у неё нет выравнивания износа.

Ну и т.к. мы говорим про мобильные игры, я уверен, что лишние операции с диском излишне нагружают процессор, повышая температуру и ускоряя разряд аккумулятора. Слишком большая цена для игрока ради 1-5 минут геймплея в какой-то гиперказуалке.
Аноним 03/08/23 Чтв 17:37:47 892098 81
>>892082
>GDScript удобнее, чем C#
Лол, чем?
Аноним 03/08/23 Чтв 18:09:15 892116 82
GDScript есть в Юнити?
Аноним 03/08/23 Чтв 18:24:25 892122 83
>>891994
>Как же много времени уходит на геймдев. Если ты соло разработчик, то натурально приходится ебашить практически всё свободное время и при этом один хрен ДОЛГА.
Жалуешься на время - значит, геймдев - не твоё.

Сравни с игрой в игры. Одни люди жалуются на гринд в какой-нибудь игре, другие молча заносят тысячи долларов, чтобы избежать этого гринда. А третьи просто тысячи часов гриндят и получают удовольствие. Если тебе не нравится делать игру, зачем себя заставлять? Это ведь не твоя работа, как я понял, а хобби.

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

Дело тут не только в том, что неудачная задумка может поставить крест на десятках и сотнях часов рисования графики. Дело ещё в том, что интересная графика может скрывать под собой скучный геймплей. Ты легко можешь спутать интересную графику с интересным геймплеем. Чтобы избежать этого заблуждения, нужно сделать игру интересной даже с цветными квадратиками вместо полноценных спрайтов (или цветными кубами вместо сложных 3D моделей), а только потом уже заниматься раскрашиванием игры. Скучные провальные игры с качественной графикой так и рождаются - художник сразу сел и нарисовал кучу спрайтов, а игру так и не сделал. В то же время есть очень увлекательные игры на ASCII "графике", то есть без иллюстраций совсем, только с очень простыми символьными обозначениями для того, чтобы отличить один объект от другого.

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

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

>картинки получаются "ну такое себе". И это "ну такое себе" около 6 часов занимает.
Можешь показать пример того, что выходит? Хотя бы рандомную картинку из интернета, похожую на то, что ты сам делаешь. Если тебе навыков не хватает, то с улучшением навыков ты будешь быстрее делать картинки лучшего качества. Также можно оптимизировать процесс работы и заменить инструменты. Для сравнения, проще накидать в 3D сцену из кубов и потом "обмазать" её, чем рисовать полностью с нуля, вымучивая образы из своего воображения. Так многие "крутаны" делают в контексте иллюстраций, а к играм это тем более применимо т.к. от игр не ожидают особой художественной ценности.

>>892036
>с таким прототипом как я делаю инвесторов
Можно попробовать краудсорсинг, если сможешь привлечь целевую аудиторию. Хотя краудсорсинг эффективнее с готовой графикой без прототипа...

>Да и потенциальная прибыль как бы такая какая планируется никого не заинтересует.
Если заранее знаешь, что проект провальный, зачем тогда его вообще начинать? Зачем вкладывать по 6 часов в каждую картинку, если в это потом никто играть не будет? Ради опыта прототип без графики ценнее кучки ассетов.

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

Кроме того, в Godot менюшки - самое лёгкое.

>Переключился на рисование картинок. И вот если каракули буду рисовать, то удовольствия мало.
А мог бы сделать прототип и получать удовольствие от игры в прототип, мотивируя себя постепенно рисовать нормальную графику для него.

Конечно, если у тебя не симулятор ходьбы, в котором всё удовольствие от рассматривания картинок...
Аноним 03/08/23 Чтв 20:19:25 892151 84
>>892093
> При чём тут экран?
Потому что главный цикл игрового приложения, это цикл обновления экрана. Дальнейшее не читал, уж извини. Иди учи матчасть. Майнкрафтер. блять.
Аноним 03/08/23 Чтв 20:25:35 892154 85
>>891959
Ты издатель? Если нет, к чему вопрос?
Аноним 03/08/23 Чтв 20:25:40 892155 86
Есть годные туторы по коду на русском?
Аноним 03/08/23 Чтв 20:29:20 892156 87
>>891917
Ну это чушь. Либо пишешь ему аппеляцию что сейвы опциональны по их же правилам. Либо у тебя непонятно работает сейв и это действительно откат, тогда делай как все современные - чекпоинты или главы, миссии. Чтобы было ЯВНО видно игроку и модеру, что вот в этой точке был сейв.
Аноним 03/08/23 Чтв 21:27:55 892192 88
>>892155
Stepik курс по питону, потом сходу поймёшь гдскрипт
Аноним 03/08/23 Чтв 23:18:50 892227 89
Аноним 04/08/23 Птн 03:39:39 892245 90
test.png 1676Кб, 3840x2160
3840x2160
>>892122
>Жалуешься на время - значит, геймдев - не твоё.
>Если тебе не нравится делать игру, зачем себя заставлять?
Мне нравится делать игру. Я так просто поныть решил. У меня стаж геймдева 2 года. Если бы мне нравилось я бы уже бросил давно. Я же не дурак тратить столько времени на то, что мне не нравится.
>тебе уже сказали, но ты всё неправильно делаешь.
Я понимаю. Но концепт есть твёрдый. Спизженый, обкатаный и проверенный. С меня только видоизменение под свои нужды и доведение до ума. И опять таки я упомянал свою мега код сессию знакомства с годотом, когда я менюшки кодил. Я хочу переключится на другой вид деятельности. Мне кстати очень нравится этим геймдев, что если заебался что-то делать, то есть возможность переключится и при этом всё равно продуктивно время потратить. Так-то я понимаю риск, но готов на него если получаю удовольствие от процесса. А я получаю и именно по этому мега рискую и мне пох.
И я прям понимаю твою мысль. Рили очень легко проебаться на графике и оставить игру без, собственно, игры. Тысячи примеров имена который хуй теперь вспомнишь. Риск большой, но у меня есть некоторая уверенность в концепте, что позволяет мне рискнуть.
>Можешь показать пример того, что выходит?
Пик. Это я рисовал для себя. Что сейчас рисую скидывать не буду, я стесняюсь. Для игры чуть хуже выглядит, так-как там не иллюстрация всё таки, а чуть другое.
>Для сравнения, проще накидать в 3D сцену из кубов и потом "обмазать" её, чем рисовать полностью с нуля, вымучивая образы из своего воображения. Так многие "крутаны" делают в контексте иллюстраций, а к играм это тем более применимо т.к. от игр не ожидают особой художественной ценности.
Да. Я знаю про такие методы. Илюшке кувшину привет. Если к такому не прибегать, попа может лопнуть от напряга высерать каждый раз что-то оригинальное из головы.
>Можно попробовать краудсорсинг, если сможешь привлечь целевую аудиторию. Хотя краудсорсинг эффективнее с готовой графикой без прототипа...
Да там совсем порно. Тут как бы да. Плюс игра не большая, а то, над чем сейчас работаю и вовсе маленькое.
>Если заранее знаешь, что проект провальный, зачем тогда его вообще начинать?
Ну я не знаю наверняка. В голове звучит не плохо. Я просто пессимист и нытик. А ещё есть опыт обосрамса.
>Лол, у тебя там какие-то монструозные менюшки с десятком уровней вложенности и сотнями кнопок?
>Допустим, инвентарь сложно сделать, но это лишь небольшая механика от всей игры в целом.
Так вот я и работал над инвентарём. Причем я даже делал его не через сетку (где там тащишь и всё такое), а через обычный список. Но там очень много просто. Оружие, броня, потребляемое. Каждое со своими характеристиками. Эти характеристики должны выводится в инвентаре и в магазе. Возможность открыть инвентарь, возможность пойти в магаз. Экипировка всего эквипа. Вот над этим работал. Плюс я тупил много, так-как с годотом не работал никогда. Тем не менее было очень весело. Это потраченное время было весёлым, что уже хорошо.
>Кроме того, в Godot менюшки - самое лёгкое.
Ну с моего опыта сложно сказать, но так-то да. Я бы не сказал что было прям сложно. Я просто тупил.
>А мог бы сделать прототип и получать удовольствие от игры в прототип, мотивируя себя постепенно рисовать нормальную графику для него.
Бля. Кто-то делает игры чтобы в них потом играть? Я просто когда прошлую делал до того её затёр, что там пиздец. >Конечно, если у тебя не симулятор ходьбы, в котором всё удовольствие от рассматривания картинок...
Так вот в том-то и дело. Картинки важны очень в моей идее. И особенно в первом этапе этой идеи. Вот когда/если дойду до второго этапа, то там уже буду именно на кубах геймплей тестить.
Аноним 04/08/23 Птн 06:13:55 892249 91
>>892245
>Пик. Это я рисовал для себя.
Красиво. Если тратишь много времени на одну линию из-за неточности (часто нажимаешь ctrl+z), попробуй векторный редактор (Inkscape норм) - там любую линию легко поправить и легко добиться чёткого, гладкого лайн-арта. В растровых редакторах векторные слои часто очень ограниченные и не раскрывают весь потенциал векторной графики.

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

>Я просто пессимист и нытик. А ещё есть опыт обосрамса.
Но ты не сдался и продолжаешь работать, молодец. Меня завышенные и неоправданные ожидания совсем в депрессию скатили, сил ни на что нет.

>Оружие, броня, потребляемое. Каждое со своими характеристиками. Эти характеристики должны выводится в инвентаре и в магазе.
Делается универсальная система, а дальше просто описываешь предметы через tres ресурсы Godot. Главное придумать достаточно универсальную систему, чтобы потом костыли не пришлось делать.

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

Потом просто в редакторе выбираешь "создать новый ресурс - item.gd" и в полях инспектора вводишь путь к иконке, параметры и т.д. Особенно круто будет если предметы процедурно генерируются, тут без универсальной системы не обойтись, она должна всё подряд принимать.

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

>Картинки важны очень в моей идее.
У тебя там, случайно, не симулятор свиданий?

Удачи в разработке. Главное - не выгореть.
Аноним 04/08/23 Птн 08:18:13 892254 92
>>892249
>Красиво.
Спасибо.
>попробуй векторный редактор (Inkscape норм)
Спасибо за наводку. Я когда только начинал рисовал линии в растре и это просто жопа. Потом додумался векторный слой подключать. Стало в разы легче и быстрее и приятнее, но когда пытаюсь линию поправить у меня компьютер нах умирает от того сколько там точек в линии, а потому как бы вот. Попробую Inkscape, надеюсь там лучше, хотя мне кажется, что это просто у меня такой скилл низкий.
>Но ты не сдался и продолжаешь работать, молодец.
Ну как бы да. А что ещё остаётся? Я не могу просто сидеть на жопе и ничего не делать. По этому продолжаю работать, а это ещё и довольно интересно так что мне легче. Плюс у меня есть опыт не хороший. Один раз не по своей хотелке пришлось сдаться и пересмотреть планы на жизнь. Я от шока чуть не помер. Если ещё раз такое повторится я головой ебанусь, так что тут как бы только вперёд. Пусть там могут поджидать каловые массы, но даже если так, мне хоть будет чем себя утешить себя и пережить это всё зная что я старался.
Соболезную твоей ситуации, но даже совета дать не могу. Тут натурально бой с тенью.
>Делается универсальная система, а дальше просто описываешь предметы через tres ресурсы Godot.
Я так и сделал, но проебался чутка. Инвентарь игрока ресурс, а инвентарь магазина - нет. Плюс если переделать как нужно, там придётся похоже с инстансами разбираться (так как без них один хрен будет тоже самое что и сейчас, то есть просто готовые ноды кнопки каждая со своим кодом), а мне пока не хочется, так что пох, в другой раз. Благо предметы все прописаны мной и не генерируются. Но ресурсы это топ конечно. Я когда с ними стал разбираться мне очень понравилось как всё удобно и на сколько они облегчают работу.
>Тем более тебе всё равно в неё играть, если не хочешь, чтобы игроки жаловались на банальнейшие баги.
Да у меня там без генераций всяких. А играть да, я про это и говорю. Там в тестах так игру вдоль и поперёк пройдёшь, что тут уже как бы наигрался.
>У тебя там, случайно, не симулятор свиданий?
Не. Но близко. Я школьником был, прочитал Цукихиме и такой: "нихуя себе". Потом прочитал фейт и такой: "НИХУЯ СЕБЕ А ТАК МОЖНО БЫЛО!?". У меня была идея ещё тогда что-то подобное сделать, но даже мой куцый умишко школяра понимал, что писать по сюжету я не вывезу. Так что спустя около 7 лет решил всё таки что-то сделать, но с гейплеем, чтоб не так на нарратив полагаться. В итоге первая попытка оказалась не очень, но у меня теперь опыт есть.
>Удачи в разработке. Главное - не выгореть.
Спасибо. Удачи и тебе. Выгорания пиздец это. Лютая вещь.
Аноним 04/08/23 Птн 12:36:00 892282 93
Я ещё в самом начале пути, но я выгораю уже после того, как мне надо сделать хотя бы одну реальную задачу. Типа сделать инвентарь какой-то простой, или нарисовать (или даже выбрать из ассетов) фон и иконки. После каждой задачи чувствую себя опустошенным и нужен хотя бы день чтобы отойти. Годы депрессии уничтожили нервную систему...
Аноним 04/08/23 Птн 12:51:02 892285 94
>>892282
>выгораю уже после того, как мне надо сделать хотя бы одну реальную задачу.
Вероятно, ты берёшь на себя слишком комплексную задачу, пытаясь решить её в один присест. Разбивай её на части, и решай эти части как индивидуальные задачи. Составляй план и отмечай выполненное.
https://ru.wikipedia.org/wiki/Декомпозиция
https://ru.wikipedia.org/wiki/Диаграмма_связей

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

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

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

>Годы депрессии уничтожили нервную систему
С этим к врачам обращайся.
Аноним 04/08/23 Птн 14:57:41 892306 95
>>892254
>линии в растре и это просто жопа
>это просто у меня такой скилл низкий
Тут несколько причин. Да, конечно, чем больше ты тренируешься рисовать линии, тем лучше они будут, художники рекомендуют делать упражнения по рисованию одних только линий каждый день. Ещё влияет то, как именно ты рисуешь: вращая в большей степени запястным, локтевым или плечевым суставом; запястье не может провести длинные ровные линии, а с помощью локтя и плеча сложно делать короткие и точные отрезки. Размер графического планшета сильно влияет, так, на планшете с рабочей зоной размером А5 особо не развернёшься. Старые и дешёвые планшеты вносят кучу дополнительных ошибок из-за менее чувствительного сенсора. Так что даже если удаётся нарисовать ровную линию карандашом на бумаге, на компьютере это сделать сложнее. Крутаны покупают большие мониторы с пером вместо "слепой" доски для более точного контроля и зачастую делают наброски на бумаге, а на компе только обводят и раскрашивают. Ещё есть куча способов сделать линии лучше, от сглаживания в настройках программы до рисования на огромном холсте толстой кистью для последующего сжатия холста.

Короче, ты не одинок в этих проблемах, и дело далеко не только в абстрактном навыке.

>векторный слой
>пытаюсь линию поправить у меня компьютер нах умирает от того сколько там точек в линии
Krita? Там почему-то очень много точек создаётся.

>Попробую Inkscape, надеюсь там лучше
Да, с векторными линиями там однозначно лучше. Плюс куча удобных инструментов, которые я не встречал в растровых редакторах.

Знаю три основных техники рисования в векторе:

1. Инструмент "карандаш", аналог того векторного слоя в Krita: создаёт много точек, пока ты ведёшь перо. Чем быстрее ведёшь, тем меньше точек. Но в Inkscape есть очень удобный хоткей ctrl+L, позволяющий быстро сократить лишние точки в линии. Этим способом можно делать наброски от руки прямо в векторе.

2. Инструмент "ручка", имеет два режима работы: простые клики создают ломанную линию (острые углы), а если зажать и вести в сторону, можно делать кривые Безье. Любую точку в любой линии можно конвертировать в острую или гладкую, так что иногда я делаю ломанную и потом вручную сглаживаю её. Тут уже не обязательно работать пером, мышкой даже удобнее.

3. Инструменты "прямоугольник" и "овал", с помощью которых можно накидать силуэт или какую-то деталь, а потом использовать хоткеи для булевых операций над фигурами или сразу конвертировать в линии. Потом переходишь в режим редактирования (F2) и подгоняешь линии под желаемый результат. Мне лично такой метод нравится больше всего, он даёт возможность быстро визуализировать грубые формы и потом детализировать по необходимости. Чем-то напоминает рисование пятнами в растре, когда из бесформенных пятен постепенно формируются детали. Всё равно многие сложные объекты состоят из множества базовых форм, достаточно эти базовые формы немного деформировать. Особенно полезно при рисовании рукотворных предметов - там чаще всего встречаются прямые линии и овалы.

>А что ещё остаётся? Я не могу просто сидеть на жопе и ничего не делать.
Из твоих слов я сделал вывод, что у тебя есть основная работа. Не тяжело работать над игрой по 6 часов после рабочего дня?

>Но ресурсы это топ конечно. Я когда с ними стал разбираться мне очень понравилось как всё удобно и на сколько они облегчают работу.
Ага. В движке есть JSON и я постоянно порываюсь записывать данные в JSON, но, если подумать, ресурсы в Godot как раз выполняют всю ту работу, ради которой в других движках валяются длинные файлы конфигураций в JSON, XML или в своём формате, плюс встроенные функции инспектора.

>писать по сюжету я не вывезу. Так что спустя около 7 лет решил всё таки что-то сделать, но с гейплеем, чтоб не так на нарратив полагаться.
Мне кажется, визуальную новеллу всё же куда проще сделать нормально. Для визуальной новеллы достаточно быть писателем и художником, а для игры с геймплеем и сюжетом нужно быть писателем, художником, геймдизайнером, левелдизайнером, саунддизайнером, программистом и тестировщиком. Забить на сценарий можно только если у тебя его совсем нет, как в какой-нибудь песочнице без сюжета. Кроме того, как я понимаю, сценарий новеллы можно сравнительно легко переписать в определённых пределах без изменений в графике, а вот игру так радикально править - тяжело.

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

>первая попытка оказалась не очень
На каком-то другом движке делал? RenPy?
Аноним 04/08/23 Птн 21:55:51 892429 96
>>892192
Вот прям сходу, без малейших проблем?
Аноним 04/08/23 Птн 22:24:15 892439 97
https://docs.godotengine.org/en/stable/tutorials/inputs/input_examples.html рекомендует считывать событие в _input(event) если мне нужно что-то одноразовое, а в _physics_process(delta) считывать через Input когда мне нужно длительное нажатие. Я хочу считывать нажатие как в _input, но внутри _process, потому что мне нужно считывать медленно и возвращать значение в общий цикл обработки. Какие у меня могут быть пути решения?
Аноним 04/08/23 Птн 22:25:47 892440 98
>>892439
> Какие у меня могут быть пути решения?
_just_pressed_
Аноним 04/08/23 Птн 22:33:55 892444 99
>>892440
Это не совсем то, я хочу чтобы если кнопка была зажата, то ивенты всё равно поступали, но медленно, как в _input
Аноним 04/08/23 Птн 22:36:34 892446 100
>>892444
> медленно, как в _input
Но там не медленно. Там событийно. Событийно не значит медленно. С чего ты взял, что где-то что-то медленно? Если тебе нужны задержки, юзай таймер.
Аноним 04/08/23 Птн 22:39:46 892449 101
>>892444
Ты что то странное себе напредставлял. Нажатие в _input прилетает ОДИН раз на каждое событие, а не с какой то медленной периодичностью. (Может быть, тебя вводит в заблуждение, что операционная система посылает нажатия кнопок при зажатой клавише, но это вообще то настраивается/отключается в системе)
Аноним 04/08/23 Птн 22:51:28 892452 102
Если будет проще понять что я хочу, то моя цель - управление как в DCSS. Что после нажатия обрабатывается один раз, затем если кнопка всё ещё зажата, то начинается движение в ту же сторону. _input давал именно такой результат, но мне хочется чтобы функция обработки ввода возвращала значение с состоянием игры (можно обрабатывать противников/ожидание ввода/открыть инвентарь/другое). Да, можно ставить стейт и из _input, но мне не очень нравится такой подход
>>892446
Сравнительно медленно с _process. Таймер звучит не очень, но
>>892449
Да, это я как-то не учёл. Надо подумать тогда как лучше.
Аноним 04/08/23 Птн 23:17:24 892459 103
>>892452
С таймерами все ок. Тебе надо ловить два события, нажатие кнопки и отпускание кнопки. На нажатии кнопки, ты посылаешь в игру команду с этой кнопкой и запускаешь "длинный" таймер. Когда он срабатывает, проверяешь, нажата ли кнопка, посылаешь в игру команду, и запускаешь "короткий" таймер. Короткий таймер делает то же самое.
Отпускание кнопки принудительно останавливает оба таймера.
Алсо, в классических рогаликах для такой ходьбы есть специальная кнопка, может быть Shift+стрелки или G, стрелки - до ближайшего "объекта интереса" или стенки.
Аноним 04/08/23 Птн 23:21:29 892460 104
>>892452
> Таймер звучит не очень
Кстати, это можно тоже через отдельную стейтмашину реализовать. Например, задаём такие стейты:
enum KeyStates { Released, Pressed, Holded}
И задаём два кастомных сигнала
signal PressedOnce
signal PressedAndHold
Затем реализуем следующий алгоритм.
1. По умолчанию стейт Released.
2. Если кнопка нажата, стейт выставляется в Pressed, испускается кастомный PressedOnce сигнал и запускается таймер.
3. Если кнопка отжата, возвращаемся в Released и сбрасываем таймер, если он сам не остановился (таймер одноразовый).
4. Когда таймер выстрелил, переводим стейт в Holded и в _process либо обрабатываем удерживание клавиши, либо испускаем PressedAndHold если Holded
Аноним 04/08/23 Птн 23:25:12 892461 105
>>892459
>>892460
Спасибо, буду думать, но наверно пока что оставлю говяно на _input. А то если буду слишком долго возиться слишком долго с такой относительно минорной деталью до выпуска хоть какого-то базового прототипа, когда толком ничего нет, то могу потерять мотивацию и забить вообще на проект.
Аноним 04/08/23 Птн 23:35:15 892463 106
>>892461
Верное решение. Не проеби мотивацию. Как я когда-то. Сижу теперь как сыч, без игор.
Аноним 04/08/23 Птн 23:43:23 892465 107
Как перестать думать о том, что игра Ерохина похожа на мою, но моя никогда не будет такой же хорошей?

Очень сильно демотивирует что-то делать...

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

>>892452
>мне хочется чтобы функция обработки ввода возвращала значение с состоянием игры (можно обрабатывать противников/ожидание ввода/открыть инвентарь/другое).
Что? Зачем? Почему? Не пойму. ИМХО, ты что-то неправильно понимаешь в работе Godot.

_physics_process работает с установленной в настройках частотой, по умолчанию 60 Гц.

_process зависит от вертикальной синхронизации и максимальной частоты монитора, поэтому может колебаться от 60 Гц до 2000 и более Гц, но чаще всего встречаются частоты: 60/75/120/144/240 Гц.

_input и ему подобные срабатывают только когда генерируется событие ввода, а эти события могут генерироваться с частотой от 125 Гц для самого слабого офисного оборудования, от 500 Гц для игрового варианта и тысячи Гц для топового.

Т.е. в большинстве случаев _input срабатывает на порядки чаще _process, особенно для мыши.

Одна важная разница: в _input код выполняется не обязательно 125-500 раз в секунду, а только когда ОС генерирует событие. В _process же ты 60+ раз в секунду дёргаешь Godot API с вопросом:
>а сейчас есть ввод? а сейчас? ну а сейчас-то есть? что, и сейчас нет? ну сейчас-то точно есть ввод? а сейчас? что, серьёзно ничего? ну а сейчас?
А в _input тебе может прилететь 500 сообщений:
>ВНИМАНИЕ! МЫШ КРОДЁТСЯ НА 0.01 ПИКСЕЛЯ!
За одну секунду. И это даже не предел...

Рекомендую для игрового персонажа использовать _unhandled_input, этот обработчик вызывается только если событие не обработано GUI.
Аноним 05/08/23 Суб 00:17:50 892471 108
>>892465
>Как перестать думать о том, что игра Ерохина похожа на мою

Перестать об этом думать. И думать о том, как сделать, чтобы твоя была лучше ерохи.
Аноним 05/08/23 Суб 07:47:55 892523 109
>>892465
>Что? Зачем? Почему?
Потому что я делают рогалик с ецс, и я не хочу чтобы системы гонялись впустую пока игрок думает над нажатием кнопки
> _unhandled_input
Да, я его и использую, я обозвал его _input из-за схожего принципа работы: только когда срабатывает событие, а не несколько десятков раз в секунду
Аноним 05/08/23 Суб 12:02:20 892558 110
>>892523
> схожего принципа работы
В начале кадра весь инпут помечен как анхандлед. Если происходит событие инпута, сначала вызывается коллбэк _анхандлед_инпут и если инпут остался с флагом анехандлед, тогда вызывается коллбэк _инпут.
Аноним 05/08/23 Суб 13:00:51 892574 111
>>892558
Ты что-то путаешь. Не путай ньюфагов.
>Nodes can also process input events. When present, the _input function will be called for each input that the program receives. In many cases, this can be overkill (unless used for simple projects), and the _unhandled_input function might be preferred; it is called when the input event was not handled by anyone else (typically, GUI Control nodes), ensuring that the node only receives the events that were meant for it.

>>892523
>я не хочу чтобы системы гонялись впустую пока игрок думает над нажатием кнопки
Тогда ты можешь воспользоваться встроенной системой паузы, она очень гибкая:
https://docs.godotengine.org/en/stable/tutorials/scripting/pausing_games.html

>рогалик с ецс
Как оно устроено? Дерево сцены юзабельно?
Аноним 05/08/23 Суб 13:22:47 892580 112
>>892306
Да, про упражнения я знаю. Они действительно помогаю, но я уже решил теперь чисто через практику, так веселее. Планшет у меня норм. Маленький наверное, но я точно не знаю. Брал за 3,5 рубля в 18 или 19 году. Пока что он на все 100% отрабатывает. Я бы с экраном купил, но это уже с первый денег.
>Krita? Там почему-то очень много точек создаётся.
Не. Я в CSP работаю. Он так-то очень даже не плохой, но в векторе точек много, машина не выдерживает.
>Чем быстрее ведёшь, тем меньше точек.
Вот это звучит очень полезно. Да как и остальное в общем-то.
>Из твоих слов я сделал вывод, что у тебя есть основная работа. Не тяжело работать над игрой по 6 часов после рабочего дня?
Есть. Но я не каждый же день по 6 часов над игрой сижу. Я бы уже дуба дал если бы так делал. На выходных в основном. Опять же бывают очень продуктивные например полтора месяца, когда я могу нон-стоп работать над игрой. Что-то около 70% процентов свободного времени. А бывают месяца, когда прям не идёт. Выгорание начинается, тогда мож 30% максимум по мелочам, но даже не смотря на такое, открываю рисовальню или код и работаю хотя бы чуть-чуть. Какие-нибудь мелкие задачи.
>В движке есть JSON
Я видел пару гайдов на ютубе, но не смотрел их, а потом как раз гайд на ресурсы попался и собственно с JSON так и не познакомился.
>Для визуальной новеллы достаточно быть писателем и художником
Ты ещё про музыку забыл. Она как бы тоже решает. Ну это если серьёзно подходить к делу. Я просто помню осты из фейта и принцессы, да даже в лете осты не плохие. Не знаю я. В внке у нас три компонента. Текст, графоуни и звук. Одно не очень и пизда практически всему проекту.
>а для игры с геймплеем и сюжетом нужно быть писателем, художником, геймдизайнером, левелдизайнером, саунддизайнером, программистом и тестировщиком.
Ну как бы да, но как бы нет. То есть в игре с геймплеем от тебя врядли будут ожидать историю "до слёз" или мега инструментальный саундтрек опять же "до слёз". Геймплейный луп заебатый? Ну вот и отлично, остальное, не хотелось бы говорить, что вторично, но есть пространство для манёвра. А вот в внке тут пиздец. Ну ладно, там ещё графен и музыка, хотя графен нужен. Но вот если история туфта, то это всё. А так-как я знаю, что я творческий импотент, то я в жизнь не рискну внку делать. Да, внка легче, но только если ты "талант" или что-то в этом роде. Взглянуть хотя бы на рувно. Там после лета его тысячи родилось и померло, и ничего так и не высрали.
>Потом, кто твоя целевая аудитория?
Порнушечники. Я люблю всякие игры с ф95 и это практически единственное, что меня вообще веселит из игр. Так что вопрос даже не стоял в каком жанре делать.
Пусть я и сам порнушечник, но игру с одной лишь только порнухой делать мне скучно. Я так не смогу. За прошлый проект я понял, что сама половая тема довльно скучная. Из разряда очень скучная. А потому попробую что-то придумать в геймплейном плане. Тут и вступает годот.
>На каком-то другом движке делал? RenPy?
Не. На рпгме. Но там постоянная фрустрация была от того, что я вообще с движком никак работать не мог. Там же js. Если что-то нужно изменить иди меняй в родном коде написанном японцем. Там жопа была. Плюс я себе целей поставил много, я же только начинал и не знал что сколько может по времени занять. Провалил в итоге 90% из них. Лол. Да. Ну ничего. Опыт хотя бы получил. В годоте работать веселее.
Аноним 05/08/23 Суб 13:27:31 892582 113
>>892574
> Ты что-то путаешь.
Нет, я в точности сказал то, что написано там. Просто некоторые вещи подразумеваются, как само сабой разумеющееся и не проговаривается вслух. Я проговорил.
> When present, _input function will be called for each input that the program receives. In many cases, this can be overkill
"Каждая нода вызывает коллбэк _инпут, если он написан в скрипте. И это оверкилл." Но они не указывают явно, что это происходит на ВТОРОМ шаге. Они пишут:
> and the _unhandled_input function might be preferred; it is called when the input event was not handled by anyone else
"и коллбэк _анхандлед_инпут может быть предпочтительнее; он вызывается, когда событие инпута не обработано нигде ещё". Под этим подразумевается именно то, что я написал:
1. Обработанность инпута - это системный флаг.
2. В начале каждого фрейма этот флаг пуст.
3. Вызов mark_input_as_handled() заполняет флаг.
4. При заполненном флаге коллбэки _input не вызываются.
Аноним 05/08/23 Суб 13:31:05 892585 114
image.png 20Кб, 281x411
281x411
image.png 41Кб, 807x221
807x221
image.png 75Кб, 1150x775
1150x775
>>892574
>Как оно устроено?
В качестве ецс Arch https://github.com/genaray/Arch. Решил раз либа на С#, то и всё надо на нём писать. Дерево сцены только для гуя и графических объектов. Игрок, неписи, в будущем объекты и вообще всё - энтити. Вообще, я пока следую туториалу для рогалика на расте (https://bfnightly.bracketproductions.com/rustbook/), потому что там как раз про эцс и структурированный план того что нужно делать.
Аноним 05/08/23 Суб 14:33:49 892618 115
>>892582
Я не понимаю.

Есть ноды: A, B, C и D.
У каждой ноды есть оба рассматриваемых метода.

Есть событие клавиатуры "нажата W".

unhandled input:
A принимает, но игнорирует.
B принимает и вводит W в своё поле.
До C и D сообщение не доходит.

input:
A, B, C и D вынуждены принять и игнорировать.

Что здесь не так?
Аноним 05/08/23 Суб 14:48:19 892620 116
>>892580
> То есть в игре с геймплеем от тебя врядли будут ожидать историю "до слёз" или мега инструментальный саундтрек опять же "до слёз".
Метал Гиар
Аноним 05/08/23 Суб 15:07:38 892630 117
>>892618
А, стоп, возможно, это я что-то путаю. Я раньше столкнулся с проблемой, когда у меня чарактер контроллер принимает ввод с клавиатуры даже если открыт чат и ввод клавиатуры предназначен только для чата. Но, возможно, это было только из-за того, что я делал Input.get_axis(), а не из-за обработчика _input? Я не помню уже. Сильно с этим помучился, но не помню, что в итоге решил сделать.
Аноним 05/08/23 Суб 16:14:31 892672 118
>>890164 (OP)
3д билды на годоте тормозят, fps проседает ниже 30.
Аноним 05/08/23 Суб 16:47:16 892688 119
1691243236181.png 17Кб, 427x205
427x205
1691243236194.png 19Кб, 409x204
409x204
1691243236195.png 24Кб, 440x235
440x235
1691243236201.png 6Кб, 274x62
274x62
>>892630
Короче, анон, я щас провёл тесты в движке и по тому что я увидел, выходит, что при маркировке хандледом перестают обрабатываться другие анхандледы. Хандледы же обрабатываются все равно. В общем я выше писал неверно.
Вот код и результаты теста на скринах. Выводятся только три принта. Четвёртый, из ноды А анхандлед - не выводится, потому что в ноде Б выставлен флаг и дальнейший коллбэк игнорирован.
Аноним 05/08/23 Суб 16:57:35 892698 120
>>892580
>собственно с JSON так и не познакомился.
Там всё очень просто, достаточно документации:
https://docs.godotengine.org/en/stable/classes/class_json.html

Если захочешь писать какие-то данные вручную для загрузки через JSON, рекомендую взять вот это: https://hjson.github.io/ - там формат попроще для записи вручную и даже комментарии писать можно. Потом любым способом запускаешь их конвертер Hjson -> JSON и получившийся в результате файл загружаешь в Godot как JSON.

>Ты ещё про музыку забыл.
>Текст, графоуни и звук. Одно не очень и пизда практически всему проекту.
Лично меня музыка в играх особо не волнует. Да, если есть приятная музыка в тему - хорошо, но если музыки совсем нет - тоже хорошо. Чаще всего музыка не нравится, отвлекает, раздражает или просто бесполезна. Тем более в визуальных новеллах, которые суть короткие книги с простыми иллюстрациями а-ля диафильмы или слайд-шоу. Как часто ты встречаешь книгу с саундтреком, который обязательно нужно слушать во время чтения? Ладно ещё аудиокнига... А вот в играх с активным геймплеем звуки очень полезны, т.к. они влияют на погружение и могут использоваться для передачи полезной информации: тип поверхности по звуку шагов, рычание монстра, звон колокольчиков вблизи квестового предмета и т.д.

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

На счёт саундтрека, если тебя волнует саундтрек в визуальной новелле, то и в любой видеоигре он тебя тоже будет волновать. Но к саундтреку в играх добавляются важные звуки, зависящие от окружения, действий игрока и мобов, геймплейных механик и т.д. Было даже какое-то исследование, в котором людям предлагали оценить качество графики - но одна группа играла без звука, другая с плохим звуком, и третья с качественным звуком - так вот, выявилась зависимость субъективной оценки графики от наличия и качества звука. Т.е. с качественным звуком и графика выглядит приятнее.

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

>если история туфта, то это всё
Писатели графоманят тонны второсортной писанины и кто-то это покупает и читает. Ты можешь не создать шедевр, но какая-то аудитория читателей и даже фанатов у тебя может сформироваться. Нужно просто быть как Дарья Донцова и выдавать народу новые книжки с картинками как напитки из торгового автомата. А вот если ты пять лет пилишь новеллу в надежде на широкое признание твоего Гения, тогда да, ты, скорее всего, сильно разочаруешься.

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

>Пусть я и сам порнушечник, но игру с одной лишь только порнухой делать мне скучно. Я так не смогу. За прошлый проект я понял, что сама половая тема довльно скучная. Из разряда очень скучная. А потому попробую что-то придумать в геймплейном плане.
ИМХО, такие игры вообще сложно делать. Порнуха максимально сужает твою аудиторию, сокращает число площадок и видимость в интернете. Видя, что игра с порно, к ней предвзято относятся, если только это не какой-то всем известный проект. Если у тебя там сложный геймплей, часть дрочеров резко отваливается, если пришли тупо подрочить. А тех, кто мог бы получить удовольствие от геймплея, может отпугнуть элемент порно. Ещё и сама порнография очень субъективна - кому-то большие сиськи нужны, а кого-то от них тошнит - аудитория ещё больше сокращается, если у тебя не гарем на любой вкус со всеми формами, цветами, крыльями и рогами, но и гарем тоже резко обрубает аудиторию из-за хейтеров гаремников.

Короче, это как при любом смешивании двух разных жанров: ты ожидаешь получить больше людей, захватив две ниши, но рискуешь получить даже меньше - тех, кого интересуют сразу две ниши.

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

Имхо, идеальный вариант - сделать обычную игру, интересную для всех (условно, с рейтингом 0+), а потом добавить в неё порнуху якобы "неофициальным модом от третьих лиц". С одной стороны, игра будет жизнеспособна даже без порно, с другой стороны, игра будет намного интереснее дрочерам, но при этом не будет бросать на тебя тень "порнодела", ведь это чей-то чужой мод. Таким образом можно реально захватить две ниши. Практика показывает, что секс можно органично вписать практически в любую игру, было б желание рисовать спрайты или делать дополнительные анимации моделькам. Зачем вообще делать порнушную игру с геймплеем, если можно добавить порнуху в обычную игру с геймплеем?

>рпгм
Делаешь с видом сверху-сбоку как в JRPG? Вроде видел какой-то фреймворк для Godot, но меня это особо не интересовало (захочу - с нуля сделаю).
Аноним 05/08/23 Суб 17:30:22 892712 121
>>892688
>Четвёртый, из ноды А анхандлед - не выводится, потому что в ноде Б выставлен флаг и дальнейший коллбэк игнорирован.
О чём в документации и написано.

>Хандледы же обрабатываются
Почему ты называешь их "handled"?
Нигде не сказано, что _input - это "_handled_input".
"Input" = "ввод" (любой).
"Unhandled input" = "необработанный ввод".

Как только ввод обработан, он перестает поступать в обработчик необработанного ввода. Логично? Логично. А обработчик без уточнений типа ввода обрабатывает вообще всё. Логично? Логично.
Аноним 05/08/23 Суб 17:41:39 892717 122
>>892672
>3д билды на годоте тормозят
1. Опиши конфигурацию ПК (CPU, GPU, RAM, OS).
2. Какие билды используешь, где ты их взял?
3. Что в игре есть и что ты делаешь в скриптах?
4. Логи проверял? Если в логи идёт большой поток записей, движок может тормозить. Логи можно найти на диске или запустить игру через консоль.
Аноним 05/08/23 Суб 17:44:22 892719 123
>>892672
Алсо, тормозит ли пустой проект с настройками по умолчанию? Некоторые настройки графики сильно повышают нагрузку. Но по умолчанию настройки должны быть достаточно производительными.
Аноним 05/08/23 Суб 18:06:51 892730 124
>>892585
>вообще всё - энтити
Выглядит сложно...

>Дерево сцены только для гуя
У тебя странное дерево, зачем тебе SubViewport? Эта нода рендерит в отдельную текстуру, которая через SubViewportContainer рендерится в окно.

GUI можно нарисовать поверх всего остального с помощью ноды CanvasLayer:
https://docs.godotengine.org/en/stable/classes/class_canvaslayer.html

Или у тебя совсем не будет анимаций и ты решил таким образом сэкономить на рендеринге сложной сцены? Но вряд ли у тебя там будет много деталей. Выглядит как преждевременная оптимизация.

Туман войны можно было бы рендерить шейдером. Каждый тайл - один пиксель текстуры. Можно даже применить фильтрацию текстуры для "мягкой тени".
Аноним 05/08/23 Суб 19:02:15 892754 125
demo.webp 718Кб, 768x432
768x432
image.png 91Кб, 1031x673
1031x673
>>892730
> зачем тебе SubViewport?
Из-за тумана войны самого, в годоте я с ним боролся больше всего в свои прошлые попытки заделать рогалик (это четвёртая итерация). Я хотел бы как на гифрелетед, но она сделана челиком на второй ещё версии движка и я не разобраля и не смог адаптировать его для своего ещё на третьем годоте.
Сабвьюпорт нужен был для старой (недоделанной) системы освещения из генерации текстур в прямом эфире.
Я планирую опять сделать подход к освещению, но когда будет достаточно много наработок, чтобы быть рабочим прототипом и он своим существованием меня мотивировал. Ключ моей мотивации сейчас - постоянные успехи, без завязываний на чём либо надолго.
Аноним 05/08/23 Суб 19:06:20 892755 126
Аноним 05/08/23 Суб 19:21:34 892758 127
>>892558
Нет, сначала вызывается input, а если же никто не обработал, тогда вызовается unhandled input. Это база блджад, иначе бы было так что сначала вызывался необработанный, и... зачем тогда вызывать другие?
Алсо любая функция может пометить ввод как обработанный вызвав set_input_as_handled.
Аноним 05/08/23 Суб 19:24:50 892759 128
Аноним 05/08/23 Суб 21:54:24 892803 129
>>892712
Логично. Впредь буду знать.
Аноним 05/08/23 Суб 21:56:14 892804 130
>>892759
Скорее всего, он подразумевает собранные по шаблону экспорта экспортированные проекты. Но ХЗ, подождём, пусть сам скажет.
Аноним 06/08/23 Вск 11:47:59 892850 131
GODON'T ))))))
Аноним 06/08/23 Вск 14:34:28 892871 132
Аноним 06/08/23 Вск 14:56:44 892873 133
>>892871
И ты делой. Давай, делой игоры.
Аноним 06/08/23 Вск 14:57:39 892874 134
>>892698
>Если захочешь писать какие-то данные вручную для загрузки через JSON, рекомендую взять вот это
Спасибо. Я посмотрю.
>Лично меня музыка в играх особо не волнует.
Ну ты ПИЗДЕЦ. В смысле, да, согласен. Не обязательно чтоб там прям отвал башки был. И как бы музыка может либо сильно решать и тогда огромный +, либо она просто может быть и тогда всем пофигу.
>Тем более в визуальных новеллах, которые суть короткие книги с простыми иллюстрациями а-ля диафильмы или слайд-шоу.
Ну я просто ориентируюсь опять же на фейт и принцессу. Там-то бгмки хорошо задавали настроение в сцены. Я лично считаю что музыка - это вообще топ для передачи эмоций. Не даром люди на всяких концертах сознание теряют и в трансе штаны обсирают. Ну а звуки да, тоже полезны. Хорошие звуковые эффекты - всегда приятно.
Со следующими двумя абзацами согласен. Тут как бы сложно довольно получается. Даже если например музыка будет топ, то плохой сюжет всё испортит и людям будет плевать, и на оборот если сюжет топ, то даже средненький саундрек люди, чисто на эмоциях, могут переслушивать.
>А вот если ты пять лет пилишь новеллу в надежде на широкое признание твоего Гения, тогда да, ты, скорее всего, сильно разочаруешься.
Да я как бы и не претендую ни на что, но за именно сюжеты боюсь. Писанина это ведь не только про хороший и логичный сюжет, это ведь ещё красота и литературность слога и т.д. И вот тут-то я как раз и не очень.
>Собственно, на мой взгляд, сложность визуальных новелл в основном в графике. Можно написать тонны текста за считанные дни
Ну пиздец ты. Завидую твоему ходу мысли. Видимо каждому своё. Для меня графен, конечно, тоже проблема, но я уже всё. Согласен, что он может быть большой преградой в создании внки, так-как она, как раз, ВИЗУАЛЬНАЯ НОВЕЛЛА, что как бы намекает.
>Порнуха максимально сужает твою аудиторию, сокращает число площадок и видимость в интернете.
Да я знаю. Но я не претендую на большую и серьёзную аудиторию. Хочу так просто людей повеселить, а в процессе и сам повеселится.
>Учитывая, что игру с геймплеем сделать сложнее, чем простую порнуху (интерактивные анимации), может оказаться, что порнуха только портит твою геймдизайнерскую работу, а не улучшает её.
Да, я согласен, но я знаю примеры когда наличие геймплея не хило бустило игру. Да я и сам люблю игры с геймплеем, так что буду стараться сделать не просто "писька в письку". Посмотрим короче.
>Имхо, идеальный вариант - сделать обычную игру, интересную для всех (условно, с рейтингом 0+), а потом добавить в неё порнуху
Согласен. Но для такого нужно быть реальным гейм девелопером. Я себя не чувствую таковым. Опыта мало.
>Зачем вообще делать порнушную игру с геймплеем, если можно добавить порнуху в обычную игру с геймплеем?
Так вот в том-то и дело. Если есть сильная игровая база, то порнухой вряд ли получится что-то испортить. А если у тебя в игре нет элемента игры (игра говно), то тут уже всем плевать. Только самые отъявленные порнушечники в такое мучится будут.
>Делаешь с видом сверху-сбоку как в JRPG?
Да. Статик пошаг jrpgшный.
>Вроде видел какой-то фреймворк для Godot, но меня это особо не интересовало (захочу - с нуля сделаю).
Спасибо что сказал. Буду знать. Но я тож лучше с нуля поковыряюсь. Хочу разбираться в том, что делаю.
Аноним 06/08/23 Вск 18:45:36 892937 135
Аноним 06/08/23 Вск 19:06:25 892945 136
>>892937
На итч лей - больше народа заметит. В браузере там тоже можно.
Аноним 06/08/23 Вск 21:18:54 893019 137
>>892874
>И как бы музыка может либо сильно решать и тогда огромный +, либо она просто может быть и тогда всем пофигу.
Не пофигу. Примеры из личного опыта:
1. Майнкрафт. Фоновая музыка есть и в целом она неплохая, но игра её воспроизводит как-то вообще невпопад. Можешь бегать полчаса в тишине и ВНЕЗАПНО начинается громкая музыка, вот просто так. Или музыка перекрывает реально важные звуки. Особенно бесит когда эта музыка ВНЕЗАПНО начинается в тёмной пещере, как в каком-то хорроре перед встречей с боссом. Вот только никакого босса нет, она просто так началась. В мобильной версии музыка вынесена в отдельный пакет на 300+ МБ. Поведение фоновой музыки точно такое же пугающе раздражающе рандомное. Но без этого пакета ты не сможешь услышать мелодии пластинок, которые можно в игре вставить в проигрыватель. А игра даже не предупреждает, что для работы блока нужен пакет с раздражающей фоновой музыкой, лол, ты просто смотришь на куб с вылетающими нотами и слышишь тишину.

2. В GTA Online геймплей растянут гриндом на тысячи часов и игра может затягивать на весь день. Но "радиостанция" - это плейлист длительностью меньше часа. Надоедает уже на втором-третьем повторе в день. Хуже всего то, что если выключить радио в машине, то на заданиях включается навязчивая фоновая мелодия, которая ещё короче и будет повторяться пока задание не закончишь. А оно может длиться полчаса или даже дольше. Раздражает ужасно. Если часто меняешь машины, приходится регулярно переключать радио на любимые станции, а на заданиях очень часто радио тупо ВЫКЛЮЧАЕТСЯ каждый раз, когда ты покидаешь транспорт, и ты вынужден каждый раз настраивать радио, чтобы не слышать бесячую фоновую музыку конкретного задания. А потом задание заставляет тебя слезать с транспорта каждые 100 метров. И они ничего из этого не могут пофиксить за десять лет, только недавно дали возможность выключить лишние радиостанции - но это сопровождается крашем игры, когда твой пассажир включает радиостанцию из твоего чёрного списка, лол. Вообще, любая игра с гриндом вынуждает выключать музыку, чтобы она не бесила постоянным повтором.

3. В Flatout хороший саундтрек, но воспроизведение начинается с самого начала рандомной песни при каждом запуске гонки. Гонки достаточно сложные даже на аркадном управлении и зафейлиться из-за физики очень легко, поэтому приходится рестартить. В результате песня-то нравится, но ты вынужден её обрывать и слушать с самого начала что-то другое... или её же, рандом ведь.

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

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

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

>Не даром люди на всяких концертах
Это совершенно другое:
- близость к тысячам людей с тем же интересом;
- близость к любимым исполнителям на сцене;
- громкий звук аж сотрясает землю под ногами;
- световые эффекты, дым и т.д.
Суть концерта вообще не в музыке, исполнитель мог бы просто громко пердеть и любители его пердежа орали бы хором от удовольствия.
https://ru.wikipedia.org/wiki/Метеорист
А вот на записи чей-то пердёж слушать уже не то.

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

>красота и литературность слога
1. Начитанность влияет больше всего. Чем больше читаешь литературы, тем лучше твой слог.
2. Можно найти "бету" - человек, который тщательно вычитывает твою писанину и указывает на ошибки и возможные правки. В сфере фанфиков они бесплатно этим занимаются, но за деньги нанять, я думаю, будет намного дешевле писателя.
3. На английском нейронки уже несколько месяцев как научились выполнять работу беты, вычищая стиль и даже переписывая литературно. Теперь любая обезьяна может писать как Шекспир.
4. Ты не прозу пишешь и в твою игру не литературные критики играют (в основном). Каждый раз удивляюсь критике игр за литературные ошибки, как будто эти отзывы училка по литературе по привычке пишет.
5. Имхо, логичность сюжета всё же влияет больше. Логические дыры в сюжете чаще заставляют закатывать глаза и прикладывать руку к лицу, чем какие-то мелкие косяки в речи персонажей. Но если заранее всё планировать и визуализировать, то заранее увидеть и исправить косяки можно как косяки в дизайне ещё не написанной программы.

>Видимо каждому своё.
Ну, скажем, у меня скорость печати около 300 знаков в минуту и придумать какой-то сюжет по шаблонам не проблема (можно шаблонный генератор смастерить для вдохновения, если у тебя беда с фантазией), вычитать и исправить косяки тоже несложно. В конце концов, можно просто описать историю из жизни, приукрасив элементами фэнтези, вот тебе и оригинальный сценарий. Будет ли это шедевром на века? Вряд ли. Но прочитать люди смогут без проблем, и части читателей обязательно что-нибудь понравится, не обязательно быть 10/10, тем более что восприятие сюжета очень субъективно. Хейтерам всегда можно сказать, что они ничего не понимают, и они не докопаются до "анатомии", "светотени" и других чисто технических элементов.

А вот с графикой всё сложнее - ты убиваешь несколько часов на одну иллюстрацию, а результат в лучшем случае так себе, в худшем - какая-то мазня дошкольника. Всё же почти все люди в современном обществе более или менее много читают, а в школах сочинения обязательны, тогда как для рисования недостаточно просто на чужие картинки смотреть, а художества в школах обычно не являются принудительными. Если смог сдать ЕГЭ, считай, сможешь написать несложный сценарий, а для рисования нужно конкретно запариться с художкой, курсами или мучительным самообучением. А в конечном итоге графика тоже субъективно воспринимается и тебя могут облить говном просто за то, что ты рисуешь "аниме", рисование которого ты оттачивал пять лет ежедневно, а ты потом ломаешь голову, в чём же ты ошибся... И фраза "я художник, я так вижу" как-то не очень оправдывает кривые руки и косой взгляд, которые на каждой иллюстрации по-разному кривые.
Аноним 06/08/23 Вск 22:35:26 893079 138
Есть какой-то элегантный способ построения пути на AStarGrid2D до ближайшей точки, если ячейка цели задизейблена или например находится за стенкой и в принципе недостижима? Можно конечно найти дорогое решение, типа идти по спирали от цели и пробовать построить маршрут до каждой из точек на ней, но явно должно быть более простое решение. Подскажите, пожалуйста, анончики!
Аноним 06/08/23 Вск 23:12:24 893106 139
Аноним 06/08/23 Вск 23:18:54 893111 140
>>893106
Спасибо, но я не понял о чём там речь... Не слышал о том, чтобы AStarGrid2D или даже AStar2D в годоте были "EstimatedDistanceToEnd (ie. the lowest h(x))"
Аноним 07/08/23 Пнд 07:28:45 893143 141
Как бы по простому реализовать систему диалогов? Нужно чтобы работала и чтоб звук при печати букв был. Может есть какое-то простое и элегантное решение?
Аноним 07/08/23 Пнд 08:26:19 893144 142
Аноним 07/08/23 Пнд 10:01:28 893148 143
Аноним 07/08/23 Пнд 10:10:23 893149 144
>>893148
> в годоте изкоробки неправильный астар
Почему ты так думаешь? Какие подводные?
> разбираешься в с++
Это есть, но пересобирать годот не хочется. Я рассматриваю сейчас активнее всего хоть и костыльный, но вариант, где никакие клетки не блокируются, но непроходимые имеют огромный вес, а саму блокировку хранить отдельно и обрабатывать где нужно. То есть даже если в пути будут непроходимые клетки, когда непись захочет непосредственно сделать шаг на такую клетку, обработчик ходьбы осадит неразумного непися и пояснит как он неправ.
Аноним 07/08/23 Пнд 10:26:32 893152 145
>>893149
Хотя стоит отметить что это звучит дорого и возможно стоит иметь несколько карт для разных видов поиска пути в зависимости от интеллекта моба.
Аноним 07/08/23 Пнд 11:04:52 893159 146
>>893149
Писал с иллюстрациями в каком то старом треде, но пост потерли.
Суть в том, что они вообще реализовали не то. В каноническом астаре вес у ребер, соединяющих узлы, а не у самих узлов. То, что есть в годоте, подходит для простых игр на джемы (когда у тебя просто клетка земли, клетка леса, клетка воды), но не подходит для глубоких тактических и стратегических игр, когда отличается стоимость входа из поля в лес, из поля в воду, из леса в воду, из воды в лес и т.д. А как ты заметил, апи не гибкий, не дает "кубиков", "строительных блоков" из которых ты мог бы собрать нужное, а умеет только пару базовых вещей. Поэтому в своем рогалике на с++ я буду писать свой астар. Раньше пытался портировать из какого-то движка на c# (Nez кажется), сейчас думаю писать с нуля с чатгопотой.
Аноним 07/08/23 Пнд 11:29:24 893164 147
>>893159
> отличается стоимость входа из поля в лес, из поля в воду, из леса в воду, из воды в лес и т.д
Разве это важно? То есть разве почему обычных весов клетки будет недостаточно?
Аноним 07/08/23 Пнд 11:36:32 893165 148
>>893164
Недостаточно даже на более простом примере (если зайти в лес из поля дороже, чем выйти на поле из леса). Просто с 3 клетками еще нагляднее будет.
Аноним 07/08/23 Пнд 17:00:48 893205 149
>>893159
Нормальных а-старов полно на гитхабе, в том числе на плюсах. Не пиши сам, подумой.
Аноним 07/08/23 Пнд 21:18:47 893240 150
>>893205
Кстати а что насчёт Д старов?
Аноним 08/08/23 Втр 13:40:47 893303 151
Игры-то делаете?
Аноним 08/08/23 Втр 17:52:19 893360 152
>>893303
Сидим, обдумываем с phind.com процедурную генерацию мира и поведение персонажей в моей игре, открыл для себя много интересных идей.

Делать саму игру я, конечно же, не буду.
Аноним 08/08/23 Втр 19:06:58 893374 153
>>893303
Да, заебался возиться с попытками довести до ума поиск пути на AStarGrid2D, заменю на свой, написанный по уму, в нынешнем состоянии для прототипа и основы сойдёт. Судя по https://www.redblobgames.com/pathfinding/a-star/introduction.html это относительно просто.
>>893360
> phind.com
Как оно в сравнении с ГПТ3?
Аноним 08/08/23 Втр 19:21:14 893378 154
>>893374
>Как оно в сравнении с ГПТ3?
Ну, там за основу "лучшей модели" берут GPT-4:
>Our most advanced searching mode, powered by a combination of GPT-4 and our own model. This mode hallucinates less and writes better code.
Но он умеет гуглить и ходить по ссылкам:
>Phind is smart enough to proactively ask you questions to clarify its assumptions and to browse the web (or your codebase) when it needs additional context.
>Phind will use any custom links you paste into the search box automatically.
Есть доступ анонимно без регистрации, но помни, что все обсуждения доступны по ссылке.
Аноним 08/08/23 Втр 19:29:08 893379 155
>>893378
А оно может само сходить на гит, изучить либу, и ответить на вопрос по ней?
Аноним 08/08/23 Втр 19:44:12 893380 156
>>893379
Я пробовал, нет, не может, выдумывает АПИ как оно могло бы быть хорошо в идеальном мире, но увы таких функций не было.
Аноним 08/08/23 Втр 20:00:13 893383 157
image.png 201Кб, 842x1914
842x1914
>>893379
>изучить либу и ответить на вопрос
Наверное, зависит от сложности.

Галлюцинации неизбежны, т.к. GPT только генерирует текст. Такие нейронки не проверяют факты в написанном, и если она что-то написала не так - backspace жать не будет. Для избавления от галлюцинаций нужен бесконечный цикл самопроверки, а это уже никто бесплатно тебе не даст, придётся на своём железе крутить.

На пикриле цитаты из документации к Godex на гитхабе, вот только эти цитаты устарели после того, как разработчики добавили этап инициализации, так что теперь никакой физический пайплайн настраивать больше не нужно. Вывод: проще самому перейти по ссылке и прочитать. Но нюанс в том, что я не задавал никаких конкретных вопросов, только "опиши", вот она и описала как смогла.
Аноним 08/08/23 Втр 20:42:51 893389 158
gd.jpg 119Кб, 1041x1772
1041x1772
>>893378
>ходить по ссылкам
Ладно, похоже, не умеет.

МОЖЕШЬ ХОДИТЬ ПО ССЫЛКАМ?
@
МОГУ, ДАВАЙ ССЫЛКУ
@
ВОТ ССЫЛКА
@
ОЙ, НЕ МОГУ. Я ИИ АССИСТЕНТ И У МЕНЯ НЕТ ДОСТУПА В ИНТЕРНЕТ. ЗАДАВАЙ ОТВЕТЫ.
@
ХОРОШО, ПРОСТО ОПИШИ ЧТО ТАМ ЕСТЬ
@
ЩАС ПОГУГЛЮ...
@
ДА ТАМ КАКИЕ-ТО ДВАЧЕРЫ ТОКСИЧНЫЕ [^3^] ТИПА ИГРЫ ДЕЛАЮТ. ВЕДИ СЕБЯ ХОРОШО, СЭМПАЙ. [^3^]
@
ЕЩЁ ВОПРОСЫ? [^3^]


Даже такое общение лучше, чем с людьми. [^3^]
Аноним 08/08/23 Втр 22:02:38 893405 159
Не получается поставить max_value у прогресс бара через код.
Что здесь не так?
var hp:int = 0
onready var hp_bar = $ProgressBar
func set_max_hp():
hp = randi() % 3 + 1
hp_bar.max_value = hp
Аноним 08/08/23 Втр 22:06:23 893406 160
Аноним 08/08/23 Втр 22:09:52 893408 161
>>893406
Invalid call. Nonexistent function 'set_max' in base 'Nil'.

туплю не понимаю
Аноним 08/08/23 Втр 22:17:19 893409 162
>>893408
По ошибке выглядит так, будто ты пытаешься вызывать метод у объекта, который ещё не инициализировался. У тебя точно ProgressBar существует как ребёнок ноды, к которой приклеен скрипт и получается её найти?
Аноним 08/08/23 Втр 22:31:49 893410 163
>>893408
Скорее всего ты скопипастил hpbar а у тебя hp_bar
Аноним 08/08/23 Втр 22:56:38 893413 164
>>893079
Зачем тебе такое решение? Рассмотрим ситуации.
1. Игрок промахнулся. Персонаж топает куда-то, куда не следует. Игрок злится.
2. Игрок тыкает на клетку за пределами зоны ходьбы, рассчитывая, что персонаж остановится. Персонаж топает к краю скалы без моста, падает и умирает, потому что по механике встать на край обрыва можно, но смертельно опасно. Игрок злится.
3. Игрок тыкает на клетку за стеной, рассчитывая пробить себе путь киркой. Персонаж топает к стенке, а стенка-то неразрушимая. Игрок злится.
4. Игрок тыкает на клетку за болотом, земля вокруг которого огорожена непроходимым забором. Персонаж топает в болото и тонет. Игрок злится.

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

Чисто интуитивно я жду от игры интеллектуальной подсказки: мол, сюда вот дойти нельзя, поэтому персонаж не будет нарезать круги бестолку. Если на карте спиральный туннель длиной в километр, а в центре непроходимое препятствие, я буду дико взбешён от того, что игра вообще начала двигать персонажа в этот тупик. Это просто тупо...

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

>>893159
>вес у ребер, соединяющих узлы, а не у самих узлов
Вес у рёбер есть. Но он не произвольный, а зависит от расстояния между узлами. Если у тебя все узлы на равномерной сетке, то и веса всех рёбер равны.

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

Для примера, если мы пытаемся просчитать оптимальный путь между комнатами лаборатории, то мы будем стараться избегать комнаты с радиацией, токсичным газом, зомби и другими препятствиями и опасностями, независимо от того, с какой стороны входим в комнату. И наоборот, мы выберем путь в безопасную комнату из опасной даже если путь из опасной комнаты в другую опасную комнату короче. В данном случае комнаты - это клетки (узлы графа), мы не можем встать в проходе и нас не сильно интересует, сколько времени мы будем идти внутри комнаты, если само вхождение в комнату грозит моментальной смертью. Само же движение между двумя комнатами оценивается геометрическим размером комнат (длина ребра графа), а не каким-то рандомным числом (этот твой вес ребра). Если у тебя путь между двумя комнатами ограничен необходимостью взломать панель доступа, ты должен поставить дополнительный узел возле двери, задав ему высокий вес, поскольку взлом займёт много времени. Движение в пространстве разбивается дополнительной точкой, путь до которой короче, но пройти которую сложнее, чем простую дверь.

Если же ты пытаешься симулировать ходьбу по очень большим пространствам, как здесь:
1. Шли 2 часа к центру леса.
2. Шли 2 часа к краю леса.
3. Перешли на край поля.
4. Шли 1 час к центру поля.
5. Шли 1 час к краю поля.
6. Перешли на край воды.
7. Плыли 4 часа к центру воды.
8. Плыли 4 часа к краю воды.
9. Перешли на край леса.
Тогда тебе просто нужно больше узлов:
- центр области, из которого идут к краю;
- край области с каждой проходимой стороны.
Края соседних областей будут совпадать чисто геометрически, т.е. расстояние между ними - ноль, но формально это разные узлы, ведь они меняют свойства движения: перейти от центра леса на край леса или обратно сложнее, чем перейти от центра поля на край поля или обратно.

А как иначе это решать?
Аноним 08/08/23 Втр 23:01:58 893414 165
>>893413
Понятное дело что это не для игрока, а для всякого эффективного окружения мобами и прочего
Аноним 08/08/23 Втр 23:23:49 893417 166
>>893414
>эффективного окружения мобами
1. Мобы за стеной не должны преследовать игрока, потому что они не знают о его существовании.
2. Мобы за рекой могут подходить к краю реки, если видят игрока в зоне прямой видимости (рейкаст).
3. Если моб способен слышать игрока, тогда он идёт не к источника шума, а в сторону усиления шума, то есть ему вообще не должен быть известен оптимальный путь к игроку, даже если они есть.
4. Если хочешь создать засаду из мобов в визуально скрытой от игрока зоне, проще заспавнить новых мобов сразу за разрушенной игроком стеной, чем звать уже имеющихся мобов к непроходимой стене. Игрок не заметит разницу, ведь он не видит этих перемещений за кадром.
Аноним 08/08/23 Втр 23:24:15 893418 167
>>893413
Челидзе, поиграй хотя бы в одну РТС, прежде чем рассуждать о том, что там игрок хочет или нет.
Аноним 08/08/23 Втр 23:45:33 893420 168
>>893413
>Вход должен быть одинаковым независимо от того, откуда ты начинаешь движение,
Это не так, поэтому дальшнейшую стену текста не читал.
В стратегии в одну и ту же клетку равнин вход может стоить разную стоимость, если с ты выходишь из леса, или идешь поперек дороги, или идешь вдоль дороги.
Аноним 09/08/23 Срд 06:23:18 893436 169
Не знаю где спрашивать так что спрошу здесь. Когда в тексте числа встречаются в именах собственный например: "7/седьмой отряд", как лучше и красивее записывать их? Цифрами или буквами?
Аноним 09/08/23 Срд 06:24:25 893437 170
>>893417
Ты опять не понял. Если в клетке может быть только одно существо, то оно по сути блокирует путь остальным. Как тогда толпой из двадцати орков окружить игрока в максимально плотное кольцо? Делать мобов не блочащими путь, а делать клетки на которых они находятся дорогими, но не позволять вставать на них в обработчике ходьбы
Аноним 09/08/23 Срд 07:29:17 893438 171
Text.PNG 119Кб, 1045x658
1045x658
Есть окошко диалога куда вбиваются символы по таймеру. Конкретно _on_type_timer_timeout() у меня это делает. Как бы сделать, что если в строке есть определённая комбинация символов, например ^^, они не печатаются, но таймер замедляется пока не дойдёт до пробела " ". Я прям уверен, что как-то можно сделать, но сам додуматься не могу.
Аноним 09/08/23 Срд 09:07:28 893442 172
>>893438
В смысле замедляется? Как это должно для пользователя выглядеть?
Аноним 09/08/23 Срд 10:57:34 893449 173
>>893438
>Есть окошко диалога куда вбиваются символы по таймеру
Если ты хочешь чтобы текст появлялся плавно, символ за символом, то у лейбла есть охуенное свойство percent visible, которое делает именно это. Еще visible characters есть.
Аноним 09/08/23 Срд 11:53:35 893463 174
>>893442
>В смысле замедляется? Как это должно для пользователя выглядеть?
У меня символ печатается по таймеру раз в 0.04 секунды. Я хочу чтоб я например оставил в строке "Я посрал ^^говном" вот эти вот ^^ и тогда "Я посрал" напечатается со скоростью 0.04 секунды, а "говном" со скоростью 0.5 например.
>>893449
>percent visible
Спасибо. Буду знать. Но мне нужно как раз по буквам. Что visible characters и делает собственно.
Аноним 10/08/23 Чтв 00:07:35 893559 175
>>893418
>поиграй хотя бы в одну РТС
Играл в несколько разных RTS. Бесит, когда юниты могут принять команду на движение в недоступную для них зону карты и застрять по дороге, а потом их придётся возвращать обратно, когда заметишь, что они напрасно ходили в какой-то тупик.

Вот представь, у тебя N отрядов, ты отправляешь один через всю карту, и пока занимаешься другими отрядами, ожидаешь, что отправленный отряд выполнит свою задачу. А они встали в какой-то дыре и стоят, ведь система навигации не смогла проложить путь до цели, заведя отряд в какой-то рандомный тупик. Зачем так обманывать игрока?

Игра должна чётко говорить игроку: сюда пути нет, сюда пройти нельзя. Она не должна отвечать, что сюда пройти можно, а потом бросать ходьбу на полпути, потому что пройти в реальности нельзя.

>>893420
>В стратегии в одну и ту же клетку равнин
Просто убери клетки. В RTS клетки - атавизм.

>>893437
>Как тогда толпой из двадцати орков окружить игрока в максимально плотное кольцо?
Это уже не относится к AStar. AStar только находит кратчайший путь. Чтобы мобы окружили игрока, тебе нужно найти подходящие позиции в окружности вокруг игрока, а затем отправить мобов на свободные позиции. Менеджер мобов выдаёт им свободные места как билеты в кинотеатре. А как они будут друг друга обходить - вообще отдельная задача.

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

В большинстве игр мобы проходят друг друга или вообще не обходят препятствия. Если твоя игра не фановая из-за того, что мобы проходят друг сквозь друга или тупят возле препятствий, то ты делаешь что-то не то. Делай так, чтобы игра была интересной даже с максимально тупыми мобами.
Аноним 10/08/23 Чтв 00:10:26 893561 176
>>893559
Так я не про RTS говорил, а стратегии. RTS крайне редко бывают стратегиями, это тактики в основном.
Аноним 10/08/23 Чтв 00:19:44 893564 177
>>893561
Назови мне какую-нибудь актуальную клеточную стратегию с твоей механикой. Лучше на Android.

А то без примеров это просто хотелки какие-то.
>Ряяяяяя, в Godot неправильно реализованные StaticBody3D, они не могут набигать!!
>Где ты видел, чтобы StaticBody3D набигали?
>Я хочу чтобы домики набигали! Домики - это недвижимость, но в их API нет nabigat(mesto)!!!
Аноним 10/08/23 Чтв 00:39:35 893568 178
>>893438
>Как бы сделать, что если в строке есть определённая комбинация символов, например ^^, они не печатаются, но таймер замедляется пока не дойдёт до пробела " ".
Алгоритм прост, но для него требуется:
- проверять, какой символ мы будем печатать;
- проверять следующий символ после него.
Делать это через API RichTextLabel скорее всего будет затратно, поскольку там происходят операции с BB-кодами, добавляющие форматирование.

Я бы попробовал загонять текст по букве. Либо загонять сразу весь текст, но без твоих "^^" - с самого начала удали их из текста, сохранив информацию о том, на каких позициях нужно включать замедление.

В общем, это никак не касается API Godot. Это чисто алгоритмическая задача. Тебе её помочь решить?
Аноним 10/08/23 Чтв 02:15:30 893574 179
>>893568
>Алгоритм прост, но для него требуется:
>- проверять, какой символ мы будем печатать;
>- проверять следующий символ после него.
>Делать это через API RichTextLabel скорее всего будет >затратно, поскольку там происходят операции с BB-кодами, >добавляющие форматирование.

>Я бы попробовал загонять текст по букве. Либо загонять сразу >весь текст, но без твоих "^^" - с самого начала удали их из >текста, сохранив информацию о том, на каких позициях нужно >включать замедление.

Ну я вот тоже так думаю. Все строки в json у меня. По сути всё так, как ты и сказал, но я хз как такое сделать. У меня есть идея загнать всю строку по символам в массив. И там уже операции производить. Но может есть какое-то более элегантное решение?
>Это чисто алгоритмическая задача. Тебе её помочь решить?
Если тебе не сложно, то буду рад помощи.
Аноним 10/08/23 Чтв 08:53:39 893587 180
загруженное.png 123Кб, 1040x1440
1040x1440
>>893574
>загнать всю строку по символам в массив
Работать будет, но есть один нюанс - Godot будет вынужден после каждого символа перестраивать элемент GUI и отображаемый текст. Хотя для коротких текстов разница должна быть незаметной.

Учитывай, что Timer.wait_time не может быть короче времени одного кадра или тика физики, и может странно себя вести на слишком коротких интервалах.

Кстати, меня раздражает этот эффект "печатной машинки" в играх. Он не помогает чтению, ведь взрослые люди не читают по буквам как маленькие дети, и эффект совсем не похож на речь. Люди читают текст по словам, вот наглядный пример, просто расслабься и смотри в центр экрана, не проговаривая слова:
https://youtu.be/XJd_RvAlMKU
ИМХО, в визуальных новеллах вывод текста должен быть аналогичным образом - по словам, а не по буквам. Так хотя бы можно будет читать текст сразу, не дожидаясь, пока игра выведет все буквы, и не пропуская эту анимацию кликом. Хотя для оптимального чтения слова должны сменять друг друга в одном месте (как на видео), чтобы читателю не приходилось двигать глазами.

Могу накидать алгоритм для быстрого вывода по словам с эффектом замедленной побуквенной печати на отдельных словах. Можно использовать String.split(" ") для получения списка слов, а потом просто проверять, не начинаются ли слова контрольным символом: String.begins_with("^^").
Аноним 10/08/23 Чтв 09:47:52 893590 181
слова.png 190Кб, 2120x1480
2120x1480
>>893587
>Могу накидать алгоритм для быстрого вывода по словам с эффектом замедленной побуквенной печати на отдельных словах.
Как-то так можно.
Аноним 10/08/23 Чтв 09:50:07 893591 182
image.png 224Кб, 506x421
506x421
image.png 281Кб, 616x458
616x458
Как сделать так, чтобы куб не располагался в стене (рис.1), а был на поверхности стены, как в csgo при включенной команде sv_shoimpact (рис.2)?

Текущий код (рис.1):
if raycast.is_colliding():
var decal = preload("res://decal.tscn").instantiate()
raycast.get_collider().add_child(decal)
decal.global_position = raycast.get_collision_point()
Аноним 10/08/23 Чтв 09:52:00 893592 183
image.png 207Кб, 506x421
506x421
image.png 342Кб, 616x458
616x458
Как сделать так, чтобы куб не располагался в стене (рис.1), а был на поверхности стены, как в csgo при включенной команде sv_shoimpact (рис.2)?

Текущий код (рис.1):
if raycast.is_colliding():
var decal = preload("res://decal.tscn").instantiate()
raycast.get_collider().add_child(decal)
decal.global_position = raycast.get_collision_point()
Аноним 10/08/23 Чтв 09:57:51 893593 184
>>893587
двачую, а лучше бы по возможности весь текст был сразу виден, чтобы читал с удобной скоростью игрок
Аноним 10/08/23 Чтв 09:59:17 893594 185
>>893591
Так ты нормаль рэйкаста тоже заюзай
Аноним 10/08/23 Чтв 10:04:03 893595 186
>>893594
То есть прибавить?
Аноним 10/08/23 Чтв 10:05:05 893596 187
>>893591
>куб
>decal
Куб - не декаль, декаль - это текстура:
https://docs.godotengine.org/en/stable/classes/class_decal.html
https://en.wikipedia.org/wiki/Decal_(disambiguation)
>Decal texture, a texture/image overlaid on top of other textures in computer graphics

>куб не располагался в стене
Сдвинь свой куб в сцене decal.tscn так, чтобы одна из его сторон пересекалась с точкой (0;0;0), а потом поворачивай куб, чтобы он был параллелен нормали:
https://docs.godotengine.org/en/stable/classes/class_raycast3d.html#class-raycast3d-method-get-collision-normal
...как конкретно вращать - выясняй сам, мне лень. Я каждый раз методом тыка разбираюсь, лол.
Аноним 10/08/23 Чтв 10:08:49 893597 188
>>893596
>чтобы он был параллелен
Хотел написать "чтобы ось, перпендикулярная грани, пересекающейся с точкой начала координат, была параллельна нормали точки коллизии". Ну ты понял.

>как конкретно вращать - выясняй сам
Там что-то с базисами и вот это вот всё. Чисто по ощущениям потыкай числа и что-то получится. Всегда так делаю и спустя несколько часов получается.
Аноним 10/08/23 Чтв 10:10:06 893598 189
Аноним 10/08/23 Чтв 10:15:51 893599 190
>>893595
куб крути в соответствии с нормалью
Аноним 10/08/23 Чтв 10:44:12 893603 191
>>893587
Спасибо за помощь. Ты навёл меня на определённую мысль. Постараюсь это всё перетащить себе в код. Я и не подумал на слова разбивать.
> меня раздражает этот эффект "печатной машинки" в играх
Скучный.
>>893593
>лучше бы по возможности весь текст был сразу виден, чтобы читал с удобной скоростью игрок
Тоже скучный.
Аноним 10/08/23 Чтв 11:05:49 893607 192
>>893603
Будет хорошим тоном сделать варианты и для таких скучных, чтобы в опциях можно было выбрать
Аноним 10/08/23 Чтв 11:06:09 893608 193
rainbow.gif 391Кб, 498x278
498x278
>>893603
>Скучный.
Если хочешь нескучный текст, сделай чтоб буквы подпрыгивали, делали переворот в полёте, динамично меняли рандомные цвета и масштаб, из букв вылетали искорки, звёздочки, сердечки и маленькие мордочки животных, и всё это сопровождалось множеством забавных звуков вроде "ня", "кря" и прочее. И чтобы эти эффекты нельзя было отключить или пропустить.

Игроки читатели будут блевать радугой и писать "рекомендую" в отзывах, чтобы другие тоже проблевались.
Аноним 10/08/23 Чтв 13:58:26 893627 194
image.png 380Кб, 600x552
600x552
Как выйти за пределы этого геймдев-пузыря? Релизишь игру, ее потыкали и полайкали годотеры, сказали норм зделол малацца. А как широкую аудиторию нормисов поймать? Куда? Где? Гугл ебаный в гугл-плее уже полгода хоронит мою поделку, не выдавая ее в поиске даже по прямому запросу. Показывает только если с кавычками спросить.
Аноним 10/08/23 Чтв 15:10:30 893637 195
>>893627
Яндекс, вк - там нормизы сидят. Белорусам на игровое шоу отправь, вдруг увидят.

>>893559
>Игра должна чётко говорить игроку: сюда пути нет, сюда пройти нельзя.
А если местность скрыта для игрока? Получается, он таким образом может получить информацию, которую знать не должен, пока не разведает местность. Просто отправляя юнитов в закрытые регионы (и тут же отменяя) можно узнать, проходимы они или нет. Или например, местность уже разведанная, но с тех пор враг успел там построить стену; игрок эту стену ещё не видел, но может догадаться о её появлении по тому, что юниты отказываются туда идти.

>>893607
Обычно делают для нетерпеливых - по нажатию кнопки анимация прерывается, весь текст отображается.
Тащемта "сок" нужен, анимированный текст придаёт ощущения, что это персонаж реально говорит. Но факт - большинство игроков в какой-то момент наедаются этим эффектом и начинают скипать анимации.

Олсо, хинт. У лейблов (в том числе ричтекст) есть свойства percent_visible и visible_characters, существующие именно для таких анимаций. Они позволяют не пересчитывать каждый раз границы элемента и избегать случаев, когда слово начало отрисовываться на одной строке, а в следующем кадре резко целиком перенеслось на следующую, потому что не влезло.
А ещё ричтекстлейбл умеет возвращать чистый текст, без ббкодов, чтобы, например, проще там было найти эти самые ^^ или что ещё надо.
Аноним 10/08/23 Чтв 15:43:53 893642 196
>>893637
>А если местность скрыта для игрока?
По чёрным клеткам вообще должен быть полный запрет ходьбы. Вдруг там ловушка? Яма? Болото с крокодилами? Минное поле? Радиация? Аномалии?

>местность уже разведанная, но с тех пор враг успел там построить стену
Я бы последовал принципу "better safe than sorry" и трактовал серые клетки как чёрные, см. выше. Если настолько сильно нужна быстрая ходьба - ставь вышки, которые будут мониторить дорогу, сообщая о проблемах заранее. Иначе ты посылаешь своих бойцов на убой, т.к. они тупые как дети.

ИРЛ разведка и все её устройства предназначены как раз для того, чтобы не посылать отряд "куда-то туда", чтобы он застрял в тупике/ловушке/засаде.

TL;DR: хреновый из тебя стратег, если ты хочешь посылать юниты в неизвестном направлении.
Аноним 10/08/23 Чтв 15:46:52 893643 197
>>893642
И тебе кажется интересным микрить каждого разведчика по трём направлениям пройти вперёд на десять шагов?
Аноним 10/08/23 Чтв 15:51:47 893645 198
>>893637
>ощущения, что это персонаж реально говорит
Для этого игра должна не буквы печатать, а слоги, соответствующие произносимым звукам, ещё и липсинк прикрутить можно. Всегда воспринимал эту печать текста как неуместный атавизм древних времён, когда компы были такими медленными, что натурально печатали на экране текст.

>percent_visible и visible_characters
Ты опять с запоздалыми советами?
Присмотрись к коду на скриншоте: >>893438
Аноним 10/08/23 Чтв 16:01:03 893646 199
>>893643
Мне никогда не было интересно играть против онлайн игроков, которые за 10 секунд развиваются и уже собирают против тебя войско. А в одиночном режиме в РТС всё обычно тихо и спокойно, боты не быкуют и есть достаточно времени для развития.

Я не спорю, что для какой-нибудь высшей лиги состязательных РТС нужно другое управление. Но Godot вряд ли потянет такое без специальных модулей, а раз ты всё равно движок модишь, так что толку жаловаться на встроенный астар, вполне подходящий обычным играм.

У нас тут 5 фпс от 150 кинематиков в кучке, а ты на стратегию уровня старкрафта замахиваешься...
Аноним 10/08/23 Чтв 16:04:24 893647 200
>>893646
Я другой анон, но изъяны в твоей логике очевидны. Вспомни тот же варик третий, где такая возможность есть. Или век империй второй. Да вообще во всех одиночных стратегиях можно посылать юниты в неизвестность.
Аноним 10/08/23 Чтв 16:18:49 893648 201
>>893645
>когда компы были такими медленными, что натурально печатали на экране текст.
Наоборот же. Когда компы были настолько медленными, что даже отображение текста было трудной задачей, отрисовка по буквам была вообще недостижима. Настолько, что даже ввод с клавиатуры не отображался в реальном времени, пока ентер не бахнешь.
А вот игры "в стиле ретро" очень любят отрисовывать по буковкам, потому что реальные старые игры именно так и делали. А делали они это именно из-за того, что так тексту придавалась динамика без чрезмерной вычислительной нагрузки. Но, конечно, следует понимать, где стоит использовать такой эффект, а где нет. В каком-нибудь cozy adventure он обязателен (ещё и с разноцветными буковками, искорками и прочими свистоперделками), а в рпг типа фоллаута уже категорически не нужен. Всё-таки в первую очередь это художественный приём.

>Ты опять с запоздалыми советами?
лол, походу да :3

>>893642
>хреновый из тебя стратег, если ты хочешь посылать юниты в неизвестном направлении.
Последний раз играл в стратежки лет 15 назад, так что да, определённо хреновый.
Аноним 10/08/23 Чтв 19:57:44 893657 202
Нужно сделать веревку ниндзя как в worms armagedon. Ваши идеи?
Аноним 11/08/23 Птн 12:14:59 893737 203
а движ он шлангом под винду не собирается?
Аноним 11/08/23 Птн 12:16:54 893738 204
>>893737
Есть опция экспорта откуда угодно куда угодно. С линукса на винду и наоборот, например. Если ты об этом.
Аноним 11/08/23 Птн 14:36:52 893749 205
godot-build-win[...].png 37Кб, 800x521
800x521
>>893738
не я про то, что движок под винду собирать говорят студией или как альтернативой mingw
а я спросил clang-ом собирается нормально ли и собирается ли
Аноним 11/08/23 Птн 15:40:59 893766 206
>>893749
>clang-ом собирается нормально ли и собирается ли
Судя по гитхабу, да, есть возможность собрать и в пулл-реквестах встречаются фиксы багов с clang.

Честно говоря, я ни разу годот из исходников не собирал, так что ничем помочь не могу.

другой анон
Аноним 11/08/23 Птн 15:43:39 893767 207
>>893749
clang под виндой вроде все равно сильно от студии зависит? Не уверен, давно не возился с этим.
Вот тут можешь поскроллить, там и какие то флаги упоминаются, и пулл реквесты правда закрытые с пометкой недостаточно проработаны.
https://github.com/godotengine/godot/issues/6560
Аноним 11/08/23 Птн 16:01:16 893770 208
Аноним 11/08/23 Птн 16:05:30 893771 209
>>893645
> Всегда воспринимал эту печать текста как неуместный атавизм древних времён, когда компы были такими медленными, что натурально печатали на экране текст.
Они имитировали печатные машинки, которые в то время еще были понятны и знакомы игрокам.
https://youtu.be/HlqOLYSmKk0?t=41
Аноним 11/08/23 Птн 16:18:23 893772 210
>>893642
Не переусложняй, в стратегиях обычно есть разные виды кликов (с шифтом, контролем), где меняется режим движения - так что можно делать и так и так, игрок сам решит, когда надо идти в неизвестность, а когда не надо, когда атаковать а когда просто бежать мимо.
Если, конечно, не прикручиваешь продвинутый ИИ. Но, судя по шебм тредам, стратеги то особо микро и не занимаются, а действительно посылают юниты как попало, прямо по минам.
Аноним 11/08/23 Птн 16:19:54 893773 211
>>893608
У кое-кого на борде в играх на годоте так нескучно и сделано.
Аноним 11/08/23 Птн 16:27:11 893774 212
>>893648
>Когда компы были настолько медленными, что даже отображение текста было трудной задачей, отрисовка по буквам была вообще недостижима.
Возможно, мы о разном говорим? В фильмах часто на зелёных экранах буквы появляются по одной - и это не выдумка сценаристов, что-то такое было ИРЛ. Вот, недавно видел видео про ASCII анимации в терминале, и там автор объясняет, что увидеть анимацию без специальных настроек невозможно, потому что терминал на современном ПК выводит текст слишком быстро. Дальше он показывает замедление до считанных тысяч бод и на экране видна анимация. Учитывая, что MUD состоит в основном из текста, который передаётся в терминал через сеть - можно предположить, что на ранних этапах медленный вывод в играх вплоть до отдельных символов был вынужденным, а не художественным приёмом. Ты просто не можешь выводить буквы быстрее, чем они прилетают к тебе по проводам.

Далее, в прошлом я имел много опыта в TurboPascal, и заметил, что для вывода на экран без мерцания ему не хватает скорости. Сейчас принято очищать экран после каждого кадра, а раньше такая роскошь была явно недоступна. Т.е. дешевле вывести дополнительные элементы поверх уже имеющихся в видеопамяти, чем полностью очищать экран и выводить заново. Это же касается прямого вывода в текстовый буффер экрана. Конечно, ты можешь выводить большими пачками, а не отдельными символами, но замедление всё равно ощущается.

Как вообще работает компьютер? Монитор условные 60 раз в секунду обновляет свои физические ячейки (субпиксели), но для их обновления ему нужна информация о том, в каком состоянии должны быть эти физические ячейки. Эта информация хранится где-то в памяти, по заранее известному адресу. Хранение этой информации бесплатно, чтение этой информации дёшево, но изменение - дорого. Центральный процессор может менять эту информацию в режиме одна ячейка за раз, а видеоускорители позволяют менять сразу несколько ячеек параллельно по одной команде процессора. Вот с распространением этих видеоускорителей стало возможным менять сразу всю информацию о кадре 60 раз в секунду, а раньше ты был вынужден последовательно переключать ячейки. Если ты пишешь в ячейки памяти медленнее, чем монитор обновляет видимые пользователю физические ячейки, пользоваль неизбежно будет видеть "анимацию" вывода информации на экран. Т.е. это не художественный приём, а особенность работы компьютера.

>cozy adventure
Как искать? Я понял, что это "уютное приключение", но поисковик выдаёт какую-то фигню.

>в рпг типа фоллаута уже категорически не нужен
Я бы предпочёл короткие сообщения, разбитые по отдельным предложениям, чем встречать в игре стену текста на 2-3 А4 листа, которую ты обязан прочитать за один раз, чтобы всё понять...

Попытался однажды сыграть в Morrowind, а там с самого начала доступны КНИГИ, в которых на десятках страниц расписывают приключения каких-то ноунейм царей или что-то вроде того. Охренеть, зашёл, называется, в видеоигру, и несколько часов буду сидеть книжки читать?! Можешь сказать, что у меня "твиттерное мышление", но чукча писатель, чукча не читатель. Я не хочу читать стены какой-то рандомной фэнтезятины, которые даже не имеют отношения к реальному геймплею (заклинивание мобов насмерть, прокачивая цифру урона от каждого клика, и получая какой-то лут на продажу или для коллекции). Вот если бы разбили эту информацию на короткие кусочки, доступные по ходу исследования мира - тогда ОК, интересно, а так я лучше пойду на Вики прочитаю всё это нормальным шрифтом с нормальным фоном на телефоне, чем сидеть и читать виртуальные книги в игре...
Аноним 11/08/23 Птн 16:41:34 893776 213
>>893772
>Если, конечно, не прикручиваешь продвинутый ИИ. Но, судя по шебм тредам, стратеги то особо микро и не занимаются, а действительно посылают юниты как попало, прямо по минам.
Насколько я понял, нейронка победила в Дота 2 за счёт бешеного микроконтроля всех 5 персонажей, так что её даже специально замедляли, чтобы дать шанс мясным мешкам с их медленной реакцией. Т.е. продвинутый ИИ будет заниматься микроконтролем, а не посылать бесконтрольную толпу. Очевидно, игроки забивают на микроконтроль просто потому что у них нет физической возможности им заниматься.
Аноним 11/08/23 Птн 16:48:48 893778 214
>>893776
Второе предложение было про стратегов ИРЛ, просто не стал акцентировать внимание.
А под продвинутым ИИ я имел в виду нечто такое.
Вот выше анон писал, что если враг не может подойти к игроку, то он должен остаться стоять или подойти к стенке/реке и остановиться. Это действительно ожидаемое поведение в играх в прошлом.
Только вот продвинутый интеллект, как раз, должен был бы подумать - ага, раз враг в той комнате за стеной, значит я могу добежать вон до того коридора и перехвачу его там, когда он будет выходить. В это время другой юнит мог бы подумать, ага, мой напарник перекроет тот коридор, значит я могу пойти налево и там прикрыть второй выход, если враг решит вылезти там.
Аноним 11/08/23 Птн 17:35:56 893784 215
>>893778
>добежать вон до того коридора
По идее, AStar как раз может это решить, если путь "сквозь стену" значительно дороже, чем путь через "закрытую дверь в конце коридора". AStar проложит обходной путь до двери, а дальше моб просто ждёт, пока дверь не откроется игроком. Зависит, конечно, от геометрии карты, и может быть неэффективным решением в определённых случаях.

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

Написал стену текста и удалил, давайте без оффтопа.
Аноним 11/08/23 Птн 17:43:36 893787 216
>>893784
надо поискать может был тред про игровой ИИ (ну, который не про нейронки)
Аноним 11/08/23 Птн 17:45:47 893788 217
wormsninjarope.png 6Кб, 252x284
252x284
>>893657
>веревку ниндзя
Подобное делается созданием большого количества RigidBody2D, соединённых между собой PinJoint2D:
https://docs.godotengine.org/en/stable/classes/class_pinjoint2d.html
Игрок (червяк) болтается на последнем сегменте, для спуска добавляются новые сегменты, для подъёма ближайший к игроку сегмент удаляется. Для раскачки игрок прикладывает импульс к ближайшему сегменту.

>>893770
>grappling hook
В Worms другое. Там прям физическая нитка, которая наматывается на препятствия, и на которой можно физически реалистично раскачиваться.

А по твоей ссылке простой импульс:
>When it reaches a body, it will pull the player towards it. If the player moves during that, the grapple will cancel.
Подобное делается элементарно, тут даже туториал не нужен, если ты хоть немного в движке разбираешься.
Аноним 11/08/23 Птн 17:59:21 893790 218
>>893787
>тред про игровой ИИ
Такого сейчас нет и вроде никогда не было.

Проблема такого треда в том, что "игровой ИИ" - это большая куча разношёрстных специализированных алгоритмов, которые делаются под одну конкретную задачу и чаще всего не подходят всему остальному.

Что там обсуждать?
Деревья решений?
Конечные автоматы?
GOAP планировщик?
Генетические алгоритмы?

Всё сведётся к кучке безыгорных фантазёров, которые не могут конкретизировать задачу.
Аноним 11/08/23 Птн 18:01:00 893791 219
>>893790
Я точно в каком-то отвечал, но искать лень.
Аноним 11/08/23 Птн 18:06:49 893793 220
>>893788
Только я бы не стал использовать стандартные джойнты, а сделал свои.
Честно говоря, цепь в Dumer довольно нестабильно себя вела.
Аноним 11/08/23 Птн 18:08:19 893794 221
>>893793
Вообще я заметил, что коллизии вращения - довольно непроработанная в разных движках тема. Видимо математика становится сложной на шейпкастах.
Аноним 11/08/23 Птн 21:51:19 893830 222
Как сделать поп-ап, который работает на паузе в годот 3?
Представьте ситуацию, играете себе, получаете экспу, и по середине экрана появляется окно, где можно повысить характеристику например. Надо, чтобы весь мир паузился кроме этого окна. Как это сделать?
Аноним 11/08/23 Птн 22:11:12 893831 223
image.png 10Кб, 340x193
340x193
Аноним 11/08/23 Птн 22:46:29 893834 224
>>893830
Прикол в том, что если у тебя окно появляется посередине, то ты НЕ хочешь чтобы весь мир паузился. Ты хочешь паузить только игровую логику, но не хочешь паузить, например, анимацию воды и травы, музыку. Поэтому тебе и ответ - паузи только тот process который отвечает за игровую логику.
Аноним 11/08/23 Птн 23:00:39 893836 225
Как же сложно делать игры, даже очень простые.
Аноним 11/08/23 Птн 23:12:07 893837 226
>>893836
Делай очень-очень простые. А еще лучше - разбивай их на очень-очень-очень простые компоненты.
Аноним 12/08/23 Суб 00:02:00 893841 227
>>893837
Когда делаешь ОЧЕНЬ простую игру начинает казаться, что она никому не нужна (так и есть). В итоге на половине начинаешь думать, что надо бы прикрутить систему апгрейдов, ещё какие-нибудь приколы. А эти самые приколы оказываются адски тяжелыми в реализации для нубаса.
Аноним 12/08/23 Суб 01:02:18 893849 228
>>893841
>она никому не нужна (так и есть)
Никакая игра никому не нужна. Мы мельче пыли в масштабах вселенной, и никто из нас не доживёт до времён, когда какая-либо цивилизация сможет существенно влиять хотя бы на одну галактику, что уж говорить о наших компьютерных развлечениях, которые устаревают быстрее, чем сменяются поколения людей. Но даже если рассматривать с точки зрения человечества, никакие игры не нужны - нужны только способы удовлетворения наших животных инстинктов. Даже если бы игр не было, люди нашли бы себе занятия для развлечения. Важность игр искусственно преувеличивается в целях прибыли их разработчиков и владельцев, как, впрочем, и важность очень многих других не обязательных для выживания товаров. Тебе буквально внушают необходимость купить что-то, и ты можешь настолько поверить этим внушениям, что начнёшь сам убеждать окружающих купить что-то, поиграть во что-то и т.д. Люди всего лишь животные, управляемые древним механизмом подкрепления, нас можно дрессировать как животных и нам это будет даже нравиться, у нас только иллюзия свободы. Вот игры, и вообще любая индустрия дрессирует нас покупать, чтобы мы генерировали им больше прибыли. А сами по себе игры не нужны независимо от их сложности, так что если твоя игра проще какой-то другой - не парься. Сделай клон гиперказуалки, они очень популярны несмотря на техническую, геймплейную и визуальную простоту.
Аноним 12/08/23 Суб 01:28:20 893851 229
Аноним 12/08/23 Суб 03:36:25 893853 230
thirty.six.dev.[...].png 84Кб, 512x307
512x307
Я хочу сделать кастомное освещение для моего tilemap, и пытаюсь придумать, как его имплементировать. Выглядеть оно должно как на пикче, с каждым ходом игрока область видимости обновляется. Пока в голову приходит только заведение отдельной текстуры темноты и при каждом движении проходиться по тайлмапе, чтобы проверить, доступна ли она игроку, но я не очень понимаю, как должно выглядеть заполнение и через что реализовать, set_cellv() не подходит, так как он перезаписывает текстуру, а мне надо, чтобы после ухода игрока она сохранялась, а не становилась черным квадратом. Как это вообще называется и где такое гуглить, нашел только реализацию тумана войны, но это не совсем то, что мне нужно. У анона выше было сделано что-то похожее, мб есть ссылка на твой реп? >>892585
Аноним 12/08/23 Суб 05:11:55 893857 231
Аноним 12/08/23 Суб 08:22:55 893859 232
>>893834
>Ты хочешь паузить только игровую логику, но не хочешь паузить, например, анимацию воды и травы, музыку.
Ну хз, а я (влез в ваш разговор) вот не люблю, когда игры так делают. Когда какие-то анимации на паузе продолжают двигаться, то
а) возникает ощущение, что пауза какая-то "ненадёжная", может подвести в какой-то момент, и какой-нибудь геймплейный элемент не замрёт.
б) теряется вера в игровой мир, сразу понимаешь, где декорации, а где настоящие интерактивные объекты.

И музыка - мне вот нравится, когда на паузе либо отдельная музыка, либо просто основная приглушается. Ну, если пауза инициирована не игроком, то второй вариант. Сразу как-то фокусирует внимание.

>>893774
>Как искать? Я понял, что это "уютное приключение", но поисковик выдаёт какую-то фигню.
Я бы сказал, Hyperbolica по самой сути попадает в жанр. Шатаешься по миру, общаешься с "няшными" персонажами, а с кисельных берегов единороги ссут радугой в молочные реки. Из геймплейных механик - ходьба.


Годаны, я трейлер белорусам отправил. Впервые показываю свою игру не каким-то друзьям-знакомым, а прям важным дядям, для которых игры это не баловство, а профессия.
Аноним 12/08/23 Суб 08:43:19 893860 233
image.png 126Кб, 799x818
799x818
>>893853
Если хочешь чтобы тайлы оставались видимы, то тебе в общем-то ничего делать не надо после того как клетку открыл. Смотри пикрелетед
>>893857
Всё так, но два цвета: один чёрный, другой серый прозрачный для известных клеток, но вне поля видимости.
Аноним 12/08/23 Суб 09:06:18 893862 234
>>893859
> Годаны, я трейлер белорусам отправил. Впервые показываю свою игру не каким-то друзьям-знакомым, а прям важным дядям, для которых игры это не баловство, а профессия.

поздравления мои прими
Аноним 12/08/23 Суб 11:55:14 893869 235
>>893859
Конечно же поздравляю, но с этого
>для которых игры это не баловство, а профессия.
Кринжанул
Аноним 12/08/23 Суб 11:55:36 893870 236
1691830536625.png 42Кб, 180x162
180x162
>>893860
> image.png
Ужас какой-то. Человек пытается в какие-то модные-молодёжные ЕЦСы, но при этом допускает в своём коде магические числа.
Аноним 12/08/23 Суб 12:06:21 893871 237
>>893870
Ой всё. Переделка работы с графоном у меня в планах, если я сейчас вместо маленьких успехов ведущих к игре буду пытаться сделать всё идеально, то у меня игры никогда не будет.
Аноним 12/08/23 Суб 12:46:17 893873 238
>>893871
>если я сейчас вместо маленьких успехов ведущих к игре буду пытаться сделать всё идеально, то у меня игры никогда не будет
Этот шарит.
Аноним 12/08/23 Суб 13:52:44 893877 239
>>893870
> модные-молодёжные ЕЦСы
это уже как сто лет стандартный подход в играх
Аноним 12/08/23 Суб 14:19:47 893879 240
Помогут ли знания полученные в гдскрипте годота устроиться джуном питонистом за доширак
Аноним 12/08/23 Суб 14:51:39 893880 241
Как лучше всего сделать, чтобы функция вызывалась, когда переменная изменилась? Звучит как что-то простое/очевидное, но не могу придумать решение...
Аноним 12/08/23 Суб 15:03:43 893882 242
Аноним 12/08/23 Суб 15:08:52 893883 243
Аноним 12/08/23 Суб 15:31:34 893884 244
>>893880
setget после вара пишешь и указываешь метод для сета
Аноним 12/08/23 Суб 15:39:45 893886 245
>>893831
Не работает почему-то, уже часами над этим сижу. Может какие-то ноды неправильно работают с этим? Это просто элемент гуи, панель и на ней лейбл и контейнер, мир паузится, а панель не анпаузится, даже если процесс ставить.
Аноним 12/08/23 Суб 17:10:05 893890 246
Аноним 12/08/23 Суб 17:38:38 893895 247
>>893870
>модные-молодёжные ЕЦС
Не вижу там ЕЦС, по ЕЦСу каждая клеточка карты - это сущность с компонентами, например:
- компонент "видна";
- компонент "исследована игроком";
- компонент "спрайт";
- компонент "позиция";
и т.д. Далее десятки систем параллельно работают с каждой клеточкой на 9000 ядрах процессора, избегая промахов кэша и повышая ЧСВ разраба до небес.

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

>допускает в своём коде магические числа
Это фигня по сравнению с тем, что он допустил C#.

>>893877
>стандартный подход в играх
Это компоненты в играх стандарт, а ЕЦС возвели в культ совсем недавно, под давлением корпоратов.

Скоро ничего нельзя будет сделать без создания нескольких сотен систем для переключения bool.
Аноним 12/08/23 Суб 17:46:05 893897 248
Аноним 12/08/23 Суб 17:59:55 893899 249
>>893895
> каждая клеточка карты - это сущность с компонентами
Звучит не очень эффективно
> он допустил C#
Не на ГД скрипте же писать в годоте. Он ещё медленнее же
Аноним 12/08/23 Суб 18:16:58 893900 250
>>893859
>возникает ощущение, что пауза какая-то "ненадёжная", может подвести в какой-то момент, и какой-нибудь геймплейный элемент не замрёт.
У тебя какая-то психотравма или профдеформация, если ожидаешь на каждом шагу game-breaking bug.

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

Ящитаю, если не хочешь анимировать фон, тогда делай окно паузы на весь экран, чтобы оно перекрывало всю игру - какой-то своей картинкой, сплошным чёрным фоном или хотя бы очень сильным размытием. Если ты делаешь маленькое окошко в центре/сбоку экрана, или хочешь ставить игру на паузу во время диалога - анимации необходимы, чтобы картинка не выглядела скучной. Анимация воды нужна не для того, чтобы игрок верил в мир, а чтобы картинка была нескучной - потому что в стоячей воде нет ничего нереалистичного, даже текущая река чисто визуально может выглядеть неподвижной - но наблюдать за стоячей рекой скучно, так что анимации здесь служат исключительно эстетическую роль. Аналогично с травой, светлячками, облаками и т.п. Останавливаться должны только объекты, движение которых способно влиять на геймплей. Скажем, если волны физически влияют на лодку игрока, тогда ты обязан ставить воду на паузу; если облака влияют на решение головоломки, они обязаны замирать вместе со всем миром; если светлячки указывают игроку путь, они не должны улетать за край экрана во время паузы.

>>893886
>ноды неправильно работают с этим
В 99% случаев это не баг, а твоё непонимание.
В 1% случаев иди на гитхаб и ищи issue с багом.

>панель не анпаузится
pause_mode == process заставляет ноду работать независимо от состояния паузы:
>PAUSE_MODE_PROCESS = 2 --- Continue to process regardless of the SceneTree pause state.
Т.е. твоё меню паузы будет существовать и работать даже если игра не стоит на паузе. Следовательно, у тебя там какая-то другая проблема в коде. Может быть, ты где-то в своём коде сделал set_process(false) у ноды меню и забыл об этом?
https://docs.godotengine.org/en/3.5/classes/class_node.html#class-node-method-set-process
Аноним 12/08/23 Суб 18:50:23 893906 251
>>893899
>Звучит не очень эффективно
Это был сарказм через утрирование.

>GDScript
>Он ещё медленнее же
Ну, давай на ассемблере писать игры. Это как раз то, что называют преждевременной оптимизацией. Вместо разработки игры ты заботишься о скорости выполнения кода, который ты, скорее всего, вообще выбросишь из проекта на каком-то этапе.

GDScript адаптирован под скорость написания кода, который можно безболезненно выбросить или, при необходимости, переписать на C++ ради скорости выполнения. Сначала делаешь игру, потом ищешь наиболее тяжёлые по скорости вычислений места и переписываешь их другим инструментом.

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

Взять хотя бы for:
>for (int x = 0; x < parent.gameMap.width; x++) {
>_ for (int y = 0; y < parent.gameMap.height; y++) { ... }}
На GDScript проще и для записи, и для чтения:
>for x in parent.game_map.width:
>_ for y in parent.game_map.height:
Какой смысл в первой записи по сравнению со второй, если тебе нужно просто пробежаться по всем ячейкам карты? Ты не будешь начинать не с 0, не будешь перескакивать через несколько ячеек, не будешь делать какую-то сложную проверку вместо проверки на достижение конца строки или столбца. И отступы ты в любом случае добавишь для читабельности кода. Круглые скобки тут вообще не нужны, просто C-подобный синтаксис слишком перегружен.

Ну да, медленнее выполняется. Но ты скорее всего не на пентиуме начала 00-х сидишь, и тебя сейчас скорость выполнения кода не должна волновать. Сделай сначала игру, а код оптимизировать можно сто раз даже после релиза. Люди давно привыкли покупать новый компьютер для новых игр, и не ценят по достоинству высокую производительность кода в играх. А вот что они ценят - это интересный геймплей, обилие контента и частые обновления контента с фиксом багов. Поэтому так популярны скриптовые языки в игровых движках, и поэтому скриптовые языки адаптированы на читабельность и модифицируемость кода, а не на скорость выполнения. Если ты отказываешься от скриптового языка, ты сам себя замедляешь, оттягивая релиз игры и усложняя процесс доработки игры после релиза. Потому что переписать уже существующую систему на другой язык намного проще, чем изобретать несуществующую систему с нуля, особенно если язык не адаптирован под скоростную разработку.
Аноним 12/08/23 Суб 18:54:24 893909 252
>>893906
Я не то чтобы испытываю невероятные сложности со скоростью написания на с#, учитывая что я на работе пишу на с++. Чаще возникают проблемы с тем что писать, а не с тем, что мясистые пальцы не поспевают за стрелой мысли.
Аноним 12/08/23 Суб 19:48:48 893914 253
>>893906
операторные скобки не мешают, а наоборот только помогают видеть код быстрее более структурированным
Аноним 12/08/23 Суб 22:03:44 893919 254
Лучше игры делайте. Делать игры вам мешает не язык/движок/арт/шизы с харкача, а ваша прокрастинация. Все остальное - гнилые отмазки.
Аноним 12/08/23 Суб 22:32:21 893920 255
Чего 3.6 так долго ползет? Когда уже? Планирую на нем сидеть до где-то так 4.5.
Аноним 13/08/23 Вск 00:35:36 893932 256
>>893919
Моё оправдание это то, что я психически больной. Но я делаю игру, я доведу 1 игру до коммерческого релиза, даже если этот релиз будет приносить 1 рубль в год.
Аноним 13/08/23 Вск 04:15:07 893944 257
>>893862
>>893869
Аригато, пацаны

>>893869
>Кринжанул
Ну смотри. Условный Вася любит поиграть в игры, но так вообще работает на работе, и если игры из его жизни убрать, в целом ничего особо не изменится - "баловство". Не условный Виталик играет в игры, снимает видео про игры, зарабатывает этим всем на жизнь; невозможно убрать игры из его жизни, не порушив эту самую жизнь - "профессия".
Определение профессии - человек занимается чем-то на постоянной основе, и это является основной статьёй его заработка. А уж кто, чем и с каким качеством, в этом определении не учитывается.
И вообще, понимаю твой кринж, но я на анонимной борде, и мне насрать :3

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

>>893900
>ожидаешь на каждом шагу game-breaking bug
Я тут поиграл в Jagged Alliance 1. Великая классика из 90х, ещё под ДОС. Пошаговая тактика: ходишь ты, потом ходит комп, ну и так далее. И там совершенно эпичный финал, когда главзлодей самоубивается во взрывах, и всё начинает взрываться. Задача игрока - спасти сюжетный макгаффин из ящика злодея и эвакуироваться с минимальными потерями. Вот только взрывы реалтаймовые. То есть, мы ходим в пошаге; взрывы взрываются когда хотят.
Психотравма, говоришь? Ну да, сорт оф.

>ждут, пока ты не закончишь диалог с каким-либо персонажем.
С диалогами есть альтернативный вариант реализации - ничего не паузить, но дать возможность прервать диалог в любой момент. ИМХО это честнее; а важные сюжетные разговоры устраивать только в безопасных местах.

>анимации здесь служат исключительно эстетическую роль
Если очень нужно, чтобы обязательно что-то мельтешило (вообще да, согласен, нужно), то лучше пусть интерфейс мельтешит.
Но в общем-то это такая вкусовщина. Я предпочитаю, чтобы пауза всем своим видом однозначно говорила: "игра замерла, ты в безопасности, можешь спокойно читать окошко или пойти отлить", и какой-нибудь шейдер, продолжающий анимироваться, воспринимается мной как недоработка. Но у меня нет доводов в пользу этого, кроме "мне так больше нравится".
Аноним 13/08/23 Вск 04:33:19 893945 258
>>893944
Я тебя еще не так заебу. Иди делай игры, блять. Делай-делай. Приду проверю потом, чтоб сделал все. Хватит яйца мять.
Аноним 13/08/23 Вск 11:33:35 893957 259
>>893919
Нет идей.Все создано.
Аноним 13/08/23 Вск 12:26:10 893960 260
1691918771559.png 162Кб, 365x441
365x441
>>893871
> Ой всё.
> если я сейчас вместо маленьких успехов ведущих к игре буду пытаться сделать всё идеально
Это вопрос внутренней дисциплины.
ИМХОИМХО
Нет ничего сложного, чтобы ебануть энум с подливой под себя и в дальнейшем брать оттуда константы:
> enum BallColor { None=-1, Black, Gray, White, LightSalmon}
И что характерно, попытки в самоорганизацию есть, далее по пикче есть следы использования энумов.
То есть, анон знает о них, но всё равно ленив и расхлябан, что позволяет себе магические числа в коде, оправдываясь тем, что когда-нибудь сядет и всё отрефакторит. Ага. Да-да.
Аноним 13/08/23 Вск 12:56:46 893962 261
>>893960
>enum BallColor { None=-1, Black, Gray, White, LightSalmon}
Тогда уж ему нужно
>enum FogState { Visible = -1, Known, Unknown }
Visible - клетки в поле видимости;
Known - клетки, которые игрок видел ранее;
Unknown - клетки, которые игрок никогда не видел.
Чтоб абстрагироваться от визуализации.
Аноним 13/08/23 Вск 13:02:27 893963 262
Палю годноту. Если ваша игра работает под веб, то помимо итча рекомендую выложить на newgrounds. Там премодерация, но если игра пройдет, то полезных комментов и популярности запросто х5 от итча. Аудитория сайта - как раз игруны, а не геймдевы.
Аноним 13/08/23 Вск 13:33:43 893966 263
2022.10.04.mp4 246Кб, 800x600, 00:00:08
800x600
>>893944
>С диалогами есть альтернативный вариант реализации - ничего не паузить, но дать возможность прервать диалог в любой момент.
Идеальный вариант - это чат, такой же, как в мультиплеерных играх. Реализовать сложнее, но преимущества перевешивают недостатки.

Написал длинное сообщение с описанием всех преимуществ и недостатков каждого подхода, но случайно закрыл браузер и всё потерял. Лень повторять.
Аноним 13/08/23 Вск 13:50:42 893969 264
>>893963
А донаты там есть? Если есть, то не в РФ, наверное?
Аноним 13/08/23 Вск 14:29:36 893975 265
>>893969
Вроде есть revenue share программа и выплаты от 100 баксов. С РФ сам понимаешь.

Мне в основном нужны структурированные отзывы, а то на итче их хуй дождешься, и трафик на мобильные аппсторы. Что NG мне и дал.
Аноним 13/08/23 Вск 16:03:46 893990 266
Как же просто делать игры. А с годотом все дается так легко. Придумал новую игру и уже доделываю прототип.
Аноним 13/08/23 Вск 16:09:27 893994 267
Аноним 13/08/23 Вск 16:51:48 894006 268
>>893994
Это тебе к психологам. Мы тут игры делаем.
Аноним 13/08/23 Вск 17:21:06 894015 269
>>894006
Как заработаю с игры, так и смогу оплатить психолога. А сейчас я нищук.
Аноним 14/08/23 Пнд 07:56:06 894077 270
Это самое. Есть ли способ подключить сигнал не с конкретной ноды, а просто так? Я имею ввиду, что у меня вот есть 3 кнопки. При нажатии кнопка отправляет массив вместе с сигналом. Мне не имеет значение какая кнопка сигнал посла, мне нужно принять сигнал и присвоить какой-либо переменной данные посланные с сигналом.
А то как-то на каждую кнопку по сигналу жирно выходит. Там не красивый копипаст получится.
Аноним 14/08/23 Пнд 08:33:43 894078 271
>>894077
Короче я решил просто из vbox'а с кнопками стрелять сигналом. Но может ещё как-то можно?
Аноним 14/08/23 Пнд 08:55:03 894082 272
Какой лучший варик вывести спрайт в 3д в биллборд режиме с возможностью этот спрайт крутить по своей оси?
Аноним 14/08/23 Пнд 08:58:32 894083 273
godots.png 10Кб, 299x184
299x184
Аноним 14/08/23 Пнд 09:04:12 894084 274
>>894083
>с возможностью этот спрайт крутить по своей оси
Аноним 14/08/23 Пнд 09:20:44 894085 275
>>894084
Ты не умеешь крутить ноду?
Аноним 14/08/23 Пнд 09:37:30 894086 276
>>894085
нативная биллборда ж не крутится
Аноним 14/08/23 Пнд 09:55:27 894087 277
>>894086
покажи конкретнее кусок, что и где у тебя не крутится или поясни более нагляднее желаемый результат
Аноним 14/08/23 Пнд 10:14:50 894088 278
>>894087
представь себе спрайт со свастоном
мне нужно заставить крутиться этот свастон по часовой стрелке
Аноним 14/08/23 Пнд 10:46:14 894090 279
>>894088
ну вот ставишь Sprite2D или 3D в зависимости от игры и крутишь ноду со свастоном
Аноним 14/08/23 Пнд 11:03:22 894092 280
>>894090
>крутишь ноду
>нативная биллборда ж не крутится
Аноним 14/08/23 Пнд 12:31:29 894095 281
>>894077
>А то как-то на каждую кнопку по сигналу жирно выходит. Там не красивый копипаст получится.
Можешь циклом по всем кнопкам пройтись и подключить. Я так делаю. Тогда всего 2 строки.
Аноним 14/08/23 Пнд 18:10:01 894121 282
>>894077
Все три кнопки сажаешь на один сигнал. Или я непонел, что именно ты хочешь.
Аноним 14/08/23 Пнд 18:11:48 894122 283
>>894092
Значит создай меш, в него установи плейн, отключи куллинг бэкфейса, и собсна крути как хочешь.
Аноним 14/08/23 Пнд 18:13:32 894124 284
>>894122
У меня от твоих советов КУЛИНГ БЕКФЕЙСА.
Аноним 14/08/23 Пнд 18:15:09 894125 285
>>894124
Хули ты флипнулся в геймдевелопинг тогда? Оформи срыгос.
Аноним 14/08/23 Пнд 19:17:20 894136 286
>>894125
>срыгос
Ливни, тогда уж.
Аноним 14/08/23 Пнд 19:25:52 894137 287
>>894122
>собсна крути как хочешь
Я так и делаю, но думал чёт из коробки пропустил мб, заебно всё время плейн в камеру поворачивать.
Аноним 14/08/23 Пнд 20:17:42 894141 288
>>894137
> заебно всё время плейн в камеру поворачивать
Э, в смысле всё время? Один раз код поворота написал и не трогаешь.
Аноним 14/08/23 Пнд 20:33:18 894145 289
>>894141
>в смысле всё время?
ну дрочить в процессе векторы трансформа камеры, чтобы плейн к ней повернуть
Аноним 14/08/23 Пнд 20:38:38 894148 290
>>894145
Ты мой пост читал вообще? Продрочи векторы один раз и код будет just work, что с тобой не так?
Аноним 14/08/23 Пнд 20:48:09 894150 291
>>894148
>код будет just work
Ага, каждый тик
Аноним 14/08/23 Пнд 21:20:11 894158 292
>>894077
Технически то ты никак не можешь избавиться от "одна кнопка - один сигнал", ведь источником сигналов являются разные кнопки. Ну а принимать можешь в одном месте, да. В коннекте можно указать в параметрах от кого сигнал.
Аноним 14/08/23 Пнд 21:20:49 894159 293
>>894082
>спрайт в 3д в биллборд режиме с возможностью этот спрайт крутить по своей оси?
Это?
https://docs.godotengine.org/en/stable/classes/class_basematerial3d.html#class-basematerial3d-property-billboard-mode

>>894122
>отключи куллинг бэкфейса
Зачем, если билборд всегда в камеру смотрит?

>>894150
>Ага, каждый тик
А встроенный билборд как часто крутится?

Выбери режим BILLBOARD_ENABLED, конвертируй стандартный материал в шейдер, изучи его код и доделай ему вращение по нужной оси (z?).
Аноним 14/08/23 Пнд 21:24:14 894160 294
Аноним 14/08/23 Пнд 21:40:27 894163 295
Аноним 14/08/23 Пнд 21:52:41 894164 296
>>894159
>Выбери режим BILLBOARD_ENABLED, конвертируй стандартный материал в шейдер, изучи его код и доделай ему вращение по нужной оси (z?).
Это кстати может и получше будет постоянного поворота трансформных базисов камеры в процессе. Спс, попробую.
Аноним 14/08/23 Пнд 21:55:53 894165 297
image.png 3Кб, 139x71
139x71
Итч. Продолжаю ползти к успеху. Насколько же годот упрощает делание игор, пиздец просто.
Аноним 14/08/23 Пнд 22:02:13 894166 298
>>894150
Сколько у тебя таких билбордов? 100? 10000? Ты делал бенчмарки или просто занимаешься предварительной оптимизацией?
Аноним 14/08/23 Пнд 22:55:29 894172 299
>>894166
>занимаешься предварительной оптимизацией?
)))а чё для себя низя чёль?)))
Аноним 14/08/23 Пнд 23:46:20 894183 300
>>894165
Это где так деньги отдают?
Аноним 15/08/23 Втр 03:08:51 894198 301
Я извиняюсь, а где вы берете ассеты? Вы же не рисуете всю графику к каждой новой игре? Вот представим ситуацию например, я взял графику главного героя с итча или просто с бесплатного пака какого-то. Я имею право поставить его на иконку? Просто пиздец же, у тебя на иконке ассет какого-то другого чела, по сути лицо игры...
Аноним 15/08/23 Втр 03:50:21 894201 302
>>894198
Иногда сам руками, иногда готовое. В любом случае если ты берешь/делаешь что-то графически сложное, то ты, за крайне редким исключением, уже провалился.

>Я имею право поставить его на иконку?
Смотри лицензию ассетов.
Аноним 15/08/23 Втр 04:23:41 894205 303
>>894198
Я рисую сам. Рисовать не умею правда, но другого пути нет. Повезло, что у меня не ретро пиксель арт. Я вообще хз как его рисовать. Когда делал на пикселях, там подрезал из интернетов всё и чуть менял под себя.
Аноним 15/08/23 Втр 06:35:09 894207 304
>>894205
> другого пути нет
Нейронки
Аноним 15/08/23 Втр 09:45:16 894214 305
>>894198
>где вы берете ассеты
opengameart и скетчфаб лул
Аноним 15/08/23 Втр 15:51:44 894243 306
>>894214
>opengameart
Просто без задней мысли скачиваешь ассеты/спрайты и всё? Ничего не прилетит?
Аноним 15/08/23 Втр 16:05:44 894246 307
>>894243
>Ничего не прилетит?
ПРОСТО смотришь, чтобы в лицензии не было NC. Если BY, то записываешь ник автора в титры. А в целом так-то похуй.
Аноним 15/08/23 Втр 17:52:20 894258 308
Как же я не люблю графику делать. Вот сделать прототип на кубах без графики это кайф, делаешь и работает. А когда надо подключать графику мотивации никакой, всё же уже работает, а при этом работы еще дохуя. Как бороться с этим чувством?
Аноним 15/08/23 Втр 17:54:21 894260 309
>>894258
Делай минималистичную в Блокбенче если 3д, или в аспрайте если 2д
Аноним 15/08/23 Втр 18:17:35 894263 310
>>894205
> Повезло, что у меня не ретро пиксель арт. Я вообще хз как его рисовать
Так он же в разы проще всего остального рисуется.
Аноним 15/08/23 Втр 20:23:51 894300 311
Занимаюсь в данную единицу времени переносом одной игры на Godot, довольно таки... Успешно? Не суть.
В связи с юридическим аспектом нужно сделать так чтобы пользователь распаковал файлы оригинальной игры и сунул в папку с exe моего переноса, пока прикидывал просто выдирал файлы и совал в проект настраивая всё, сейчас понял что я лучше сейчас переделаю малый объём работы, чем буду всё переделывать на такую формулу в последний момент.
Встал вопрос - как использовать файлы из одной папки с исполняемым файлом не используя скрипты и никак не упаковывая эти файлы? Желательно, но не обязательно чтобы их было видно в редакторе.
Аноним 15/08/23 Втр 21:52:23 894312 312
Делаю самую простую в мире казуалку. И всё равно выгораю и разрывается мозг. Ладно механику сделать это ладно, но ещё же миллион факторов начиная балансом, заканчивая графикой... И потом когда видишь что ты выпускаешь в свет хочется спустить себя в унитаз. Как же сложно делать хоть что-то, в том числе игры
Аноним 15/08/23 Втр 22:00:54 894314 313
Как же легко и просто делать игры. Сегодня прикрутил новую генерацию к своему рогалику. Блин, прямо загорелся, хочется фигачить не останавливаясь.
Аноним 16/08/23 Срд 01:18:35 894324 314
Ого, вы видели, у неё открытый движок? Сейчас я буду смотреть на него и дрочить. Она хочет моих проектов и денег! Вы видели? Сладкий гдскриптик!
Аноним 16/08/23 Срд 02:11:31 894328 315
>>894324
Лучше сделай ей пару игр.
Аноним 16/08/23 Срд 09:32:40 894333 316
Всё хуйня я проебался. Сделал систему на массивах (сук нах три массива и кода до жопы). Сейчас сижу и понял что можно было сделать то же самое в два клика при помощи ресурсов. Как бы саму систему не сложно модифицировать и работать с ней, но если бы это были ресурсы, то было бы легче. Времени переделать нет (да и желания) из-за работы, так что оставлю так. Вот бля нужно думать перед тем как что-то делать.
Аноним 16/08/23 Срд 10:06:54 894335 317
>>894333
Если так просто переделать, то почему бы и нет?
Аноним 16/08/23 Срд 10:13:06 894337 318
>>894335
Да вот видимо придётся. А то есть шанс пожалеть потом. Я рисковать не стану.
Аноним 16/08/23 Срд 11:35:43 894338 319
image.png 168Кб, 1920x1040
1920x1040
image.png 219Кб, 1920x1040
1920x1040
image.png 367Кб, 1920x1040
1920x1040
Сап, вкатываюсь в Годот с конструктора рпг мейкера. Хочу сделать передвижение по карте по клеточкам, из гайда стащил код и персонаж начал так двигаться, но он может ходить по твердым объектам. В гайде чел через РейКаст2Д пишет код и персонаж перестает ходить по ним, а я просто скопировал, и движок начинает ругаться. В тайловой карте полностью захватил область колизии, не помогает. Гайд на 3 пике.

Кодом никогда в жизни не занимался, поэтому не понимаю даже как его начать, то что означает иф и елс понятно, но как из них получить что-то полноценное понятия не имею. Каким образом вы научились работать с буковками? Ибо просто тыря код, я далеко не уйду и врятли научусь
Аноним 16/08/23 Срд 11:46:57 894339 320
>>894338
> просто тыря код, я далеко не уйду и врятли научусь
Это так, даже если берёшь с гайдов, лучше переписывай ручками, желательно стараясь понять что там написано. Конкретно тут сходу видно что код под третий годот, а ты скорее всего скачал четвёртый. Надо не onready, а @onready.
Аноним 16/08/23 Срд 11:47:44 894340 321
>>894338
onready var ray = $RayCast2D TO onready var ray = get_node("/root/Area2D/RayCast2D")
Аноним 16/08/23 Срд 11:48:48 894341 322
>>894339
А, да кстати, возможно банально код для третьего годота в четвёртом.
Аноним 16/08/23 Срд 11:57:31 894342 323
>>894338
О. Здорова братан. Я тоже с рпгма. Но я делаю без клеток так что у меня таких проблем нет. Как и сказали аноны выше, у тебя годота версия новее. А вообще советую прям сходу посмотреть гайд "Make an Action RPG in Godot 3.2". Там базис и основа, хоть и под другую версию (мне это не помешало). Ну а дальше по запросам в гугле и итт.
Аноним 16/08/23 Срд 12:02:33 894343 324
>>894339
Добавил собачку и ща ругается что инпуты и тайл сайзы не в зоне видимости, но эт думаю пока сам попробую решить, спасибо в любом случае!
>>894342
Оо, супер, щас тогда и погляжу. Может еще по каким-то урокам учишься?
Аноним 16/08/23 Срд 12:06:26 894344 325
Аноны, щас переделываю одну игру на годоте, игра не моя, так что надо как-то отвязать ресурсы от игры, мне нужно чтобы графику и звук игрок распаковал из файлов оригинальной игры и сунул в одну папку с моим exe, пути и имена заранее известны, как НЕ через скрипты подсосать эти файлы?
Аноним 16/08/23 Срд 12:22:52 894345 326
1
Аноним 16/08/23 Срд 12:23:38 894346 327
1
Аноним 16/08/23 Срд 12:31:45 894347 328
>>894344
А что тебе мешает скриптами подгрузить?
Аноним 16/08/23 Срд 12:36:32 894348 329
>>894343
>Может еще по каким-то урокам учишься?
Есть какие-то видео, но они специфические. Ты сам их запросто нагуглишь если придётся искать, например, как работать с кастомными ресурсами. Обучение, и программирование в частности - это 90% времени решение возникающих проблем. По этому я дальше стал просто под себя писать то, что мне нужно. Всё что не знаю гуглю или спрашиваю здесь. Сам понимаешь опыта в программировании у меня только с рпгма. Но тут практически тоже само и даже легче в некоторых аспектах. Например практически нет ограничений родного кода. Всё пиши как хочешь. Как напишешь, так и будет. Я в рпгме заебался во круг него прыгать с плагинами да остальными ограничениями и по этому, пока что, с годотом работь очень приятно после рпгма.
Аноним 16/08/23 Срд 13:07:32 894352 330
>>894347
Ну... Мне придётся так всё подгружать, не цеплять-же мне ко всему скрипты только для подгрузки графики?
Аноним 16/08/23 Срд 13:47:48 894354 331
Аноним 16/08/23 Срд 21:18:11 894390 332
>>893592
Рейкаст возвращает нормаль.
Вот ее плюсуй к координате спавнящегося куба домножив на половину стороны куба.
Должно проканать.
Аноним 16/08/23 Срд 22:01:51 894394 333
Есть массив с зонами2Д, как мне найти ближайшую из них к игроку?
Аноним 16/08/23 Срд 22:17:41 894397 334
>>894394
Считать евклидовое расстояние для каждой
Аноним 17/08/23 Чтв 01:04:08 894411 335
3д оказывается не так сложно. Главное не потеряться в координатах/поворотах/осях. Но сколько же возможностей открывает.
Аноним 17/08/23 Чтв 01:21:30 894412 336
>>894411
Каких возможностей? И где ты берешь 3д модели?
Аноним 17/08/23 Чтв 01:43:34 894414 337
>>894412
Не ебаться с у-сортами и слоями, халявные тени, отражения, окружения, свет, глубина сцен, ю нейм ит. Сам делаю.
Аноним 17/08/23 Чтв 08:05:53 894423 338
>>894338
> Хочу сделать передвижение по карте по клеточкам
> В гайде чел через РейКаст2Д
для ходьбы по клеточкам вообще не нужен рейкаст, ты просто проверяешь свой массив карты на тему проходима клетка или нет, всё
Аноним 17/08/23 Чтв 11:00:05 894431 339
Стоит ли переходить с 3.5.2. на 4 версию? И почему?
Аноним 17/08/23 Чтв 13:07:33 894449 340
>>894431
Я сижу на 3.5 и жду 3.6, потом буду ждать 4.х - где Х выше 5. Тройка под веб лучше работает и физика менее сломана. Но в 4 фичи вкусные пиздец.
Аноним 17/08/23 Чтв 13:13:31 894450 341
>>894449
Разве 3.6 будет? 3.5 же ЛТС. И почему 4.7+ будут на твой вкус? Минорные версии означают номер порядковый номер релиза в мажорной версии же, или у годота свой путь?
Аноним 17/08/23 Чтв 13:16:16 894451 342
Аноним 17/08/23 Чтв 15:00:02 894463 343
>>894451
> В четверке мне просто стабильности не хватает
а что там? вроде сейчас пилим два проекта: один в 2d другой в 3d и каких-то проблем не было, еще с беток годота четвертого начинали
Аноним 17/08/23 Чтв 15:51:03 894473 344
>>894394
Честно говоря вопрос не так прост как кажется. Если зоны2д однотипные, скажем сферы или квадраты, то можно просто проверить в цикле distance_to_squared. А если нет, то что делать хз. Какой тогда критерий, зона у которой любая вершина, любой угол ближе? Или какой-то центр масс? Читал в одном месте, что можно использовать AStar для такого, видимо, наполнить массив координатами вершин и искать чем-то подобным волновому алгоритму.
Аноним 17/08/23 Чтв 15:52:42 894474 345
>>894463
Например 3д физика. В трешке был Буллет, в четвертом его выкинули и заменили на Godot Physics. На полпути чувака, который его пилил на зарплате от Годот Фаундейшн, спиздили Рокстары. Итог такой себе. Сейчас в рамках отдельного проекта пилится Jolt, который, например, использовался в Хорайзоне. Как я понимаю планируется мердж в основную ветку когда допилят.
Аноним 17/08/23 Чтв 15:54:07 894475 346
>>894414
>халявные
Не такие халявные, влегкую может оказаться что надо ебаться в 10х по сравнению с 2д. Тени для плавной смены времени дня я так и не осилил, например. А если статичные тени, то с запеканием были проблемы, не знаю сейчас уже поправили или нет. В общем у меня есть долгострой 3д и там много возни, а вот 2д пиксельное легко пилю одну за другой.
Аноним 17/08/23 Чтв 19:11:41 894521 347
>>894449
Просто на тройку намного больше туториалов
Аноним 17/08/23 Чтв 22:01:44 894558 348
Сколько месяцев/лет прошло пока вы не перестали плакать от собственной беспомощности и объема работы который надо сделать и знаний которых надо выучить, прежде чем выложить игру в стор?
Аноним 17/08/23 Чтв 22:08:36 894560 349
>>894558
Года два. Может три. Быстро пролетели, не считал.
Аноним 17/08/23 Чтв 23:17:37 894577 350
>>894558
Сколько месяцев/лет прошло, пока до вас не дошло что за свою жизнь вы успеете всего десяток полноценных проектов сделать, и то если повезет, а потом все, гроб гроб кладбище? И пиздец как важно выбирать не хуйню в этот жалкий десяток.
Аноним 17/08/23 Чтв 23:24:59 894579 351
>>894577
Это ещё если гейдев это основная профессия и ты уже серьезно настроился до гроба игры делать. А если ты фанат пивандеполы который зашел почилить в годот после работы? Дай бог одна нормальная игра за 10 лет изучения движка.
Аноним 18/08/23 Птн 06:32:33 894599 352
>>894474
Ну у нас там конечно не какая-то мега крутая физика, чтобы волосы развевались, но с обычной физикой проблем не наблюдали каких-то
Аноним 18/08/23 Птн 06:33:17 894600 353
>>894521
а зачем туториалы, когда есть документация и мы тут еще сидим не просто так
Аноним 18/08/23 Птн 08:31:44 894601 354
Снимок.PNG 25Кб, 753x468
753x468
Есть 4 комнаты. Узнаю в какой я комнате просто спросив имя ноды. Есть кнопки. Мне нужно узнать показывать ли кнопку в комнате. Для определения в какой комнате можно показывать конкретную кнопку я решил использовать флажки. Всё работает, но как теперь с этим работать? Круто что мне энумератор выдаёт количество битов у него, но что мне с ними делать? Я понимаю как он работает. Типа если сложить вот эти и эти битки, то получится как раз как раз кол-во выбранных флажков, но мне нужно знать какие именно флажки выбраны. Тут нужно алгоритм какой-то, но я тупой и не могу придумать. ПОМОГИТЕ.
Аноним 18/08/23 Птн 08:58:02 894603 355
>>894601
Это не флажки, это массив. Зачем тебе room_index и четыре константы? Если отображаемые кнопки по сути есть двоичное представление номера комнаты, то почему бы не
buttonX.visible = room_number & (1 << X)
buttonY.visible = room_number & (1 << Y)
buttonZ.visible = room_number & (1 << Z)
Аноним 18/08/23 Птн 09:10:21 894606 356
>>894603
>это массив
Ну допустим, а мне говорит, что int.
>Зачем тебе room_index и четыре константы?
Да это я так просто потупил немного. По сути там только @export в тему, остальное - полёт фантазии.
>Если отображаемые кнопки по сути есть двоичное представление номера комнаты
Там всё немного не так. Но по сути кнопка должна отображаться в комнатах A, B, C, но не D. Или только в A, C. Вот какую систему я хочу сделать. Сейчас уже думаю просто сделать массив имён комнат и там проверять всё это.
Аноним 18/08/23 Птн 09:21:19 894609 357
>>894606
Ещё у тебя есть вариант сделать массив флагов тогда, где индекс - номер комнаты и использовать >>894603 с небольшой модификацией room_array[room_number] вместо room_number Тогда например с массивом [1, 3, 4] у тебя отобразятся в первой первая кнопка, во второй первая и вторая, в третьей только третья
Аноним 18/08/23 Птн 09:26:50 894610 358
>>894609
Понятно. Спасибо. А вот вообще есть способ узнать какие именно флажки активированы? То есть я то понимаю, что например если enum {a:1, b:2, c:4, d:8} равен = 3, то значит a и b активны, но как бы это каким-то алгоритмом определить.
Аноним 18/08/23 Птн 09:38:17 894612 359
>>894610
Анончик, ты опять перепутал. Енам - есть по сути перечисление разных значений, в твоём случае интов. Флажки - определённый бит в инте. Определяется есть ли флажок или нет вот так >>894603 смещением единицы на столько разрядов, какой у тебя флажок. Почитай про битовые операции, например вот эту статью https://metanit.com/cpp/tutorial/2.8.php там хоть и для плюсов, но принцип во всех языках один
Аноним 18/08/23 Птн 09:42:23 894613 360
>>894612
А бляпиздец. Лол. Вот что значит нихуя не программист. Спасибо что объяснил. Пизда рулю я чуть не упустил это знание.
Аноним 18/08/23 Птн 13:54:08 894623 361
>>894613
> Пизда рулю я чуть не упустил это знание.
Когда впервые узнаёшь о битовых флагах - это такой кайф, на пару месяцев становишься байтоёбом и пихаешь флаги всюду. Я так пару лет назад когда узнал о флагах, пытался на них сделать составную стейтмашину. Что-то получалось, но функционал мне не удалось сделать более удобным или быстрым, чем просто стейт-машины.
Аноним 18/08/23 Птн 15:48:08 894637 362
>>894300
>как использовать файлы из одной папки с исполняемым файлом
https://stackoverflow.com/questions/75187804/how-to-get-acces-to-file-in-the-same-folder-of-the-game-godot-engine

>не используя скрипты
WTF? Тебе шашечки или ехать? Пиши код давай, пиши.

>просто выдирал файлы и совал в проект
>чтобы их было видно в редакторе
Ты не против выложить исходники своей игры в опенсурс, чтобы игрок мог их модифицировать? Тогда просто забудь про "экспорт" игры. Просто положи Godot в папку проекта и запакуй эту папку в zip. Выкладываешь zip, игрок качает и распаковывает, закидывает в папку файлы игры и кликает на твою игру.exe, которая на самом деле Godot Editor или export template (на выбор, есть существенные отличия). Если ничего не путаю, Godot в таком случае сразу запускает игру, не заходя в режим редактирования. Ещё можно сделать специальный ярлык, по нажатию на который проект будет сразу запускаться на выполнение редактором Godot.

Преимущества: игрок имеет доступ к файлам и может их использовать на своё усмотрение, а тебе не нужно делать обходные пути для загрузки файлов.
Аноним 18/08/23 Птн 15:53:38 894638 363
>>894258
>когда надо подключать графику мотивации никакой, всё же уже работает
У меня наоборот. Я не могу себя заставить делать прототип игры, если у меня нет готовой приятной графики. Но сам я не художник и сделать приятную графику не могу, а в интернете приятной графики нет.

>>894260
>Делай минималистичную в Блокбенче
Она некрасивая получается. Дурацкий кубач...
Аноним 18/08/23 Птн 16:15:41 894642 364
>>894638
> Я не могу себя заставить делать прототип игры, если у меня нет готовой приятной графики.
Тебе надо в моддинг скайрима вкатываться, там как раз то самое и будет.
Аноним 18/08/23 Птн 16:15:40 894643 365
день и ночь.webm 920Кб, 640x480, 00:00:25
640x480
>>894475
>Тени для плавной смены времени дня я так и не осилил
Что конкретно не получается?

Просто размещаешь в сцене вот это:
https://docs.godotengine.org/en/stable/classes/class_directionallight3d.html
И вращаешь вокруг одной оси по таймеру.

Если у тебя время в игре долгое относительно реального времени (сутки за 24-48 минут и дольше), тогда ты можешь позволить себе долгие паузы между поворотами источника света, чтобы сэкономить на обновлении теней и неба. На самом деле, в играх типа GTA можно заметить движение теней рывками, но в нормальном геймплее на такие мелочи внимание не обращаешь - нужно стоять на месте и внимательно следить за тенью, чтобы заметить. Если у тебя проблемы с "протеканием" света через щели, тени отстают от предметов, или есть какие-то другие артефакты - нужно подгонять параметры источника света.
Аноним 18/08/23 Птн 16:28:42 894647 366
>>894638
>Она некрасивая получается. Дурацкий кубач...
Прокачивай стиль.
Аноним 18/08/23 Птн 16:49:09 894654 367
>>894643
>Что конкретно не получается?
Тени полосами на домики ложаться.
Аноним 18/08/23 Птн 17:16:19 894662 368
>>894654
>Тени полосами на домики ложаться.
Знакомо. Связано с особенностью алгоритма теней, который используется в Godot. Уже обсуждали здесь в прошлые годы. Можно исправить через параметры в источниках света и настройках проекта. Значения по умолчанию не под любую сцену подходят.

https://docs.godotengine.org/en/stable/classes/class_light3d.html#class-light3d-property-shadow-bias
И дальше по списку.

У меня эти артефакты в SpotLight чаще всего были, DirectionalLight сравнительно беспроблемный.
Аноним 18/08/23 Птн 17:38:35 894665 369
>>894662
я где-то читал, что одни настройки лучше подходят для теней падающих на вертикальные стены, а какие-то - на горизонтальные полы. А в опенворлде с динамическим временем получается засада, надо и те и те, и они сменяют друг друга. На статичной то сцене еще можно попытаться подобрать хорошие настройки, а там было буквально, починил тень на домике - полосит асфальт. В общем пока забил я.
Аноним 18/08/23 Птн 18:04:45 894671 370
>>894665
Мне кажется, с домами тени лучше всего работают с shadow_reverse_cull_face = true.

Но я не помню точно, а видео с подобной демонстрацией таких моментов я не делал. Тем более что в 4.x рендеринг другой совсем.

Вообще, я бы забил, тени в играх не так важны, в какой-нибудь ГТА тени вообще отключаются в настройках для повышения производительности.
Аноним 18/08/23 Птн 20:12:05 894702 371
Есть ассет на itch.io. В разделе ассеты. Он прямым текстом пишет, что бесплатно. Типа я сделал, юзайте кто хочет. Но конкретно лицензию не указал.

Можно ли такой ассет использовать в коммерческой игре? Если чел не указал лицензию конкретно, но написал своими словами, что бесплатно.
Аноним 18/08/23 Птн 21:18:18 894713 372
>>894702
Скорее всего это что-то вроде WTFPL. Если ассет прям узнаваемый - можешь в кредитах указать его. Иначе хуй забей. У меня две коммерческих игры, внутри которых, среди моих собственных ассетов, валяется пара чужих с похожей на твою проблему. Всем похуй.
Аноним 18/08/23 Птн 21:25:24 894715 373
>>894713
Не узнаваемый, у него буквально 10 просмотров и 0 комментариев на итче. Просто красивый спрайт чел нарисовал.

Спасибо за ответ.
Аноним 18/08/23 Птн 21:26:53 894717 374
>>894702
Можно, но я б не стал.
Тем более если ты пишешь это просто спрайт. Перерисуй похоже и все.
Аноним 18/08/23 Птн 23:40:15 894752 375
>>894702
Проблемы могут возникнуть, только если он сам (или его представитель) подаст на тебя в суд или напишет DMCA заявку в магазины/хостинги с твоей игрой. Посторонние люди в данной ситуации никак повлиять на тебя не могут, игры удаляют только по заявке правообладателя (в целом по интернету; у стима может быть своё мнение). Вот именно тогда ты должен гордо показать бумажку и ткнуть пальцем в строчку, которая утверждает, что ты всё используешь легально, а он может попытаться доказать, что ты подделал бумажку и он ничего такого не писал. В твоём случае роль бумажки выполняет страничка в интернете, над которой он имеет полный контроль, поэтому стоит сделать бэкап его странички в Wayback Machine и других веб-архивах (можно запросить удаление архивной копии сайта у владельцев архива). Но тут важен именно сторонний архив, т.к. на своём диске ты можешь и подделку сохранить, так что личная копия ничего не даёт.

Это серьёзная тема. Если игра внезапно выстрелит и принесёт миллионы, этот рандомный чувак может заявиться и отсудить круглую сумму просто за то, что у тебя там его файл в запакованном архиве лежит, нигде не используясь. Были случаи.

Вот Godot использовать безопасно, потому что это широко известный проект, доказательств его бесплатности и открытости полно.
Аноним 18/08/23 Птн 23:45:31 894753 376
image.png 258Кб, 410x306
410x306
>>894752
>Если игра внезапно выстрелит и принесёт миллионы
Аноним 19/08/23 Суб 04:21:00 894779 377
>>894752
Я в ахуе просто. Зачем он его тогда выкладывал бесплатно на сайт с бесплатными ассетами?
Аноним 19/08/23 Суб 11:29:07 894787 378
Как добавить velocity к двигающемуся CharacterBody3D с контроллером из встроенного шаблона?
Хочу сымитировать импульс:
player.velocity += velocity_new
Проблема в контроллере у player, где velocity приравнивается:
if direction:
velocity.x = direction.x SPEED
velocity.z = direction.z
SPEED
else:
velocity.x = move_toward(velocity.x, 0, SPEED)
velocity.z = move_toward(velocity.z, 0, SPEED)
Аноним 19/08/23 Суб 12:31:22 894792 379
>>894779
Именно за этим. Ловля дурачков на живца.
Аноним 19/08/23 Суб 12:34:43 894793 380
>>894779
Для того же, для чего и другие. Почесать свое ЧСВ, показать свой скилл, потренироваться, приобщиться, получить лойсы, привлечь внимание к своему аккаунту и к другим своим проектам. Я тоже выкладываю. Но у меня лицензия четко указана.
Аноним 19/08/23 Суб 14:55:57 894801 381
>>894793
Ну вот представь, открываешь ты какой-нибудь гугл плей и видишь свой бесплатный ассет на иконке, рядом надпись - 10000 скачиваний. Твои действия?
Аноним 19/08/23 Суб 19:56:29 894826 382
Как сделать так, чтобы Лейбл писал не все в одну строку, а расширялся вниз когда заканчивается место? Сейчас он растягивает просто одну строчку.
Аноним 19/08/23 Суб 20:20:10 894828 383
>>894801
>видишь свой бесплатный ассет
Я если что-то бесплатно выкладываю, то всегда явно указываю либо CC BY SA (если медиа), либо GPL/LGPL (если софт). Так что, если увижу 10000 скачиваний, то порадуюсь, ведь там где-то мои копирайты.
мимо
Аноним 20/08/23 Вск 05:22:54 894850 384
Аноним 20/08/23 Вск 09:32:55 894853 385
Аноним 20/08/23 Вск 09:33:49 894854 386
Аноним 20/08/23 Вск 21:30:30 894889 387
Игры делать сложно всё-таки. Я понял, что для меня делание игр это решение задач. Как сделать это, как сделать такую фичу, как сделать то. Как только я решаю задачу, игру уже лень допиливать. У меня нет творческих идей каких-то или потребности самовыразиться, мне нужно только искать решения.
Аноним 20/08/23 Вск 22:58:07 894894 388
>>894889
Тру стори. Точно так же закончился и мой вкат в геймдев. Сижу теперь ИТТ, по привычке. Кстати вот тебе тема для размышлений: на годоте можно не только игоры делать. Вон чуваки сделали графический редактор для пиксельарта, Pixelorama. Так что, думой.
Аноним 21/08/23 Пнд 17:29:59 894972 389
для пиксельной и игры с видом сверху, какой лучше stretcj mode использовать?
Аноним 21/08/23 Пнд 21:20:32 894990 390
Аноним 22/08/23 Втр 13:45:36 895027 391
>>894990
Спасибо!
Жаль в оф доке нет отдельных мини-инструкций, типа user stroy под самые распространенные проекты, с сылками на нужные разделы
Аноним 23/08/23 Срд 01:38:23 895095 392
Делайте игры. Кто сколько сделал уже?
Аноним 23/08/23 Срд 09:47:02 895109 393
Снимок.PNG 19Кб, 516x224
516x224
Есть родительская нода. Получаю у неё первого ребёнка. Пытаюсь изменить ему атрибут. И нихуя. Как и почему? Код на пикче.
Аноним 23/08/23 Срд 09:51:58 895110 394
>>895109
Ты изменяешь не ребёнку, а родителю. Ну и ты уверен что ты получаешь и попадаешь в этот цикл?
Аноним 23/08/23 Срд 10:08:18 895111 395
>>895110
>Ты изменяешь не ребёнку, а родителю.
Сорян, что не пояснил, что так и нужно. Блять, я там вообще не то написал. Совсем уже голова не соображает. Всмысле я смотрю если у ребёнка чек стоит, то вырубаю родителя. Мне вот так нужно.
>Ну и ты уверен что ты получаешь и попадаешь в этот цикл?
Ну как бы я просто ребёнку в редакторе чек включал, тогда он вырубает родителя как нужно.
Аноним 23/08/23 Срд 10:15:26 895113 396
>>895111
А. У меня же ещё там переход между сценами. Я так понимаю при смене сцены параметры не сохраняются? Ну типа я чекнул кнопку, перешёл в другую сцену, потом вернулся обратно и оно не сохранилось чтоль? А как тогда сохранять?
Аноним 23/08/23 Срд 10:26:26 895114 397
>>895111
Чёт всё ещё не очень понятно что у тебя происходит, но в любом случае ты можешь эту проверку на "parent.visible = not button.is_pressed()"
>>895113
Берёшь и пишешь в нужное место, например в глобальную переменную или ещё какое хранилище нужное состояние, и в реди каждый раз ставишь кнопкам нужное.

Вообще я не понимаю что ты делаешь, у тебя кноки или чекбоксы? У кнопки нет checked, а у чекбокса он отвечает за текстуру. Проверять включен чекбокс или нет надо через is_pressed()
Аноним 23/08/23 Срд 10:31:33 895115 398
>>895114
Спасибо за помощь. Я понял, что обосрался с сохранением. При переходе из одной сцены в другую в прошлой сцене всё на дефолт прыгает. Буду думать как лучше сохранять всё.
>Вообще я не понимаю что ты делаешь, у тебя кноки или чекбоксы? У кнопки нет checked, а у чекбокса он отвечает за текстуру.
Да это свой кастомный параметр на кнопке. Обычная кнопка.
Аноним 23/08/23 Срд 10:33:06 895116 399
>>895115
Если простая кнопка, то почему бы не добавить выключение видимости на нажатие этой кнопки?
Аноним 23/08/23 Срд 10:44:43 895118 400
>>895116
Там в зависимости от комнаты свои кнопки в каждой. При переходе в комнату идёт проверка какие кнопки показывать. На реди идёт дрочь с визиблами жёсткий. Этот самый checked как раз и нужен чтоб не показывать кнопку если на неё хоть раз нажимали. Соррян, что криво объясняю я просто сижу сейчас как овощь ничего не соображаю. День не удачный.
Аноним 23/08/23 Срд 10:58:53 895120 401
>>895118
Ну так храни для каждой комнаты переменную, массив или словарь, в котором ты будешь отмечать кого рисовать, а кого нет. Меняй его по нажатию в функции обработки нажатия, назначай его при переходе в комнату, выгружай в удобное тебе хранилище при переходе из неё. Кнопкам тогда не нужно хранить статус своей девственности.
Аноним 23/08/23 Срд 11:00:29 895122 402
>>895120
Да вот да. Спасибо за помощь. Я решил в ресурсе хранить.
Аноним 23/08/23 Срд 13:33:26 895146 403
>>894990
При использовании вьюпорт + кип спрайт дергается придвижении по диагонали. При канвас итем + кип есть периодические поддергивания при горизонтальном/вертикальном движении
Аноним 23/08/23 Срд 14:37:55 895157 404
image.png 66Кб, 829x449
829x449
Godot 4
Делаю top down игру. Так понимаю в четвертой части velocity по дефолту учтен в move_and_slide, как и delta. Норм такой код, ничего не упустил в базовых аспектах?
Аноним 23/08/23 Срд 16:21:06 895175 405
>>895157
Давно есть фукнкция которая сразу возвращает нормализованный вектор и учитывает дедзоны
Input.get_vector("left", "right", "up", "down")
Аноним 23/08/23 Срд 18:21:39 895180 406
Дано:
- Вид сверху
- Движение по 8 направлениями (право, лево, верх, низ + диагонали)
- Анимация передвижения в 2 стороны
Проблема:
При передвижении вправо/влево и по диагоналям все ок.
Но если персонаж двигается только по оси y, то спрайт исчезает
Т.е. я хочу 8 направлений движения, 2 направления спрайта, как в nuclear throne https://youtu.be/_-P3DnjiuSw?si=DoFKbbmYEOowGe1v

Код:
#func Animated_player(input_vector):
#if input_vector != Vector2.ZERO:
#Player_sprite.scale.x = sign(input_vector.x)
#Player_animation.play("Walk")
#else:
#Player_animation.play("Idle")

Возможное решение:
Пока в голову приходит идея разве что использовать доп переменную, куда буду записывать последнее значение вектора по оси x, и использовать ее значение, перезаписывая, только при возобновлении движения по оси x.
Но может есть более лаконичное решение?
Аноним 23/08/23 Срд 18:24:53 895181 407
>>895180
Естественно исчезает, ты же в таком случае присваиваешь scale = 0.
Аноним 23/08/23 Срд 19:30:50 895185 408
>>895181
дык это ясно

Проблему таки решил лаконично по крайней мере лаконичнее, чем через доп переменную

>>895180
func Animated_player(input_vector):
if input_vector.x != 0:
Player_sprite.scale.x = sign(input_vector.x)
Player_animation.play("Walk")
elif input_vector.x == 0 and input_vector.y !=0:
Player_animation.play("Walk")
else:
Player_animation.play("Idle")
Аноним 24/08/23 Чтв 14:02:37 895230 409
1692874957026.jpg 62Кб, 700x933
700x933
>>895185
> чем через доп переменную
> if input_vector.x != 0
> elif input_vector.x == 0
> else:
Перестань мыслить переменными, начни мыслить стейтмашинами. В стейтмашине у тебя не потребуется вообще делать дополнительные проверки, или вводить дополнительные переменные.
Аноним 24/08/23 Чтв 15:04:24 895235 410
Стейт машины это база для любой игры?
Аноним 24/08/23 Чтв 16:26:25 895257 411
>>895235
Любой сложнее змейки
Аноним 24/08/23 Чтв 16:38:08 895259 412
Аноним 24/08/23 Чтв 18:46:09 895267 413
1637198536974.png 147Кб, 1240x972
1240x972
1664090739174.png 147Кб, 1244x972
1244x972
1608217658098.png 146Кб, 1241x964
1241x964
1635921977721.png 125Кб, 1248x813
1248x813
Пришло время почистить правила фаервола, сами они себя не почистят.
Аноним 24/08/23 Чтв 19:21:00 895269 414
>>895267
Установи годот через scoop и тогда у тебя будет одно единственное, обновляющеееся приложение по пути %username%/scoop/apps/godot/current
И тогда фаервол не будет срать себе в правила разными версиями godot_version.exe
Аноним 24/08/23 Чтв 19:32:25 895270 415
Аноним 24/08/23 Чтв 19:40:46 895271 416
>>895270
В смысле, не доверяешь?
Что конкретно тебя настораживает?
Аноним 24/08/23 Чтв 21:54:46 895278 417
1692903286054.png 13Кб, 452x277
452x277
>>895270
Вот тебе один маленький скриншот с официального сайта скупа, со страницы с букетами. Знакомых ников не видишь?
Аноним 24/08/23 Чтв 21:59:14 895280 418
>>895278
Кто такой калина
Аноним 24/08/23 Чтв 22:05:15 895282 419
1692903914977.png 16Кб, 357x282
357x282
Аноним 25/08/23 Птн 15:43:52 895315 420
Аноним 25/08/23 Птн 18:36:36 895332 421
>>895315
Двачую, один хуй через полгода венда засрётся и придёт время переустанавливать.
Аноним 25/08/23 Птн 19:12:52 895336 422
>>895332
да десятка годами стоит, проблем нет, если вот ее не засирать всякие типа как на скринах
Аноним 25/08/23 Птн 19:47:45 895342 423
>>895336
Подъебал-подъебал.
TL;DR: Мокрописечка на скринах устанавливает портативные приложения, в том числе она принудительно делает портативными непортативные.
А теперь в подробностях:
Мокрописечка на скринах устанавливается локально для юзера, как скрипт помершелла. На других юзеров и на систему влияния не оказывает (в конфиге по умолчанию не оказывает, а если юзер достаточно умён чтобы залезть в конфиг scoop'а, то в любом случае уже он несет ответ за свои действия). Если вдруг тревожному юзеру показалось, что scoop засрал ему систему, он в общем случае просто заводит новую учётку, перекидывает туда конфиг браузера с паролями и просто без задней мысли сносит старую учётку. И всё. В системе не остаётся никаких следов scoop и приложух, установленных им.

У этого приложения есть недостатки, но в вопросе установки годота там недостатков нет. Установка максимально приближена к линуксу:
1. scoop install godot
2. godot
И всё! Редактор запускается.
Аноним 25/08/23 Птн 19:49:52 895343 424
>>895315
Что "зачем"? Каждая новая версия (3.5, 3.5.2, и т.д) показывала свое окошко фаервола и добавляла правило.
Аноним 25/08/23 Птн 20:29:09 895349 425
Вы чо ебанутые? Игры давайте делайте. Опять хуитой какой-то занимаетесь, файрволллы какие-то блять вам мешают, винды, охуеть вообще. Чего несете? Игры делайте.
Аноним 25/08/23 Птн 21:43:30 895359 426
>>895349
Мотивации игры делать не хватает. Но я все равно через силу открываю годот просто чтобы рука сама потянулась что-то сделать.
Аноним 25/08/23 Птн 21:51:08 895361 427
>>895349
> Игры делайте.
Я хочу делать аддоны годота. Посоветуйте, какой бы сделать? Чего вам не хватает для пущего удобства, годаны? Оставляйте заявки ИТТ.
Аноним 25/08/23 Птн 22:00:25 895362 428
>>895361
Нормальную интеграцию С# в редактор
Аноним 25/08/23 Птн 22:15:07 895363 429
>>895362
Для шарпа есть мскоде, который в одиночку никто не догонит. И вот в мскоде уже есть интеграция годота. Так что нинужон. Еще предложения?
Аноним 25/08/23 Птн 22:52:15 895366 430
>>895361
При комментировании одной линии через хоткей нужен переход на строку ниже. Так во многих редакторах. А в годотю не везут.
Аноним 25/08/23 Птн 22:55:37 895367 431
1537624207543.mp4 2895Кб, 1280x700, 00:00:35
1280x700
>>895362
Год назад был такой прототип, но скорее всего автор не доделал.
Аноним 26/08/23 Суб 00:55:22 895372 432
Заработал 36 копеек.
Аноним 26/08/23 Суб 10:08:02 895387 433
>>895372
Слепящий вин! Накрывай на стол! Я - за пузырём!
Аноним 26/08/23 Суб 12:48:49 895397 434
>>895387
За ночь уже 76 накапало. К сожалению, мне кажется на этом доходы резко пойдут вниз.
Аноним 26/08/23 Суб 13:22:57 895398 435
>>895397
Все так. Первая неделя-полторы самые заметные, если тебя потом ВНЕЗАПНО не заревьюит какой-нибудь блоггер.

Но начало хорошее. На какую платформу выложил?
Аноним 26/08/23 Суб 14:33:52 895399 436
>>895398
Я надеюсь ты понимаешь, что это не шутка и не игривое преуменьшение, это не 36к, это реально 36 копеек

На запретную платформу с последней буквой алфавита в названии.
Аноним 26/08/23 Суб 14:40:16 895400 437
1693050013697.jpg 56Кб, 750x500
750x500
>>895399
> с последней буквой алфавита в названии
Аноним 26/08/23 Суб 14:50:18 895401 438
>>895399
>это реально 36 копеек
Я надеюсь ты понимаешь что это уже круче чем большинство ноудевов из /gd когда-либо сможет достичь. Продолжай работать.
Аноним 26/08/23 Суб 18:25:56 895412 439
>>895399
А почему кто-то должен считать это шуткой?
Ты выложил на не особо популярной платформе, наверняка даже в рекламу не вкладывался, да и игра скорее всего слеплена за пару недель и не какой-то шедевр.
Аноним 27/08/23 Вск 06:11:27 895453 440
>>895372
Я за два года заработал 73$. А там вывод на площадке от 150. То есть через 2,5 года у меня будет первая зарплата. Такие дела лол.
Аноним 27/08/23 Вск 12:28:06 895470 441
>>895342
> вопросе установки годота
чел, скачал exe нужный с сайта, запустил его
Аноним 27/08/23 Вск 13:18:13 895476 442
>>895470
> чел
Амёб, следи за дискассом, тот пост является решением проблемы длинного списка одинаковых правил в брандмауэре. потому что каждый
> exe нужный с сайта
Будет регистрироваться там отдельно при первом запуске.
А при установке через scoop экзешник всегда будет один, но будет меняться, следовательно и правило брандмауэра будет одно. И это один из минусов искаробочного брандмауэра. Сторонние фаерволы контрольные суммы хотя бы сверяют, а этому всё похуй. Ебёшь-ебёшь, а хуй-то выпал!
Аноним 27/08/23 Вск 15:30:14 895491 443
>>890164 (OP)
Хочу зделоть свою вайфу в виде приложения на смартфон на данном движке, какие подводные? Четвёрка всё ещё умеет экономить батарейку или будет сжирать 100% за 6 часов на простейшей 2Д графике как печально известная юнити? Можно ли из коробки создать фоновый процесс (работает даже если закрыть игру) и выдавать системные оповещения (сверху, под шторкой) по таймеру? Или придётся ковырять компиляцию C++, чтобы реализовать подобные фичи?

Алсо, кто-нибудь уже разобрался, как сделать 2Д анимации в стиле Live2D? Как-то сложно всё.
Аноним 27/08/23 Вск 16:16:15 895499 444
>>895267
>Пришло время почистить правила фаервола
Зачем? Они тебе чем-то мешают? Зачем ты вообще в фаервол лезешь?

>>895332
>через полгода венда засрётся и придёт время переустанавливать
Лично у меня за 16+ лет использования начиная с XP необходимость в переустановке возникала только когда я своими шаловливыми ручками вырывал из системы какой-нибудь жизненно важный модуль и не мог восстановить его штатными средствами или копированием файлов с живой системы/образа. Ну ты понял, люблю залезть туда, куда нельзя, и переключить/вырезать/удалить то, на что не стоит даже смотреть, а потом забываю, куда залез и что сделал и почему система еле дышит. В остальном система работает как часы даже с серьёзными повреждениями, в отличие от кернел паник симулятора, ЕВПОЧЯ.

>>895476
>является решением проблемы длинного списка одинаковых правил в брандмауэре
Не смотри в этот список и не будет проблемы.

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

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

Алсо, а если мне нужны разные версии Godot? У меня даже до выпуска 4.0 было несколько версий в одной папке, все подписаны разными именами и имеют индивидуальные ярлыки. Мне не нужен один "godot.exe". У серьёзных разрабов наверняка каждая стабильная версия хранится. По этой причине я даже не пробовал что-то делать с версией из Steam, ведь она будет автоматически обновляться с заменой старой версии. Единственно верный способ использования игрового движка и любого другого подобного ПО - это раскладывать всё строго по номерам версий. Blender сечёт фишку - устанавливается в отдельную папку с номером версии (blender/x.y/, где x.y - версия), а не поверх старой версии, и старую версию ты сам можешь удалить или оставить по желанию/необходимости. Godot отдельные папки не нужны, но разные названия у разных версий следует сохранять.
Аноним 27/08/23 Вск 16:46:48 895504 445
>>895113
>У меня же ещё там переход между сценами. Я так понимаю при смене сцены параметры не сохраняются?
ИМХО, если делаешь что-то вроде "комнат" в JRPG или метроидвании, то лучше написать свой велосипед, чем пользоваться встроенным переключением сцен. Встроенное переключение сцен больше подходит для игр типа "набор головоломок", в которых запуск уровня всегда должен быть одинаковым. Для любых других игр, где состояние "комнаты" может меняться, лучше написать свой менеджер комнат, чем обвязывать встроенный инструмент костылями.

Встроенный инструмент при переключении удаляет из памяти старую сцену, считывает новую с диска (если ещё не считал) и инстанциирует её в дерево сцены в состоянии, в котором она сохранена на диск. Если это происходит только при выборе уровня на экране уровней как в любой головоломке, то всё норм. Но если это событие происходит, когда персонаж игрока переходит из зоны в зону в большом игровом мире, то может возникнуть масса нюансов, с частью из которых ты уже столкнулся (хранение состояния героя и локации). Тебе в любом случае потребуется писать много собственного кода, но если ты завязываешь свой код на встроенное API, ты зависишь от его поведения, которое не можешь поменять без перекомпиляции движка. Если тебе вдруг потребуется что-то оптимизировать или какой-то костыль покажется слишком кривым, тебе придётся зарываться в исходники движка или переписывать всю свою систему.

Так что для большого мира из множества комнат лучше заранее написать независимую систему, не трогая встроенную фичу переключения сцен.
Аноним 27/08/23 Вск 17:28:37 895510 446
>>895180
>Player_sprite.scale.x = sign(input_vector.x)
>Player_animation.play("Walk")
А не лучше ли перенести разворот спрайта в систему анимации, чтобы не было лишнего кода?
https://docs.godotengine.org/en/stable/tutorials/animation/animation_tree.html#blendspace2d
Тогда всё происходящее со спрайтом будет описано декларативно в системе анимации, а в коде будешь только передавать вектор в систему анимации.

>>895230
>мыслить стейтмашинами
>>895235
>Стейт машины это база
>>895259
>читани базу
Ты сам-то свою статью хоть раз прочитай. Там же сказано, что конечные автоматы слишком жёсткие для сложного игрового ИИ, так что не панацея.

Проблема конечных автоматов в том, что ты должен самостоятельно вручную спланировать все состояния и переходы между ними. Это рационально делать только для очень простой системы, где количество состояний не просто конечно, а обозримо. А то число возможных миров майнкрафта тоже конечно...
Аноним 27/08/23 Вск 17:54:57 895513 447
>>895349
>Игры давайте делайте.
Мне нравится геймдев и решать простые задачки, но полноценную игру я никогда не сделаю. Слишком много всего нужно сделать - арт, звук, левелдизайн (даже для песочницы без сюжета), потом маркетинг чтобы проект не пропал на дне интернетов... а всё зачем? Ради лайков? Чёт вообще не мотивирует.

>>895359
>Мотивации игры делать не хватает.
Всё так, даже комп включить лень...

>>895361
>Я хочу делать аддоны годота. Посоветуйте, какой бы сделать? Чего вам не хватает для пущего удобства, годаны? Оставляйте заявки ИТТ.
Я бы хотел инструмент, который графически рисует все связи между файлами проекта: tscn, tres, gd и т.д. Разумеется, не все связи можно статически узнать, если ссылка на файл образуется динамически во время выполнения игры. Но большинство ссылок в проекте статические - их можно заранее узнать. Хотелось бы видеть автоматическую диаграмму-граф с файлами и связями между ними. Тогда будет легче понять, что и куда ссылается и что от проекта отвалилось в процессе разработки (изолированные "острова" файлов, на которые нет ссылок из основной массы файлов). Я хотел сделать такой аддон сам, но мотивации не хватило. По идее, там нужно всего лишь пробежаться по всем файлам, распарсить ссылки и отобразить получившийся граф.

>>895366
>При комментировании одной линии через хоткей нужен переход на строку ниже.
Зачем? А если мне нужен переход на строчку выше? Или вообще в другой файл/вкладку? Или на N>1 строк ниже? Или вообще переход не нужен? На одну строчку вниз я и сам могу нажать стрелку на клавиатуре на автомате, даже не осознавая этого. Ненавижу, когда редактор решает за меня что-то, что потом приходится отменять/исправлять. Больше всего бесят парные скобки, которые вечно не туда вставляются или съедают уже имеющиеся скобки и всё заново вручную пересчитывать приходится - кто придумал, что автоматически ставить закрывающую скобку сразу после открывающей - это что-то хорошее? А кто придумал НЕ ставить закрывающую, если закрывающая уже есть? Вот из-за таких "интеллектуальных" фич простой Блокнот лучше любой навороченной IDE, потому что Блокнот не ставит тебе палки в колёса после каждого нажатия клавиши. Вот подсветка синтаксиса, блоков кода (линеечкой слева) и т.д. - это хорошо и полезно, а такие автоматические действия невпопад НИНУЖНЫ.
Аноним 27/08/23 Вск 19:23:58 895523 448
я вот хочу свой резидент калыч 1 делать, желательно с пошаговой тактической боевкой под дынду/спешл фолачевский
в 2д
в рпгмейкере вроде даже готовый ре инвентарь уже гуглится, но я так понял заебусь делать боевку и проще уж годот курить
и что выбирать?
Аноним 27/08/23 Вск 20:28:00 895527 449
>>895499
> Не смотри в этот список и не будет проблемы.
Не смотрю.
> А он тебе вообще нужен?
Не нужен.
> Так ведь у тебя scoop
Да, scoop у меня.
Аноним 27/08/23 Вск 20:29:02 895528 450
Аноним 27/08/23 Вск 23:52:44 895550 451
Как же хочется издаваться на itch.io, чтобы однажды увидеть счастливый донат в 10 долларов от американца в 4 часа утра потому что ему понравилась атмосфера твоей игры....

Но я заперт в РФ.
Аноним 27/08/23 Вск 23:56:36 895552 452
>>895550
Ты заперт в своей прокрастинации.
Аноним 28/08/23 Пнд 00:06:40 895553 453
>>895552
Это правда. Но я делаю игру. Просто на итче я не выведу деньги никогда.
Аноним 28/08/23 Пнд 00:18:02 895554 454
>>895550
Тебе ничего не мешает так и сделать. Вот только вывести ты 10 баксов потом не сможешь.
Аноним 28/08/23 Пнд 01:48:29 895560 455
Заработал 6 рублей. Вкат с полного ноля произошел больше месяца назад.
Аноним 28/08/23 Пнд 06:48:55 895570 456
GAL.png 110Кб, 1153x937
1153x937
>>895523
ты же в курсе, что у Godot уже давно свой asset store есть с кучей всего уже готового?
Аноним 28/08/23 Пнд 12:11:44 895586 457
>>895570
STORE
@
ПРОДАВАТЬ НЕЛЬЗЯ
Аноним 28/08/23 Пнд 13:19:53 895592 458
>>895586
Я бы задал вопрос, обязательно ли на семантическом уровне слово STORE подразумевает продажу, но это вопрос для лингвача. Такшта не будем.
Аноним 28/08/23 Пнд 13:45:27 895597 459
169321898335348[...].jpg 157Кб, 1079x1724
1079x1724
>>895592
Ну какбэ очевидно что нет.
Аноним 28/08/23 Пнд 15:07:33 895619 460
>>895528
>asset/879
1. Он не автоматический.
2. Можно только группировать файлы и всё.
3. Я знаю о нём и пробовал. Повторяю: это не то.
Аноним 28/08/23 Пнд 15:13:49 895620 461
Аноним 28/08/23 Пнд 16:56:31 895644 462
>>895620
Лепить свой надо хотя бы по той причине, что инвентарь должен взаимодействовать с другими твоими элементами, а вот посмотреть как сделаны разные моменты...
Аноним 28/08/23 Пнд 18:06:46 895652 463
>>895644
> а вот посмотреть как сделаны разные моменты
О да, там бесконечное количество вариантов. Я в прошлом году плотно интересовался темой, досконально изучил вдоль и поперёк, ознакомился с различными подходами и могу сказать, что инвентарь в общем случае это КРУД, если ты пришел в геймдев из ентерпрайза, то тебе будет вдвойне легко пилить менеджмент инвентаря.
Аноним 28/08/23 Пнд 18:37:06 895658 464
>>895652
>инвентарь в общем случае это
Массив предметов.
>inventory.append(item)
>inventory.erase(item)
>inventory.sort_custom(func(a, b): return a.name > b.name)
И т.д. Как это отображать - другой вопрос.

CRUD слишком абстрактный принцип, не?
Аноним 28/08/23 Пнд 18:42:24 895659 465
>>895592
А зря. Был бы платный - я бы возможно даже покодил для годотей что-нибудь.
Аноним 28/08/23 Пнд 18:52:26 895661 466
Делайте игры.
Аноним 28/08/23 Пнд 20:08:25 895672 467
>>895658
> Inventory.create(item)
> Inventory.read(item)
> Inventory.update(item)
> Inventory.delete(item)
> Как это отображать - другой вопрос.
Карочи, ебош интерфейс в стиле SkyUI это такой мод для скайрима. Удобнее я в жизни не видел.
Аноним 28/08/23 Пнд 23:03:48 895695 468
>>895661
Я делаю. Но тяжело. Хочется депрессию вылечить, чтобы игры больше ценить.
Аноним 29/08/23 Втр 00:57:44 895697 469
>>895499
>Зачем ты вообще в фаервол лезешь?
Надо было и зашел, что за вопрос вообще? Настраивал порт для сервиса нужного.
>Они тебе чем-то мешают?
Хз, не замерял, возможно большое количество правил тормозит, ведь системе надо их перебирать и матчить.
>>895499
>в отличие от кернел паник симулятора
Перешел на дебиан больше года, никаких проблем, кроме первых трех дней активной настройки.
>>895476
>при установке через scoop экзешник всегда будет один, но будет меняться,
Не подходит моему воркфлоу, например я люблю делать в 3.6 бете, но для джемов я беру стейбл 3.5.2, потому что на готм.ио только последний стейбл, еще естбюь в проде проект с модулями под 3.4 и никто не будет его переводить, но контент изредка еще добавляем. Еще редко бывает надо одновременно запустить старую и новую версию даижка, чтобы сравнить поведение ассета или демки, или победить в споре в интернете.
Аноним 29/08/23 Втр 01:49:48 895700 470
Что-то сделал и перестали работать все AudioStreamPlayer'ы. Я даже не заметил что я мог такого нажать, а они не работают. Если в редакторе нажать "playing" я слышу их, эти звуки есть, но в самой игре они просто перестали играть.
Годо 3.5.2
Кто-то сталкивался с таким?
Аноним 29/08/23 Втр 02:03:04 895701 471
>>895700
Внизу редактора, там где output, есть вкладка аудио. Посмотри там. Может ты на мьют поставил глобально или аудиопоток перенаправил в задницу.
Аноним 29/08/23 Втр 04:44:55 895704 472
>>895504
Да я уж понял. Спасибо. Решил пользоваться встроенным переключением поменьше. Храню все данные в ресурсах. Пока нормально, как дойду до масштабирования, там уже посмотри.
Аноним 29/08/23 Втр 05:03:32 895705 473
Хочу время на экране показывать в формате 00:00. Как-то можно это сделать легко, или нужно что-то придумывать лютое?
Аноним 29/08/23 Втр 08:07:02 895709 474
>>895705
Создаёшь лейб на экране самым верхним слоем, в процесс() меняешь текст на текущее время.
Аноним 29/08/23 Втр 08:18:54 895710 475
>>895586
>STORE
>@
>ПРОДАВАТЬ НЕЛЬЗЯ
назвал для понятности, в оригинале там даже на скрине видно Asset Library
Аноним 29/08/23 Втр 08:28:39 895711 476
>>895710
LIBRARY
@
НЕ ДАЮТ ЧИТАТЕЛЬСКИЙ БИЛЕТ
Аноним 29/08/23 Втр 11:14:38 895726 477
>>895709
Не, падажи. Я не это имел ввиду. Я имел ввиду игровое время. Оно там не двигается, пока код не скажет.
Аноним 29/08/23 Втр 11:40:05 895727 478
>>895726
Тогда в реди запускаешь таймер, и его же выводишь в процесс
Аноним 29/08/23 Втр 13:41:38 895744 479
Аноним 29/08/23 Втр 15:00:07 895754 480
У вас не было такого, когда учишься, что все вопросы/задачи итт и везде делятся на очень легкие (какая нода для этого, в интерфейсе не могу понять это итп) и очень сложные(пишу шейдер в 1000 строк где-то баг помогите, надо рассчитать сложную математику с векторами чтобы сделать реалистичные потоки ветра), а средней сложности очень мало?

Как будто есть только нубы, которые зашли месяц назад (вроде меня) и титаны, которые тут сидят 5 лет. А те кто сидят год например не показываются...
Аноним 29/08/23 Втр 15:38:36 895758 481
>>895754
Те кто сидят год заняты деланием игр. Вопросы спрашивают нубы, отвечают на них титаны. Остальные заняты. И ты давай игры делай.
Аноним 29/08/23 Втр 15:38:53 895759 482
>>895711
это общественная библиотека, там не спрашивают билетов
Аноним 29/08/23 Втр 16:45:42 895768 483
>>895754
Так может просто мидловые вопросы тебе кажутся очень сложными.
Аноним 29/08/23 Втр 16:48:37 895769 484
Аноним 29/08/23 Втр 20:45:37 895797 485
Годаны, я не нуб и более-менее имею ответ на свой вопрос. Но интересует ваше мнение, как бы вы такое реализовали, потому что, возможно, я чего-то не знаю или просто моё решение недостаточно хорошее.
Итак. 2D-персонаж собран из кусков, т.н. cutout-анимация. Анимировать было бы очень неплохо с использованием IK-цепочек. Анимации рук отдельно (под разные виды оружия), ног отдельно (под разные виды перемещения), можно независимо комбинировать. Умирая, персонаж превращается в рэгдолл и двигается по физике.
Спрашивается. Опишите в общих чертах структуру нод такого персонажа, как на ваш взгляд лучше. Ну и как бы вы выстраивали анимацию.
И да. 3.5 или 4.х? Я в четвёрке попробовал потыкать в новые ноды, которые в моём представлении должны иметь к этому всему отношение, нихуя не понял.
Аноним 29/08/23 Втр 23:09:57 895809 486
Лучше игр нет ничего. Это и самая вариативная форма искусства.
Аноним 30/08/23 Срд 02:16:15 895826 487
>>895809
Только делать сложно, блять.
Аноним 30/08/23 Срд 02:56:00 895827 488
>>895826
А другие виды искусства делать легко?
Аноним 30/08/23 Срд 03:22:23 895828 489
>>895827
Другие искусства не настолько составные из чужих искусств. А тут будь специалистом по всему. Гейм дизайнером, UX/IU дизайнером, кодером, тестером, рисовакой, 3д модельщиком, аниматором, музыкантом, звуканом, сценаристом, пиарщиком, вообще охуеть.
Аноним 30/08/23 Срд 06:24:04 895832 490
>>895828
Но большую часть этого можно просто купить или использовать бесплатные ассеты
Аноним 30/08/23 Срд 08:06:13 895836 491
>>895832
Или сгенерить сеткой, она даже фрагменты кода подскажет как писать
Аноним 30/08/23 Срд 10:21:38 895838 492
>>895672
Ну давай разберём по пунктам тобою написанное.
>Inventory.create(item)
Инвентарь не создаёт предметы, он их получает из внешнего мира или от системы крафта.
>Inventory.read(item)
Зачем тебе функция чтения, если тебе обычно нужен список всех предметов или конкретный предмет? Предметы не на диске хранятся, их не нужно читать.
>Inventory.update(item)
Инвентарь не должен заниматься модификацией предметов, это не его забота. Инвентарь - это просто контейнер, как рюкзак или сумка. Рюкзак не делает хранящуюся еду испорченной, она сама портится.
>Inventory.delete(item)
Такое возможно в некоторых играх, где много принципиально мусорного лута, там часто есть иконка мусорки для этого. Но в остальных случаях инвентарь должен отдавать предметы в руки герою или во внешний мир, а не просто удалять их из себя.

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

Короч, непонятно, зачем ты сюда CRUD тянешь...

>интерфейс в стиле SkyUI
>Удобнее я в жизни не видел
Какие-то таблички, лол. Зачем игровые движки, когда подобную игру можно сделать в экселе на формулах?
Аноним 30/08/23 Срд 10:50:07 895841 493
challenge vs sk[...].jpg 57Кб, 600x600
600x600
>>895754
>средней сложности очень мало
Щас разберём психологичненько.

Простые задачи вызывают:
- у ньюфагов апатию,
- у середнячков скуку,
- у олдфагов релаксацию.

Сложные задачи вызывают:
- у ньюфагов сильную тревогу,
- у середнячков возбуждение,
- у олдфагов состояние потока.

Средние задачи НИНУЖНЫ.
Аноним 30/08/23 Срд 11:01:27 895843 494
>>895809
>самая вариативная форма искусства
>>895827
>другие виды искусства
>>895832
>купить или использовать бесплатные ассеты
>>895836
>Или сгенерить сеткой
Ну и в чём тогда "искусство"? В расстановке по сцене готовых бесплатных ассетов и подключении к ним готовых бесплатных скриптов? 10 искусств из 10.

>>895814
>служите Аргентине
Никто никому не служит. Движок под лицензией MIT, которая позволяет использовать исходники движка в совершенно любых целях без разглашения своих модификаций. А если ты даже делишься чем-то, ты делишься в интересах всего человечества, а не какой-то отдельной страны или народа.

>отечественное Фалько Двигло
Ты сначала выложи исходники под лицензией MIT или аналогичной, а потом поговорим. Ты ведь тоже взял за основу какое-то открытое ПО, а не целиком с нуля делал, а теперь не хочешь отдавать.
Аноним 30/08/23 Срд 11:13:54 895847 495
>>895797
>Анимации рук отдельно (под разные виды оружия), ног отдельно (под разные виды перемещения), можно независимо комбинировать.
>Опишите в общих чертах структуру нод такого персонажа, как на ваш взгляд лучше.
А что тут описывать? Делаешь персонажа, делаешь отдельные анимации в AnimationPlayer, соединяешь анимации в AnimationTree как тебе угодно.
https://docs.godotengine.org/en/stable/tutorials/animation/animation_tree.html

>И да. 3.5 или 4.х?
Если хочешь за неделю слепить ассет-флип, кинуть в магазин и забыть - тогда стабильную тройку юзай.

Если планируешь несколько лет копаться с проектом мечты, тогда сразу начинай на четвёрке, потому что тройка больше развиваться не будет, а четвёрка по мере твоего копания сильно улучшится.
Аноним 30/08/23 Срд 13:41:42 895862 496
1693392103133.jpg 43Кб, 225x350
225x350
>>895814
Свали отсюда нахуй, блядь, в свой тред.
Аноним 30/08/23 Срд 15:51:15 895880 497
Сап, я ни в движках, ни в ЯП не шарю, но слышал про godot, смогу ли я опираясь на хульен уроков/курсов по godot'у понять как сделать простенькую игору в стиле платформера например?
Аноним 30/08/23 Срд 16:02:41 895884 498
image.png 22Кб, 640x314
640x314
>>895880
>смогу ли я
Гарантий нет, но попробуй.

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

Главное - не сдаваться.
Аноним 30/08/23 Срд 16:48:13 895892 499
Че делать если в мире нейронок страшно жить? Надо сделать игру: бекграунд берешь с нейронки, спрайт берешь с нейронки, музыку берешь с нейронки, какой-то нарратив и продающие тексты берешь с нейронки, даже половину кода берешь с нейронки. До этого нужна была человеческая мысль чтобы произвести эти вещи.
Аноним # OP 30/08/23 Срд 17:03:22 895893 500
>>895892
> Че делать если в мире нейронок страшно жить?
Перекатывать треды. А там уж разберешься.

Предлагайте арт для переката.
Аноним 30/08/23 Срд 17:54:55 895896 501
>>895892
А всё это собирать кто будет и придумывать что генерить?
ПЕРЕКАТ Аноним # OP 30/08/23 Срд 20:21:57 895907 502
1693416118718.jpg 13Кб, 400x400
400x400
Аноним 30/08/23 Срд 20:25:08 895909 503
>>895892
>Че делать в мире нейронок
Делать нейронку, которая делает игры вместо тебя.

>человеческая мысль
Достаточно сложная нейронка не человек? Расист!

>>895896
>А всё это собирать кто будет
Специальная нейронка-сборщик.

>придумывать что генерить
var result = ""
for i in randi() % a + b:
result += words[randi() % words.size()] + " "
return result
Аноним 31/08/23 Чтв 14:40:16 896002 504
>>895841
хуйня какая-то. У высокоскиллового сложные задачи так же вызывают фрустрацию, а не какой-то флоу. Какая то девочка психологиня просто от балды слова накидала.
Аноним 31/08/23 Чтв 14:41:55 896004 505
>>895809
Игры не искусство. В них, конечно, бывает искусство в качестве некоторых составных элементов. Например, футбол игра, но не искусство, хотя в нем есть искусство в виде логотипов на футболках, и иногда некоторые позы можно отнести к нему.
Аноним 01/09/23 Птн 12:07:19 896099 506
Flow State.jpg 54Кб, 1446x1089
1446x1089
>>896002
>девочка психологиня
https://ru.wikipedia.org/wiki/Чиксентмихайи_Михай

>У высокоскиллового сложные задачи так же вызывают фрустрацию
Согласен, не совсем корректный график. На практике состояние потока относительно - возникает, когда сложность задачи соответствует твоим навыкам. Новичок словит поток только от самых простых задач, профи словит поток только от задач, соответствующих высокому уровню его навыков, но даже профи будет испытывать стресс от сверхсложных задач, которые даже он не способен решить.

>>896004
>Игры не искусство
>футбол игра
Футбол не игра, а спорт. А вот видеоигра про футбол - это как раз искусство. Видеоигра по сути ближе к мячику, воротам, ровно подстриженному газону и т.д., тогда как в спорте "игрой" называют процесс взаимодействия, а не инструменты. Видеоигра - это не процесс, а результат деятельности творцов (программистов, художников, дизайнеров, музыкантов и т.д.), т.е. предмет искусства. Вот непосредственное использование видеоигры по прямому назначению обычно не является искусством, хотя и тут есть исключения - машиниму, летсплеи, спидраны и прочее подобное можно назвать искусством.
Аноним 01/09/23 Птн 13:36:15 896109 507
>>896099
Игра - это программа с правилами геймплея, то есть именно игра как футбол. С вкраплениями элементов искусства (картинки, музыка) которых я и не отрицал.
Аноним 01/09/23 Птн 13:37:04 896110 508
>>896099
>идеоигра по сути ближе к мячику, воротам, ровно подстриженному газону
Ну и вот мячик, ворота, газон искусством не называют же.
Аноним 03/09/23 Вск 14:26:18 896287 509
>>896099
>Футбол не игра, а спорт.
Футбол это игра, но может быть и спортом. Ведь вопрос только в том с какой целью. Ведь каждую игру можно превратить в спорт просто поставив соревновательную цель.
Аноним 03/09/23 Вск 19:38:45 896325 510
https://youtu.be/VHKAyNL7RvU

Пацаны оцените щас ещё приседания прикручу и вообще сказка будет кто хочет го ко мне в команду делаю шутер иммёрсив сим! йоооу!
Ответить в тред Ответить в тред

Check this out!

Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов