Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Популярная настольная игра

Длинные Нарды Турнир

Настольные, Мидкорные, Для двоих

Играть

Топ прошлой недели

  • AlexKud AlexKud 35 постов
  • Animalrescueed Animalrescueed 52 поста
  • Webstrannik1 Webstrannik1 50 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая «Подписаться», я даю согласие на обработку данных и условия почтовых рассылок.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
0
rwor
rwor
2 года назад

Как пройти уровень в Armadillo Run?⁠⁠

Всем привет, принесли на диске новую игру, нашёл в ней дополнительный уровень, как его пройти?

Как пройти уровень в Armadillo Run?
[моё] Волна боянов Логические игры Armadillo Run
1
13
Inakovo
Inakovo
2 года назад
Лига Разработчиков Видеоигр

Как я пазлы делать учился⁠⁠

Когда я приступал к сборке пазлов, у меня не было ни малейшего представления о том, как и почему они должны работать. Но собрав больше сотни уровней, я начал понимать определенные паттерны и вывел для себя некоторые правила в построении загадок. Я не претендую на истину в последней инстанции, но лично мне они помогли с самым сложным, а именно: какой должен быть уровень на конкретном месте, как он должен работать и почему.

Начну с того, что в рамках этого текста я предлагаю понимать под головоломкой «пазл». Это в первую очередь игровая сцена, которая ставит перед игроком ряд задач, с объектами на ней, с частью из которых игрок может взаимодействовать. Как правило, любой пазл можно декомпозировать до нескольких «ходов», звеньев в цепи решения. В зависимости от сложности уникальности и количества таких ходов на одной сцене, которые нужно подобрать, будет и увеличиваться сложность самого пазла. Но об этом позже.


В самом начале идет обучение какой-то механике. Любая игра сначала учит нас чему-то, а потом экзаменует на умение обращаться с полученным знанием. Моя задача заключалась в том, чтобы игрок не мог пройти уровень, не освоив представленную на нем механику. Например, на первом уровне игроку доступна только механика поворота. Это первая механика, с которой он сталкивается. Как нам быть уверенными в том, что он ее усвоил? Очевидно, решение уровня должно засчитываться только после того, как игрок верно применит механику, а именно повернет зеркало. На этом этапе точность его движений для нас не слишком важна, главное, что он попал в цель. Пройти уровень, не повернув зеркало, нельзя, игрок вынужден его повернуть и тем самым, освоив механику, научиться ей пользоваться. Но это не значит, что он ее понял, осознал все тонкости ее работы. То, что игрок освоил что-то, означает лишь то, что он может этим пользоваться, не вдаваясь в детали самого процесса. Чтобы водить машину, необязательно досконально знать, как устроена ручная коробка передач. Чтобы пользоваться компьютером, не обязательно задумываться о том, как настроены вторичные тайминги оперативной памяти и т.д.


В дальнейшем, чтобы игрок закрепил механику, мы повторяем ситуацию, которую он уже решил, усложняя ее, но так, чтобы игрок понимал, что в цепочке действий, которые ему предстоят, добавился еще один элемент или шаг. Конечная цель должна быть прозрачной для игрока. Добавив на следующем уровне стену, мы добавляем к привычной схеме еще одно звено. Игрок уже не может кратчайшим путем, освоенной механикой поворота достигнуть цели. Ему нужно сделать несколько дополнительных действий, поворотов и обогнуть препятствие. Мы добавляем механику преград, одновременно закрепляя механику поворота. Это все довольно просто, и я уделяю этому столько времени просто для того, чтобы стал ясен дальнейший принцип. В последующих уровнях игроку встретятся более сложные в понимании механики, но принцип овладения ими не изменится. В начале мы не оставим ему выборов, кроме единственно верного, для решения, а затем будем постепенно добавлять звеньев в цепочку его действий.

Когда игрок в должной степени освоит механику, можно углубляться в ее суть. Что будет, если вернуть луч в расщепитель? Я знаю, игрок – нет. Осталось объяснить это ему без использования слов и подсказок. То есть создать ситуацию, в которой верным решением стало бы то, что я уже знаю о механике и хочу до него донести. Возможно, у него уйдет немало времени на перебор возможных вариантов, если он попробует решить пазл перебором или чрезвычайно сложным образом, но, если задача подобрана верно, этого произойти не должно. Можно просто дать человеку ответ, написав подсказку в духе «верни луч», и он создаст еще один, игрок это поймет, но радость «Ага!-момента» пропадет. Не будет ощущения, что он сам до этого дошел.


