ФлеймФорумПрограммирование

Система которая сама генерирует код для решения задачи. (2 стр)

Страницы: 1 2 3 4 Следующая »
#15
21:50, 15 сен 2025

kipar
> В любом случае эта тема определенно не про ецс, ецс это просто еще один подход к архитектуре, кодить там надо точно также вручную как и раньше.

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

#16
22:16, 15 сен 2025

kipar
> > Когда ты один кодишь, то не нужно так заморачиваться.
> А я выяснил что мне это удобнее именно когда делаю один.
Не нужно писать мелким шрифтом, у меня монитор маленький.
Значит ты неправильно кодил, это не может быть впринципе удобней.

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

kipar
> В любом случае эта тема определенно не про ецс
Мы во флейме "нас не догонят ".

#17
22:17, 15 сен 2025

0iStalker
> если два разных объекта выполняют некоторое поведение одинаковым образом, соответствующая система обработает не задумываясь. В итоге код, как бы, для ещё одного, как бы нового, объекта писать не надо.
Ты говоришь о функциях?

#18
(Правка: 22:51) 22:48, 15 сен 2025

Ren
> Ты говоришь о функциях?

Нед. Я говорю про генерацию новых сущностей из уже имеющихся поведений (но, возможно, с разными настройками).

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

#19
(Правка: 23:30) 23:25, 15 сен 2025

0iStalker
> Нед. Я говорю про генерацию новых сущностей из уже имеющихся поведений (но, возможно, с разными настройками).
Функция - это поведение. Во входных настройках функции есть параметры, например ID персонажа.
Ты можешь рандомно запускать любое поведение для любого персонажа на рандомный промежуток времени.

0iStalker
> Для примера, на космическую тематику... чем отличается для игры метеорит от астероида?  Собственно, ничем, кроме массы и графического скина. Зачем тогда для каждой сущности писать свой код заново?
Отдельное спасибо за космическую тематику.
У меня есть параметр у любого космического объекта type_line. Который определяет тип его траектории. Например круговая ( вокруг материнского обьекта) или линейная.

Соотвественно две функции обработки круговая и линейная. На основе этих двух функций раз в тик обрабатываются все объекты которые есть во «вселенной». Например Земля крутится вокруг Солнца, Луна вокруг Земли, станция DS9 вокруг Луны, МКС вокруг Земли и все эти объекты обрабатываются одной функцией кругового движения.

Также например и гравитационное влияние отрабатывается «каждый с каждым» на основе одной функции

#20
23:46, 15 сен 2025

0iStalker
> Для примера, на космическую тематику... чем отличается для игры метеорит от астероида?  Собственно, ничем, кроме массы и графического скина. Зачем тогда для каждой сущности писать свой код заново?
Вопрос очень философский. Это как ты будешь классифицировать эти сущности, где грань между тем одинаковые эти сущности или нет? Для компьютера этой грани нет. Что бы было удобней кодить мы делим эти сущности по каким то параметрам. Я не могу это внятно объяснить ибо я не учитель. В самом простом случае, что бы багов не было, если код огромный и работающий, то зачем ломать код метеора, если можно скопировать и подправить код для астеройда. Это вопрос удобства. А вот когда пытаются следовать какой то парадигме, то в угоду ей могут ломать то что работает.

#21
0:38, 16 сен 2025

RikiTikiTak
> Значит ты неправильно кодил, это не может быть впринципе удобней.
Нет, я кодил правильно, но ецс еще удобней. Ты просто не пробовал на нем писать.

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

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

0iStalker
> Зачем тогда для каждой сущности писать свой код заново?
ну это и ооп и компонентному (который EC без S, как в юнити/годоте) подходу свойственно, соответственно либо наследуют от общего предка либо добавляют логику как компонент. Там проблемы дальше начинаются, когда астероидам добавляют одно, кометам другое, метеоритам третье, а дальше вдруг нужны всякие оамуе и прочие граничные случаи, которые на заранее продуманную архитектуру не ложатся. Вот тогда ецс в полной мере раскрывается.

#22
1:52, 16 сен 2025

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

#23
1:56, 16 сен 2025

kipar
> > зачем ломать код метеора, если можно скопировать и подправить код для астеройда.
> ахаха, вот с таким подходом ты вряд ли игру сделаешь, потому что теперь если что-то в этом коде поменяется, тебе придется не забыть менять это в двух местах.
Понимаешь я это всё терплю тут в надежде что мне помогут с тувинскими субтитрами. Я точно не помню в какой игре (так как у меня огромные дефекты с памятью!), вроде это звездные войны "рыцари старой республики", так там в движке прописаны 3 персонажа и ничего изменить уже было нельзя. Если сами биовары в мировом своём шедевре делали места которые в последствии изменить нельзя, то почему мне должно быть зазорно перенимать такую практику? Это раз.
Два. Если я не сделаю изменения в коде который работает, то что может произойти? Вот подумай над этим.
Если я работаю в вижуал студии, а не в каком то гавне, какая трудность изменить код в двух местах? В десяти местах? Вот в сотни уже трудность будет, поэтому у меня есть выбор, увидеть закономерность и сделать всё универсально или сделать уникально для каждого случая, потому что я не ограничиваюсь какой то парадигмой. Это три.
Четыре. Безопасней проверить код на одном объекте, а потом изменять другой, чем когда у тебя не будет на чём проверить. И если увидеть закономерность то можно всегда лишнее удалить и объединить, то есть отрефакторить.

    kipar
> я про игры с джемов и похожие, которые делаются от недели до н месяцев одним человеком. Это 100-200кб кода примерно. Мне хватало чтобы начинать путаться если писать на ооп, особенно учитывая жесткие сроки.
Я не шарю в килобайтах. Что ты имеешь ввиду писать на ООП? Как я уже писал где то, в каждом языке он свой. Ты пытался использовать солид?

kipar
> Нет, я кодил правильно, но ецс еще удобней. Ты просто не пробовал на нем писать.
В играх на которые я ровняюсь никто не пробывал, я не герой что бы быть первым.

#24
2:20, 16 сен 2025

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

#25
2:25, 16 сен 2025

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

#26
2:30, 16 сен 2025

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

#27
10:28, 16 сен 2025

RikiTikiTak
> Четыре. Безопасней проверить код на одном объекте, а потом изменять другой, чем когда у тебя не будет на чём проверить
когда есть контроль версий то "безопасно" менять что угодно,  откатить не проблема.
В остальном - ну, это просто совет. сначала в одном месте скопировал и поменял, потом в другом, в итоге поправить уже ничего нельзя будет, будешь гоняться за одними и теми же ошибками. Но это видимо надо прочувствовать на себе, без этого объяснять бесполезно.

> Как я уже писал где то, в каждом языке он свой. Ты пытался использовать солид?
я на разных писал. Про солид даже не слышал тогда.

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

#28
11:17, 16 сен 2025

kipar как ты в ecs решаешь такую задачу ?

Для примера такой патерн поведения.

Если персонаж имеет 35% здоровья, то он автоматически сам лечится. Пропуская атаку или отход.
Если лечения или патронов нет, тогда надо убегать этому персонажу и он начинает убегать.
Если персонаж увидел слабого игрока, то он начинает идти к нему и атаковать в близи.

И таких персонажей с подобным поведением ,штук 300.

#29
11:26, 16 сен 2025
Изображение
Страницы: 1 2 3 4 Следующая »
ФлеймФорумПрограммирование