Robber VS Quarantine или как написать 2000+ строк кода для одного лишь уровня

Вы играете за вора, который как ни странно, пытается совершить свою аферу, прямо пока все дома! Ведь все же соблюдают карантин. Самое главное не шуметь и поторапливаться, ведь скоро наступит утро :)

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

Жанр: Бродилки (да, как в старые 2000), головоломки, аркада.

Платформа: ПК (Windows), WebGL.

Главное меню Этот уровень моделировал Даня
Главное меню Этот уровень моделировал Даня
Родительская комната Это уже делал Антон
Родительская комната Это уже делал Антон
Начало первого уровня (он же и последний) Это тоже моделил Антон
Начало первого уровня (он же и последний) Это тоже моделил Антон

Управление

W - движение вперед, перс идет за мышкой.

РКМ - присесть.

ЛКМ - взаимодействовать с объектом.

Номинации

Все, кроме: - «Лучшая игра в жанре «Хоррор» и «Лучший старт»

Техническая часть

Так уж получилось что кода успели мы написать много, а саму игру сделать не особо успели :0

Хотелось бы отметить несколько моментов, возможно эти советы помогут новичкам:

Если вы запекаете свет и используете Magic Voxel не забудьте отметить ма-а-ленькую галочку Generate Lightmaps UV - тогда свет правильно запечется. Я очень долго возился, не понимая, почему все черное. Теперь и вы не наступите на эти грабли!

Почти каждый встречался с багом, когда перс медленно приземляется после прыжка - для этого сохраняем нетронутой y velocity,  мы тоже забыли про этот неприятный момент Даня
Почти каждый встречался с багом, когда перс медленно приземляется после прыжка - для этого сохраняем нетронутой y velocity,  мы тоже забыли про этот неприятный момент Даня
Хороший стиль подписки и отписки на события, как советовал Роман Сакутин :) Даня
Хороший стиль подписки и отписки на события, как советовал Роман Сакутин :) Даня

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

Файлы

Код игры:

Демка на WebGL+ Windows (WebGL запускать лучше в fullscreen):

Кто делал игру

Программист, который не пожалел себя на этом джеме:

Лучший в мире художник:

PS

С моделингом мы не успели, так что не удивляйтесь разным стилям :) потому что-то пришлось доделывать не столь творческому программисту. Да и в целом там много чего еще вас удивит :)

1010
2 комментария

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

1

Луч надо будет потолще сделать, а так он триггерит. Меню не баг, а фича!)