• Путеводитель разработчика по Garbo-боту

      у него есть два больших преимущества

      Во-первых, он дешевле; а во-вторых, на обложке у него большими веселыми буквами напечатан дружеский совет: Don’t panic!

      Дуглас Адамс


      Из всего многообразия шахматных движков, Garbochess я выбрал по двум причинам: для него есть понятный JavaScript-код и он неплохо играет в Шахматы. Мне совсем не требовался гроссмейстерский уровень! Если бот играет слишком сильно, то обычных людей (вроде меня) это только отпугивает. Требовалась лишь игра достаточно разумная, похожая на игру человека, без глупых раздражающих ошибок и Garbochess мне всё это дал. К сожалению, как и большинство других шахматных движков, он играл только в одну игру — традиционные Шахматы. Именно это мне и предстояло исправить.
      Читать дальше →
    • DagazServer: Встречайте Garbo Chess

        Кто мне сказал, — «не получится»?
        Если мне хочется, сбудется!

        Земфира

        Плюнь тому в глаза, кто скажет,
        что можно объять необъятное!

        Козьма Прутков "Плоды раздумья"


        Новогодние праздники вновь навалились внезапно. Такое обилие свободного времени было просто необходимо разбавить какой-то осмысленной деятельностью и я решил приделать к своему серверу бота для игры в Шахматы. Готовых шахматных движков существует множество. Я решил остановиться на Garbochess-JS — простой и понятной реализации, на языке JavaScript, названной в честь знаменитой актрисы Греты Гарбо (вы можете видеть её на фотографии).
        О том, что из этого вышло, читайте далее...
        • +18
        • 1,5k
        • 5
      • DagazServer: Чему научили пользователи

          Детали, мелочи, нюансы. Сочетание пустяков.
          От перестановки слагаемых всё меняется.
          Раз, и будущее – открытая книга.

          Нюанс за нюансом, подробность за подробностью…
          Это была не игра, это была откровенная дерзость.

          Генри Лайон Олди «Нюансеры»

          Предусмотреть всё невозможно. Именно поэтому умные люди и придумали бета-тестирование. Поскольку, в моём случае, проект открытый и бесплатный, оно мало чем отличается от обычного функционирования сайта. Люди играют в игры, а я наблюдаю, исправляю найденные ошибки, извиняюсь и наблюдаю снова. А ещё, я прислушиваюсь к советам, порой неожиданным и, часто, очень полезным.
          Читать дальше →
          • +23
          • 1,3k
          • 4
        • Десять игр от Dagaz


            Долго ли, коротко ли, но я развернул свой сервер. Теперь это не просто коллекция игрушек, в меру укомплектованная слабенькими ботами, а полноценная возможность игры с другими людьми по сети. Сразу скажу, что игры, в основном, тяготеют к традиционным, но есть и авторские, порой довольно экзотичные. Кстати, если по вашему мнению какой-то из игр не хватает — пишите мне, я постараюсь добавить.
            Читать дальше →
          • DagazServer: Как всё устроено

              По всей видимости, я не самый правильный фронтедщик. Большую часть сознательной жизни я занимаюсь базами данных и немного бакендом. Любовь к настольным играм — вот что заставило меня связаться с web-разработкой. Новый, совершенно незнакомый мне язык программирования — JavaScript, я изучал по ходу дела. Допускаю, что многое из того что я делал, способно ужаснуть опытных web-разработчиков, но я стараюсь стать лучше. Этот текст не для тех, кто привык во всём следовать раз и навсегда написанным инструкциям. Но если вы любите экспериментировать, докапываться до каждой мелочи, открывать новое для себя, добро пожаловать под сень моего леса.


              Читать дальше →
              • +19
              • 2,6k
              • 7
            • Как мы турнир провели

              Потому что совместный труд, для моей пользы
              — он объединяет.

              Матроскин

              Бросая в воду камешки, смотри на круги, ими образуемые; иначе такое бросание будет пустою забавою.

              Козьма Прутков «Мысли и афоризмы».


              Недавно, в прошлую пятницу, мы решили слегка разнообразить свои будни, проведя программистский турнир. Повестка определилась не сразу. Были мысли про аналитическую обработку данных, машинное обучение, но в конце концов, остановились на настольных играх. Нам хотелось ввести в мероприятие элемент соревнования, а что, как не игры, позволяет легко это сделать?
              Читать дальше →
              • +18
              • 1,4k
              • 6
            • Сплетая дизайн

                Три кольца — премудрым эльфам
                — для добра их гордого.
                Семь колец — пещерным гномам
                — для труда их горного.
                Девять — людям Средиземья…

                Джон Рональд Руэл Толкин


                Работая над играми, я уделяю большое внимание дизайну. Речь идёт не о красивой картинке, хотя и она конечно имеет значение. Прежде всего, для меня важны удобные игровые механики. Игра должна приносить удовольствие. Когда в Сапёре при клике на пустое поле автоматически открываются все поля, не соседствующие с минами — это удобно. Известный всем пасьянс также можно значительно улучшить, просто избавив пользователя от необходимости выполнения лишних действий. Но сегодня я хочу рассказать о другой игре. Той самой, которая изображена на КДПВ (как обычно, все картинки в статье кликабельные).
                Читать дальше →
              • Dagaz: История с персистентностью

                  Любая достаточно развитая технология неотличима от магии.
                  Артур Кларк
                   
                  — Я больше не хочу быть сравнением… Сделайте меня метафорой.
                  Чайна Мьевиль


                  Работа над большим проектом похожа на метроидванию. Решая частные проблемы, мы открываем новые возможности. Со временем, эти возможности крепнут, соединяются с другими возможностями и это позволяет решать застарелые, куда более важные и сложные проблемы новым, совершенно неожиданным способом. У меня есть хороший пример на эту тему. И я хочу о нём рассказать.
                  Читать дальше →
                  • +20
                  • 1,9k
                  • 4
                • Dagaz: Сумма технологий

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

                              Порой, и довольно часто, путь технологии открывал случай: искали же когда-то философский камень, а нашли фарфор.
                     
                     
                    Станислав Лем.


                    С самого начала работы над проектом, было понятно, что качественный AI мне жизненно необходим! Самому с собой играть скучно, а модуль для игры по сети — он неизвестно когда ещё будет. Я пытался писать ботов сам, но все они работали либо плохо, либо плохо и медленно. В конце концов, я устал заниматься этой самодеятельностью и нашёл шахматного бота, качество игры которого меня вполне устраивало. Но тут возникла проблема. Мне-то были нужны не только Шахматы. Тому, как я с этим боролся, и посвящена эта статья.
                    Читать дальше →
                  • Dagaz: A new Beginning

                    • Перевод
                    It runs south and circles north, circling, circling to run with its wind
                    And according to its circuits the wind returns;
                    All the rivers run into the sea — and the sea does not overflow,
                    To the place where the rivers run, — There they continue to run;

                    The book of Ecclesiastes


                    In 1998, a completely unique, for its time, application was developed that allows you to reduce the process of developing an abstract board game (or puzzle) to a small text description language, vaguely reminiscent of Lisp. This project was called Zillions of Games. It created a furor among fans of board games. Currently, over 2,000 applications have been created using this technology.
                    Read more →
                  • Dagaz: Эпизоды (часть 2)

                      — Один слон, одна колесница, пятеро пехотинцев и трое всадников составляют ПАТТИ, утроенное ПАТТИ составляет СЕНАМУКХУ,…
                      а десять АНИКИНИ составляют АКШАУХИНИ, и это есть самая крупная войсковая единица…
                                                                 Генри Лайон Олди «Гроза в безначалье»


                      В прошлой статье я рассказывал о шашках и это не случайно. Шашечные игры, с их составными ходами, послужили основой проекта, составили его костяк. До сих пор, шашки подкидывают мне сюрпризы. Например, буквально на днях, мне довелось исправлять застарелый баг, связанный с опцией отложенного взятия. И вообще, как я уже говорил, шашечные игры сильно недооценены. Но одними лишь шашками дело не ограничивается…
                      Читать дальше →
                      • +13
                      • 1,4k
                      • 7
                    • Dagaz: Конец одиночества

                        Счастье для всех, даром
                        и пусть никто не уйдёт обиженный! 
                         
                        А. и Б. Стругацкие «Пикник на обочине»
                         
                                  

                        Боты, как бы хорошо они не играли, плохая замена живым игрокам. Если бот играет слабо — это не интересно. Если сильно — это обидно и снова не интересно. Баланс соблюсти чертовски трудно (тем более, что для каждого игрока он индивидуальный). Я уже давно собирался реализовать сетевую игру, но всё упиралось в необходимость содержания собственного сервера. К счастью, решение пришло с неожиданной стороны.
                        Читать дальше →
                        • +13
                        • 2,6k
                        • 5
                      • Dagaz: Эпизоды (часть 1)

                          Мы расшатали ваши умственные фильтры, и в результате появился ответ. Метод сработал, он будет действенным всегда. Все, что необходимо сделать — это избавиться от лишнего груза предрассудков…

                          Раймонд Джоунс "Уровень шума"


                          Dagaz появился не на пустом месте. Я всегда увлекался настольными играми и головоломками, а программированием занимаюсь сколько себя помню, но мысль о некоем «универсальном» движке просто не могла бы прийти мне в голову. К самой этой идее я относился скептически. Пока не увидел Zillions. К сожалению, продукт, на тот момент, уже не развивался, исходный код был недоступен, да и вообще, программа работала только под Windows. Спустя некоторое время, я решил взяться за открытый проект.
                          Читать дальше →
                          • +24
                          • 2,4k
                          • 5
                        • Dagaz: Ошибки

                            imageДело помощи утопающим —  
                            дело рук самих утопающих.

                            И.Ильф и Е.Петров.

                             
                             
                            Ошибки ошибкам рознь. Работая над проектом, я веду свой личный рейтинг ошибок. Что-то исправляется совсем легко, при первом запуске, что-то намертво прибито гвоздями к архитектуре и потому отравляет жизнь годами. Некоторые ошибки просто вымораживают. Когда их исправляешь — чувствуешь, что живешь. Я люблю такие ошибки.
                            Читать дальше →
                          • Dagaz: Подробности

                              imageВ «пи» цифр не пересчитать,
                              «е» — бесконечно столь же.
                              А если их с конца писать, какое будет больше?

                              Мартин Гарднер «Крестики-нолики»


                              Для этой статьи, я хотел выбрать другой эпиграф, но счёл его излишне пафосным. Очередной релиз вновь затянулся. За это время, я успел сменить работу! Работа на новом месте отнимает уйму сил, но я продолжаю находить время для своего маленького увлечения. И надо сказать, то, с чем мне приходится сталкиваться в процессе, становится всё сложнее и сложнее. Я расскажу вам об этом. Я хотел начать с другого эпиграфа, но этот тоже неплох.
                              Читать дальше →
                            • Dagaz: Из тумана

                                imageВсе это плутни королевы Маб.
                                Она в конюшнях гривы заплетает
                                И волосы сбивает колтуном…

                                Вильям Шекспир


                                Это был долгий релиз, но и сделано было немало. Появился session-manager, позволяющий откатывать ошибочно сделанные ходы. Кое где добавилось звуковое оформление. А ещё, я придумал прикольный способ, позволяющий затолкнуть несколько альтернативных вариантов начальной расстановки в одну игру. И самое главное — я наконец добрался до игр с неполной информацией.
                                Читать дальше →
                              • Dagaz: Орда

                                  imageМильоны — вас. Нас — тьмы, и тьмы, и тьмы.
                                  Попробуйте, сразитесь с нами!
                                  Да, скифы — мы! Да, азиаты — мы…
                                   
                                  Александр Блок "Скифы"


                                  В предыдущей статье я много рассказывал о своих находках в области дизайна и пользовательского интерфейса настольных игр, но тот рассказ пришлось прервать, можно сказать на середине, отчасти по причине большого объёма статьи, отчасти просто потому, что в тот момент я не был готов продолжать его дальше. С тех пор многое изменилось. Новые интересные задачки были решены, а породившие их (не менее интересные) игры были добавлены в релиз. Об этом я и хочу рассказать сегодня.
                                  Читать дальше →
                                  • +12
                                  • 2,4k
                                  • 2
                                • Сага опций

                                    Чтоб я вновь устроил Сампо,
                                    Сделал короб многострунный,
                                    Вновь пустил на небо месяц,
                                    Солнцу снова дал свободу…

                                                                     «Калевала»


                                    Настольные игры выглядит очень привлекательно для начинающих разработчиков. Здесь нет необходимости в построении фотореалистичных изображений и применении сложных шейдеров (хотя никто не запрещает этим заниматься). Даже использование 3D, в подавляющем большинстве игр, вовсе не обязательно. Сложность настольных игр сосредоточена на не визуальных составляющих. Пользовательский интерфейс выглядит простым и до предела примитивным.

                                    Вот только… он таковым не является! Сегодня я хочу рассказать о своём опыте в разработке дизайна пользовательского интерфейса настольных игр, накопленном более чем за год работы.
                                    Осторожно, анимированные картинки ...
                                  • Dagaz: Ищем таланты

                                      imageДелай с нами,
                                      делай, как мы,
                                      делай лучше нас!

                                      Телепередача 80-ых


                                      Должен признаться, я не очень хорош в разработке ботов. Уверен, есть люди, умеющие это делать гораздо лучше меня. И я бы очень хотел, чтобы такие люди присоединились к проекту. В плане материального поощрения, предложить я могу немногое. Dagaz был задуман как бесплатная и общедоступная альтернатива Zillions of Games. Сам я не против его коммерческого использования, просто пока не придумал, как это можно сделать.

                                      Проект, безусловно, продолжит развиваться и останется бесплатным (в своей основе). Любого человека, внесшего свой вклад в его развитие я буду считать своим другом и соавтором. Разумеется, указание авторства, для всех модулей, в разработке которых эти люди приняли участие, будет обязательным. Кроме того, я готов оказать любую посильную техническую помощь по проекту. Например, я могу рассказать о том, как разрабатывать игровых ботов.
                                      Читать дальше →
                                    • Dagaz: Быстрее, Лучше, Умнее…

                                        image— Как взмывают ангелы дружно в ряд…
                                        — Дружно в ряд, дружно в ряд…
                                        — Поднимают головы! И летят! И летят!..

                                        сэр Терри Пратчетт «Ночная стража»


                                        Рано или поздно, всегда наступает момент, когда количество неизбежно переходит в качество. Накапливаются новые игры, нуждающиеся в осмыслении, проект обрастает новыми возможностями, возможности комбинируются между собой. Если всё не рушится под собственной тяжестью, результат может превзойти самые смелые ожидания. То что не убивает — делает нас сильнее!
                                        Читать дальше →
                                        • +18
                                        • 2,8k
                                        • 4