Circle sokoban: билд №0

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

Итак, в чем суть. Есть уровень с определенной геометрией. Есть ядро - парящий шарик, которым управляет игрок. Еще по уровню разбросаны оболочки - полые шарики разных размеров. Ядро может присоединять к себе оболочки и, таким образом, переносить их, однако, с определенным условием - непосредственно ядро может присоединять только самую маленькую оболочку; вместе с маленькой оболочкой, можно присоединить оболочку побольше, ну и т.д.. В общем, тот самый "принцип матрешки". В любой момент можно отцепить самую верхнюю оболочку на ядре. Через оболочки ядро, ясное дело, не проходит (не считая те, которые может к себе присоединить). Еще на уровне есть нажимные плиты, они, по сути, реагируют на вес - активировать их можно, поместив на них оболочку, но, при этом, если оболочку убрать, плита деактивируется.
Цель игры - активировать все плиты на уровне.

Играбельная версия тут.
ЖМИ СЮДА
Тестовые уровни лучше не трогать.
Управление:
W-A-S-D - передвижение ядра
Space - присоединение/отсоединение кольца
Управление в редакторе теперь расписано непосредственно в редакторе. Подробную инструкцию напишу, если потребуется.
Внимание: вэб-версия не поддерживает работу с файлами, поэтому сохранять и загружать уровни вы там не сможете. Поэтому, помимо прочего, я выкладываю standalone версию игры. Сохранение происходит в папку "Мои Документы\Shell User Levels".

Это еще не весь концепт. Уровни, построенные на простых оболочках и плитах, будут составлять только первый "сезон" уровней. Для разнообразия у меня в планах:
  • Плиты с требованием к весу (размеру) оболочки (больше, меньше, равно) (уже готово)
  • Разноцветные оболочки, и плиты с требованием к цвету;
  • Оболочки с требованием к цвету (те, которые можно прицепить только на оболочку определенного цвета, и те, на которые можно нацепить только оболочку определенного цвета).
  • Барьеры - преграды, которые не пропускают ядро, пока не выполнено определенное требование (количество прицепленных оболочек, цвет верхней оболочки, отсутствие прикрепленной оболочки определенного цвета, все оболочки одного цвета и т.д.).
Ну и смешивание этих опций.
Но их я буду вводить, только если сам концепт будет признан играбельным.

В общем, жду ваших отзывов. При необходимости, попробую сообразить еще несколько уровней. Да, кстати, если у вас появятся идеи для уровней, выкладывайте их в любой форме, буду очень благодарен)) Если что, в будущем мне тоже понадобятся люди, которые помогут с планированием уровней (самый большой гемор для головоломок).
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
2
30
10 лет назад
Отредактирован Clamp
2
Мда, появилась идея хоть куда. А что если инфу о уровнях хранить в псевдо-графике в обычных текстовых файлах? У меня уже есть мысли о создании уровня с такого файла.
Первая игра, которую я сделал, была 3D шутером на корявеньком движке на делфи, а карты к ней выглядели так:
...........................
...........................
.................b.........
...........................
Остальные пункты немного недопонял.
Если кольцо, на которое ты хочешь "наступить", на тебя не "наденется", то ты не сможешь туда "наступить". Даст возможность делать уровни "сначала пройди вооон ту часть".
На мне надето кольцо 1го размера, лежит кольцо третьего. Я через него пройти не могу, как через любое кольцо не 2го размера.
Запретить сбрасывать маленькое кольцо, если на карте есть несброшенное побольше. Позволит немного оказуалить игру, т.к. игрок не сможет вставить себе палки в колёса.
Если я сброшу кольцо 1го уровня на коробку, то не смогу надеть кольцо 2го уровня. Чтобы такого не случилось, можно просто не давать сбрасывать кольцо, если на карте колец такого размера больше нет.
Сделать автоподбор колец (если кольцо наденется на "ядро" без возможности их дропа мимо "коробок". "Думай, куда идёшь".
На самом деле, опасная идея. Суть в том, что если я пройду по кольцу, то оно поднимется автоматически, и автоматически сбросится на коробке. Конфликтует с кнопками, но снижает количество элементов интерфейса на управление, что полезно на телефонах.

Bugreport:
Во втором уровне можно "проскочить" нижнее кольцо насквозь, выходя за карту.
На нём же можно войти в кольцо второго размера и застрять.
0
30
10 лет назад
0
я сумел застрять, когда двигался в разные стороны
2
30
10 лет назад
2
Tiodor, тоже отрепортил. Скорее всего проблема в обсчёте движения "real-time", а не по шагам
Clamp:
На мне надето кольцо 1го размера, лежит кольцо третьего. Я через него пройти не могу, как через любое кольцо не 2го размера.
кстати ты это уже сделал ^^
0
37
10 лет назад
0
Тут такой баг есть - с 2 сторон можно выскочить за территорию. На скрине пометил красным.
Про остальные баги вроде уже все сказали.
0
27
10 лет назад
Отредактирован Devion
0
  • Застреваешь когда встаешь в круг больше чем нужного размера
  • Уходишь за карту если ход проходил через кольцо нужного размера и ты его не подбираешь
1
26
10 лет назад
Отредактирован lentinant
1
Да, после отключения автоподбора колец проблем-то побольше стало.
Clamp:
На мне надето кольцо 1го размера, лежит кольцо третьего. Я через него пройти не могу, как через любое кольцо не 2го размера.
Это и так подразумевается.
Clamp:
Если я сброшу кольцо 1го уровня на коробку, то не смогу надеть кольцо 2го уровня. Чтобы такого не случилось, можно просто не давать сбрасывать кольцо, если на карте колец такого размера больше нет.
По идее, ты и так не можешь надеть кольцо второго уровня, без первого. Если это возможно сейчас, то это баги. А так - если игрок снимет единственное кольцо первого уровня, не положив на место кольцо второго уровня, то это его проблемы. В отличии от сокобана, тут это исправимо.
Clamp:
На самом деле, опасная идея. Суть в том, что если я пройду по кольцу, то оно поднимется автоматически, и автоматически сбросится на коробке. Конфликтует с кнопками, но снижает количество элементов интерфейса на управление, что полезно на телефонах.
Возможно, в игре будут моменты, когда кольцо надо будет скинуть не только на коробке. Или какое-то кольцо будет взято по ошибке. Кнопка для скидывания кольца должна быть в любом случае.

За жуков всем спасибо, пойду ловить.
0
24
10 лет назад
0
Тут такой баг есть - с 2 сторон можно выскочить за территорию. На скрине пометил красным.
Первое, что я сделал после того, как прочитал это - сам попробовал выскочить за территорию )
0
26
10 лет назад
0
А, теперь ясненько. Когда шарик на плите, первое, на что натыкается Рейкаст - сама плита.

