PDA

Просмотр полной версии : Шахматы - тестируем одновременные ходы



General
22.04.2012, 20:45
Есть такой сервис: PlayerIO, для создания мультиплеерных флеш-игр. Я как-то разбирал примеры, и, вот, созрел, чтобы попробовать реализовать идею одновременных ходов.

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

Чтобы задать направление хода, нажмите мышкой на фигуру и потяните. Когда все приказы будут розданы, нажмите Send Order.

Когда оба игрока отправят приказы, начинается просчёт хода. Каждый ход состоит их 100 тиков. Если фигуре задано идти на n полей, вычисляются числа b = 100/n и a = b/2. На переход с одного поля на соседнее фигура будет тратить случайное число тиков между a и b.

Если фигура встречает на пути свою, то ждёт, пока клетка не освободится. Если чужую - снимает её, при этом переставая дальше двигаться.

Вот сама игра. Давайте попробуем?
http://dl.dropbox.com/u/22620118/SCH.swf

Сейчас программа - просто для теста возможностей сервиса. Код сделан неоптимально, если браться серьёзно, его придётся переписывать, Лобби и чат были в примерах, на них не потрачено ни строчки.

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

//Обновил сервер, поправил баг с прохождением фигур

finansist
23.04.2012, 00:47
Хотел было попробовать, но необходимы еще игроки. Надо как-то условиться о времени теста

General
23.04.2012, 08:54
Создал, буду в онлайне где-то час-полтора.

Yorick
23.04.2012, 11:50
Хотел было попробовать, но необходимы еще игроки. Надо как-то условиться о времени теста
Вот вам и вылазит главная проблема стандартного мультиплея: "надо ждать игроков". Тогда как в режиме игры типа почтового, e-civ, уже б давно партия была сыграна:

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

А вообще уже Реныч, увидев, что никто не берется использовать его прототип, потихоньку клепает сервер (http://www.civfanatics.ru/threads/9640-Civilization-ReFlash?p=395186&viewfull=1#post395186):

И так, последние известия.
Не дождавшись обещанного тут сервера, было принято решение форсировать процесс, написанием собственного.
Можно сказать у меня получилось. Сервер реализует передачу данных по собственному протоколу, используя транспортный, сеансовый и прикладной уровни.
Сейчас клиент умеет авторизовываться на сервере, посредством связки логин/пароль. Получать список игроков. Для демонстрации работы реализован чат.

Дальнейшее направление работы вижу - реализацию передвижения юнитов в соответствии с концепцией "Одновременного перемещения" в краткосрочной перспективе
и боевой системы в дальнейшем.
Не знаю, насколько можно судить по словам (а на деле Реныч уже показал, что что-то умеет и делает), но "транспортный, сеансовый и прикладной уровни" - звучит заманчиво :) Правда, я так и не разобрался, как сервером Реныча пользоваться, и он не расписывает - но возможно, доведет сервер - напишет.

Конечно, каждому интересно делать то и так, как ему интересно, но жаль, что все так же параллельно изобретаются велосипеды :(

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

General
23.04.2012, 13:10
Да-да, я видел :) И Ренычу показывал. Но я не писал полноценный сервер, это я тестировал решение PlayerIO для многопользовательских игр. Сделать, чтобы комната существовала даже когда все вышли - интересная идея, посмотрю, возможно ли здесь такое.

Yorick
23.04.2012, 13:27
Да-да, я видел :) И Ренычу показывал. Но я не писал полноценный сервер, это я тестировал решение PlayerIO для многопользовательских игр. Сделать, чтобы комната существовала даже когда все вышли - интересная идея, посмотрю, возможно ли здесь такое.
Рад слышать, что вы с Ренычем контачите - одна голова хорошо...

General
18.08.2012, 16:34
Кто хочет потестировать новый режим игры и искусственный интеллект - пишите в личку.

