Russian AI Cup

Расширенный поиск  
Страницы: [1]

Автор Тема: Минусы в CodeWar  (Прочитано 967 раз)

GriS

  • Newbie
  • *
  • Сообщений: 3
Минусы в CodeWar
« : Ноября 25, 2017, 10:41:06 pm »

Хотелось бы отметить пару минусов в AI Cup в этом году:
1. письмо на эл. почту о мероприятии мне пришло только 16 числа, хотя конкурс начался 7 числа. 9 дней это очень много. С учетом того, что письмо я только увидел 20 числа. Желательно сообщать о начале конкурса заранее, хотя бы чтобы люди ознакомились с правилами и начали придумывать тактики.
2. конкурс позиционирует себя как RTS жанр. Я большой поклонник Warcraft 3, до сих пор иногда запускаю. Так вот, когда я выделяю юнитов, я не говорю им вектор перемещения, я просто нажимаю на точку на карте куда им идти. Лучше бы параметры X и Y класса Move передавали абсолютные координаты, куда необходимо передвигаться. Это было бы как более понятно, писать AI именно игрока-человека
3. зачем юниты в начале расставляются в рандомном порядке. Я понимаю, это чтобы усложнить стратегию, но блин, я потратил 2 вечера на то, написал 4 версии, чтобы просто собрать "бутерброд" за более менее быстрое время (и то, мой алгоритм не самый быстрый, я знаю как его укорить, но нет времени переделывать). Зачем создавать сложности в не интересных местах. Если бы юниты появлялись всегда в одном и том же месте, люби намного больше бы времени потратили на придумывание и реализации тактики именно боя.
4. почему я много времени потратил на построения "бутерброда" - функция scale. Расстояние между центрами юнитов 6 единиц (2 радиус + 2 промежуток + 2 радиус). Делаем scale с factor = 2 и X и Y первого юнита. Первый юнит  имел координаты например 2:2 и они не изменятся, второй ряд вторая колонка - имел координаты 8:8 и после действия должен стать 16:16. НО НЕТ. он получается координаты 16.00001:16.00001 (цифры примерные). Погрешность появляется при передвижении юнитов под углом. И после соединения двух групп, юниты сталкиваются друг с другом. Из-за этого приходится делать запасы на случай погрешности. Лучше бы эмулятор округлял значения например до сотых при учете сталкивания юнитов.
Вот и приходится в начале тупо заниматься математикой в подсчете "пиксей".
5. облака, дожди, болота, леса - зачем они тут? посмотрел кучу стратегий, все перемещаются со скоростью 0,18 (танк умножить на топь). Ни в одной RTS я такого не встречал. А вот например скала или озеро или лес (через который нельзя пройти), их необходимо обходить или за ними можно прятаться - это было бы интереснее.

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

Записан

kolan19983

  • Newbie
  • *
  • Сообщений: 7
Re: Минусы в CodeWar
« Ответ #1 : Ноября 25, 2017, 11:20:08 pm »

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

Jeners

  • Full Member
  • ***
  • Сообщений: 86
Re: Минусы в CodeWar
« Ответ #2 : Ноября 26, 2017, 12:20:22 am »

Самый главный минус конкурса в том что, по сути он скатился к формированию пачки и медленного давления врага. Вообще нет ни каких альтернативных решений по сути, Вот например http://russianaicup.ru/game/view/98849 -мои самбы пытаются разбить врага Ядерными ударами, ток это безполезняк по причине что, враг слишком быстро хилкается, т.е. мои удары нивелируются. И как быть? Поддаться общему вению и сделать просто "мясной шар"? -_-
Записан

ud1

  • Full Member
  • ***
  • Сообщений: 98
Re: Минусы в CodeWar
« Ответ #3 : Ноября 26, 2017, 12:56:00 am »

