Как правильно провести выходные? О личных итогах хакатона. War Loader

Ну что же ,пора поделиться своими впечатлениями о мероприятии и, собственно, рассказать о том, что наша команда хотела сделать и что вышло в конечном итоге. На самом деле буквально на коленке пишу данный пост, ибо совершенно забыл сделать это после хакатона. Хотели мы очень многого... 9 утра, суббота, приходит задача-сделать максимально реиграбельную игру. «Хм, ну могло быть и хуже»- подумали мы и приступили к обдумыванию концепции. Что только не приходило в голову:и adventure, где игрок каждый раз, погибая ,начинает заново на совершенно другой сгенерированной карте и с другими врагами,и много, много чего еще. Но мы решили остановиться на Tower Defense c элементами Top Down Shooter, где игрок управляет персонажем-погрузчиком(робот).Главной задачей игры естественно является защита базы.

КОНЦЕПЦИЯ

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

1.Рандомная генерация уровней. Генерация уровней должна была производится и при перезапуске уровня, и во время игры, чтобы игрок был постоянно заинтересован в изучении локации, а также для поддержания темпа игры. Каждое n-ое количество волн планировалась смена времени года и локации игры-с леса на пустыню или тундру, и так до бесконечности. Конечно, можно сделать и лучше, но время , к сожалению ,ограниченно.

2. Спавнер врагов.. Не менее важная составляющая, непосредственно влияющая на геймплей. Планировалось сделать максимально разнообразный спавнер, который подстраивался бы под действия игрока.

3.Скиллы. Решили реализовывать что-то похожее на Archero, где после смерти игрок теряет весь свой прогресс прокачки на уровне. То есть каждый перезапуск игры позволяет собрать свой уникальный билд скиллов, что,в свою очередь, подкрепляет реиграбельность. Какие скиллы? Они делятся на два типа: активные и пассивные. В число активных входит:

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

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

-Мина. Тут все просто ставишь и противники погибают.

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

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

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

-Заморозка врагов на некоторое время( позволяет "передохнуть" игроку и переставить башни на нужные позиции).

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

Пассивные способности включают в себя:

-Регенерация здоровья(если игрок или база не получают урон какое-то время, то здоровье постепенно восстанавливается).

-Щит(уменьшает количество получаемого урона).

4. Общая прокачка. За каждый бой игрок получает деньги, которые тратит на улучшения (в главном меню игры).Что, собственно, можно прокачать? Этими элементами могут быть: скорость игрока, увеличение урона башен, дистанции атаки башен, уменьшение времени перезарядки скиллов, увеличение здоровья игрока и башни. Можно было бы ещё долго продолжать этот список , но нас устроила и такая позиция .

5. Бонусы. Они появляются в рандомном месте на карте и позволяют на время улучшить какой-либо показатель. Пример: скорость игрока, увеличенный урон пушки игрока, меньшее время перезарядки скиллов.

6. Разнообразные типы турелей. Благодаря этому элементу хотелось максимально разнообразить геймплей. Планировалось, что для некоторых типов турелей в игровом мире будут присутствовать специальные объекты, с которыми можно было бы взаимодействовать. Допустим, у нас имеется лазерная турель. Следовательно, игроку надо дать возможность взаимодействия с этой турелью. Зеркало хороший вариант для этого. Игрок может расставлять зеркала по карте таким образом, чтобы от них отражался луч данной турели, тем самым обеспечивая себе защиту в нескольких направлениях.

Вроде бы это простенькая концепция, конечно, далеко не идеальная, но все-таки при правильной реализации может быть очень интересной. Какие же это были наполеоновские планы...

ЧТО ЖЕ МЫ СДЕЛАЛИ ПО ФАКТУ?

Если коротко, то все и ничего. Вроде бы систему спавна сделали, как и хотели. Долго мучались, но получилось. Генератор уровней решили упростить до простого выбора рандомного уровня из массива префабов. Общую прокачку вроде бы реализовали, как надо. Скиллы: во время реализации поняли, что сделать некоторые правильно не так просто, как кажется, но с великим трудом мы этого всё-таки добились. Смотрим на время -18:00, воскресенье- значит , время ещё есть . А как будет перемещаться юнит? Решили , что по клеточкам, так как это добавляет элементы тактики в игру. Но тогда и противники должны также перемещаться, ладно ,попробуем сделать. Время 19:30.

-Что у тебя?

- Да вроде бы игрок перемещается по клеточкам, все как надо, но слишком дёргано двигается. Сидим, исправляем.

Время 20:30. Управление игроком приемлемое, пора начинать строить уровни.

-Нет, у нас еще бонусы не готовы, их надо реализовывать.

-Так нет, у нас половину скиллов не интегрировано в игру. Надо найти еще звуки и музыку, а также сделать иконки для скиллов и модель главного героя.

-Блин, правда, надо делать.

Спустя 20 минут.

-Надо делать меню для выбора скиллов + еще одна проблема.

Время 21:30.

-Надо начинать делать уровни.

-Нет, у нас не готовы разные типы врагов.

-Так нет, у нас нет нормальной системы передвижения врагов. Делаем...

Время 22:30.

-Ребята ,у нас не интегрированы все эти системы в игру.

-Подожди, еще надо их проверить и тогда добавим.

-У нас остался час.

-Ой, правда, пора делать разные варианты уровней.

Время 23:30.

-Пора делать билд. Что у нас готово? -

Нет готовой сцены, где можно поиграть, все разбросано по разным сценам.

- А я забыл сделать переход между главным меню и игровым уровнем

.- Так, добавить разные варианты карт - не судьба. Хм, что со спавнером?

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

-Ох, сделай хотя бы один.

Время 23:35.

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

Время 23:55.

-У меня почему-то не отправляется проект, помогите мне ,пожалуйста! А может ну его, все равно мы почти ничего не успели добавить?)

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

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

Как правильно провести выходные? О личных итогах хакатона. War Loader

Что получилось по факту, вы можете посмотреть в билде:)

А вот еще скрин нашего великолепного спавнера, разнообразные варианты которого мы не успели добавить в игру.

Как правильно провести выходные? О личных итогах хакатона. War Loader

ИТОГИ

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

В любом случае это было очень интересно и познавательно-попробовать свои силы в 39 часовом хакатоне! Мы проделали огромную работу, и я думаю, что проект мы разрабатывать продолжим и выпустим игру в ближайшем будущем. А на последующих хакатонах мы постараемся более серьезно подходить к вопросу правильного распределения времени. Всем добра, команда RubotGames!

И конечно же прикладываю ссылку на билд: https://cloud.mail.ru/public/4tUv/3Z8xfccdR

55
1 комментарий

А сколько всего было? И я из описания не ожидал поклеточную историю )

Ответить