Yorick
26.08.2012, 13:09
Какой-то простенький хэлпик бы не помешал, потому спрошу здесь - отменить выбранный ход нельзя? запомнить позицию?

Что-то фигня получилась: вышел я конем на выгодную вилку "пешка ферзь", правда ферзь прикрыт слоном, эта пешка - этим :) ферзем. Но игра не дает задать удар ни по ферзю, ни по пешке. Почему?

General
26.08.2012, 13:15
Чтобы отменить ход, надо нажать на фигуру и чуть-чуть поводить над ней.

Да, про ещё одну особенность забыл сказать - после хода фигура блокируется на 1 ход (к королю это правило не относится). Эта особенность введена потому, что иначе любой шах приводит к 50% шансам выиграть партию.

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

Yorick
26.08.2012, 13:23
Я так понимаю, ты потратил кучу времени на разработку ИИ?

Я например шахматы просто не люблю. Что если

1. заменить пешек на дуболомов, слонов на слонов и т.д.; придать им параметры у/з/х, близкие к Циве; разрешить им двигаться как в Циве, т.е. в любом направлении
2. клеткам придать рельеф местности,
3. на последней линии сделать "город", взять который и будет цель игры
4. разрешить входить парами под никами с паролем, запоминать ситуацию;
5. ввести Таблицу рейтингов -

понятно, что я "много захотел" :), но может тогда в твою игру повалит толпа игроков? ;)

General
26.08.2012, 13:30
Я так понимаю, ты потратил кучу времени на разработку ИИ?
Один день :)




Я например шахматы просто не люблю. Что если

1. заменить пешек на дуболомов, слонов на слонов и т.д.; придать им параметры у/з/х, близкие к Циве; разрешить им двигаться как в Циве, т.е. в любом направлении
2. клеткам придать рельеф местности,
3. на последней линии сделать "город", взять который и будет цель игры
4. разрешить входить парами под никами с паролем, запоминать ситуацию;
5. ввести Таблицу рейтингов -

понятно, что я "много захотел" :), но может тогда в твою игру повалит толпа игроков? ;)

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

Yorick
26.08.2012, 13:36
Да, такова главная цель, просто шахматы взяты, чтобы не придумывать параметры юнитам, для обкатки движка и геймплея.
И как ты оцениваешь продвижение к цели?

General
26.08.2012, 13:41
Ну смотри - ИИ я сделал 18го числа. С тех пор к проекту и не подходил - то встречи с научруком, то конспект лекций надо писать, то ремонт доделывать. Когда образуется следующее "окно", облагорожу интерфейс.

Yorick
26.08.2012, 13:54
Ну смотри - ИИ я сделал 18го числа. С тех пор к проекту и не подходил - то встречи с научруком, то конспект лекций надо писать, то ремонт доделывать. Когда образуется следующее "окно", облагорожу интерфейс.
Не, дело не в "благородстве": то, что я предлагаю, резко расширяет возможности, даже измерения игры. И ес-но, если целиться на ИИ - то задача усложняется на порядок. А вот если забить на ИИ (сэкономив кучу усилий?), но сделать возможность поиграть хоть в паре, но в онлайне - игра ж может заиграть новыми красками?

General
26.08.2012, 14:52
Нет, я просто имею в виду, что по этому проекту у меня ближняя задача - сделать полноценной игрой именно одновременные шахматы. Ну а потом, на их основе - одновременную циву.

Aku_Aku
26.08.2012, 14:55
Это... так не работает.
Но в любом случае, удачи, и пиши несли что...

General
26.08.2012, 15:16
Спасибо! Так, наоборот, по-моему, надо проекты доводить до конца. А затем много кода и подходов могут быть использованы и в циве.

Aku_Aku
26.08.2012, 15:50
Доводить проекты до конца -- это отличное мотто,
но я в данном случае не о том.

Хотя... думаю не имеет смысла продолжать (да и начинать) здесь то,
что является предметом моей личной прокрастинации. :)))