1. С почтой часто косяки. Хотя на хабре был анонс за две недели, а кто на форум заглядывает, вообще мог за пару месяцев дату узнать. Организаторы видимо настолько были заняты, что не могли позаботится вывести эту дату на главной странице заранее.
2. Тут так задумано, команда MOVE это не придти в какую-то точку, а сделать параллельный сдвиг. Для сдвига смещение, это самое естественное что может быть. Назвать только надо было SHIFT, чтоб не сбивать людей с толку. В играх другое управление, там именно говоришь двигаться в точку, и они, без сохранения формации, идут, попутно обходя препятсвия и делая поиск пути. Здесь поиска пути нет, остается только сдвиг. В прошлом коду в визардах у миньонов был обход препятствий, но это приводит к тому, что в правилах алгоритм этого обхода описать сложно, и возникают вопросы, как это работает. Приходится некоторым или забить, или декомпилить локал раннер. В этом году правила исчерпывающие, ничего декомпилить не надо, можно чисто по документу написать свой локал раннер не хуже.
3. Это да, дополнительная сложность. Я бы предпочел, чтоб давали кусок карты, на котором в нулевом тике просто бы сам расставлял свои юниты как хочешь. Не нужно больше играть  в пятнашки, просто передаешь в нулевом тике начальные координаты всех юнитов, и бутерброд готов. А еще лучше, чтоб можно было типы техники, задавать вручную, захотел и сделал 500 танков. Игры были бы разнообразнее намного. И у людей было бы больше времени на написание непосредственно стратегии. Мне кажется это самый большой промах в игре, который и отпугнул людей. Люди сюда приходят получать удовольствие, а не заниматься рутиной.
4. Координаты юнитов - вещественные числа с плавающей точкой. Этим все сказано. Все совершено логично. Проблемы с округлениями только у нубов, которые не могут в плавающую точку.
5. Стандартная вещь, которая добавляет немного рандома игре. В каждом раике добавляют мелкие неприятности, на которые можно либо забить и необращать внимание, либо заморочится и придумать суперумную стратегию, которая сможет им найти применение. Вполне нормальная вещь.

Посмотрим что будет дальше, по первому раунду рано судить, хоть он и длится почти половину конкурса и является визитной карточкой для тех кто думает участвовать или нет. Для организаторов надо бы подумать, чтоб в приветсвенном видео показывать игру не первого раунда, а сразу финального, чтоб сразу подстегнуть интерес.
И еще конкурс по мне кажется не очень интересным, потому что (сейчас меня закидают тапками) в нем нету физики! Налюдать даже за одним мячиком, который вращается и отскакивает от стен интереснее, чем за 500 юнитами, чтобы они там не вытворяли. Такова природа. Даже простая ньютоновская физика добавляет неимоверную глубину и разнообразие игре, которую не даст никакие тысячи юнитов.
Записан

ewgraf

  • Jr. Member
  • **
  • Сообщений: 15
Re: Минусы в CodeWar
« Ответ #4 : Ноября 26, 2017, 02:47:16 am »

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

По всем остальным мыслям тоже поддержу, хотя и не со всем согласен. Как недоучастник предыдущего RAIC этот год мне кажется задача легче.

Мне кажется это все из-за того, что организаторы слишком загружены, многие вещи видимо делаются в спешке.


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

AndreaB330

  • Jr. Member
  • **
  • Сообщений: 25
Re: Минусы в CodeWar
« Ответ #5 : Ноября 26, 2017, 03:07:09 am »

И еще конкурс по мне кажется не очень интересным, потому что (сейчас меня закидают тапками) в нем нету физики! Налюдать даже за одним мячиком, который вращается и отскакивает от стен интереснее, чем за 500 юнитами, чтобы они там не вытворяли. Такова природа. Даже простая ньютоновская физика добавляет неимоверную глубину и разнообразие игре, которую не даст никакие тысячи юнитов.
Жирный +. Так как пытаться побороть физику намного интересней попыток побороть искусственный лимит кол-ва команд и ограниченных в интеллекте юнитов.
И ведь правда же, года с физикой остались самыми запоминающимися)

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

