Главная › Форумы › Шашечные программы › Шашечные программы › О едином интерфейсе и протоколе обмена для шашечных программ
- В этой теме 10 ответов, 3 участника, последнее обновление 21 год назад сделано Damon.
-
АвторСообщения
-
15.09.2003 в 19:40 #339600DamonУчастник
Привет всем,
Уже года полтора или два поднимается вопрос о том, что неплохо бы создать единый протокол обмена данными для шашечных программ, чтобы они играли непосредственно друг с другом.
А между тем в шахматах разделение движок — интерфейс давно осуществлено. Имеется прекрасная программа WinBoard, к которой можно подключать любой [или два!] из движков, число которых давно перевалило за полторы сотни. (Ее — WinBoard — удобно использовать и для просмотра партий).
Следовательно, велосипед изобретать не нужно.
Сегодня, когда в программирование шашек пришел Игорь Коршунов с программой «Каллисто» — а он автор известного
шахматного движка WildCat с коэф. Эло около 2500 — полагаю, самый подходящий момент для реализации такого проекта и в шашках.
С разрешения Игоря, вот фрагмент нашей с ним переписки:
СП: — У меня к Вам, как к специалисту, вот какой вопрос. Много ли нужно усилий, чтобы модифицировать программу WinBoard для шашек (или создать аналогичную)? Что для этого нужно, и, может быть, КТО (?!) мог бы этим заняться?
ИК: — Мой интерфейс уже является аналогом WinBoard. Правда очень малофункциональным. Но уже позволяет проводить матчи между движками. Если найдутся люди, которые согласятся поддержать протокол для моего интерфейса,
то я могу заняться этой проблемой серьёзно.
А на мой следующий вопрос — об описании протокола — прислал соответствующий файл; прогаммистам смотреть здесь —
http://www.gambler.ru/plus/tavlei/download/protocol.txt
Итак, друзья, смотрите, ПОДДЕРЖИВАЙТЕ, согласовывайте, и т.п. В любом случае это дело нужное, а уж следовать ли всем программам такому протоколу — это уже дело третье…
Damon[addsig]
15.09.2003 в 22:59 #344126AlkandУчастникЧто касается меня, как органмзатора турнира программ, которому даже довелось поработать оператором, то скажу, что такой протокол несомненно вещь отличная! Это ускорит проведение турниров и высвободит время программистов и организаторов для решения других задач.[addsig]
16.09.2003 в 08:11 #344127plus600УчастникНесколько раз поднимал эту тему с Сергеем (Damon), но так и не понял зачем это нужно. Несколько аргументов против:
1. Крайне низкий спрос на этот режим (в основном из-за малого числа сильных программ)
2. Основная изюминка этого режима для программистов — это отсутствие необходимости реализации оболочки и всего с нею связанного. По жизни это отнимает более 50% времени. Написал алгоритм, API к нему и вся разработка закончилась. У всех же шашечных программ интерфейсная часть уже существует.
3. «Высвободит время программистов на проведение за счет ускорения проведения турниров» — не очень понял, что имеется ввиду?
4. Мне кажется, что основная задача WinBoard это не игра двух программ друг с другом, а возможность пользователю, подключать к устоявшемуся интерфейсу новый движок и опробовать его.
5. Для осуществления игры программ друг с другом, гораздо проще договориться о формате обмена данными по сети. Дело то не сложное. Ведь, на том же Гамблере http://www.gambler.ru так все и играют — по сокетам обмениваются ходами.[addsig]
16.09.2003 в 09:12 #344128AlkandУчастникQuote:
3. «Высвободит время программистов на проведение за счет ускорения проведения турниров» — не очень понял, что имеется ввиду?
Вы не помните, как сидели возле компьютера, не имея возможности отойти от него, потому что могут сообщить ответный ход? Да не только отойти, даже и отвлечься трудно. Или вы с собой отдельного оператора брали?
У меня была простая идея потребителя — включил компьютеры, нажал на кнопочку и они сами играють
Но это я предложил, не зная сути проблемы. По глупости [addsig]
16.09.2003 в 13:04 #344129plus600УчастникА понял. Да, отходить трудно, так ведь мне и не особо нужно это было — посмотреть хотелось. Хотя, проблема есть, но ее решить можно и проше — ведь гораздо быстрее доделать ввод/вывод ходов через сокеты, чем переделывать программу под общие API — нужно только формат обмена установить.[addsig]
16.09.2003 в 15:50 #344130AlkandУчастникНу, с точки зрения организатора, это проблема коллектива, представляющего программу. Хотите — сами сидите за компом, хотите — оператора приглашайте или интерефейс пишите. Но в последнем случае необходимо согласие ВСЕХ…[addsig]
24.09.2003 в 15:44 #344131DamonУчастникПривет всем,
Признаться, меня удивляет молчание «заинтересованных» [по моему мнению] сторон (кроме С.Старцева, мнение которого мне известно).
Повторяю для тех, кто не понял:
Игорь Коршунов сам ПРЕДЛОЖИЛ СВОИ УСЛУГИ по написанию интерфейса для шашек, аналогичному шахматному WinBoard (см. ниже). Я ожидал, по-минимуму — одобрения НА СЛОВАХ, хотя и [в душе] надеялся на помощь ПО-МАКСИМУМУ, для чего и «выложил» черновик протокола обмена, и вообще — открыл тему здесь, а не в «Тавлеях»…
Если это не нужно, или есть другие возражения, то хотя бы высказывайтесь!
Еще раз (подробнее) о WinBoard. Это — интерфейс, который обеспечивает ТРИ основные функции [не говорю о качестве интерфейса, например, имеются 18 (!!) типоразмеров доски]:
— возможность игры человек-программа или между двумя программами (движками);
— подключение к шахматным серверам через Интернет;
— просмотр партий, т.е. загрузку/сохраниение файлов партий/позиций в стандвртном (PGN) формате, и соответственно, их редактирование.
Согласен, что крупные шахматные программы обеспечивают эти функции и без WinBoard, однако их API протоколы стандартизованы (например, к ChessMaster’у можно подключать, кроме собственного, и другие движки).
1) Сомневаюсь, что даже лучшие шашечные программы обеспечивают все эти функции; но если программисты полагают какие-то из них не нужными, или собираются обеспечить подобные самостоятельно в будущем, — вопрос закрыт.
2) С.Старцев пишет: проще организовать «обмен данными по сети (через сокеты)». Полагаю, что:
— это ЕМУ проще (ибо он этим уже занимался); и, заметим, это обеспечивается WinBoard;
— игра между двумя движками — в данном случае лишь одна из функций;
3) Если все солидарны со Старцевым по п.2, и БРОСИЛИСЬ писать протоколы «обмена по сети» , тогда я хоть как-то [частично!] могу ваше молчание понять…
В конце концов, надо облегчить жизнь авторам будущих новых «Каллисто», хороших и разных…
Или ГРАНДЫ БОЯТСЯ ЭТОГО ??
Damon[addsig]
24.09.2003 в 20:25 #344132AlkandУчастникК сожалению, я во всем этом слабо разбираюсь
По мне, так, чтобы удобно было и красивенько. Кнопочки там всякие и шашечки аккуратные. Короче, юзер он и есть юзер [addsig]
25.09.2003 в 14:53 #344133DamonУчастникДа и я только о пользователе беспокоюсь — тоже рядовой юзер (по отношению к данной проблеме…)
Damon[addsig]
27.09.2003 в 19:27 #344134plus600УчастникВот она основная проблема — никому это не нужно…[addsig]
01.10.2003 в 15:26 #344135DamonУчастникОказывается, по поводу данной проблемы высказался еще Бернард Шоу:
«Так как музыка к спектаклю пока что не написана, ее сочтено разумным не исполнять.»
Damon[addsig]
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.