Баннер записи 'Девблог #2: PostJam версия — как я доделал игру и добавил самого страшного врага...'

Девблог #2: PostJam версия — как я доделал игру и добавил самого страшного врага...

📝 И мы снова здесь...

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


🐛 Что было сломано и что починил

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

Баг со спавном модификаторов

Проблема: после смерти врагов модификаторы просто не появлялись. Игрок убивал толпы врагов, а в награду получал... ничего. Геймплейный цикл был полностью сломан. Решение: проблема была в системе спавна — я просто не дописал ОДНУ строчку кода, выбирался рандомный мод, но не спавнился! Поправил логику, и теперь после каждого убитого врага с определённым шансом выпадает модификатор.

Переход на Delta Time

Проблема: пули, гранаты и частицы крови использовали встроенные переменные GameMaker speed и direction, которые зависят от FPS. На 60 FPS игра работала нормально, а на 30 — всё замедлялось в два раза. Решение: перевёл всю физику на собственные переменные h_speed и v_speed с умножением на DT. Теперь:

  • Пули летят с одинаковой скоростью на любом железе
  • Гранаты реалистично замедляются через exp(-friction * DT)
  • Кровь анимируется покадрово с контролем через таймер, а не через image_speed

Это было необходимо — без этого игра не могла считаться завершённой.


🎨 Базовый интерфейс

На джеме UI был... ну, его не было вообще. Теперь есть:

  • HUD с полоской здоровья, энергии для рывков, счетчиком волн и таймером до следующей
  • Отображение текущих модификаторов в пушке
  • Динамический прицел, который расширяется в зависимости от разброса и количества пуль
  • Подсказки при приближении к предметам

Мелочи, но без них игра воспринималась сырой.


🔊 Музыка

На первом релизе мой друг bierowner любезно предоставил мне музыку для игры, а я просто забыл добавить её в игру.
Но теперь я не просто добавил её в игру, а написал простейшую библиотеку музыкального плеера для Game Maker для всех будущих проектов!


🔫 Подбор пушки и модов с земли

Раньше пушки и моды подбирались автоматически через collision. Это было неудобно — ты бежишь мимо предмета, а он уже в инвентаре. Теперь реализовал систему интерактивных предметов:

  • Предметы лежат на земле с анимацией покачивания
  • При приближении появляется подсветка и подсказка
  • Нажимаешь E — подбираешь ближайший предмет
  • При подборе пушки старая автоматически выбрасывается (со всеми модами внутри!)

Это добавило тактической глубины — теперь нужно решать: подобрать новый дробовик или оставить прокачанный пистолет? 


⚖️ Баланс пушек и волн

На джеме баланс был... скажем так, "авторским". То есть я ставил цифры на глаз и молился. Теперь подошёл к этому системно.

Система тиров пушек

Разделил пушки на 5 тиров редкости:

  1. Common (1-2 слота) — стартовое, слабенькое
  2. Uncommon (2-3 слота) — стандартное
  3. Rare (3-4 слота) — продвинутое
  4. Epic (4-5 слотов) — элитное
  5. Legendary (5-6 слотов) — ультимативное
  6. Чем выше тир — тем больше слотов под модификаторы и выше базовые характеристики. Но даже легендарка без модов — это просто пушка. Настоящая мощь рождается в комбинациях!

    Нарастающая сложность волн

    Волны теперь:

    • Увеличивают количество врагов
    • Каждую волну — выбор награды (пушка или мод)

    🪞 Самое главное: босс, который копирует ВАС

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

    Как это работает

    На финальной волне появляется зеркальный босс. Но это не просто сильный враг с большим HP. Он берёт вашу текущую пушку со всеми ее модификаторами!

    Что это значит на практике?

    • Собрали билд с Multishot + Power + Beam? Босс будет стрелять вашими же мультишотным лазером с повышенным уроном.
    • Играли осторожно с Projectile + Speed + Accuracy x 3? Босс будет методично простреливать вас насквозь.
    • Пытаетесь собрать слабейшую пушку чтобы она была у босса? Но тогда как вы дойдете до босса в принципе?!

    AI босса

    Чтобы бой был интересным, а не "кто кого застрелит первым", сделал боссу orbital AI:

    • Кружит вокруг игрока, периодически меняя направление
    • Приближается и удаляется волнообразно
    • Стрейфит, не давая просто стоять и стрелять
    • Получает knockback, но быстро возвращается в бой

    Это создаёт динамичный танец смерти, где побеждает тот, кто лучше освоил механики.

    Философия боя

    Самое крутое в этом боссе — рефлексия. Ты буквально сражаешься с результатами своих решений. Если билд имбалансный — будет очень сложно. Если сбалансированный — шансы равны. Если слабый — босс тоже слабый, но всё равно опасный. Это и есть раскрытие темы: враг — это не какой-то абстрактный монстр, а отражение тебя как игрока. Твоих выборов, твоего стиля, твоей стратегии.


    🚀 Что дальше?

    Игра теперь завершена в том виде, в котором я её задумывал для джема. Есть начало (пустая пушка), есть середина (сбор билда через волны), есть конец (бой с собой). Полный цикл. Возможно, в будущем добавлю:

    • Больше типов врагов (танк, стрелок, камикадзе)
    • Расширенные модификаторы с интересными эффектами
    • Улучшенную систему модификаторов с возможность переставлять их между пушками
    • Систему достижений
    • Больше визуального feedback (screen shake, particles)

    Но это уже не обязательно — ядро игры готово и играбельно.


    💭 В конце

    Спасибо всем, кто играл в джем-версию и писал фидбек! В общей сложности на проект ушло 22 часа с учетом перерывов, именно столько был открыт проект в Game Maker. Ваши комментарии стали лучшей мотивацией доделать всё как надо. К сожалению не у всех бывает свободное время на все время геймджема, понимаю что выложил первую версию игры сырой, так как из-за различных семейных дел просто не успел. Рад за всех победителей и участников джема и за свой сертификат участника! А теперь если ещё не играли — сейчас самое время. Попробуйте собрать безумный билд, а потом сразитесь с самим собой 😈

Комментарии (0)

Войдите, чтобы написать комментарий

Войти
Large Spinner
ManlyGun (PostJam)
Версия 0.2.0
3
0
0
1
Жанр
Shooter
Движок
GameMaker Studio
Платформа
Windows
Язык
EN
Время игровой сессии
до 30 мин.
Дата публикации игры
17.07.2026
Дата обновления игры
23.07.2026