Pull to refresh
180
0
Валентин @GlukKazan

Программист, Администратор БД

Send message

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

Reading time14 min
Views8.7K
image — Для начала, ты должен понять главное…
— Что главное?
— Нет никакой ложки!

"Матрица"
 


Как я уже неоднократно говорил ранее, некоторые вещи реализовать в Zillions of Games попросту невозможно. Впрочем, если нельзя, но очень хочется, то иногда бывает всё таки можно. Как далеко можно зайти по этому пути?
Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments6

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

Reading time14 min
Views5.2K
image — Знаешь свой главный грех?
— Какого черта? я обожаю все семь…
   но сейчас… я готов дать волю гневу!
 
        Малькольм Рейнольдс "Миссия Серенити


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

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

Reading time7 min
Views6.7K
image… мой двойник ожидает в доме Ихи, я встречаю его, я поднимаю мою фишку к [нему]
Я встречаю его в Прекрасном доме.
Я поднимаю три фишки и нахожу две фишки, мой двойник позади меня.


              папирус времён Рамсеса III
 

До сих пор, я рассматривал игры, в которых каждая фигура действует как бы «сама по себе». Взаимодействие фигур, в таких играх, сводится к «поеданию» фигур противника. Но не все игры таковы. Существует множество игр, в которых одна фигура может «усиливать» или «ослаблять» другую, изменяя, тем самым, её свойства. Об этом я и хочу поговорить сегодня.
Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments4

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

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

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

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



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

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

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

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

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

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

Reading time17 min
Views10K
imageПусть же вихрем сабля свищет!
Мне Костаки не судья!
Прав Костаки, прав и я!


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

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

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

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

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

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

Звериные Сёги

Reading time4 min
Views13K
Не стану скрывать, что я неравнодушен к японской культуре. В детстве я увлекался оригами, став постарше, пошёл на карате. Я взахлёб читал Вурдова, пытаясь уловить смысл заложенный в кандзи и хотя бы немного понять японский язык. С годами, мои увлечения стали менее экстремальными (хотя айкидо я продолжаю заниматься до сих пор). В настоящее время, меня более всего интересуют настольные игры, и это та область, в которой японцам тоже есть чем порадовать. Я уже писал здесь про Го (и возможно продолжу писать), но сегодня я хочу рассказать о другой замечательной игре. Эта игра была придумана для детей (от 2 лет), но её нельзя назвать простой. Как в капле воды, в ней причудливо отразились все особенности её более взрослой сестры. Небольшой размер делает её похожей на головоломку, а возможность продолжительной игры (более 70 ходов, при идеальной игре) внушает уважение. 
Читать дальше →
Total votes 26: ↑26 and ↓0+26
Comments16

Из Oracle да в Postgres

Reading time10 min
Views70K
Так уж случилось, что с Oracle организация наша работает давно и плотно. Сам я познакомился с Oracle Database ещё во времена 6-ой версии и, с тех пор, какого либо дискомфорта не испытывал. Всё испортили рыночные отношения. С недавних пор, мы начали замечать, что Заказчик гораздо благосклоннее смотрит на наши проекты если в них используются бесплатные СУБД. О портации одного из таких проектов и будет мой рассказ... 
Читать дальше →
Total votes 60: ↑57 and ↓3+54
Comments45

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

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

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

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

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

Reading time5 min
Views11K
imageВажной частью работы над универсальной игровой системой является систематизация правил. За тысячи лет своего развития, человечество придумало невероятное количество настольных игр. Их правила, по большей части, похожи, но некоторые могут поставить разработчика в тупик. Эти правила столь же важны, как и все остальные. Здесь не действует принцип Парето — либо мы реализуем игру полностью, на все 100%, либо…  
это будет совсем другая игра. В процессе работы над проектом Dagaz, я решил составить свой рейтинг правил, наиболее неожиданных или неудобных для разработчика. Встречайте... 
Читать дальше →
Total votes 23: ↑21 and ↓2+19
Comments6

Dagaz: Факториал — это просто!