yayuye

  • Jr. Member
  • **
  • Сообщений: 11
Re: Минусы в CodeWar
« Ответ #6 : Ноября 26, 2017, 06:03:35 am »

Да, хотелось бы побольше физики, желательно, более-менее реальной и допускающей широкий диапазон приближений.

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

Как в лучших играх: easy to learn and difficult to master.

Но это уже, скорее, как пожелания к следующему году.

Ну и да, с оповещениями - большой косяк. Хорошо было бы получить письмо сначала за месяц до начала и потом ещё хотя бы за недельку получить возможность скачать какую-нить early access версию.
Записан

Jeners

  • Full Member
  • ***
  • Сообщений: 86
Re: Минусы в CodeWar
« Ответ #7 : Ноября 26, 2017, 12:46:22 pm »

Еще очень значительный минус на мой взгляд - Локальная версия симулятора не обрабатывает ошибки которые обрабатывает серверная версия.
Вроде как игра одна и та-же но реагируют на ошибки по разному. В связи с этим у меня немереное награмождение проверок <> nil, потому что, с отчетом который дает сайт совсем не понятно на что конкретно ругается игра. (конечно это еще может и зависит от компиляторов используемых как на локальной машине так и на сервере, но в любом случае это раздражает)
Просто бесит когда на локалке все отыгрывается нормально а на сервере начинаются постоянный падения. Приходится в слепую искать где сервак может ругаться
« Последнее редактирование: Ноября 26, 2017, 12:48:12 pm от Jeners »
Записан

jurifoll

  • Jr. Member
  • **
  • Сообщений: 37
Re: Минусы в CodeWar
« Ответ #8 : Ноября 26, 2017, 01:10:32 pm »

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

Физика - это конечно тоже хорошо, но это все-таки "AI cup". Тем более физика уже неоднократно была. И тогда ключем к решению была её точная симуляция, а для интеллекта места не особо оставалась. Здесь  же соблюден баланс: физика упростилась, зато потенциальное разнообразие игровых ситуаций увеличилось. Или вы хотели 500 танчиков с физикой как в первом челлендже?

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

GreenTea

  • Full Member
  • ***
  • Сообщений: 58
Re: Минусы в CodeWar
« Ответ #9 : Ноября 26, 2017, 01:15:49 pm »

Самый главный минус конкурса в том что, по сути он скатился к формированию пачки и медленного давления врага. Вообще нет ни каких альтернативных решений по сути, Вот например http://russianaicup.ru/game/view/98849 -мои самбы пытаются разбить врага Ядерными ударами, ток это безполезняк по причине что, враг слишком быстро хилкается, т.е. мои удары нивелируются. И как быть? Поддаться общему вению и сделать просто "мясной шар"? -_-

Что значит нет альтернатив, а я что делаю?  ;D
Записан

Jeners

  • Full Member
  • ***
  • Сообщений: 86
Re: Минусы в CodeWar
« Ответ #10 : Ноября 26, 2017, 01:20:30 pm »

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

Jeners

  • Full Member
  • ***
  • Сообщений: 86
Re: Минусы в CodeWar
« Ответ #11 : Ноября 26, 2017, 01:25:20 pm »

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

Я кстати с этого и начал, написал кучу коллекций сейчас реализация тактики выглядит так
BEGIN
   

        IF world.TickIndex = 0 THEN
            ini(world, me)
        ELSE IF world.TickIndex = 1 THEN
        BEGIN
    //Синхронизируем
            commandcontrol.synchronize(move, world, me);
        //Создаем формации
            FOR i := 0 TO 4 DO
                unitformation[i] := Units.getgroup(false, i, True, False);
    //Фигарим стратегию формации
            formation(world);
        END
        ELSE
    //Синхронизация
