Pull to refresh
  • by relevance
  • by date
  • by rating

Игра в шашки стала бессмысленной

Lumber room

На протяжении многих сотен лет игра в шашки была очень популярной, но теперь она, судя по всему, потеряет свою актуальность, так как современные компьютеры вычислили беспроигрышный алгоритм партии в шашки, причём неважно против кого играет машина — победа обеспечена (точнее обеспечен беспроигрышный исход партии — победа или ничья, прим. коммьюнити), сообщает CyberSecurity.

Подробности на ITnews →
Total votes 16: ↑11 and ↓5 +6
Views 989
Comments 22

QCheckers. Шашки на Qt4

Lumber room
В качестве курсовой работы по Интеллектуальным Системам написал игру в шашки.

Возможности:
— русские и международные шашки
— выбор цвета игрока
— настройка глубины поиска
— просмотр истории ходов
— проверка соответствия хода игрока правилам
— подсветка возможных вариантов хода

Free Image Hosting at www.ImageShack.usFree Image Hosting at www.ImageShack.us

В качестве алгоритма используется минимаксный подход с альфа-бета отсечением. Написано с использованием библиотеки Qt4 и должно успешно компилироваться в windows, linux и т.д. Модели-представления — нет. Память течёт. Написано всё естественно не оптимально. Но работает :) Возможно кому-нибудь пригодится.

Код выложен на Google Code. Рекомендую брать версию из svn, так как архивы буду обновлять не часто. Хотя и в svn обновления не гарантирую :)
Total votes 19: ↑16 and ↓3 +13
Views 732
Comments 12

Alan.Platform Tutorial (Part 1)

Artificial Intelligence
В прошлый раз мы говорили о том, что недостаточно создать одну модель мира, с которой будет взаимодействовать мозг. Для тестирования поведения мозга в различных ситуациях необходимо иметь под рукой множество таких моделей. А для этого нужно две вещи: первая — возможность легко и быстро создавать модели, и вторая — возможность повторно использовать созданные модели, изменяя их конфигурацию.

Глядя на эти требования, у меня возникают следующие мысли:
  • модульность, подгружаемые библиотеки с расширениями;
  • конфигурация через XML;
  • представление модели в виде дерева объектов;
Читать дальше →
Total votes 6: ↑3 and ↓3 0
Views 628
Comments 0

Alan.Platform Tutorial (Part 2)

Artificial Intelligence
В первой части мы начали моделирование игры в шашки с помощью Alan.Platform. Мы создали библиотеку элементов, к которой добавили один элемент, оператор, управляющий расположением шашек. Также с помощью конструктора мы создали две шашки, расположенные по углам платформы. Все это можно было лицезреть в консоли, в виде текста, который был любезно составлен ObjectDumper'ом.

Как бы ни был хорош ObjectDumper — нашему мозгу трудно разглядеть доску для игры в шашки среди пар ключ-значение. Поэтому нужно создать графическое представление для модели. Этим мы в ближайшее время и займемся.
Читать дальше →
Total votes 5: ↑4 and ↓1 +3
Views 562
Comments 0

Давненько не брал я в руки шашки. Знаем, знаем, как Вы играете

Development for iOS *
Ситуация в appStore для casual разработчиков быстро меняется.
2 года назад можно было заработать, выпуская платное приложение одновременно с бесплатным аналогом.
После появления в магазине более 100 000 программ этот трюк стал неэффективен.
Год назад шустрые парни стали выкладывать только бесплатные приложения, но с покупками внутри.
Одновременно число программ в appStore перевалило за 500 000.
В ближайшее время ( судя по финансовым отчетам 2012 года) только реклама внутри приложения принесет быстрые деньги.



До прошлого года я использовал фирменную рекламу от Apple.
Однако родная iAd реклама работает исключительно на территории врага.
Чтобы добрать деньги с игроков, живущих не в США (а это минимум 25%), следует прикрутить рекламу от, скажем, Google, которая будет мелькать там, где не работает iAd.

Под habracut я опишу механизм AdWhirl, реализующий показ баннеров от разных производителей.
Пример кода взят из бессмертной игры нашего прекрасного детства.

Читать дальше →
Total votes 52: ↑44 and ↓8 +36
Views 4.7K
Comments 33

Об ИИ в интеллектуальных играх

Algorithms *
Не так давно я увлёкся игрой в сёги. К сожалению, эта чудесная игра практически не известна в России, поэтому пока я не научил играть друзей, мне приходилось играть с программой. Конечно, мне было интересно, как эта программа работает.
Ниже представлен небольшой рассказ о компьютерных алгоритмах, используемых в интеллектуальных играх.
Читать дальше →
Total votes 68: ↑66 and ↓2 +64
Views 31K
Comments 71