Тут стоит сделать отступление и сказать, что никогда не знаешь, как игрок себя поведет. Про это написано немыслимое количество шуток и анекдотов о тестировщиках и просто о человеческом поведении, не поддающемся прогнозам. Но тут, конечно, ради допущения предполагается среднестатистический человек. Этот сферический конь в вакууме не станет совсем уж ломать игру и подбирать немыслимые варианты, он пойдет по более простому пути. Однако не учитывать тех, кто захочет проверить игру на прочность, нельзя. Многие из тех, кому я давал ранние билды игры, намеренно пытались проверить ее на устойчивость ко взлому, а меня, как создателя, на предусмотрительность. Игроки пытались найти баги, использовать недопустимые углы, искали любые лазейки и недокументированное поведение механик, чтобы добиться чего угодно, необязательно победы, просто чтобы показать: смотри, как я могу, а ты вообще смог это предвидеть, не сломает это твою игру, я тебя перехитрил?

Свобода выбора

Иногда я ловил себя на мысли, что все возможные варианты я просто не смогу перебрать сам. Когда я создаю пазл, уже на стадии прототипа я играю в него и пытаюсь решить эффективнее, чем это сделано в исходном решении. Например, освободить один элемент и решить пазл меньшим количеством из доступных. Так как наш пазл дает довольно большую свободу по расстановке зеркал, в отличие от подавляющей массы таких игр, где зеркала привязаны к условным клеточкам на поле, то и вариантов перебора, а значит, и потенциальной возможности сломать пазл куда больше. И вот я завершил пазл и сажусь в него играть. Мне нужно перехитрить самого себя. И это довольно сложно на самом деле, обладая пониманием того, как именно устроен тот или иной уровень. Я точно знаю цепочку действий, которую нужно совершить, и в каком-то смысле это понимание меня ограничивает. Игрок, который впервые столкнется с этим пазлом, не знает, что его ждет. Он может перебирать любые варианты и пытаться пройти его с нахрапом, даже не вдумываясь в принцип его построения. И вот в этой креативной непоследовательности может найтись совершенно неожиданный для меня, как для создателя, способ. Более того, я, как правило, стремлюсь, чтобы сам уровень и его решение были элегантными и, если это возможно, красивыми, с эстетической точки зрения. Поэтому я намеренно оставляю отступы от краев экрана и не скидываю все элементы в кучу, стараясь располагать их согласно композиции сцены, как если бы это была картина. Но игрок не ограничен моим видением прекрасного. Если можно все элементы стянуть в один край, он это обязательно сделает, и если там будет расщепитель, то различные пограничные значения углов и скученность зеркал могут дать неимоверно большое количество лучей. И даже такой случай не должен ломать пазл.


С самого начала мы с командой решили не ограничивать игрока строго. Это был основной замысел - дать игроку свободу действий. Конечно, полной ее можно назвать лишь условно, так как зачастую именно какие-то условные препятствия и делают пазл пазлом. Дать игроку возможность делать совершенно что угодно сравнимо с паролем на бессмертие и убийством любого с одного выстрела в шутерах. Это весело короткий отрезок времени, но ни о каком вызове для игрока в такие моменты речи не идет. Ограничения - это не только препятствие на пути к получению удовольствия, иногда сами ограничения и есть удовольствие. Речь шла, конечно, о свободе в подборе вариантов. На мой взгляд, стоит разделять то, какой расстановкой решен пазл, и то, каким способом, с использованием какой особенности механики он решен. Мне кажется, привязывать игрока к конкретным клеточкам на поле – это, в каком-то смысле, упрощать ему подбор вариантов и частично отнимать у него развлечение. Если он захочет попробовать что-то совсем уж фантастическое, зачем ему мешать. Я для себя избрал следующий критерий правильности готового решения. Если уровень решен с использованием всех запланированных мной элементов, той механики или тонкости работы этой механики, что и задумано, значит, он решен верно. Вне зависимости от того, в каком месте игрок расположил доступные ему элементы или в каком порядке.


