Andrii
А что за проект был?
Сам для себя, какую-то игру сделал, там перебор вариантов был
Виталик Голоенко
Сам для себя, какую-то игру сделал, там перебор вариантов был
Кста, у меня вопрос, простой шахматный движок, как проект сложно реализуемый?
Jsx707
Кста, у меня вопрос, простой шахматный движок, как проект сложно реализуемый?
Вообще создание игры , особенно с нуля на своём движке , это уже проект не на пару часов
Andrii
Кста, у меня вопрос, простой шахматный движок, как проект сложно реализуемый?
Смотря какой :) Просто передвигать фигуры? Наверное несложно.
Виталик Голоенко
Igor
Смотря какой :) Просто передвигать фигуры? Наверное несложно.
пока не прийдешь к взятию на переходе потом к хранению была или не было рокировки потом правило повторения иииии ;) вроде все просто, а вроде даже проверить корректность хода не так то и просто
Виталик Голоенко
Jsx707
Особенно если впервые познакомился с тем , что такое OpenGL , Vulkan , DirectX , системные вызовы отрисовки , плюс различные реализации OpenGL - GLFW , GLUT , плюс дополнительные библиотеки , расширяющие возможности GLFW типа GLM , GLAD и ТД
Jsx707
Движок
Вот , что я перечислил придется учить
Igor
Движок
Виталик просто сохранить состояние шахматной партии и проверить корректность хода уже не один десяток строк кода
Виталик Голоенко
Jsx707
Я уже молчу о том , что нужно будет ещё хорошенько познать , что такое вектор , изучить то , как загружать модели и ещё знать особенности C++ и его ООП , это долго и сложно , но весело
Jsx707
Это уже твой выбор , и тем не менее , геморойно
Jsx707
Я вот не понял , шахматный движок , это типа ИИ играющий в шахматы ?
Andrii
А если там какой-нибудь анализ ходов?
alpha-beta? Понимаешь, чтобы это имело смысл, нужен хороший генератор ходов. А это либо magic bitboards и... в общем-то надо заморочится... Может 0x88 подойдёт... В противном случае движки будут считать три миллиона позиций в секунду, а у тебя несколько тысяч
Jsx707
Или что это ? Я подумал , что это 3д игра на своём движке , представляющая собой игру в шахматы
Jsx707
Я могу кое чем поделиться , может это послужит для тебя наводкой
Andrii
Понял, о движке можно забыть:)
Генераторы ходов можно взять готовыё
Jsx707
https://youtu.be/WKs685H6uOQ
Jsx707
https://youtu.be/_4EuZI8Q8cs
Igor
Я вот не понял , шахматный движок , это типа ИИ играющий в шахматы ?
да он может просто быть консольной рпограммой поддерживающий определенный протокл. И такой движок можно подключить к существующим программам и поиграть с ним или посоревноваться с другими движками
Виталик Голоенко
Jsx707
Jsx707
И будет выводиться инфа о ходах разных игроков?
Andrii
https://www.chessprogramming.org/UCI
Jsx707
UCI не слышал , а как это расшифровывается даже ? United Console Interface ?
Jsx707
Хмм , понял
Andrii
Хмм , понял
По сути у тебя движок это консольная программа, которая читает что-то из stdin и пишет в stdout
Jsx707
Ну это не движок уже , это просто программа с набором условий
Jsx707
Движок это целая система с набором инструментов и api , группа нескольких систем отвечающих за разные задачи , да , он может быть консольным , но это уже +- сложная система
Andrii
Ну это не движок уже , это просто программа с набором условий
Каких условий? Это и есть шахматный движок. Так выглядит Stockfish, LeelaZero, Komodo Dragon и все-все сильные шахматные движки.
Igor
Движок это целая система с набором инструментов и api , группа нескольких систем отвечающих за разные задачи , да , он может быть консольным , но это уже +- сложная система
поверь она достаточно сложная ;) чтобы создателям не пришлось еще голову ломать как нарисовать шахматные фигуры ;)
Bogdan
лучше на QT
Andrii
отрисовывать в консоли это гемор
Зачем отрисовывать в консоли? Гемор когда твой движок должен сыграть с другими чтобы понять, ты его усилил или ослабил.
Шаман Каган
не знаю зачем пыжится писать шахматный движек когда есть уже готовые, могу спорить все равно не переплюнешь
Andrii
ну там ппц сколько матана что бы подобное написать
Матана там нуль целых нуль десятых
Bogdan
так алгоритмы же там математические используются
Andrii
alpha-beta? Тоже мне математический алгоритм, до которого может додуматься школьник
Igor
не знаю зачем пыжится писать шахматный движек когда есть уже готовые, могу спорить все равно не переплюнешь
нахера ты пишешь игры? всеравно до ААА ты не дотянешь бухай не еби себе и другим мозг ;)
Igor
так можно про что угодно сказать ;)
Шаман Каган
нахера ты пишешь игры? всеравно до ААА ты не дотянешь бухай не еби себе и другим мозг ;)
я пишу потому что мне платят ) и потому что это веселее чем писать сайты или магазины
Oleksii
что?
m700
что?
Про рекурсию хочу почитать
m700
хвостовая__
Ещё можешь? Тока погодь, я такси с через соседнего раена еду, приеду и готов ещё буду поглотить информацию
m700
кек
Расскажешь ещё?
Oleksii
у меня тоже такая книжка есть
m700
у меня тоже такая книжка есть
солнце, это понятно, н давай лучше про рекурсию?😉
m700
минералка!
Oleksii
солнце, это понятно, н давай лучше про рекурсию?😉
вызов функции самой себя. есть еще хвостовая, но в книге вроде про нее н так много
m700
витамины и минералы помогают в учебе! Овощи и фрукты надо есть...почему то на курсах об этом не говорят( а ну и завтракать при обучении надо
m700
рекурсия и крутиться вокруг себя же
Igor
вызов функции самой себя. есть еще хвостовая, но в книге вроде про нее н так много
а что про хвостовую говорить ;) ну есть она автоматом с ней мало кто справляется из языков ;) хотя на самом деле хвоставая легко переделывается в цикл ... но это не точно ;)
Andrii
вызов функции самой себя. есть еще хвостовая, но в книге вроде про нее н так много
Ну... хвостовая.... В принципе это случай, когда рекрсия легко переводится в цикл. И тут больше вопрос вкуса, как записывать.
m700
Спасибо за объяснение!
m700
но тогда поясните если дело вкуса, то циклом же читаемость выше же?
Igor
но тогда поясните если дело вкуса, то циклом же читаемость выше же?
да только это очень вырожденный случай, типа вроде и рекурсия а вроде и нафиг не нужна ;) вот собственно факториал это пример хвостовой рекурсии когда рекурсивный вызов стоит в конце функции и фактически не нужен