(_-=ZhekA=-_) писал: если есть семерка х64, то можно попробовать запустить
Семёрка x64 есть. Видеокарта 650GTX 1 Gb. Не потянет я думаю.
Цитата:
FiEctro писал: Я про то что тебя почему то удивляет что триггеры должны стоять всегда на месте, но не удивляет что другие браши могут двигаться.
Как оно меня может удивлять, если я в ксаш-моде сделал триггеры, которые можно аттачить? Я сказал, что пересечение мира с триггером - это странный кейс, лично у меня в таком никогда не возникало потребности.
Цитата:
FiEctro писал: Ну да, если развить бы эту тему на тот момент, была бы крутая штука.
Наборот. Я всячески душил проявления физикса, чтобы игрок не вёл себя как мешок с гавном. В принципе мне это боле-мене удалось.
Цитата:
FiEctro писал: вообще я стейты немного по другому представлял
Это просто название структуры.
Цитата:
FiEctro писал: Но когда ты работаешь с физикой, тут уже нужны пересечения, и массив вершин, нормали и т.д.
Нужны. И всё это давала ещё трассировка в первом квейке. Что тут особенного.
FiEctro писал: А вот твой студиомдл мне тогда зашифровал половину винды. Но я сам виноват, скачал его с левого сайта какого то.
Я думаю это был такой специальный сайт, который тебе под видом трояна подсовывал именно то имя файла, которое ты гуглил.
Добавлено 30-09-2024 в 23:24:
Минутка забавного. Если воспринимать ECS именно как систему для оптимизации хранения даннных, т.е. улучшения cache-friendly, то первой ECS-системой был ещё первый квейк.
Кстати я по прежнему недоумеваю всех этих плясок вокруг компонентов, композиций и прочих объектов. Потому что в архитектуре энтить, предложенной Кармаком подобная проблема просто отсутствовала как класс.
В коментах к статье на хабре встретил вот такое:
Цитата:
А если завтра прилетит геймдиз, который захочет чтобы "камера убивала"? В ООП иерархии это может оказаться неподдерживаемым и придётся много костылить, а в ECS накинул компонент, добавил нужную систему(если вообще нужно) и всё готово.
Т.е. пусть даже для надуманного примера, но таки оказывается, что камера не может дамажить. Как жы я орал с этого примера. Потому что ни в кваках, ни в халфах, ни в новом ксаше подобной проблемы нет и не может быть даже теоретически. Любой объект может быть чем угодно. Единственное сознательное ограничение, которое я ввёл - это одна модель на один объект. Это непринципиально, но несколько моделей на объект приводят к путанице и компромиссам. Пусть лучше они будут склеены вместе, но при этом - полноценными объектами. Т.е. удобство ценой некоторой потери производительности. Но ведь и С++ идёт по этому пути с 83-го года.
Дядя Миша писал: Я думаю это был такой специальный сайт, который тебе под видом трояна подсовывал именно то имя файла, которое ты гуглил.
Да нет, он был рабочий, даже запускался. Но о том что он завирусованый я понял когда у меня сломался блокнот и ещё несколько программ которые работали в это время. Потом выяснилось что он использовал какую то уязвимость чтобы прописывать ассемблерный код внутрь экзешников и распространяться таким образом.
Добавлено 01-10-2024 в 01:07:
Цитата:
Дядя Миша писал: Т.е. пусть даже для надуманного примера, но таки оказывается, что камера не может дамажить. Как жы я орал с этого примера. Потому что ни в кваках, ни в халфах, ни в новом ксаше подобной проблемы нет и не может быть даже теоретически. Любой объект может быть чем угодно. Единственное сознательное ограничение, которое я ввёл - это одна модель на один объект. Это непринципиально, но несколько моделей на объект приводят к путанице и компромиссам. Пусть лучше они будут склеены вместе, но при этом - полноценными объектами. Т.е. удобство ценой некоторой потери производительности. Но ведь и С++ идёт по этому пути с 83-го года.
ECS в каком то смысле тоже энтитии, но свойства ты им прописываешь не через поля, а через компоненты у которых свои поля. Вообще твой пример странный, либо я его не понял, т.к. в Юнити изначально все объекты пустышки, а компонентами ты можешь описать как угодно их.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Дядя Миша писал: Не другой человек, а наш Кристаллайз, у которого математика слабая наука, т.к. не учитывает духовного.
Кристаллайз не человек, да.
Я уже просил прекратить в отношении меня вспоминать эту фразу, потому что от той идеологии я отошел в 2013 и это уже фактически распространение ложных слухов.
Цитата:
FiEctro писал: А что такое сермяжная правда?
Кстати я сам хоть и читал но до конца не понял.
Добавлено 01-10-2024 в 09:30:
Цитата:
Дядя Миша писал: Минутка забавного. Если воспринимать ECS именно как систему для оптимизации хранения даннных, т.е. улучшения cache-friendly, то первой ECS-системой был ещё первый квейк.
А первый Дум или Вольф не были?
Цитата:
Дядя Миша писал: Т.е. пусть даже для надуманного примера, но таки оказывается, что камера не может дамажить. Как жы я орал с этого примера. Потому что ни в кваках, ни в халфах, ни в новом ксаше подобной проблемы нет и не может быть даже теоретически. Любой объект может быть чем угодно.
Ну в игровом мире камера - не объект, она на клиенте.
Разве в халфах нет иерархии классов что например TalkMonster наследуется от чего-то и потому имеет ограничения?
Я всё время в непонятках, идёт ли обсуждения с точки зрения программиста который имеет полный код, или с точки зрения игродела который работает в современном игро-редакторе.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Дядя Миша писал: С другой стороны - из монстра не сделать пушку и наоборот. Но надо ли?
Монстр это композиция свойств. Если добавить скажем пушке компонент ИИ и лук то таргет, то получим турель из хл1 без всякого лазанья в код и доктортрессизма и всё в одном объекте. С энтитиями в духе хл1 же придётся заниматься доктортрессизмом или писать новый скрипт который дублирует свойства других энтитей.
Если несколько примитивных энтитей можно бы было засунуть в один объект, то получили бы как раз ECS.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro писал: Если добавить скажем пушке компонент ИИ и лук то таргет, то получим турель из хл1 без всякого лазанья в код
Это ещё больший доктортрессизм. Потому что от композиции ты получишь общее поведение, тогда как тебе непременно понадобится кастомизированное. Иначе в твою унылую игру никто играть не будет.
Уровни через генератор, монстры, через композицию, зашибись просто.
Душу вкладывать не планируется?
Дядя Миша писал: Это ещё больший доктортрессизм. Потому что от композиции ты получишь общее поведение, тогда как тебе непременно понадобится кастомизированное. Иначе в твою унылую игру никто играть не будет.
Уровни через генератор, монстры, через композицию, зашибись просто.
Душу вкладывать не планируется?
Эм, ты уже лукавишь. Вопервых по такой точке зрения с энтитиями ситуация получается ещё хуже тогда, я бы даже сказал усугубляется, поскольку энтитии это уже скомпозированный обжект который не поддаётся кастомизации, его только писать заново. Даже с т.з. математики количество комбинаций разнообразных обжектов из 10 энтитей и 10 компонентов будет больше чем просто из 10 энтитей. Конечно не все комбинации будут полезны, но тем не менее. Ты же всеравно так и так делаешь композицию, просто ты сейчас её делаешь в коде и оборачиваешь в конечный обжект.
Во вторых написать кастомное свойство в разы проще чем кастомную энтитию.
Вот в кваках и хл как раз и получается что все энтитии одинаковые. В лучшем случае скин монстру поменять можно. Композиция наоборот позволяет добавлять новые свойства и кастомизировать всё и вся не создавая новых сущностей с дублированным кодом. Кстати, как ни парадоксально, но энтития переводится как сущность
Цитата:
Дядя Миша писал: Уровни через генератор, монстры, через композицию, зашибись просто.
Душу вкладывать не планируется?
Делать рутинные вещи которые может сделать генератор != творчество, вкладывание души и т.д. Это просто пустая трата времени. Ты же вместо for не пишешь тысячи if else ?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Композиция - это не серебрянная пуля. Рано или поздно окажется что в одном из исходных объектов для композции чего-то там не хватает, когда ты это добавишь потенциально что-то сломается в других объектах.
Для меня любая композиция - это заведомо непредиктабельное поведение.
Ну навроде как скрестить ежа и ужа. И что получится?
Совсем другое дело, когда еж унаследован от ужа. Тогда ты точно знаешь, что он обладает всеми свойстами ужа + немного своими. Но ежа придётся дописать вручную. Но зато ты точно будешь знать что получится.
Добавлено 01-10-2024 в 12:15:
Цитата:
FiEctro писал: Это просто пустая трата времени
Да ведь и игру делать - тоже пустая трата времени. И вообще всё фигня, кроме пчёл.
Цитата:
Crystallize писал: Что ж ты злой такой?
Я намекаю на три стадии просветления.
Добавлено 01-10-2024 в 12:16:
Композиции хороши для тех кто программировать совсем не умеет и надеется создать игру перекладкой кубиков, навроде сборки икебаны.
Только вот у икебаны нет никакого функционала. Как ни собери - получится сомнительное, но всё же украшение.
Дядя Миша писал: Композиция - это не серебрянная пуля. Рано или поздно окажется что в одном из исходных объектов для композции чего-то там не хватает, когда ты это добавишь потенциально что-то сломается в других объектах.
Не правда. Если от них можно наследоваться. Ты же все эти принципы ООП знаешь.
Да и что например можно добавить в компонент трансформ?
Цитата:
Дядя Миша писал: Да ведь и игру делать - тоже пустая трата времени. И вообще всё фигня, кроме пчёл.
Опять в крайности уходишь. Речь идёт именно о рутинных процессах. К примеру аписание того же генератора ты сам знаешь процесс весьма творческий.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Дядя Миша писал: Да почему трансформ вообще должен быть отдельным компонентом?
Как ты это со стороны бакэнда представляешь? Как это в памяти должно лежать?
А как тогда к нему обращаться? И к его свойствам? Обжект это просто точка в 0 0 0 координате с именем и иерархией. Трансформ хранит уже значения позиции, поворота и скейла для каждой из осей и так же учитывает трансформы родителей.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
У каждого объекта есть положение в пространстве.
В Ксаше его может и не быть, но обычно это не слишком удобно.
В играх очень часто бывает ситуация групповых операций над объектами.
И для этого желательно чтобы все объекты имели какого-то общего родителя. Чтобы какой-то базовый функционал присутствовал абсолютно у всех. А та композиция, о которой ты говоришь, чаще всего начинается и заканчивается склейкой объектов вместе. Потому что это вообще единственное что не вызывает никаких неоднозначностей.
Дядя Миша
Я не очень если честно понял что ты имел ввиду под склейкой обжектов. Да и в целом то что ты написал мало отличается от того что я написал. Трансформ который ты выбрал конечно немного плохой пример для описания композиции. Я первоначально писал про другое. Но вот тот же колайдер или меш может у обжекта быть и не быть, не говоря уже о пользовательских скриптах.
Добавлено 02-10-2024 в 09:06:
Цитата:
Дядя Миша писал: В играх очень часто бывает ситуация групповых операций над объектами.
Тоже не очень понял о каких операциях речь? Об операциях в редакторе? Об операциях в рантайме?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!