Бот для шашек (часть 1)

Sport programming *Algorithms *Image processing *
После прочтения поста на хабре «Шахматный бот», хотелось сделать свой, но так как посчитал, что шахматы сразу не получатся, то решил потренироваться на шашках (чтоб было больше мотивации взял знаменитые «Русские стрип-шашки»).
В отличии от выше упомянутого поста, где только несколько скринов и видеоролик, постараюсь рассказать подробнее…
Читать дальше →
Total votes 72: ↑48 and ↓24 +24
Views 75K
Comments 26

История шашек (в иллюстрациях)

Game development *
image         — Эволюция? — оживился Главный. — Что-то новенькое?

         — Французская выдумка. Я в этом пробовал разобраться. Если, к примеру, взять дождевого червя и вместо него сразу подсунуть африканского носорога, то все увидят, что их надули. Но если тот же фокус растянуть надолго, то никто и не заметит.

        В этом вся штука: кто видел червяка — все давно повымерли, а кому встретился носорог — тому некогда рассуждать о всяких пустяках.

        Евгений Чемеревский "Вариации на тему черепахи"


Так всегда бывает, когда чем то интересуешься. Чем больше узнаешь, тем больше появляется возможностей узнать что то новенькое. Потом нескончаемый поток этого самого новенького захлестывает тебя с головой, и ты начинаешь тонуть. Но пока это не произошло — жизнь прекрасна.

Я хочу рассказать о том, с чем знакомы почти все. О том, чем мало кто интересуется. О том, о чем никто практически ничего не знает. Я хочу рассказать о Шашках. Не спешите ухмыляться. Если вы думаете, что знаете о Шашках все, ответьте (для себя) на несколько простых вопросов:

  • Какие разновидности Шашек существуют?
  • Чем отличаются Шашки от Шахмат?
  • Что общего у Шашек и «Крестиков-ноликов»?

Эти вопросы кажутся вам глупыми? Это нормально, мне тоже казались… пока я не заинтересовался историей Шашек
Читать дальше →
Total votes 82: ↑81 and ↓1 +80
Views 38K
Comments 24

Тёмная сторона ZRF

Game development *
У тех, кто читал цикл моих статей, посвященных Zillions of Games, могло сложиться впечатление, что я полностью удовлетворен этим продуктом. Разумеется, это не так. ZoG уникален тем, что позволяет быстро и практически «на коленке» разработать прототип почти любой логической игры, но это вовсе не означает, что он идеален. Сегодня, я хочу рассказать о том, что мне не нравится в этом проекте.
Конечно, эта критика нужна не сама по себе. Я вполне отдаю себе отчет в том, что при полностью остановившейся разработке продукта (кстати, это один из тех моментов, которые мне не нравятся), подобная критика, как средство обратной связи с разработчиком, совершенно бесполезна. Поэтому, я не собираюсь писать каких либо писем создателям продукта — паровоз уже давно ушёл.

ZoG показал возможное направление действий, саму возможность создания подобного универсального игрового движка, но, если хочешь, чтобы что-то было сделано, делать это придется самому. Работа эта не простая и я совсем не уверен, что мне удастся с ней справиться (по крайней мере в одиночку). В любом случае, в качестве самого первого шага, будет полезно разобраться, чем плохо то, что уже имеется. Для чего затевать разработку нового продукта? Я постараюсь рассказать об этом…
Читать дальше →
Total votes 6: ↑6 and ↓0 +6
Views 4.1K
Comments 0

Как я шашки писал

Programming *Algorithms *

Предыстория


Так уж получилось, что моим первым более-менее серьёзным проектом, связанным с программированием, была реализация шашек для «Шага в будущее». К несчастью, доделать его до конца у меня так и не получилось, так как через некоторое время концепция проекта резко поменялась. Несмотря на это, программа была практически готова и с ней даже можно было играть, к тому же сам процесс её написания оказался весьма интересным, поэтому я решил поделиться теми идеями и алгоритмами, которые сумел придумать.

Читать дальше →
Total votes 51: ↑31 and ↓20 +11
Views 71K
Comments 22

Dagaz: Пинки здравому смыслу (часть 2)

Game development *
imageЯ еще чуток добавил прыти —  
Все не так уж сумрачно вблизи:
В мире шахмат пешка может выйти —  
Если тренируется — в ферзи!

          Владимир Высоцкий "Честь шахматной короны"
 

