О едином интерфейсе и протоколе обмена для шашечных программ

Главная Форумы Шашечные программы Шашечные программы О едином интерфейсе и протоколе обмена для шашечных программ

  • В этой теме 10 ответов, 3 участника, последнее обновление 21 год назад сделано Damon.
Просмотр 11 сообщений - с 1 по 11 (из 11 всего)
  • Автор
    Сообщения
  • #339600
    Damon
    Участник

    Привет всем,

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

    А между тем в шахматах разделение движок — интерфейс давно осуществлено. Имеется прекрасная программа WinBoard, к которой можно подключать любой [или два!] из движков, число которых давно перевалило за полторы сотни. (Ее — WinBoard — удобно использовать и для просмотра партий).

    Следовательно, велосипед изобретать не нужно.

    Сегодня, когда в программирование шашек пришел Игорь Коршунов с программой «Каллисто» — а он автор известного

    шахматного движка WildCat с коэф. Эло около 2500 — полагаю, самый подходящий момент для реализации такого проекта и в шашках.

    С разрешения Игоря, вот фрагмент нашей с ним переписки:

    СП: — У меня к Вам, как к специалисту, вот какой вопрос. Много ли нужно усилий, чтобы модифицировать программу WinBoard для шашек (или создать аналогичную)? Что для этого нужно, и, может быть, КТО (?!) мог бы этим заняться?

    ИК: — Мой интерфейс уже является аналогом WinBoard. Правда очень малофункциональным. Но уже позволяет проводить матчи между движками. Если найдутся люди, которые согласятся поддержать протокол для моего интерфейса,

    то я могу заняться этой проблемой серьёзно.

    А на мой следующий вопрос — об описании протокола — прислал соответствующий файл; прогаммистам смотреть здесь —

    http://www.gambler.ru/plus/tavlei/download/protocol.txt

    Итак, друзья, смотрите, ПОДДЕРЖИВАЙТЕ, согласовывайте, и т.п. В любом случае это дело нужное, а уж следовать ли всем программам такому протоколу — это уже дело третье…


    Damon[addsig]

    #344126
    Alkand
    Участник

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

    #344127
    plus600
    Участник

    Несколько раз поднимал эту тему с Сергеем (Damon), но так и не понял зачем это нужно. Несколько аргументов против:

    1. Крайне низкий спрос на этот режим (в основном из-за малого числа сильных программ)

    2. Основная изюминка этого режима для программистов — это отсутствие необходимости реализации оболочки и всего с нею связанного. По жизни это отнимает более 50% времени. Написал алгоритм, API к нему и вся разработка закончилась. У всех же шашечных программ интерфейсная часть уже существует.

    3. «Высвободит время программистов на проведение за счет ускорения проведения турниров» — не очень понял, что имеется ввиду?

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

    5. Для осуществления игры программ друг с другом, гораздо проще договориться о формате обмена данными по сети. Дело то не сложное. Ведь, на том же Гамблере http://www.gambler.ru так все и играют — по сокетам обмениваются ходами.[addsig]

    #344128
    Alkand
    Участник

    Quote:


    3. «Высвободит время программистов на проведение за счет ускорения проведения турниров» — не очень понял, что имеется ввиду?


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

    У меня была простая идея потребителя — включил компьютеры, нажал на кнопочку и они сами играють

    Но это я предложил, не зная сути проблемы. По глупости [addsig]

    #344129
    plus600
    Участник

    А понял. Да, отходить трудно, так ведь мне и не особо нужно это было — посмотреть хотелось. Хотя, проблема есть, но ее решить можно и проше — ведь гораздо быстрее доделать ввод/вывод ходов через сокеты, чем переделывать программу под общие API — нужно только формат обмена установить.[addsig]

    #344130
    Alkand
    Участник

    Ну, с точки зрения организатора, это проблема коллектива, представляющего программу. Хотите — сами сидите за компом, хотите — оператора приглашайте или интерефейс пишите. Но в последнем случае необходимо согласие ВСЕХ…[addsig]

    #344131
    Damon
    Участник

    Привет всем,

    Признаться, меня удивляет молчание «заинтересованных» [по моему мнению] сторон (кроме С.Старцева, мнение которого мне известно).

    Повторяю для тех, кто не понял:

    Игорь Коршунов сам ПРЕДЛОЖИЛ СВОИ УСЛУГИ по написанию интерфейса для шашек, аналогичному шахматному WinBoard (см. ниже). Я ожидал, по-минимуму — одобрения НА СЛОВАХ, хотя и [в душе] надеялся на помощь ПО-МАКСИМУМУ, для чего и «выложил» черновик протокола обмена, и вообще — открыл тему здесь, а не в «Тавлеях»…

    Если это не нужно, или есть другие возражения, то хотя бы высказывайтесь!

    Еще раз (подробнее) о WinBoard. Это — интерфейс, который обеспечивает ТРИ основные функции [не говорю о качестве интерфейса, например, имеются 18 (!!) типоразмеров доски]:

    — возможность игры человек-программа или между двумя программами (движками);

    — подключение к шахматным серверам через Интернет;

    — просмотр партий, т.е. загрузку/сохраниение файлов партий/позиций в стандвртном (PGN) формате, и соответственно, их редактирование.

    Согласен, что крупные шахматные программы обеспечивают эти функции и без WinBoard, однако их API протоколы стандартизованы (например, к ChessMaster’у можно подключать, кроме собственного, и другие движки).

    1) Сомневаюсь, что даже лучшие шашечные программы обеспечивают все эти функции; но если программисты полагают какие-то из них не нужными, или собираются обеспечить подобные самостоятельно в будущем, — вопрос закрыт.

    2) С.Старцев пишет: проще организовать «обмен данными по сети (через сокеты)». Полагаю, что:

    — это ЕМУ проще (ибо он этим уже занимался); и, заметим, это обеспечивается WinBoard;

    — игра между двумя движками — в данном случае лишь одна из функций;

    3) Если все солидарны со Старцевым по п.2, и БРОСИЛИСЬ писать протоколы «обмена по сети» , тогда я хоть как-то [частично!] могу ваше молчание понять…

    В конце концов, надо облегчить жизнь авторам будущих новых «Каллисто», хороших и разных…

    Или ГРАНДЫ БОЯТСЯ ЭТОГО ??


    Damon[addsig]

    #344132
    Alkand
    Участник

    К сожалению, я во всем этом слабо разбираюсь

    По мне, так, чтобы удобно было и красивенько. Кнопочки там всякие и шашечки аккуратные. Короче, юзер он и есть юзер [addsig]

    #344133
    Damon
    Участник

    Да и я только о пользователе беспокоюсь — тоже рядовой юзер (по отношению к данной проблеме…)


    Damon[addsig]

    #344134
    plus600
    Участник

    Вот она основная проблема — никому это не нужно…[addsig]

    #344135
    Damon
    Участник

    Оказывается, по поводу данной проблемы высказался еще Бернард Шоу:

    «Так как музыка к спектаклю пока что не написана, ее сочтено разумным не исполнять.»


    Damon[addsig]

Просмотр 11 сообщений - с 1 по 11 (из 11 всего)
  • Для ответа в этой теме необходимо авторизоваться.