Войти
ПроектыФорумСобираю команду

🔴🔴🔴ПОСТ ОБНОВЛЕН! Продолжается разработка крупного проекта на CryEngine 5. Нам нужны специалисты. В особенности Ригер Аниматор и еще Программист С++. (5 стр)

Страницы: 1 2 3 4 5 6 7 Следующая »
#60
(Правка: 16:29) 16:24, 18 дек 2022

u960
> если не вставлять сеньору палки в колеса, то он сделает всё красиво.

+ Шутка дня

Ну кроме шуток, вот правда, "В поле генерал значит не больше чем рядовой".

Ну ок, целых два абстрактных сеньора. Вы уже решили кто из них будет заполнять таблицы параметров, а кто будет тексты забивать? Океан унылой рутинной работы - это по вашему тоже сеньор должен делать? А кто из двух больший сеньор? Чем измеряете? Как построена работа и пайплайн? Кто из них несет ответственность за финальный результат? А не подскажите где бесплатные сеньоры водятся? Мне для друга!

#61
16:27, 18 дек 2022

В подобных вопросах/возмущениях нет смысла.

Подождите месяца 2-3 и увидите результат (ну или не увидите, что тоже результат).

#62
16:29, 18 дек 2022

>u960

если не вставлять сеньору палки в колеса

Что бы сделать все красиво, надо быть не сеньором, а уметь программировать. То, что человек сеньор, не говорит о том, что он это умеет. Вопрос в том, где он им стал и сколько там было программистов. 1? А делали тетрис или морской бой со змейкой?

>NewMoon
У вас сеньоры с каким опытом? Что делали (точнее сделали), где? Не такие, как пишу выше?

#63
16:36, 18 дек 2022

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

Приведу интересный пример.

Кулстори пацаны:

+ Это был 2011 год и я кодил как мразь на JASS под варкрафт 3.

Как то так.

#64
(Правка: 17:02) 16:53, 18 дек 2022

>PeeKay

Пишет глобальную систему оперирующую всеми снарядами сразу.

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

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

Но разницу ощущаете?
Каждый это отдельное и с любым можно делать, что хочешь, против второго вариант, где ничего не изменить?

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

Варианты с траекториями дописываются элементарно через специальный индекс.

Потом при дописании будет следующее:
Покажите билд? Не я тут все разобрал, пока еще переделывается. Вы же понимаете, что это добавление новой фичи о которой не говорилось ранее, она все поломала. Тут надо все переделывать. Давайте не будем новую траекторию добавлять?

#65
(Правка: 18:32) 17:31, 18 дек 2022

FourGen
> У джуна - да без проблем - раз и готово.
> У Сеньора - Вы не говорили, что понадобится такое делать, тут надо все
> переделывать вы сами виноваты.
Чушь! Глобальная система масштабируется идеально (на то она и глобальная), в случае необходимости дописать новый функционал - это делается в одном месте, и применяется одновременно везде, а в случае с локальным вариантом добро пожаловать править все 300 уникальных снарядов.

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

FourGen
> против второго вариант, где ничего не изменить?

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

Править глобальную систему *существенно* проще. Это факт.

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

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

Ну вот банально, допустим дефолтная система урона нас не удовлетворяет, и мы хотим написать кастомную. Мы пишем очередную глобальную систему и интегрируем её с снарядами всего в одной строчке кода, там где снаряд наносит урон - и все, система заработает. А в случае с локальными снарядами - иди и правь 300 позиций в коде. А потом если например ты решишь дописать что-то в эту систему. например что бы функция принимала еще одну переменную - то ты опять лезешь и в 300 местах в коде вносишь правки. В случае с глобальной системой это заняло бы 2 минуты.

По поводу того что ничего не редактируется это полный прогон.
Изначально подразумевается что у снарядов могут быть какие то кастомные траектории.
Открываем код глобальной системы, и в строчках где вычисляется траектория дописываем if, если переданный функции индекс равен 1 - будет полет аркой, если 2 - будет полет по прямой, если 3 - будет полет нон таргет, если 4 - полет загогулиной, если 5 - снаряд полетит в обратную сторону, сделает полный пролет через карту и прилетит с другой стороны.

Короче тупо - надо ввести новую траекторию для снаряда - дописываем новый индекс, это _элементарно_.

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

Поэтому, дорогой друг, вы ошибаетесь. Глобальные системы - бро, локальные - не бро.

#66
17:45, 18 дек 2022

PeeKay
> Поскольку я писал обе системы

Мне казалось, Вы художник. :)

#67
17:54, 18 дек 2022

GDR
> Мне казалось, Вы художник. :)
У меня есть определенный бэкграунд в кодинге. примерно 2 года этот варкрафтовский JASS и практика костыльного программирования, в вузе был C# который я автоматом закрыл за два месяца до сессии, этой весной освоил Python, сейчас учу Kotlin шоб кое чего интересного под андроид написать. Ну всмысле у меня с кодингом вполне себе любовные отношения) Хотя наверное в реальном продакшене я потяну максимум на джуна, хах)

#68
18:35, 18 дек 2022

Моё почтение за столько энергии :)

#69
18:51, 18 дек 2022

GDR
> Моё почтение за столько энергии :)

:3

#70
19:06, 18 дек 2022

Открываем код глобальной системы, и в строчках где вычисляется траектория дописываем if,

Вопросов нет.

#71
(Правка: 19:16) 19:09, 18 дек 2022

FourGen
> Вопросов нет.
Вы имеете что то против ветвлений?
Мне правда интересно в чем вы видите проблему)

технически в коде это выглядит элементарно

***

for missle in missles:
  z=default_z # координата высоты может отсутствовать, тогда берется default_z
  if trajectory==1:
    x = *formula for x*
    y = *formula for y*
    z = *formula for z*
  elif trajectory==2:
    x = *formula2 for x*
    y = *formula2 for y*
 
  ***
 
  elif trajectory==N:
    x = *formulaN for x*
    y = *formulaN for y*
    z = *formulaN for z*

  missle.positionx=x
  missle.positiony=y
  missle.positionz=z

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

#72
19:43, 18 дек 2022

>PeeKay

Вы имеете что то против ветвлений

Вообще ничего не имею против ветвлений. А траектория не является объектом, к которому надо писать глобальный менеджер траекторий?

#73
(Правка: 20:46) 20:31, 18 дек 2022

FourGen
> А траектория не является объектом, к которому надо писать глобальный менеджер
> траекторий?

Нет, trajectory это целое число, за которым в коде условно закреплено определенное поведение. Учти что это писалось десять лет назад для движка 2003 года)

u960
> это все разруливает физический движок
Был бы он там)

#74
1:32, 19 дек 2022

>u960
Раз не надо, значит вы еще не стали сеньором.
Сеньор никогда не откажется от написания еще одного глобального менеджера.

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

Страницы: 1 2 3 4 5 6 7 Следующая »
ПроектыФорумСобираю команду