Правила, особенно такие сложные, как рокировка или "взятие на проходе", не появляются на пустом месте. Никто не придумывает их просто так, чтобы позлить разработчика (во всяком случае, я надеюсь на это). В таких «устоявшихся» играх как Шахматы или Шашки, каждое из правил выстрадано десятилетиями. Тысячами игр, в десятках стран, по всему миру. Это бесценный материал для анализа. Неудачные решения отмирают, успешные — расцветают в сотнях различных вариантов (среди которых также есть как удачные, так и не очень). Сегодня, мы поговорим о двух особенно удачных находках... 
Читать дальше →
Total votes 23: ↑23 and ↓0 +23
Views 14K
Comments 4

Dagaz: Пинки здравому смыслу (часть 3)

Game development *
image– Ах ты подлец, – задумчиво сказал Воланд.
– Мессир, я вновь обращаюсь к логике, – заговорил кот, прижимая лапы к груди, – если игрок объявляет шах королю, а короля между тем уже и в помине нет на доске, шах признается недействительным.

                          Михаил Булгаков «Мастер и Маргарита»
 

«Мат королю!» — многие из нас впитали эти слова с молоком матери. Сама концепция шаха (и мата) кажется очевидной людям знакомым с Шахматами с детства, но так ли она проста на самом деле? После лёгкой разминки с превращениями фигур, я предлагаю заняться действительно сложными вопросами.
Читать дальше →
Total votes 29: ↑27 and ↓2 +25
Views 18K
Comments 14

Dagaz: Пинки здравому смыслу (часть 4)

Game development *
imageПусть же вихрем сабля свищет!
Мне Костаки не судья!
Прав Костаки, прав и я!


Козьма Прутков "Новогреческая песнь"
 

Мат и пат, рокировки и взятия на проходе. Может ли какая-то другая игра (кроме Шахмат) доставить большую головную боль разработчикам? Конечно же да! И я уверен, что большинство из вас эту игру знает…
Читать дальше →
Total votes 17: ↑17 and ↓0 +17
Views 9.6K
Comments 4

«Короли севера» — битва за геймплей

Game development *
Могу я в Тафл играть
Девять умений я знаю
Забываю нечасто руны
Ведаю книги и счёт
Умею скользить я на лыжах
Гребу и стреляю неплохо
Из искусств мне ведомы оба…

"Сага об оркнейцах"
 

История, которую я хочу рассказать, полна загадок, малопонятного кода, бессонных ночей, шума кошачьих шагов...
Это одна из тех историй, в которых процесс гораздо важнее результата. Если вам нужен результат, его можно найти здесь, но если вам интересны подробности, что же… я готов рассказать о своих мытарствах.
Читать дальше →
Total votes 17: ↑15 and ↓2 +13
Views 13K
Comments 2

Dagaz: Пинки здравому смыслу (часть 5)

Game development *
imageПо обеим сторонам нашего плоского бытия
бесконечно глубоко и далеко
простирается сама жизнь.
 
         Чарлз Ховард Хинтон «Эпизод из жизни Флатландии»
 
 

— Надо было ходить пешкой на е-один-дельта-аш…
— Тогда летит четвертый конь.
— Пусть. Пешки выходят в пространство слонов…
— Какое пространство слонов? Где ты взял пространство слонов?! Ты же девятый ход неверно записал!

Многие наверняка помнят этот отрывок из незабвенного "Полдня" Аркадия и Бориса Стругацких. Люди «Полдня» почти такие же как мы, но умнее и лучше нас. Они покоряют космос и играют в четырёхмерные шахматы. Авторы "Звёздного пути" также не обошли тему настольных игр стороной, но, в их случае, Спок играет в шахматы в трёх измерениях:



Выход за привычные нам пределы двумерной шахматной доски символизирует интеллектуальную мощь людей будущего и, по замыслу авторов, делает игру более интересной. Так ли это? Что, на самом деле, могут дать настольным играм третье и последующие за ним измерения?
Читать дальше →
Total votes 26: ↑24 and ↓2 +22
Views 15K
Comments 7

Dagaz: Пинки здравому смыслу (часть 7)

Game development *
image — Знаешь свой главный грех?
— Какого черта? я обожаю все семь…
   но сейчас… я готов дать волю гневу!
 
        Малькольм Рейнольдс "Миссия Серенити