Эх, похоже, придется полностью менять подход к реализации присоединения колец.
1
27
10 лет назад
1
lentinant, ты игру планируешь в 2D или 3D делать?
1
26
10 лет назад
1
Extravert, в 3D ее, по сути, нет смысла делать. Изначально думал как раз наоборот, но потом задумался, как, к примеру, будет выглядеть вхождение ядра в оболочку. Если откинуть вариант с тупо вхождением, то надо, чтобы оболочка открывалась, ядро туда влетало, и оболочка закрывалась. Но тогда это будет занимать очень много времени. В виде же с кружком и кольцами, быстрое вхождение выглядит нормально.
1
26
10 лет назад
Отредактирован lentinant
1
Немного изменил код, теперь указанных жуков не должно быть (правда, не факт, что не появились новые). А пока попробую сделать что-то похожее на редактор уровней. Сначала функционал будет базовый - стены, кольца, плиты. Остальное буду добавлять, как только, собственно говоря, это сделаю. Плюс, соответственным образом будет изменяться песочница.

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

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

Такое примечание - редактор я разрабатываю чисто в целях разработки, и вряд ли он войдет в полный функционал игры (кроме того, игра, все же, ориентируется на мобильные девайсы, на которых по умолчанию этот редактор очень неудобным получится). Да и сомневаюсь, что я смогу организовать нормальную систему создания, сохранения, и воспроизведения уровня уже в самой игре (то есть, в основном, созданные уровни я буду просто вручную конструировать уже в самом Юнити и добавлять в конечную версию). Так вот, возник вопрос - стоит ли вставлять проверку правильности уровня? Или оставить это на совесть тех, кто уровень делает? С проверкой иерархии колец (нельзя ставить 4 размер, когда нет 3, и т.д.), и обязательными условиями (на уровне должны быть плиты и кольца, количество плит должно быть меньше, чем количество колец) проблем не возникнет. Есть идеи насчет проверки, чтобы ни один элемент не выходил за пределы стен (сравнение с координатами самых крайних стен). Но могут возникнуть проблемы с самыми стенами - единственный алгоритм, который я придумал для проверки замкнутости стен, имеет жесткий косяк, и даже если это игнорировать, не запрещает создавать стены внутри стен (внутри которых могут быть интерактивные элементы). Однако, если человек, который будет делать уровни, сам попытается избежать подобного, то эти опции и не нужны.
Как вы считаете?
Лень, она повсюду.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.