0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как сделать головоломку гравитации

Гравитационная комната в Unity 3D

Учебные материалы для школы программирования. Часть 4

Предыдущие уроки можно найти здесь:

В первых публикациях я немного рассказывала про школу программирования, в рамках которой создавались проекты по Unity 3D. Знакомясь с нашими наработками, у многих возникали вопросы, которые нельзя оставить без внимания:

— Почему вы выбрали такую сложную программу? У детей нет в школах информатики, а значит, нет базовых знаний для освоения Unity.

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

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

В-третьих, мы подобрали такую форму организации занятий, которая помогала всем чувствовать себя комфортно. И ребятам, кто с раннего возраста возится в компьютере, и ребятам, которые компьютер увидели впервые на нашем занятии (многие дети дома пользуются только телефоном/планшетом, и не имеют опыта работы с ПК).

— Почему занятия такие простые? Вы даете много готовых элементом, в чем суть обучения?

Построение образовательных траекторий требует дружелюбности, бесконечной эмпатии, гибкости и вариативности. К нам приходили разные ученики, с разным опытом, с разной мотивацией. Из разрозненной группы подростков, нам надо было сделать сообщество. А еще, нам надо было создать такое пространство, куда бы ребята хотели сами придти, а не потому что «мама сказала — надо!». Поэтому занятия облегчены, но для тех, кому дается легко — ты просто «вынимаешь» элемент из проекта, добавляя в него больше самостоятельности. Для тех, кому самый облегченный вариант не по зубам — рядом преподаватель (группы не более 7 человек), или товарищ, который всегда придет на помощь.

— Почему такая простая графика?

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

Перейдем от вопросов к делу!

Гравитационная комната

На уроке учимся:

Работать с вертексной привязкой при перемещении объектов (см. функцию клавиши V в Unity);

Работать с привязкой к мировому пространству через Configurable Joint;

Знакомим с акселерометром и гравитацией в разрезе игровых движков;

Повторяем работы с rigidbody и коллайдерами.

Порядок выполнения

Создаётся новый проект, импортируется приложенный ассет, создаётся новая сцена. На сцене создаётся куб размером примерно 7х7х7, затем его размер, с помощью инструмента scale, меняют примерно до 7х0.3х7.

Данную фигуру размножают, поворачивают на 90 градусов и привязывают по углам с зажатой клавишей V так, чтобы получился закрытый куб. У стенки, которая находится с положительной стороны оси Z, выключаем компонент MeshRenderer, в итоге, одна из стенок становится прозрачной. Переименовываем её в «Комната» и закидываем остальные стены, пол и потолок. Затем, размер всей комнаты можно менять с помощью scale.

Из сферы и цилиндров создаём подобие лампочки, на сферу накладываем материал со стандартным шейдером и эмиссией. Внутри сферы создаём point light, а стандартный directional light со сцены удаляем. Чтобы задать нашей лампочке ось вращения, создаём пустой объект на самой верхушке провода лампочки, называем его «ось лампочки», закидываем в него все объекты, относящиеся к лампочке.

На ось накладываем Configurable joint, при этом, автоматически добавится rigidbody. Необходимо зафиксировать положение оси в мире, установив transform X, Y и Z в положение Locked.

Устанавливаем камеру так, чтобы она нормально покрывала всю комнату, при этом в Transform камеры будет установлен угол 180 градусов по Y.

Также, на сцену добавляются объекты, к которым применяется MeshCollider -> Convex и Rigidbody с массой в районе 4-5 кг.

Пишем скрипт, который в Update() содержит всего одну строку:

и закидываем в любой объект на сцене, допустим, в камеру. Для того, чтобы игра работала на слабых устройствах, закидываем скрипт Resolution туда же. Этот скрипт принудительно занижает разрешение рендера до 800х450 на устройствах с экранами большего размера.

Читать еще:  Как сделать ледоходы своими руками

Далее, компилируем на Android уже известным нам, из предыдущего урока, способом. Проверяем. Если всё выполнено верно, лампочка будет отклоняться вниз по отношению к устройству в любом положении, пока ей не мешает потолок, а все объекты падают в ту сторону, в которую наклонён телефон.

Коллекция головоломок сделанных с помощью лазерно-гравировального станка [макеты для резки прилагаются]

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

Примечание: данная статья является переводом.

