SUPERADRENALINE
У копа сдали нервы и он впал в ярость. Как мы сделали пошаговый хот-лайн на этот хакатон.
Тема для хакатона была дана сложная. Придумать интересную механику про 60 секунд и не ограничиться одним лишь таймером - та еще задачка. Вам судить, получилось ли это у нашей команды.
Действующие лица:
Код, гемдизайн: Six Dots (Михаил Михеев - автор статьи)
Лого, пиксели: Pixxxel Oj!
Музыка любезно предоставлена: ScrewWave
А теперь об игре. Мы играем за копа жилы которого переполняет яяярость. Если он не убьет всех противников за 60 ходов - он лопнет от злости(буквально). На каждый ход дается 1 секунда, иначе его пристрелит снайпер. Таким образом на одну комнату дается максимум 60 секунд.
Игрок может:
- Рестартнуть уровень, прожженые хакатонщики знают что это плюс =)
- Поднимать ножи, пистолеты.
- Бросать ножи, резать, стрелять из пистолета.
- В лучших традициях #tlou2 ножи имеют прочность и ломаются. Зачем это сделано? Просто чтобы добавить сюда хештег.
- Два вида противников, обычный, стреляющий*.
За созидательный процесс мы сели где-то в 14.00 субботы, я слез со стула в 4 утра понедельника загрузив билд на сайт. Для меня это уже пятый хакатон, поэтому такие нагрузки привычны можно сказать, но все равно спать по 4 часа в сутки это крындец как потно, поэтому вы читаете эту статью только сейчас =)
Зато я научился пользоваться while (далее прогеры поймут), все 4 года что я делаю прототипы и даже игры продающиеся в стим я боялся пользоваться лупами. Обычно это заканчивалось перезагрузкой юнити, так как все намертво зависало, а я достаточно ленив поэтому просто их избегал. Но тут я пересилил себя и научился делать эти страшные лупы, тем более что иного варианта для перемещения врагов я не нашел.
Что неудалось таки реализовать за это время, но очень хотелось:
- *Стреляющие противники не стреляют, они закрашились в последние часы разработки.
- Пистолет нельзя бросить когда нет патрон.
- Уровня всего два и они короткие, для поиграть увы это мало. Только механ глянуть.
- В Unity достаточно неудобная система анимации особенно для 2Д поэтому несмотря на кучу готовых анимация от художника, я их так и не закинул в игру.
- Таймер снайпера в виде сужающегося кольца надо делать прямо на персонаже как-то иначе за ним сложно следить.
- Да, в игре пародирующей Хот Лайн я забыл про кровь!!!
Но несмотря на это, на поиграй, если хочешь:
А еще у нас в конце крутится такая прикольная медалька/монетка, на удачу.
По-моему, она задает тон всей игре.
Спасибо, крутых вам хакатонов, и еще более крутых игр!
Комментарий недоступен
Кстати похоже, я забыл про него
Не знаю что это, баг или фича, но ножи часто пролетают сквозь персонажей.
Визуал очень приятный.
Очень удивился пункту про лупы. А чем ты пользовался вместо них все эти 4 года?
любую программу можно написать используя только IF )))))
С лупами я обычно делаю так:
int test = 0;
while(какое-то условие && test < 100){
//необходимые действия
test++;
if(test >= 100)
Debug.Log("У тебя там луп залупается!");
}
Получается такой аналог for, но сообщающий о том, что слишком часто перезапускается, не уходя в бесконечный цикл. Если всё нормально после пары перезапусков, то убираю мусор, оставляя обычный и красивый while. Хотя иногда так и оставляю, если не уверен, что во время игры ошибки не вылезут. В конце концов, уж лучше в игре что-то забагует, чем она начисто повиснет.
А ещё я уверен, что долно быть какое-то некостыльное решение этой проблемы, но я о нём не знаю.
И насчёт игры: Выглядит интересно. Хоть кто-то сделал что-то интереснее обычного таймера (мы тоже собрали просто игру на очки).
Спасибо)
Я открыл для себя что если добавлять yield return new whaitforupdate то зависаний становится меньше в местах где раньше намертво от других ретурнов зависало.