IF commandcontrol.synchronize(move, world, me) THEN
            IF Commandcontrol.gametick > 60 THEN
            BEGIN
        //Общая стретагия определяем наиближайшего врага и группу к нему
                PGA := getNearestEnemyAndGroup(game);
        //Сваливаем от взрыва
                FOR i := 0 TO 4 DO
                    IF CanDoAnyThing(PGA.Groups[i], commandcontrol.Empty[4], false) THEN
                        GroupAwayFromNuke(PGA.Groups[i], world, Game);
        //Хилкаемся
                FOR i := 0 TO 4 DO
                    IF CanDoAnyThing(PGA.Groups[i], (me.GetRemainingNuclearStrikeCooldownTicks = 0) AND (((commandcontrol.Empty[4]))), false) THEN
                        IF PGA.Groups[i] <> nil THEN
                            IF PGA.Groups[i].IsFly THEN
                                IF PGA.Groups[i].DurInterest < 80 THEN
                                    SelectAndTryGo(PGA.Groups[i], Unitformation[0].Xcenter, Unitformation[0].Ycenter, world, false);
        //Здесь фигарим ядерным взрывом
                FOR i := 0 TO 4 DO
                    IF CanDoAnyThing(PGA.Groups[i], (me.GetRemainingNuclearStrikeCooldownTicks = 0) AND (((commandcontrol.Empty[4]))), false) THEN
                        groupstrike(PGA.Groups[i], nil, PGA.Enemy[i], game.GetTacticalNuclearStrikeRadius, world);
        //Сваливаем
                FOR i := 0 TO 4 DO
                    IF CanDoAnyThing(PGA.Groups[i], (commandcontrol.Empty[4]), false) THEN
                        IF (PGA.TypeDo[i].to_do = 1) THEN
                        BEGIN
                            IF PGA.TypeDo[i].saport_type[0] <> -1 THEN
                                groupatack(unitformation[PGA.TypeDo[i].saport_type[0]], nil, PGA.Enemy[i], world, game.GetTacticalNuclearStrikeRadius, me.GetRemainingNuclearStrikeCooldownTicks, false, game);
                            IF PGA.TypeDo[i].saport_type[1] <> -1 THEN
                                groupatack(unitformation[PGA.TypeDo[i].saport_type[1]], nil, PGA.Enemy[i], world, game.GetTacticalNuclearStrikeRadius, me.GetRemainingNuclearStrikeCooldownTicks, false, game);

                            GroupDefeance(PGA.Groups[i], PGA.TypeDo[i].saport_type[0], PGA.Enemy[i].x, PGA.Enemy[i].y, 200, PGA.Groups[i].IfGetClose(PGA.Enemy[i]), world, game);
                        END;
        //Атака епт
                FOR i := 0 TO 4 DO
                    IF CanDoAnyThing(PGA.Groups[i], (commandcontrol.Empty[4]), false) THEN
                        IF (PGA.TypeDo[i].to_do = 2) THEN
                        BEGIN
                            groupatack(PGA.Groups[i], unitformation[PGA.TypeDo[i].saport_type[0]], PGA.Enemy[i], world, game.GetTacticalNuclearStrikeRadius, me.GetRemainingNuclearStrikeCooldownTicks, false, game);
                            IF PGA.TypeDo[i].saport_type[0] <> -1 THEN
                                groupatack(unitformation[PGA.TypeDo[i].saport_type[0]], nil, PGA.Enemy[i], world, game.GetTacticalNuclearStrikeRadius, me.GetRemainingNuclearStrikeCooldownTicks, false, game);
                            IF PGA.TypeDo[i].saport_type[1] <> -1 THEN
                                groupatack(unitformation[PGA.TypeDo[i].saport_type[1]], nil, PGA.Enemy[i], world, game.GetTacticalNuclearStrikeRadius, me.GetRemainingNuclearStrikeCooldownTicks, false, game);
                        END;
                FOR I := 0 TO 4 DO
                    IF CanDoAnyThing(PGA.Groups[i], (commandcontrol.Empty[4]) AND (me.GetRemainingNuclearStrikeCooldownTicks = 0), false) THEN
                        IF PGA.Enemy[i] <> nil THEN
                        BEGIN
                            GroupAtack(PGA.Groups[i], nil, PGA.Enemy[i], world, game.GetTacticalNuclearStrikeRadius, me.GetRemainingNuclearStrikeCooldownTicks, true, game);
                            PGA.Groups[i].Priority := 10000000000 * PGA.Groups[i].MaxSpeed;
                        END;
        //В противном случае просто сваливаем
                FOR i := 0 TO 4 DO
                    IF CanDoAnyThing(PGA.Groups[i], (commandcontrol.Empty[4]) AND (me.GetRemainingNuclearStrikeCooldownTicks <> 0), false) THEN
                        IF PGA.Enemy[i] <> nil THEN
                            GroupAway(PGA.Groups[i], PGA.Enemy[i].x, PGA.Enemy[i].y, game.GetTacticalNuclearStrikeRadius * 4, world, false);
         //Исполняем полученные команды
                GroupsSelectAndGo(PGA, world, game);
            END;
    END;

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

