Албанец
> можно, но мне удобней ТАК.
иш ты какой, удобное ему понимаешь :)
отцы так делать не велят
innuendo
> отцы так делать не велят
У меня своя голова на плечах есть. На отцов мне накласть три горы.
Албанец
> гляньте базовый класс Actor.uc из UDK, написанный эпиками, где закодировано все
> вселенское бытие.
что еще раз подтверждает, что в геймдеве без говнокода никак.
я уже навозился с божественными классами, особенно с теми которые правят куча людей и где оказывается по 2-3 переменных отвечающих за одно и то же, только потому что кто-то давал им разные имена.
ИМХО SRP это одна из немногих серебряных пуль которые существуют...
Албанец
> У меня своя голова на плечах есть. На отцов мне накласть три горы.
подрастешь еще...
и может быть поймешь, почему отцов называют отцами, а тебя - нет.
Pushkoff
> почему отцов называют отцами, а тебя - нет.
Потому что я Албанец, и захожу под этим ником на форум только чтобы народ потроллить. Я ту портянку кода выложил только чтобы посмотреть на реакцию людей, как они начнут изголятся и искать в коде недостатки, которых там нет. Была даже мысль выложить кусок кода, написанный моим начальником из коммерческого уже вышедшего проекта. Я не утверждаю что код выложенный мной безупречен, я думаю что прикопатся можно и к лопате.
Но скажу вам други, что если бы я вместо того чтобы думать самому, все время смотрел "как там отцы делают", ни строки кода я бы в итоге не написал. Человек учиться лишь когда думает и делает сам, а не копирует привычки и стиль других людей. Даже если этих людей называют "отцами" или "гуру".
Албанец
> Человек учиться лишь когда думает и делает сам, а не копирует привычки и стиль
> других людей. Даже если этих людей называют "отцами" или "гуру".
Копировать не надо, надо просто осмыслить опыт других людей. Не зря говорят, что умный человек учится на чужих ошибках.
> Я не утверждаю что код выложенный мной безупречен, я думаю что прикопатся можно и к лопате.
Т.е. ты уверен, что игры надо так писать? И откуда уверенность?
Албанец
> Была даже мысль выложить кусок кода, написанный моим начальником из
> коммерческого уже вышедшего проекта.
конечно же код твоего начальника божественен.
покажи хоть, чтоб я убедился что такой код бывает.
ну а насчет твоего кода, переходить на компоненты чтоб продолжать использовать наследование для наращивания функционала глупова-то не кажется?
может логику GameActor можно скрыть в компонентах и связях между ними?
Ataman
> Не зря говорят, что умный человек учится на чужих ошибках.
мудрый на чужих, умный на своих, а дурак считает что его код божественен
Pushkoff
> > гляньте базовый класс Actor.uc из UDK, написанный эпиками, где закодировано
> > все
> > вселенское бытие.
> что еще раз подтверждает, что в геймдеве без говнокода никак.
> я уже навозился с божественными классами,
может не стоит так про тех же епиков ?
во-первых, делалось давно ( хотя многое и поменялось с тех пор )
во-вторых, ты посмотри как там завязан UScript - думаешь так просто Mixins прикрутить туда и всё такое ?
innuendo
> во-вторых, ты посмотри как там завязан UScript - думаешь так просто Mixins
> прикрутить туда и всё такое ?
я понимаю что это появилось не просто так, на все есть свои причины, и глядя на результат можно сказать что получилось, но нельзя сказать почему так получилось.
божественные классы это плохо, многоуровневое наследование тоже плохо, все это знают.
я не могу оценить причины, но я вижу результат.
я понимаю что иногда сделать хорошо просто не хватает времени, поэтому в моем предыдущем проекте взрывающиеся бочки были по сути персонажами без головы. но я же не бегаю по всему форуму и кричу, что это коммерческий проект и довольно успешный, поэтому все так должны делать...
Pushkoff
> божественные классы это плохо, многоуровневое наследование тоже плохо, все это
> знают.
всё с опытом приходит, ты знал это с первого курса ? или с пятого ? :)
Pushkoff
> но я вижу результат.
это ты про UActor ?
innuendo
> всё с опытом приходит, ты знал это с первого курса ? или с пятого ? :)
согласен, я сначала попробовал, потом понял что нужно что-то менять. потом встретил MVC и подумал что менять нужно так, становилось веселее.
а потом тотальное увлечение миксинами и компонентами, ну и Хантер который объяснил как оно на самом деле должно быть.
хотя в текукщем проекте компоненты устроены так же как предложил албанец, и это не избавляет от многоуровневого наследования, и божественных классов, но сильно запутывает. поэтому код предложенный албанцем работает только в маленьких проектах, где божественные классы будут не так страшны, как должны быть.
в большом проекте компоненты должны быть более независимыми, и больше зависеть от своих подсистем чем от своих владельцев, роль которых вообще должна выродиться до хранения связи, для чего хватит просто уникального идентификатора хранимого всеми компонентами.
вот так от толстого объекта переходим к набору компонент с полным отсутствием объекта.
Pushkoff
> ну и Хантер который объяснил как оно на самом деле должно быть.
это пардон г-н Хантер истина в последней инстанции ? а он ошибиться не может случайно ?
innuendo
> это пардон г-н Хантер истина в последней инстанции ? а он ошибиться не может
> случайно ?
просто его пояснение, я посчитал наименее говнокодным.
конечно же он может ошибаться, но пока идеи лучше я не встречал, но и его идею пока не опробовал. ну и насколько я помню отцы его поддержали.
Тема в архиве.