Обновление учебного игрового движка и новая игра "Защита крепости" на нём же
Картинка для привлечения внимания (скрин игры)
Я доработал учебный игровой движок, внеся существенные поправки и новые функции.
А поскольку лучший способ тестирования инструмента разработки — это личная разработка на нём, то в процессе, была создана завершенная понная игра в жанре «Защита замка». Простенькая, но затягивает, по моему скромному мнению.
Предыдущий пост с основной информацией об учебном движке и его назначении:
tabun.everypony.ru/blog/gamedev/190959.html
Внесенные дополнения в движок:
Движок доступен в виде zip-архива (руководства разработчика игры включены в подкаталог manuals)
tereshenkov.ru/pubprogs/gamestudy.zip
Руководства разработчика отдельными файлами:
В формате MarkDown:
tereshenkov.ru/pubdocs/gamestudy_manuals/usermanual.md
В формате PDF:
tereshenkov.ru/pubdocs/gamestudy_manuals/usermanual.pdf
В формате HTML:
tereshenkov.ru/pubdocs/gamestudy_manuals/usermanual.html
Исходники самого движка можно скачать по ссылке (на github будет уже завершенная версия со всеми плюшками, включая сетевые операции и конфигурацию для запуска без отладочного интерфейса)
tereshenkov.ru/pubprogs/gamestudy_source.zip
(архив включает проект на Qt5 и библиотеку SFML-2.5.1)
Как и сам проект, исходники доступны под лицензией CC0 — упрощенно, это означает, что вы можете делать с исходниками и проектом всё, что угодно. Это общественное достояние.
Теперь об игре:
Цель игры —протестировать движок защитить крепость пони от набигающих толп монстров путем призыва пони из шестерки за золото. Каждая пони либо атакует врагов, либо обеспечивает какие-то эффекты. Игра заканчивается либо уничтожением всех нападающих, либо разрушением крепости. Наведя курсор на справку, получаем подсказки, наведя на иконки и монстров — получаем информацию и характеристики. Сложность игры выставлена так, чтобы пройти можно было со второй-третьей попытки игроком средней силы. Управление — только клавишами.
Игра использует анимацию и звуковое сопровождение (анимации взяты из Яндекс.Картинок, звуки — в основном с wav-library.net после редактирования)
Скриншоты игры
Атака легкой кавалерии
Авиаудар
Поражение
Победа
Скачать zip-архив с игрой, после распаковки запускать файл GameStudy.exe
tereshenkov.ru/pubprogs/PonyDefendCastle.zip
Игра и её исходники, как и движок, доступны под лицензией CC0.
Я доработал учебный игровой движок, внеся существенные поправки и новые функции.
А поскольку лучший способ тестирования инструмента разработки — это личная разработка на нём, то в процессе, была создана завершенная понная игра в жанре «Защита замка». Простенькая, но затягивает, по моему скромному мнению.
Предыдущий пост с основной информацией об учебном движке и его назначении:
tabun.everypony.ru/blog/gamedev/190959.html
Внесенные дополнения в движок:
- Загрузка анимаций, как из последовательности файлов, так и кадры из файла.
- Работа с файлами — загрузка и сохранение данных в файловую систему
- Получение игрового времени и FPS
- Проверка коллизий (столкновений) спрайтов двумя моделями и проверка вхождения точки внутрь спрайта (с учетом всех параметров отображения спрайта)
- Установка фонового цвета
- Получение геометрии загруженных спрайтов
- Расширенное управление звуками — остановка и циклическое вопроизведение
- Система установки и чтения пользовательских данных (тэгов) для спрайтов
Движок доступен в виде zip-архива (руководства разработчика игры включены в подкаталог manuals)
tereshenkov.ru/pubprogs/gamestudy.zip
Руководства разработчика отдельными файлами:
В формате MarkDown:
tereshenkov.ru/pubdocs/gamestudy_manuals/usermanual.md
В формате PDF:
tereshenkov.ru/pubdocs/gamestudy_manuals/usermanual.pdf
В формате HTML:
tereshenkov.ru/pubdocs/gamestudy_manuals/usermanual.html
Исходники самого движка можно скачать по ссылке (на github будет уже завершенная версия со всеми плюшками, включая сетевые операции и конфигурацию для запуска без отладочного интерфейса)
tereshenkov.ru/pubprogs/gamestudy_source.zip
(архив включает проект на Qt5 и библиотеку SFML-2.5.1)
Как и сам проект, исходники доступны под лицензией CC0 — упрощенно, это означает, что вы можете делать с исходниками и проектом всё, что угодно. Это общественное достояние.
Теперь об игре:
Цель игры —
Игра использует анимацию и звуковое сопровождение (анимации взяты из Яндекс.Картинок, звуки — в основном с wav-library.net после редактирования)
Скриншоты игры
Атака легкой кавалерии
Авиаудар
Поражение
Победа
Скачать zip-архив с игрой, после распаковки запускать файл GameStudy.exe
tereshenkov.ru/pubprogs/PonyDefendCastle.zip
Игра и её исходники, как и движок, доступны под лицензией CC0.
22 комментария
Ну и отзывы по игре как такой не помешают, мне нравится данный жанр, хочу попробовать ещё что-то сделать со временем.
Очень не сбалансировано. Полезная пони — Эпплджек, Пинки вроде тоже, хотя тоже лажа. Рейнбоу абсолютный аутсайдер — своих денег не стоит. Почти самая дорогая, при этом только один пролёт, который НЕ уничтожает всех врагов на экране, а даёт рандомный урон по некоторым противникам.
Балансить и баланесить.
Увеличение урона на 50% это таки хороший бонус.
Я делал её как оружие последнего этапа — когда наступают по 20 врагов на экране и нужны ковровые бомбардировки.
В целом, согласен, баланс сыроват.
Она не удобная — чуть раньше вызовешь и Джеки не успела добежать, чуть опоздал — и Джеки уже вынесли.
Вот только она не атакует врагов у замка, начинает метать камни с середины. Плюс это не атака по всем, а по кому придётся.
Под конец игры там промахнуться невозможно — «два ствола и всё небо в попугаях»©
Пытался сделать запись скринов игры опцией, но понял, что без специальных библиотек сжатия это будет мрак и кошмар.
Про RD согласен — лучше комбо ПинкиТвай использовать.
Про движок ничего сказать не смогу, так как сам уже пользую другой. :)
Может и так, но я без вызова двух ударов RD под конец победить не мог.
Музыка будет в финальной версии движка, в SFML её не очень удобно сделали, оставил на конец.
И да, я прошёл вообще не используя пегасов, ибо сосают, и у меня ещё косарь голды остался в заначке, да здавствует математическая магия. Вывод:
Баланс гомно, автор пегасорасист!
И даже не спорю.
Просто не умею их готовить.
Я её использовал под конец, чтобы немного собрать вражин плотнее, для раскатывания авиацией.
Если у кого-то есть пожелания — еще можно попросить и получить функции.
Из добавлений — сделал setTimeout/setInterval (аналогично как в JavaScript), масштабирование раздельное x/y и отладочную печать переменных, а также сборку без окна отладки, для выпуска игр.
Также проверены сборки на Linux и MacOS, работает нормально, хотя с дистрибутивом под MacOS пока что испытываю некоторые страдания.
Пример игры на движке — из новых, только демка квеста.
tabun.everypony.ru/blog/gamedev/196737.html
но суть передаёт нормально. Пригодно даже для специалистов, в качестве инструмента быстрой разработки/прототирования и не требует установки компиляторов/IDE.