К слову, о порядке элементов. Были довольно специфические этажи на сложные для меня механики, где в силу ограниченного пространства наших уровней невозможно наращивать количество объектов до бесконечности. В результате механики, требующие для адекватной работы определенного количества элементов, ставили меня в тупик. Например, сигнал, угасающий от зеркала к зеркалу, требовал не менее трех зеркал, чтобы угаснуть. Но нам еще нужно заложить возможности для вариативности – это еще сколько-то объектов, необходимых для самой загадки, и несколько сверху для возможности перебора вариантов. Все это по итогу создавало нечитабельную мешанину на экране - проходить такой пазл просто неприятно. Это ощущение можно сравнить с тем, как достаешь запутавшиеся в кармане провода наушников или гирлянду из коробки. Тебе хочется скорее получить удовольствие, а нужно сидеть и распутывать все это, свернувшееся клубком совершенно неудачнейшим образом. С другой стороны, отказываться от механики не хотелось, она содержит в себе интересные принципы. Если игрок в решении изначальных задач не был ограничен в количестве зеркал и их расположении, их порядок на решение не влиял, то здесь, по сути, важно не только то, какое зеркало использовано, но и где именно оно находится и после которого идет. Это добавляет к базовой задаче определенный менеджмент доступных ресурсов, что углубляет игровой процесс. Схожих целей можно добиться при использовании цветных зеркал и фильтров, а также промежуточных целей. Благодаря этим нехитрым элементам можно создать внушительное количество разнообразных загадок с изменяющимися принципом и логикой решений.


Внезапно для меня оказалось, что сложнее делать простые уровни. Речь об уровнях с минимумом базовых механик и элементов, при этом не менее интересных и разнообразных, чем уровни со сложной механикой из кучи элементов. Безусловно, можно создать подобие лабиринта, где игрок может повернуть луч вправо и влево, а затем любой из этих выборов также приведет к выбору из нескольких доступных поворотов. И так до тех пор, пока одна из цепочек не приведет игрока к искомому финалу. Таких уровней можно наклепать сотни – знай себе меняй положения стен. Но будет ли это интересно на второй, десятый, сотый раз? На мой взгляд, нет. Мне хотелось добиться системы, при которой уровни не сводились бы к формуле: выбери направление из нескольких, затем повтори. Но что из средств создания остается нам тогда? Как вариант, мы можем предложить игроку, помимо выбора направления, найти наиболее «удачный», скажем, короткий путь. Например, можно ограничить подвижность части элементов, чтобы, манипулируя свободными, игрок достраивал решение. Мы можем предложить использовать элементы более эффективно, завязав загадку на повторном отражении света от одного и того же зеркала, или предложить найти правильную позицию для конкретного элемента, которая разрешила бы загадку, и много чего еще. Это все база, на нее сверху мы накидываем механики, которые должны разнообразить процесс и дать игроку в прежних условиях получить новые возможности, а значит, способы решения и, как итог, впечатления, и удовольствие от решения.

Порядок уровней и кривая сложности

А что если нам нужно ранжировать пазлы по сложности? Казалось бы, берешь и ставишь простую в начало, сложную – в конец. Тогда как понять, насколько один пазл сложнее другого и как их упорядочить? Можно, например, начать с количества действий, за которые игрок ее решит. Чем больше их потребуется, тем сложнее. Либо начать с того, насколько сложна сама механика или насколько нестандартный ход используется на уровне. И это все работало бы, если бы все игроки думали одинаково. На деле же сложная задача для одного оказывается простой для другого. Помимо индивидуального опыта, с которым каждый конкретный игрок подходит к той или иной головоломке, это часто зависит от выбранного способа решения. Кто-то пытается увидеть картину целиком, кто-то разобрать на составляющие и искать взаимосвязи частей, а кто-то решает от обратного, например, выстраивая головоломку от конца к началу. И в каждом конкретном случае один или несколько способов будут проще остальных, а значит, и загадка будет ощущаться игроком легче.


