Хакатон: Timefrozen

Коллектив(просим называть именно коллективом) «Завод имени Кирова» представляет вам игру выполненную за 48 часов в рамках хакатона — Timefrozen. Будет тонна текста, но это был очень насыщенный хакатон, так что просто хочется поделиться опытом разработки игры.

Хакатон: Timefrozen

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

Начало разработки.

Когда мы увидели тему для хакатона — мы были немого озадачены, ибо это значительно отличалось от тематики gmtk, с которого буквально недавно вышли. Лично я являюсь ярым фанатом Outer wilds, и поэтому вектор развития был очевиден — игра головоломка, в которой мир движется без участия игрока, по собственному времени. Но сделать игру такого рода всего за 48 часов — невероятно сложная задача. Получается, что вместо того, чтобы размышлять только о том как и где в игровом мире совершать действия — необходимо создать условие, которое бы принуждало бы думать — когда это сделать.

За первый час брейншторма было решено остановиться на игре, в которой главный герой опаздывает на автобус перед собеседованием в геймдеве, и теперь у него есть лишь 60 секунд, чтобы добраться от дома до здания компании Azur Games. В этой изометрической игре игроку нужно было бы планировать свой путь на автобусах, которые спокойно могли бы уехать без него, из-за чего игроку постоянно пришлось сверяться с картой и быстро адаптировать свой маршрут. Передвижение игрока было сделано буквально за секунды, настроены передвижение камеры, парочка моделей уже были готовы быть встроены в unity. Но вот незадача — дизайн уровней никак нам не давался. Расписание автобусов, расстановка прохожих, скорость прохождения некоторых элементов — всё это было запутанно и с каждой секундой создавало всё больше проблем.

Великолепная моделька главного героя, которая так и не попала в игру
Великолепная моделька главного героя, которая так и не попала в игру

Смена направления.

Скрепя сердце, коллектив решил попробовать сменить тему, и это привело нас к тому, что мы имеем сейчас — головоломке от первого лица, вдохновлённой Portal и Superhot — Timefrozen. Мы отказались от концепции мира, в котором всё происходит даже без вмешательства игрока и начали всё с чистого листа. Первое от чего оттолкнулся коллектив — любовь к risk-reward механикам. Головоломка, в которой было дано лишь 60 секунд на решение каждой комнаты, а так же игроку нужно было бы как-то жертвовать основным ресурсом — временем, звучала странно. Обычно в таких играх игроку даётся неограниченное количество времени на подготовку решения и ограничивается лишь время на исполнение(как в Portal), что требовало от игрока помимо мозгов ещё и скорость реакции. Тут же игрок должен был быть ограничен минутой на всю головоломку. Решением стала механика «время двигается, когда двигаешься ты» из Superhot, которая позволила бы игрокам тратить драгоценные секунды лишь на исполнение, и придумывать решение столько, сколько душе угодно.

Новое начало.

Естественно сделать банальный клон Superhot было не достаточно, нужна была механика, которая бы сделала из нашей игры головоломку, да и ещё добавила бы вожделенный risk-reward. Коллективно мы придумали механику, где тебе нужно было бы отдавать своё время объектам, чтобы те совершали свои действия. Так как одним из источников вдохновения был Portal мы сразу поняли, какому объекту отдавать своё время. Простой кубик, дверь и кнопка, связывающая всё вместе. Первая головоломка была создана, а вместе с ней и кормеханика игры. В воздухе над кнопкой неподвижно висел кубик, в который можно поместить частицу своего времени, и пока это время не истечёт кубик будет подчиняться физическим законам. Когда время на кубике истечёт, а часы пробьют 12, куб замрёт на месте.

Первая головоломка игры
Первая головоломка игры

Итак, теперь(после долгого кодинга) у нас на руках была игра, в которой у игрока 60 секунд на решение комнат(пока одной), а так же, чтобы решать физические пазлы нужно было сознательно жертвовать своим и без того ограниченным временем. Почти сразу мы поняли, что в игру нужно будет вкрутить «какой-то ***ган». У Portal был порталган, а мы решили остановиться на таймгане, который показывал сколько времени осталось у объектов. Это можно было бы сделать и без отдельной пушки в руках, но так у нас получилось увеличить иммерсивность, убрав интерфейс с экрана. А ещё коллектив считает, что таймган это просто круто, хоть он и представляет из себя лишь два куба и экран.

Новая дивная механика.

Вроде бы дело оставалось за малым - сделать уровни и отослать игру — изибризи. Но тут мы вспомнили то, что мы усвоили из создания той игры про опоздание на собеседование. Дизайн уровней — это совсем не так просто, как кажется на первый взгляд. Головоломки после первой тройки просто не шли в голову. Нужно было придумать новую механику, которая бы развязала бы нам руки. И коллектив решил выбрать что-то, что подходило бы под тему времени, а так же сочеталось бы с тем, что мы уже сделали. Решение было очевидным и супер простым для реализации. Хотел бы сказать я, но мы выбрали отмотку времени... Понятия не имею, что было в моей голове, когда я согласился это кодить в рамках хакатона. «Отмотка времени для отдельного физического объекта, когда на него кликают» — явно не то, что нужно делать на быструю руку. Но, что удивительно — сделать эту механику получилось лишь за пару часов(хотя без тонны багов естественно не обошлось), и она вызвала у меня не так много проблем, как казалось на поверхности. Так что так наш коллектив усвоил ещё один урок — не бояться экспериментировать. Глаза боятся, руки делают.

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

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

Большие проблемы с уровнями.

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

Выводы.

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

Нам почему-то кажется, что пейзажик реально крутой.
Нам почему-то кажется, что пейзажик реально крутой.

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

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

2. Некоторые идеи гораздо легче реализовать, чем кажется на первый взгляд — иногда нужно не ограничивать себя и просто сказать «было бы круто, если бы мы это сделали» и честно попробовать. Если не получится, всегда можно воспользоваться первым выводом.

3. Геймдев — сложная, но очень интересная штука. И вся сложность в том, что он объединяет сразу кучу специалистов из разных областей и требует, чтобы все думали в одном направлении — дабы довести игру до игроков. На хакатоне мы прочувствовал необходимость в дизайнере уровней, хоть нам и казалось, что в игре с минимум графики, где лишь нужны кормеханики, команде достаточно программиста и тестера.

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

1414
5 комментариев

Уважаемый «Завод имени Кирова», или вы выпускаете эту игру и зарабатываете миллионы, или вашу БЕЗУМНО КРУТУЮ идею кто-нибудь дёрнет (если не дёрнул уже). Считайте это угрозой :3 Время пошло!

3

Вау, вот это действительно что-то новое и крутое

1

Огромное спасибо! 

Отличная идея, реализация механик и четкое соответствие теме конкурса.

1