Publish your project for free and start receiving offers from freelance contractors in serveral minutes after publication!
26000 ₴

Разработка движка шахмат

project complete


Нужно реализовать сам движок (доску) для одновременной игры нескольких тысяч/десятков тысяч игроков.  
Что нужно от Вас:



1. Реализация системы мультиигры: одновременная поддержка нескольких тысяч/десятков тысяч партий (пример: lichess.org/).  
Всех остальных наворотов (шахматных каптч, задач, различных вариаций шахмат(шахматы Фишера,... и т.п.) не будет). Только классические шахматы.  
Игрок создает стол, выбирает себе цвет фигур (белые/черные/случайный цвет), задает продолжительность партии и выбирает силу противника в диапазоне (скажем, от 1600 до 1800).  
Визуально процесс выбора оппенента должен выглядеть как здесь: joxi.ru/Y2L8JVzf9YYnq2, обязательно с двойным бегунком.
После чего стол появляется в списке партий в ожидании, и любой другой свободный игрок может за него сесть. Одновременно игрок может играть только в одной партии.



2. Реализация самого геймплея. Тут от Вас потребуется твердые знания правил игры: рокировки на длинную и короткую сторону, шах, мат, пат, удар пешкой через поле, и т.п.



3. Реализация входа в игру. С нашей стороны мы будем передавать Вам через GET параметр в iframe username игрока, а также хеш (md5(username+salt)), сверив который,  
Вы убедитесь в отсутствии попытки взлома. Далее, обратившись на данный нами урл по API key, который мы Вам дадим, Вы получите рейтинг Эло игрока.

4. Реализация кнопок "предложить ничью" (подтверждение/отмена со стороны противника) и "сдаться". Обе эти кнопки должны быть с подтверждением (чтобы игрок случайно не нажал на "сдаться").  
   Реализация js таймера (взять с lichess.org/). Если время игрока на партию истекает, игроку автоматически засчитывается поражение.

5. По завершении партии Вы должны будете передать данные о ее результате на указанный нами роут по АПИ черех POST request.  
В request-е нужно будет передать: username_1, хеш (md5(username_1+salt), username_2, хеш (md5(username_2+salt), API key, результат партии (1 – победа белых, 0 -ничья, 2 – победа черных),  
продолжительность партии в секундах, история ходов партии в формате:
(1)b3e5(2)Bb2d6(3)e3Nf6(4)h3Be7(5)Be2Nc6 (без пробелов!!!)  
В ответ на этот реквест Вы получите пересчитанный рейтинг Эло каждого из игроков в json формате и отобразите эти изменения в интерфейсе на своей стороне.




Сам интерефейс шахматной партии можно сделать полностью по аналогии с lichess.org/ , изменив детали, чтобы не было плагиата. Картинки фигурок и самой доски мы Вам дадим.  
В целом будущий проект это будет упрощенный по функционалу вариант lichess.org/. Искусственный интеллект писать не нужно, партий человек – компьютер не будет. Только человек-человек.  



От Вас требуются знания шахматных правил (желательно опыт реальной игры), знания css, html, js, jquery, плюс php (обязательно фреймворк kohana) на котором будет написан сам движок,  
управляющий партиями, а также готовность поддерживать проект на протяжении длительного времени и оперативно устранять все ошибки.  

Весь пересчет ходов в партии должен проверяться на бекенде (php kohana) посредством аякс запросов. Чтобы человек не мог хаккерскими методами по средством js  
(будь то консоль F12 или любой другой способ) изменить расположение фигур на доске в обход нашего алгоритма. То есть от Вас требуются навыки защиты веб приложений.

Проект должен быть реазизован на php frameork kohana 3.3, nodejs (socket сервер), js, jquery, css, html  
Флеш, другие языки программирования (c#, java, python, perl, ruby, ASP.NET, etc) и другие джаваскрипт библиотеки использовать НЕ разрешается.


Страница самой игры на сайте:
/play

Урл, передаваемый в iframe с нашего сервера на Ваш:
robot.<yourserver>.com/api?username=10000000 27&hash=a7107d1e8baa9dba151b7ebfa965fec4

API роут, отдающий от нашего сервера Вашему рейтинг Эло (пересчитывается на нашей стороне):
/page/rating_7128937192?user=1000000025&user_hash= 5caffbb3d0a381f0e38020179404bc1a&api_key=ckvnw4rbt 73iynci2uny7

API роут, на который нужно отсылать запрос по завершению партии (в  ответ приходит пересчитанный рейтинг Эло):
/page/complete_7889937103?user1=1000000025&user1_h ash=5caffbb3d0a381f0e38020179404bc1a&user2=1000000 026&user2_hash=d5853d613298023918a5bb5b6d441fe7&ap i_key=ckvnw4rbt73iynci2uny7&result=1&time=1234&mov es=(1)b3e5(2)Bb2d6(3)e3Nf6(4)h3Be7(5)Be2Nc6

api_key и соль для md5 хеша юзернеймов нужно ОБЯЗАТЕЛЬНО вынести в конфиги.
Дизайн доски и фигурок – во вложении.


ВАЖНО! Условием сдачи проекта и закрытия проекта является успешно пройденное независимое тестирование (фирма-тестировщий вибирается по нашему смотрению, таких фирм может быть несколько).
       В случае обнаружения ошибок ошибки исправляются до их полного устраниния, после этого Вы заливаете код на наш VDS, настраиваете там nodejs и сокет сервер,
       и лишь после этого мы принимаем работу и зарезервированные деньги списываются на Ваш счет.   

Applications 2

Only registered users can view attachments.

Client's feedback about the contractor Ярославе Ф.

Quality
Professionalism
Price
Availability
Terms

Четко, в срок, без существенных ошибок.

Антон И. Антон Иванов | Safe Safe



  1. 30 days26000 ₴Winning proposal
    Ярослав Федирко
     638   2   0

    Я готов взяться за ваш проект. Все сделаю без ошибок и в указанные сроки. Обсудим детали.

    Ukraine Ivano-Frankovsk | 27 September at 20:05 |

Client
Антон Иванов
Ukraine Kyiv  1   0
Project published
27 September at 19:41
38 views
Качество описания проекта
0
0
100%