Двач.hk не отвечает.
Вы видите копию треда, сохраненную 11 сентября в 20:17.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
1690539683815.jpg547 Кб, 1903x2666
Godot #37 # OP 890164 В конец треда | Веб
Добро пожаловать в тред любви, взаимопомощи и сверхкороткой шапки!

Шапка: https://hipolink.me/godothread

Предыдущий: >>882096 (OP)

Архивный: >>873235 (OP)
2 890166
>>0164 (OP)
Как-то в этот раз неудачно перекатил. Ну да ладно.
3 890169
Игры-то делаете?
4 890171
>>0169
Ну дя....
5 890174
>>0169
Да.
6 890178
>>890009 →

>Ты уверен, что сеттинг "тян в армии" будет популярен у твоей целевой аудитории (дрочеров)? Или ты сам дрочишь на тян в униформе? Иначе не понимаю, зачем нужен именно такой сеттинг...


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

>Не вижу в нём "шлюхосим". Секс-то будет вообще?


Да.
7 890190
>>0178

>Да "дрочерам" только дай подрочить


Это было бы верно в 90-х с распространением порноигр на дискетах среди знакомых, а не в эпоху неограниченного доступа в интернет...

>Моя целевая аудитория это - преимущественно я сам


Тогда ладно, просто любопытно было.

>так как делаю говно, а не игры.


С таким настроем развиваться тяжелее.

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


Тут полностью согласен.
8 890204
>>0190

>Это было бы верно в 90-х с распространением порноигр на дискетах среди знакомых


Кринж

>а не в эпоху неограниченного доступа в интернет...


Толку от этого, если информации стало больше, но не очень? Все любители порноигр только и ждут обновления игр и скучают по новенькому.
9 890207
Хуй с порноигрой прав. Востребованный жанр, особенно если интерактив и сюжет накинуть, то и качество самой порнухи не так важно. Кумеры эт пиздец.
10 890234
>>0207
А как заработать на этом если сейчас ни патреона, ни даже стима?

Кстати, моральный вопрос: я бы постеснялся выкладывать порноигру в стим со своего основного аккаунта. Типа там же мои данные, имя и связанный счет.
11 890237
>>0207
Самый пиздец это фурри, там основные деньги
>>0234
Выкладывать порноигру это в принципе задачка, учитывая законы
12 890288
>>0204

>информации стало больше, но не очень


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

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


Что там "новенького"-то?

>Ого, эту default_woman_01.obj натягивает на свой дрын default_man_01.obj, охренеть, дайте две!!


Так, что ли? Банальщина...

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

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

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

