Beckon the Hellspawn

Published 2023-06-12

Survive against hordes of relentless creatures by using your arcane powers to defeat them. Gather their essence and use it to increase your magical prowess! Use the beacons lure them and defeat them, but be warned, the more time passes, the stronger they get. Your mission? Survive until "It" arrives. When "it" arrives, destroy it.

This game supports touchscreen and mouse (as press/click and drag) as well as directional input. (This includes WASD) Confirmation requires you to press "Tap on the Screen", "Left Click" or pressing of the "X" key or button. Additionally, one may access options within the "Pause Menu" by pressing the "Enter" key or by pressing the "Menu" button (On android this button is a small rectangle). In there you'll find a option to turn off the music, or just have drums available when playing the game.

As you kill enemies within the game, you will be granted experience to upgrade your skills. Each of the five weapons can be leveled up (or upgraded linearly) a total of twelve times. Three of the characters have a unique variant of a weapon, which allows them to be played in a transformative way!

Note: When playing, you may only have have three weapons at any give point, so choose wisely!

Until "It" arrives, you will kill hordes of hellspawn while avoiding their attacks. The more time passes, bigger and bigger waves will come after you. Eventually, stronger units will spawn! If you are brave and daring, you can choose to beckon more of them, approaching their "beacons". After a short time, the beacons will spawn a small wave and permanently increase the difficulty of enemies. This may be risky, but remember: "The more you kill, the stronger you'll get!"

The following is a long written form of a development log, akin to a post-mortem. If you are interested in this type of content, read to your heart's content:

This game has it's start, as my last project, as a more ambitious project: A robot in the desert killing demons (I kept this part), protecting a mining operation for gathering resources. Killing enemies would make them drop overclocks and mods to equip your character. Even manual shooting with the mouse. Very cool (and I still want to do something like it), but life happened, and I also had my own personals struggles that made me unable to keep working on it. Returning to it, I saw that I was trying to do something cool, but not made for pico8, not in the way I wanted to. So once more, I did like last time!

Function after function, I copied core code to a new pico8 file. My main character couldn't be a robot no more, and the location a desert no more, too close to the original idea. I say this because If I did so, I could always think "This idea was way cooler, and this is but a basic version of it". I don't like such thoughts.

Then came a through: "I was making a shmup about a wizard that I never finished huh? What If I use that guy...?" And so the core of the idea was founded: "A wizard kills demons with spells" Now I have something to go from!

Two games didn't make it, so this one could.

I took the style of that shmup game, who was applying the restrictions of the NES (animated sprites only have 4 colors, and transparency is one of them) I went with outlines because I knew contrast to see enemies on the screen would be very important. By this very point, I made everything related to the player be the color blue/white, and likewise, the enemies would be red/yellow. Simple, but this visual language goes a long way when allowing the player to look an image and quickly distinguish where is danger.

There was another issue found when playing the game. Pico8 has a 128x128 canvas. My player is always at the center of the screen. Enemies spawn around you, but if they spawn to the cardinal directions, the player has less time to see them coming at them, compared to if they come from the diagonals. Considering this, I made my enemies be weighted to spawn on the diagonals more than the directional. This way, the player has more time to see them, this also has some strategy elements to it, which is another point towards mastery of play for my game.

As I'm reaching a point where most of the content of the game is defined, I start to slow down, and I note of this slowdown, as this is the killer of my projects. I'm not having it, so I decided to "go ham".

It worked... but I almost burnt out. Quite in fact, I am burnt out of this game, the last 20% of development was a serious grind. Thankfully, I'm not burnt from making things, but looking at this game still stresses me some. The results are there and I'm so happy the game is out, but it was at a cost I'll consider more seriously later on.

This is my second published game, and I feel proud that it is. There is a great lot in here that too a lot of iterations, I finally touched the token limit and danced on the line for the last 10% to 5% of development, still adding core features to the game at the token limit. An interesting dance, and a very teaching experience. This game has a lot of passion behind it, and many short slept days. I look forward to looking at this game fondly. Till then, I think I'm good for now.

Once again, a thank you to the Lazy Devs Discord Server! Still as inspiring and invigorating as when I first joined. Thank you all for the kind words towards my game as I posted each update, they really helped on those unavoidable difficulty days of development. A thank as well to "Epicheezeness", for providing me invaluable input, helpful design and necessary early playtesting, as well as a seeming endless supply of support and encouragement.

Music once more: All the SFX contribute to the song being played, playing different notes of the scale, that help reinforce the theme or disrupt it when necessary. The player hurt is a sharp 4th, which is really disruptive, as it should be for that event.

Another note is that the "AHHH!" the player does, while developing used to say "HERE!", my classic debug message. I decided to keep it as such, but change the message so it fits more. This scream in text then leads me to do the SFX which then leads me to do screen shake (which its just UI shake!) which then leads me to do the light radius wavering when low health. Funny how a debug message lead to so much juice!