# MonsterWar **Repository Path**: heymacho/MonsterWar ## Basic Information - **Project Name**: MonsterWar - **Description**: 游戏 - **Primary Language**: Unknown - **License**: CC0-1.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-11 - **Last Updated**: 2026-04-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README **English** | [简体中文](README-ZN.md) # MonsterWar **MonsterWar** is a cross-platform tower defense game developed in C++ with Entt, SDL3, glm, ImGui, nlohmann-json and Tiled. > This project is a teaching demonstration project; it is the 4th episode in a series of tutorials titled "[C++ 游戏开发之旅](https://cppgamedev.top/)". ## Control ``` Mouse left - select a unit from UI portrait / place a unit on map; S - Skill active shortcut; R - Retreat shortcut; U - Upgrade shortcut; P - pause or resume; A,D / left,right - to move UI portrait panel; ``` ## Play on Webpage [MonsterWar](https://wispsnow.github.io/MonsterWar/) - **Note**: The game uses ImGui for temporary UI, so you need to resize the webpage size to fit the screen. Otherwise some UI elements may not be visible. ## ScreenShot ## Third-party libraries * [EnTT](https://github.com/skypjack/entt) * [SDL3](https://github.com/libsdl-org/SDL) * [SDL3_image](https://github.com/libsdl-org/SDL_image) * [SDL3_mixer](https://github.com/libsdl-org/SDL_mixer) * [SDL3_ttf](https://github.com/libsdl-org/SDL_ttf) * [glm](https://github.com/g-truc/glm) * [ImGui](https://github.com/ocornut/imgui) * [nlohmann-json](https://github.com/nlohmann/json) * [spdlog](https://github.com/gabime/spdlog) ## How to build Dependencies will be automatically downloaded by Git FetchContent to make building quite easy: ```bash git clone https://github.com/WispSnow/MonsterWar.git cd MonsterWar cmake -S . -B build cmake --build build ``` If you encounter trouble downloading from GitHub (especially on networks in mainland China), please refer to the [wiki](../../wiki) for an alternative building guide. # Credits - sprite - https://pixelfrog-assets.itch.io/tiny-swords - https://pipoya.itch.io/pipoya-free-2d-game-character-sprites - https://htmljsgit.itch.io/magic-area - portrait - https://blog.goo.ne.jp/akarise - https://roughsketch.en-grey.com/ - FX - https://bdragon1727.itch.io/750-effect-and-fx-pixel-all - https://sentient-dream-games.itch.io/pixel-vfx-level-up-effect - font - https://timothyqiu.itch.io/vonwaon-bitmap - UI - https://ludicarts.itch.io/free-rpg-icon-set-i - https://clockworkraven.itch.io/free-rpg-icon-pack-100-weapons-and-po-clockwork-raven-studios - https://kenney.nl/assets/emotes-pack - https://bdragon1727.itch.io/custom-border-and-panels-menu-all-part - sound - https://ateliermagicae.itch.io/fantasy-ui-sound-effects - https://pixabay.com/sound-effects/violin-lose-4-185125/ - https://pixabay.com/sound-effects/level-win-6416/ - https://freesound.org/people/SilverIllusionist/sounds/664265/ (Healing (Balm).wav by Dylan Kelk) - https://freesound.org/people/DWOBoyle/sounds/136696/ - music - https://tommusic.itch.io/free-fantasy-sfx-and-music-bundle - https://www.chosic.com/download-audio/45301/ - Sponsors: `sino`, `李同学`, `swrainbow`, `爱发电用户_b7469`, `玉笔难图`, `jl` ## Contact For support or feedback, please contact us through the GitHub issues section of this repository. Your feedback is crucial for making this series of tutorials better! ## Buy Me a Coffee Buy Me A Coffee Support me on Afdian ## QQ Discussion Group and My WeChat QR Code