Фактически игрок, не зная, что перед ним простая загадка, может довольно надолго увязнуть, перебирая все чрезвычайно сложные варианты, приходящие ему на ум. В итоге к тому моменту, когда он дойдет до решения, затратив уйму времени, субъективно сама загадка будет ощущаться сложнее, чем она планировалась. Сложным покажется сам путь до ответа, если игрок не анализирует свои действия, а просто ищет способы решения, ориентируясь на затраченное время и число попыток, а не на реальную сложность ходов. И таких субъективных факторов масса. Остается только стараться достичь прогрессии сложности с пониманием того, что идеальной для всех ее сделать невозможно.


Я не мог точно назначить сложность пазла, даже глядя на ответ к нему. Все игровые сессии, что я видел, сидя рядом, из-за плеча игрока, давали противоположные результаты. Кто-то легче справлялся с первым, но страдал над поиском ответа ко второму, а кто-то наоборот. Плюс мое восприятие сложности того или иного пазла было также искажено тем, что именно я их и придумал, а значит, заранее знал суть. Для меня после десятков прогонов одного и того же они казались значительно проще и равны между собой, что, конечно же, необъективно.

Собрав немалое количество своих головоломок, я стал иначе смотреть на чужие. После того, как сам собираешь что-то по кусочкам, проще декомпозировать чужие задумки. Мой способ решения в подобных играх строится на понимании того, что сама загадка всегда имеет решение доступными нам средствами. Ее кто-то придумал, и ее можно понять и решить, если подобрать принцип, увидеть закономерности и ограничения, рассуждать, чего я пытаюсь добиться на каждом из этапов, что мне для этого доступно и т.д. Если это хороший пазл, его создатель что-то пытался мне сказать, осталось только понять, что именно. Это подкрепилось и на практике: были головоломки в рамках жанра, которые я бросал не пройдя, но, вернувшись к ним, уже набравшись опыта самостоятельной разработки, смог их осилить. Не скрою, это было приятно. Значит, не только игрок смог бы научиться чему-то в процессе игры, но и я в процессе ее создания.


Что я мог бы посоветовать человеку, который станет заниматься созданием подобного рода игр? Первое – изучите доступные вам механики. Первое время не пытайтесь создавать уровни с загадками, для начала вы сами должны научиться играть в игру. Разместите элемент на сцене, подумайте, по каким правилам он взаимодействует со всеми прочими доступными игроку элементами, есть ли в этом взаимодействии какие-то тонкости и нюансы, можно ли их донести до игрока через головоломку так, чтобы он тоже их увидел и понял. Когда вы переберете все, что могло прийти вам в голову, начинайте добавлять элементы. Попробовали с одним, переберите все возможные варианты с двумя или тремя одинаковыми, потом добавьте к этой куче другой элемент другого вида, работающий по другим правилам. Возможно, на стыке двух механик у вас выйдет что-то занимательное. В конце концов, полезным будет просто выставить на игровую сцену некий набор элементов, поиграться с ними без конечной цели. Тут пригодится фантазия, как когда вы смотрите на облака и пытаетесь понять, на что они похожи, зная, что на самом деле их форма случайна. Так и перебирая элементы и их положения, вы можете навести себя на интересную мысль. Тогда, очистив сцену от лишнего, вы такой своеобразной огранкой доведете головоломку до правильного вида. Более того, обязательно сохраняйте скриншоты, если в ходе таких перестановок что-то получающееся показалось вам интересным. Оно, возможно, не понадобилось вам в текущей головоломке, но, когда вдохновение покинет в следующий раз, вы сможете вернуться и поискать идеи в таких сохранениях. Когда за вашей спиной будут уже дюжины созданных пазлов, вам начнут приходить идеи без необходимости включать редактор. Вы сможете в голове представлять себе идею и расстановку и примерно прогнозировать то, к чему она вас приведет. Останется только включить компьютер и перенести все идеи в игру. Порой, когда вдохновение покидает вас, а работать и выдавать новые головоломки все еще нужно, можно попробовать посмотреть, как это сделано в подобных играх. Копировать чужое не нужно, но проанализировать то, что работает и почему оно кажется вам любопытным или, наоборот, скучным, будет полезно. В процессе такой декомпозиции чужих работ вам также может прийти мысль о том, как это возможно применить на своей практике. Ну и, конечно, спустя много времени полезно вернуться к вашим первым работам и, если уже забылось решение, поиграть в них: иногда можно найти любопытные ответы. Еще это возвращение дает понять, что вы выросли и какие-то из вещей в ваших первых работах нужно исправить с учетом вашего текущего уровня понимания их.