« Последнее редактирование: Ноября 26, 2017, 01:29:28 pm от Jeners »
Записан

GriS

  • Newbie
  • *
  • Сообщений: 3
Re: Минусы в CodeWar
« Ответ #12 : Ноября 26, 2017, 02:19:11 pm »

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

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

novich-OK

  • Jr. Member
  • **
  • Сообщений: 16
Re: Минусы в CodeWar
« Ответ #13 : Ноября 26, 2017, 03:38:06 pm »

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

Цитировать
конкурс позиционирует себя как RTS жанр. Я большой поклонник Warcraft 3, до сих пор иногда запускаю. Так вот, когда я выделяю юнитов, я не говорю им вектор перемещения, я просто нажимаю на точку на карте куда им идти. Лучше бы параметры X и Y класса Move передавали абсолютные координаты, куда необходимо передвигаться. Это было бы как более понятно, писать AI именно игрока-человека
И как же понятным образом реализовать абсолютные координаты? Вот я выделил пачку произвольной формы и передал ей (500, 500). Кто именно перейдет на эту точку? Ближайший юнит? Геометрический центр? Середина фронта образования? Устроители конкурса дали простой, понятный, мощный и недвусмысленный инструмент, который дает возможность реализовать любой из перечисленных вариантов. Кто-то двигает центр, я двигаю середину фронта. Жаловаться на смещение можно только, если вычитание из вектора конченого положения вектора начального положения является неподъемной операцией для участника. В каком классе сейчас разность векторов преподают?

Цитировать
3. зачем юниты в начале расставляются в рандомном порядке. Я понимаю, это чтобы усложнить стратегию, но блин, я потратил 2 вечера на то, написал 4 версии, чтобы просто собрать "бутерброд" за более менее быстрое время (и то, мой алгоритм не самый быстрый, я знаю как его укорить, но нет времени переделывать). Зачем создавать сложности в не интересных местах. Если бы юниты появлялись всегда в одном и том же месте, люби намного больше бы времени потратили на придумывание и реализации тактики именно боя.
Это не соревнование по хардкоду, это соревнование по AI. "Вертолеты всегда стоят здесь, поэтому сдвинем все вертолеты право/вниз" это не AI. На всех предыдущих соревнованиях люди выли, что написание общего алгоритма интересно, но бессмысленно, если можно захардкодить всё желаемое, т.к. условия не меняются. И я этих людей полностью поддерживаю. Единственный минус, расстановка сил отпугивает новичков, т.к. нельзя быстро начать эффективно бороться без этого шага.