Reading time6 min
Views16K
imageСкриптинг — пожалуй наиболее важная (хотя и не самая сложная) часть задуманного мной проекта. Для того, чтобы всё заработало, мне потребуется язык общего назначения, с переменными, условным выполнением, циклами и исключениями. Мне не требуется что-то сложное, вроде анонимных функций или замыканий. Скорее всего, мне не пригодится даже рекурсия, во всяком случае, пока, для неё не нашлось применений, ни в одном из моих case-ов. В этом языке совсем не будет синтаксического сахара, поскольку все задачи метапрограмирования возьмёт на себя XSLT. В общем, этот язык будет прост настолько, насколько это возможно, но… не проще. 
Читать дальше →
Total votes 21: ↑16 and ↓5+11
Comments16

Dagaz: Вновь об XSLT

Reading time7 min
Views8K
Ранее я уже писал небольшую статью о программировании на XSLT, но она носила несколько синтетический, учебный характер. В самом деле, если кому-то вдруг и понадобиться найти одну из возможных расстановок «8 ферзей», для решения этой задачи найдётся с десяток других, более удобных, языков, чем XSLT. Я часто использую XSLT в работе, но эти примеры его использования какие-то скучные и не особо интересные. Совсем недавно я нашёл для этого языка более забавное применение. Именно об этом, а также о том «как я докатился до мысли такой» я и собираюсь рассказать. 
Читать дальше →
Total votes 3: ↑3 and ↓0+3
Comments3

Го — единство в многообразии

Reading time10 min
Views24K
Дао рождает одно, одно рождает два,
два рождают три, а три — все вещи…

             Лао Цзы «Дао дэ Цзин»

Пусть расцветают сто цветов,
пусть соперничают сто школ.

                          Цинь Шихуанди

 
Правила Го просты, но простота заканчивается там, где начинается подсчёт очков. Есть множество действительно сложных ситуаций, логично вытекающих из очень простых правил. Я хочу рассказать о причинах, по которым не существует единой методики подсчёта очков в Го. О причинах, благодаря которым существует множество различных редакций правил этой игры.
Читать дальше →
Total votes 33: ↑31 and ↓2+29
Comments5

Dagaz: Новое начало

Reading time24 min
Views11K
Бежит на юг и кружит на север, кружит, кружит на бегу своем ветер,
И на круги свои возвращается ветер;
Бегут все реки в море, — а море не переполнится,
К месту, куда реки бегут, — Туда они продолжают бежать;

Книга Экклезиаста.


В 1998 году, было разработано совершенно уникальное, для своего времени, приложение, позволяющее свести процесс разработки абстрактной настольной игры (или головоломки) к небольшому текстовому описанию на языке, отдалённо напоминающем Lisp. Этот проект получил название Zillions of Games и произвел настоящий фурор в среде любителей настольных игр. В настоящее время, создано более 2000 приложений, с использованием этой технологии.

Очень быстро выяснилось, что ZoG обладает множеством недостатков. Я уже писал об этом на Хабре и не буду повторяться. Скажу лишь, что разработчики не учли особенностей огромного количества уже существующих игр, а часть важных опций «захардкодили» таким образом, что их изменение стало крайне проблематичным. Грэг Шмидт, в 2007 году, постарался исправить ситуацию, выпустив Axiom Development Kit, но тесная интеграция этого решения с ZoG не позволила решить все проблемы.

Проект Ludi обозначил новые рубежи, используя универсальный игровой «движок» и генетические алгоритмы для автоматизации самого процесса разработки новых настольных игр. К сожалению, этот подход изначально предусматривал сознательное упрощение как игровых механик так и уровня используемого AI. Обсуждение целей этого проекта выходит за рамки настоящей статьи, но отдельные его технические решения, бесспорно, послужили отправной точкой для начала моей собственной разработки.

Моей целью является разработка более универсального и удобного в использовании «движка» для создания абстрактных настольных игр. Уже почти год я изучаю возможности ZoG и Axiom и узнал очень многое об их ограничениях. Я думаю, что смогу решить их проблемы, создав более универсальное и кроссплатформенное решение. О ходе работы над этим проектом я и собираюсь рассказать.
Читать дальше →
Total votes 52: ↑37 and ↓15+22
Comments17