Шаг 1: Пазл

Пазлы являются классической и наверно самой распространённой версией головоломок, первый пазл был вырезан около 1760 года (очевидно, вручную), и обычно он выглядит как картинка, разрезанная на маленькие соединяющиеся части. Лазерный станок очень хорошо подходит для изготовления пазлов, потому что ширина пропила составляет всего 0,1 мм. Это означает, что детали плотно прилегают друг к другу прямо после выхода из станка.

Есть несколько способов разместить изображения на деревянных пазлах.

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

Не могу поверить, что перед этим испытанием я ни разу не делал пазл на своем лазерном станке, все это заняло несколько минут.

Шаг 2: Пазлы с лотками

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

Пазлы с лотками для детей обычно включают в себя несколько отверстий, которые соответствуют вставляемым в них формам. Я нарисовал эту головоломку с покемонами, используя силуэты из мобильной игры Pokemon Go. В Inkscape есть функция, которая позволяет легко трассировать изображение, их просто нужно было немного очистить, и они были готовы к резке. Я нанес названия покемонов на доску с помощью расширения Hershey Text.

Более сложные головоломки с лотками обычно предполагают, что вы помещаете несколько фигур в одно отверстие и пытаетесь найти способ, чтобы они все поместились. Эта головоломка пентомино была одной из первых, которую я когда-либо получала. Существует 12 различных способов собрать 5 кубиков, которые образуют базовое пентомино. В этой версии головоломки фигуры тематические и символизируют 12 животных китайского Зодиака.

Шаг 3: Пазл «Кельтский узел‎»‎

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

Узлы был нарисованы с помощью кубиков Black Oak Games. Эти кубики позволяют создавать причудливые узлы, помещая кубик и поворачивая его, пока вы не будете довольны формой. Я использовал цифровую версию, которую создал ранее. Как только узел был нарисован, я смог разбить его на составные части. На изображении конструкции вы можете видеть, что я изогнул концы частей головоломки, это создает замкнутую область для каждой части головоломки, которую затем можно раскрасить, чтобы было намного легче показать, какая часть и куда идет. Это было бы полезно, если вы хотите создать чертеж решения. Перед резкой убираю все изогнутые линии.

Мне нравится эта головоломка, потому что она проста в изготовлении, а кости Black Oak Games позволяют создавать бесконечное количество комбинаций.

Шаг 4: Фрактальные головоломки

Пазл созданный на основе кривых Гильберта

Пазл созданный на основе кривых Госпера

Пазл созданный на основе кривых Дракона

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

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

Читать еще:  Зарубить врага из пистолета

Файл нарисован таким образом, что лазер проследует от A до B за один проход, а затем вернется и разделит узор, что делает процесс резки действительно интересным.

Шаг 5: Головоломка «колючка»

Головоломки типа «колючка» сделаны с серией взаимосвязанных частей, части обычно выглядят как зазубренные палочками, которые не сразу ассоциируются с лазерным станком, потому что вы должны сделать вырезы в двух разных осях, а лазер режет только по вертикали. Когда у вас есть доступ к чуть более мощному лазеру, подобные головоломки становятся возможными. У меня есть станок мощностью 80 Вт, и он может резать материал толщиной 12 мм, этого достаточно, чтобы создать палочку, и поскольку палки имеют квадратную форму после того, как они были разрезаны по одной оси, вы можете повернуть палку на 90 градусов и разрезать их по второй оси.

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

Есть подраздел головоломок «колючек», которая называется головоломка «Чак». Мне всегда нравилась эта головоломка. В самой простой форме она невероятно распространена, вы можете найти такую в хлопьях, но вы можете удлинить некоторые части и начать делать более длинные и большие версии. Затем вы можете формировать пирамиды, кубы и всевозможные фигуры. Это немного похоже на конструктор, если у вас достаточно правильных деталей. Только «ключевые» детали должны быть вырезаны по двум осям, этот файл был оптимизирован для использования.

Шаг 6: Головоломки «коробки-колючки»

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

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

Шаг 7: Головоломка со скользящим блоком (Пятнашки)

Головоломка со скользящим блоком была изобретена в 1880-х годах как Пятнашки, которые имели числа от 1 до 15 подвижных блоках. Моей данью уважения этой форме головоломки является головоломка «восьмерка», которая удивительно похожа по концепции, но использует только 8 блоков, что является гораздо более разумным прототипом. Вы также можете поместить любую картинку на верхнюю часть блоков.

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

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

