Разработка движка шахмат
579 USDНужно реализовать сам движок (доску) для одновременной игры нескольких тысяч/десятков тысяч игроков.
Что нужно от Вас:
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
Client's review of cooperation with Yaroslav Fedirko
Разработка движка шахматЧетко, в срок, без существенных ошибок.
-
776 11 0 Я готов взяться за ваш проект. Все сделаю без ошибок и в указанные сроки. Обсудим детали.
-
поржал с последнего абзаца)
-
Current freelance projects in the category Javascript and Typescript
I am looking for an experienced Full Stack developer to create a SaaS service for online stores.Service idea: The client uploads a link to their product feed (XML or CSV). The service automatically retrieves the products, takes their photos, and creates new advertising images based on ready-made templates: price, discount, logo, promotional tags, etc. There should also be… Javascript and Typescript, Web Programming ∙ 1 day 15 hours back ∙ 82 proposals |
Development of a WebGL/Three.js scene with generation and export of 3D (snapshot) from an animated shaderObject Description:The project is a designer table shaped like a realistic, deep whirlpool (a central vortex that smoothly transitions from a wide horizontal tabletop to a thin elegant leg). Task Essence:A WebGL / Creative Coding developer is required to create an interactive 3D… Javascript and Typescript, Web Programming ∙ 2 days 11 hours back ∙ 30 proposals |
Support and development of the cleaning company's website
20 USD
I'm looking for a web developer/webmaster for long-term support and development of a cleaning company's website. Website: https://donely.ca About the project DoneLy Home Services is a cleaning service company in Canada that is actively growing and expanding its geographical… Javascript and Typescript, Web Programming ∙ 4 days 13 hours back ∙ 64 proposals |
Development of a website according to the specifications on FramerYou need to create a website based on the parameters in the technical specification. https://docs.google.com/document/d/1ODO2C9Krb4AaMiJz9wfbNzWlAyA2FwCCHL8r0biajUY/edit?usp=sharing Please provide your actual rate based on this design. HTML & CSS, Javascript and Typescript ∙ 5 days 14 hours back ∙ 29 proposals |
Development of an interactive Palworld map for the websiteWe need to develop an interactive map for Palworld based on the example: https://palworld.gg/map We need not just a static image, but a full-fledged interactive map where users can view locations, toggle object categories on/off, search for specific points, and interact with… HTML & CSS, Javascript and Typescript ∙ 7 days 5 hours back ∙ 36 proposals |