Для тех, кому интересно ознакомиться непосредственно с описанной мною игрой, оставлю ссылку тут. Она бесплатна и доступна целиком. Дополнительную информацию по теме создания головоломок можно получить, ознакомившись с серией видео на английском тут.

Показать полностью 2
[моё] Разработка Мобильные игры Инди Инди игра Gamedev Пазл Головоломка Логические игры Длиннопост
0
Lakris1
3 года назад

Игра Данетка⁠⁠

Лет 10 назад наткнулась на сайт, где играли онлайн в игру "данет", сайт так и назывался. Я таи периодически зависала, отгадывала загадки, которые задавали пользователи. Можно было отгадывать, можно было самим загадывать вопросы. Тогда этот сайт был живым и было много активных участников. Потом мое участие там поугасло, было много других забот. И вот недавно я вспомнила об этом сайте, зашла, а он жив до сих пор. Все осталось по прежнему, так же загадывают задачки, так же отгадывают, но пользователей очень мало.
Это не реклама, но если вы, также как и я любите задачки на логику, присоединяйтесь к к нашему сообществу данетка.ру, чем больше людей, тем интереснее.
Если нельзя размещать такие посты, удаляйте)

[моё] Логические игры Логика Текст
7
52
kamianta
3 года назад
Книжная лига

Ищу книгу с логическими загадками и сюжетом⁠⁠

Приветствие знатокам и просьба о помощи.

Ребёнок прочитал книгу про Мурзилку и Ябеду-Корябеду, теперь требует аналогичную - чтобы в ней был сюжет с расследованием и встроенными загадками, которые он тоже сможет разгадывать. Просто сборник загадок ему не подходит, Холмса забраковал - слишком взросло и сложно. Впрочем, и на Мурзилку жаловался, что интересно, но слишком легко. Вдруг кто какие истории знает между Холмсом и Мурзилкой.

Ищу книгу с логическими загадками и сюжетом
Показать полностью 1
[моё] Поиск Логические игры Посоветуйте книгу Детская литература
30
sovkalin
sovkalin
3 года назад

Рубрика Склад загадок NPC⁠⁠

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

[моё] Вопрос Загадка Логическая задача Познавательно Головоломка Исследования Задача Ребус Логические игры Текст Короткопост
17
skladzagadoknpc
skladzagadoknpc
3 года назад

Загадка от Склада загадок NPC⁠⁠

Какая советская песня попала в книгу рекордов Гиннесса как самая частая звучащая в эфире?

[моё] Вопрос Логическая задача Логические игры Загадка Задача Познавательно Головоломка Текст Короткопост
28
87
CatGeeks
CatGeeks
3 года назад
Уголок ретрогеймера

Немного занятных фактов из мира ретро-игр вам в ленту⁠⁠

Знаете или нет, ребятки, почему такая известная и старая игра, как Тетрис, так, собственно, и называется? От греческого «тетра», тобишь четыре. А могло быть и иначе, скажем, какой-нибудь Пэндес, ведь изначально, наш разработчик, товарищ Алексей Пажитнов, в не очень далеком, но всё таки и не близком 1984 году, вооруженный таким чудо-компьютером как «Электроника-60», запилил первую версию сей игры, в которой фигуры состояли из... внезапно, пяти блоков. Задумка была в том, чтобы игра, во-первых, происходила в реальном времени, а во-вторых, они должны были переворачиваться вокруг собственного центра тяжести, но... компы того времени такие геймплейные инновации и фишки не вывозили, FPS падал и вообще висли нахрен. В общем, мощность такая себе была у компов, а потому Лёха принял мудрое решение сократить фигуры до четырех. С тех пор имеем то, что имеем. Зато работает.

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