Лол, повторяют одни и те же позы из раза в раз, хотя казалось бы - открой Камасутру и выбирай что-то наименее заезженное, нет, выбирают самые банальные, затраханные до дыр позы...
13 890311
Че по визуальному программированию в годо?
14 890326
>>0311
Удалено за ненадобностью - судя по статистике оно нахуй никому не нужно оказалось. Возможно переработают и вернут однажды, но это не точно.
15 890330
Как же сложно делать игры.
16 890337
>>0330
Упрощай.
17 890340
Еще 2 дня проебал не открывая туториалы :((((
18 890467
>>0326
Жоско. Придётся учить не понятное пограмирование. Ну хотя бы все остальное в движке довольно просто освоилось
19 890479
>>0467
GDScript максимально прост, два шага от псевдокода.
20 890481
>>0479
А если вообще нет опыта
21 890552
Была инфа, когда на 4 билд в мобилки подвезут?
22 890562
>>0552
Завтра в 3
23 890665
>>0481
Даже визуальное программирование - всё равно программирование, ты по сути всё равно описываешь что откуда взять и что с этим сделать.
Оно не делает получение результата принципиально проще.
24 890679
>>0665
Этого двачую. У меня тут есть соседний тред визуального программирования для детей (scratch/snap) и там я начинал делать транскомпилер, который бы выдавал код на гдскрипте из блоков визуального кода ( >>833827 → ), но лень матушка помогла мне осознать, что занятие это бессмысленное и безблагодатное (ну еще анон мудрый обрисовал мне грамотно весь фронт работ предстоящих). А так-то у меня пакрасате было. В специальный блок накидываешь блоки и формируешь готовый скрипт одним кликом мышки.

Карочи, не усложняйте себе жизнь и учите ЯПы. Визуальный кодинг - это игрушка дьявола, ежжы.
25 890713
>>0665
Ладно, хуй с ним. С чего начать учение языка?
26 890714
Снилось что у меня живет Годоття, и я ее гладил по ее шестеренкам.
27 890718
>>0467
Я когда на рпгме работал просто ахуел от невозможности понимать js. Представляю какая каша в визуале. Код свой нужно от и до понимать (практически), а то заебёшся новые фичи вводить и дебагать.
>>0679

>Визуальный кодинг - это игрушка дьявола, ежжы.


Двачую.
>>0713
Я так учил. Есть гайд на ютубе "Пилим свою акшин рпг", там практически вся база и для тренировки само то. Потом начинаешь уже свои хотелки кодить. Если что-то не понятно, то гуглиш и спрашиваешь в этом треде. Сам гдскрипт не сложный и из моего опыта не столько нужно сам язык знать, сколько как его применить. Я в программировании около нулевой, но пока что работать в годоте довольно приятно и без всяких вижуалов.
28 890727
>>0164 (OP)
Можно как-нибудь в годоте установить фокус на ноду через код, будто я кликнул на неё мышкой?
29 890736
>>0727
Типа как на кнопку? У кнопок есть grab_focus.
30 890985
>>0718
Спасибо, почекаю
31 891001
>>0164 (OP)
Здравствуйте, я Кирилл.
Хочу создать ТДшку со подачей стори ВН-стайл.
Там должен бегать рабочий и строить башенки, а злые будут набигать и убивать рабочего и башенки. Причем злые должны быть заскриптованы - одни в приоритете убивают рабочего, другие - башенки.
А еще там должна быть охрана дворца, которая помогает защищать строящиеся башенки. И техдрево для рабочего и злых.
Накидайте туториалов, джвадцать лет жду такую игру.
32 891049
Почти все нравится в годоте, но зачем они скопировали синтаксис для gdscript из ебучего питона? После жс, котлина и шарпа это такая поебота. Каждый раз ебусь с этими отступами когда надо скопипастить блоки кода, каждую строку приходится перепроверять чтобы там что-нибудь не ебнулось с иерархией. Удаляешь один иф - и все по пизде пошло. Переносишь логику в отдельный метод - будь добр пересчитать невидимые табы. Когда есть {} то вообще похкй на такие недопроблемы. В питоне так сделали потому что изначально это был недоязык для маленьких скриптиков.
33 891056
>>1049
Вы получаете первое предупреждение.
Движкосрач в отдельном треде.
34 891197
Чем принципиально отличается понятие "визуальное программирование" от того что в годоте сейчас? Типа в годоте ты же визуально видишь классы (которые заранее за тебя сделаны) в дереве, видишь что к чему прицеплено, визуально видишь что где наследуется...
35 891209
>>1197
Визуальное программирование это когда не пишешь ни одной строчки кода, не надо даже знать что такое класс, это хорошо реализовано в UE5 на блюпринтах. VisualScript из годота выпиливают и правильно делают, поддерживать это говно слишком дорого и профита минимум.
36 891358
Делаю игру, вижу на реддите или просто где-то игру в моем же жанре, но просто которая сделана нормально и не уебищно как у меня и расстраиваюсь.
1690832528898.png205 Кб, 400x375
37 891389
>>1197
Визуальное программирование - это когда блок-схему рисуешь вместо печатания слов.
38 891452
Привет, ребята. Начал делать свой крутой иммёрсив сим шутер от первого лица. Вот то что пока сделано(естественно это всё не финальные варианты) и то что ещё делается. Сегодня уже сделал скрипт игрока но не разобрался как сделать шоб камера крутилась когда мышкой крутишь и из-за этого ходить назад можно только вслепую. И ещё не знаю как прыжок реализовать.

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

>>1469
Вполне. В 4 заебатую навигацию еще сделали.
41 891482
>>1476
В шарпе некоторые вещи удобнее, например те же несколько классов в одном файле
42 891515
>>1482

> несколько классов в одном файле


Гдскрипт может. С оговоpками конечно, но может.
43 891557
>>1482
Сколько раз сталкивался, в итоге все равно приходилось выносить класс в отдельный файл. Просто потому, что обычно это сущность которая нужна и из других классов.
Но как написал анон выше, в гдскрипте тоже можно ограниченно писать классы в одном файле.
class_name MainClass
extends Node

bla_bla

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

var objA: ClassA
44 891582
Надо сделать игру: ничего не знаю, просто по очереди гуглю вообще ВСЁ:
Как сделать так чтобы ходить, как сделать так чтобы спавнился прожектайл, как решить то, сё. И все гуглится. И игра сделалась просто по гуглу каждого момента. В чем минусы такой стратегии?
45 891584
>>1582
В том, что однажды не найдешь готовых решений, либо не сможешь склеить их в кучу.
46 891591
>>1584
А если я учусь и не добавляю код, если четко не понимаю, что он делает?
47 891745
>>1557

> обычно это сущность которая нужна и из других классов


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

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


Если я учусь, я создаю учебный проект, который не жалко стереть. Добавляю в него код, который я не знаю что делает, смотрю, что он делает, и после этого знаю, что код делает.
Кроме того, в большинстве случаев код самодокументируем, одного взгляда на него достаточно, чтобы узнать, что он делает.
49 891841
>>1049

>зачем они скопировали синтаксис для 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 может отформатировать твою портянку говнокода вместо тебя, но большинство говнокодеров даже не могут найти шорткат для этой функции.

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

>зачем они скопировали синтаксис для 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 может отформатировать твою портянку говнокода вместо тебя, но большинство говнокодеров даже не могут найти шорткат для этой функции.

Тоже раньше с подозрением относился к значимым отступам в коде, но теперь понимаю их важность.
50 891843
>>1841
Алсо, добавлю, что 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;


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

>>1056

>Движкосрач


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

Особенно это касается новичков, которые только научились код печатать, но не шарят во всей теоретической базе программирования.
51 891844
>>1841

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


Решительно двачую. Копи/пасте должно работать только на уровне файловой системы. Ранее написанный код всем файлом целиком копипастится в нужную директорию и там подключается, и не требует каких-либо внутренних переделок. Это и есть модульность, а не эти вот копипастинги портянок кода из метода в метод.
52 891850
>>1557

>выносить класс в отдельный файл.


>сущность которая нужна и из других классов.


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

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

Это, вроде бы, похоже на обращение к enum.
53 891851
>>1582

>В чем минусы такой стратегии?


1. В уроках из интернета часто грубый код, не оптимальный, годный только для обучения.
2. Конкретно твоя игра может требовать некие оптимизации, тогда как учебный код сделан для максимально общего случая.
3. Как уже сказали, ты можешь придумать то, чего в интернете в готовом виде нет. А у тебя нет навыка самостоятельного решения задач, потому что ты не создаёшь своим умом, а копипастишь.
4. Даже если ты понимаешь свою копипасту и запоминаешь все функции API движка, у тебя не формируется навыков решения задач в общем случае. Сейчас ты выучил только "если есть проблема, нужно загуглить и скопировать код".

Ну и по мелочи, вроде устаревшего кода в старых туториалах, вопросов лицензирования в случае достаточно крупных фрагментов кода и т.д.
54 891852
>>1850
Кстати да, модификаторов доступа тонет. Теоретически ничто не мешает сделать инстанс внутреннего класса из инстанса родительского класса, а может даже и из имени класса даже без инстанса.
55 891854
>>1852
Усё работает!
56 891856
>>1854
Нашёл вот такое обсуждение, где это упоминают:
https://github.com/godotengine/godot-proposals/issues/240#issuecomment-555785392
screenshot.png97 Кб, 1108x875
57 891874
>>1389

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


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

>>1209

>Визуальное программирование это когда не пишешь ни одной строчки кода, не надо даже знать что такое класс


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

>>1197

>Чем принципиально отличается понятие "визуальное программирование" от того что в годоте сейчас?


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

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

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

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

На пикриле ответ поисковика на базе ИИ. До чего дошёл прогресс!
screenshot.png97 Кб, 1108x875
57 891874
>>1389

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


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

>>1209

>Визуальное программирование это когда не пишешь ни одной строчки кода, не надо даже знать что такое класс


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

>>1197

>Чем принципиально отличается понятие "визуальное программирование" от того что в годоте сейчас?


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

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

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

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

На пикриле ответ поисковика на базе ИИ. До чего дошёл прогресс!
58 891884
Можно ли пихать функцию сохранения в _process? Не взорвется ли компьютер играющего от того что каждый фрейм сохраняется игра? Делаю мобилку.
59 891912
>>1884
В процесс слишком часто. Каждые пять-десять-шестьдесят секунд не вариант?
60 891917
>>1912
У меня было 3 секунды и модер не пропустил на яндексе, типа он обновил и у него сбросились 3 секунды прогресса.
61 891918
>>1884

>Можно ли пихать функцию сохранения в _process?


Очевидно, что нет, потому что тогда 60+ раз в секунду будет происходить обращение к функциям ОС для записи на диск, что в принципе медленно и глючно даже с SSD, не говоря уж о медленном чипе памяти на мобилках. Кроме того, ты впустую расходуешь ресурс накопителя пользователя, что особенно существенно на мобилках, где зачастую нет возможности балансировать износ ячеек, а ещё сохранение в твоей игре рискует испортиться 60+ раз в секунду, т.е. тебе каждый раз нужно создавать резервную копию и делать операции создания, удаления и переименования файлов. А если у пользователя дисплей выдаёт 120 кадров в секунду (такие бывают даже на мобилках) или он отключит у себя вертикальную синхронизацию, то твоя операция сохранения будет происходить ещё чаще.

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

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

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

В первую очередь заботься о том, чтобы было интересно играть (геймдизайн), во вторую - чтобы играть было приятно (не было тормозов и багов), а все эти хитрожопые костыли можешь выкинуть.
54884original.jpg91 Кб, 512x512
62 891919
>>1917

>модер не пропустил на яндексе


>у него сбросились 3 секунды прогресса


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

Возможно, у тебя просто функция сохранения совсем не работает и ты неправильно понял ответ модератора.
63 891926
>>1917
Сохранять прогресс нужно не по таймеру, а по событиям. Каждый "прогрессирующий" объект в игре должен уметь испускать сигнал (порождать событие) при котором игра автосохраняется.
64 891930
>>1926

>Каждый "прогрессирующий" объект в игре должен уметь испускать сигнал (порождать событие) при котором игра автосохраняется.


Это работает только если таких событий мало, а все остальные события сохранять не нужно. Если событий для сохранения много каждую секунду, рациональнее сохранять по таймеру.
1691001266902.jpg9 Кб, 288x175
65 891942
>>1930

> Если событий для сохранения много каждую секунду


Ну тогда наслаждайся отказами.
66 891959
>>0164 (OP)
Кто-нить итт вообще создал хоть что-то на голове готовое на продакшн?
67 891970
>>1959
Кто-то наверняка создавал, но нужно быть титаническим олдом типа гологеймса, чтобы осмелиться показать свой релиз двачерам.
68 891971
>>1959
Смотря какого уровня. Я делаю мобильные кликалки и зарабатываю ими себе на пивас. На днях, надеюсь, третью рожу.
69 891982
НАТКНУЛСЯ НА СЕКС-МОД НА МАЙНКРАФТ
@
ЗАХОТЕЛ СДЕЛАТЬ СВОЙ МАЙНКРАФТ
@
С ГОДОТОМ И ШЛЮХАМИ


>>1926

>прогрессирующий объект в игре


>>1942

>наслаждайся отказами


В майнкрафте будешь перезаписывать весь чанк на диске после каждого добавления/удаления блока?
эх.jpg57 Кб, 500x672
70 891983
>>1959

>создал хоть что-то в голове


В голове - создал. А что?
71 891994
Как же много времени уходит на геймдев. Если ты соло разработчик, то натурально приходится ебашить практически всё свободное время и при этом один хрен ДОЛГА. Вот сейчас мне нужно ассетов нарисовать (картинок в сцены) и тут просто по времени выходит адово, при том, что сами картинки получаются "ну такое себе". И это "ну такое себе" около 6 часов занимает. Как я должен и работать и игру делать одновременно? Конечно это занимает миллион времени чисто до прототипа дотянуть и понять, что это говно.
72 891996
>>1994
Почему не брать ассеты бесплатные с итч.ио? Они же по открытой лицензии.
73 891997
>>1996
Музыку беру (я сам пробовал писать, но только две бшки выдавил и понял, что + музыка и я просто не потяну всё это по времени). Остальное там не получится взять из-за того как графически выглядит игра (задники и ростовые спрайты персонажей). Заказать кому-то тоже не вариант, так-как я нищий бомж. Да и не хочу деньги тратить на то, что 90% не окупится. Плюс художник может помереть или ещё что и тогда вообще пиздец.
74 892003
>>1994
Ну а ты думал, почему всякие Тоади и Крисы Ханты десятилетия делают свои проекты?
75 892025
>>1982

> В майнкрафте будешь перезаписывать весь чанк на диске после каждого добавления/удаления блока?


Буду.
А что конкретно тебя смущает? Операции добавления блоков делает игрок ЗНАЧИТЕЛЬНО МЕДЛЕННЕЕ, чем компьютер обновляет экран.

Хорошо, я уточню ещё один момент, неочевидный, который вроде как не упоминался в этом дискассе (но мы его не раз обсуждали в прошлых тредах).
Сохранение состоит из двух частей:
1. Формирование массива данных для сохранения игры, производится в памяти, точнее в переменной. Множество автономных агентов сохранения отправляют свои данные в этот массив, через событийную (сигнальную) модель/парадигму, и это легко обрабатывается движком.
2. Запись актуального массива данных в сейв-файл на диске. Эта операция дорогостояща и выполняется по таймеру, раз в секунду, например. Менеджер сохранения должен уметь блокировать или приостанавливать запросы на добавление данных по п.1. во время записи файла.
76 892026
>>1994

> при том, что сами картинки получаются "ну такое себе". И это "ну такое себе" около 6 часов занимает. Как я должен и работать и игру делать одновременно?


Рисуй не просто "ну такое себе", рисуй примитивное говнище уровня детсадовских каракуль. И лабай на этом прототип. Потом если прототип окажется годный, привлечёшь спонсоров с баблом, на бабло наймёшь художника.
77 892034
>>1994
Снижай масштаб своих идей. Лучше сделать 3-4 законченных минималистичных игры, каждая из которых лучше предыдущей, чем 1 долгострой, на который никто не посмотрит.
78 892036
>>2003
Так вот в том-то и дело. Я знаю что разраб Stardew Valley, по моему, чисто сидел на шее у своей девушке и игру делал.
>>2026
Да я знаю, но. Во-первых с таким прототипом как я делаю инвесторов хуй будет. Да и потенциальная прибыль как бы такая какая планируется никого не заинтересует. Во-вторых да нужно было бы с каракуль начать, чтоб чисто код потрогать и геймплей обкатать, но я уже покодил менюшки, устал от кода чуть-чуть и мне захотелось на что-нибудь другое переключится. Переключился на рисование картинок. И вот если каракули буду рисовать, то удовольствия мало.
>>2034
Да я и так уже. Решил просто мини-игру пока сделать для игры, а там дальше посмотрим.
Я на прошлом проекте обосрался по полной с амбициями своими. Думал всякого сделаю, оказалось на всякое нужно миллион времени. В итоге случился лютый обосрамс. Но хоть опыт получил. Я же был совсем ещё нулёвый, а сейчас нулёвый +. Планирую разбить всю разработку на такие вот мини-игры и пилить потихоньку.
загруженное.png64 Кб, 705x310
79 892082
>>1452

>крутой иммёрсив сим шутер от первого лица


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

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

>как сделать шоб камера крутилась


Есть разные способы, в зависимости от того, что тебе нужно получить в результате.

>не знаю как прыжок реализовать


Почти в каждом туториале по чарактер контроллеру прыжок подробно разбирается.

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


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

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


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

>лучше идут дела с С# в Юнити чем с ГДскриптом


GDScript удобнее, чем C# (и в Godot, и в Unity).

>дизайнеров интерфейса


Ты сначала игру сделай, дизайнер. Зачем тебе меню с настройками размера экрана (полнейший атавизм в современных играх, не считая труъ-пиксель-ретро дроча на Ъъъ-разрешение 320х240 в окошке), если у тебя игры даже в зачаточном состоянии нет? Да даже грубого прототипа основных механик нет. Алсо, модели с текстурами ты тоже раньше времени начал пилить, у тебя даже чарактер контроллера толком нет, а ты уже какие-то домики лепишь, зачем? В тренчбруме, лол, ты в кваку 20 лет карты пилил, прежде чем решил игру сделать? Не обижайся, все делают подобные организационные ошибки в самом начале, пытаясь делать декоративные детали раньше фундаментальных. Сделай сначала играбельный прототип на уровнях из CSGBox без текстур, только потом поговорим о том, какие модели тебе нужны.
загруженное.png64 Кб, 705x310
79 892082
>>1452

>крутой иммёрсив сим шутер от первого лица


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

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

>как сделать шоб камера крутилась


Есть разные способы, в зависимости от того, что тебе нужно получить в результате.

>не знаю как прыжок реализовать


Почти в каждом туториале по чарактер контроллеру прыжок подробно разбирается.

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


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

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


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

>лучше идут дела с С# в Юнити чем с ГДскриптом


GDScript удобнее, чем C# (и в Godot, и в Unity).

>дизайнеров интерфейса


Ты сначала игру сделай, дизайнер. Зачем тебе меню с настройками размера экрана (полнейший атавизм в современных играх, не считая труъ-пиксель-ретро дроча на Ъъъ-разрешение 320х240 в окошке), если у тебя игры даже в зачаточном состоянии нет? Да даже грубого прототипа основных механик нет. Алсо, модели с текстурами ты тоже раньше времени начал пилить, у тебя даже чарактер контроллера толком нет, а ты уже какие-то домики лепишь, зачем? В тренчбруме, лол, ты в кваку 20 лет карты пилил, прежде чем решил игру сделать? Не обижайся, все делают подобные организационные ошибки в самом начале, пытаясь делать декоративные детали раньше фундаментальных. Сделай сначала играбельный прототип на уровнях из CSGBox без текстур, только потом поговорим о том, какие модели тебе нужны.
80 892093
>>2025

>Операции добавления блоков делает игрок ЗНАЧИТЕЛЬНО МЕДЛЕННЕЕ, чем компьютер обновляет экран.


При чём тут экран? Игрок может спамить блоки со скоростью несколько блоков в секунду. А динамит уничтожает сразу десятки блоков. Даже если ты сделаешь всего одно сохранение на взрыв одного динамита, игрок просто наспавнит сотни блоков динамита и взорвёт только один, а остальные будут взрываться с интервалом в доли секунды. Ещё есть поршни, которые меняют блоки в чанках, и способны давать нагрузку больше динамита. Рельсы можно переключать, дверьми хлопать и т.д., всё это можно назвать "прогрессом" и всё это может происходить много раз в секунду.

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

>Формирование массива данных для сохранения игры, производится в памяти


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

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

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


Лол, сам понимаешь, что операция дорогостоящая, но предлагаешь теребить диск каждую секунду?

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

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

Ну и т.к. мы говорим про мобильные игры, я уверен, что лишние операции с диском излишне нагружают процессор, повышая температуру и ускоряя разряд аккумулятора. Слишком большая цена для игрока ради 1-5 минут геймплея в какой-то гиперказуалке.
80 892093
>>2025

>Операции добавления блоков делает игрок ЗНАЧИТЕЛЬНО МЕДЛЕННЕЕ, чем компьютер обновляет экран.


При чём тут экран? Игрок может спамить блоки со скоростью несколько блоков в секунду. А динамит уничтожает сразу десятки блоков. Даже если ты сделаешь всего одно сохранение на взрыв одного динамита, игрок просто наспавнит сотни блоков динамита и взорвёт только один, а остальные будут взрываться с интервалом в доли секунды. Ещё есть поршни, которые меняют блоки в чанках, и способны давать нагрузку больше динамита. Рельсы можно переключать, дверьми хлопать и т.д., всё это можно назвать "прогрессом" и всё это может происходить много раз в секунду.

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

>Формирование массива данных для сохранения игры, производится в памяти


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

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

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


Лол, сам понимаешь, что операция дорогостоящая, но предлагаешь теребить диск каждую секунду?

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

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

Ну и т.к. мы говорим про мобильные игры, я уверен, что лишние операции с диском излишне нагружают процессор, повышая температуру и ускоряя разряд аккумулятора. Слишком большая цена для игрока ради 1-5 минут геймплея в какой-то гиперказуалке.
81 892098
>>2082

>GDScript удобнее, чем C#


Лол, чем?
82 892116
GDScript есть в Юнити?
83 892122
>>1994

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


Жалуешься на время - значит, геймдев - не твоё.

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

>нужно ассетов нарисовать


>чисто до прототипа дотянуть


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

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

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

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

>картинки получаются "ну такое себе". И это "ну такое себе" около 6 часов занимает.


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

>>2036

>с таким прототипом как я делаю инвесторов


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

>Да и потенциальная прибыль как бы такая какая планируется никого не заинтересует.


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

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


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

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

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


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

Конечно, если у тебя не симулятор ходьбы, в котором всё удовольствие от рассматривания картинок...
83 892122
>>1994

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


Жалуешься на время - значит, геймдев - не твоё.

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

>нужно ассетов нарисовать


>чисто до прототипа дотянуть


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

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

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

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

>картинки получаются "ну такое себе". И это "ну такое себе" около 6 часов занимает.


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

>>2036

>с таким прототипом как я делаю инвесторов


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

>Да и потенциальная прибыль как бы такая какая планируется никого не заинтересует.


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

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


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

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

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


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

Конечно, если у тебя не симулятор ходьбы, в котором всё удовольствие от рассматривания картинок...
84 892151
>>2093

> При чём тут экран?


Потому что главный цикл игрового приложения, это цикл обновления экрана. Дальнейшее не читал, уж извини. Иди учи матчасть. Майнкрафтер. блять.
85 892154
>>1959
Ты издатель? Если нет, к чему вопрос?
86 892155
Есть годные туторы по коду на русском?
87 892156
>>1917
Ну это чушь. Либо пишешь ему аппеляцию что сейвы опциональны по их же правилам. Либо у тебя непонятно работает сейв и это действительно откат, тогда делай как все современные - чекпоинты или главы, миссии. Чтобы было ЯВНО видно игроку и модеру, что вот в этой точке был сейв.
88 892192
>>2155
Stepik курс по питону, потом сходу поймёшь гдскрипт
89 892227
>>2192
Степик, плиз.
test.png1,6 Мб, 3840x2160
90 892245
>>2122

>Жалуешься на время - значит, геймдев - не твоё.


>Если тебе не нравится делать игру, зачем себя заставлять?


Мне нравится делать игру. Я так просто поныть решил. У меня стаж геймдева 2 года. Если бы мне нравилось я бы уже бросил давно. Я же не дурак тратить столько времени на то, что мне не нравится.

>тебе уже сказали, но ты всё неправильно делаешь.


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

>Можешь показать пример того, что выходит?


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

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


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

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


Да там совсем порно. Тут как бы да. Плюс игра не большая, а то, над чем сейчас работаю и вовсе маленькое.

>Если заранее знаешь, что проект провальный, зачем тогда его вообще начинать?


Ну я не знаю наверняка. В голове звучит не плохо. Я просто пессимист и нытик. А ещё есть опыт обосрамса.

>Лол, у тебя там какие-то монструозные менюшки с десятком уровней вложенности и сотнями кнопок?


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


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

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


Ну с моего опыта сложно сказать, но так-то да. Я бы не сказал что было прям сложно. Я просто тупил.

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


Бля. Кто-то делает игры чтобы в них потом играть? Я просто когда прошлую делал до того её затёр, что там пиздец. >Конечно, если у тебя не симулятор ходьбы, в котором всё удовольствие от рассматривания картинок...
Так вот в том-то и дело. Картинки важны очень в моей идее. И особенно в первом этапе этой идеи. Вот когда/если дойду до второго этапа, то там уже буду именно на кубах геймплей тестить.
test.png1,6 Мб, 3840x2160
90 892245
>>2122

>Жалуешься на время - значит, геймдев - не твоё.


>Если тебе не нравится делать игру, зачем себя заставлять?


Мне нравится делать игру. Я так просто поныть решил. У меня стаж геймдева 2 года. Если бы мне нравилось я бы уже бросил давно. Я же не дурак тратить столько времени на то, что мне не нравится.

>тебе уже сказали, но ты всё неправильно делаешь.


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

>Можешь показать пример того, что выходит?


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

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


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

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


Да там совсем порно. Тут как бы да. Плюс игра не большая, а то, над чем сейчас работаю и вовсе маленькое.

>Если заранее знаешь, что проект провальный, зачем тогда его вообще начинать?


Ну я не знаю наверняка. В голове звучит не плохо. Я просто пессимист и нытик. А ещё есть опыт обосрамса.

>Лол, у тебя там какие-то монструозные менюшки с десятком уровней вложенности и сотнями кнопок?


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


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

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


Ну с моего опыта сложно сказать, но так-то да. Я бы не сказал что было прям сложно. Я просто тупил.

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


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

>Пик. Это я рисовал для себя.


Красиво. Если тратишь много времени на одну линию из-за неточности (часто нажимаешь ctrl+z), попробуй векторный редактор (Inkscape норм) - там любую линию легко поправить и легко добиться чёткого, гладкого лайн-арта. В растровых редакторах векторные слои часто очень ограниченные и не раскрывают весь потенциал векторной графики.

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

>Я просто пессимист и нытик. А ещё есть опыт обосрамса.


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

>Оружие, броня, потребляемое. Каждое со своими характеристиками. Эти характеристики должны выводится в инвентаре и в магазе.


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

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

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

>Кто-то делает игры чтобы в них потом играть?


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

>Картинки важны очень в моей идее.


У тебя там, случайно, не симулятор свиданий?

Удачи в разработке. Главное - не выгореть.
91 892249
>>2245

>Пик. Это я рисовал для себя.


Красиво. Если тратишь много времени на одну линию из-за неточности (часто нажимаешь ctrl+z), попробуй векторный редактор (Inkscape норм) - там любую линию легко поправить и легко добиться чёткого, гладкого лайн-арта. В растровых редакторах векторные слои часто очень ограниченные и не раскрывают весь потенциал векторной графики.

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

>Я просто пессимист и нытик. А ещё есть опыт обосрамса.


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

>Оружие, броня, потребляемое. Каждое со своими характеристиками. Эти характеристики должны выводится в инвентаре и в магазе.


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

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

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

>Кто-то делает игры чтобы в них потом играть?


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

>Картинки важны очень в моей идее.


У тебя там, случайно, не симулятор свиданий?

Удачи в разработке. Главное - не выгореть.
92 892254
>>2249

>Красиво.


Спасибо.

>попробуй векторный редактор (Inkscape норм)


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

>Но ты не сдался и продолжаешь работать, молодец.


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

>Делается универсальная система, а дальше просто описываешь предметы через tres ресурсы Godot.


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

>Тем более тебе всё равно в неё играть, если не хочешь, чтобы игроки жаловались на банальнейшие баги.


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

>У тебя там, случайно, не симулятор свиданий?


Не. Но близко. Я школьником был, прочитал Цукихиме и такой: "нихуя себе". Потом прочитал фейт и такой: "НИХУЯ СЕБЕ А ТАК МОЖНО БЫЛО!?". У меня была идея ещё тогда что-то подобное сделать, но даже мой куцый умишко школяра понимал, что писать по сюжету я не вывезу. Так что спустя около 7 лет решил всё таки что-то сделать, но с гейплеем, чтоб не так на нарратив полагаться. В итоге первая попытка оказалась не очень, но у меня теперь опыт есть.

>Удачи в разработке. Главное - не выгореть.


Спасибо. Удачи и тебе. Выгорания пиздец это. Лютая вещь.
92 892254
>>2249

>Красиво.


Спасибо.

>попробуй векторный редактор (Inkscape норм)


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

>Но ты не сдался и продолжаешь работать, молодец.


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

>Делается универсальная система, а дальше просто описываешь предметы через tres ресурсы Godot.


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

>Тем более тебе всё равно в неё играть, если не хочешь, чтобы игроки жаловались на банальнейшие баги.


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

>У тебя там, случайно, не симулятор свиданий?


Не. Но близко. Я школьником был, прочитал Цукихиме и такой: "нихуя себе". Потом прочитал фейт и такой: "НИХУЯ СЕБЕ А ТАК МОЖНО БЫЛО!?". У меня была идея ещё тогда что-то подобное сделать, но даже мой куцый умишко школяра понимал, что писать по сюжету я не вывезу. Так что спустя около 7 лет решил всё таки что-то сделать, но с гейплеем, чтоб не так на нарратив полагаться. В итоге первая попытка оказалась не очень, но у меня теперь опыт есть.

>Удачи в разработке. Главное - не выгореть.


Спасибо. Удачи и тебе. Выгорания пиздец это. Лютая вещь.
93 892282
Я ещё в самом начале пути, но я выгораю уже после того, как мне надо сделать хотя бы одну реальную задачу. Типа сделать инвентарь какой-то простой, или нарисовать (или даже выбрать из ассетов) фон и иконки. После каждой задачи чувствую себя опустошенным и нужен хотя бы день чтобы отойти. Годы депрессии уничтожили нервную систему...
94 892285
>>2282

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


Вероятно, ты берёшь на себя слишком комплексную задачу, пытаясь решить её в один присест. Разбивай её на части, и решай эти части как индивидуальные задачи. Составляй план и отмечай выполненное.
https://ru.wikipedia.org/wiki/Декомпозиция
https://ru.wikipedia.org/wiki/Диаграмма_связей

Скажем, вместо

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


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

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

>нужен хотя бы день чтобы отойти


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

>Годы депрессии уничтожили нервную систему


С этим к врачам обращайся.
95 892306
>>2254

>линии в растре и это просто жопа


>это просто у меня такой скилл низкий


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

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

>векторный слой


>пытаюсь линию поправить у меня компьютер нах умирает от того сколько там точек в линии


Krita? Там почему-то очень много точек создаётся.

>Попробую Inkscape, надеюсь там лучше


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

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

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

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

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

>А что ещё остаётся? Я не могу просто сидеть на жопе и ничего не делать.


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

>Но ресурсы это топ конечно. Я когда с ними стал разбираться мне очень понравилось как всё удобно и на сколько они облегчают работу.


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

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


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

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

>первая попытка оказалась не очень


На каком-то другом движке делал? RenPy?
95 892306
>>2254

>линии в растре и это просто жопа


>это просто у меня такой скилл низкий


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

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

>векторный слой


>пытаюсь линию поправить у меня компьютер нах умирает от того сколько там точек в линии


Krita? Там почему-то очень много точек создаётся.

>Попробую Inkscape, надеюсь там лучше


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

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

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

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

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

>А что ещё остаётся? Я не могу просто сидеть на жопе и ничего не делать.


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

>Но ресурсы это топ конечно. Я когда с ними стал разбираться мне очень понравилось как всё удобно и на сколько они облегчают работу.


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

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


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

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

>первая попытка оказалась не очень


На каком-то другом движке делал? RenPy?
96 892429
>>2192
Вот прям сходу, без малейших проблем?
97 892439
https://docs.godotengine.org/en/stable/tutorials/inputs/input_examples.html рекомендует считывать событие в _input(event) если мне нужно что-то одноразовое, а в _physics_process(delta) считывать через Input когда мне нужно длительное нажатие. Я хочу считывать нажатие как в _input, но внутри _process, потому что мне нужно считывать медленно и возвращать значение в общий цикл обработки. Какие у меня могут быть пути решения?
98 892440
>>2439

> Какие у меня могут быть пути решения?


_just_pressed_
99 892444
>>2440
Это не совсем то, я хочу чтобы если кнопка была зажата, то ивенты всё равно поступали, но медленно, как в _input
100 892446
>>2444

> медленно, как в _input


Но там не медленно. Там событийно. Событийно не значит медленно. С чего ты взял, что где-то что-то медленно? Если тебе нужны задержки, юзай таймер.
101 892449
>>2444
Ты что то странное себе напредставлял. Нажатие в _input прилетает ОДИН раз на каждое событие, а не с какой то медленной периодичностью. (Может быть, тебя вводит в заблуждение, что операционная система посылает нажатия кнопок при зажатой клавише, но это вообще то настраивается/отключается в системе)
102 892452
Если будет проще понять что я хочу, то моя цель - управление как в DCSS. Что после нажатия обрабатывается один раз, затем если кнопка всё ещё зажата, то начинается движение в ту же сторону. _input давал именно такой результат, но мне хочется чтобы функция обработки ввода возвращала значение с состоянием игры (можно обрабатывать противников/ожидание ввода/открыть инвентарь/другое). Да, можно ставить стейт и из _input, но мне не очень нравится такой подход
>>2446
Сравнительно медленно с _process. Таймер звучит не очень, но
>>2449
Да, это я как-то не учёл. Надо подумать тогда как лучше.
103 892459
>>2452
С таймерами все ок. Тебе надо ловить два события, нажатие кнопки и отпускание кнопки. На нажатии кнопки, ты посылаешь в игру команду с этой кнопкой и запускаешь "длинный" таймер. Когда он срабатывает, проверяешь, нажата ли кнопка, посылаешь в игру команду, и запускаешь "короткий" таймер. Короткий таймер делает то же самое.
Отпускание кнопки принудительно останавливает оба таймера.
Алсо, в классических рогаликах для такой ходьбы есть специальная кнопка, может быть Shift+стрелки или G, стрелки - до ближайшего "объекта интереса" или стенки.
104 892460
>>2452

> Таймер звучит не очень


Кстати, это можно тоже через отдельную стейтмашину реализовать. Например, задаём такие стейты:
enum KeyStates { Released, Pressed, Holded}
И задаём два кастомных сигнала
signal PressedOnce
signal PressedAndHold
Затем реализуем следующий алгоритм.
1. По умолчанию стейт Released.
2. Если кнопка нажата, стейт выставляется в Pressed, испускается кастомный PressedOnce сигнал и запускается таймер.
3. Если кнопка отжата, возвращаемся в Released и сбрасываем таймер, если он сам не остановился (таймер одноразовый).
4. Когда таймер выстрелил, переводим стейт в Holded и в _process либо обрабатываем удерживание клавиши, либо испускаем PressedAndHold если Holded
105 892461
>>2459
>>2460
Спасибо, буду думать, но наверно пока что оставлю говяно на _input. А то если буду слишком долго возиться слишком долго с такой относительно минорной деталью до выпуска хоть какого-то базового прототипа, когда толком ничего нет, то могу потерять мотивацию и забить вообще на проект.
106 892463
>>2461
Верное решение. Не проеби мотивацию. Как я когда-то. Сижу теперь как сыч, без игор.
107 892465
Как перестать думать о том, что игра Ерохина похожа на мою, но моя никогда не будет такой же хорошей?

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

>>2449

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


Повторное нажатие может посылать клавиатура.

>>2452

>мне хочется чтобы функция обработки ввода возвращала значение с состоянием игры (можно обрабатывать противников/ожидание ввода/открыть инвентарь/другое).


Что? Зачем? Почему? Не пойму. ИМХО, ты что-то неправильно понимаешь в работе 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.
107 892465
Как перестать думать о том, что игра Ерохина похожа на мою, но моя никогда не будет такой же хорошей?

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

>>2449

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


Повторное нажатие может посылать клавиатура.

>>2452

>мне хочется чтобы функция обработки ввода возвращала значение с состоянием игры (можно обрабатывать противников/ожидание ввода/открыть инвентарь/другое).


Что? Зачем? Почему? Не пойму. ИМХО, ты что-то неправильно понимаешь в работе 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.
108 892471
>>2465

>Как перестать думать о том, что игра Ерохина похожа на мою



Перестать об этом думать. И думать о том, как сделать, чтобы твоя была лучше ерохи.
109 892523
>>2465

>Что? Зачем? Почему?


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

> _unhandled_input


Да, я его и использую, я обозвал его _input из-за схожего принципа работы: только когда срабатывает событие, а не несколько десятков раз в секунду
110 892558
>>2523

> схожего принципа работы


В начале кадра весь инпут помечен как анхандлед. Если происходит событие инпута, сначала вызывается коллбэк _анхандлед_инпут и если инпут остался с флагом анехандлед, тогда вызывается коллбэк _инпут.
111 892574
>>2558
Ты что-то путаешь. Не путай ньюфагов.

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



>>2523

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


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

>рогалик с ецс


Как оно устроено? Дерево сцены юзабельно?
112 892580
>>2306
Да, про упражнения я знаю. Они действительно помогаю, но я уже решил теперь чисто через практику, так веселее. Планшет у меня норм. Маленький наверное, но я точно не знаю. Брал за 3,5 рубля в 18 или 19 году. Пока что он на все 100% отрабатывает. Я бы с экраном купил, но это уже с первый денег.

>Krita? Там почему-то очень много точек создаётся.


Не. Я в CSP работаю. Он так-то очень даже не плохой, но в векторе точек много, машина не выдерживает.

>Чем быстрее ведёшь, тем меньше точек.


Вот это звучит очень полезно. Да как и остальное в общем-то.

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


Есть. Но я не каждый же день по 6 часов над игрой сижу. Я бы уже дуба дал если бы так делал. На выходных в основном. Опять же бывают очень продуктивные например полтора месяца, когда я могу нон-стоп работать над игрой. Что-то около 70% процентов свободного времени. А бывают месяца, когда прям не идёт. Выгорание начинается, тогда мож 30% максимум по мелочам, но даже не смотря на такое, открываю рисовальню или код и работаю хотя бы чуть-чуть. Какие-нибудь мелкие задачи.

>В движке есть JSON


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

>Для визуальной новеллы достаточно быть писателем и художником


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

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


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

>Потом, кто твоя целевая аудитория?


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

>На каком-то другом движке делал? RenPy?


Не. На рпгме. Но там постоянная фрустрация была от того, что я вообще с движком никак работать не мог. Там же js. Если что-то нужно изменить иди меняй в родном коде написанном японцем. Там жопа была. Плюс я себе целей поставил много, я же только начинал и не знал что сколько может по времени занять. Провалил в итоге 90% из них. Лол. Да. Ну ничего. Опыт хотя бы получил. В годоте работать веселее.
112 892580
>>2306
Да, про упражнения я знаю. Они действительно помогаю, но я уже решил теперь чисто через практику, так веселее. Планшет у меня норм. Маленький наверное, но я точно не знаю. Брал за 3,5 рубля в 18 или 19 году. Пока что он на все 100% отрабатывает. Я бы с экраном купил, но это уже с первый денег.

>Krita? Там почему-то очень много точек создаётся.


Не. Я в CSP работаю. Он так-то очень даже не плохой, но в векторе точек много, машина не выдерживает.

>Чем быстрее ведёшь, тем меньше точек.


Вот это звучит очень полезно. Да как и остальное в общем-то.

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


Есть. Но я не каждый же день по 6 часов над игрой сижу. Я бы уже дуба дал если бы так делал. На выходных в основном. Опять же бывают очень продуктивные например полтора месяца, когда я могу нон-стоп работать над игрой. Что-то около 70% процентов свободного времени. А бывают месяца, когда прям не идёт. Выгорание начинается, тогда мож 30% максимум по мелочам, но даже не смотря на такое, открываю рисовальню или код и работаю хотя бы чуть-чуть. Какие-нибудь мелкие задачи.

>В движке есть JSON


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

>Для визуальной новеллы достаточно быть писателем и художником


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

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


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

>Потом, кто твоя целевая аудитория?


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

>На каком-то другом движке делал? RenPy?


Не. На рпгме. Но там постоянная фрустрация была от того, что я вообще с движком никак работать не мог. Там же js. Если что-то нужно изменить иди меняй в родном коде написанном японцем. Там жопа была. Плюс я себе целей поставил много, я же только начинал и не знал что сколько может по времени занять. Провалил в итоге 90% из них. Лол. Да. Ну ничего. Опыт хотя бы получил. В годоте работать веселее.
113 892582
>>2574

> Ты что-то путаешь.


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

> 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 не вызываются.
114 892585
>>2574

>Как оно устроено?


В качестве ецс Arch https://github.com/genaray/Arch. Решил раз либа на С#, то и всё надо на нём писать. Дерево сцены только для гуя и графических объектов. Игрок, неписи, в будущем объекты и вообще всё - энтити. Вообще, я пока следую туториалу для рогалика на расте (https://bfnightly.bracketproductions.com/rustbook/), потому что там как раз про эцс и структурированный план того что нужно делать.
115 892618
>>2582
Я не понимаю.

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

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

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

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

Что здесь не так?
116 892620
>>2580

> То есть в игре с геймплеем от тебя врядли будут ожидать историю "до слёз" или мега инструментальный саундтрек опять же "до слёз".


Метал Гиар
117 892630
>>2618
А, стоп, возможно, это я что-то путаю. Я раньше столкнулся с проблемой, когда у меня чарактер контроллер принимает ввод с клавиатуры даже если открыт чат и ввод клавиатуры предназначен только для чата. Но, возможно, это было только из-за того, что я делал Input.get_axis(), а не из-за обработчика _input? Я не помню уже. Сильно с этим помучился, но не помню, что в итоге решил сделать.
118 892672
>>0164 (OP)
3д билды на годоте тормозят, fps проседает ниже 30.
119 892688
>>2630
Короче, анон, я щас провёл тесты в движке и по тому что я увидел, выходит, что при маркировке хандледом перестают обрабатываться другие анхандледы. Хандледы же обрабатываются все равно. В общем я выше писал неверно.
Вот код и результаты теста на скринах. Выводятся только три принта. Четвёртый, из ноды А анхандлед - не выводится, потому что в ноде Б выставлен флаг и дальнейший коллбэк игнорирован.
120 892698
>>2580

>собственно с JSON так и не познакомился.


Там всё очень просто, достаточно документации:
https://docs.godotengine.org/en/stable/classes/class_json.html

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

>Ты ещё про музыку забыл.


>Текст, графоуни и звук. Одно не очень и пизда практически всему проекту.


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

>То есть в игре с геймплеем от тебя врядли будут ожидать историю "до слёз" или мега инструментальный саундтрек опять же "до слёз".


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

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

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

>если история туфта, то это всё


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

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

>Пусть я и сам порнушечник, но игру с одной лишь только порнухой делать мне скучно. Я так не смогу. За прошлый проект я понял, что сама половая тема довльно скучная. Из разряда очень скучная. А потому попробую что-то придумать в геймплейном плане.


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

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

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

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

>рпгм


Делаешь с видом сверху-сбоку как в JRPG? Вроде видел какой-то фреймворк для Godot, но меня это особо не интересовало (захочу - с нуля сделаю).
120 892698
>>2580

>собственно с JSON так и не познакомился.


Там всё очень просто, достаточно документации:
https://docs.godotengine.org/en/stable/classes/class_json.html

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

>Ты ещё про музыку забыл.


>Текст, графоуни и звук. Одно не очень и пизда практически всему проекту.


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

>То есть в игре с геймплеем от тебя врядли будут ожидать историю "до слёз" или мега инструментальный саундтрек опять же "до слёз".


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

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

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

>если история туфта, то это всё


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

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

>Пусть я и сам порнушечник, но игру с одной лишь только порнухой делать мне скучно. Я так не смогу. За прошлый проект я понял, что сама половая тема довльно скучная. Из разряда очень скучная. А потому попробую что-то придумать в геймплейном плане.


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

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

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

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

>рпгм


Делаешь с видом сверху-сбоку как в JRPG? Вроде видел какой-то фреймворк для Godot, но меня это особо не интересовало (захочу - с нуля сделаю).
121 892712
>>2688

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


О чём в документации и написано.

>Хандледы же обрабатываются


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

Как только ввод обработан, он перестает поступать в обработчик необработанного ввода. Логично? Логично. А обработчик без уточнений типа ввода обрабатывает вообще всё. Логично? Логично.
122 892717
>>2672

>3д билды на годоте тормозят


1. Опиши конфигурацию ПК (CPU, GPU, RAM, OS).
2. Какие билды используешь, где ты их взял?
3. Что в игре есть и что ты делаешь в скриптах?
4. Логи проверял? Если в логи идёт большой поток записей, движок может тормозить. Логи можно найти на диске или запустить игру через консоль.
123 892719
>>2672
Алсо, тормозит ли пустой проект с настройками по умолчанию? Некоторые настройки графики сильно повышают нагрузку. Но по умолчанию настройки должны быть достаточно производительными.
124 892730
>>2585

>вообще всё - энтити


Выглядит сложно...

>Дерево сцены только для гуя


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

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

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

Туман войны можно было бы рендерить шейдером. Каждый тайл - один пиксель текстуры. Можно даже применить фильтрацию текстуры для "мягкой тени".
125 892754
>>2730

> зачем тебе SubViewport?


Из-за тумана войны самого, в годоте я с ним боролся больше всего в свои прошлые попытки заделать рогалик (это четвёртая итерация). Я хотел бы как на гифрелетед, но она сделана челиком на второй ещё версии движка и я не разобраля и не смог адаптировать его для своего ещё на третьем годоте.
Сабвьюпорт нужен был для старой (недоделанной) системы освещения из генерации текстур в прямом эфире.
Я планирую опять сделать подход к освещению, но когда будет достаточно много наработок, чтобы быть рабочим прототипом и он своим существованием меня мотивировал. Ключ моей мотивации сейчас - постоянные успехи, без завязываний на чём либо надолго.
126 892755
>>2754
Пришлось поискать но вот тот проект с не приклеившейся гифки https://github.com/llasram/godot-visibility-demo
127 892758
>>2558
Нет, сначала вызывается input, а если же никто не обработал, тогда вызовается unhandled input. Это база блджад, иначе бы было так что сначала вызывался необработанный, и... зачем тогда вызывать другие?
Алсо любая функция может пометить ввод как обработанный вызвав set_input_as_handled.
128 892759
>>2672
Что за "билды"?
129 892803
>>2712
Логично. Впредь буду знать.
130 892804
>>2759
Скорее всего, он подразумевает собранные по шаблону экспорта экспортированные проекты. Но ХЗ, подождём, пусть сам скажет.
131 892850
GODON'T ))))))
132 892871
https://youtu.be/9NaKoUZ6cQ0
Как же красиво ребята делают...
133 892873
>>2871
И ты делой. Давай, делой игоры.
134 892874
>>2698

>Если захочешь писать какие-то данные вручную для загрузки через JSON, рекомендую взять вот это


Спасибо. Я посмотрю.

>Лично меня музыка в играх особо не волнует.


Ну ты ПИЗДЕЦ. В смысле, да, согласен. Не обязательно чтоб там прям отвал башки был. И как бы музыка может либо сильно решать и тогда огромный +, либо она просто может быть и тогда всем пофигу.

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


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

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


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

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


Ну пиздец ты. Завидую твоему ходу мысли. Видимо каждому своё. Для меня графен, конечно, тоже проблема, но я уже всё. Согласен, что он может быть большой преградой в создании внки, так-как она, как раз, ВИЗУАЛЬНАЯ НОВЕЛЛА, что как бы намекает.

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


Да я знаю. Но я не претендую на большую и серьёзную аудиторию. Хочу так просто людей повеселить, а в процессе и сам повеселится.

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


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

>Имхо, идеальный вариант - сделать обычную игру, интересную для всех (условно, с рейтингом 0+), а потом добавить в неё порнуху


Согласен. Но для такого нужно быть реальным гейм девелопером. Я себя не чувствую таковым. Опыта мало.

>Зачем вообще делать порнушную игру с геймплеем, если можно добавить порнуху в обычную игру с геймплеем?


Так вот в том-то и дело. Если есть сильная игровая база, то порнухой вряд ли получится что-то испортить. А если у тебя в игре нет элемента игры (игра говно), то тут уже всем плевать. Только самые отъявленные порнушечники в такое мучится будут.

>Делаешь с видом сверху-сбоку как в JRPG?


Да. Статик пошаг jrpgшный.

>Вроде видел какой-то фреймворк для Godot, но меня это особо не интересовало (захочу - с нуля сделаю).


Спасибо что сказал. Буду знать. Но я тож лучше с нуля поковыряюсь. Хочу разбираться в том, что делаю.
134 892874
>>2698

>Если захочешь писать какие-то данные вручную для загрузки через JSON, рекомендую взять вот это


Спасибо. Я посмотрю.

>Лично меня музыка в играх особо не волнует.


Ну ты ПИЗДЕЦ. В смысле, да, согласен. Не обязательно чтоб там прям отвал башки был. И как бы музыка может либо сильно решать и тогда огромный +, либо она просто может быть и тогда всем пофигу.

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


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

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


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

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


Ну пиздец ты. Завидую твоему ходу мысли. Видимо каждому своё. Для меня графен, конечно, тоже проблема, но я уже всё. Согласен, что он может быть большой преградой в создании внки, так-как она, как раз, ВИЗУАЛЬНАЯ НОВЕЛЛА, что как бы намекает.

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


Да я знаю. Но я не претендую на большую и серьёзную аудиторию. Хочу так просто людей повеселить, а в процессе и сам повеселится.

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


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

>Имхо, идеальный вариант - сделать обычную игру, интересную для всех (условно, с рейтингом 0+), а потом добавить в неё порнуху


Согласен. Но для такого нужно быть реальным гейм девелопером. Я себя не чувствую таковым. Опыта мало.

>Зачем вообще делать порнушную игру с геймплеем, если можно добавить порнуху в обычную игру с геймплеем?


Так вот в том-то и дело. Если есть сильная игровая база, то порнухой вряд ли получится что-то испортить. А если у тебя в игре нет элемента игры (игра говно), то тут уже всем плевать. Только самые отъявленные порнушечники в такое мучится будут.

>Делаешь с видом сверху-сбоку как в JRPG?


Да. Статик пошаг jrpgшный.

>Вроде видел какой-то фреймворк для Godot, но меня это особо не интересовало (захочу - с нуля сделаю).


Спасибо что сказал. Буду знать. Но я тож лучше с нуля поковыряюсь. Хочу разбираться в том, что делаю.
135 892937
136 892945
>>2937
На итч лей - больше народа заметит. В браузере там тоже можно.
137 893019
>>2874

>И как бы музыка может либо сильно решать и тогда огромный +, либо она просто может быть и тогда всем пофигу.


Не пофигу. Примеры из личного опыта:
1. Майнкрафт. Фоновая музыка есть и в целом она неплохая, но игра её воспроизводит как-то вообще невпопад. Можешь бегать полчаса в тишине и ВНЕЗАПНО начинается громкая музыка, вот просто так. Или музыка перекрывает реально важные звуки. Особенно бесит когда эта музыка ВНЕЗАПНО начинается в тёмной пещере, как в каком-то хорроре перед встречей с боссом. Вот только никакого босса нет, она просто так началась. В мобильной версии музыка вынесена в отдельный пакет на 300+ МБ. Поведение фоновой музыки точно такое же пугающе раздражающе рандомное. Но без этого пакета ты не сможешь услышать мелодии пластинок, которые можно в игре вставить в проигрыватель. А игра даже не предупреждает, что для работы блока нужен пакет с раздражающей фоновой музыкой, лол, ты просто смотришь на куб с вылетающими нотами и слышишь тишину.

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

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

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

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

>музыка - это вообще топ для передачи эмоций


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

>Не даром люди на всяких концертах


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

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

>красота и литературность слога


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

>Видимо каждому своё.


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

А вот с графикой всё сложнее - ты убиваешь несколько часов на одну иллюстрацию, а результат в лучшем случае так себе, в худшем - какая-то мазня дошкольника. Всё же почти все люди в современном обществе более или менее много читают, а в школах сочинения обязательны, тогда как для рисования недостаточно просто на чужие картинки смотреть, а художества в школах обычно не являются принудительными. Если смог сдать ЕГЭ, считай, сможешь написать несложный сценарий, а для рисования нужно конкретно запариться с художкой, курсами или мучительным самообучением. А в конечном итоге графика тоже субъективно воспринимается и тебя могут облить говном просто за то, что ты рисуешь "аниме", рисование которого ты оттачивал пять лет ежедневно, а ты потом ломаешь голову, в чём же ты ошибся... И фраза "я художник, я так вижу" как-то не очень оправдывает кривые руки и косой взгляд, которые на каждой иллюстрации по-разному кривые.
137 893019
>>2874

>И как бы музыка может либо сильно решать и тогда огромный +, либо она просто может быть и тогда всем пофигу.


Не пофигу. Примеры из личного опыта:
1. Майнкрафт. Фоновая музыка есть и в целом она неплохая, но игра её воспроизводит как-то вообще невпопад. Можешь бегать полчаса в тишине и ВНЕЗАПНО начинается громкая музыка, вот просто так. Или музыка перекрывает реально важные звуки. Особенно бесит когда эта музыка ВНЕЗАПНО начинается в тёмной пещере, как в каком-то хорроре перед встречей с боссом. Вот только никакого босса нет, она просто так началась. В мобильной версии музыка вынесена в отдельный пакет на 300+ МБ. Поведение фоновой музыки точно такое же пугающе раздражающе рандомное. Но без этого пакета ты не сможешь услышать мелодии пластинок, которые можно в игре вставить в проигрыватель. А игра даже не предупреждает, что для работы блока нужен пакет с раздражающей фоновой музыкой, лол, ты просто смотришь на куб с вылетающими нотами и слышишь тишину.

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

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

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

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

>музыка - это вообще топ для передачи эмоций


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

>Не даром люди на всяких концертах


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

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

>красота и литературность слога


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

>Видимо каждому своё.


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

А вот с графикой всё сложнее - ты убиваешь несколько часов на одну иллюстрацию, а результат в лучшем случае так себе, в худшем - какая-то мазня дошкольника. Всё же почти все люди в современном обществе более или менее много читают, а в школах сочинения обязательны, тогда как для рисования недостаточно просто на чужие картинки смотреть, а художества в школах обычно не являются принудительными. Если смог сдать ЕГЭ, считай, сможешь написать несложный сценарий, а для рисования нужно конкретно запариться с художкой, курсами или мучительным самообучением. А в конечном итоге графика тоже субъективно воспринимается и тебя могут облить говном просто за то, что ты рисуешь "аниме", рисование которого ты оттачивал пять лет ежедневно, а ты потом ломаешь голову, в чём же ты ошибся... И фраза "я художник, я так вижу" как-то не очень оправдывает кривые руки и косой взгляд, которые на каждой иллюстрации по-разному кривые.
138 893079
Есть какой-то элегантный способ построения пути на AStarGrid2D до ближайшей точки, если ячейка цели задизейблена или например находится за стенкой и в принципе недостижима? Можно конечно найти дорогое решение, типа идти по спирали от цели и пробовать построить маршрут до каждой из точек на ней, но явно должно быть более простое решение. Подскажите, пожалуйста, анончики!
139 893106
140 893111
>>3106
Спасибо, но я не понял о чём там речь... Не слышал о том, чтобы AStarGrid2D или даже AStar2D в годоте были "EstimatedDistanceToEnd (ie. the lowest h(x))"
141 893143
Как бы по простому реализовать систему диалогов? Нужно чтобы работала и чтоб звук при печати букв был. Может есть какое-то простое и элегантное решение?
142 893144
>>3143
Сам не смотрел, но глянь https://rakugoteam.github.io/
143 893148
>>3111
Справедливо, но увы по мне так в годоте изкоробки неправильный астар и для более-менее серьезной игры придется писать свой.
Если разбираешься в с++, вот кто-то пытался решить такую задачу в форке https://github.com/godotengine/godot-proposals/issues/277#issuecomment-1379431845
144 893149
>>3148

> в годоте изкоробки неправильный астар


Почему ты так думаешь? Какие подводные?

> разбираешься в с++


Это есть, но пересобирать годот не хочется. Я рассматриваю сейчас активнее всего хоть и костыльный, но вариант, где никакие клетки не блокируются, но непроходимые имеют огромный вес, а саму блокировку хранить отдельно и обрабатывать где нужно. То есть даже если в пути будут непроходимые клетки, когда непись захочет непосредственно сделать шаг на такую клетку, обработчик ходьбы осадит неразумного непися и пояснит как он неправ.
145 893152
>>3149
Хотя стоит отметить что это звучит дорого и возможно стоит иметь несколько карт для разных видов поиска пути в зависимости от интеллекта моба.
146 893159
>>3149
Писал с иллюстрациями в каком то старом треде, но пост потерли.
Суть в том, что они вообще реализовали не то. В каноническом астаре вес у ребер, соединяющих узлы, а не у самих узлов. То, что есть в годоте, подходит для простых игр на джемы (когда у тебя просто клетка земли, клетка леса, клетка воды), но не подходит для глубоких тактических и стратегических игр, когда отличается стоимость входа из поля в лес, из поля в воду, из леса в воду, из воды в лес и т.д. А как ты заметил, апи не гибкий, не дает "кубиков", "строительных блоков" из которых ты мог бы собрать нужное, а умеет только пару базовых вещей. Поэтому в своем рогалике на с++ я буду писать свой астар. Раньше пытался портировать из какого-то движка на c# (Nez кажется), сейчас думаю писать с нуля с чатгопотой.
147 893164
>>3159

> отличается стоимость входа из поля в лес, из поля в воду, из леса в воду, из воды в лес и т.д


Разве это важно? То есть разве почему обычных весов клетки будет недостаточно?
148 893165
>>3164
Недостаточно даже на более простом примере (если зайти в лес из поля дороже, чем выйти на поле из леса). Просто с 3 клетками еще нагляднее будет.
149 893205
>>3159
Нормальных а-старов полно на гитхабе, в том числе на плюсах. Не пиши сам, подумой.
150 893240
>>3205
Кстати а что насчёт Д старов?
151 893303
Игры-то делаете?
152 893360
>>3303
Сидим, обдумываем с phind.com процедурную генерацию мира и поведение персонажей в моей игре, открыл для себя много интересных идей.

Делать саму игру я, конечно же, не буду.
153 893374
>>3303
Да, заебался возиться с попытками довести до ума поиск пути на AStarGrid2D, заменю на свой, написанный по уму, в нынешнем состоянии для прототипа и основы сойдёт. Судя по https://www.redblobgames.com/pathfinding/a-star/introduction.html это относительно просто.
>>3360

> phind.com


Как оно в сравнении с ГПТ3?
154 893378
>>3374

>Как оно в сравнении с ГПТ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.


Есть доступ анонимно без регистрации, но помни, что все обсуждения доступны по ссылке.
155 893379
>>3378
А оно может само сходить на гит, изучить либу, и ответить на вопрос по ней?
156 893380
>>3379
Я пробовал, нет, не может, выдумывает АПИ как оно могло бы быть хорошо в идеальном мире, но увы таких функций не было.
image.png201 Кб, 842x1914
157 893383
>>3379

>изучить либу и ответить на вопрос


Наверное, зависит от сложности.

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

На пикриле цитаты из документации к Godex на гитхабе, вот только эти цитаты устарели после того, как разработчики добавили этап инициализации, так что теперь никакой физический пайплайн настраивать больше не нужно. Вывод: проще самому перейти по ссылке и прочитать. Но нюанс в том, что я не задавал никаких конкретных вопросов, только "опиши", вот она и описала как смогла.
gd.jpg119 Кб, 1041x1772
158 893389
>>3378

>ходить по ссылкам


Ладно, похоже, не умеет.

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


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

туплю не понимаю
162 893409
>>3408
По ошибке выглядит так, будто ты пытаешься вызывать метод у объекта, который ещё не инициализировался. У тебя точно ProgressBar существует как ребёнок ноды, к которой приклеен скрипт и получается её найти?
163 893410
>>3408
Скорее всего ты скопипастил hpbar а у тебя hp_bar
164 893413
>>3079
Зачем тебе такое решение? Рассмотрим ситуации.
1. Игрок промахнулся. Персонаж топает куда-то, куда не следует. Игрок злится.
2. Игрок тыкает на клетку за пределами зоны ходьбы, рассчитывая, что персонаж остановится. Персонаж топает к краю скалы без моста, падает и умирает, потому что по механике встать на край обрыва можно, но смертельно опасно. Игрок злится.
3. Игрок тыкает на клетку за стеной, рассчитывая пробить себе путь киркой. Персонаж топает к стенке, а стенка-то неразрушимая. Игрок злится.
4. Игрок тыкает на клетку за болотом, земля вокруг которого огорожена непроходимым забором. Персонаж топает в болото и тонет. Игрок злится.

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

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

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

>>3159

>вес у ребер, соединяющих узлы, а не у самих узлов


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

>отличается стоимость входа из поля в лес, из поля в воду, из леса в воду, из воды в лес и т.д.


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

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

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

А как иначе это решать?
164 893413
>>3079
Зачем тебе такое решение? Рассмотрим ситуации.
1. Игрок промахнулся. Персонаж топает куда-то, куда не следует. Игрок злится.
2. Игрок тыкает на клетку за пределами зоны ходьбы, рассчитывая, что персонаж остановится. Персонаж топает к краю скалы без моста, падает и умирает, потому что по механике встать на край обрыва можно, но смертельно опасно. Игрок злится.
3. Игрок тыкает на клетку за стеной, рассчитывая пробить себе путь киркой. Персонаж топает к стенке, а стенка-то неразрушимая. Игрок злится.
4. Игрок тыкает на клетку за болотом, земля вокруг которого огорожена непроходимым забором. Персонаж топает в болото и тонет. Игрок злится.

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

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

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

>>3159

>вес у ребер, соединяющих узлы, а не у самих узлов


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

>отличается стоимость входа из поля в лес, из поля в воду, из леса в воду, из воды в лес и т.д.


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

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

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

А как иначе это решать?
165 893414
>>3413
Понятное дело что это не для игрока, а для всякого эффективного окружения мобами и прочего
166 893417
>>3414

>эффективного окружения мобами


1. Мобы за стеной не должны преследовать игрока, потому что они не знают о его существовании.
2. Мобы за рекой могут подходить к краю реки, если видят игрока в зоне прямой видимости (рейкаст).
3. Если моб способен слышать игрока, тогда он идёт не к источника шума, а в сторону усиления шума, то есть ему вообще не должен быть известен оптимальный путь к игроку, даже если они есть.
4. Если хочешь создать засаду из мобов в визуально скрытой от игрока зоне, проще заспавнить новых мобов сразу за разрушенной игроком стеной, чем звать уже имеющихся мобов к непроходимой стене. Игрок не заметит разницу, ведь он не видит этих перемещений за кадром.
167 893418
>>3413
Челидзе, поиграй хотя бы в одну РТС, прежде чем рассуждать о том, что там игрок хочет или нет.
168 893420
>>3413

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


Это не так, поэтому дальшнейшую стену текста не читал.
В стратегии в одну и ту же клетку равнин вход может стоить разную стоимость, если с ты выходишь из леса, или идешь поперек дороги, или идешь вдоль дороги.
169 893436
Не знаю где спрашивать так что спрошу здесь. Когда в тексте числа встречаются в именах собственный например: "7/седьмой отряд", как лучше и красивее записывать их? Цифрами или буквами?
170 893437
>>3417
Ты опять не понял. Если в клетке может быть только одно существо, то оно по сути блокирует путь остальным. Как тогда толпой из двадцати орков окружить игрока в максимально плотное кольцо? Делать мобов не блочащими путь, а делать клетки на которых они находятся дорогими, но не позволять вставать на них в обработчике ходьбы
Text.PNG119 Кб, 1045x658
171 893438
Есть окошко диалога куда вбиваются символы по таймеру. Конкретно _on_type_timer_timeout() у меня это делает. Как бы сделать, что если в строке есть определённая комбинация символов, например ^^, они не печатаются, но таймер замедляется пока не дойдёт до пробела " ". Я прям уверен, что как-то можно сделать, но сам додуматься не могу.
172 893442
>>3438
В смысле замедляется? Как это должно для пользователя выглядеть?
173 893449
>>3438

>Есть окошко диалога куда вбиваются символы по таймеру


Если ты хочешь чтобы текст появлялся плавно, символ за символом, то у лейбла есть охуенное свойство percent visible, которое делает именно это. Еще visible characters есть.
174 893463
>>3442

>В смысле замедляется? Как это должно для пользователя выглядеть?


У меня символ печатается по таймеру раз в 0.04 секунды. Я хочу чтоб я например оставил в строке "Я посрал ^^говном" вот эти вот ^^ и тогда "Я посрал" напечатается со скоростью 0.04 секунды, а "говном" со скоростью 0.5 например.
>>3449

>percent visible


Спасибо. Буду знать. Но мне нужно как раз по буквам. Что visible characters и делает собственно.
175 893559
>>3418

>поиграй хотя бы в одну РТС


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

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

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

>>3420

>В стратегии в одну и ту же клетку равнин


Просто убери клетки. В RTS клетки - атавизм.

>>3437

>Как тогда толпой из двадцати орков окружить игрока в максимально плотное кольцо?


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

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

В большинстве игр мобы проходят друг друга или вообще не обходят препятствия. Если твоя игра не фановая из-за того, что мобы проходят друг сквозь друга или тупят возле препятствий, то ты делаешь что-то не то. Делай так, чтобы игра была интересной даже с максимально тупыми мобами.
176 893561
>>3559
Так я не про RTS говорил, а стратегии. RTS крайне редко бывают стратегиями, это тактики в основном.
177 893564
>>3561
Назови мне какую-нибудь актуальную клеточную стратегию с твоей механикой. Лучше на Android.

А то без примеров это просто хотелки какие-то.

>Ряяяяяя, в Godot неправильно реализованные StaticBody3D, они не могут набигать!!


>Где ты видел, чтобы StaticBody3D набигали?


>Я хочу чтобы домики набигали! Домики - это недвижимость, но в их API нет nabigat(mesto)!!!

178 893568
>>3438

>Как бы сделать, что если в строке есть определённая комбинация символов, например ^^, они не печатаются, но таймер замедляется пока не дойдёт до пробела " ".


Алгоритм прост, но для него требуется:
- проверять, какой символ мы будем печатать;
- проверять следующий символ после него.
Делать это через API RichTextLabel скорее всего будет затратно, поскольку там происходят операции с BB-кодами, добавляющие форматирование.

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

В общем, это никак не касается API Godot. Это чисто алгоритмическая задача. Тебе её помочь решить?
179 893574
>>3568

>Алгоритм прост, но для него требуется:


>- проверять, какой символ мы будем печатать;


>- проверять следующий символ после него.


>Делать это через API RichTextLabel скорее всего будет >затратно, поскольку там происходят операции с BB-кодами, >добавляющие форматирование.



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



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

>Это чисто алгоритмическая задача. Тебе её помочь решить?


Если тебе не сложно, то буду рад помощи.
загруженное.png123 Кб, 1040x1440
180 893587
>>3574

>загнать всю строку по символам в массив


Работать будет, но есть один нюанс - Godot будет вынужден после каждого символа перестраивать элемент GUI и отображаемый текст. Хотя для коротких текстов разница должна быть незаметной.

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

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

Могу накидать алгоритм для быстрого вывода по словам с эффектом замедленной побуквенной печати на отдельных словах. Можно использовать String.split(" ") для получения списка слов, а потом просто проверять, не начинаются ли слова контрольным символом: String.begins_with("^^").
слова.png190 Кб, 2120x1480
181 893590
>>3587

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


Как-то так можно.
182 893591
Как сделать так, чтобы куб не располагался в стене (рис.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()
183 893592
Как сделать так, чтобы куб не располагался в стене (рис.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()
184 893593
>>3587
двачую, а лучше бы по возможности весь текст был сразу виден, чтобы читал с удобной скоростью игрок
185 893594
>>3591
Так ты нормаль рэйкаста тоже заюзай
186 893595
>>3594
То есть прибавить?
187 893596
>>3591

>куб


>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
...как конкретно вращать - выясняй сам, мне лень. Я каждый раз методом тыка разбираюсь, лол.
188 893597
>>3596

>чтобы он был параллелен


Хотел написать "чтобы ось, перпендикулярная грани, пересекающейся с точкой начала координат, была параллельна нормали точки коллизии". Ну ты понял.

>как конкретно вращать - выясняй сам


Там что-то с базисами и вот это вот всё. Чисто по ощущениям потыкай числа и что-то получится. Всегда так делаю и спустя несколько часов получается.
189 893598
>>3597
Спасибо
190 893599
>>3595
куб крути в соответствии с нормалью
191 893603
>>3587
Спасибо за помощь. Ты навёл меня на определённую мысль. Постараюсь это всё перетащить себе в код. Я и не подумал на слова разбивать.

> меня раздражает этот эффект "печатной машинки" в играх


Скучный.
>>3593

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


Тоже скучный.
192 893607
>>3603
Будет хорошим тоном сделать варианты и для таких скучных, чтобы в опциях можно было выбрать
rainbow.gif391 Кб, 498x278
193 893608
>>3603

>Скучный.


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

Игроки читатели будут блевать радугой и писать "рекомендую" в отзывах, чтобы другие тоже проблевались.
image.png380 Кб, 600x552
194 893627
Как выйти за пределы этого геймдев-пузыря? Релизишь игру, ее потыкали и полайкали годотеры, сказали норм зделол малацца. А как широкую аудиторию нормисов поймать? Куда? Где? Гугл ебаный в гугл-плее уже полгода хоронит мою поделку, не выдавая ее в поиске даже по прямому запросу. Показывает только если с кавычками спросить.
195 893637
>>3627
Яндекс, вк - там нормизы сидят. Белорусам на игровое шоу отправь, вдруг увидят.

>>3559

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


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

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

Олсо, хинт. У лейблов (в том числе ричтекст) есть свойства percent_visible и visible_characters, существующие именно для таких анимаций. Они позволяют не пересчитывать каждый раз границы элемента и избегать случаев, когда слово начало отрисовываться на одной строке, а в следующем кадре резко целиком перенеслось на следующую, потому что не влезло.
А ещё ричтекстлейбл умеет возвращать чистый текст, без ббкодов, чтобы, например, проще там было найти эти самые ^^ или что ещё надо.
196 893642
>>3637

>А если местность скрыта для игрока?


По чёрным клеткам вообще должен быть полный запрет ходьбы. Вдруг там ловушка? Яма? Болото с крокодилами? Минное поле? Радиация? Аномалии?

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


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

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

TL;DR: хреновый из тебя стратег, если ты хочешь посылать юниты в неизвестном направлении.
197 893643
>>3642
И тебе кажется интересным микрить каждого разведчика по трём направлениям пройти вперёд на десять шагов?
198 893645
>>3637

>ощущения, что это персонаж реально говорит


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

>percent_visible и visible_characters


Ты опять с запоздалыми советами?
Присмотрись к коду на скриншоте: >>3438
199 893646
>>3643
Мне никогда не было интересно играть против онлайн игроков, которые за 10 секунд развиваются и уже собирают против тебя войско. А в одиночном режиме в РТС всё обычно тихо и спокойно, боты не быкуют и есть достаточно времени для развития.

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

У нас тут 5 фпс от 150 кинематиков в кучке, а ты на стратегию уровня старкрафта замахиваешься...
200 893647
>>3646
Я другой анон, но изъяны в твоей логике очевидны. Вспомни тот же варик третий, где такая возможность есть. Или век империй второй. Да вообще во всех одиночных стратегиях можно посылать юниты в неизвестность.
201 893648
>>3645

>когда компы были такими медленными, что натурально печатали на экране текст.


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

>Ты опять с запоздалыми советами?


лол, походу да :3

>>3642

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


Последний раз играл в стратежки лет 15 назад, так что да, определённо хреновый.
202 893657
Нужно сделать веревку ниндзя как в worms armagedon. Ваши идеи?
203 893737
а движ он шлангом под винду не собирается?
204 893738
>>3737
Есть опция экспорта откуда угодно куда угодно. С линукса на винду и наоборот, например. Если ты об этом.
godot-build-windows.png37 Кб, 800x521
205 893749
>>3738
не я про то, что движок под винду собирать говорят студией или как альтернативой mingw
а я спросил clang-ом собирается нормально ли и собирается ли
206 893766
>>3749

>clang-ом собирается нормально ли и собирается ли


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

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

другой анон
207 893767
>>3749
clang под виндой вроде все равно сильно от студии зависит? Не уверен, давно не возился с этим.
Вот тут можешь поскроллить, там и какие то флаги упоминаются, и пулл реквесты правда закрытые с пометкой недостаточно проработаны.
https://github.com/godotengine/godot/issues/6560
208 893770
>>3657
Попробуй поискать grappling hook, должно быть куча туториалов.
https://godotengine.org/asset-library/asset/1712
209 893771
>>3645

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


Они имитировали печатные машинки, которые в то время еще были понятны и знакомы игрокам.
https://youtu.be/HlqOLYSmKk0?t=41
210 893772
>>3642
Не переусложняй, в стратегиях обычно есть разные виды кликов (с шифтом, контролем), где меняется режим движения - так что можно делать и так и так, игрок сам решит, когда надо идти в неизвестность, а когда не надо, когда атаковать а когда просто бежать мимо.
Если, конечно, не прикручиваешь продвинутый ИИ. Но, судя по шебм тредам, стратеги то особо микро и не занимаются, а действительно посылают юниты как попало, прямо по минам.
211 893773
>>3608
У кое-кого на борде в играх на годоте так нескучно и сделано.
212 893774
>>3648

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


Возможно, мы о разном говорим? В фильмах часто на зелёных экранах буквы появляются по одной - и это не выдумка сценаристов, что-то такое было ИРЛ. Вот, недавно видел видео про ASCII анимации в терминале, и там автор объясняет, что увидеть анимацию без специальных настроек невозможно, потому что терминал на современном ПК выводит текст слишком быстро. Дальше он показывает замедление до считанных тысяч бод и на экране видна анимация. Учитывая, что MUD состоит в основном из текста, который передаётся в терминал через сеть - можно предположить, что на ранних этапах медленный вывод в играх вплоть до отдельных символов был вынужденным, а не художественным приёмом. Ты просто не можешь выводить буквы быстрее, чем они прилетают к тебе по проводам.

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

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

>cozy adventure


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

>в рпг типа фоллаута уже категорически не нужен


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

Попытался однажды сыграть в Morrowind, а там с самого начала доступны КНИГИ, в которых на десятках страниц расписывают приключения каких-то ноунейм царей или что-то вроде того. Охренеть, зашёл, называется, в видеоигру, и несколько часов буду сидеть книжки читать?! Можешь сказать, что у меня "твиттерное мышление", но чукча писатель, чукча не читатель. Я не хочу читать стены какой-то рандомной фэнтезятины, которые даже не имеют отношения к реальному геймплею (заклинивание мобов насмерть, прокачивая цифру урона от каждого клика, и получая какой-то лут на продажу или для коллекции). Вот если бы разбили эту информацию на короткие кусочки, доступные по ходу исследования мира - тогда ОК, интересно, а так я лучше пойду на Вики прочитаю всё это нормальным шрифтом с нормальным фоном на телефоне, чем сидеть и читать виртуальные книги в игре...
212 893774
>>3648

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


Возможно, мы о разном говорим? В фильмах часто на зелёных экранах буквы появляются по одной - и это не выдумка сценаристов, что-то такое было ИРЛ. Вот, недавно видел видео про ASCII анимации в терминале, и там автор объясняет, что увидеть анимацию без специальных настроек невозможно, потому что терминал на современном ПК выводит текст слишком быстро. Дальше он показывает замедление до считанных тысяч бод и на экране видна анимация. Учитывая, что MUD состоит в основном из текста, который передаётся в терминал через сеть - можно предположить, что на ранних этапах медленный вывод в играх вплоть до отдельных символов был вынужденным, а не художественным приёмом. Ты просто не можешь выводить буквы быстрее, чем они прилетают к тебе по проводам.

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

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

>cozy adventure


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

>в рпг типа фоллаута уже категорически не нужен


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

Попытался однажды сыграть в Morrowind, а там с самого начала доступны КНИГИ, в которых на десятках страниц расписывают приключения каких-то ноунейм царей или что-то вроде того. Охренеть, зашёл, называется, в видеоигру, и несколько часов буду сидеть книжки читать?! Можешь сказать, что у меня "твиттерное мышление", но чукча писатель, чукча не читатель. Я не хочу читать стены какой-то рандомной фэнтезятины, которые даже не имеют отношения к реальному геймплею (заклинивание мобов насмерть, прокачивая цифру урона от каждого клика, и получая какой-то лут на продажу или для коллекции). Вот если бы разбили эту информацию на короткие кусочки, доступные по ходу исследования мира - тогда ОК, интересно, а так я лучше пойду на Вики прочитаю всё это нормальным шрифтом с нормальным фоном на телефоне, чем сидеть и читать виртуальные книги в игре...
213 893776
>>3772

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


Насколько я понял, нейронка победила в Дота 2 за счёт бешеного микроконтроля всех 5 персонажей, так что её даже специально замедляли, чтобы дать шанс мясным мешкам с их медленной реакцией. Т.е. продвинутый ИИ будет заниматься микроконтролем, а не посылать бесконтрольную толпу. Очевидно, игроки забивают на микроконтроль просто потому что у них нет физической возможности им заниматься.
214 893778
>>3776
Второе предложение было про стратегов ИРЛ, просто не стал акцентировать внимание.
А под продвинутым ИИ я имел в виду нечто такое.
Вот выше анон писал, что если враг не может подойти к игроку, то он должен остаться стоять или подойти к стенке/реке и остановиться. Это действительно ожидаемое поведение в играх в прошлом.
Только вот продвинутый интеллект, как раз, должен был бы подумать - ага, раз враг в той комнате за стеной, значит я могу добежать вон до того коридора и перехвачу его там, когда он будет выходить. В это время другой юнит мог бы подумать, ага, мой напарник перекроет тот коридор, значит я могу пойти налево и там прикрыть второй выход, если враг решит вылезти там.
215 893784
>>3778

>добежать вон до того коридора


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

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


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

Написал стену текста и удалил, давайте без оффтопа.
216 893787
>>3784
надо поискать может был тред про игровой ИИ (ну, который не про нейронки)
wormsninjarope.png6 Кб, 252x284
217 893788
>>3657

>веревку ниндзя


Подобное делается созданием большого количества RigidBody2D, соединённых между собой PinJoint2D:
https://docs.godotengine.org/en/stable/classes/class_pinjoint2d.html
Игрок (червяк) болтается на последнем сегменте, для спуска добавляются новые сегменты, для подъёма ближайший к игроку сегмент удаляется. Для раскачки игрок прикладывает импульс к ближайшему сегменту.

>>3770

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


Подобное делается элементарно, тут даже туториал не нужен, если ты хоть немного в движке разбираешься.
218 893790
>>3787

>тред про игровой ИИ


Такого сейчас нет и вроде никогда не было.

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

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

Всё сведётся к кучке безыгорных фантазёров, которые не могут конкретизировать задачу.
219 893791
>>3790
Я точно в каком-то отвечал, но искать лень.
220 893793
>>3788
Только я бы не стал использовать стандартные джойнты, а сделал свои.
Честно говоря, цепь в Dumer довольно нестабильно себя вела.
221 893794
>>3793
Вообще я заметил, что коллизии вращения - довольно непроработанная в разных движках тема. Видимо математика становится сложной на шейпкастах.
222 893830
Как сделать поп-ап, который работает на паузе в годот 3?
Представьте ситуацию, играете себе, получаете экспу, и по середине экрана появляется окно, где можно повысить характеристику например. Надо, чтобы весь мир паузился кроме этого окна. Как это сделать?
image.png10 Кб, 340x193
223 893831
224 893834
>>3830
Прикол в том, что если у тебя окно появляется посередине, то ты НЕ хочешь чтобы весь мир паузился. Ты хочешь паузить только игровую логику, но не хочешь паузить, например, анимацию воды и травы, музыку. Поэтому тебе и ответ - паузи только тот process который отвечает за игровую логику.
225 893836
Как же сложно делать игры, даже очень простые.
226 893837
>>3836
Делай очень-очень простые. А еще лучше - разбивай их на очень-очень-очень простые компоненты.
227 893841
>>3837
Когда делаешь ОЧЕНЬ простую игру начинает казаться, что она никому не нужна (так и есть). В итоге на половине начинаешь думать, что надо бы прикрутить систему апгрейдов, ещё какие-нибудь приколы. А эти самые приколы оказываются адски тяжелыми в реализации для нубаса.
228 893849
>>3841

>она никому не нужна (так и есть)


Никакая игра никому не нужна. Мы мельче пыли в масштабах вселенной, и никто из нас не доживёт до времён, когда какая-либо цивилизация сможет существенно влиять хотя бы на одну галактику, что уж говорить о наших компьютерных развлечениях, которые устаревают быстрее, чем сменяются поколения людей. Но даже если рассматривать с точки зрения человечества, никакие игры не нужны - нужны только способы удовлетворения наших животных инстинктов. Даже если бы игр не было, люди нашли бы себе занятия для развлечения. Важность игр искусственно преувеличивается в целях прибыли их разработчиков и владельцев, как, впрочем, и важность очень многих других не обязательных для выживания товаров. Тебе буквально внушают необходимость купить что-то, и ты можешь настолько поверить этим внушениям, что начнёшь сам убеждать окружающих купить что-то, поиграть во что-то и т.д. Люди всего лишь животные, управляемые древним механизмом подкрепления, нас можно дрессировать как животных и нам это будет даже нравиться, у нас только иллюзия свободы. Вот игры, и вообще любая индустрия дрессирует нас покупать, чтобы мы генерировали им больше прибыли. А сами по себе игры не нужны независимо от их сложности, так что если твоя игра проще какой-то другой - не парься. Сделай клон гиперказуалки, они очень популярны несмотря на техническую, геймплейную и визуальную простоту.
229 893851
>>3849
Игры-то делаешь?
thirty.six.dev.underworld2.png84 Кб, 512x307
230 893853
Я хочу сделать кастомное освещение для моего tilemap, и пытаюсь придумать, как его имплементировать. Выглядеть оно должно как на пикче, с каждым ходом игрока область видимости обновляется. Пока в голову приходит только заведение отдельной текстуры темноты и при каждом движении проходиться по тайлмапе, чтобы проверить, доступна ли она игроку, но я не очень понимаю, как должно выглядеть заполнение и через что реализовать, set_cellv() не подходит, так как он перезаписывает текстуру, а мне надо, чтобы после ухода игрока она сохранялась, а не становилась черным квадратом. Как это вообще называется и где такое гуглить, нашел только реализацию тумана войны, но это не совсем то, что мне нужно. У анона выше было сделано что-то похожее, мб есть ссылка на твой реп? >>2585
231 893857
>>3853
https://www.roguebasin.com/index.php/Field_of_Vision

>У анона выше было сделано что-то похожее


У него просто второй тайлмап с единственным тайлом в виде чёрного квадрата. Скорее всего.
232 893859
>>3834

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


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

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

>>3774

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


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

Годаны, я трейлер белорусам отправил. Впервые показываю свою игру не каким-то друзьям-знакомым, а прям важным дядям, для которых игры это не баловство, а профессия.
image.png126 Кб, 799x818
233 893860
>>3853
Если хочешь чтобы тайлы оставались видимы, то тебе в общем-то ничего делать не надо после того как клетку открыл. Смотри пикрелетед
>>3857
Всё так, но два цвета: один чёрный, другой серый прозрачный для известных клеток, но вне поля видимости.
234 893862
>>3859

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



поздравления мои прими
235 893869
>>3859
Конечно же поздравляю, но с этого

>для которых игры это не баловство, а профессия.


Кринжанул
1691830536625.png42 Кб, 180x162
236 893870
>>3860

> image.png


Ужас какой-то. Человек пытается в какие-то модные-молодёжные ЕЦСы, но при этом допускает в своём коде магические числа.
237 893871
>>3870
Ой всё. Переделка работы с графоном у меня в планах, если я сейчас вместо маленьких успехов ведущих к игре буду пытаться сделать всё идеально, то у меня игры никогда не будет.
238 893873
>>3871

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


Этот шарит.
239 893877
>>3870

> модные-молодёжные ЕЦСы


это уже как сто лет стандартный подход в играх
240 893879
Помогут ли знания полученные в гдскрипте годота устроиться джуном питонистом за доширак
241 893880
Как лучше всего сделать, чтобы функция вызывалась, когда переменная изменилась? Звучит как что-то простое/очевидное, но не могу придумать решение...
242 893882
>>3880
Сигналы?
243 893883
>>3880
Сеттеры
244 893884
>>3880
setget после вара пишешь и указываешь метод для сета
245 893886
>>3831
Не работает почему-то, уже часами над этим сижу. Может какие-то ноды неправильно работают с этим? Это просто элемент гуи, панель и на ней лейбл и контейнер, мир паузится, а панель не анпаузится, даже если процесс ставить.
246 893890
>>3879
слабо косвенно
247 893895
>>3870

>модные-молодёжные ЕЦС


Не вижу там ЕЦС, по ЕЦСу каждая клеточка карты - это сущность с компонентами, например:
- компонент "видна";
- компонент "исследована игроком";
- компонент "спрайт";
- компонент "позиция";
и т.д. Далее десятки систем параллельно работают с каждой клеточкой на 9000 ядрах процессора, избегая промахов кэша и повышая ЧСВ разраба до небес.

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

>допускает в своём коде магические числа


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

>>3877

>стандартный подход в играх


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

Скоро ничего нельзя будет сделать без создания нескольких сотен систем для переключения bool.
249 893899
>>3895

> каждая клеточка карты - это сущность с компонентами


Звучит не очень эффективно

> он допустил C#


Не на ГД скрипте же писать в годоте. Он ещё медленнее же
250 893900
>>3859

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


У тебя какая-то психотравма или профдеформация, если ожидаешь на каждом шагу game-breaking bug.

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


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

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

>>3886

>ноды неправильно работают с этим


В 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
250 893900
>>3859

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


У тебя какая-то психотравма или профдеформация, если ожидаешь на каждом шагу game-breaking bug.

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


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

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

>>3886

>ноды неправильно работают с этим


В 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
251 893906
>>3899

>Звучит не очень эффективно


Это был сарказм через утрирование.

>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-х сидишь, и тебя сейчас скорость выполнения кода не должна волновать. Сделай сначала игру, а код оптимизировать можно сто раз даже после релиза. Люди давно привыкли покупать новый компьютер для новых игр, и не ценят по достоинству высокую производительность кода в играх. А вот что они ценят - это интересный геймплей, обилие контента и частые обновления контента с фиксом багов. Поэтому так популярны скриптовые языки в игровых движках, и поэтому скриптовые языки адаптированы на читабельность и модифицируемость кода, а не на скорость выполнения. Если ты отказываешься от скриптового языка, ты сам себя замедляешь, оттягивая релиз игры и усложняя процесс доработки игры после релиза. Потому что переписать уже существующую систему на другой язык намного проще, чем изобретать несуществующую систему с нуля, особенно если язык не адаптирован под скоростную разработку.
251 893906
>>3899

>Звучит не очень эффективно


Это был сарказм через утрирование.

>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-х сидишь, и тебя сейчас скорость выполнения кода не должна волновать. Сделай сначала игру, а код оптимизировать можно сто раз даже после релиза. Люди давно привыкли покупать новый компьютер для новых игр, и не ценят по достоинству высокую производительность кода в играх. А вот что они ценят - это интересный геймплей, обилие контента и частые обновления контента с фиксом багов. Поэтому так популярны скриптовые языки в игровых движках, и поэтому скриптовые языки адаптированы на читабельность и модифицируемость кода, а не на скорость выполнения. Если ты отказываешься от скриптового языка, ты сам себя замедляешь, оттягивая релиз игры и усложняя процесс доработки игры после релиза. Потому что переписать уже существующую систему на другой язык намного проще, чем изобретать несуществующую систему с нуля, особенно если язык не адаптирован под скоростную разработку.
252 893909
>>3906
Я не то чтобы испытываю невероятные сложности со скоростью написания на с#, учитывая что я на работе пишу на с++. Чаще возникают проблемы с тем что писать, а не с тем, что мясистые пальцы не поспевают за стрелой мысли.
253 893914
>>3906
операторные скобки не мешают, а наоборот только помогают видеть код быстрее более структурированным
254 893919
Лучше игры делайте. Делать игры вам мешает не язык/движок/арт/шизы с харкача, а ваша прокрастинация. Все остальное - гнилые отмазки.
255 893920
Чего 3.6 так долго ползет? Когда уже? Планирую на нем сидеть до где-то так 4.5.
256 893932
>>3919
Моё оправдание это то, что я психически больной. Но я делаю игру, я доведу 1 игру до коммерческого релиза, даже если этот релиз будет приносить 1 рубль в год.
257 893944
>>3862
>>3869
Аригато, пацаны

>>3869

>Кринжанул


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

>>3919

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


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

>>3900

>ожидаешь на каждом шагу game-breaking bug


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

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


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

>анимации здесь служат исключительно эстетическую роль


Если очень нужно, чтобы обязательно что-то мельтешило (вообще да, согласен, нужно), то лучше пусть интерфейс мельтешит.
Но в общем-то это такая вкусовщина. Я предпочитаю, чтобы пауза всем своим видом однозначно говорила: "игра замерла, ты в безопасности, можешь спокойно читать окошко или пойти отлить", и какой-нибудь шейдер, продолжающий анимироваться, воспринимается мной как недоработка. Но у меня нет доводов в пользу этого, кроме "мне так больше нравится".
257 893944
>>3862
>>3869
Аригато, пацаны

>>3869

>Кринжанул


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

>>3919

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


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

>>3900

>ожидаешь на каждом шагу game-breaking bug


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

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


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

>анимации здесь служат исключительно эстетическую роль


Если очень нужно, чтобы обязательно что-то мельтешило (вообще да, согласен, нужно), то лучше пусть интерфейс мельтешит.
Но в общем-то это такая вкусовщина. Я предпочитаю, чтобы пауза всем своим видом однозначно говорила: "игра замерла, ты в безопасности, можешь спокойно читать окошко или пойти отлить", и какой-нибудь шейдер, продолжающий анимироваться, воспринимается мной как недоработка. Но у меня нет доводов в пользу этого, кроме "мне так больше нравится".
258 893945
>>3944
Я тебя еще не так заебу. Иди делай игры, блять. Делай-делай. Приду проверю потом, чтоб сделал все. Хватит яйца мять.
259 893957
>>3919
Нет идей.Все создано.
1691918771559.png162 Кб, 365x441
260 893960
>>3871

> Ой всё.


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


Это вопрос внутренней дисциплины.
ИМХОИМХО
Нет ничего сложного, чтобы ебануть энум с подливой под себя и в дальнейшем брать оттуда константы:

> enum BallColor { None=-1, Black, Gray, White, LightSalmon}


И что характерно, попытки в самоорганизацию есть, далее по пикче есть следы использования энумов.
То есть, анон знает о них, но всё равно ленив и расхлябан, что позволяет себе магические числа в коде, оправдываясь тем, что когда-нибудь сядет и всё отрефакторит. Ага. Да-да.
261 893962
>>3960

>enum BallColor { None=-1, Black, Gray, White, LightSalmon}


Тогда уж ему нужно

>enum FogState { Visible = -1, Known, Unknown }


Visible - клетки в поле видимости;
Known - клетки, которые игрок видел ранее;
Unknown - клетки, которые игрок никогда не видел.
Чтоб абстрагироваться от визуализации.
262 893963
Палю годноту. Если ваша игра работает под веб, то помимо итча рекомендую выложить на newgrounds. Там премодерация, но если игра пройдет, то полезных комментов и популярности запросто х5 от итча. Аудитория сайта - как раз игруны, а не геймдевы.
2022.10.04.mp4246 Кб, mp4,
800x600, 0:08
263 893966
>>3944

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


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

Написал длинное сообщение с описанием всех преимуществ и недостатков каждого подхода, но случайно закрыл браузер и всё потерял. Лень повторять.
264 893969
>>3963
А донаты там есть? Если есть, то не в РФ, наверное?
265 893975
>>3969
Вроде есть revenue share программа и выплаты от 100 баксов. С РФ сам понимаешь.

Мне в основном нужны структурированные отзывы, а то на итче их хуй дождешься, и трафик на мобильные аппсторы. Что NG мне и дал.
266 893990
Как же просто делать игры. А с годотом все дается так легко. Придумал новую игру и уже доделываю прототип.
267 893994
>>3990
А мне сложно.
268 894006
>>3994
Это тебе к психологам. Мы тут игры делаем.
269 894015
>>4006
Как заработаю с игры, так и смогу оплатить психолога. А сейчас я нищук.
270 894077
Это самое. Есть ли способ подключить сигнал не с конкретной ноды, а просто так? Я имею ввиду, что у меня вот есть 3 кнопки. При нажатии кнопка отправляет массив вместе с сигналом. Мне не имеет значение какая кнопка сигнал посла, мне нужно принять сигнал и присвоить какой-либо переменной данные посланные с сигналом.
А то как-то на каждую кнопку по сигналу жирно выходит. Там не красивый копипаст получится.
271 894078
>>4077
Короче я решил просто из vbox'а с кнопками стрелять сигналом. Но может ещё как-то можно?
272 894082
Какой лучший варик вывести спрайт в 3д в биллборд режиме с возможностью этот спрайт крутить по своей оси?
godots.png10 Кб, 299x184
273 894083
274 894084
>>4083

>с возможностью этот спрайт крутить по своей оси

275 894085
>>4084
Ты не умеешь крутить ноду?
276 894086
>>4085
нативная биллборда ж не крутится
277 894087
>>4086
покажи конкретнее кусок, что и где у тебя не крутится или поясни более нагляднее желаемый результат
278 894088
>>4087
представь себе спрайт со свастоном
мне нужно заставить крутиться этот свастон по часовой стрелке
279 894090
>>4088
ну вот ставишь Sprite2D или 3D в зависимости от игры и крутишь ноду со свастоном
280 894092
>>4090

>крутишь ноду


>нативная биллборда ж не крутится

281 894095
>>4077

>А то как-то на каждую кнопку по сигналу жирно выходит. Там не красивый копипаст получится.


Можешь циклом по всем кнопкам пройтись и подключить. Я так делаю. Тогда всего 2 строки.
282 894121
>>4077
Все три кнопки сажаешь на один сигнал. Или я непонел, что именно ты хочешь.
283 894122
>>4092
Значит создай меш, в него установи плейн, отключи куллинг бэкфейса, и собсна крути как хочешь.
284 894124
>>4122
У меня от твоих советов КУЛИНГ БЕКФЕЙСА.
285 894125
>>4124
Хули ты флипнулся в геймдевелопинг тогда? Оформи срыгос.
286 894136
>>4125

>срыгос


Ливни, тогда уж.
287 894137
>>4122

>собсна крути как хочешь


Я так и делаю, но думал чёт из коробки пропустил мб, заебно всё время плейн в камеру поворачивать.
288 894141
>>4137

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


Э, в смысле всё время? Один раз код поворота написал и не трогаешь.
289 894145
>>4141

>в смысле всё время?


ну дрочить в процессе векторы трансформа камеры, чтобы плейн к ней повернуть
290 894148
>>4145
Ты мой пост читал вообще? Продрочи векторы один раз и код будет just work, что с тобой не так?
291 894150
>>4148

>код будет just work


Ага, каждый тик
292 894158
>>4077
Технически то ты никак не можешь избавиться от "одна кнопка - один сигнал", ведь источником сигналов являются разные кнопки. Ну а принимать можешь в одном месте, да. В коннекте можно указать в параметрах от кого сигнал.
293 894159
>>4082

>спрайт в 3д в биллборд режиме с возможностью этот спрайт крутить по своей оси?


Это?
https://docs.godotengine.org/en/stable/classes/class_basematerial3d.html#class-basematerial3d-property-billboard-mode

>>4122

>отключи куллинг бэкфейса


Зачем, если билборд всегда в камеру смотрит?

>>4150

>Ага, каждый тик


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

Выбери режим BILLBOARD_ENABLED, конвертируй стандартный материал в шейдер, изучи его код и доделай ему вращение по нужной оси (z?).
294 894160
>>4077

>просто так


>отправляет массив вместе с сигналом


>данные посланные с сигналом


>копипаст получится


RTFM, чтобы не задавать глупых вопросов.
https://docs.godotengine.org/en/stable/getting_started/step_by_step/signals.html
295 894163
296 894164
>>4159

>Выбери режим BILLBOARD_ENABLED, конвертируй стандартный материал в шейдер, изучи его код и доделай ему вращение по нужной оси (z?).


Это кстати может и получше будет постоянного поворота трансформных базисов камеры в процессе. Спс, попробую.
image.png3 Кб, 139x71
297 894165
Итч. Продолжаю ползти к успеху. Насколько же годот упрощает делание игор, пиздец просто.
298 894166
>>4150
Сколько у тебя таких билбордов? 100? 10000? Ты делал бенчмарки или просто занимаешься предварительной оптимизацией?
299 894172
>>4166

>занимаешься предварительной оптимизацией?


)))а чё для себя низя чёль?)))
300 894183
>>4165
Это где так деньги отдают?
301 894198
Я извиняюсь, а где вы берете ассеты? Вы же не рисуете всю графику к каждой новой игре? Вот представим ситуацию например, я взял графику главного героя с итча или просто с бесплатного пака какого-то. Я имею право поставить его на иконку? Просто пиздец же, у тебя на иконке ассет какого-то другого чела, по сути лицо игры...
302 894201
>>4198
Иногда сам руками, иногда готовое. В любом случае если ты берешь/делаешь что-то графически сложное, то ты, за крайне редким исключением, уже провалился.

