Summoner Under Attack by Ilari

Summoner Under Attack
This is my entry to the Ludum Dare 55 Combo. The theme: Summoning.
You play as a summoner defending your castle against waves of enemy forces. Initially, you have only your bow and arrows to fend the foes. Later in the game you gain the ability to summon mighty allies to the fight.
CONTROLS Move: WASD Shoot: Left Mouse Button Summon: Right Mouse Button Rotate Camera: Q/E Menu/Pause: ESC
I planned to have much more stuff in the game, most importantly more summons. However, I ran out of time and there's only one thing to summon.
I've only got binaries for Windows x64 (built with MinGW-w64 on Win 10). Last time I took part in LD (51) my game didn't work on some people's machines. Hope it works this time for everyone! fingers crossed
Used libraries: * SDL2 * stb_image.h
I used https://sfxr.me/ for the sounds.
CHANGE LOG
Version 1.0.1 2024/04/15 06:00 UTC+3 * Fixed bug: Setting shader uniform with wrong location. * Added optional command line argument -w to start in windowed mode.
Version 1.0.0 * Initial release
Ratings
| Overall | 107th | 3.711⭐ | 21🧑⚖️ |
| Fun | 68th | 3.816⭐ | 21🧑⚖️ |
| Innovation | 257th | 3⭐ | 21🧑⚖️ |
| Theme | 188th | 3.526⭐ | 21🧑⚖️ |
| Graphics | 100th | 3.842⭐ | 21🧑⚖️ |
| Audio | 215th | 2.944⭐ | 20🧑⚖️ |
| Humor | 229th | 2.526⭐ | 21🧑⚖️ |
| Mood | 255th | 2.974⭐ | 21🧑⚖️ |
| Given | 27🗳️ | 14🗨️ |
It's quite immpressive to finish such a polished game with perfect battle feeling.
Good job man!
Is this your own engine?
... and portable code, I compiled it and run it on GNU/Linux with absolutely no code modification. Kudos!
I took a look at the code ; am I mistaken, or am I recognizing the handmade hero influence at work here?
( By the way, you might want to compile it with `-fsanitize=undefined,address`, just once )
About the handmade hero influence: yes, I've been following Casey for a long time and HMH was one of the things that made me regain my enthusiasm for programming (it was almost all gone because of OOP and all kinds of "good" practices I had learned). The single-compilation-unit (when appropriate); just a simple build.bat for building; zero initialized data is valid state; reduce the dependencies (SDL is something I don't think I'm getting rid of, it's just awesome; so are the stb libs!)... Those are some of the things I love!