Желаю чтобы тебя оно не постигло, и твои слова не расходились с делом.
А если... еще какая толика оптимизма, задачка интересная и нам перепадет... то будет просто отлично. ;)

Yorick
27.08.2012, 10:51
Нет, я просто имею в виду, что по этому проекту у меня ближняя задача - сделать полноценной игрой именно одновременные шахматы. Ну а потом, на их основе - одновременную циву.
Для шахмат одновременность неестественна, для реалистичной стратегической игры наоборот - естественна.

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

Потому в доведении шахмат не вижу смысла, и наоборот - в переводе шахмат в реал-стратегию вижу этот смысл.

General
30.09.2012, 01:44
http://general.civfanatics.ru/fairchess/FCTitle.PNG
http://general.civfanatics.ru/fairchess/FSGames.PNG

Yorick
30.09.2012, 11:57
Красота :) Теперь весь вопрос - найдет ли это спрос у игроков, или окажется очередной (не твоей очередной) тратой сил.

Увы, я насмотрелся на столько способных людей, которые говорили "сейчас надо делать именно это", или просто честно признавались: "а мне интересно делать именно это" - а Дело так и не продвинулось :(

Конечно, какой-то плюс от одновременных шахмат тоже МОЖЕТ БЫТЬ: популяризация одно временного движения. Но, извини, еще раз повторю свое частное ИМХО: может получиться и минус - шахматисты народ крайне консервативный, одновременность могут заклевать, и вместо популяризации одновременности может получиться ее дискредитация.

Вот есть книга Е.Гика "Занимательные математические игры", там столько вариаций - и шахматы на троих, и шашматы, и уменьшенные, и кажется 3-мерные - а в жизни ты много слышал, чтоб в такое играли?

General
30.09.2012, 12:14
Спасибо! :)

Ну вот и мне интересно, как игроки воспримут. Поэкспериментирую.

Гость
30.09.2012, 16:30
в хроме тормозян

General
30.09.2012, 16:46
Да, в самой игре я ещё не закешировал всё, что можно. А вообще хром чего-то флеш плеер как-то коряво обновил: я видел даже в одной игре совет сменить браузер, т.к. функция сохранения кампании в нём перестала быть доступной.

General
01.03.2013, 21:41
Подал шахматы на конкурс многопользовательсктих игр: https://playerio.com/competitions/ega2012/reviewgame/10780/fair-chess

Рейтинг 3,8 из 10.

Гость
01.03.2013, 22:45
твоя ссылка с шлагбаумом "You must be a registered reviewer to review any of the games submitted in this competition"

General
01.03.2013, 23:11
Да-да, пока игра только там - таковы условия конкурса.

Peter
06.03.2013, 06:40
а почему так мало-то, 3.8? отличная игра же

General
07.03.2013, 14:14
Уже 3,5

Немного успокаивает, что игра с лучшим рейтингом - 5,2 из 10.

Yorick
07.03.2013, 16:08
Уже 3,5

Немного успокаивает, что игра с лучшим рейтингом - 5,2 из 10.
А известно - шкала прямая или обратная, т.е. 1 хуже или лучше чем 10? ;)

General
07.03.2013, 17:02
1 хуже

Yorick
07.03.2013, 17:12
1 хуже
Я ж тебе говорил: для шахмат одновременные ходы - нонсенс, народ не оценит; тогда как для реалистичной стратегии - самое то. Увидишь, как вырастут рейтинги, после того как заменишь доску на терру, а фигурки на юниты :)

MaiklIl
07.03.2013, 22:02
Увидишь, как вырастут рейтинги, после того как заменишь доску на терру, а фигурки на юниты :)Эх, сменить бы пешки на рюмашки... (С) :D

Peter
28.06.2013, 11:37
а почему ссылки на шахматы нет на SmartFlashGames? Как в них поиграть-то теперь :)