This is my submission for KrampusHack 2020 (Gift for RmBeer who wanted a fury of dragons!! 🎉).
It's a shoot-em-up where you, a dragon protagonist, take on waves of dragon enemies in an attempt to restore peace and tranquility to your kingdom. There's currently 1 level (which you can actually edit! ) and a boss.
Use the arrow keys to move the dragon up and down
Press the spacebar to shoot, and hold to repeat refire
With more time, I would have added a limitation that you can only refire at the set rate. Currently you can re-press the spacebar quickly to refire faster than the rate limit.
Giftee Wishes from RmBeer:
DRAGONS!!! I love dragons and you can't miss it!!! IT CAN NEVER BE MISSING!!! \o/ (A horrible punishment awaits you by the worst art >:@ )
Make your game exciting and overloaded, like Counter of Sega Genesis style, although it does not have to be action platform like in the game, all you need are fast movements, explosions, races, missiles and shots, whatever crazy chaos you may have it occurs to you, even if it's a quiet puzzle game take it out of its place.
Write a funny story for the game. Apply animations, pixart, dialogues, or whatever seems most comfortable to you as long as you can add the story to the game.
As far as the wishes, I managed to get in dragons and picked the most furious genre I know of, which is a classic arcade shooter. It's missing a compelling story and storyboards, but should have a decent flurry of classic side-scrolling fun.
What's missing most is the behavior for the last boss, which currently is just him staying there and taking damage if you shoot him. Hopefully you don't run into him and lose a life in the battle!
By the way, if you wanted to, you could modify the data/levels/level_1.generated.json file and make your own waves of dragons! The structure should be pretty clear what each of the elements represent, and you might take a look at the scripts/ folder which has the ruby scripts I use to generate the json for the first level .
I hope you enjoy it!
Excuses / Pleas
My submission was submitted a little late, but I've provided the entry as-is without any post-deadline-added features.
If I had more time, I would have liked to expand the boss behavior which is what I was in the middle of doing before I crashed hard at the end of the day. The game is probably only about an hour's work away from having the final boss dragon being a compelling enemy.
I had hoped to work in animation on the player dragon and enemies. They are currently static, and the only animations at this point are the poof explosions.
I hoped to add a ton more explosions. I have the assets and sound effects for them, the engine should support a smooth install of any new animation frames/sequences, but I didn't get to it and preferred gameplay tweaks instead.
Celebrations / Achievements
I'm really excited about this architecture, which is one of my favourites so far and a culmination of a lot of hard work and attempts and iterations from years of past work, most notably previous KrampusHacks.
This time around, the system showed itself to be able to handle much more abstractions, and I feel like the next instalment might approach a development style that's more "game-out-of-a-box". I absolutely loved the workflow of switching between the different platforms to test builds.
This year I did a lot of live streaming. What an amazing experience! It was challenging to talk as I coded, but it ended up being so much fun I got a sweet mic to level up the experience. I also managed to iterate over my setup several times each day (I tried to "pick one simple thing each day to improve the stream") and finally got an incredible setup where I could switch between development on MacOS and Windows, all while switching the streaming feed seamlessly. For what that was like, here's a clip I recorded from about day 7 :
Edit: For some reason allegro.cc is pruning my screenshots/attachments. I've re-uploaded the attachments and moved files to Google Drive so hopefully it works.