По мере того, как мой личный "рейтинг неприятностей" стремительно движется к завершению, становится всё сложнее добиваться от Zillions of Games требуемого поведения. Некоторые правила очень легко сформулировать, но они способны попортить разработчику немало крови. «Правило гнева» — одно из них.
Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Views 5K
Comments 7

Магические битборды и русские шашки

Programming *Algorithms *C *
Данная статья — иллюстрация, каким образом битовые трюки могут быть использованы не только в задачах на собеседованиях, но и при решении реальных задач. В статье дано описание одного метода быстрой генерации ходов в русских шашках на основе магических битбордов (magic bitboard). Битборды — представление позиции в виде нескольких беззнаковых целых чисел, каждый бит которого отвечает за состояние некоторого элемента игры, например клетки. Обычно использование битбордов даёт выигрыш по производительности и по объёму используемой памяти, но связано с более изощрённым программированием. При этом часто возникает задача получения значения определённых бит в битборде, например, для последующего обращения к таблице. Есть два основных подхода к решению этой задачи. Первый — использование и поддержка избыточного представления в виде дополнительных битбордов с перенумерацией битов. Такие битборды асто называют вращаемые. Второй способ — умножение на магическую константу, сдвиг и обращение к таблице. О таких магических битбордах и пойдёт речь в этой статье.
Читать дальше →
Total votes 17: ↑17 and ↓0 +17
Views 10K
Comments 2

Как один программист Jocly подковал

JavaScript *Game development *
— Ученик Почтальона Стэнли — пробормотал Грош
— Сирота, сэр. Очень печальная история… Хороший мальчик, если его не злить,
… если вы понимаете, что я имею в виду.
— Э… возможно. — сказал Мокрист и поспешно повернулся к Стэнли
— Итак, знаешь кое-что о булавках?…
— Нетсэр! — ответил Стэнли…
— О булавках я знаю всё!  
 
                            сэр Терри Пратчетт "Опочтарение".
 

В далёком 1998 году, Zillions of Games произвела фурор в среде любителей настольных игр, но она не была лишена недостатков. Главным её недостатком являлась закрытость. Для того, чтобы играть во что-то сверх набора из 48 игр, входящих в демо-комплект, приходилось платить деньги за активацию программы. Было невозможно запустить ZoG на чём-то кроме Windows (с некоторыми версиями этой ОС вполне могли возникнуть проблемы). Сетевой режим был, но только по локальной сети или через модем, Web не подразумевался. С этим ничего нельзя поделать, это закрытый продукт! Кроме того, в настоящее время, он практически не поддерживается. Я думаю, что многие будут рады услышать, что существует альтернатива, свободная от перечисленных выше недостатков. Знакомьтесь, это Jocly.
Читать дальше →
Total votes 14: ↑13 and ↓1 +12
Views 8K
Comments 2

Странные игры

Game development *
          — Ну, если ты смотришь такого рода спили, то знаешь про них больше меня, — сказал я.
          — Мне как-то попалась такая бойкая формулировка: мол, риторы умели менять прошлое и делали это с удовольствием; инкантеры могли изменять будущее, но прибегали к своему умению крайне неохотно.…
          — Им приходилось менять будущее в ответ на действия риторов.
 
         Нил Стивенсон «Анафем»


Странные книги побуждают меня делать странные игры. «Анафем» Нила Стивенсона не исключение. Моя статья — один большой спойлер на это произведение. Если вы собираетесь читать её, прежде прочитайте книгу! Я вас предупредил…
Total votes 36: ↑35 and ↓1 +34
Views 14K
Comments 18

Попытки открытия новой шашечной тактики или Что делать с несбыточной мечтой

C++ *Algorithms *C *
Sandbox

Введение


Спортивная игра «Шашки» является одной из игр человечества, которые компьютер ещё не просчитал полностью. Есть новости о том, что ученые нашли стратегию, при которой компьютер никогда не проиграет. За свои 9 лет, посвящённых этой игре, я встретил лишь одну программу, которую никак не мог победить. Пожалуй, мой спортивный опыт позволит сделать предположение, что это была программа реализующая стратегию описанную выше. К моему большому удивлению, она занимала лишь 60 Мбайт. А может быть, там была хорошо обученная нейронная сеть в основе? Но всё же мне не верится, что просчитать их невозможно. Там всего лишь 10^20 позиций, неужели мой компьютер не справится с такой задачей? А также, неужели нет тактики, в которой в начале партии соперник отдаёт шашку и оказываются в тактическом преимуществе?! Ни одного дебюта такого я не встречал. Пойду проверю…
Читать дальше →
Total votes 35: ↑33 and ↓2 +31
Views 13K
Comments 37
1