Ко

Reading time8 min
Views10K
         Если используешь их в битве, но победа долго не приходит, их оружие притупляется, а рвение — ослабевает. Если осаждаешь города, их силы истощаются. Если подвергаешь войско длительной войне, запасов государства не хватит.

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

Сунь Цзы "Искусство войны"
 
В предыдущей статье, я рассказал о том как выполняется захват камней в го, но не упомянул об одном правиле. Правило это столь важное, что имеет собственное имя — Ко.
Читать дальше →
Total votes 35: ↑33 and ↓2+31
Comments3

Жизнь и смерть

Reading time5 min
Views19K
Тридцать спиц соединяются в одной ступице, [образуя колесо],
но употребление колеса зависит от пустоты между [спицами].
Из глины делают сосуды, но употребление сосудов зависит от пустоты.
Пробивают двери и окна, чтобы сделать дом,
но пользование домом зависит от пустоты в нем.
Вот почему полезность чего-либо имеющегося зависит от пустоты.

Лао Цзы "Дао дэ Цзин"
 


Камни в Го одинаковы и после установки на доску их нельзя двигать. Кажется, что это простая игра, но это не так. Простые правила ведут к невообразимому разнообразию тактических комбинаций. Проблематика «жизни и смерти» — хорошая тому иллюстрация.
Читать дальше →
Total votes 39: ↑37 and ↓2+35
Comments45

Свой гобан

Reading time4 min
Views8.6K
После продолжительной борьбы с собственными страхами, я всё-таки начал играть в Го. Дмитрий Скирюк оказал неоценимую помощь в этом нелёгком для меня деле. Играю я пока не так чтобы очень, но не собираюсь бросать начатое. Надеюсь, что постоянная практика и (умеренное) чтение учебной литературы помогут поднять мой пока невысокий уровень.

В этой статье, я не буду рассказывать о самой игре, её разновидностях, тактике и стратегии. Я хочу рассказать лишь об одном инструменте, безусловно необходимом для развития каждого начинающего игрока (под катом много картинок). 
Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments33

На грани безумия

Reading time7 min
Views29K
Рэндзю — удел простолюдинов,
в шахматы играют герои,
Го — игра богов

       Японская пословица.

Против глупости сами боги бороться бессильны.

       Айзек Азимов.


 
С приходом осени, хочется странного. Я задумался о том, какой должна быть игра, играть в которую максимально сложно? Меня интересует своего рода аналог Brainfuck-а из мира настольных игр. Хочется, чтобы правила игры были максимально простыми (Ритмомахия под это определение явно не подходит). Го — хорошая кандидатура на эту роль, но в неё люди играют довольно массово (хоть это и непросто). Если Го — игра богов, то хочется увидеть игру, играть в которую самим богам было бы затруднительно. Мощи богов я решил противопоставить своё безумие. В хорошем смысле…
Читать дальше →
Total votes 53: ↑51 and ↓2+49
Comments21

Анатомия меланхолии

Reading time16 min
Views21K
Знание — сила.

       Фрэнсис Бэкон.

… во многой мудрости много печали;
    и кто умножает познания, умножает скорбь.

       Книга Экклезиаста.

Игры живут своей жизнью. Они возникают из ниоткуда, развиваются, порождают новые игры, забываются всеми и, порой, вновь возвращаются из забвения. В истории немало примеров игр, потерпевших поражение в этом процессе естественного отбора. Таковы разнообразные варианты Сёги, дошедшие до наших дней лишь благодаря трепетному отношению жителей Японии к своему культурному наследию. Партия в игру, подобную Taikyoku shogi, могла затянуться на месяцы (если не на годы). Но эти шахматные динозавры эпохи Хэйан не являются самыми яркими представителями «ископаемого» мира настольных игр.
Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments3

Information

Rating
3,996-th
Location
Казань, Татарстан, Россия
Date of birth
Registered
Activity