Цитировать
4. почему я много времени потратил на построения "бутерброда" - функция scale. Расстояние между центрами юнитов 6 единиц (2 радиус + 2 промежуток + 2 радиус). Делаем scale с factor = 2 и X и Y первого юнита. Первый юнит  имел координаты например 2:2 и они не изменятся, второй ряд вторая колонка - имел координаты 8:8 и после действия должен стать 16:16. НО НЕТ. он получается координаты 16.00001:16.00001 (цифры примерные). Погрешность появляется при передвижении юнитов под углом. И после соединения двух групп, юниты сталкиваются друг с другом. Из-за этого приходится делать запасы на случай погрешности. Лучше бы эмулятор округлял значения например до сотых при учете сталкивания юнитов.
Вот и приходится в начале тупо заниматься математикой в подсчете "пиксей".
Да, устроители очень виноваты, что не донесли до каждого участника, как же работают переменные с плавающей точкой. Надо было устраивать контест только с целочисленными координатами, а то вдруг кто-то еще не прошел на информатике работу с float/double/whatever. Следующий раз пишем крестики нолики однозначно.

Цитировать
5. облака, дожди, болота, леса - зачем они тут? посмотрел кучу стратегий, все перемещаются со скоростью 0,18 (танк умножить на топь). Ни в одной RTS я такого не встречал. А вот например скала или озеро или лес (через который нельзя пройти), их необходимо обходить или за ними можно прятаться - это было бы интереснее.
Непроходимые препятствия это интересно, но, скорее всего, очень сложно, пока не начнешь их обрабатывать не можешь начать бороться. Текущая же местность прекрасно работает: если участник не может/не хочет нормально ее учесть, двигается со скоростью топи и не переживает. Если может - получает преимущество и более интересные бои. Но учет местности, я уверен, люди отложили на потом, т.к. сейчас хватает более приоритетных задач.
Записан

GriS

  • Newbie
  • *
  • Сообщений: 3
Re: Минусы в CodeWar
« Ответ #14 : Ноября 26, 2017, 04:04:19 pm »

прокомментирую novich-OK
в том же Warcraft3 есть флаг, который говорит как юнитам передвигаться к точке, на которую я кликнул: строем или каждый юнит к этой точке.
И еще раз повторю, весь интерес в том, чтобы написать алгоритм как будто им управляет человек, а не пк. В таком случае можно будет сравнивать силы управления алгоритма с человеком. Поэтому я тоже за введение кол-ва действий за время.
Пункт 3. Вы абсолютно не правильно поняли, я не говорю что это сложно, (и новичков это не отпугивает) это сделать легко, но долго. Тупо математика, которую надо кучу раз тестировать.
Пункт 4. я не сказал что не знаю про дробные значения, я написал, что это не совсем логично при построении стратегии. Еще раз повторю, вместо того чтобы придумывать интересную тактику, ты тратишь время на то, чтобы учитывать эти погрешности плавающей точки. И кстати double(2) + double(2) = 4. Ровно 4.
Записан

Mystifier

  • Newbie
  • *
  • Сообщений: 4
Re: Минусы в CodeWar
« Ответ #15 : Ноября 27, 2017, 09:52:52 am »

С оповещениями действительно есть проблема. И количество участников падает из года в год. Что интересно, в последние дни перед стартом первого раунда пришло довольно много людей. Видимо организаторы начали активно привлекать все доступные резервы :)
Мне в целом понравилась текущая задача. Как раз для разнообразия(относительно предыдущих аи кап-ов) отсутствие физики - достаточно удачное решение.
Для меня основной минус АИ кап-ов - их затянутость. Как-то уже надоело, а для второго раунда нужно существенно перерабатывать стратегию. Но я понимаю, что длинная дистанция может привлечь больше людей. Кто-то поиграется на старте и бросит, кто-то подтянется к середине, ну а самые стойкие дойдут/долетят/доползут до конца :)
А вот игрой в пятнашки на старте и бутербродостроением я решил вообще не заниматься - действительно скучно. Обычной тучи и ядерной партизанщины самолетами вполне хватило для выхода во 2-ой раунд из хвоста топ50.
Записан
Страницы: [1]