Шаг 8: Байтовая головоломка-шкатулка

Эта байтовая головоломка-шкатулка предназначена для совершенно другого вида головоломок. Выемки на верхней части коробки свободно скользят вверх или вниз и запирают или отпирают шкатулку. Вам просто нужно привести все восемь переключателей в правильное положение вверх/вниз, прежде чем вы сможете сдвинуть крышку в сторону и снять ее. Существует 256 возможных комбинаций (2^8), что в компьютерной терминологии называется байтом, отсюда и название. Ящик сделан из прочной 6-миллиметровой фанеры, поэтому он может выдержать небольшое усилие, но он был обшит 0,8-миллиметровой фанерой, чтобы скрыть технологию изготовления (и комбинацию).

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

Шаг 9: Криптекс

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

Читать еще:  Крепление для телефона на велосипед своими руками

Как создать головоломку в игре — на примере Portal 2

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

Головоломка (англ. puzzle) — это один из самых сложных жанров — как для игрока, так и для геймдизайнера. Но в то же время он очень интересный и даже полезный — хотя бы потому, что позволяет почувствовать себя умным.

В этой статье мы рассмотрим, из каких этапов состоит хорошая головоломка, на примере Portal 2 и Baba is You.

Пишет о программировании, в свободное время создает игры. Мечтает открыть свою студию и выпускать ламповые RPG.

4 этапа хорошей головоломки

Решение хорошей головоломки можно разбить на четыре этапа (это только один из вариантов, головоломки — сложная тема). Использование такой структуры поможет вашим игрокам чувствовать себя умными. Для примера я выбрал уровень из Portal 2, который вызвал у меня именно такое ощущение.

Перед тем как вы продолжите чтение, согласно федеральному законодательству, я должен предупредить, что следующая испытательная камера выглядит очень здорово.

Задача

Для начала игрок должен понимать, какая задача перед ним стоит (подробнее в разделе про наглядность).

Загвоздка

Загвоздка состоит в том, что на уровне всего два куба-призмы, которые можно использовать.

Откровение

Вспомнив, что игра называется Portal 2 (англ. Portal — портал), игрок использует портал для одного из лучей.

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

Ловушка

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

Советы

Вот несколько советов, которые помогут сделать хорошую головоломку ещё лучше.

Наглядность

Игрок должен понимать, какая перед ним стоит задача. Например, если задача — открыть дверь (как почти во всех испытаниях в Portal), то игрок должен видеть эту дверь и все ключевые элементы.

Вот пример уровня из игры Baba is You:

Мы сразу видим все правила, объекты и условие победы:

  • Baba is You — игрок управляет персонажем Baba.
  • Wall is Stop — через стены нельзя проходить.
  • Door is Stop — через двери нельзя проходить.
  • Door is Shut — дверь заперта.
  • Key is Open — ключ открывает запертые объекты.
  • Key is Push — ключ можно толкать.
  • Flag is Win — чтобы победить, нужно коснуться флага.

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

Возвращаясь к Portal, можно вспомнить, что все активные объекты с кнопками соединяют пунктирными линиями: синими (не активно) или оранжевыми (активно). Это помогает лучше ориентироваться в текущем состоянии головоломки.

Минимализм

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

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

Постепенный ввод механик

Вспомните скриншот из Baba is You в разделе про наглядность. В нём показано достаточно много правил, которые, на первый взгляд, не совсем понятные. Так, например, правило Key is Open можно перевести не как «Ключ открывает», а как «Ключ открыт». И чтобы игрок понял, какой из вариантов правильный, он должен сначала познакомиться с этим правилом.

К счастью, в Baba is You и многих других хороших головоломках механики вводят не сразу. Вот, например, как выглядит первый уровень:

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

Увеличение сложности

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

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

Тут нет правила Wall is Stop, поэтому через них можно ходить.
Смотреть

Плей-тесты

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

Головоломки — этот тот жанр, для которого плей-тестов должно быть очень много.

Источники:

http://habr.com/ru/post/537580/

http://www.stankoff.ru/blog/post/382

http://skillbox.ru/media/gamedev/kak_sozdat_golovolomku_v_igre_na_primere_portal_2/

Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector