Play game
Spaceship Defense's itch.io pageResults
Criteria | Rank | Score* | Raw Score |
Приз Зрительских Симпатий | #26 | 2.758 | 2.833 |
Ranked from 18 ratings. Score is adjusted from raw score by the median number of ratings per game in the jam.
Название команды или ник в дискорде
n00b#1813
Описание игры и управление
Вы - последний оплот человечества в этом секторе!
Вы должны отразить все атаки врага и сохранить материнский корабль
(он самый большой, подсвечивается зелёным квадратом).
Волны врагов начинаются по таймеру - через 2, 5 и 20 минут.
Эта так называемая игра недоделана.
Врагов очень много, и они слишком быстро выносят - надо править баланс, например, увеличить хп материнскому кораблю раз в десять.
Ещё кораблики "косые", и мочат друг друг слишком медленно.
==========================================================
Управление:
В режиме камеры от первого лица (для свободного перемещения по сцене):
WASD, C и пробел - перемещение.
Shift - ускорение.
Escape - выйти в меню.
Навести на какой-нибудь свой корабль и нажать левую кнопку мыши - перейти в режим управления кораблём.
В режиме управления отдельным кораблём (недоделано, очень неудобно):
Пробел - стрельба.
WASDQE - вращение.
F - ускорение вперёд.
Shift - "форсаж".
Escape - перейти в режим от первого лица (тогда корабль затормозится).
Колёсиком мышки можно приближать/удалять камеру.
Pause - пауза (недоделано).
При второй заливке из-за спешки в билд попали неиспользуемые ассеты, а в экзешнике остались дебажные гизмо, проверки и ассёрты. По F1 открывается меню движкописателя. Клавишей T можно спаунить дружественные корабли, по Y - вражеские.
F3 - дебажная подсветка.
F5 - сохраняет текущее положение камеры от первого лица, F9 - загружает последнее сохранение камеры.
==========================================================
Внимание
По умолчанию запускается в полноэкранном режиме. Если надо запустить в оконном, то в текстовом файле SpaceGame.cfg нужно проставить fullscreen в 0 (остальные поля можно удалить), например,
window = {
fullscreen = 0
}
Или можно сменить режим на оконный в настройках игры, и перезапустить игру.
==========================================================
Баги
- Alt-Tab не обрабатывается, поэтому на стриме лучше запускать в оконном режиме.
Для запуска требуется процессор с поддержкой SSE4.1.
Используемый стек технологий
Самопальный 3D-движок NoobWerks, написанный на C++ (развитие предыдущих движков Testbed и Lollipop3D), использующий Direct3D 11, SDL2, FMOD и кучу других мелких либ; наработки с другого конкурса (где надо было сделать шутер от первого лица; оттуда были взяты каркас приложения и меню).
Технические фишки игры
Технология:
- компиляция контента с кастомной обработкой моделей космических кораблей (генерация ЛОДов и оптимизация мешей)
- в рантайме грузятся только бинарные форматы, никаких JSON или XML (только конфиги хранятся в тексте, в своём JSON-подобном формате)
- рефлексия на макросах
- in-place загрузка ассетов (объекты грузятся как дампы памяти)
- возможность мгновенного рестарта игры без каких-либо аллокаций памяти
- векторизация через интринсики
Графика:
- Тайловое отложенное освещение.
- "тонкий" G-Buffer, состоящий только из двух 32-битных текстур (не считая буфера глубины)
- "обратный" буфер глубины (reversed-Z).
- инстансинг моделей кораблей: каждая вершина меша "весит" 8 байт, а параметры инстансов передаются как позиция и кватернион;
все корабли рисуются в несколько дро-коллов.
- для отрисовки кораблей используются ЛОДы (у каждой модельки их четыре).
- трассеры выстрелов рисуются квадами с раймарчингом внутри них
- процедурный скайбокс (генерится на ЦПУ при загрузке).
- иерархическое отсечение по пирамиде видимости с помощью BVH (AABB tree).
- стандартный постпроцессинг: HDR, Bloom, FXAA.
AI:
- бойды, с ускорением поиска ближайших соседей через BVH.
- ЛОДы, обновление кораблей размазано по кадрам.
Кто из участников что делал
Весь кодинг делал один нуб, модели кораблей взяты с https://www.turbosquid.com/3d-models, звуки с https://mixkit.co/free-sound-effects, музыка: https://www.serpentsoundstudios.com.
Leave a comment
Log in with itch.io to leave a comment.
Comments
Залил билд, где игру можно пройти. Теперь основной целью игры является уничтожение всех врагов, а управление своими кораблями стало аркадное (рулить и стрелять можно мышью) (управление описано в README). Ещё можно указать на вражеский корабль, и его начнут атаковать корабли игрока. Кораблики уничтожают друг друга более резво.
Также пофикшен баг с неслышной музыкой боя, добавлена возможность включить VSync, немного улучшена производительность:
https://drive.google.com/file/d/1QoYTyOPTYPyr-ZwgBfgrl9qu5AQzzmlP/view?usp=shari...
Технически - круто, и лоды, и столкновения, и бойды, и ИИ, и всё работает шустро, и звук. Не очень понятно зачем игроку садится в корабль - управление корявое, да и в одиночку сражаться, когда вокруг тебя тысячи других кораблей - почему? Тут бы добавить возможность всей этой армадой командовать (хотя бы в духе "лети туда, убивай всё на пути) и какой-то ресурс - и вот уже игра готова.
Автору не хватило совсем чуть-чуть до полноценной игры с эпичным месиловом и залипанием на то как тысячи дронов крошат друг-друга
Оооочень здорово выглядит баталия хоть и нельзя толком поиграть, всё заканчивается слишком быстро. Сколько там кораблей? навскидку предположу что 300х300. Пробовал выбирать разные корабли, за несколько попытко посидел во всех 3х и даже иногда кого-то сбивал, но сделать что-то более существенное не получилось. Графически выглядит очень хорошо.
Спасибо за отзыв! Изначально игроку даётся всего лишь 2504 корабля, общее кол-во кораблей может доходить до 5000. На выходных постараюсь сделать нормальное управление и залить исправленный билд, который можно пройти.
Минусы:
1) Readme крякозябрами, ну коммон ребят, какой windows-1251? 2021 год.
Плюсы:
1) Очень круто сделано технически! Огромная орда кораблей дерутся друг с другом и с мазершипом. Огромная куча выстрелов. Когда вернусь из отпуска домой, обязательно посмотрю эту игру под нсайтом. Уверен, найду там - чему поучиться.
2) DevTools по F1 шикарный.
3) На очень слабом ноуте "AMD A10-9620P RADEON R5, 10 COMPUTE CORES 4C+6G 2.50 GHz + 8GB RAM" работает на 23-57 фпс. Что круто.
4) Звуки выстрелов, прям чувствуется серьезная баталия.
5) Тема орды раскрыта на 146%.
Про мою игру тоже написал что readme.txt кракозябрами. Ну коммон кроме тебя на readme.txt еще никто не жаловался. Или это стандартная придирка из твоего списка придирок ;) ? Ты вообще чем их открываешь ? Каким-то нестандартным редактором похоже ? Открой просто в блокноте.
Да я тоже жалуюсь чисто для вида, нужно же хоть какой-нибудь минус откопать для объективности :) Ansi не бывает сам по себе. Ansi это какая-то из кодировок. В ваших случаях - это windows-1251. Файл в такой кодировке стандартный блокнотом открывается крякозябрами в нерусской винде. Конечно, я скачал notepad++ и открыл им ридми в читаемом формате. Можно, конечно, сказать - сам виноват, что в нерусской виде сидишь. В можно просто сохранить его в utf8. Второй способ, имхо, правильнее.
Ну не знаю. Если у большинства людей открывается и нет вопросов - то надо делать так как у большинства. Если же открывать так как никто не делает и жаловаться - ну все понятно с тобой ;) Минусы откапывать не надо. Тем более такие. Какая это уже объективность ? Это наоборот придирки )))
У игры есть потенциал. Если сделать так, что корабли союзника и врага будут сами вести битву между собой (играетAI или скрипт), а игрок, выбирая любой из союзных кораблей будет выполнять некие микромиссии, меняющие ход боя, или что-то подобное, то будет конфетка.
я не очень разбираюсь в трехмерной графике, но впечатление получила непередаваемое ! Хоть и не поняла как играть, корабли дейтсвительно очень медленные, картинка порадовала очень ! Мне кажется проделан невероятный объем работы
Технически игра сделана очень круто! В основе отрисовки и физики - BHV-дерево, обновляемое каждый кадр. Каждой корабль может столкнуться с каждым кораблем, на них действует честная физика, при отрисовке это дерево помогает прятать корабли вне кадра. Также присутствует ИИ, который устраивает баталии между нашими корабликами и кораблями врагов.
Очень советую включить на F1 менюшку, включить Developer HUD и залипать в работу BHV-дерева. Можно выбирать мышкой кораблики и выходить из них через Esc. В менюшке разработчика можно печатать координаты. Как играть в это, не очень понятно, но песочница получилась более чем годная
я не успел баланс сделать, а волны запилил за 10 минут до дедлайна, поэтому это скорее технодема, а не игра.
в любом случае, спасибо за фидбек и сорри за причинённую боль.