Smash Balls

 

Smash Balls - это хардкорная головоломка в восточном стиле. Игроку предстоит сразиться в остроумии со старым монахом, сидящем на вершине горы Джонгсонг. Даётся игровое поле с размещёнными на нём шарами. Целью игры является оставить на поле лишь один шар. Предавая шару физический импульс, игроку требуется выбивать шары с игрового поля.

Движок: Unity

Платформа: WebGL, Android

 

Если вам понравилась игра, поддержите проект: поставьте лайк ♥ !

Также основные новости в группе вконтакте:

Deef Studio

Дзен №32. 27.04.17 - 02.05.17

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

Дзен №31. 18.04.17 - 26.04.17

Оптимизирую код и дорабатываю редактор уровней. Сделал механику препятствий(ящики и т.п).

Дзен №30. 17.04.17

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

Дзен №29. 16.04.17

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

Дзен №28. 15.04.17

Праздники. Поэтому переключился на обдумывание новой механики и доработку графики.

Дзен №27. 14.04.17

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

Дзен №26. 13.04.17

Дорабатываю редактор уровней. 

Дзен №25. 12.04.17

Целый день рисовал логотип игры. Результатом остался доволен.

Дзен №24. 11.04.17

Подбирал фоновую музыку и прочие звуки для UI. Думаю над логотипом.

Дзен №23. 10.04.17

Немного оживил монаха на главном экране. 

Дзен №22. 09.04.17

Приступил к анимации персонажа на главном экране игры. Попутно подбираю фоновую музыку и звуки.

Дзен №21. 08.04.17

Реализовал сохранение статистики пройденных уровней на странице с игрой. В будущем может пригодиться. Вот так это выглядит:

Дзен №20. 07.04.17

Перерисовал бэкграунд для игрового поля. Сам бэкграунд является плоской картинкой, но оставляет за собой некоторое ощущение объёмной модели.

Дзен №19. 06.04.17

Оптимизировал шейдеры. Доделал стабильную мобильную версию игры.

Дзен №18. 05.04.17

Добавил пак уровней с порталами.

Дзен №17. 04.04.17

Сделал страницу для игры. Выложил первую играбельную демку.

Дзен №16. 03.04.17

Добавил первые 50 уровней классического режима. 

Дзен №15. 02.04.17

Встроил меню выбора уровня. Собираю оставшиеся части игры.

Дзен №14. 01.04.17

Нарисовал UI и остальную графику.

Дзен №13. 31.03.17

Целый день ушёл на рисование персонажа и главного экрана. Как смог нарисовал. Вот так выглядело в набросках. 

Дзен №12. 30.03.17

Добил всё таки порталы. Нарисовал наброски персонажа и заставочного экрана. Завтра буду переносить в графику.

Дзен №11. 29.03.17

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

Дзен №10. 28.03.17

Алгоритм порталов дописан но пока что не идеален. Предстоит кучу тестов и исправлений. Одновременно с этим рисую UI, заставку на главный экран и персонажа. 

Дзен №9. 27.03.17

Порталы готовы пока только визуально. Механика работы проста: перемещает шар между порталами одинакового цвета, если тот свободен. Будет 3 пары порталов, которые отличаются только цветом. Соответственно чем больше пар порталов в уровне тем сложнее. Реализация логики порталов в алгоритме тоже интересная задачка и займёт она времени предостаточно. Тестировал визуально на заполненом игровом поле, с тремя парами порталов. Сразу оптимизировал их под мобильные устройства. На старых устройствах (где-то 2012-13г.) конечно пришлось подужаться и ограничиться выводом графики в 30 FPS. Но на более менее новых флагманах 60 FPS держиться стабильно.

Дзен №8. 26.03.17

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

Дзен №7. 25.03.17

Довёл до рабочего состояние алгоритм усложнения. Теперь над уровнями придётся поломать голову. Тестировал его работу очень долго и сразу же фикисл различное некорректное поведение. Работает на 99.9%. В любом случае каждый сгенерированный уровень будет вручную проверяться перед добавлением  в игру. Следующим этапом планирую расширить геймплей и добавить порталы по перемещению шаров. Задача не из простых. Возможно отвлекусь перед данной задачей и порисую UI или иконку для игры.

Дзен №6. 24.03.17

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

Дзен №5. 23.03.17

Добавил генерацию звёздочек на местах маркерованных клеток по которым должны двигаться шары для прохождения уровня. По правилам всё как и задумывалось: для прохождения уровня должен остаться один шар. Теперь требуется уделить много времени тестированию, сразу отловить все критические баги. Затем я планирую дописать функцию усложнения алгоритма. Эта возможность помимо основной своей задачи добавит вариативности в прохождении уровня. У определённой части генерируемых уровней должно быть несколько вариантов прохождения. Простенький вариант геймплея (gif 10Mb):

Дзен №4. 22.03.17

Разобрался с туманом для сокрытия элементов игрового поля. Результатом я остался доволен. Дописал базовый алгоритм генерации шаров. Также предусматрел и маркеровку клеток игрового поля по которым будут передвигаться шары. Туда я в последствии смогу подставлять различные элементы которые можно подбираться в процессе прохожденя уровня, например звёзды. Их я добавлю уже скоро. Вот так выглядит работающее игровое поле (gif 5Mb):

Дзен №3. 21.03.17

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

Дзен №2. 20.03.17

Первым этапом будет создание и обновление блоков игрового поля. Для этого создал в Blender-е примитивы из кооторых будет собираться игровое поле. Также не забываю скрывать нормали которые не будут попадать в зону видимости камеры. Пользуюсь подходом изначальной оптимизации игры, чем меньше drawcalls и triangles тем лучше. Но т.к камера в игре перспективная а не ортографическая, то сложно удерживать максимально низкое количество drawcalls. Поскольку зависимость будет связана непосредственно с расположением объектов. Ну и конечно же пулл объектов, без него никуда. Получились вот такие блоки:

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

Дзен №1. 19.03.17

Спустя месяц после перехода с Flash-а на Unity, месяц тренировок на различных туториалах и чтении документации, можно сказать что это будет первый серьёзный проект на Unity. В качестве стартовой платформы выбрал WebGL.

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

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

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

 

unity webgl smash balls ball mobile puzzle physic
Логотип проекта

Хардкорная головоломка в восточном стиле, где вы сразитесь в остроумии со старым монахом. Цель - оставить лишь один шар.

Играть
6


Участие в джемах


blog comments powered by Disqus