Мой первый геймджем
Привет! Недавно меня посетила мысль вписаться в какой-нибудь движ, я спросил здесь совета, куда идти, и уже в тот же день я присоединился к своему первому в жизни геймджему.
Джем стартовал 25 декабря, так что время выбрано суетное, даже с учетом отсутствия желания что-либо праздновать. Сегодня, за два дня до дедлайна, я сдал проект. Не потому что всё сделано, а потому что надо заниматься и другими делами :)
Тема оказалась “Burn the Tree”, и мне не пришлось слишком долго думать над концептом, потому что по случайному стечению обстоятельств я уже размышлял над чем-то похожим.
Концепт
Мне давно хотелось сделать что-то от первого лица, так что было решено делать незатейливый шутер с эвил-персонажами и сбором канистр. Наверное забавно, что управление мышью от первого лица и стало тем, на что я потратил чуть ли не больше всего времени, но в итоге всё равно обосрался. В редакторе всё работает прилично, но в браузере у мыши есть границы по всем четырем сторонам, и у меня пока нет моральных сил на исправление этого 😀
В моей голове было несколько референсов, а именно фильм Крампус, кусок L4D (торговый центр) и Shoutgun FunFun - вечная классика. От кино я постарался перенять какую-то атмосферу и подход к персонажам, от L4D механику сбора и доставки канистр, а от последней - саму атмосферу непринужденного насилия.
Для игры я придумал историю, в которой Санта решает, что рождество утеряло смысл, коммерциализировалось, а значит, мы все вели себя плохо и нас надо наказать. Он /*угонят грузовик с колой,*/ собирает фейковых Сант из торговых центров, вышкрябывает им ложкой мозги и отправляет за невинными душами, чтобы доставить их к Дерево, которое их пожрет. Можете также смотреть на игру как на точку зрения на праздники от одиноких людей, втянутых в поток обязательного веселья, но не надо. Это всё просто для веселья.
Кор-механики
Стрельба - мне хотелось немного извернуться и добавить этому процессу какую-то дикость или ламповость, поэтому огонь ведется из дула, а не из камеры. Геймплейно здесь очевидная проблема: целиться из произвольно повернутого оружия неудобно, ведь нет прицела. Для обхода этой особенности я добавил эффект огня из дула, который работает как лазерный прицел или трассирующий снаряд. Довольно быстро привыкаешь, как пользоваться оружием. Патроны мы не считаем, а еще можно неплохо летать на отдаче, но исправлять это уже не было времени.
Поиск канистр - момент, который пришлось переделывать в последний момент. Изначально канистры спавнились в рандомных местах локации и поддерживали общую численность в 20 штук. Однако после сборки под WebGL они это делать перестали и найти на карте их можно было разве что штуки 3-4. Поэтому был внесен быстрый фикс, и теперь канистры спавнятся строго в домах, где игрок может отдохнуть.
Сохранение тепла - игрок, который находится вне домика, замерзает. Когда он замерзает слишком сильно, он начинает терять хп. Это сделано чтобы немного снизить темп игры, замедлить игрока и дать ему время осмотреться. В домике также восстанавливается здоровье, но медленно и не более чем до 50 процентов, а новые враги не спавнятся. Кстати, есть еще дополнительный монстр, который приходит только в домик, если игрок там засиделся.
Сжигание ели - монстроель может гореть в 20 состояниях, которые определены высотой огня. Чем больше мы взорвали рядом с елью канистр, тем быстрее она сгорает. Со временем огонь всегда утихает, так что если поджечь ее чуть-чуть, то она погорит-погорит, да и потухнет.
Левел-дизайн
Я не занимался слишком долго уровнем, но в его основе лежит то, что в большинство мест есть более 2 путей входа. В остальном это просто пространство с некоторыми укрытиями, чтобы боты не гоняли за игроком по прямой. Все важные точки отмечены светом желтых ламп с гало-эффектом, а чтобы сразу не было видно, насколько мала карта, добавлен довольно плотный туман. Уровень темный, поэтому у врагов горят глаза, иначе они были бы слишком незаметны, и раз уж речь зашла про свечение, то оно есть и у канистр, которые изначально должны были быть разбросаны.
Звуки
В игре есть музыка, которая и фоновая и нет: на нее тоже возложена функция навигации. Она расположена около точки сосредоточения интереса игрока и звучит объемно. Короче, иди на музыку и придешь - может не самое оригинальное решение, но и не так скучно, как просто фоновая музыка 🙂
А когда дереву плохо, у музыки меняется питч. Кстати, за музыку спасибо
Звуки также есть у всех монстров, но их пришлось подрезать, потому что в WebGL нет никакой приоритизации, из-за чего эта каша просто орет и хрипит.
Резюмирую
До подведения итогов еще пара дней, я ни на что в общем и целом не рассчитываю, это была первая проба пера работы в такие сроки (понятно, что джем может быть и длиной в сутки). Я уже поиграл в игры других участников, их пока всего две, и мне понравилось, если бы еще не языковой барьер, было бы совсем замечательно. Справился ли я сам или нет - ну скорее да, чем нет, хотя кучу механик, раскрывающих суть, типа конвоя душ от станции к дереву и их поедания, пришлось отрезать.
Ссылка на игру:
А еще вы можете добавить меня на линке, если хотите