>Я имею право поставить его на иконку?


Смотри лицензию ассетов.
303 894205
>>4198
Я рисую сам. Рисовать не умею правда, но другого пути нет. Повезло, что у меня не ретро пиксель арт. Я вообще хз как его рисовать. Когда делал на пикселях, там подрезал из интернетов всё и чуть менял под себя.
304 894207
>>4205

> другого пути нет


Нейронки
305 894214
>>4198

>где вы берете ассеты


opengameart и скетчфаб лул
306 894243
>>4214

>opengameart


Просто без задней мысли скачиваешь ассеты/спрайты и всё? Ничего не прилетит?
307 894246
>>4243

>Ничего не прилетит?


ПРОСТО смотришь, чтобы в лицензии не было NC. Если BY, то записываешь ник автора в титры. А в целом так-то похуй.
308 894258
Как же я не люблю графику делать. Вот сделать прототип на кубах без графики это кайф, делаешь и работает. А когда надо подключать графику мотивации никакой, всё же уже работает, а при этом работы еще дохуя. Как бороться с этим чувством?
309 894260
>>4258
Делай минималистичную в Блокбенче если 3д, или в аспрайте если 2д
310 894263
>>4205

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


Так он же в разы проще всего остального рисуется.
311 894300
Занимаюсь в данную единицу времени переносом одной игры на Godot, довольно таки... Успешно? Не суть.
В связи с юридическим аспектом нужно сделать так чтобы пользователь распаковал файлы оригинальной игры и сунул в папку с exe моего переноса, пока прикидывал просто выдирал файлы и совал в проект настраивая всё, сейчас понял что я лучше сейчас переделаю малый объём работы, чем буду всё переделывать на такую формулу в последний момент.
Встал вопрос - как использовать файлы из одной папки с исполняемым файлом не используя скрипты и никак не упаковывая эти файлы? Желательно, но не обязательно чтобы их было видно в редакторе.
312 894312
Делаю самую простую в мире казуалку. И всё равно выгораю и разрывается мозг. Ладно механику сделать это ладно, но ещё же миллион факторов начиная балансом, заканчивая графикой... И потом когда видишь что ты выпускаешь в свет хочется спустить себя в унитаз. Как же сложно делать хоть что-то, в том числе игры
313 894314
Как же легко и просто делать игры. Сегодня прикрутил новую генерацию к своему рогалику. Блин, прямо загорелся, хочется фигачить не останавливаясь.
314 894324
Ого, вы видели, у неё открытый движок? Сейчас я буду смотреть на него и дрочить. Она хочет моих проектов и денег! Вы видели? Сладкий гдскриптик!
315 894328
>>4324
Лучше сделай ей пару игр.
316 894333
Всё хуйня я проебался. Сделал систему на массивах (сук нах три массива и кода до жопы). Сейчас сижу и понял что можно было сделать то же самое в два клика при помощи ресурсов. Как бы саму систему не сложно модифицировать и работать с ней, но если бы это были ресурсы, то было бы легче. Времени переделать нет (да и желания) из-за работы, так что оставлю так. Вот бля нужно думать перед тем как что-то делать.
317 894335
>>4333
Если так просто переделать, то почему бы и нет?
318 894337
>>4335
Да вот видимо придётся. А то есть шанс пожалеть потом. Я рисковать не стану.
319 894338
Сап, вкатываюсь в Годот с конструктора рпг мейкера. Хочу сделать передвижение по карте по клеточкам, из гайда стащил код и персонаж начал так двигаться, но он может ходить по твердым объектам. В гайде чел через РейКаст2Д пишет код и персонаж перестает ходить по ним, а я просто скопировал, и движок начинает ругаться. В тайловой карте полностью захватил область колизии, не помогает. Гайд на 3 пике.

Кодом никогда в жизни не занимался, поэтому не понимаю даже как его начать, то что означает иф и елс понятно, но как из них получить что-то полноценное понятия не имею. Каким образом вы научились работать с буковками? Ибо просто тыря код, я далеко не уйду и врятли научусь
320 894339
>>4338

> просто тыря код, я далеко не уйду и врятли научусь


Это так, даже если берёшь с гайдов, лучше переписывай ручками, желательно стараясь понять что там написано. Конкретно тут сходу видно что код под третий годот, а ты скорее всего скачал четвёртый. Надо не onready, а @onready.
321 894340
>>4338
onready var ray = $RayCast2D TO onready var ray = get_node("/root/Area2D/RayCast2D")
322 894341
>>4339
А, да кстати, возможно банально код для третьего годота в четвёртом.
323 894342
>>4338
О. Здорова братан. Я тоже с рпгма. Но я делаю без клеток так что у меня таких проблем нет. Как и сказали аноны выше, у тебя годота версия новее. А вообще советую прям сходу посмотреть гайд "Make an Action RPG in Godot 3.2". Там базис и основа, хоть и под другую версию (мне это не помешало). Ну а дальше по запросам в гугле и итт.
324 894343
>>4339
Добавил собачку и ща ругается что инпуты и тайл сайзы не в зоне видимости, но эт думаю пока сам попробую решить, спасибо в любом случае!
>>4342
Оо, супер, щас тогда и погляжу. Может еще по каким-то урокам учишься?
325 894344
Аноны, щас переделываю одну игру на годоте, игра не моя, так что надо как-то отвязать ресурсы от игры, мне нужно чтобы графику и звук игрок распаковал из файлов оригинальной игры и сунул в одну папку с моим exe, пути и имена заранее известны, как НЕ через скрипты подсосать эти файлы?
326 894345
1
327 894346
1
328 894347
>>4344
А что тебе мешает скриптами подгрузить?
329 894348
>>4343

>Может еще по каким-то урокам учишься?


Есть какие-то видео, но они специфические. Ты сам их запросто нагуглишь если придётся искать, например, как работать с кастомными ресурсами. Обучение, и программирование в частности - это 90% времени решение возникающих проблем. По этому я дальше стал просто под себя писать то, что мне нужно. Всё что не знаю гуглю или спрашиваю здесь. Сам понимаешь опыта в программировании у меня только с рпгма. Но тут практически тоже само и даже легче в некоторых аспектах. Например практически нет ограничений родного кода. Всё пиши как хочешь. Как напишешь, так и будет. Я в рпгме заебался во круг него прыгать с плагинами да остальными ограничениями и по этому, пока что, с годотом работь очень приятно после рпгма.
330 894352
>>4347
Ну... Мне придётся так всё подгружать, не цеплять-же мне ко всему скрипты только для подгрузки графики?
331 894354
>>4352
https://docs.godotengine.org/en/3.5/tutorials/export/exporting_pcks.html
https://github.com/GodotModding/godot-mod-loader

Это глянь. Не знаю отвечает ли они твоим требованиям, просто мимопроходил.
332 894390
>>3592
Рейкаст возвращает нормаль.
Вот ее плюсуй к координате спавнящегося куба домножив на половину стороны куба.
Должно проканать.
333 894394
Есть массив с зонами2Д, как мне найти ближайшую из них к игроку?
334 894397
>>4394
Считать евклидовое расстояние для каждой
335 894411
3д оказывается не так сложно. Главное не потеряться в координатах/поворотах/осях. Но сколько же возможностей открывает.
336 894412
>>4411
Каких возможностей? И где ты берешь 3д модели?
337 894414
>>4412
Не ебаться с у-сортами и слоями, халявные тени, отражения, окружения, свет, глубина сцен, ю нейм ит. Сам делаю.
338 894423
>>4338