Вообще, в итоге, не только лишь один Лёха всё затащил и сделал игру великой и прорывной, для своего времени, разумеется. Достаточно народа поучаствовало в этом богоугодном деле, внося те или иные коррективы. Там вообще, пусть и известная, но интересная история с разработкой и правами на игру, с многоходовочками и сомнительными схематозами, о чем, наверное, стоит потом как-нибудь подробно написать.

А ещё мне понравилось такая мысль, или даже, скорее, золотое правило, заложенное в те далекие времена — чем тупее и понятнее механика игры, тем выше шанс, что она завоюет рынок и разойдется, как горячие пирожки. Так оно с Тетрисом и вышло. Актуально до сих пор.


Автор: Алексей Шухартской

Источник

Подпишись, чтобы не пропустить новые интересные посты!

Показать полностью 1
Заметки Тетрис Игры Логические игры Математика СССР Ретро-игры
8
93
twinkly
twinkly
3 года назад
Лига Геймеров

Культ сокобана⁠⁠

Автор: Александр Клименков


Бизнес-идиллия с драматическим концом


Представим себе обычную фирму, занимающуюся поставками, например, компьютерной техники. У фирмы есть склад, где хранятся контейнеры, коробки и другие ёмкости разного размера с этой самой техникой. Представим обычного среднестатистического менеджера, который нашёл покупателя на технику, договорился с ним и сообщил на склад, что завтра в такое-то время прибудет фура — забирать товар. Представим себе диспетчера склада, который получил заказ от менеджера и понимает, что фура ждать не будет. Завтра к назначенному времени товар должен быть собран в непосредственной близости от погрузочного пандуса. Диспетчер проверил наличие товара по компьютерной базе: товар есть в наличии, лежит себе, миленький, пылится где-то на полках. Теперь дело за кладовщиком Васей. Кладовщик Вася сидит мирно у себя в каморке, разгадывает кроссворд, или жуёт лапшу быстрого приготовления, или занимается ещё чем-то интеллектуальным. В общем, отрывается человек и не знает, какая грозная туча над ним нависла.


Диспетчер одним своим взглядом свергает Васю с небес на землю. Вася знает, что явление диспетчера с бумажками в руках ничего хорошего не предвещает. А тут ещё погрузчик как назло сломался. И остаётся наш кладовщик Вася один на один со списком товаров. Так из трагедии маленького человека, который оказывается крайним в борьбе сильных мира сего, родилась бессмертная игра сокобан.


История и немного философии


Сокобан (кстати, многие источники указывают на то, что правильнее писать soukoban — так ближе к языку оригинала) родом из Японии. Вполне понятно, почему подобная игра появилась именно в Японии — стране восходящего солнца, самураев и трудоголиков. В ней так и чувствуется влияние японского «осс» — «терпи».

В современном каратэ-до «осс» означает «терпение, уважение и признательность». Чтобы развивать сильное тело и сильный дух, необходимы жёсткие тренировки, которые выдержать трудно. Каратисту приходится заставлять, «подталкивать» себя к тому, что он считает своим пределом. Ему хочется остановиться, но нужно бороться со своей слабостью и заставить себя победить. Чтобы сделать это, каратист должен проявить упорство, волю, а прежде всего — терпение. Это терпение и есть «осс».

Так пишется слово soko-ban по-японски


Терпение — это как раз то, что понадобится кладовщику — главному герою игры — на пути к заветной цели. Кстати, слово «soko-ban» — японское и переводится именно как «кладовщик». Правила игры просты и изящны как всё гениальное. На складе сложной конфигурации (в большинстве описаний его называют «лабиринтом», и это истинная правда) находится кладовщик и ящики. Все ящики необходимо поставить на конечные позиции (обычно они обозначаются ромбиками). Ящики можно только толкать, но нельзя тянуть. Кроме того, нельзя толкать больше одного ящика. Запрёшь ящик в угол — уже никогда его оттуда не вытащишь — придётся начинать всё с начала. Придвинешь один ящик вплотную к другому — и сдвинуть его сможешь, только подойдя к нему сбоку. Если, конечно, не помешают стенки. Или другие ящики.


Изобретена игра была в далёком 1980 году и довольно быстро её портировали сначала на Nintendo, а потом и на все известные платформы.


