Перейти к содержимому

qwertyMAN

Пользователи
  • Публикации

    1 009
  • Зарегистрирован

  • Посещение

  • Победитель дней

    47

Сообщения, опубликованные пользователем qwertyMAN


  1.  

     

    Поставить бомбу по сигналу и подать сигнал (не важно, какая команда и кто именно подаст его, взорвутся все сразу).

    А что мешает одному роботу из команды каждую секунду подавать сигнал? Тогда любой робот который поставит бомбу сам себя подорвёт. Будут ли ограничения через какое время сигнал подавать можно? (зная эту задержку, игроки смогут подстроиться под неё и всегда будут подавать сигнал с этой задержкой) В чём смысл тогда этих бомб?

     

    Кстати, небольшой совет участникам. Попробуйте сговориться и создать ПО для объединения команд. Например участвуют 4 команды. 2 из них сговариваются и имеют доступ к определённым запросам союзников (узнать координаты например). Не стреляют в союзников и так далее. Когда же останется 2 эти команды, союз будет рушится (возможно, а возможно и нет. Никто ведь не запрещал от 2 до 4 победителей, если они не захотят сражаться ;) )

     

     

     

    Если таймер прозвенит раньше, чем 3 из 4 команд умрут, то победителями будут команды с наибольшим кол-вом юнитов.

    Если они откажутся сражаться, то получается они все победители.

    Чтобы помешать игрокам создавать союзы, можно использовать скопированные связующие карты с уменьшенным потреблением энергии в конфигах. Это локализирует их общение только в группе и они не смогут связать так просто по связи с вражескими роботами. 


  2. Это соревнование программистов, а не тактиков. Программ, а не задач.

    Любые участники соревнований должны использовать стратегию и тактику. Иначе в чём смысл соревнования? Узнать кто быстрее бегает или больше вес массу может поднять? Для этого есть спортивные соревнования. В майне такое будет просто бредово проверять, роботы ведь равны.

    А тут у нас командные соревнования. Возьмём аналогичные в реальной жизни. Футбол, бейсбол и прочие. Там смысл как раз в тактике. Слаженной работы команды. Будет она заложена в робота изначально или можно будет менять во время игры вручную. Вот в чём вопрос. По этому в тактиков по любому играть придётся. Иначе большой шанс проиграть, играя без тактики.

     

    Про "программ, а не задач" вообще не понял. То есть цель не выполнить задачу (выиграть), а участвовать (написать программу) То есть у тебя такое мнение?

     

     

     

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

    Всякое может случится. Одно дело тестить когда никого нет, а другое тестить, когда полно игроков. Когда игроков от нагрузки выкидывает с сервера.

     

     

     

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

    Это уже вопрос философский, в чём интерес программистский. Вот создашь ты ИИ и будут они жить своей жизнью, как колобок уйдут из дому. И о тебе не вспомнят.

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

     

    Вот помните серию Симпсонов, когда Гомер решил, что проще роботом стать, чем его создать?

     

     

    1423339013869.jpg

    robot-wars.gif

     

     

    Просто вспомнил про неё. А ведь там была мораль.


  3.  

     

    К тому же, кто будет контролировать, какие сигналы может послать "тренер"? Кто ему в таком случае запретит вообще самому по клеточкам тащить робота, куда надо? Весь смысл pathfinding теряется при ручном управлении.

    А в этом то и смысл. Тренер может вручную взять управление одного робота на себя. Но вы видели как быстро работают роботы с автоматическим управлением? Ручное тут явно проигрывает в скорости. Да и управлять всеми сразу роботами он не в силах. Автоматизаци будет нужна и автоматические роботы всегда будут иметь преимущества. Надеюсь ясно, что ручное управление в этом случае тактика плохая.

    Значит автор должен будет написать полуавтоматическое управление, где он будет лишь давать команды, например робот 1 - искать зарядку, номер 2 - убивать, номер 3 - защищать. Это уже лучше тем, что функции команд будут прописаны и робот их будет выполнять быстрее чем в прошлом примере.

    Идём дальше, создаём функции, чтобы не заморачиваться и не отдавать приказы всем по одному. Делаем несколько функций с тактиками боя. Например одна функция называет "отступаем", она сканирует у кого мало зарядки, даёт им команды идти к зарядки, а у кого много заряда батареи, те их прикрывают рядом. И автор сможет переключать тактики в зависимости от ситуации. Это добавит больше логики в действия роботов, что сделает игру более живой, будет ощущаться ИИ роботов не таким глупым как в первом этапе. Да и тренерам нужно будет понимать игру, когда какую команду отдать. Это не читерно, это даст возможность тренерам учиться управлять своим войком.

     

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

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

     

     

     

    Фан не только от забавных фигурок роботов, которые стараются друг друга зафигачить, а и от чата, от казусов, которые 100% будут, потому что это я. Да и вообще, этот ивент, как и любой другой, должен быть зрелищным, и хотя бы из-за этого стоит посмотреть на него.
     

    Как уже говорилось выше, в прошлом раунде стиву не получилось затестить свои проги перед игрой на сервере и его роботы просто заглючили на поле. А воскресить их было некому. И в чём тут интерес? Был бы бой 1 на 1 и игра превратилась бы в скукатищу. А так будет шанс хоть как-то что-то сделать, чтобы сообразить, как выйти из ситуации, какие функции не глючат и ими пытаться отбиваться.

    По сути вмешивание хозяина роботов в игру даёт более сложную игру и более низкие требования для участия. Разве не так?

    За одно сгладит всякие казусы в сбое программ роботов.

     

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


  4. Потому что это бои именно роботов, а не игроков. Поэтому никакого управления игроками. В следующем этапе, может, и будет, конечно, но не тут.

    Ну как бы пока ничего ещё не готовилось ведь? Можно было бы пока придумать более лучший вариант проведения конкурса. В конце концов устроить голосования, кто участвует и кто считает что нужно ручное управление роботам. Пока особо ничего не готово, это самое время решить.


  5. А как вам такая идея? Дать игрокам по планшету, чтобы они могли как тренера подготовить несколько комманд и использовать их во время игры. Это могло бы увеличить азарт игры. А без этого просто запустили роботов и смотришь на них. Не так интересно.

     

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

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

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

     

    Кажется на всех спортивных соревнованиях вроде футбола тренер имеет возможность кричать команды футболистам. Давать им указания как играть.

     

    P.S. А чтобы до старта они не могли запустить роботов самостоятельно, можно отдать им планшет после минуты с начала старта.

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

    В прошлом раунде мне не понравился факт того, что азарта мало. Игроки не имеют никакого контроля над происходящим. Что-то сломалось и залагало - робот стоит на месте.


  6. Предлагаю усложнить задачу. Пусть роботы будут не просто сражаться, но и будут иметь не большой запас батареи. Из-за чего им придётся искать и сидеть на точках зарядки которые будут разбросаны по карте. Сидеть они долго не смогут на точке, так как стоящая на месте цель - лёгкая добыча.

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

    Ещё можно оставлять в сундуках ингредиенты, например один робот собрал порох, другой песок. Они как-то передали друг другу эти компоненты, скрафтели ТНТ и пошли убивать.

     

    Довольно разнообразней станет игра. Хотя я не уверен, что программистам удастся под эту механику написать умных роботов. Тут реально проблема. Чем интереснее игра - тем меньше людей смогут под неё написать программы.

    • Нравится 1

  7. На робике нет таума.

     

    Потестил в сингле я лазер. Можно дать роботам, но только на Low-Focus. Тогда препятствия делать надо из ванильного (или укреплённого какого-нибудь) стекла.

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


  8.  

     

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

    Коротко говоря - я считаю скучным складывание ТНТ и его поджиг. Где зрелище? Ну хотя бы можно вместо этого им выдать бомбочки чтобы они на ПКМ их кидали? и/или лазер выдать, чтобы могли отстреливаться, пока не разрядится?

    • Нравится 1

  9. Да ладно вам. Роботы могут использовать на ПКМ что угодно, и лазеры, и всякие бомбочки кидать (кажется в IC2 есть такие) и много чего делать интересного. А вы хотите ограничить их выставлением динамита и подрыва его? Серьёзно? Всё настолько скучно?

     

    Надо бы пересмотреть условие игры. Пусть роботы сражаются на арене из игры про танчики, даже текстурпак можно скопипастить, чтобы проводить конкурс из этой старой игры. Будет такой тематический косплей этой замечательной игры. Выдать роботам лазеры, настроить так в конфигах, чтобы они по 1 блоку ломали и вперёд. В бой. 2 команды, 2 базы, уничтожив которые заканчивается раунд. Например после 10 попаданий в базу. (надеюсь в случае чего НЕО сможет в свой мод нужный блок добавить)

     

    tank.jpg

     

    Далее можете сами подогнать условия игры под эту тематику. Я всего лишь подам идею. Далее думайте, принять её или нет и как видоизменять.

    • Нравится 2

  10. Описание: Требуется маленькая программка для управления дроном через беспроводную плату. С компа или планшета вводишь комманду, она отправляется на дрона, выполняется и отсылает обратно ответ.

     

    Дополнительный функционал:

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

     

    Награда: Так как в данное время не играю на серверах, могу просто сказать спасибо и/или выслать скрины дорогих ресов с одиночной игры, в которой я играю. Если вам станет от этого легче.

     

    Установка: Дрон с любой комплектацией и обязательно с беспроводной платой. Комп так же любой комплектации с беспроводной платой.

     

    Требования: Требуется при этом поддержка полного управления, ввода любых выполняемых дроном комманд и корректное их выполнение. Чтобы с компа можно было нормально и удобно писать программы для дрона.

    В общем, нужна удобненькая DroneOS ©

     

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


  11. Думаю, есть смысл в этом гайде. Но с небольшими проправками: гайд должен быть максимально понятным.

     

    1) Традиционно объем обозначается через V, а площадь через S. В твоем случае площадь равна количеству затрачиваемых материалов. Эффективность можно обозначить через E.

     

    2) Индексы вроде V1,V2,V3 не информативны. В данном случае логичной была бы запись:

    Vh = x*y

    Vx = y*h

    Vy = x*h

    Конечно, в математике это принято называть частными производными и записывать так: ∂V/∂h = x⋅y, но неподготовленному читателю такое знать не обязательно.

    Я сам за 4 года после окончания школы уже отучился от школьной математике и долго парился с вопросом, что именно я хочу найти в этой задаче. (отсылка к моему блогу) Да и знал я не так уж много, всего 9 классов математики. Там мы даже понятия производной не проходили. Не то что, всякие экстремумы и комбинаторику. И не спасёт меня тот факт, что я в классе лучше всех понимал математику. Всё ровно, я никудышный математик. Даже таблицу умножения не учил. Выбрал более сложный путь и в итоге проиграл.

     

    Но зато у меня есть форум, где хорошие парни (девушек пока не видел) могут с радостью помочь и исправить ошибки в вычислениях. Это реально круто.


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

     

    Осторожно! Много буковок вычислений!

     

    Чтобы не верить на слово, выведем и докажем какая форма плавильни самая лучшая.

    Начнём с обозначений.

    x - внутренняя длина плавильни

    y - внутренняя ширина плавильни

    h - внутренняя высота плавильни

    S - вместительность плавильни

    P - количество блоков на строительство плавильни

    T - эффективность (главный параметр для сравнения)

     

    Теперь обозначим зависимость этих переменных.

    S = x*y*h   так как это объём плавильни

    P = x*y + 2h*(x+y)   сумма строительных блоков для строительства всех граней плавильни

    T = S/P   например эффективность 5 - это 1 строительный блок затраченный на строительство эквивалентен пяти слотом вместительности готовой печи

     

    Далее следует понимать, что например взяв минимальную плавильню 1 на 1 на 1 и увеличивая одну из сторон до бесконечности, с увеличением её размера, будет увеличиваться и эффективность T. Из этого следует, что чем больше плавильня - тем она эффективнее. Но это не наша цель. Нам следует найти форму, которая была бы наиболее экономична при этом.

     

    Ясное дело, плавильня 1 на 10 на 1 не экономична. Увеличение одной стороны на 3 блока будет давать бонус вместительности 1 блок. Увеличение другой займёт 12 строительных блоков и даст увеличение вместительности в 10 блоков. А увеличение высоты на 1 блок потребует 22 строительных блока и даст бонус в 10 блоков. Значит наиболее эффективно увеличивать плавильню до 2 на 10 на 1

    Мы уже на пол пути к успеху.

     

    Выведем формулы:

     

    Для бонуса вместительности:

    S1 = x*y   расширение в высоту

    S2 = y*h   расширение в длинну

    S3 = x*h   расширение в ширину

     

    Для затрачиваемых материалов:

    P1 = 2*(x+y)   расширение в высоту

    P2 = 2h + y   расширение в длинну

    P3 = 2h + x   расширение в ширину

     

    Теперь имея эти данные, мы можем найти эффективность этих действий:

    T1 = x*y / (2*(x+y))

    T2 = y*h / (2h + y)

    T3 = x*h / (2h + x)

     

    Так как нам нужно найти такую форму плавильни, при которой любое расширение давало бы одинаковую эффективность, то мы можем приравнять все три формулы:

     

    x*y / (2*(x+y)) = y*h / (2h + y) = x*h / (2h + x)

     

    Сначала возьмём последние 2 формулы y*h / (2h + y) = x*h / (2h + x) и путём сокращения (это долго расписывать) мы получим x=y

    Далее зная это, из первой и последней формулы можно составить следующие уравнение x^2 / (4*x) = x*h / (2h + x) (если хотите, решите его сами)

    И в конце решения этого уравнения всплывает зависимости h = 0,5 * x

     

    Итог:

    Самая эффективная формула плавильни из Tinkers Construct имеет следующую зависимость сторон x=y=2h

    То есть, в основании плавильни стоит квадрат, со стороной x, а высота - это половина из x.

     

    Пример экономичных плавилен:

    2 на 2 на 1

    4 на 4 на 2

    10 на 10 на 5.

     

    Свойства такой плавильни:

    Такая плавильня имеет удивительные свойства. Любое увеличение или уменьшение размера по любой стороне равен const по эффективности.

     

    По идее такая плавильня стоит меньше всего ресурсов и даёт максимум вместительности. Хотя правило, чем больше тем лучше всё ещё в силе.

    • Нравится 1

  13. Если запустить эту программу более чем на 5 компьютерах начинает очень сильно лагать. Если это запустят на не очень хорошем сервере то будет все очень плохо :С

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

    А вот насчёт теста запуска нескольких сразу надо будет проверить. Спасибо за отзыв.

     

    Как вариант попробуй в начале программы в строке local timeout = 1 сменить 1 на 10 и выше. Более большая задержка может и сможет помочь.

    Хотя есть шанс что проблемы происходят с твоей клиентской части, а на сервере всё норм. Но это не точно. Программа не тестировалась в мультиплеере.

    • Нравится 1

  14.  

     

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

    Лучше чтобы было 5-10 минут. Пропажа вещей всегда отпугивает игроков. 1-2 минуты как-то мало.


  15. Обработчик клика проверяет принадлежит ли клик тому или иному компоненту, начиная проверку с более поздних компонентов. Если такой компонент найден, вызывается его обработчик onClick. Другие компоненты на предмет клика уже не проверяются. Т.е. если клик произведен в области перекрывания двух клавиш, клик отработает только для верхней клавиши. По крайней мере, так должно быть.

    А я в своих прогах вручную из условий строил наиболее компактные схемы проверки нажатия. Вручную, Карл.


  16. Просто вбиваешь в гугле "lua string" и первый сайт который он тебе предлагает мне часто помогал, вот http://lua-users.org/wiki/StringLibraryTutorial

    Там расписаны функции стандартной библиотеки string, для работы с текстом. И там есть то, что тебе нужно. Но постарайся хоть это сделать сам. Там даже примеры работы функций есть.

    Как я понял тебе нужно узнать количество букв в фразе, пройти по ним брутом (в цикле) и записать в таблицу сколько какая буква использовалась.

    Всё это реализуемо.

     

    На ряду с библиотекой string, мне часто бывает полезна библиотека math. Просто имей ввиду, что в этой библиотеки есть все полезные математические функции. Гугл отлично выдаёт документацию по этим библиотекам.


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

    Ну как бы в OpenComputers ограничения по диапазону частот. Он и не должен их играть.

×
×
  • Создать...