> Хочу сделать передвижение по карте по клеточкам


> В гайде чел через РейКаст2Д


для ходьбы по клеточкам вообще не нужен рейкаст, ты просто проверяешь свой массив карты на тему проходима клетка или нет, всё
339 894431
Стоит ли переходить с 3.5.2. на 4 версию? И почему?
340 894449
>>4431
Я сижу на 3.5 и жду 3.6, потом буду ждать 4.х - где Х выше 5. Тройка под веб лучше работает и физика менее сломана. Но в 4 фичи вкусные пиздец.
341 894450
>>4449
Разве 3.6 будет? 3.5 же ЛТС. И почему 4.7+ будут на твой вкус? Минорные версии означают номер порядковый номер релиза в мажорной версии же, или у годота свой путь?
342 894451
>>4450
3.6 будет, уже третья бета есть: https://godotengine.org/article/dev-snapshot-godot-3-6-beta-3/

Предполагается что 3.6 будет последней версией в третьей ветке.

В четверке мне просто стабильности не хватает. Фичи хороши.
343 894463
>>4451

> В четверке мне просто стабильности не хватает


а что там? вроде сейчас пилим два проекта: один в 2d другой в 3d и каких-то проблем не было, еще с беток годота четвертого начинали
344 894473
>>4394
Честно говоря вопрос не так прост как кажется. Если зоны2д однотипные, скажем сферы или квадраты, то можно просто проверить в цикле distance_to_squared. А если нет, то что делать хз. Какой тогда критерий, зона у которой любая вершина, любой угол ближе? Или какой-то центр масс? Читал в одном месте, что можно использовать AStar для такого, видимо, наполнить массив координатами вершин и искать чем-то подобным волновому алгоритму.
345 894474
>>4463
Например 3д физика. В трешке был Буллет, в четвертом его выкинули и заменили на Godot Physics. На полпути чувака, который его пилил на зарплате от Годот Фаундейшн, спиздили Рокстары. Итог такой себе. Сейчас в рамках отдельного проекта пилится Jolt, который, например, использовался в Хорайзоне. Как я понимаю планируется мердж в основную ветку когда допилят.
346 894475
>>4414

>халявные


Не такие халявные, влегкую может оказаться что надо ебаться в 10х по сравнению с 2д. Тени для плавной смены времени дня я так и не осилил, например. А если статичные тени, то с запеканием были проблемы, не знаю сейчас уже поправили или нет. В общем у меня есть долгострой 3д и там много возни, а вот 2д пиксельное легко пилю одну за другой.
347 894521
>>4449
Просто на тройку намного больше туториалов
348 894558
Сколько месяцев/лет прошло пока вы не перестали плакать от собственной беспомощности и объема работы который надо сделать и знаний которых надо выучить, прежде чем выложить игру в стор?
349 894560
>>4558
Года два. Может три. Быстро пролетели, не считал.
350 894577
>>4558
Сколько месяцев/лет прошло, пока до вас не дошло что за свою жизнь вы успеете всего десяток полноценных проектов сделать, и то если повезет, а потом все, гроб гроб кладбище? И пиздец как важно выбирать не хуйню в этот жалкий десяток.
351 894579
>>4577
Это ещё если гейдев это основная профессия и ты уже серьезно настроился до гроба игры делать. А если ты фанат пивандеполы который зашел почилить в годот после работы? Дай бог одна нормальная игра за 10 лет изучения движка.
352 894599
>>4474
Ну у нас там конечно не какая-то мега крутая физика, чтобы волосы развевались, но с обычной физикой проблем не наблюдали каких-то
353 894600
>>4521
а зачем туториалы, когда есть документация и мы тут еще сидим не просто так
Снимок.PNG25 Кб, 753x468
354 894601
Есть 4 комнаты. Узнаю в какой я комнате просто спросив имя ноды. Есть кнопки. Мне нужно узнать показывать ли кнопку в комнате. Для определения в какой комнате можно показывать конкретную кнопку я решил использовать флажки. Всё работает, но как теперь с этим работать? Круто что мне энумератор выдаёт количество битов у него, но что мне с ними делать? Я понимаю как он работает. Типа если сложить вот эти и эти битки, то получится как раз как раз кол-во выбранных флажков, но мне нужно знать какие именно флажки выбраны. Тут нужно алгоритм какой-то, но я тупой и не могу придумать. ПОМОГИТЕ.
355 894603
>>4601
Это не флажки, это массив. Зачем тебе room_index и четыре константы? Если отображаемые кнопки по сути есть двоичное представление номера комнаты, то почему бы не
buttonX.visible = room_number & (1 << X)
buttonY.visible = room_number & (1 << Y)
buttonZ.visible = room_number & (1 << Z)
356 894606
>>4603

>это массив


Ну допустим, а мне говорит, что int.

>Зачем тебе room_index и четыре константы?


Да это я так просто потупил немного. По сути там только @export в тему, остальное - полёт фантазии.

>Если отображаемые кнопки по сути есть двоичное представление номера комнаты