Позже под руководством изобретателя этой игры было выпущено несколько официальных сиквелов, главными из которых считаются Sokoban Perfect (1989) и Sokoban Revenge (1991). Они содержат по 360 уровней. Официальная страница игры сокобан находится по адресу www.sokoban.jp. К сожалению, она имеет только японскую версию.

Обложка игры 1984 года


Клоны и современность


Сейчас клонов этой игры, быстро ставшей классической, великое множество. Сокобан повторил судьбу тетриса, разве что в более скромных масштабах. Есть реализации игры для карманных компьютеров, игровых приставок, мобильных телефонов и, конечно же, для PC. Правила игры остаются неизменными. Меняются графика, оформление, даже количество измерений (существуют 3D-версии сокобана), но идея прежняя — всё тот же несчастный кладовщик, запертый в лабиринте (в классическом варианте все лабиринты умещались в поле 19х18 клеток) с кучей ящиков.

Трехмерный вариант игры Sokoban 3D


Возникновение клонов стало возможным, потому что автору игры и его компании принадлежат права непосредственно на программу как на конечный продукт, а не на идею. Кроме того, автору принадлежат права на планы уровней первой реализации (в версии 1984 года их было пятьдесят). Поэтому всяческие римейки, использующие уровни того самого первого сокобана, являются, строго говоря, незаконными.


С этими планами уровней произошла по-настоящему детективная история, которая рассказывается на различных сайтах фанатов игры. В начале 90-х годов некие программисты создали Unix-клон сокобана под названием XSokoban. В эту версию были перенесены классические уровни. Причём восемь из них перенесены с ошибками. Есть версия, что сами авторы XSokoban эти изменения ошибками не считали и сознательно упростили уровни. Так случилось, что об этих изменениях не было известно широкой общественности, и ошибки начали перекочевывать из одного клона сокобана в другой. В результате многие версии, позиционирующиеся как классические, на самом деле таковыми не являются.

Уровень в XSokoban


Вообще, законных римейков с классическими уровнями не так уж много. Один из них называется Sokomind. Он был написан немцем по имени Геральд Холлер (Gerald Holler) в 1997 году, чья домашняя страничка сейчас закрыта по неизвестным причинам. Но раз уж хорошая игра появилась в Сети, она останется там навечно. Надо только уметь искать. В этой версии шестьдесят уровней. Пользователям предоставлена возможность создавать их самим. Есть даже некоторое усложнение и без того непростой задачи: ящики нужно не просто распихать по местам, а расставить в определённом порядке.

Кладовщик на четвёртом уровне в версии 1984 года


Стоит упомянуть и о совсем уж экзотических вариантах, существующих в Интернете. Например, о гексагональном сокобане где игровое поле составлено не из квадратиков, а из шестиугольников. Такую же форму имеют и контейнеры, и кладовщик. Есть ряд версий, где изменена конечная цель игры. Например, в игре CyberBox нужно не расставлять ящики по своим местам, а привести фигурку Васи на определённый квадрат, являющийся выходом из лабиринта. Изначально этот выход основательно загромождён ящиками и добраться до него можно, только растолкав их в разные стороны. Есть ряд игр, где задача усложняется тем, что каждый ящик требуется поместить на своё, строго определённое место.


Научная сторона вопроса


Сокобан — игра логическая, стоит в одном ряду с кубиком Рубика, шашками и даже шахматами. Простые, можно даже сказать, элегантные правила — вершина айсберга. В глубине — сложная математическая теория. Поэтому нет ничего удивительного, что игрой заинтересовались учёные. Наверное, несчастный кладовщик Вася очень бы удивился, если б узнал, что его действия можно изучать с точки зрения теории вычислительной сложности. Задача решения этой головоломки относится к так называемым NP-трудным задачам, как часть более общего класса задач планирования движения (в общем случае Вася будет иметь право не только толкать, но и тянуть, и не один, а сразу несколько ящиков). Сокобан представляет интерес и для исследователей искусственного интеллекта: хорошо бы построить такого робота, который выполнял бы задачу Васи и, перемещая ящики по лабиринту, ставил их на определённые места. При этом нужно, чтобы он выполнял свою задачу в оптимально короткие сроки за минимальное количество шагов.

Трехмерный вариант игры Sokoban Galaxies 3D