Там всё немного не так. Но по сути кнопка должна отображаться в комнатах A, B, C, но не D. Или только в A, C. Вот какую систему я хочу сделать. Сейчас уже думаю просто сделать массив имён комнат и там проверять всё это.
357 894609
>>4606
Ещё у тебя есть вариант сделать массив флагов тогда, где индекс - номер комнаты и использовать >>4603 с небольшой модификацией room_array[room_number] вместо room_number Тогда например с массивом [1, 3, 4] у тебя отобразятся в первой первая кнопка, во второй первая и вторая, в третьей только третья
358 894610
>>4609
Понятно. Спасибо. А вот вообще есть способ узнать какие именно флажки активированы? То есть я то понимаю, что например если enum {a:1, b:2, c:4, d:8} равен = 3, то значит a и b активны, но как бы это каким-то алгоритмом определить.
359 894612
>>4610
Анончик, ты опять перепутал. Енам - есть по сути перечисление разных значений, в твоём случае интов. Флажки - определённый бит в инте. Определяется есть ли флажок или нет вот так >>4603 смещением единицы на столько разрядов, какой у тебя флажок. Почитай про битовые операции, например вот эту статью https://metanit.com/cpp/tutorial/2.8.php там хоть и для плюсов, но принцип во всех языках один
360 894613
>>4612
А бляпиздец. Лол. Вот что значит нихуя не программист. Спасибо что объяснил. Пизда рулю я чуть не упустил это знание.
361 894623
>>4613

> Пизда рулю я чуть не упустил это знание.


Когда впервые узнаёшь о битовых флагах - это такой кайф, на пару месяцев становишься байтоёбом и пихаешь флаги всюду. Я так пару лет назад когда узнал о флагах, пытался на них сделать составную стейтмашину. Что-то получалось, но функционал мне не удалось сделать более удобным или быстрым, чем просто стейт-машины.
362 894637
>>4300

>как использовать файлы из одной папки с исполняемым файлом


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.

Преимущества: игрок имеет доступ к файлам и может их использовать на своё усмотрение, а тебе не нужно делать обходные пути для загрузки файлов.
363 894638
>>4258

>когда надо подключать графику мотивации никакой, всё же уже работает


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

>>4260

>Делай минималистичную в Блокбенче


Она некрасивая получается. Дурацкий кубач...
364 894642
>>4638

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


Тебе надо в моддинг скайрима вкатываться, там как раз то самое и будет.
день и ночь.webm920 Кб, webm,
640x480, 0:25
365 894643
>>4475

>Тени для плавной смены времени дня я так и не осилил


Что конкретно не получается?

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

Если у тебя время в игре долгое относительно реального времени (сутки за 24-48 минут и дольше), тогда ты можешь позволить себе долгие паузы между поворотами источника света, чтобы сэкономить на обновлении теней и неба. На самом деле, в играх типа GTA можно заметить движение теней рывками, но в нормальном геймплее на такие мелочи внимание не обращаешь - нужно стоять на месте и внимательно следить за тенью, чтобы заметить. Если у тебя проблемы с "протеканием" света через щели, тени отстают от предметов, или есть какие-то другие артефакты - нужно подгонять параметры источника света.
366 894647
>>4638

>Она некрасивая получается. Дурацкий кубач...


Прокачивай стиль.
367 894654
>>4643

>Что конкретно не получается?


Тени полосами на домики ложаться.
368 894662
>>4654

>Тени полосами на домики ложаться.


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

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

У меня эти артефакты в SpotLight чаще всего были, DirectionalLight сравнительно беспроблемный.
369 894665
>>4662
я где-то читал, что одни настройки лучше подходят для теней падающих на вертикальные стены, а какие-то - на горизонтальные полы. А в опенворлде с динамическим временем получается засада, надо и те и те, и они сменяют друг друга. На статичной то сцене еще можно попытаться подобрать хорошие настройки, а там было буквально, починил тень на домике - полосит асфальт. В общем пока забил я.
370 894671
>>4665
Мне кажется, с домами тени лучше всего работают с shadow_reverse_cull_face = true.

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

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

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

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

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

Вот Godot использовать безопасно, потому что это широко известный проект, доказательств его бесплатности и открытости полно.
image.png258 Кб, 410x306
376 894753
>>4752

>Если игра внезапно выстрелит и принесёт миллионы

377 894779
>>4752
Я в ахуе просто. Зачем он его тогда выкладывал бесплатно на сайт с бесплатными ассетами?
378 894787
Как добавить 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)
379 894792
>>4779
Именно за этим. Ловля дурачков на живца.
380 894793
>>4779
Для того же, для чего и другие. Почесать свое ЧСВ, показать свой скилл, потренироваться, приобщиться, получить лойсы, привлечь внимание к своему аккаунту и к другим своим проектам. Я тоже выкладываю. Но у меня лицензия четко указана.
381 894801
>>4793
Ну вот представь, открываешь ты какой-нибудь гугл плей и видишь свой бесплатный ассет на иконке, рядом надпись - 10000 скачиваний. Твои действия?
382 894826
Как сделать так, чтобы Лейбл писал не все в одну строку, а расширялся вниз когда заканчивается место? Сейчас он растягивает просто одну строчку.
383 894828
>>4801

>видишь свой бесплатный ассет


Я если что-то бесплатно выкладываю, то всегда явно указываю либо CC BY SA (если медиа), либо GPL/LGPL (если софт). Так что, если увижу 10000 скачиваний, то порадуюсь, ведь там где-то мои копирайты.
мимо
384 894850
>>4826
RichTextLable можа?
387 894889
Игры делать сложно всё-таки. Я понял, что для меня делание игр это решение задач. Как сделать это, как сделать такую фичу, как сделать то. Как только я решаю задачу, игру уже лень допиливать. У меня нет творческих идей каких-то или потребности самовыразиться, мне нужно только искать решения.
388 894894
>>4889
Тру стори. Точно так же закончился и мой вкат в геймдев. Сижу теперь ИТТ, по привычке. Кстати вот тебе тема для размышлений: на годоте можно не только игоры делать. Вон чуваки сделали графический редактор для пиксельарта, Pixelorama. Так что, думой.
389 894972
для пиксельной и игры с видом сверху, какой лучше stretcj mode использовать?
391 895027
>>4990
Спасибо!
Жаль в оф доке нет отдельных мини-инструкций, типа user stroy под самые распространенные проекты, с сылками на нужные разделы
392 895095
Делайте игры. Кто сколько сделал уже?
Снимок.PNG19 Кб, 516x224
393 895109
Есть родительская нода. Получаю у неё первого ребёнка. Пытаюсь изменить ему атрибут. И нихуя. Как и почему? Код на пикче.
394 895110
>>5109
Ты изменяешь не ребёнку, а родителю. Ну и ты уверен что ты получаешь и попадаешь в этот цикл?
395 895111
>>5110

>Ты изменяешь не ребёнку, а родителю.


Сорян, что не пояснил, что так и нужно. Блять, я там вообще не то написал. Совсем уже голова не соображает. Всмысле я смотрю если у ребёнка чек стоит, то вырубаю родителя. Мне вот так нужно.

>Ну и ты уверен что ты получаешь и попадаешь в этот цикл?


Ну как бы я просто ребёнку в редакторе чек включал, тогда он вырубает родителя как нужно.
396 895113
>>5111
А. У меня же ещё там переход между сценами. Я так понимаю при смене сцены параметры не сохраняются? Ну типа я чекнул кнопку, перешёл в другую сцену, потом вернулся обратно и оно не сохранилось чтоль? А как тогда сохранять?
397 895114
>>5111
Чёт всё ещё не очень понятно что у тебя происходит, но в любом случае ты можешь эту проверку на "parent.visible = not button.is_pressed()"
>>5113
Берёшь и пишешь в нужное место, например в глобальную переменную или ещё какое хранилище нужное состояние, и в реди каждый раз ставишь кнопкам нужное.

Вообще я не понимаю что ты делаешь, у тебя кноки или чекбоксы? У кнопки нет checked, а у чекбокса он отвечает за текстуру. Проверять включен чекбокс или нет надо через is_pressed()
398 895115
>>5114
Спасибо за помощь. Я понял, что обосрался с сохранением. При переходе из одной сцены в другую в прошлой сцене всё на дефолт прыгает. Буду думать как лучше сохранять всё.

>Вообще я не понимаю что ты делаешь, у тебя кноки или чекбоксы? У кнопки нет checked, а у чекбокса он отвечает за текстуру.


Да это свой кастомный параметр на кнопке. Обычная кнопка.
399 895116
>>5115
Если простая кнопка, то почему бы не добавить выключение видимости на нажатие этой кнопки?
400 895118
>>5116
Там в зависимости от комнаты свои кнопки в каждой. При переходе в комнату идёт проверка какие кнопки показывать. На реди идёт дрочь с визиблами жёсткий. Этот самый checked как раз и нужен чтоб не показывать кнопку если на неё хоть раз нажимали. Соррян, что криво объясняю я просто сижу сейчас как овощь ничего не соображаю. День не удачный.
401 895120
>>5118
Ну так храни для каждой комнаты переменную, массив или словарь, в котором ты будешь отмечать кого рисовать, а кого нет. Меняй его по нажатию в функции обработки нажатия, назначай его при переходе в комнату, выгружай в удобное тебе хранилище при переходе из неё. Кнопкам тогда не нужно хранить статус своей девственности.
402 895122
>>5120
Да вот да. Спасибо за помощь. Я решил в ресурсе хранить.
403 895146
>>4990
При использовании вьюпорт + кип спрайт дергается придвижении по диагонали. При канвас итем + кип есть периодические поддергивания при горизонтальном/вертикальном движении
image.png66 Кб, 829x449
404 895157
Godot 4
Делаю top down игру. Так понимаю в четвертой части velocity по дефолту учтен в move_and_slide, как и delta. Норм такой код, ничего не упустил в базовых аспектах?
405 895175
>>5157
Давно есть фукнкция которая сразу возвращает нормализованный вектор и учитывает дедзоны
Input.get_vector("left", "right", "up", "down")
406 895180
Дано:
- Вид сверху
- Движение по 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.
Но может есть более лаконичное решение?
407 895181
>>5180
Естественно исчезает, ты же в таком случае присваиваешь scale = 0.
408 895185
>>5181
дык это ясно

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

>>5180
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")
1692874957026.jpg62 Кб, 700x933
409 895230
>>5185

> чем через доп переменную


> if input_vector.x != 0


> elif input_vector.x == 0


> else:


Перестань мыслить переменными, начни мыслить стейтмашинами. В стейтмашине у тебя не потребуется вообще делать дополнительные проверки, или вводить дополнительные переменные.
410 895235
Стейт машины это база для любой игры?
411 895257
>>5235
Любой сложнее змейки
412 895259
>>5235
Вот, читани базу. Если не можешь в инглиш - переводчики на любой вкус.
https://gameprogrammingpatterns.com/state.html
413 895267
Пришло время почистить правила фаервола, сами они себя не почистят.
414 895269
>>5267
Установи годот через scoop и тогда у тебя будет одно единственное, обновляющеееся приложение по пути %username%/scoop/apps/godot/current
И тогда фаервол не будет срать себе в правила разными версиями godot_version.exe
415 895270
>>5269
Не доверяю.
416 895271
>>5270
В смысле, не доверяешь?
Что конкретно тебя настораживает?
1692903286054.png13 Кб, 452x277
417 895278
>>5270
Вот тебе один маленький скриншот с официального сайта скупа, со страницы с букетами. Знакомых ников не видишь?
418 895280
>>5278
Кто такой калина
1692903914977.png16 Кб, 357x282
419 895282
>>5280
Лучший пони.
420 895315
>>5267
зачем все это?
421 895332
>>5315
Двачую, один хуй через полгода венда засрётся и придёт время переустанавливать.
422 895336
>>5332
да десятка годами стоит, проблем нет, если вот ее не засирать всякие типа как на скринах
423 895342
>>5336
Подъебал-подъебал.
TL;DR: Мокрописечка на скринах устанавливает портативные приложения, в том числе она принудительно делает портативными непортативные.
А теперь в подробностях:
Мокрописечка на скринах устанавливается локально для юзера, как скрипт помершелла. На других юзеров и на систему влияния не оказывает (в конфиге по умолчанию не оказывает, а если юзер достаточно умён чтобы залезть в конфиг scoop'а, то в любом случае уже он несет ответ за свои действия). Если вдруг тревожному юзеру показалось, что scoop засрал ему систему, он в общем случае просто заводит новую учётку, перекидывает туда конфиг браузера с паролями и просто без задней мысли сносит старую учётку. И всё. В системе не остаётся никаких следов scoop и приложух, установленных им.

У этого приложения есть недостатки, но в вопросе установки годота там недостатков нет. Установка максимально приближена к линуксу:
1. scoop install godot
2. godot
И всё! Редактор запускается.
424 895343
>>5315
Что "зачем"? Каждая новая версия (3.5, 3.5.2, и т.д) показывала свое окошко фаервола и добавляла правило.
425 895349
Вы чо ебанутые? Игры давайте делайте. Опять хуитой какой-то занимаетесь, файрволллы какие-то блять вам мешают, винды, охуеть вообще. Чего несете? Игры делайте.
426 895359
>>5349
Мотивации игры делать не хватает. Но я все равно через силу открываю годот просто чтобы рука сама потянулась что-то сделать.
427 895361
>>5349

> Игры делайте.


Я хочу делать аддоны годота. Посоветуйте, какой бы сделать? Чего вам не хватает для пущего удобства, годаны? Оставляйте заявки ИТТ.
428 895362
>>5361
Нормальную интеграцию С# в редактор
429 895363
>>5362
Для шарпа есть мскоде, который в одиночку никто не догонит. И вот в мскоде уже есть интеграция годота. Так что нинужон. Еще предложения?
430 895366
>>5361
При комментировании одной линии через хоткей нужен переход на строку ниже. Так во многих редакторах. А в годотю не везут.
1537624207543.mp42,8 Мб, mp4,
1280x700, 0:35
431 895367
>>5362
Год назад был такой прототип, но скорее всего автор не доделал.
432 895372
Заработал 36 копеек.
433 895387
>>5372
Слепящий вин! Накрывай на стол! Я - за пузырём!
434 895397
>>5387
За ночь уже 76 накапало. К сожалению, мне кажется на этом доходы резко пойдут вниз.
435 895398
>>5397
Все так. Первая неделя-полторы самые заметные, если тебя потом ВНЕЗАПНО не заревьюит какой-нибудь блоггер.

Но начало хорошее. На какую платформу выложил?
436 895399
>>5398
Я надеюсь ты понимаешь, что это не шутка и не игривое преуменьшение, это не 36к, это реально 36 копеек

На запретную платформу с последней буквой алфавита в названии.
1693050013697.jpg56 Кб, 750x500
437 895400
>>5399

> с последней буквой алфавита в названии

438 895401
>>5399

>это реально 36 копеек


Я надеюсь ты понимаешь что это уже круче чем большинство ноудевов из /gd когда-либо сможет достичь. Продолжай работать.
439 895412
>>5399
А почему кто-то должен считать это шуткой?
Ты выложил на не особо популярной платформе, наверняка даже в рекламу не вкладывался, да и игра скорее всего слеплена за пару недель и не какой-то шедевр.
440 895453
>>5372
Я за два года заработал 73$. А там вывод на площадке от 150. То есть через 2,5 года у меня будет первая зарплата. Такие дела лол.
441 895470
>>5342

> вопросе установки годота


чел, скачал exe нужный с сайта, запустил его
442 895476
>>5470

> чел


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

> exe нужный с сайта


Будет регистрироваться там отдельно при первом запуске.
А при установке через scoop экзешник всегда будет один, но будет меняться, следовательно и правило брандмауэра будет одно. И это один из минусов искаробочного брандмауэра. Сторонние фаерволы контрольные суммы хотя бы сверяют, а этому всё похуй. Ебёшь-ебёшь, а хуй-то выпал!
443 895491
>>0164 (OP)
Хочу зделоть свою вайфу в виде приложения на смартфон на данном движке, какие подводные? Четвёрка всё ещё умеет экономить батарейку или будет сжирать 100% за 6 часов на простейшей 2Д графике как печально известная юнити? Можно ли из коробки создать фоновый процесс (работает даже если закрыть игру) и выдавать системные оповещения (сверху, под шторкой) по таймеру? Или придётся ковырять компиляцию C++, чтобы реализовать подобные фичи?

Алсо, кто-нибудь уже разобрался, как сделать 2Д анимации в стиле Live2D? Как-то сложно всё.
444 895499
>>5267

>Пришло время почистить правила фаервола


Зачем? Они тебе чем-то мешают? Зачем ты вообще в фаервол лезешь?

>>5332

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


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

>>5476

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


Не смотри в этот список и не будет проблемы.

>один из минусов искаробочного брандмауэра


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

>при установке через scoop экзешник всегда будет один


>контрольные суммы хотя бы сверяют


Так ведь у тебя scoop один и тот же, контрольная сумма у него поменяется только при обновлении...

Алсо, а если мне нужны разные версии Godot? У меня даже до выпуска 4.0 было несколько версий в одной папке, все подписаны разными именами и имеют индивидуальные ярлыки. Мне не нужен один "godot.exe". У серьёзных разрабов наверняка каждая стабильная версия хранится. По этой причине я даже не пробовал что-то делать с версией из Steam, ведь она будет автоматически обновляться с заменой старой версии. Единственно верный способ использования игрового движка и любого другого подобного ПО - это раскладывать всё строго по номерам версий. Blender сечёт фишку - устанавливается в отдельную папку с номером версии (blender/x.y/, где x.y - версия), а не поверх старой версии, и старую версию ты сам можешь удалить или оставить по желанию/необходимости. Godot отдельные папки не нужны, но разные названия у разных версий следует сохранять.
444 895499
>>5267

>Пришло время почистить правила фаервола


Зачем? Они тебе чем-то мешают? Зачем ты вообще в фаервол лезешь?

>>5332

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


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

>>5476

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


Не смотри в этот список и не будет проблемы.

>один из минусов искаробочного брандмауэра


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

>при установке через scoop экзешник всегда будет один


>контрольные суммы хотя бы сверяют


Так ведь у тебя scoop один и тот же, контрольная сумма у него поменяется только при обновлении...

Алсо, а если мне нужны разные версии Godot? У меня даже до выпуска 4.0 было несколько версий в одной папке, все подписаны разными именами и имеют индивидуальные ярлыки. Мне не нужен один "godot.exe". У серьёзных разрабов наверняка каждая стабильная версия хранится. По этой причине я даже не пробовал что-то делать с версией из Steam, ведь она будет автоматически обновляться с заменой старой версии. Единственно верный способ использования игрового движка и любого другого подобного ПО - это раскладывать всё строго по номерам версий. Blender сечёт фишку - устанавливается в отдельную папку с номером версии (blender/x.y/, где x.y - версия), а не поверх старой версии, и старую версию ты сам можешь удалить или оставить по желанию/необходимости. Godot отдельные папки не нужны, но разные названия у разных версий следует сохранять.
445 895504
>>5113

>У меня же ещё там переход между сценами. Я так понимаю при смене сцены параметры не сохраняются?


ИМХО, если делаешь что-то вроде "комнат" в JRPG или метроидвании, то лучше написать свой велосипед, чем пользоваться встроенным переключением сцен. Встроенное переключение сцен больше подходит для игр типа "набор головоломок", в которых запуск уровня всегда должен быть одинаковым. Для любых других игр, где состояние "комнаты" может меняться, лучше написать свой менеджер комнат, чем обвязывать встроенный инструмент костылями.

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

Так что для большого мира из множества комнат лучше заранее написать независимую систему, не трогая встроенную фичу переключения сцен.
446 895510
>>5180

>Player_sprite.scale.x = sign(input_vector.x)


>Player_animation.play("Walk")


А не лучше ли перенести разворот спрайта в систему анимации, чтобы не было лишнего кода?
https://docs.godotengine.org/en/stable/tutorials/animation/animation_tree.html#blendspace2d
Тогда всё происходящее со спрайтом будет описано декларативно в системе анимации, а в коде будешь только передавать вектор в систему анимации.

>>5230

>мыслить стейтмашинами


>>5235

>Стейт машины это база


>>5259

>читани базу


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

Проблема конечных автоматов в том, что ты должен самостоятельно вручную спланировать все состояния и переходы между ними. Это рационально делать только для очень простой системы, где количество состояний не просто конечно, а обозримо. А то число возможных миров майнкрафта тоже конечно...
447 895513
>>5349

>Игры давайте делайте.


Мне нравится геймдев и решать простые задачки, но полноценную игру я никогда не сделаю. Слишком много всего нужно сделать - арт, звук, левелдизайн (даже для песочницы без сюжета), потом маркетинг чтобы проект не пропал на дне интернетов... а всё зачем? Ради лайков? Чёт вообще не мотивирует.

>>5359

>Мотивации игры делать не хватает.


Всё так, даже комп включить лень...

>>5361

>Я хочу делать аддоны годота. Посоветуйте, какой бы сделать? Чего вам не хватает для пущего удобства, годаны? Оставляйте заявки ИТТ.


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

>>5366

>При комментировании одной линии через хоткей нужен переход на строку ниже.


Зачем? А если мне нужен переход на строчку выше? Или вообще в другой файл/вкладку? Или на N>1 строк ниже? Или вообще переход не нужен? На одну строчку вниз я и сам могу нажать стрелку на клавиатуре на автомате, даже не осознавая этого. Ненавижу, когда редактор решает за меня что-то, что потом приходится отменять/исправлять. Больше всего бесят парные скобки, которые вечно не туда вставляются или съедают уже имеющиеся скобки и всё заново вручную пересчитывать приходится - кто придумал, что автоматически ставить закрывающую скобку сразу после открывающей - это что-то хорошее? А кто придумал НЕ ставить закрывающую, если закрывающая уже есть? Вот из-за таких "интеллектуальных" фич простой Блокнот лучше любой навороченной IDE, потому что Блокнот не ставит тебе палки в колёса после каждого нажатия клавиши. Вот подсветка синтаксиса, блоков кода (линеечкой слева) и т.д. - это хорошо и полезно, а такие автоматические действия невпопад НИНУЖНЫ.
447 895513
>>5349

>Игры давайте делайте.


Мне нравится геймдев и решать простые задачки, но полноценную игру я никогда не сделаю. Слишком много всего нужно сделать - арт, звук, левелдизайн (даже для песочницы без сюжета), потом маркетинг чтобы проект не пропал на дне интернетов... а всё зачем? Ради лайков? Чёт вообще не мотивирует.

>>5359

>Мотивации игры делать не хватает.


Всё так, даже комп включить лень...

>>5361

>Я хочу делать аддоны годота. Посоветуйте, какой бы сделать? Чего вам не хватает для пущего удобства, годаны? Оставляйте заявки ИТТ.


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

>>5366

>При комментировании одной линии через хоткей нужен переход на строку ниже.


Зачем? А если мне нужен переход на строчку выше? Или вообще в другой файл/вкладку? Или на N>1 строк ниже? Или вообще переход не нужен? На одну строчку вниз я и сам могу нажать стрелку на клавиатуре на автомате, даже не осознавая этого. Ненавижу, когда редактор решает за меня что-то, что потом приходится отменять/исправлять. Больше всего бесят парные скобки, которые вечно не туда вставляются или съедают уже имеющиеся скобки и всё заново вручную пересчитывать приходится - кто придумал, что автоматически ставить закрывающую скобку сразу после открывающей - это что-то хорошее? А кто придумал НЕ ставить закрывающую, если закрывающая уже есть? Вот из-за таких "интеллектуальных" фич простой Блокнот лучше любой навороченной IDE, потому что Блокнот не ставит тебе палки в колёса после каждого нажатия клавиши. Вот подсветка синтаксиса, блоков кода (линеечкой слева) и т.д. - это хорошо и полезно, а такие автоматические действия невпопад НИНУЖНЫ.
448 895523
я вот хочу свой резидент калыч 1 делать, желательно с пошаговой тактической боевкой под дынду/спешл фолачевский
в 2д
в рпгмейкере вроде даже готовый ре инвентарь уже гуглится, но я так понял заебусь делать боевку и проще уж годот курить
и что выбирать?
449 895527
>>5499

> Не смотри в этот список и не будет проблемы.


Не смотрю.

> А он тебе вообще нужен?


Не нужен.

> Так ведь у тебя scoop


Да, scoop у меня.
450 895528
>>5513

> Я бы хотел инструмент, который графически рисует все связи между файлами проекта: tscn, tres, gd и т.д.


В шапке есть.
https://godotengine.org/asset-library/asset/879
451 895550
Как же хочется издаваться на itch.io, чтобы однажды увидеть счастливый донат в 10 долларов от американца в 4 часа утра потому что ему понравилась атмосфера твоей игры....

Но я заперт в РФ.
452 895552
>>5550
Ты заперт в своей прокрастинации.
453 895553
>>5552
Это правда. Но я делаю игру. Просто на итче я не выведу деньги никогда.
454 895554
>>5550
Тебе ничего не мешает так и сделать. Вот только вывести ты 10 баксов потом не сможешь.
455 895560
Заработал 6 рублей. Вкат с полного ноля произошел больше месяца назад.
GAL.png110 Кб, 1153x937
456 895570
>>5523
ты же в курсе, что у Godot уже давно свой asset store есть с кучей всего уже готового?
457 895586
>>5570
STORE
@
ПРОДАВАТЬ НЕЛЬЗЯ
458 895592
>>5586
Я бы задал вопрос, обязательно ли на семантическом уровне слово STORE подразумевает продажу, но это вопрос для лингвача. Такшта не будем.
169321898335348474.jpg157 Кб, 1079x1724
459 895597
>>5592
Ну какбэ очевидно что нет.
460 895619
>>5528

>asset/879


1. Он не автоматический.
2. Можно только группировать файлы и всё.
3. Я знаю о нём и пробовал. Повторяю: это не то.
461 895620
>>5523

>готовый инвентарь


Не ленись и сделай свой. Или выбери один из:
https://godotengine.org/asset-library/asset?filter=inventory

Но я бы сделал свой, иначе зачем игра? Просто ассеты слепить и выложить в маркет? Тьфу...
462 895644
>>5620
Лепить свой надо хотя бы по той причине, что инвентарь должен взаимодействовать с другими твоими элементами, а вот посмотреть как сделаны разные моменты...
463 895652
>>5644

> а вот посмотреть как сделаны разные моменты


О да, там бесконечное количество вариантов. Я в прошлом году плотно интересовался темой, досконально изучил вдоль и поперёк, ознакомился с различными подходами и могу сказать, что инвентарь в общем случае это КРУД, если ты пришел в геймдев из ентерпрайза, то тебе будет вдвойне легко пилить менеджмент инвентаря.
464 895658
>>5652

>инвентарь в общем случае это


Массив предметов.

>inventory.append(item)


>inventory.erase(item)


>inventory.sort_custom(func(a, b): return a.name > b.name)


И т.д. Как это отображать - другой вопрос.

CRUD слишком абстрактный принцип, не?
465 895659
>>5592
А зря. Был бы платный - я бы возможно даже покодил для годотей что-нибудь.
466 895661
Делайте игры.
467 895672
>>5658

> Inventory.create(item)


> Inventory.read(item)


> Inventory.update(item)


> Inventory.delete(item)


> Как это отображать - другой вопрос.


Карочи, ебош интерфейс в стиле SkyUI это такой мод для скайрима. Удобнее я в жизни не видел.
468 895695
>>5661
Я делаю. Но тяжело. Хочется депрессию вылечить, чтобы игры больше ценить.
469 895697
>>5499

>Зачем ты вообще в фаервол лезешь?


Надо было и зашел, что за вопрос вообще? Настраивал порт для сервиса нужного.

>Они тебе чем-то мешают?


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

>в отличие от кернел паник симулятора


Перешел на дебиан больше года, никаких проблем, кроме первых трех дней активной настройки.
>>5476

>при установке через scoop экзешник всегда будет один, но будет меняться,


Не подходит моему воркфлоу, например я люблю делать в 3.6 бете, но для джемов я беру стейбл 3.5.2, потому что на готм.ио только последний стейбл, еще естбюь в проде проект с модулями под 3.4 и никто не будет его переводить, но контент изредка еще добавляем. Еще редко бывает надо одновременно запустить старую и новую версию даижка, чтобы сравнить поведение ассета или демки, или победить в споре в интернете.
470 895700
Что-то сделал и перестали работать все AudioStreamPlayer'ы. Я даже не заметил что я мог такого нажать, а они не работают. Если в редакторе нажать "playing" я слышу их, эти звуки есть, но в самой игре они просто перестали играть.
Годо 3.5.2
Кто-то сталкивался с таким?
471 895701
>>5700
Внизу редактора, там где output, есть вкладка аудио. Посмотри там. Может ты на мьют поставил глобально или аудиопоток перенаправил в задницу.
472 895704
>>5504
Да я уж понял. Спасибо. Решил пользоваться встроенным переключением поменьше. Храню все данные в ресурсах. Пока нормально, как дойду до масштабирования, там уже посмотри.
473 895705
Хочу время на экране показывать в формате 00:00. Как-то можно это сделать легко, или нужно что-то придумывать лютое?
474 895709
>>5705
Создаёшь лейб на экране самым верхним слоем, в процесс() меняешь текст на текущее время.
475 895710
>>5586

>STORE


>@


>ПРОДАВАТЬ НЕЛЬЗЯ


назвал для понятности, в оригинале там даже на скрине видно Asset Library
476 895711
>>5710
LIBRARY
@
НЕ ДАЮТ ЧИТАТЕЛЬСКИЙ БИЛЕТ
477 895726
>>5709
Не, падажи. Я не это имел ввиду. Я имел ввиду игровое время. Оно там не двигается, пока код не скажет.
478 895727
>>5726
Тогда в реди запускаешь таймер, и его же выводишь в процесс
479 895744
>>5727
Спасибо.
480 895754
У вас не было такого, когда учишься, что все вопросы/задачи итт и везде делятся на очень легкие (какая нода для этого, в интерфейсе не могу понять это итп) и очень сложные(пишу шейдер в 1000 строк где-то баг помогите, надо рассчитать сложную математику с векторами чтобы сделать реалистичные потоки ветра), а средней сложности очень мало?

Как будто есть только нубы, которые зашли месяц назад (вроде меня) и титаны, которые тут сидят 5 лет. А те кто сидят год например не показываются...
481 895758
>>5754
Те кто сидят год заняты деланием игр. Вопросы спрашивают нубы, отвечают на них титаны. Остальные заняты. И ты давай игры делай.
482 895759
>>5711
это общественная библиотека, там не спрашивают билетов
483 895768
>>5754
Так может просто мидловые вопросы тебе кажутся очень сложными.
484 895769
>>5586
Во сейчас все вебмакаки удивились
https://reactdev.ru/libs/redux/basics/Store/
>>5659
Если бы да кабы. Ты просто хвастун. Если бы умел, уже накодил бы и лутал донаты или туториалы.
485 895797
Годаны, я не нуб и более-менее имею ответ на свой вопрос. Но интересует ваше мнение, как бы вы такое реализовали, потому что, возможно, я чего-то не знаю или просто моё решение недостаточно хорошее.
Итак. 2D-персонаж собран из кусков, т.н. cutout-анимация. Анимировать было бы очень неплохо с использованием IK-цепочек. Анимации рук отдельно (под разные виды оружия), ног отдельно (под разные виды перемещения), можно независимо комбинировать. Умирая, персонаж превращается в рэгдолл и двигается по физике.
Спрашивается. Опишите в общих чертах структуру нод такого персонажа, как на ваш взгляд лучше. Ну и как бы вы выстраивали анимацию.
И да. 3.5 или 4.х? Я в четвёрке попробовал потыкать в новые ноды, которые в моём представлении должны иметь к этому всему отношение, нихуя не понял.
486 895809
Лучше игр нет ничего. Это и самая вариативная форма искусства.
487 895826
>>5809
Только делать сложно, блять.
488 895827
>>5826
А другие виды искусства делать легко?
489 895828
>>5827
Другие искусства не настолько составные из чужих искусств. А тут будь специалистом по всему. Гейм дизайнером, UX/IU дизайнером, кодером, тестером, рисовакой, 3д модельщиком, аниматором, музыкантом, звуканом, сценаристом, пиарщиком, вообще охуеть.
490 895832
>>5828
Но большую часть этого можно просто купить или использовать бесплатные ассеты
491 895836
>>5832
Или сгенерить сеткой, она даже фрагменты кода подскажет как писать
492 895838
>>5672
Ну давай разберём по пунктам тобою написанное.

>Inventory.create(item)


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

>Inventory.read(item)


Зачем тебе функция чтения, если тебе обычно нужен список всех предметов или конкретный предмет? Предметы не на диске хранятся, их не нужно читать.

>Inventory.update(item)


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

>Inventory.delete(item)


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

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

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

>интерфейс в стиле SkyUI


>Удобнее я в жизни не видел


Какие-то таблички, лол. Зачем игровые движки, когда подобную игру можно сделать в экселе на формулах?
challenge vs skill.jpg57 Кб, 600x600
493 895841
>>5754

>средней сложности очень мало


Щас разберём психологичненько.

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

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

Средние задачи НИНУЖНЫ.
494 895843
>>5809

>самая вариативная форма искусства


>>5827

>другие виды искусства


>>5832

>купить или использовать бесплатные ассеты


>>5836

>Или сгенерить сеткой


Ну и в чём тогда "искусство"? В расстановке по сцене готовых бесплатных ассетов и подключении к ним готовых бесплатных скриптов? 10 искусств из 10.

>>5814 (Del)

>служите Аргентине


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

>отечественное Фалько Двигло


Ты сначала выложи исходники под лицензией MIT или аналогичной, а потом поговорим. Ты ведь тоже взял за основу какое-то открытое ПО, а не целиком с нуля делал, а теперь не хочешь отдавать.
495 895847
>>5797

>Анимации рук отдельно (под разные виды оружия), ног отдельно (под разные виды перемещения), можно независимо комбинировать.


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


А что тут описывать? Делаешь персонажа, делаешь отдельные анимации в AnimationPlayer, соединяешь анимации в AnimationTree как тебе угодно.
https://docs.godotengine.org/en/stable/tutorials/animation/animation_tree.html

>И да. 3.5 или 4.х?


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

Если планируешь несколько лет копаться с проектом мечты, тогда сразу начинай на четвёрке, потому что тройка больше развиваться не будет, а четвёрка по мере твоего копания сильно улучшится.
1693392103133.jpg43 Кб, 225x350
496 895862
>>5814 (Del)
Свали отсюда нахуй, блядь, в свой тред.
497 895880
Сап, я ни в движках, ни в ЯП не шарю, но слышал про godot, смогу ли я опираясь на хульен уроков/курсов по godot'у понять как сделать простенькую игору в стиле платформера например?
image.png22 Кб, 640x314
498 895884
>>5880

>смогу ли я


Гарантий нет, но попробуй.

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

Главное - не сдаваться.
499 895892
Че делать если в мире нейронок страшно жить? Надо сделать игру: бекграунд берешь с нейронки, спрайт берешь с нейронки, музыку берешь с нейронки, какой-то нарратив и продающие тексты берешь с нейронки, даже половину кода берешь с нейронки. До этого нужна была человеческая мысль чтобы произвести эти вещи.
# OP 500 895893
>>5892

> Че делать если в мире нейронок страшно жить?


Перекатывать треды. А там уж разберешься.

Предлагайте арт для переката.
501 895896
>>5892
А всё это собирать кто будет и придумывать что генерить?
1693416118718.jpg13 Кб, 400x400
ПЕРЕКАТ # OP 502 895907
503 895909
>>5892

>Че делать в мире нейронок


Делать нейронку, которая делает игры вместо тебя.

>человеческая мысль


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

>>5896

>А всё это собирать кто будет


Специальная нейронка-сборщик.

>придумывать что генерить


var result = ""
for i in randi() % a + b:
result += words[randi() % words.size()] + " "
return result
504 896002
>>5841
хуйня какая-то. У высокоскиллового сложные задачи так же вызывают фрустрацию, а не какой-то флоу. Какая то девочка психологиня просто от балды слова накидала.
505 896004
>>5809
Игры не искусство. В них, конечно, бывает искусство в качестве некоторых составных элементов. Например, футбол игра, но не искусство, хотя в нем есть искусство в виде логотипов на футболках, и иногда некоторые позы можно отнести к нему.
Flow State.jpg54 Кб, 1446x1089
506 896099
>>6002

>девочка психологиня


https://ru.wikipedia.org/wiki/Чиксентмихайи_Михай

>У высокоскиллового сложные задачи так же вызывают фрустрацию


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

>>6004

>Игры не искусство


>футбол игра


Футбол не игра, а спорт. А вот видеоигра про футбол - это как раз искусство. Видеоигра по сути ближе к мячику, воротам, ровно подстриженному газону и т.д., тогда как в спорте "игрой" называют процесс взаимодействия, а не инструменты. Видеоигра - это не процесс, а результат деятельности творцов (программистов, художников, дизайнеров, музыкантов и т.д.), т.е. предмет искусства. Вот непосредственное использование видеоигры по прямому назначению обычно не является искусством, хотя и тут есть исключения - машиниму, летсплеи, спидраны и прочее подобное можно назвать искусством.
507 896109
>>6099
Игра - это программа с правилами геймплея, то есть именно игра как футбол. С вкраплениями элементов искусства (картинки, музыка) которых я и не отрицал.
508 896110
>>6099

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


Ну и вот мячик, ворота, газон искусством не называют же.
509 896287
>>6099

>Футбол не игра, а спорт.


Футбол это игра, но может быть и спортом. Ведь вопрос только в том с какой целью. Ведь каждую игру можно превратить в спорт просто поставив соревновательную цель.
510 896325
https://youtu.be/VHKAyNL7RvU

Пацаны оцените щас ещё приседания прикручу и вообще сказка будет кто хочет го ко мне в команду делаю шутер иммёрсив сим! йоооу!
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 11 сентября в 20:17.

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

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