Трудность прохождения сокобана заключается не только в уровне ветвления дерева вариантов ходов (многие исследователи сравнивают эту игру по сложности с шахматами), но и в огромной глубине поиска по этому дереву. Для того чтобы найти верное решение, требуется перебрать очень много вариантов. Необходимое количество «правильных» ходов, ведущих к выигрышу, на некоторых уровнях может достигать тысячи. Однако опытные игроки, вооружённые эвристикой, могут быстро отсеять в мозгу заведомо тупиковые варианты, тем самым существенно сузив область поиска.


Некоторые (заметьте, только некоторые) уровни игры могут быть решены «автоматически», с помощью определённых итерационных поисковых алгоритмов. С этой целью, например, была создана программа Rolling Stone, которая умеет самостоятельно проходить некоторые уровни сокобана. Она была разработана в недрах GAMES Group Университета Альберты (одной из провинций Канады). Сложные же уровни сокобана всё ещё не поддаются «автоматическому» прохождению.

JSoko — Java-приложение для решения и оптимизации уровней сокобана


Задачи и стратегия


Кроме главной задачи головоломки — расставить ящики по своим местам — существует ещё две задачи для игрока: минимизировать перемещения ящиков по лабиринту и число движений кладовщика. Решение этих задач уже схоже с решением шахматных этюдов — правила те же, но игра обрастает дополнительными условиями. В общем, стратегия ходов осваивается игроком с первых минут игры. Есть несколько действий, которые нельзя совершать ни при каких обстоятельствах:


- нельзя допускать, чтобы два ящика оказались друг рядом с другом у стены (вы никогда их не вытащите оттуда: тянуть ящики нельзя, толкать два ящика — тоже);


- нельзя задвигать ящик в угол;


- нельзя сдвигать ящики в квадрат 2x2.


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

Редактор уровней Sokoban YASC


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


Как мы уже говорили, универсального алгоритма решения этой головоломки фактически не существует. Однако есть программы, которые позволяют упростить решение: вычислить предположительно правильные ходы на определённую глубину, помочь в записи решения на диск. Если забыть про математический формализм, существует ряд программ, которые с полным правом могут носить название «solver». Они действительно умеют решать многие, даже не самые простые уровни. Но и у них есть предел.


В мире шахмат существуют определённые правила записей ходов и позиций на доске. В мире сокобана тоже выработаны такие правила. План уровня и первоначальное положение объектов записывается в обычном текстовом файле с помощью следующих символов: «#» — стены, «.» — пустое место, куда надо поставить ящик (так называемая «цель»), «@» — кладовщик, «+» — кладовщик, который стоит на той клетке, где находится одна из целей, «$» — ящик на пустом месте, «*» — ящик на одной из целей. Такой формат записи получил название «XSB File Format». Файлы этого формата могут иметь расширения: xsb, sok, rdf, lp0, dat, pak и даже просто txt. Этот формат хранения уровней вы найдёте во многих клонах сокобана.

Настольный вариант игры сокобан


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


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


Есть ещё более простой формат, где план уровня записывается в строчку. Уровень в таком формате выглядит, например, так:

[2-5#|3#3-#|#2-*#-2#|#-#2-*-#|#-*2-#-#|2#-#+2-#|-#3-$2#|-3#2-#|3-4#]

Цифрами обозначается количество повторений символа, который идёт за этой цифрой. Символом «|» даётся команда на начало новой строки.


Есть также отдельный формат для записей перемещений кладовщика по лабиринту. В нём все перемещения записываются буквами r, l, u и d (соответствующие четырём направлениям перемещений). Если при перемещении двигается ящик, то буквы записываются в верхнем регистре.


За годы своего существования сокобан превратился из простой логической игрушки в культовый объект. С каждым годом появляются всё новые и новые версии этой игры. По нему пишут диссертации и научные статьи. Он оброс различными вспомогательными программами и файловыми форматами. Ну и кроме всего прочего, сокобан — это неплохой способ убить время и потренировать мозги.


Статья была впервые опубликована в журнале «Компьютерра» 24 июля 2007.

Источник

Показать полностью 9
Gamedev Видеоигра Компьютерные игры Игры Ретро-игры Логические игры Длиннопост
9
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии